OSDN Git Service

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