OSDN Git Service

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