OSDN Git Service

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