OSDN Git Service

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