OSDN Git Service

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