OSDN Git Service

* method.c (process_subob_fn): Make sure no_implicit_p is non-null
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
1 2012-07-18  Jason Merrill  <jason@redhat.com>
2
3         * method.c (process_subob_fn): Make sure no_implicit_p is non-null
4         before trying to store through it.
5
6 2012-07-17  Jason Merrill  <jason@redhat.com>
7
8         PR c++/53995
9         * decl.c (finish_enum_value_list): Only call
10         insert_late_enum_def_into_classtype_sorted_fields in class scope.
11
12 2012-07-17  Jason Merrill  <jason@redhat.com>
13
14         PR c++/53989
15         * tree.c (build_cplus_array_type): Also add TYPE_CANONICAL
16         to the list of variants.
17
18 2012-07-17  Jason Merrill  <jason@redhat.com>
19
20         PR c++/53549
21         * parser.c (cp_parser_class_head): Call xref_basetypes here.
22         (cp_parser_class_specifier_1): Not here.
23         * pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms
24         as well as DECL_DEPENDENT_P.
25
26 2012-07-13  Jason Merrill  <jason@redhat.com>
27
28         PR c++/53953
29         * method.c (synthesized_method_walk): Initialize no_implicit_p sooner.
30
31 2012-07-10  Jason Merrill  <jason@redhat.com>
32
33         DR 1402
34         PR c++/53733
35         * cp-tree.h (FNDECL_SUPPRESS_IMPLICIT_DECL): New.
36         (struct lang_decl_fn): Add suppress_implicit_decl field.
37         * method.c (implicitly_declare_fn): Check it.
38         (process_subob_fn): Add no_implicit_p parm.
39         (walk_field_subobs, synthesized_method_walk): Likewise.
40         (maybe_explain_implicit_delete): Adjust.
41         (explain_implicit_non_constexpr): Adjust.
42
43         * method.c (synthesized_method_walk): Cleanups don't affect the EH
44         spec either.
45
46 2012-07-02  Jason Merrill  <jason@redhat.com>
47
48         PR c++/53816
49         * class.c (resolves_to_fixed_type_p): Check uses_template_parms
50         (current_function_decl) instead of processing_template_decl.
51
52         PR c++/53821
53         * semantics.c (maybe_add_lambda_conv_op): Don't set
54         DECL_INTERFACE_KNOWN.
55
56 2012-06-27  Fabien Chêne  <fabien@gcc.gnu.org>
57
58         PR c++/51214
59         * cp-tree.h (insert_late_enum_def_into_classtype_sorted_fields):
60         Declare.
61         * class.c (insert_into_classtype_sorted_fields): New.
62         (add_enum_fields_to_record_type): New.
63         (count_fields): Adjust the comment.
64         (add_fields_to_record_type): Likewise.
65         (finish_struct_1): Move the code that inserts the fields for the
66         sorted case, into insert_into_classtype_sorted_fields, and call
67         it.
68         (insert_late_enum_def_into_classtype_sorted_fields): Define.
69         * decl.c (finish_enum_value_list): Call
70         insert_late_enum_def_into_classtype_sorted_fields if a late enum
71         definition is encountered.
72
73 2012-06-25  Jason Merrill  <jason@redhat.com>
74
75         PR c++/53498
76         PR c++/53305
77         * pt.c (tsubst_pack_expansion): Copy before dummy tsubst.
78
79         PR c++/52988
80         * typeck.c (decay_conversion): Don't discard side-effects from
81         expressions of nullptr_t.
82
83         PR c++/53202
84         * semantics.c (build_data_member_initialization): Always keep
85         initializer for empty base.
86         (cxx_eval_bare_aggregate): Discard it here.
87
88 2012-06-25  Jakub Jelinek  <jakub@redhat.com>
89
90         PR c++/53594
91         * class.c (check_bases_and_members): Avoid -Wuninitialized
92         diagnostics for non-static const members or references if they
93         use NSDMI.
94
95 2012-06-19  Jason Merrill  <jason@redhat.com>
96
97         PR c++/53651
98         * name-lookup.c (constructor_name_p): Don't try to look at the
99         name of a DECLTYPE_TYPE.
100
101         Reapply:
102         PR c++/53137
103         * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
104         (instantiate_decl): Don't push_to_top_level for local class methods.
105         (instantiate_class_template_1): Or for local classes.
106
107         PR c++/53599
108         * pt.c (lookup_template_class_1): Use ts_global.
109
110 2012-06-14  Richard Guenther  <rguenther@suse.de>
111
112         Backport from mainline
113         2012-06-11  Richard Guenther  <rguenther@suse.de>
114
115         PR c++/53616
116         * mangle.c (write_array_type): Use double-ints for array domain
117         arithmetic.
118
119 2012-06-14  Richard Guenther  <rguenther@suse.de>
120
121         Backport from mainline
122         2012-06-06  Fabien Chêne  <fabien@gcc.gnu.org>
123
124         PR c++/52841
125         * parser.c (cp_parser_alias_declaration): Return earlier
126         if an error occured.
127
128 2012-06-14  Release Manager
129
130         * GCC 4.7.1 released.
131
132 2012-06-12  Jason Merrill  <jason@redhat.com>
133
134         PR c++/53599
135         Revert:
136         PR c++/53137
137         * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
138         (instantiate_decl): Don't push_to_top_level for local class methods.
139         (instantiate_class_template_1): Or for local classes.
140
141 2012-06-04  Paolo Carlini  <paolo.carlini@oracle.com>
142
143         PR c++/53524
144         * call.c (build_conditional_expr_1): Use OPT_Wenum_compare
145         to control enumeral mismatch in conditional expression too.
146
147 2012-06-01  Jason Merrill  <jason@redhat.com>
148
149         PR c++/52973
150         * parser.c (cp_parser_class_head): Apply attributes here.
151         * semantics.c (begin_class_definition): Not here.
152         * cp-tree.h: Adjust.
153
154         PR c++/52725
155         * parser.c (cp_parser_binary_expression): Bail early if we're parsing
156         tentatively and the LHS has a parse error.
157
158 2012-06-01  Jason Merrill  <jason@redhat.com>
159
160         PR c++/53137
161         * pt.c (instantiate_class_template_1): Set LAMBDA_EXPR_THIS_CAPTURE.
162         (instantiate_decl): Don't push_to_top_level for local class methods.
163         (instantiate_class_template_1): Or for local classes.
164
165         PR c++/53484
166         * pt.c (do_auto_deduction): Don't try to deduce from a
167         type-dependent initializer.
168
169 2012-05-31  Jason Merrill  <jason@redhat.com>
170
171         PR c++/53500
172         PR c++/52905
173         * call.c (joust): Handle comparing list and non-list ctors.
174
175 2012-05-30  Jason Merrill  <jason@redhat.com>
176
177         PR c++/53356
178         * tree.c (stabilize_init): Side effects make the init unstable.
179
180 2012-05-30  Jason Merrill  <jason@redhat.com>
181
182         PR c++/53220
183         * call.c (convert_like_real) [ck_list]: Take array address directly.
184         * typeck.c (decay_conversion): Reject decay of an array compound
185         literal.
186
187 2012-05-29  Paolo Carlini  <paolo.carlini@oracle.com>
188
189         PR c++/53491
190         * tree.c (stabilize_expr): Handle exp of void type.
191
192 2012-05-28  Paolo Carlini  <paolo.carlini@oracle.com>
193
194         PR c++/53503
195         * semantics.c (potential_constant_expression_1): Handle LTGT_EXPR.
196
197 2012-05-15  Alexandre Oliva  <aoliva@redhat.com>
198
199         PR c++/53209
200         * pt.c (tsubst_decl): Bail out if argvec is error_mark_node.
201
202 2012-05-10  Paolo Carlini  <paolo.carlini@oracle.com>
203
204         PR c++/53301
205         * decl.c (check_default_argument): Fix typo (POINTER_TYPE_P
206         instead of TYPE_PTR_P) in zero-as-null-pointer-constant warning.
207
208 2012-05-03  Paolo Carlini  <paolo.carlini@oracle.com>
209
210         PR c++/53186
211         * call.c (build_over_call): Handle final member functions
212         and class types.
213         (build_new_method_call_1): Do not handle here.
214
215 2012-04-17  Paolo Carlini  <paolo.carlini@oracle.com>
216
217         PR c++/53003
218         * parser.c (cp_parser_member_declaration): Check that
219         initializer_token_start is non null before dereferencing it.
220
221 2012-04-16  Jason Merrill  <jason@redhat.com>
222
223         PR c++/38543
224         * pt.c (determine_specialization): Instead of comparing the number
225         of parms, check that tsubst gives the right answer.
226
227         PR c++/50830
228         * pt.c (convert_template_argument): Handle template template
229         argument packs.
230
231         PR c++/50303
232         * pt.c (tsubst_pack_expansion): Use tsubst_expr for template
233         template parameters.
234
235 2012-04-15  Jason Merrill  <jason@redhat.com>
236
237         PR c++/52292
238         PR c++/52380
239         * pt.c (coerce_template_parms): Even if we aren't converting we
240         want to expand argument packs.
241
242 2012-04-15  Fabien Chêne  <fabien@gcc.gnu.org>
243
244         PR c++/52465
245         * parser.c (cp_parser_class_name): Call strip_using_decl and
246         return the target decl.
247         * name-lookup.c (strip_using_decl): Returns NULL_TREE if the decl
248         to be stripped is NULL_TREE.
249         (qualify_lookup): Call strip_using_decl and perform some checks on
250         the target decl.
251
252 2012-04-13  Jason Merrill  <jason@redhat.com>
253
254         PR c++/52824
255         * pt.c (any_pack_expanson_args_p): New.
256         (coerce_template_parms): Use it.
257
258 2012-04-11  Jason Merrill  <jason@redhat.com>
259
260         PR c++/52906
261         * decl.c (check_tag_decl): Don't complain about attributes if we
262         don't even have a type.
263
264 2012-04-05  Jason Merrill  <jason@redhat.com>
265
266         PR c++/52596
267         * tree.c (lvalue_kind): Treat a deferred access control SCOPE_REF
268         as an lvalue.
269
270 2012-04-03  Jason Merrill  <jason@redhat.com>
271
272         PR c++/52796
273         * pt.c (tsubst_initializer_list): A pack expansion with no elements
274         means value-initialization.
275
276 2012-03-29  Meador Inge  <meadori@codesourcery.com>
277
278         PR c++/52672
279         * semantics.c (cxx_fold_indirect_ref): Don't attempt to fold
280         stripped child trees that are not pointer types.
281
282 2012-03-29  Paolo Carlini  <paolo.carlini@oracle.com>
283
284         PR c++/52718
285         * decl.c (check_default_argument): With -Wzero-as-null-pointer-constant
286         warn for a zero as null pointer constant default argument.
287
288 2012-03-29  Jason Merrill  <jason@redhat.com>
289
290         PR c++/52685
291         * tree.c (copy_binfo): Handle BINFO_DEPENDENT_BASE_P.
292
293 2012-03-29  Jakub Jelinek  <jakub@redhat.com>
294
295         PR c++/52759
296         * decl.c (start_decl): Don't call maybe_apply_pragma_weak
297         if processing_template_decl.
298
299 2012-03-29  Jason Merrill  <jason@redhat.com>
300
301         PR c++/52743
302         * call.c (compare_ics): Handle ck_aggr like ck_list.
303
304 2012-03-28  Jason Merrill  <jason@redhat.com>
305
306         PR c++/52746
307         * typeck.c (lookup_destructor): Clear BASELINK_QUALIFIED_P if
308         we didn't get an explicit scope.
309         * pt.c (tsubst_baselink): Likewise.
310
311 2012-03-22  Paolo Carlini  <paolo.carlini@oracle.com>
312
313         PR c++/52487
314         * class.c (check_field_decls): Call literal_type_p only
315         on complete types.
316
317 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
318
319         PR c++/52671
320         * decl.c (check_tag_decl): Only use CLASSTYPE_TEMPLATE_INSTANTIATION
321         on CLASS_TYPE_P types.
322
323 2012-03-22  Jason Merrill  <jason@redhat.com>
324
325         PR c++/52582
326         * method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
327
328 2012-03-22  Jakub Jelinek  <jakub@redhat.com>
329
330         Backported from mainline
331         2012-03-14  Jakub Jelinek  <jakub@redhat.com>
332
333         PR c++/52521
334         * parser.c (lookup_literal_operator): Return fn only if
335         processed all arguments from args vector and argtypes is
336         void_list_node.
337
338 2012-03-22  Release Manager
339
340         * GCC 4.7.0 released.
341
342 2012-03-20  Jason Merrill  <jason@redhat.com>
343
344         * mangle.c (write_type): Handle 'auto'.
345         * init.c (build_new): Don't do auto deduction where it might
346         affect template mangling.
347
348 2012-03-07  Jason Merrill  <jason@redhat.com>
349
350         PR c++/52521
351         * mangle.c (write_literal_operator_name): The length comes after the
352         operator prefix.
353
354 2012-02-29  Jason Merrill  <jason@redhat.com>
355
356         PR c++/51930
357         * decl.c (check_tag_decl): Move warning for misplaced attributes here.
358         (shadow_tag): From here.
359         * parser.c (cp_parser_explicit_instantiation): Don't warn here.
360
361 2012-02-21  Jakub Jelinek  <jakub@redhat.com>
362
363         PR c++/52312
364         * typeck.c (check_literal_operator_args): Initialize *long_double_p
365         and *long_long_unsigned_p even if processing_template_decl.
366
367 2012-02-16  Jason Merrill  <jason@redhat.com>
368
369         PR c++/52248
370         * decl.c (define_label): Use timevar_cond_start/stop.
371
372 2012-02-16  Fabien Chêne  <fabien@gcc.gnu.org>
373
374         PR c++/52126
375         * decl.c (xref_basetypes): call dependent_scope_p instead of
376         dependent_type_p.
377
378 2012-02-16  Jason Merrill  <jason@redhat.com>
379
380         PR c++/51415
381         * error.c (dump_expr): Handle lambda closures specifically.
382
383 2012-02-14  Jason Merrill  <jason@redhat.com>
384
385         * parser.c (cp_parser_explicit_instantiation): Give a warning
386         for ignored attributes on explicit class instantiation.
387
388 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
389
390         PR c++/52247
391         * pt.c (tsubst_copy_asm_operands): For LABEL_DECL values call
392         lookup_label on label's name and set TREE_USED.
393
394 2012-02-14  Jason Merrill  <jason@redhat.com>
395
396         PR c++/39055
397         * decl.c (local_variable_p_walkfn): Don't check DECL_ARTIFICIAL.
398
399 2012-02-14  Jakub Jelinek  <jakub@redhat.com>
400
401         PR c/52181
402         * decl.c (duplicate_decls): If olddecl has bigger DECL_ALIGN than
403         newdecl, copy DECL_ALIGN to newdecl and or DECL_USER_ALIGN bits.
404
405 2012-02-07  Jason Merrill  <jason@redhat.com>
406
407         PR c++/51675
408         * semantics.c (cx_check_missing_mem_inits): Handle unions.
409         Fix constexpr default constructor logic.
410
411         PR c++/52035
412         * pt.c (tsubst): Strip uninstantiated typedef.
413
414 2012-02-06  Jason Merrill  <jason@redhat.com>
415
416         PR c++/52088
417         * cvt.c (build_expr_type_conversion): Check for template conversion.
418
419 2012-01-31  Jason Merrill  <jason@redhat.com>
420
421         PR c++/52043
422         * cp-tree.h (PACK_EXPANSION_LOCAL_P): New.
423         * pt.c (make_pack_expansion, tsubst_initializer_list): Set it.
424         (tsubst_pack_expansion): Check it.
425
426 2012-01-29  Paolo Carlini  <paolo.carlini@oracle.com>
427
428         PR c++/51327
429         * class.c (explain_non_literal_class): Correctly handle implicitly
430         deleted constructors.
431
432 2012-01-27  Jakub Jelinek  <jakub@redhat.com>
433
434         PR c++/51852
435         * pt.c (tsubst_pack_expansion): Delete and restore
436         local_specialization whenever need_local_specialization, not just
437         when saved_local_specializations is non-NULL.
438
439 2012-01-26  Paolo Carlini  <paolo.carlini@oracle.com>
440
441         PR c++/51370
442         * error.c (dump_decl, [TEMPLATE_ID_EXPR]): Handle error_mark_node
443         as TREE_OPERAND (t, 1).
444
445 2012-01-24  Jason Merrill  <jason@redhat.com>
446
447         PR c++/51917
448         * decl.c (xref_basetypes): Check VEC_length instead of VEC_space.
449
450         PR c++/51973
451         * tree.c (called_fns_equal): Check template args.
452         (cp_tree_equal): Call it.
453
454 2012-01-24  Aldy Hernandez  <aldyh@redhat.com>
455             Patrick Marlier  <patrick.marlier@gmail.com>
456
457         PR c++/51928
458         * class.c (set_method_tm_attributes): Use TARGET_THUNK instead of
459         thunk for set_one_vmethod_tm_attributes.
460
461 2012-01-24  Paolo Carlini  <paolo.carlini@oracle.com>
462
463         PR c++/51223
464         * call.c (build_over_call): Check for error_mark_node as
465         TREE_VALUE when default arguments are processed.
466
467 2012-01-23  Jason Merrill  <jason@redhat.com>
468
469         PR c++/51930
470         * decl2.c (determine_visibility): Check for visibility attribute
471         on template specialization.
472
473 2012-01-23  Paolo Carlini  <paolo.carlini@oracle.com>
474
475         PR c++/51398
476         * pt.c (parameter_of_template_p): Skip error_mark_node parameters.
477
478 2012-01-23  Jason Merrill  <jason@redhat.com>
479
480         PR c++/51925
481         * class.c (add_method): Set OVL_USED for using-decls.
482         * tree.c (ovl_scope): New.
483         * cp-tree.h: Declare it.
484         * parser.c (cp_parser_template_name): Use it.
485         * semantics.c (baselink_for_fns): Likewise.
486         * name-lookup.c (set_inherited_value_binding_p): Likewise.
487
488 2012-01-20  Paolo Carlini  <paolo.carlini@oracle.com>
489
490         PR c++/51402
491         * pt.c (lookup_template_class_1): Check context returned by
492         tsubst for error_mark_node.
493
494 2012-01-19  Kai Tietz  <ktietz@redhat.com>
495
496         PR c++/51344
497         * decl2.c (save_template_attributes): Use merge_attributes
498         instead of chaining up via TREE_CHAIN.
499
500 2012-01-19  Jason Merrill  <jason@redhat.com>
501
502         PR c++/51889
503         * class.c (finish_struct): Call add_method here for function usings.
504         * semantics.c (finish_member_declaration): Not here.
505
506 2012-01-18  Paolo Carlini  <paolo.carlini@oracle.com>
507
508         PR c++/51225
509         * typeck2.c (store_init_value): Within a template guard
510         cxx_constant_value with require_potential_constant_expression.
511         * pt.c (convert_nontype_argument): Likewise.
512
513 2012-01-16  Jakub Jelinek  <jakub@redhat.com>
514
515         PR c++/51854
516         * mangle.c (write_template_arg_literal): Handle complex.
517
518 2012-01-16  Jason Merrill  <jason@redhat.com>
519
520         PR c++/51827
521         * mangle.c (mangle_decl): Don't mangle uninstantiated templates.
522
523         PR c++/51868
524         * typeck.c (build_static_cast_1): Handle bit-fields properly.
525
526 2012-01-13  Ian Lance Taylor  <iant@google.com>
527
528         PR c++/50012
529         * typeck.c (enum_cast_to_int): New static function.
530         (cp_build_binary_op): When handling warn_sign_compare, don't test
531         for TREE_NO_WARNING.  Do call enum_cast_to_int.
532         * call.c (avoid_sign_compare_warnings): Remove static function.
533         (build_new_op_1): Don't call avoid_sign_compare_warnings.
534
535 2012-01-13  Steven Bosscher  <steven@gcc.gnu.org>
536
537         * decl2.c: Do not include tree-mudflap.h
538         * semantics.c: Likewise.
539
540 2012-01-13  Jason Merrill  <jason@redhat.com>
541
542         PR c++/20681
543         * semantics.c (finish_break_stmt): Avoid adding an unreachable
544         BREAK_STMT.
545
546         PR c++/51813
547         * decl2.c (constrain_visibility): Clear DECL_VISIBILITY_SPECIFIED
548         when reducing the visibility.
549
550         PR c++/51620
551         * class.c (build_vtbl_initializer): Use __cxa_deleted_virtual.
552
553 2012-01-12  Jason Merrill  <jason@redhat.com>
554
555         PR c++/51714
556         * pt.c (value_dependent_expression_p): Treat STMT_EXPR as
557         value-dependent.
558
559 2012-01-13  Dodji Seketeli  <dodji@redhat.com>
560
561         PR c++/51633
562         * semantics.c (cp_parser_ctor_initializer_opt_and_function_body):
563         Set the pointer to the last block of the constructor to the
564         current statement.
565         (build_constexpr_constructor_member_initializers): Get
566         build_data_member_initialization a chance to deal with more
567         statements before we choke.
568
569 2012-01-12  Jason Merrill  <jason@redhat.com>
570
571         PR c++/48051
572         * mangle.c (write_expression): Mangle BASELINK scope if
573         BASELINK_QUALIFIED_P.
574         * search.c (adjust_result_of_qualified_name_lookup): Set
575         BASELINK_QUALIFIED_P.
576         * tree.c (cp_tree_equal) [BASELINK]: Compare BASELINK_QUALIFIED_P.
577         * parser.c (cp_parser_postfix_dot_deref_expression): Don't call
578         adjust_result_of_qualified_name_lookup for non-qualified names.
579
580         PR c++/51403
581         * pt.c (unify): Handle error_mark_node.
582
583 2012-01-11  Jason Merrill  <jason@redhat.com>
584
585         PR c++/51565
586         * call.c (standard_conversion): For ptrmemfuncs, compare the
587         static_fn_types.
588
589         PR c++/51818
590         * mangle.c (find_substitution): A type is only a substitution
591         match if we're looking for a type.
592         (write_nested_name): Use decl_mangling_context.
593
594         * decl.c (decls_match): Assert that the arguments are decls.
595
596         PR c++/51613
597         * pt.c (resolve_overloaded_unification): Compare types with
598         same_type_p, not decls_match.
599
600 2012-01-10  Jason Merrill  <jason@redhat.com>
601
602         PR c++/51614
603         * class.c (build_base_path): Diagnose ambiguous base.
604
605         PR c++/51433
606         * semantics.c (cxx_eval_call_expression): Always retry previously
607         non-constant expressions.
608
609 2012-01-06  Jason Merrill  <jason@redhat.com>
610
611         DR 686
612         PR c++/47450
613         * parser.c (cp_parser_new_expression): Set
614         type_definition_forbidden_message.
615
616         PR c++/6057
617         PR c++/48051
618         PR c++/50855
619         PR c++/51322
620         * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR,
621         THROW_EXPR, CONSTRUCTOR, OVERLOAD.  Fix PREINCREMENT_EXPR and
622         PREDECREMENT_EXPR.
623         (write_template_arg): Fix mangling of class-scope functions and
624         argument packs.
625         (mangle_decl): Update suggested -fabi-version argument.
626         * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR,
627         DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR.
628         * tree.c (dependent_name): No longer static.
629         * cp-tree.h: Declare it.
630         * pt.c (unify): Defer handling of unconverted functions.
631
632         * mangle.c (mangle_decl): Don't generate mangling aliases
633         for maybe-in-charge [cd]tors.
634
635         * error.c (dump_expr): Print type of CONSTRUCTOR.
636
637 2012-01-05  Dodji Seketeli  <dodji@redhat.com>
638
639         PR c++/51541
640         * parser.c (cp_parser_alias_declaration): Get out early upon
641         errors in the identifier or the attributes.
642
643 2012-01-04  Paolo Carlini  <paolo.carlini@oracle.com>
644
645         PR c++/51064
646         * pt.c (tsubst_copy_and_build): Maybe set TREE_NO_WARNING on
647         the tree returned by build_x_binary_op.
648
649 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
650
651         PR c++/51738
652         * parser.c (cp_parser_postfix_open_square_expression): Handle
653         postfix-expression [ braced-init-list ].
654
655 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
656
657         PR c++/29273
658         * rtti.c (build_dynamic_cast_1): In case of T a pointer type,
659         call decay_conversion on v.
660
661 2012-01-03  Paolo Carlini  <paolo.carlini@oracle.com>
662
663         PR c++/15867
664         * decl.c (duplicate_decls): With -Wredundant-decls don't warn for
665         declaration followed by specialization.
666
667 2012-01-03  Jakub Jelinek  <jakub@redhat.com>
668
669         PR c++/51669
670         * semantics.c (finish_omp_clauses): Call fold_build_cleanup_point_expr
671         on OMP_CLAUSE_{IF,FINAL,NUM_THREADS,SCHEDULE_CHUNK}_EXPR.
672
673 2012-01-02  Jason Merrill  <jason@redhat.com>
674
675         DR 1359
676         PR c++/51675
677         * method.c (walk_field_subobs): Don't check for uninitialized
678         fields in a union.
679         (synthesized_method_walk): Check here.
680
681         DR 325
682         PR c++/51666
683         * parser.c (cp_parser_cache_defarg): Split out...
684         (cp_parser_parameter_declaration): ...from here.
685         (cp_parser_save_nsdmi): Use it.
686         (cp_parser_cache_group): Remove CPP_COMMA support.
687
688 2012-01-02  Dodji Seketeli  <dodji@redhat.com>
689
690         PR c++/51462
691         * semantics.c (cx_check_missing_mem_inits): Don't assert in case
692         of error.
693
694 2012-01-02  Paolo Carlini  <paolo.carlini@oracle.com>
695
696         PR c++/20140
697         * typeck2.c (digest_init_r): Use copy_init when initializing
698         an array of chars.
699
700 2012-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
701
702         PR c++/16603
703         * decl.c (build_enumerator): Don't call perform_integral_promotions
704         on the value.
705
706 2012-01-01  Paolo Carlini  <paolo.carlini@oracle.com>
707
708         PR c++/51379
709         * typeck.c (build_reinterpret_cast_1): Implement resolution of
710         DR 799.
711
712 2012-01-01  Fabien Chêne  <fabien@gcc.gnu.org>
713
714         * parser.c (cp_parser_using_declaration): Add a warning about
715         deprecated access declarations when no errors were encountered
716         while parsing the access declaration. Save the first token in
717         order to emit the warning at the right place.
718 \f
719 Copyright (C) 2012 Free Software Foundation, Inc.
720
721 Copying and distribution of this file, with or without modification,
722 are permitted in any medium without royalty provided the copyright
723 notice and this notice are preserved.