OSDN Git Service

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