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