OSDN Git Service

2010-04-12 Kai Tietz <kai.tietz@onevision.com>
[pf3gnuchains/gcc-fork.git] / gcc / cp / ChangeLog
1 2010-04-12  Richard Guenther  <rguenther@suse.de>
2
3         PR c++/43611
4         * semantics.c (expand_or_defer_fn_1): Do not keep extern
5         template inline functions.
6
7 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
8
9         PR c++/28584
10         * typeck.c (cp_build_c_cast): Warn for casting integer to larger
11         pointer type.
12
13 2010-04-07  Jason Merrill  <jason@redhat.com>
14
15         PR c++/43016
16         * decl.c (start_preparsed_function): Do defer nested functions.
17
18         PR c++/11094, DR 408
19         * cp-tree.h (VAR_HAD_UNKNOWN_BOUND, SET_VAR_HAD_UNKNOWN_BOUND): New.
20         * decl2.c (finish_static_data_member_decl): Set it.
21         * decl.c (duplicate_decls): Propagate it.
22         * pt.c (tsubst_decl): Don't substitute the domain of an array
23         VAR_DECL if it's set.
24         (regenerate_decl_from_template): Substitute it here.
25         (type_dependent_expression_p): Return true if it's set.
26         * semantics.c (finish_decltype_type): Instantiate such a variable.
27         * typeck.c (cxx_sizeof_expr): Likewise.
28         (strip_array_domain): New.
29
30         * name-lookup.c (current_decl_namespace): Non-static.
31         (pop_nested_namespace): Sanity check.
32         * cp-tree.h: Declare current_decl_namespace.
33         * decl.c (grokvardecl): Use it instead of current_namespace.
34         (grokfndecl): Likewise.
35
36         PR c++/38392
37         * pt.c (tsubst_friend_function): Instatiate a friend that has already
38         been used.
39
40         * pt.c (print_template_statistics): New.
41         * cp-tree.h: Declare it.
42         * tree.c (cxx_print_statistics): Call it.
43
44         PR c++/41970
45         * decl.c (grokvardecl): Tweak warning message.
46         (grokfndecl): Likewise.
47
48 2010-04-07  Dodji Seketeli  <dodji@redhat.com>
49
50         PR c++/42697
51         *pt.c (tsubst_decl): Get the arguments of a specialization from
52         the specialization template, not from the most general template.
53
54 2010-04-07  Dodji Seketeli  <dodji@redhat.com>
55
56         PR c++/40239
57         * typeck2.c (process_init_constructor_record):
58         value-initialize members that are are not explicitely
59         initialized.
60
61 2010-04-07  Jie Zhang  <jie@codesourcery.com>
62
63         PR c++/42556
64         * typeck2.c (split_nonconstant_init_1): Drop empty CONSTRUCTOR
65         when all of its elements are non-constant and have been split out.
66
67 2010-04-06  Taras Glek  <taras@mozilla.com>
68             Jason Merrill  <jason@redhat.com>
69
70         * parser.c (cp_parser_class_specifier): Set class location to that
71         of IDENTIFIER_NODE instead of '{' when possible.
72         * semantics.c (begin_class_definition): Do not overide locations
73         with less precise ones.
74
75 2010-04-06  Jason Merrill  <jason@redhat.com>
76
77         PR c++/43648
78         * name-lookup.c (constructor_name_p): Allow X::~X even for typedefs.
79
80         PR c++/43621
81         * pt.c (maybe_update_decl_type): Check the return value from
82         push_scope.
83
84 2010-04-01  Jason Merrill  <jason@redhat.com>
85
86         * decl.c (next_initializable_field): No longer static.
87         * cp-tree.h: Declare it.
88         * call.c (build_aggr_conv): Fail if there are more initializers
89         than initializable fields.
90
91         * semantics.c (maybe_add_lambda_conv_op): Use null_pointer_node
92         instead of void_zero_node.
93
94 2010-03-31  Dodji Seketeli  <dodji@redhat.com>
95
96         PR c++/43558
97         * cp-tree.h (TEMPLATE_TYPE_PARM_SIBLING_PARMS): New accessor macro.
98         * pt.c (end_template_parm_list): Store sibling template parms of
99         each TEMPLATE_TYPE_PARMs into its TEMPLATE_TYPE_PARM_SIBLING_PARMS.
100         (push_template_decl_real): Don't store the containing template decl
101         into the DECL_CONTEXT of TEMPLATE_TYPE_PARMs anymore.
102         * typeck.c (get_template_parms_of_dependent_type): Get sibling parms
103         of a TEMPLATE_TYPE_PARM from TEMPLATE_TYPE_PARM_SIBLING_PARMS.
104         Simplify the logic.
105
106 2010-03-30  Jason Merrill  <jason@redhat.com>
107
108         PR c++/43076
109         * pt.c (push_template_decl_real): Deal better with running out of
110         scopes before running out of template parms.
111
112         PR c++/41185
113         PR c++/41786
114         * parser.c (cp_parser_direct_declarator): Don't allow VLAs in
115         function parameter context.  Don't print an error if parsing
116         tentatively.
117
118         PR c++/43559
119         * pt.c (more_specialized_fn): Don't control cv-qualifier check
120         with same_type_p.
121
122 2010-03-26  Jason Merrill  <jason@redhat.com>
123
124         PR c++/43509
125         * parser.c (cp_parser_qualifying_entity): Do accept enum names in
126         c++0x mode, but not other type-names.
127
128 2010-03-26  Dodji Seketeli  <dodji@redhat.com>
129
130         PR c++/43327
131         * pt.c (add_to_template_args): Support NULL ARGS;
132         (most_specialized_class): call coerce_template_parms on
133         template arguments passed to get_class_bindings. Use
134         add_to_template_args.
135         (unify): Handle VAR_DECLs.
136
137 2010-03-26  Dodji Seketeli  <dodji@redhat.com>
138
139         * cp-tree.h (get_template_parms_at_level): Change unsigned parm
140         into int.
141         * pt.c (get_template_parms_at_level): Adjust.
142
143 2010-03-25  Dodji Seketeli  <dodji@redhat.com>
144
145         PR c++/43206
146         * cp-tree.h (get_template_parms_at_level): Declare ...
147         * pt.c (get_template_parms_at_level): ... new function.
148         * typeck.c (get_template_parms_of_dependent_type): If a template
149         type parm's DECL_CONTEXT isn't yet set, get its siblings from
150         current_template_parms. Use get_template_parms_at_level. Remove
151         useless test.
152         (incompatible_dependent_types_p): If we get empty parms from just one
153         of the template type parms we are comparing then the template parms are
154         incompatible.
155
156 2010-03-24  Jason Merrill  <jason@redhat.com>
157
158         PR c++/43502
159         * parser.c (make_declarator): Initialize id_loc.
160         (cp_parser_lambda_declarator_opt): And set it.
161
162 2010-03-23  Jason Merrill  <jason@redhat.com>
163
164         Make lambda conversion op and op() non-static.
165         * semantics.c (maybe_add_lambda_conv_op): Make non-static.
166         Also add the thunk function returned by the conversion op.
167         Mark the conversion deleted if the op() is variadic.
168         * decl2.c (mark_used): Give helpful message about deleted conversion.
169         * parser.c (cp_parser_lambda_declarator_opt): Don't make op() static.
170         * semantics.c (finish_this_expr): Adjust.
171         * mangle.c (write_closure_type_name): Adjust.
172         * decl.c (grok_op_properties): Don't allow it.
173         * call.c (build_user_type_conversion_1): No static conversion ops.
174         (build_op_call): Or op().
175
176         * decl2.c (change_return_type): Fix 'this' quals.
177
178 2010-03-22  Jason Merrill  <jason@redhat.com>
179
180         PR c++/43333
181         * tree.c (pod_type_p): Use old meaning in C++98 mode.
182
183         PR c++/43281
184         * pt.c (contains_auto_r): New fn.
185         (do_auto_deduction): Use it.
186         (tsubst): Don't look at TREE_TYPE of a TEMPLATE_TYPE_PARM.
187
188 2010-03-20  Simon Martin  <simartin@users.sourceforge.net>
189
190         PR c++/43081:
191         * decl2.c (grokfield): Handle invalid initializers for member
192         functions.
193
194 2010-03-20  Dodji Seketeli  <dodji@redhat.com>
195
196         PR c++/43375
197         * method.c (make_alias_for): Avoid crashing when DECL_LANG_SPECIFIC
198         is NULL.
199         * decl2.c (vague_linkage_p): Likewise.
200
201 2010-03-18  Paolo Carlini  <paolo.carlini@oracle.com>
202
203         PR c++/43418
204         * parser.c (cp_parser_for_init_statement): Use NULL_TREE, not
205         false, in the cp_parser_expression_statement call.
206
207 2010-03-05  Jason Merrill  <jason@redhat.com>
208
209         * mangle.c (mangle_decl): Give name collision error even without
210         ASM_OUTPUT_DEF.
211
212 2010-03-04  Marco Poletti  <poletti.marco@gmail.com>
213
214         * pt.c (process_partial_specialization): Use error_n instead of
215         error.
216
217 2010-03-03  Jason Merrill  <jason@redhat.com>
218
219         PR c++/12909
220         * mangle.c (mangle_decl): Handle VAR_DECL, too.
221
222 2010-03-03  Jason Merrill  <jason@redhat.com>
223
224         PR c++/12909
225         * mangle.c: Include cgraph.h.
226         (mangle_decl): If the mangled name will change in a later
227         ABI version, make the later mangled name an alias.
228         * method.c (make_alias_for): Copy DECL_ARGUMENTS.
229         * Make-lang.in (mangle.o): Depend on cgraph.h.
230         * method.c (make_alias_for): Handle VAR_DECL, too.
231         * decl2.c (vague_linkage_p): Rename from vague_linkage_fn_p.
232         * tree.c (no_linkage_check): Adjust.
233         * decl.c (maybe_commonize_var): Adjust.
234         * cp-tree.h: Adjust.
235
236 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
237
238         * pt.c (redeclare_class_template): Use error_n and inform_n.
239
240 2010-02-27  Mark Mitchell  <mark@codesourcery.com>
241
242         PR c++/42748
243         * cp-tree.h (push_tinst_level): Declare.
244         (pop_tinst_level): Likewise.
245         * pt.c (push_tinst_level): Give it external linkage.
246         (pop_tinst_level): Likewise.
247         * mangle.c (mangle_decl_string): Set the source location to that
248         of the decl while mangling.
249
250 2010-02-27  Simon Martin  <simartin@users.sourceforge.net>
251
252         PR c++/42054
253         * pt.c (redeclare_class_template): Return false if there are erroneous
254         template parameters.
255
256 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
257
258         * pt.c (push_tinst_level): Replace -ftemplate-depth- with 
259         -ftemplate-depth=.
260
261 2010-02-24  Jason Merrill  <jason@redhat.com>
262
263         PR c++/12909
264         * mangle.c (write_type): Give -Wabi warning for old vector mangling.
265
266         * class.c (layout_class_type): Don't give -Wabi warning for a bug
267         in a previous ABI version.
268
269 2010-02-23  Jason Merrill  <jason@redhat.com>
270
271         PR c++/43143
272         * typeck2.c (digest_init_r): Accept value init of array.
273
274 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
275
276         PR c++/43126
277         * typeck.c (convert_arguments): Update error message.
278
279 2010-02-22  Mike Stump  <mikestump@comcast.net>
280
281         PR c++/43125
282         * decl.c (duplicate_decls): Merge DECL_PRESERVE_P.
283
284 2010-02-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
285
286         PR c++/23510
287         * error.c (print_instantiation_partial_context_line): New.
288         (print_instantiation_partial_context): Print at most 12 contexts,
289         skip the rest with a message.
290
291 2010-02-21  Dodji Seketeli  <dodji@redhat.com>
292
293         PR c++/42824
294         * pt.c (lookup_template_class): Better support of specialization
295         of member of class template implicit instantiation.
296
297 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
298
299         PR c++/35669
300         * call.c (conversion_null_warnings): Replace -Wconversion with
301         -Wconversion-null.
302         * cvt.c (build_expr_type_conversion): Likewise.
303
304 2010-02-18  Jason Merrill  <jason@redhat.com>
305
306         PR c++/42837
307         * class.c (create_vtable_ptr): Set DECL_PACKED if type is packed.
308
309         PR c++/43108
310         * typeck.c (cp_build_binary_op): Adapt mixed complex/non handling from
311         C build_binary_op.
312         * cp-tree.h (WANT_VECTOR_OR_COMPLEX): Rename from WANT_VECTOR.
313         * cvt.c (build_expr_type_conversion): Allow COMPLEX_TYPE.
314
315         PR c++/43070
316         * semantics.c (finish_goto_stmt): Don't call decay_conversion.
317
318         PR c++/26261
319         PR c++/43101
320         * pt.c (tsubst_qualified_id): Do normal lookup in non-dependent scope.
321         (maybe_update_decl_type): New fn.
322         * parser.c (cp_parser_init_declarator): Use it.
323
324         PR c++/43109
325         * semantics.c (begin_class_definition): Don't crash on unnamed ns.
326
327 2010-02-17  Jason Merrill  <jason@redhat.com>
328
329         PR c++/43075
330         * call.c (build_over_call): Don't create zero-sized assignments.
331         * cp-gimplify.c (cp_genericize_r): Don't remove them here.
332         * cp-objcp-common.c (cp_expr_size): Remove.
333         * cp-tree.h: Remove prototype.
334
335         PR c++/43069
336         * name-lookup.c (set_decl_namespace): Don't copy DECL_CONTEXT if the
337         decl we looked up doesn't match.
338
339         PR c++/43093
340         * cp-gimplify.c (cp_gimplify_expr) [INIT_EXPR]: Return if we don't
341         have an INIT_EXPR anymore.
342
343         PR c++/43079
344         * pt.c (convert_nontype_argument): Change assert to test.
345
346 2010-02-16  Jason Merrill  <jason@redhat.com>
347
348         * cp-gimplify.c (cp_gimplify_expr): Fix error recovery.
349
350         PR c++/43031
351         * cp-gimplify.c (cp_gimplify_expr) [MODIFY_EXPR]: Use
352         VIEW_CONVERT_EXPR for conversions between structural equality types
353         that the back end can't tell are the same.
354
355         PR c++/43036
356         * tree.c (build_cplus_array_type): Set TYPE_MAIN_VARIANT to strip
357         cv-quals from element here.
358         (cp_build_qualified_type_real): Not here.  Preserve typedef name.
359
360 2010-02-14  Jason Merrill  <jason@redhat.com>
361
362         PR c++/41997
363         * semantics.c (finish_compound_literal): Use
364         cp_apply_type_quals_to_decl when creating a static variable.
365
366 2010-02-12  Jason Merrill  <jason@redhat.com>
367
368         PR c++/43024
369         * name-lookup.h (current_binding_level): Check for null
370         cp_function_chain.
371
372 2010-02-12  Jason Merrill  <jason@redhat.com>
373
374         PR c++/43054
375         * tree.c (cp_tree_equal): Correct CALL_EXPR logic.
376
377 2010-02-12  Jakub Jelinek  <jakub@redhat.com>
378
379         PR c++/43033
380         * name-lookup.c (pushdecl_maybe_friend): Check default args of t
381         instead of x.
382
383 2010-02-10  Jason Merrill  <jason@redhat.com>
384
385         PR c++/41896
386         * semantics.c (outer_lambda_capture_p): Revert.
387         (add_capture): Only finish_member_declaration if
388         we're in the lambda class.
389         (register_capture_members): New.
390         * cp-tree.h: Declare it.
391         * parser.c (cp_parser_lambda_expression): Call it.
392
393 2010-02-10  Jason Merrill  <jason@redhat.com>
394
395         PR c++/41896
396         * semantics.c (outer_lambda_capture_p): Use current_function_decl
397         instead of current_class_type.
398
399 2010-02-10  Jason Merrill  <jason@redhat.com>
400
401         PR c++/42983, core issue 906
402         * method.c (defaultable_fn_check): Check virtualness.
403
404 2010-02-10  Jason Merrill  <jason@redhat.com>
405
406         PR c++/43016
407         * semantics.c (maybe_add_lambda_conv_op): Set DECL_INTERFACE_KNOWN.
408
409 2010-02-10  Shujing Zhao  <pearly.zhao@oracle.com>
410
411         * Make-lang.in (cp/cvt.o, cp/parser.o, cp/search.o): Depend on intl.h.
412         * cvt.c (warn_ref_binding): Wrap the messages into G_() for easy
413         translation.
414         * parser.c (cp_parser_postfix_expression, cp_parser_new_type_id)
415         (cp_parser_cast_expression, cp_parser_condition, cp_parser_decltype)
416         (cp_parser_parameter_declaration)
417         (cp_parser_exception_specification_opt)
418         (cp_parser_exception_declaration): Likewise.
419         * pt.c (check_default_tmpl_args): Likewise.
420         * search.c (lookup_field_r): Likewise.
421
422 2010-02-09  Jason Merrill  <jason@redhat.com>
423
424         PR c++/42399
425         * pt.c (tsubst_copy_and_build): Propagate LAMBDA_EXPR_LOCATION.
426
427 2010-02-09  Jason Merrill  <jason@redhat.com>
428
429         PR c++/42370
430         * decl2.c (change_return_type): New fn.
431         * semantics.c (apply_lambda_return_type): Use it.
432         * cp-tree.h: Declare it.
433
434 2010-02-05  Richard Guenther  <rguenther@suse.de>
435
436         * Make-lang.in (cp/cp-lang.o): Depend on gt-cp-cp-lang.h.
437         * cp-lang.c: Include gt-cp-cp-lang.h.
438         * config-lang.in (gtfiles): Add cp/cp-lang.c.
439
440 2010-02-05  Dodji Seketeli  <dodji@redhat.com>
441
442         PR c++/42915
443         * typeck.c (get_template_parms_of_dependent_type): Try getting
444         the template parameters fromt the type itself first.
445
446 2010-02-03  Jason Merrill  <jason@redhat.com>
447
448         PR c++/4926
449         PR c++/38600
450         * mangle.c (write_unqualified_id): Split out from write_expression.
451         (write_unqualified_name): Call it.
452         (write_member_name): Likewise.
453         (write_expression): Support TEMPLATE_ID_EXPR.
454         Disambiguate operator names.
455
456         PR c++/12909
457         * mangle.c (write_type) [VECTOR_TYPE]: Change mangling with
458         -fabi-version=4.
459
460 2010-02-02  Jason Merrill  <jason@redhat.com>
461
462         PR c++/41090
463         * decl.c (cp_finish_decl): Add local statics to cfun->local_decls.
464         * optimize.c (clone_body): Remap their initializers when making base
465         variants.
466         (maybe_clone_body): Complain if multiple clones aren't safe.
467
468 2010-01-29  Dodji Seketeli  <dodji@redhat.com>
469
470         PR c++/42758
471         PR c++/42634
472         PR c++/42336
473         PR c++/42797
474         PR c++/42880
475         * cp-tree.h (NON_DEFAULT_TEMPLATE_ARGS_COUNT,
476         SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT,
477         GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT): New accessor macros.
478         * pt.c (coerce_template_parms, type_unification_real,
479         expand_template_argument_pack, coerce_template_parameter_pack):
480         Set the non default template args count.
481         (current_template_args): Always set non defaulted
482         template args count when compiled with --enable-checking
483         (tsubst_template_args, type_unification_real): Propagate the non
484         defaulted template args count.
485         * error.c (get_non_default_template_args_count): Renamed
486         count_non_default_template_args into this. Don't calculate the
487         non default template argument count anymore. Use the new
488         accessor macros above to get it.
489         (dump_template_argument_list, dump_type, dump_decl,
490         dump_template_parms): Adjust.
491         * parser.c (cp_parser_template_argument_list): Always set defaulted
492         template args count when compiled with --enable-checking.
493
494 2010-01-29  Shujing Zhao  <pearly.zhao@oracle.com>
495
496         * decl.c (redeclaration_error_message): Wrap the return messages into
497         G_() for easy translation.
498
499 2010-01-28  Jason Merrill  <jason@redhat.com>
500
501         PR c++/42880
502         * semantics.c (begin_class_definition): Don't use type_as_string.
503
504 2010-01-28  Dodji Seketeli  <dodji@redhat.com>
505
506         PR c++/42713
507         PR c++/42820
508         * typeck.c (get_template_parms_of_dependent_type): Factorized
509         this out of incompatible_template_type_parms_p
510         (incompatible_dependent_types_p): Renamed
511         incompatible_template_type_parms_p into this. Make it detect
512         two incompatible dependent typedefs too.
513         (structural_comptypes): Use incompatible_dependent_types_p.
514         * pt.c (get_template_info):
515         Handle BOUND_TEMPLATE_TEMPLATE_PARAM.
516
517 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
518             Jason Merrill  <jason@redhat.com>
519
520         * mangle.c (write_type): Mangle transparent record as member type.
521         * semantics.c (begin_class_definition): Recognize decimal classes
522         and set TYPE_TRANSPARENT_AGGR.
523
524 2010-01-20  Jason Merrill  <jason@redhat.com>
525
526         PR c++/42338
527         * mangle.c (write_expression): Handle tree codes that have extra
528         arguments in the middle-end.
529
530 2010-01-20  Paolo Carlini  <paolo.carlini@oracle.com>
531
532         PR c++/42038
533         * except.c (expand_start_catch_block): Deal correctly with
534         do_begin_catch returning error_mark_node.
535
536 2010-01-20  Jason Merrill  <jason@redhat.com>
537
538         PR c++/41788
539         * class.c (layout_class_type): Set packed_maybe_necessary for packed
540         non-PODs.
541
542         PR c++/41920
543         * semantics.c (build_lambda_object): Call mark_used on captured
544         variables.
545
546         PR c++/40750
547         * decl.c (grokdeclarator): Clear type_quals for a member function
548         declared using a typedef.  Don't complain about adding cv-quals
549         to a function typedef in C++0x mode.
550
551 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
552
553         * decl.c (create_array_type_for_decl): Remove set but not used
554         variable error_msg.  Remove break stmts after return stmts.
555
556 2010-01-19  Dodji Seketeli  <dodji@redhat.com>
557
558         * error.c (dump_template_parms, count_non_default_template_args):
559         Revert fix of PR c++/42634.
560
561 2010-01-18  Dodji Seketeli  <dodji@redhat.com>
562
563         PR c++/42634
564         * error.c (dump_template_parms): Use innermost template
565         arguments before calling count_non_default_template_args.
566         (count_non_default_template_args): We are being called with
567         template innermost arguments now. There is no need to ensure
568         that again.
569
570 2010-01-18  Dodji Seketeli  <dodji@redhat.com>
571
572         PR c++/42766
573         * cvt.c (build_expr_type_conversion): Look through OVERLOAD.
574
575 2010-01-17  Dodji Seketeli  <dodji@redhat.com>
576
577         PR c++/42697
578         *pt.c (tsubst_decl):  Revert commit for PR c++/42697.
579
580 2010-01-17  Dodji Seketeli  <dodji@redhat.com>
581
582         PR c++/42697
583         *pt.c (tsubst_decl): Get the arguments of a specialization from
584         the specialization template, not from the most general template.
585
586 2010-01-16  Jason Merrill  <jason@redhat.com>
587
588         PR c++/42761
589         * semantics.c (finish_decltype_type): Within a template, treat
590         unresolved CALL_EXPR as dependent.
591
592 2010-01-15  Dodji Seketeli  <dodji@redhat.com>
593
594         * error.c (dump_template_parms,count_non_default_template_args):
595         Revert changes of PR c++/42634.
596
597 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
598
599         PR middle-end/42674
600         * decl.c (finish_function): Don't emit -Wreturn-type warnings in
601         functions with noreturn attribute.
602
603 2010-01-14  Jason Merrill  <jason@redhat.com>
604
605         PR c++/42701
606         * call.c (build_new_method_call): Don't free the vec here.
607
608         PR c++/42655
609         * call.c (convert_like_real): Do full decay_conversion for ck_rvalue.
610
611 2010-01-13  Dodji Seketeli  <dodji@redhat.com>
612
613         PR c++/42634
614         * error.c (dump_template_parms): Use innermost template
615         arguments before calling count_non_default_template_args.
616         (count_non_default_template_args): We are being called with
617         template innermost arguments now. There is no need to ensure
618         that again.
619
620 2010-01-07  Dodji Seketeli  <dodji@redhat.com>
621
622         c++/40155
623         * pt.c (unify_pack_expansion): In non-deduced contexts, re-use template
624         arguments that were previously deduced.
625
626 2010-01-05  Jason Merrill  <jason@redhat.com>
627
628         * pt.c (unify_pack_expansion): Handle deduction from init-list.
629         * call.c (build_over_call): Don't complain about it.
630
631 2010-01-04  Jason Merrill  <jason@redhat.com>
632
633         PR c++/42555
634         * pt.c (tsubst_decl): Don't apply type attributes in place.
635
636         PR c++/42567
637         * semantics.c (describable_type): Remove decltype comment and
638         semantics.
639
640
641 \f
642 Copyright (C) 2010 Free Software Foundation, Inc.
643
644 Copying and distribution of this file, with or without modification,
645 are permitted in any medium without royalty provided the copyright
646 notice and this notice are preserved.