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