OSDN Git Service

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