OSDN Git Service

* diagnostic.c: Don't include tm.h, tree.h, tm_p.h, langhooks.h or
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
1 2010-05-21  Joseph Myers  <joseph@codesourcery.com>
2
3         * error.c: Include tree-diagnostic.h and tree-pretty-print.h.
4         (cp_print_error_function): Use diagnostic_abstract_origin macro.
5         (cp_printer): Handle %K here using percent_K_format.
6         * cxx-pretty-print.c: Include tree-pretty-print.h.
7         * Make-lang.in (cp/error.o, cp/cxx-pretty-print.o): Update
8         dependencies.
9
10 2010-05-21  Steven Bosscher  <steven@gcc.gnu.org>
11
12         * error.c, tree.c, typeck2.c, cxx-pretty-print.c, mangle.c:
13         Clean up redundant includes.
14
15 2010-05-20  Paolo Carlini  <paolo.carlini@oracle.com>
16
17         PR c++/30298
18         * decl.c (xref_basetypes): Return false in case of ill-formed
19         redefinition.
20
21 2010-05-19  Jason Merrill  <jason@redhat.com>
22
23         * call.c (reference_binding): Use cp_build_qualified_type_real
24         and cp_type_quals consistently.
25         (add_function_candidate): Likewise.
26         (build_conditional_expr): Likewise.
27         (convert_like_real): Likewise.
28         (type_passed_as): Likewise.
29         * class.c (add_method): Likewise.
30         (same_signature_p): Likewise.
31         (layout_class_type): Likewise.
32         * decl.c (cxx_init_decl_processing): Likewise.
33         (cp_fname_init): Likewise.
34         (grokdeclarator): Likewise.
35         * decl2.c (cp_reconstruct_complex_type): Likewise.
36         * init.c (build_new_1): Likewise.
37         * method.c (do_build_copy_constructor): Likewise.
38         (implicitly_declare_fn): Likewise.
39         * pt.c (tsubst_aggr_type): Likewise.
40         (tsubst): Likewise.
41         * rtti.c (init_rtti_processing): Likewise.
42         (build_headof): Likewise.
43         (build_dynamic_cast_1): Likewise.
44         (tinfo_base_init): Likewise.
45         (emit_support_tinfos): Likewise.
46         * semantics.c (capture_decltype): Likewise.
47         * tree.c (cv_unqualified): Likewise.
48         * typeck.c (composite_pointer_type): Likewise.
49         (string_conv_p): Likewise.
50
51         * mangle.c (write_CV_qualifiers_for_type): Tweak.
52
53         * call.c (initialize_reference): Use CP_TYPE_CONST_P.
54         * decl.c (start_decl): Likewise.
55         * semantics.c (finish_compound_literal): Likewise.
56         * typeck.c (check_return_expr): Use CP_TYPE_VOLATILE_P.
57         (cp_type_readonly): Remove.
58         * cp-tree.h: Remove declaration.
59
60         * typeck.c (merge_types): Preserve memfn quals.
61
62         * decl.c (grokdeclarator): Don't check quals on fn type.
63         * typeck.c (cp_apply_type_quals_to_decl): Likewise.
64         * tree.c (cp_build_qualified_type_real): Simplify qualifier checking.
65
66         PR c++/44193
67         * typeck.c (type_memfn_quals): New fn.
68         (apply_memfn_quals): New fn.
69         (cp_type_quals): Return TYPE_UNQUALIFIED for FUNCTION_TYPE.
70         (cp_type_readonly): Use cp_type_quals.
71         * cp-tree.h: Add declarations.
72         * tree.c (cp_build_qualified_type_real): Don't set, but do
73         preserve, quals on FUNCTION_TYPE.
74         (strip_typedefs): Use apply_memfn_quals and type_memfn_quals.
75         * decl.c (build_ptrmem_type): Likewise.
76         (grokdeclarator): Likewise.
77         (static_fn_type): Likewise.
78         * decl2.c (change_return_type): Likewise.
79         (cp_reconstruct_complex_type): Likewise.
80         * pt.c (tsubst_function_type): Likewise.
81         (unify): Likewise.
82         (tsubst): Likewise.  Drop special FUNCTION_TYPE substitution code.
83
84 2010-05-18  Nathan Froyd  <froydnj@codesourcery.com>
85
86         * tree.c (build_min_non_dep_call_vec): Update comment.
87
88 2010-05-17  Jason Merrill  <jason@redhat.com>
89
90         * call.c (struct z_candidate): Add explicit_targs field.
91         (add_template_candidate_real): Set it.
92         (build_over_call): Use it to control init-list warning.
93
94         PR c++/44157
95         * call.c (build_over_call): Limit init-list deduction warning to
96         cases where the argument is actually an init-list.
97
98         PR c++/44158
99         * call.c (build_over_call): Don't do bitwise copy for move ctor.
100
101 2010-05-17  Dodji Seketeli  <dodji@redhat.com>
102             Jason Merrill  <jason@redhat.com>
103
104         PR c++/44108
105         * decl.c (compute_array_index_type): Call mark_rvalue_use.
106
107 2010-05-15  Jason Merrill  <jason@redhat.com>
108
109         * cp-tree.h (TYPE_NOEXCEPT_P): New macro.
110         * except.c (begin_eh_spec_block): Use MUST_NOT_THROW_EXPR if
111         TYPE_NOEXCEPT_P.
112         (finish_eh_spec_block): Adjust.
113
114 2010-05-15  Jakub Jelinek  <jakub@redhat.com>
115
116         PR c++/44148
117         * pt.c (tsubst): Unshare template argument.
118
119 2010-05-15  Steven Bosscher  <steven@gcc.gnu.org>
120
121         * decl.c: Include tree-iterator.h, as fixup for tree-inline.h changes.
122         * Make-lang.in: Fix dependencies accordingly.
123
124 2010-05-14  Jason Merrill  <jason@redhat.com>
125
126         C++ DR 475
127         * except.c (build_throw): Simplify, adjust for DR 475.
128
129         PR c++/44127
130         * except.c (dtor_nothrow): Return nonzero for type with
131         trivial destructor.
132
133         PR c++/44127
134         * cp-gimplify.c (gimplify_must_not_throw_expr): Use
135         gimple_build_eh_must_not_throw.
136
137 2010-05-14  Martin Jambor  <mjambor@suse.cz>
138
139         * cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove both its undef
140         and define.
141
142 2010-05-14  Jonathan Wakely  <jwakely.gcc@gmail.com>
143
144         * call.c (build_new_method_call): Change warning text.
145         * typeck2.c (build_functional_cast): Change error text.
146
147 2010-05-14  Shujing Zhao  <pearly.zhao@oracle.com>
148
149         PR c++/30566
150         * name-lookup.c (pushdecl_maybe_friend): Avoid the warnings about
151         shadowing the outer parameter or variables by the declaration of
152         nested function in nested structure or class. Warn the shadowing by
153         the declaration of nested lambda expression.
154
155 2010-05-13  Jason Merrill  <jason@redhat.com>
156
157         * typeck.c (cp_build_array_ref): Factor out from...
158         (build_array_ref): ...here.  Drop complain parm.
159         (build_new_op): Adjust.
160         * class.c (build_vtbl_ref_1): Adjust.
161         * decl2.c (grok_array_decl): Adjust.
162         * cp-tree.h: Adjust prototypes.
163
164 2010-05-13  Jan Hubicka  <jh@suse.cz>
165
166         * decl.c (cp_finish_decl): Do not worry about used attribute.
167
168 2010-05-12  Jason Merrill  <jason@redhat.com>
169
170         * typeck.c (build_array_ref): Take complain parm.
171         * cp-tree.h: Add it to prototype.
172         * call.c (build_new_op): Pass it.
173         * class.c (build_vtbl_ref): Pass it.
174         * decl2.c (grok_array_decl): Pass it.
175
176         PR bootstrap/44048
177         PR target/44099
178         * cp-tree.def (NULLPTR_TYPE): Remove.
179         * cp-tree.h (NULLPTR_TYPE_P): New.
180         (SCALAR_TYPE_P): Use it.
181         (nullptr_type_node): New.
182         (cp_tree_index): Add CPTI_NULLPTR_TYPE.
183         * decl.c (cxx_init_decl_processing): Call record_builtin_type on
184         nullptr_type_node.
185         * cvt.c (ocp_convert): Use NULLPTR_TYPE_P instead of NULLPTR_TYPE.
186         * cxx-pretty-print.c (pp_cxx_constant): Likewise.
187         * error.c (dump_type, dump_type_prefix, dump_type_suffix): Likewise.
188         * mangle.c (write_type): Likewise.
189         * name-lookup.c (arg_assoc_type): Likewise.
190         * typeck.c (build_reinterpret_cast_1): Likewise.
191         * rtti.c (typeinfo_in_lib_p): Likewise.
192         (emit_support_tinfos): Remove local nullptr_type_node.
193
194         * cp-tree.h (UNKNOWN_TYPE): Remove.
195         * decl.c (cxx_init_decl_processing): Use LANG_TYPE instead.
196         * error.c (dumy_type, dump_type_prefix, dump_type_suffix): Likewise.
197         * typeck2.c (cxx_incomplete_type_diagnostic): Likewise.
198         * class.c (instantiate_type): Check unknown_type_node rather than
199         UNKNOWN_TYPE.
200         * name-lookup.c (maybe_push_decl): Likewise.
201         * rtti.c (get_tinfo_decl_dynamic): Likewise.
202         (get_typeid): Likewise.
203         * semantics.c (finish_offsetof): Likewise.
204
205         PR c++/20669
206         * call.c (add_template_candidate_real): If deduction fails, still
207         add the template as a non-viable candidate.
208         (equal_functions): Handle template candidates.
209         (print_z_candidate): Likewise.
210         (print_z_candidates): Likewise.
211         (build_new_function_call): Likewise.
212
213         * cp-tree.h (LOOKUP_LIST_ONLY): New.
214         * call.c (add_candidates): Enforce it.
215         (build_new_method_call): Try non-list ctor if no viable list ctor.
216         (build_user_type_conversion_1): Likewise.
217
218         * call.c (add_candidates): Distinguish between type(x) and
219         x.operator type().
220         (convert_class_to_reference): Set LOOKUP_NO_CONVERSION.
221         (build_new_method_call): Give better error for conversion op.
222
223         * call.c (add_candidates): Add first_arg and return_type parms.
224         Add special constructor/conversion op handling.
225         (convert_class_to_reference): Use it.
226         (build_user_type_conversion_1): Likewise.
227         (build_op_call): Likewise.
228         (build_new_method_call): Likewise.
229         (build_new_op): Adjust.
230         (perform_overload_resolution): Adjust.
231
232 2010-05-11  Paolo Carlini  <paolo.carlini@oracle.com>
233
234         PR c++/34272
235         PR c++/43630
236         PR c++/34491
237         * pt.c (process_partial_specialization): Return error_mark_node
238         in case of unused template parameters in partial specialization.
239
240 2010-05-11  Jakub Jelinek  <jakub@redhat.com>
241
242         PR c++/44062
243         * semantics.c (finish_expr_stmt): Don't call mark_exp_read here...
244         * cvt.c (convert_to_void): ... but here.  If expr is a COMPOUND_EXPR,
245         look at its second operand.
246
247 2010-05-10  Jason Merrill  <jason@redhat.com>
248
249         PR c++/44017
250         * semantics.c (baselink_for_fns): Revert earlier change.
251
252         PR c++/44045
253         * typeck.c (cp_build_modify_expr): Complain about assignment to
254         array from init list.
255
256 2010-05-10  Fabien Chêne  <fabien.chene@gmail.com>
257
258         PR c++/43719
259         * decl.c (check_initializer): strip array type before checking for
260         uninitialized const or ref members.
261
262 2010-05-07  Fabien Chêne  <fabien.chene@gmail.com>
263
264         PR c++/43951
265         * init.c (diagnose_uninitialized_cst_or_ref_member_1): Returns the
266         error count. Emit errors only if compain is true.
267         (build_new_1): Do not return error_mark_node if
268         diagnose_uninitialized_cst_or_ref_member_1 does not diagnose any
269         errors. Delay the check for user-provided constructor.
270         (perform_member_init): Adjust.
271         * cp-tree.h (diagnose_uninitialized_cst_or_ref_member): Change the
272         prototype.
273
274 2010-05-06  Magnus Fromreide  <magfr@lysator.liu.se>
275             Jason Merrill  <jason@redhat.com>
276
277         Add support for C++0x nullptr.
278         * cp-tree.def: Add NULLPTR_TYPE.
279         * cp-tree.h: Add nullptr_node.
280         (cp_tree_index): Add CPTI_NULLPTR.
281         (SCALAR_TYPE_P): Add NULLPTR_TYPE.
282         * call.c (null_ptr_cst_p): Handle nullptr.
283         (standard_conversion): Likewise.
284         (convert_arg_to_ellipsis): Likewise.
285         * mangle.c (write_type): Likewise.
286         * name-lookup.c (arg_assoc_type): Likewise.
287         * parser.c (cp_parser_primary_expression): Likewise.
288         * typeck.c (cp_build_binary_op): Likewise.
289         (build_reinterpret_cast_1): Likewise.
290         * error.c (dump_type): Likewise.
291         (dump_type_prefix, dump_type_suffix): Likewise.
292         * decl.c (cxx_init_decl_processing): Likewise.
293         * cxx-pretty-print.c (pp_cxx_constant): Likewise.
294         * cvt.c (ocp_convert): Likewise.
295         * rtti.c (typeinfo_in_lib_p, emit_support_tinfos): Put
296         nullptr_t tinfo in libsupc++.
297
298 2010-05-06  Jason Merrill  <jason@redhat.com>
299
300         * semantics.c (simplify_aggr_init_expr): Use INIT_EXPR.
301
302 2010-04-22  Jakub Jelinek <jakub@redhat.com>
303             Dodji Seketeli <dodji@redhat.com>
304
305         PR c/18624
306         * cp-tree.h (mark_exp_read, rvalue_use, lvalue_use, type_use):
307         Declare ...
308         * expr.c (mark_exp_read, rvalue_use, lvalue_use, type_use): ... new fns.
309         * typeck.c (cxx_sizeof_expr, cxx_alignof_expr): Call type_use.
310         (decay_conversion, perform_integral_promotions): Call rvalue_use.
311         (cp_build_unary_op): Call lvalue_use.
312         * decl.c (unused_but_set_errorcount): New variable.
313         (poplevel): Issue -Wunused-but-set-variable diagnostics.
314         (duplicate_decls): Merge DECL_READ_P flags.
315         (start_cleanup_fn): Set DECL_READ_P flag.
316         (finish_function): Issue -Wunused-but-set-parameter diagnostics.
317         * tree.c (rvalue): Call rvalue_use.
318         * pt.c (convert_nontype_argument): Likewise.
319         * semantics.c (finish_expr_stmt, finish_asm_stmt, finish_typeof,
320         finish_decltype_type): Likewise.
321         * call.c (convert_like_real) <ck_identity, ck_user>: Call rvalue use.
322         (build_x_va_arg, build_new_method_call, build_over_call): Call lvalue_use
323         or rvalue_use depending on the expr.
324         * init.c (build_new, build_delete): Likewise.
325         * rtti.c (build_typeid, build_dynamic_cast_1): Likewise.
326
327 2010-05-05  Jason Merrill  <jason@redhat.com>
328
329         PR c++/43787
330         * cp-gimplify.c (cp_gimplify_expr): Remove copies of empty classes.
331         * call.c (build_over_call): Don't try to avoid INIT_EXPR copies here.
332
333 2010-05-04  Paolo Carlini  <paolo.carlini@oracle.com>
334
335         PR c++/43028
336         * pt.c (unify): Check each elt for error_mark_node.
337
338 2010-05-04  Jason Merrill  <jason@redhat.com>
339
340         PR c++/38064
341         * typeck.c (cp_build_binary_op): Allow enums for <> as well.
342
343 2010-05-04  Paolo Carlini  <paolo.carlini@oracle.com>
344
345         PR c++/43705
346         * call.c (build_new_method_call): Return error_mark_node if fns is
347         NULL_TREE.
348
349 2010-05-03  Dodji Seketeli  <dodji@redhat.com>
350
351         PR c++/43953
352         * pt.c (most_specialized_class): Pretend we are processing
353         a template decl during the call to coerce_template_parms.
354
355 2010-05-03  Jason Merrill  <jason@redhat.com>
356
357         PR c++/42810
358         PR c++/43680
359         * decl.c (finish_enum): Use the TYPE_MIN_VALUE and TYPE_MAX_VALUE
360         from the selected underlying type unless -fstrict-enums.  Set
361         ENUM_UNDERLYING_TYPE to have the restricted range.
362         * cvt.c (type_promotes_to): Use ENUM_UNDERLYING_TYPE.
363         * class.c (check_bitfield_decl): Likewise.
364
365 2010-05-01  H.J. Lu  <hongjiu.lu@intel.com>
366
367         PR c++/43951
368         * init.c (build_new_1): Revert the accidental checkin in
369         revision 158918.
370
371 2010-04-30  Jason Merrill  <jason@redhat.com>
372
373         PR c++/43868
374         * cxx-pretty-print.c (pp_cxx_decl_specifier_seq): Move pmf handling...
375         (pp_cxx_type_specifier_seq): ...here.
376
377 2010-04-30  Steven Bosscher  <steven@gcc.gnu.org>
378
379         * optimize.c, parser.c, mangle.c, cp-tree.h: Do not include varray.h.
380         * Make-lang.in: Don't include varray.h dependency in CXX_TREE_H.
381
382 2010-04-30  Shujing Zhao  <pearly.zhao@oracle.com>
383
384         PR c++/43779
385         * typeck.c (warn_args_num): New function.
386         (convert_arguments): Use warn_args_num to print the diagnostic
387         messages. 
388
389 2010-04-29  Fabien Chêne  <fabien.chene@gmail.com>
390
391         PR c++/43890
392         * init.c (diagnose_uninitialized_cst_or_ref_member): check for
393         user-provided constructor while recursing.
394
395 2010-04-28  Manuel López-Ibáñez  <manu@gcc.gnu.org>
396
397         PR c++/9335
398         * error.c (print_instantiation_partial_context_line): Handle
399         recursive instantiation.
400         (print_instantiation_partial_context): Likewise.
401
402 2010-04-27  Jason Merrill  <jason@redhat.com>
403
404         * init.c (perform_member_init): Check CLASS_TYPE_P.
405
406 2010-04-27  Fabien Chêne  <fabien.chene@gmail.com>
407
408         PR c++/29043
409         * init.c (perform_member_init): check for uninitialized const or
410         reference members, including array types.
411
412 2010-04-24  Jason Merrill  <jason@redhat.com>
413
414         * tree.c (get_fns): Split out from get_first_fn.
415         * cp-tree.h: Declare it.
416         * search.c (shared_member_p): Use it.
417         * semantics.c (finish_qualified_id_expr): Simplify.
418         (finish_id_expression): Simplify.
419
420         * semantics.c (finish_non_static_data_member): Call maybe_dummy_object
421         whenever object is NULL_TREE.  Don't do 'this' capture here.
422         (finish_qualified_id_expr): Pass NULL_TREE.
423         (finish_id_expression): Likewise.
424         (lambda_expr_this_capture): Likewise.
425
426         * semantics.c (finish_qualified_id_expr): Use maybe_dummy_object
427         rather than checking current_class_ref directly.
428         (finish_call_expr): Likewise.
429
430         PR c++/43856
431         * name-lookup.c (qualify_lookup): Disqualify lambda op().
432         * class.c (current_nonlambda_class_type): New fn.
433         * semantics.c (nonlambda_method_basetype): New.
434         * cp-tree.h: Declare them.
435         * tree.c (maybe_dummy_object): Handle implicit 'this' capture.
436
437         * semantics.c (baselink_for_fns): Correct BASELINK_BINFO.
438
439         PR c++/43875
440         * semantics.c (lambda_return_type): Complain about
441         braced-init-list.
442
443         PR c++/43790
444         * tree.c (cv_unqualified): Handle error_mark_node.
445
446         PR c++/41468
447         * call.c (convert_like_real) [ck_ambig]: Just return error_mark_node
448         if we don't want errors.
449
450         PR c++/41468
451         * class.c (convert_to_base): Add complain parameter.  Pass
452         ba_quiet to lookup_base if we don't want errors.
453         (build_vfield_ref): Pass complain to convert_to_base.
454         * call.c (convert_like_real): Likewise.
455         (initialize_reference): Likewise.
456         (perform_direct_initialization_if_possible): Pass complain to
457         convert_like_real.
458         * cp-tree.h: Adjust.
459
460 2010-04-27  Fabien Chêne  <fabien.chene@gmail.com>
461             Jason Merrill  <jason@redhat.com>
462
463         PR c++/42844
464         * decl.c (check_for_uninitialized_const_var): Handle classes that need
465         constructing, too.
466         (check_initializer): Call it for classes that need constructing, too.
467         * class.c (in_class_defaulted_default_constructor): New.
468         * cp-tree.h: Declare it.
469
470 2010-04-20  Jason Merrill  <jason@redhat.com>
471
472         PR c++/9335
473         * init.c (constant_value_1): Treat error_mark_node as a constant
474         if DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P is set.
475         * cvt.c (ocp_convert): Handle getting error_mark_node from
476         integral_constant_value.
477         * decl.c (compute_array_index_type): Likewise.
478
479 2010-04-20  Dodji Seketeli  <dodji@redhat.com>
480
481         PR c++/43800
482         PR c++/43704
483         * typeck.c (incompatible_dependent_types_p): If one of the
484         compared types if not a typedef then honour their main variant
485         equivalence.
486
487 2010-04-20  Jakub Jelinek  <jakub@redhat.com>
488
489         * cp-tree.h (TYPE_REF_IS_RVALUE): Remove.
490
491 2010-04-19  Dodji Seketeli  <dodji@redhat.com>
492
493         PR c++/43704
494         * typeck.c (structural_comptypes): Test dependent typedefs
495         incompatibility before testing for their main variant based
496         equivalence.
497
498 2010-04-19  Jakub Jelinek  <jakub@redhat.com>
499
500         * cp-tree.h (SCOPED_ENUM_P, UNSCOPED_ENUM_P, SET_SCOPED_ENUM_P): Use
501         ENUM_IS_SCOPED bit instead of TYPE_LANG_FLAG_5.
502
503 2010-04-18  Eric Botcazou  <ebotcazou@adacore.com>
504
505         * decl.c (cxx_init_decl_processing): Remove second argument in call to
506         build_common_tree_nodes.
507
508 2010-04-14  Jason Merrill  <jason@redhat.com>
509
510         PR c++/36625
511         * parser.c (cp_parser_parenthesized_expression_list): Change
512         is_attribute_list parm to int to indicate whether or not to
513         handle initial identifier specially.
514         (cp_parser_attribute_list): Use attribute_takes_identifier_p.
515
516 2010-04-13  Jason Merrill  <jason@redhat.com>
517
518         * call.c (type_decays_to): Check MAYBE_CLASS_TYPE_P instead of
519         CLASS_TYPE_P.
520         * parser.c (cp_parser_lambda_expression): Complain about lambda in
521         unevaluated context.
522         * pt.c (iterative_hash_template_arg): Don't crash on lambda.
523
524 2010-04-12  Jason Merrill  <jason@redhat.com>
525
526         PR c++/43641
527         * semantics.c (maybe_add_lambda_conv_op): Use build_call_a and tweak
528         return value directly.
529
530         * call.c (type_decays_to): Call cv_unqualified for non-class type.
531
532 2010-04-12  Fabien Chene  <fabien.chene@gmail.com>
533
534         PR c++/25811
535         * cp-tree.h (diagnose_uninitialized_cst_or_ref_member): Declare.
536         * init.c (build_new_1): Check for uninitialized const members and
537         uninitialized reference members, when using new without
538         new-initializer. Call diagnose_uninitialized_cst_or_ref_member.
539         (diagnose_uninitialized_cst_or_ref_member): Define, call
540         diagnose_uninitialized_cst_or_ref_member_1.
541         (diagnose_uninitialized_cst_or_ref_member_1): New function.
542
543 2010-04-12  Richard Guenther  <rguenther@suse.de>
544
545         PR c++/43611
546         * semantics.c (expand_or_defer_fn_1): Do not keep extern
547         template inline functions.
548
549 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
550
551         PR c++/28584
552         * typeck.c (cp_build_c_cast): Warn for casting integer to larger
553         pointer type.
554
555 2010-04-07  Jason Merrill  <jason@redhat.com>
556
557         PR c++/43016
558         * decl.c (start_preparsed_function): Do defer nested functions.
559
560         PR c++/11094, DR 408
561         * cp-tree.h (VAR_HAD_UNKNOWN_BOUND, SET_VAR_HAD_UNKNOWN_BOUND): New.
562         * decl2.c (finish_static_data_member_decl): Set it.
563         * decl.c (duplicate_decls): Propagate it.
564         * pt.c (tsubst_decl): Don't substitute the domain of an array
565         VAR_DECL if it's set.
566         (regenerate_decl_from_template): Substitute it here.
567         (type_dependent_expression_p): Return true if it's set.
568         * semantics.c (finish_decltype_type): Instantiate such a variable.
569         * typeck.c (cxx_sizeof_expr): Likewise.
570         (strip_array_domain): New.
571
572         PR c++/43145
573         * name-lookup.c (current_decl_namespace): Non-static.
574         (pop_nested_namespace): Sanity check.
575         * cp-tree.h: Declare current_decl_namespace.
576         * decl.c (grokvardecl): Use it instead of current_namespace.
577         (grokfndecl): Likewise.
578
579         PR c++/38392
580         * pt.c (tsubst_friend_function): Instatiate a friend that has already
581         been used.
582
583         * pt.c (print_template_statistics): New.
584         * cp-tree.h: Declare it.
585         * tree.c (cxx_print_statistics): Call it.
586
587         PR c++/41970
588         * decl.c (grokvardecl): Tweak warning message.
589         (grokfndecl): Likewise.
590
591 2010-04-07  Dodji Seketeli  <dodji@redhat.com>
592
593         PR c++/42697
594         *pt.c (tsubst_decl): Get the arguments of a specialization from
595         the specialization template, not from the most general template.
596
597 2010-04-07  Dodji Seketeli  <dodji@redhat.com>
598
599         PR c++/40239
600         * typeck2.c (process_init_constructor_record):
601         value-initialize members that are are not explicitely
602         initialized.
603
604 2010-04-07  Jie Zhang  <jie@codesourcery.com>
605
606         PR c++/42556
607         * typeck2.c (split_nonconstant_init_1): Drop empty CONSTRUCTOR
608         when all of its elements are non-constant and have been split out.
609
610 2010-04-06  Taras Glek  <taras@mozilla.com>
611             Jason Merrill  <jason@redhat.com>
612
613         * parser.c (cp_parser_class_specifier): Set class location to that
614         of IDENTIFIER_NODE instead of '{' when possible.
615         * semantics.c (begin_class_definition): Do not overide locations
616         with less precise ones.
617
618 2010-04-06  Jason Merrill  <jason@redhat.com>
619
620         PR c++/43648
621         * name-lookup.c (constructor_name_p): Allow X::~X even for typedefs.
622
623         PR c++/43621
624         * pt.c (maybe_update_decl_type): Check the return value from
625         push_scope.
626
627 2010-04-01  Jason Merrill  <jason@redhat.com>
628
629         * decl.c (next_initializable_field): No longer static.
630         * cp-tree.h: Declare it.
631         * call.c (build_aggr_conv): Fail if there are more initializers
632         than initializable fields.
633
634         * semantics.c (maybe_add_lambda_conv_op): Use null_pointer_node
635         instead of void_zero_node.
636
637 2010-03-31  Dodji Seketeli  <dodji@redhat.com>
638
639         PR c++/43558
640         * cp-tree.h (TEMPLATE_TYPE_PARM_SIBLING_PARMS): New accessor macro.
641         * pt.c (end_template_parm_list): Store sibling template parms of
642         each TEMPLATE_TYPE_PARMs into its TEMPLATE_TYPE_PARM_SIBLING_PARMS.
643         (push_template_decl_real): Don't store the containing template decl
644         into the DECL_CONTEXT of TEMPLATE_TYPE_PARMs anymore.
645         * typeck.c (get_template_parms_of_dependent_type): Get sibling parms
646         of a TEMPLATE_TYPE_PARM from TEMPLATE_TYPE_PARM_SIBLING_PARMS.
647         Simplify the logic.
648
649 2010-03-30  Jason Merrill  <jason@redhat.com>
650
651         PR c++/43076
652         * pt.c (push_template_decl_real): Deal better with running out of
653         scopes before running out of template parms.
654
655         PR c++/41185
656         PR c++/41786
657         * parser.c (cp_parser_direct_declarator): Don't allow VLAs in
658         function parameter context.  Don't print an error if parsing
659         tentatively.
660
661         PR c++/43559
662         * pt.c (more_specialized_fn): Don't control cv-qualifier check
663         with same_type_p.
664
665 2010-03-26  Jason Merrill  <jason@redhat.com>
666
667         PR c++/43509
668         * parser.c (cp_parser_qualifying_entity): Do accept enum names in
669         c++0x mode, but not other type-names.
670
671 2010-03-26  Dodji Seketeli  <dodji@redhat.com>
672
673         PR c++/43327
674         * pt.c (add_to_template_args): Support NULL ARGS;
675         (most_specialized_class): call coerce_template_parms on
676         template arguments passed to get_class_bindings. Use
677         add_to_template_args.
678         (unify): Handle VAR_DECLs.
679
680 2010-03-26  Dodji Seketeli  <dodji@redhat.com>
681
682         * cp-tree.h (get_template_parms_at_level): Change unsigned parm
683         into int.
684         * pt.c (get_template_parms_at_level): Adjust.
685
686 2010-03-25  Dodji Seketeli  <dodji@redhat.com>
687
688         PR c++/43206
689         * cp-tree.h (get_template_parms_at_level): Declare ...
690         * pt.c (get_template_parms_at_level): ... new function.
691         * typeck.c (get_template_parms_of_dependent_type): If a template
692         type parm's DECL_CONTEXT isn't yet set, get its siblings from
693         current_template_parms. Use get_template_parms_at_level. Remove
694         useless test.
695         (incompatible_dependent_types_p): If we get empty parms from just one
696         of the template type parms we are comparing then the template parms are
697         incompatible.
698
699 2010-03-24  Jason Merrill  <jason@redhat.com>
700
701         PR c++/43502
702         * parser.c (make_declarator): Initialize id_loc.
703         (cp_parser_lambda_declarator_opt): And set it.
704
705 2010-03-23  Jason Merrill  <jason@redhat.com>
706
707         Make lambda conversion op and op() non-static.
708         * semantics.c (maybe_add_lambda_conv_op): Make non-static.
709         Also add the thunk function returned by the conversion op.
710         Mark the conversion deleted if the op() is variadic.
711         * decl2.c (mark_used): Give helpful message about deleted conversion.
712         * parser.c (cp_parser_lambda_declarator_opt): Don't make op() static.
713         * semantics.c (finish_this_expr): Adjust.
714         * mangle.c (write_closure_type_name): Adjust.
715         * decl.c (grok_op_properties): Don't allow it.
716         * call.c (build_user_type_conversion_1): No static conversion ops.
717         (build_op_call): Or op().
718
719         * decl2.c (change_return_type): Fix 'this' quals.
720
721 2010-03-22  Jason Merrill  <jason@redhat.com>
722
723         PR c++/43333
724         * tree.c (pod_type_p): Use old meaning in C++98 mode.
725
726         PR c++/43281
727         * pt.c (contains_auto_r): New fn.
728         (do_auto_deduction): Use it.
729         (tsubst): Don't look at TREE_TYPE of a TEMPLATE_TYPE_PARM.
730
731 2010-03-20  Simon Martin  <simartin@users.sourceforge.net>
732
733         PR c++/43081:
734         * decl2.c (grokfield): Handle invalid initializers for member
735         functions.
736
737 2010-03-20  Dodji Seketeli  <dodji@redhat.com>
738
739         PR c++/43375
740         * method.c (make_alias_for): Avoid crashing when DECL_LANG_SPECIFIC
741         is NULL.
742         * decl2.c (vague_linkage_p): Likewise.
743
744 2010-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
745
746         PR c++/43418
747         * parser.c (cp_parser_for_init_statement): Use NULL_TREE, not
748         false, in the cp_parser_expression_statement call.
749
750 2010-03-05  Jason Merrill  <jason@redhat.com>
751
752         * mangle.c (mangle_decl): Give name collision error even without
753         ASM_OUTPUT_DEF.
754
755 2010-03-04  Marco Poletti  <poletti.marco@gmail.com>
756
757         * pt.c (process_partial_specialization): Use error_n instead of
758         error.
759
760 2010-03-03  Jason Merrill  <jason@redhat.com>
761
762         PR c++/12909
763         * mangle.c (mangle_decl): Handle VAR_DECL, too.
764
765 2010-03-03  Jason Merrill  <jason@redhat.com>
766
767         PR c++/12909
768         * mangle.c: Include cgraph.h.
769         (mangle_decl): If the mangled name will change in a later
770         ABI version, make the later mangled name an alias.
771         * method.c (make_alias_for): Copy DECL_ARGUMENTS.
772         * Make-lang.in (mangle.o): Depend on cgraph.h.
773         * method.c (make_alias_for): Handle VAR_DECL, too.
774         * decl2.c (vague_linkage_p): Rename from vague_linkage_fn_p.
775         * tree.c (no_linkage_check): Adjust.
776         * decl.c (maybe_commonize_var): Adjust.
777         * cp-tree.h: Adjust.
778
779 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
780
781         * pt.c (redeclare_class_template): Use error_n and inform_n.
782
783 2010-02-27  Mark Mitchell  <mark@codesourcery.com>
784
785         PR c++/42748
786         * cp-tree.h (push_tinst_level): Declare.
787         (pop_tinst_level): Likewise.
788         * pt.c (push_tinst_level): Give it external linkage.
789         (pop_tinst_level): Likewise.
790         * mangle.c (mangle_decl_string): Set the source location to that
791         of the decl while mangling.
792
793 2010-02-27  Simon Martin  <simartin@users.sourceforge.net>
794
795         PR c++/42054
796         * pt.c (redeclare_class_template): Return false if there are erroneous
797         template parameters.
798
799 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
800
801         * pt.c (push_tinst_level): Replace -ftemplate-depth- with 
802         -ftemplate-depth=.
803
804 2010-02-24  Jason Merrill  <jason@redhat.com>
805
806         PR c++/12909
807         * mangle.c (write_type): Give -Wabi warning for old vector mangling.
808
809         * class.c (layout_class_type): Don't give -Wabi warning for a bug
810         in a previous ABI version.
811
812 2010-02-23  Jason Merrill  <jason@redhat.com>
813
814         PR c++/43143
815         * typeck2.c (digest_init_r): Accept value init of array.
816
817 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
818
819         PR c++/43126
820         * typeck.c (convert_arguments): Update error message.
821
822 2010-02-22  Mike Stump  <mikestump@comcast.net>
823
824         PR c++/43125
825         * decl.c (duplicate_decls): Merge DECL_PRESERVE_P.
826
827 2010-02-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
828
829         PR c++/23510
830         * error.c (print_instantiation_partial_context_line): New.
831         (print_instantiation_partial_context): Print at most 12 contexts,
832         skip the rest with a message.
833
834 2010-02-21  Dodji Seketeli  <dodji@redhat.com>
835
836         PR c++/42824
837         * pt.c (lookup_template_class): Better support of specialization
838         of member of class template implicit instantiation.
839
840 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
841
842         PR c++/35669
843         * call.c (conversion_null_warnings): Replace -Wconversion with
844         -Wconversion-null.
845         * cvt.c (build_expr_type_conversion): Likewise.
846
847 2010-02-18  Jason Merrill  <jason@redhat.com>
848
849         PR c++/42837
850         * class.c (create_vtable_ptr): Set DECL_PACKED if type is packed.
851
852         PR c++/43108
853         * typeck.c (cp_build_binary_op): Adapt mixed complex/non handling from
854         C build_binary_op.
855         * cp-tree.h (WANT_VECTOR_OR_COMPLEX): Rename from WANT_VECTOR.
856         * cvt.c (build_expr_type_conversion): Allow COMPLEX_TYPE.
857
858         PR c++/43070
859         * semantics.c (finish_goto_stmt): Don't call decay_conversion.
860
861         PR c++/26261
862         PR c++/43101
863         * pt.c (tsubst_qualified_id): Do normal lookup in non-dependent scope.
864         (maybe_update_decl_type): New fn.
865         * parser.c (cp_parser_init_declarator): Use it.
866
867         PR c++/43109
868         * semantics.c (begin_class_definition): Don't crash on unnamed ns.
869
870 2010-02-17  Jason Merrill  <jason@redhat.com>
871
872         PR c++/43075
873         * call.c (build_over_call): Don't create zero-sized assignments.
874         * cp-gimplify.c (cp_genericize_r): Don't remove them here.
875         * cp-objcp-common.c (cp_expr_size): Remove.
876         * cp-tree.h: Remove prototype.
877
878         PR c++/43069
879         * name-lookup.c (set_decl_namespace): Don't copy DECL_CONTEXT if the
880         decl we looked up doesn't match.
881
882         PR c++/43093
883         * cp-gimplify.c (cp_gimplify_expr) [INIT_EXPR]: Return if we don't
884         have an INIT_EXPR anymore.
885
886         PR c++/43079
887         * pt.c (convert_nontype_argument): Change assert to test.
888
889 2010-02-16  Jason Merrill  <jason@redhat.com>
890
891         * cp-gimplify.c (cp_gimplify_expr): Fix error recovery.
892
893         PR c++/43031
894         * cp-gimplify.c (cp_gimplify_expr) [MODIFY_EXPR]: Use
895         VIEW_CONVERT_EXPR for conversions between structural equality types
896         that the back end can't tell are the same.
897
898         PR c++/43036
899         * tree.c (build_cplus_array_type): Set TYPE_MAIN_VARIANT to strip
900         cv-quals from element here.
901         (cp_build_qualified_type_real): Not here.  Preserve typedef name.
902
903 2010-02-14  Jason Merrill  <jason@redhat.com>
904
905         PR c++/41997
906         * semantics.c (finish_compound_literal): Use
907         cp_apply_type_quals_to_decl when creating a static variable.
908
909 2010-02-12  Jason Merrill  <jason@redhat.com>
910
911         PR c++/43024
912         * name-lookup.h (current_binding_level): Check for null
913         cp_function_chain.
914
915 2010-02-12  Jason Merrill  <jason@redhat.com>
916
917         PR c++/43054
918         * tree.c (cp_tree_equal): Correct CALL_EXPR logic.
919
920 2010-02-12  Jakub Jelinek  <jakub@redhat.com>
921
922         PR c++/43033
923         * name-lookup.c (pushdecl_maybe_friend): Check default args of t
924         instead of x.
925
926 2010-02-10  Jason Merrill  <jason@redhat.com>
927
928         PR c++/41896
929         * semantics.c (outer_lambda_capture_p): Revert.
930         (add_capture): Only finish_member_declaration if
931         we're in the lambda class.
932         (register_capture_members): New.
933         * cp-tree.h: Declare it.
934         * parser.c (cp_parser_lambda_expression): Call it.
935
936 2010-02-10  Jason Merrill  <jason@redhat.com>
937
938         PR c++/41896
939         * semantics.c (outer_lambda_capture_p): Use current_function_decl
940         instead of current_class_type.
941
942 2010-02-10  Jason Merrill  <jason@redhat.com>
943
944         PR c++/42983, core issue 906
945         * method.c (defaultable_fn_check): Check virtualness.
946
947 2010-02-10  Jason Merrill  <jason@redhat.com>
948
949         PR c++/43016
950         * semantics.c (maybe_add_lambda_conv_op): Set DECL_INTERFACE_KNOWN.
951
952 2010-02-10  Shujing Zhao  <pearly.zhao@oracle.com>
953
954         * Make-lang.in (cp/cvt.o, cp/parser.o, cp/search.o): Depend on intl.h.
955         * cvt.c (warn_ref_binding): Wrap the messages into G_() for easy
956         translation.
957         * parser.c (cp_parser_postfix_expression, cp_parser_new_type_id)
958         (cp_parser_cast_expression, cp_parser_condition, cp_parser_decltype)
959         (cp_parser_parameter_declaration)
960         (cp_parser_exception_specification_opt)
961         (cp_parser_exception_declaration): Likewise.
962         * pt.c (check_default_tmpl_args): Likewise.
963         * search.c (lookup_field_r): Likewise.
964
965 2010-02-09  Jason Merrill  <jason@redhat.com>
966
967         PR c++/42399
968         * pt.c (tsubst_copy_and_build): Propagate LAMBDA_EXPR_LOCATION.
969
970 2010-02-09  Jason Merrill  <jason@redhat.com>
971
972         PR c++/42370
973         * decl2.c (change_return_type): New fn.
974         * semantics.c (apply_lambda_return_type): Use it.
975         * cp-tree.h: Declare it.
976
977 2010-02-05  Richard Guenther  <rguenther@suse.de>
978
979         * Make-lang.in (cp/cp-lang.o): Depend on gt-cp-cp-lang.h.
980         * cp-lang.c: Include gt-cp-cp-lang.h.
981         * config-lang.in (gtfiles): Add cp/cp-lang.c.
982
983 2010-02-05  Dodji Seketeli  <dodji@redhat.com>
984
985         PR c++/42915
986         * typeck.c (get_template_parms_of_dependent_type): Try getting
987         the template parameters fromt the type itself first.
988
989 2010-02-03  Jason Merrill  <jason@redhat.com>
990
991         PR c++/4926
992         PR c++/38600
993         * mangle.c (write_unqualified_id): Split out from write_expression.
994         (write_unqualified_name): Call it.
995         (write_member_name): Likewise.
996         (write_expression): Support TEMPLATE_ID_EXPR.
997         Disambiguate operator names.
998
999         PR c++/12909
1000         * mangle.c (write_type) [VECTOR_TYPE]: Change mangling with
1001         -fabi-version=4.
1002
1003 2010-02-02  Jason Merrill  <jason@redhat.com>
1004
1005         PR c++/41090
1006         * decl.c (cp_finish_decl): Add local statics to cfun->local_decls.
1007         * optimize.c (clone_body): Remap their initializers when making base
1008         variants.
1009         (maybe_clone_body): Complain if multiple clones aren't safe.
1010
1011 2010-01-29  Dodji Seketeli  <dodji@redhat.com>
1012
1013         PR c++/42758
1014         PR c++/42634
1015         PR c++/42336
1016         PR c++/42797
1017         PR c++/42880
1018         * cp-tree.h (NON_DEFAULT_TEMPLATE_ARGS_COUNT,
1019         SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT,
1020         GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT): New accessor macros.
1021         * pt.c (coerce_template_parms, type_unification_real,
1022         expand_template_argument_pack, coerce_template_parameter_pack):
1023         Set the non default template args count.
1024         (current_template_args): Always set non defaulted
1025         template args count when compiled with --enable-checking
1026         (tsubst_template_args, type_unification_real): Propagate the non
1027         defaulted template args count.
1028         * error.c (get_non_default_template_args_count): Renamed
1029         count_non_default_template_args into this. Don't calculate the
1030         non default template argument count anymore. Use the new
1031         accessor macros above to get it.
1032         (dump_template_argument_list, dump_type, dump_decl,
1033         dump_template_parms): Adjust.
1034         * parser.c (cp_parser_template_argument_list): Always set defaulted
1035         template args count when compiled with --enable-checking.
1036
1037 2010-01-29  Shujing Zhao  <pearly.zhao@oracle.com>
1038
1039         * decl.c (redeclaration_error_message): Wrap the return messages into
1040         G_() for easy translation.
1041
1042 2010-01-28  Jason Merrill  <jason@redhat.com>
1043
1044         PR c++/42880
1045         * semantics.c (begin_class_definition): Don't use type_as_string.
1046
1047 2010-01-28  Dodji Seketeli  <dodji@redhat.com>
1048
1049         PR c++/42713
1050         PR c++/42820
1051         * typeck.c (get_template_parms_of_dependent_type): Factorized
1052         this out of incompatible_template_type_parms_p
1053         (incompatible_dependent_types_p): Renamed
1054         incompatible_template_type_parms_p into this. Make it detect
1055         two incompatible dependent typedefs too.
1056         (structural_comptypes): Use incompatible_dependent_types_p.
1057         * pt.c (get_template_info):
1058         Handle BOUND_TEMPLATE_TEMPLATE_PARAM.
1059
1060 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
1061             Jason Merrill  <jason@redhat.com>
1062
1063         * mangle.c (write_type): Mangle transparent record as member type.
1064         * semantics.c (begin_class_definition): Recognize decimal classes
1065         and set TYPE_TRANSPARENT_AGGR.
1066
1067 2010-01-20  Jason Merrill  <jason@redhat.com>
1068
1069         PR c++/42338
1070         * mangle.c (write_expression): Handle tree codes that have extra
1071         arguments in the middle-end.
1072
1073 2010-01-20  Paolo Carlini  <paolo.carlini@oracle.com>
1074
1075         PR c++/42038
1076         * except.c (expand_start_catch_block): Deal correctly with
1077         do_begin_catch returning error_mark_node.
1078
1079 2010-01-20  Jason Merrill  <jason@redhat.com>
1080
1081         PR c++/41788
1082         * class.c (layout_class_type): Set packed_maybe_necessary for packed
1083         non-PODs.
1084
1085         PR c++/41920
1086         * semantics.c (build_lambda_object): Call mark_used on captured
1087         variables.
1088
1089         PR c++/40750
1090         * decl.c (grokdeclarator): Clear type_quals for a member function
1091         declared using a typedef.  Don't complain about adding cv-quals
1092         to a function typedef in C++0x mode.
1093
1094 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
1095
1096         * decl.c (create_array_type_for_decl): Remove set but not used
1097         variable error_msg.  Remove break stmts after return stmts.
1098
1099 2010-01-19  Dodji Seketeli  <dodji@redhat.com>
1100
1101         * error.c (dump_template_parms, count_non_default_template_args):
1102         Revert fix of PR c++/42634.
1103
1104 2010-01-18  Dodji Seketeli  <dodji@redhat.com>
1105
1106         PR c++/42634
1107         * error.c (dump_template_parms): Use innermost template
1108         arguments before calling count_non_default_template_args.
1109         (count_non_default_template_args): We are being called with
1110         template innermost arguments now. There is no need to ensure
1111         that again.
1112
1113 2010-01-18  Dodji Seketeli  <dodji@redhat.com>
1114
1115         PR c++/42766
1116         * cvt.c (build_expr_type_conversion): Look through OVERLOAD.
1117
1118 2010-01-17  Dodji Seketeli  <dodji@redhat.com>
1119
1120         PR c++/42697
1121         *pt.c (tsubst_decl):  Revert commit for PR c++/42697.
1122
1123 2010-01-17  Dodji Seketeli  <dodji@redhat.com>
1124
1125         PR c++/42697
1126         *pt.c (tsubst_decl): Get the arguments of a specialization from
1127         the specialization template, not from the most general template.
1128
1129 2010-01-16  Jason Merrill  <jason@redhat.com>
1130
1131         PR c++/42761
1132         * semantics.c (finish_decltype_type): Within a template, treat
1133         unresolved CALL_EXPR as dependent.
1134
1135 2010-01-15  Dodji Seketeli  <dodji@redhat.com>
1136
1137         * error.c (dump_template_parms,count_non_default_template_args):
1138         Revert changes of PR c++/42634.
1139
1140 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
1141
1142         PR middle-end/42674
1143         * decl.c (finish_function): Don't emit -Wreturn-type warnings in
1144         functions with noreturn attribute.
1145
1146 2010-01-14  Jason Merrill  <jason@redhat.com>
1147
1148         PR c++/42701
1149         * call.c (build_new_method_call): Don't free the vec here.
1150
1151         PR c++/42655
1152         * call.c (convert_like_real): Do full decay_conversion for ck_rvalue.
1153
1154 2010-01-13  Dodji Seketeli  <dodji@redhat.com>
1155
1156         PR c++/42634
1157         * error.c (dump_template_parms): Use innermost template
1158         arguments before calling count_non_default_template_args.
1159         (count_non_default_template_args): We are being called with
1160         template innermost arguments now. There is no need to ensure
1161         that again.
1162
1163 2010-01-07  Dodji Seketeli  <dodji@redhat.com>
1164
1165         c++/40155
1166         * pt.c (unify_pack_expansion): In non-deduced contexts, re-use template
1167         arguments that were previously deduced.
1168
1169 2010-01-05  Jason Merrill  <jason@redhat.com>
1170
1171         * pt.c (unify_pack_expansion): Handle deduction from init-list.
1172         * call.c (build_over_call): Don't complain about it.
1173
1174 2010-01-04  Jason Merrill  <jason@redhat.com>
1175
1176         PR c++/42555
1177         * pt.c (tsubst_decl): Don't apply type attributes in place.
1178
1179         PR c++/42567
1180         * semantics.c (describable_type): Remove decltype comment and
1181         semantics.
1182
1183
1184 \f
1185 Copyright (C) 2010 Free Software Foundation, Inc.
1186
1187 Copying and distribution of this file, with or without modification,
1188 are permitted in any medium without royalty provided the copyright
1189 notice and this notice are preserved.