OSDN Git Service

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