OSDN Git Service

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