OSDN Git Service

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