OSDN Git Service

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