OSDN Git Service

PR rtl-optimization/43520
[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 (mangle_decl): Handle VAR_DECL, too.
290
291 2010-03-03  Jason Merrill  <jason@redhat.com>
292
293         PR c++/12909
294         * mangle.c: Include cgraph.h.
295         (mangle_decl): If the mangled name will change in a later
296         ABI version, make the later mangled name an alias.
297         * method.c (make_alias_for): Copy DECL_ARGUMENTS.
298         * Make-lang.in (mangle.o): Depend on cgraph.h.
299         * method.c (make_alias_for): Handle VAR_DECL, too.
300         * decl2.c (vague_linkage_p): Rename from vague_linkage_fn_p.
301         * tree.c (no_linkage_check): Adjust.
302         * decl.c (maybe_commonize_var): Adjust.
303         * cp-tree.h: Adjust.
304
305 2010-03-01  Marco Poletti  <poletti.marco@gmail.com>
306
307         * pt.c (redeclare_class_template): Use error_n and inform_n.
308
309 2010-02-27  Mark Mitchell  <mark@codesourcery.com>
310
311         PR c++/42748
312         * cp-tree.h (push_tinst_level): Declare.
313         (pop_tinst_level): Likewise.
314         * pt.c (push_tinst_level): Give it external linkage.
315         (pop_tinst_level): Likewise.
316         * mangle.c (mangle_decl_string): Set the source location to that
317         of the decl while mangling.
318
319 2010-02-27  Simon Martin  <simartin@users.sourceforge.net>
320
321         PR c++/42054
322         * pt.c (redeclare_class_template): Return false if there are erroneous
323         template parameters.
324
325 2010-02-24  Manuel López-Ibáñez  <manu@gcc.gnu.org>
326
327         * pt.c (push_tinst_level): Replace -ftemplate-depth- with 
328         -ftemplate-depth=.
329
330 2010-02-24  Jason Merrill  <jason@redhat.com>
331
332         PR c++/12909
333         * mangle.c (write_type): Give -Wabi warning for old vector mangling.
334
335         * class.c (layout_class_type): Don't give -Wabi warning for a bug
336         in a previous ABI version.
337
338 2010-02-23  Jason Merrill  <jason@redhat.com>
339
340         PR c++/43143
341         * typeck2.c (digest_init_r): Accept value init of array.
342
343 2010-02-22  Manuel López-Ibáñez  <manu@gcc.gnu.org>
344
345         PR c++/43126
346         * typeck.c (convert_arguments): Update error message.
347
348 2010-02-22  Mike Stump  <mikestump@comcast.net>
349
350         PR c++/43125
351         * decl.c (duplicate_decls): Merge DECL_PRESERVE_P.
352
353 2010-02-21  Manuel López-Ibáñez  <manu@gcc.gnu.org>
354
355         PR c++/23510
356         * error.c (print_instantiation_partial_context_line): New.
357         (print_instantiation_partial_context): Print at most 12 contexts,
358         skip the rest with a message.
359
360 2010-02-21  Dodji Seketeli  <dodji@redhat.com>
361
362         PR c++/42824
363         * pt.c (lookup_template_class): Better support of specialization
364         of member of class template implicit instantiation.
365
366 2010-02-20  Manuel López-Ibáñez  <manu@gcc.gnu.org>
367
368         PR c++/35669
369         * call.c (conversion_null_warnings): Replace -Wconversion with
370         -Wconversion-null.
371         * cvt.c (build_expr_type_conversion): Likewise.
372
373 2010-02-18  Jason Merrill  <jason@redhat.com>
374
375         PR c++/42837
376         * class.c (create_vtable_ptr): Set DECL_PACKED if type is packed.
377
378         PR c++/43108
379         * typeck.c (cp_build_binary_op): Adapt mixed complex/non handling from
380         C build_binary_op.
381         * cp-tree.h (WANT_VECTOR_OR_COMPLEX): Rename from WANT_VECTOR.
382         * cvt.c (build_expr_type_conversion): Allow COMPLEX_TYPE.
383
384         PR c++/43070
385         * semantics.c (finish_goto_stmt): Don't call decay_conversion.
386
387         PR c++/26261
388         PR c++/43101
389         * pt.c (tsubst_qualified_id): Do normal lookup in non-dependent scope.
390         (maybe_update_decl_type): New fn.
391         * parser.c (cp_parser_init_declarator): Use it.
392
393         PR c++/43109
394         * semantics.c (begin_class_definition): Don't crash on unnamed ns.
395
396 2010-02-17  Jason Merrill  <jason@redhat.com>
397
398         PR c++/43075
399         * call.c (build_over_call): Don't create zero-sized assignments.
400         * cp-gimplify.c (cp_genericize_r): Don't remove them here.
401         * cp-objcp-common.c (cp_expr_size): Remove.
402         * cp-tree.h: Remove prototype.
403
404         PR c++/43069
405         * name-lookup.c (set_decl_namespace): Don't copy DECL_CONTEXT if the
406         decl we looked up doesn't match.
407
408         PR c++/43093
409         * cp-gimplify.c (cp_gimplify_expr) [INIT_EXPR]: Return if we don't
410         have an INIT_EXPR anymore.
411
412         PR c++/43079
413         * pt.c (convert_nontype_argument): Change assert to test.
414
415 2010-02-16  Jason Merrill  <jason@redhat.com>
416
417         * cp-gimplify.c (cp_gimplify_expr): Fix error recovery.
418
419         PR c++/43031
420         * cp-gimplify.c (cp_gimplify_expr) [MODIFY_EXPR]: Use
421         VIEW_CONVERT_EXPR for conversions between structural equality types
422         that the back end can't tell are the same.
423
424         PR c++/43036
425         * tree.c (build_cplus_array_type): Set TYPE_MAIN_VARIANT to strip
426         cv-quals from element here.
427         (cp_build_qualified_type_real): Not here.  Preserve typedef name.
428
429 2010-02-14  Jason Merrill  <jason@redhat.com>
430
431         PR c++/41997
432         * semantics.c (finish_compound_literal): Use
433         cp_apply_type_quals_to_decl when creating a static variable.
434
435 2010-02-12  Jason Merrill  <jason@redhat.com>
436
437         PR c++/43024
438         * name-lookup.h (current_binding_level): Check for null
439         cp_function_chain.
440
441 2010-02-12  Jason Merrill  <jason@redhat.com>
442
443         PR c++/43054
444         * tree.c (cp_tree_equal): Correct CALL_EXPR logic.
445
446 2010-02-12  Jakub Jelinek  <jakub@redhat.com>
447
448         PR c++/43033
449         * name-lookup.c (pushdecl_maybe_friend): Check default args of t
450         instead of x.
451
452 2010-02-10  Jason Merrill  <jason@redhat.com>
453
454         PR c++/41896
455         * semantics.c (outer_lambda_capture_p): Revert.
456         (add_capture): Only finish_member_declaration if
457         we're in the lambda class.
458         (register_capture_members): New.
459         * cp-tree.h: Declare it.
460         * parser.c (cp_parser_lambda_expression): Call it.
461
462 2010-02-10  Jason Merrill  <jason@redhat.com>
463
464         PR c++/41896
465         * semantics.c (outer_lambda_capture_p): Use current_function_decl
466         instead of current_class_type.
467
468 2010-02-10  Jason Merrill  <jason@redhat.com>
469
470         PR c++/42983, core issue 906
471         * method.c (defaultable_fn_check): Check virtualness.
472
473 2010-02-10  Jason Merrill  <jason@redhat.com>
474
475         PR c++/43016
476         * semantics.c (maybe_add_lambda_conv_op): Set DECL_INTERFACE_KNOWN.
477
478 2010-02-10  Shujing Zhao  <pearly.zhao@oracle.com>
479
480         * Make-lang.in (cp/cvt.o, cp/parser.o, cp/search.o): Depend on intl.h.
481         * cvt.c (warn_ref_binding): Wrap the messages into G_() for easy
482         translation.
483         * parser.c (cp_parser_postfix_expression, cp_parser_new_type_id)
484         (cp_parser_cast_expression, cp_parser_condition, cp_parser_decltype)
485         (cp_parser_parameter_declaration)
486         (cp_parser_exception_specification_opt)
487         (cp_parser_exception_declaration): Likewise.
488         * pt.c (check_default_tmpl_args): Likewise.
489         * search.c (lookup_field_r): Likewise.
490
491 2010-02-09  Jason Merrill  <jason@redhat.com>
492
493         PR c++/42399
494         * pt.c (tsubst_copy_and_build): Propagate LAMBDA_EXPR_LOCATION.
495
496 2010-02-09  Jason Merrill  <jason@redhat.com>
497
498         PR c++/42370
499         * decl2.c (change_return_type): New fn.
500         * semantics.c (apply_lambda_return_type): Use it.
501         * cp-tree.h: Declare it.
502
503 2010-02-05  Richard Guenther  <rguenther@suse.de>
504
505         * Make-lang.in (cp/cp-lang.o): Depend on gt-cp-cp-lang.h.
506         * cp-lang.c: Include gt-cp-cp-lang.h.
507         * config-lang.in (gtfiles): Add cp/cp-lang.c.
508
509 2010-02-05  Dodji Seketeli  <dodji@redhat.com>
510
511         PR c++/42915
512         * typeck.c (get_template_parms_of_dependent_type): Try getting
513         the template parameters fromt the type itself first.
514
515 2010-02-03  Jason Merrill  <jason@redhat.com>
516
517         PR c++/4926
518         PR c++/38600
519         * mangle.c (write_unqualified_id): Split out from write_expression.
520         (write_unqualified_name): Call it.
521         (write_member_name): Likewise.
522         (write_expression): Support TEMPLATE_ID_EXPR.
523         Disambiguate operator names.
524
525         PR c++/12909
526         * mangle.c (write_type) [VECTOR_TYPE]: Change mangling with
527         -fabi-version=4.
528
529 2010-02-02  Jason Merrill  <jason@redhat.com>
530
531         PR c++/41090
532         * decl.c (cp_finish_decl): Add local statics to cfun->local_decls.
533         * optimize.c (clone_body): Remap their initializers when making base
534         variants.
535         (maybe_clone_body): Complain if multiple clones aren't safe.
536
537 2010-01-29  Dodji Seketeli  <dodji@redhat.com>
538
539         PR c++/42758
540         PR c++/42634
541         PR c++/42336
542         PR c++/42797
543         PR c++/42880
544         * cp-tree.h (NON_DEFAULT_TEMPLATE_ARGS_COUNT,
545         SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT,
546         GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT): New accessor macros.
547         * pt.c (coerce_template_parms, type_unification_real,
548         expand_template_argument_pack, coerce_template_parameter_pack):
549         Set the non default template args count.
550         (current_template_args): Always set non defaulted
551         template args count when compiled with --enable-checking
552         (tsubst_template_args, type_unification_real): Propagate the non
553         defaulted template args count.
554         * error.c (get_non_default_template_args_count): Renamed
555         count_non_default_template_args into this. Don't calculate the
556         non default template argument count anymore. Use the new
557         accessor macros above to get it.
558         (dump_template_argument_list, dump_type, dump_decl,
559         dump_template_parms): Adjust.
560         * parser.c (cp_parser_template_argument_list): Always set defaulted
561         template args count when compiled with --enable-checking.
562
563 2010-01-29  Shujing Zhao  <pearly.zhao@oracle.com>
564
565         * decl.c (redeclaration_error_message): Wrap the return messages into
566         G_() for easy translation.
567
568 2010-01-28  Jason Merrill  <jason@redhat.com>
569
570         PR c++/42880
571         * semantics.c (begin_class_definition): Don't use type_as_string.
572
573 2010-01-28  Dodji Seketeli  <dodji@redhat.com>
574
575         PR c++/42713
576         PR c++/42820
577         * typeck.c (get_template_parms_of_dependent_type): Factorized
578         this out of incompatible_template_type_parms_p
579         (incompatible_dependent_types_p): Renamed
580         incompatible_template_type_parms_p into this. Make it detect
581         two incompatible dependent typedefs too.
582         (structural_comptypes): Use incompatible_dependent_types_p.
583         * pt.c (get_template_info):
584         Handle BOUND_TEMPLATE_TEMPLATE_PARAM.
585
586 2010-01-20  Janis Johnson  <janis187@us.ibm.com>
587             Jason Merrill  <jason@redhat.com>
588
589         * mangle.c (write_type): Mangle transparent record as member type.
590         * semantics.c (begin_class_definition): Recognize decimal classes
591         and set TYPE_TRANSPARENT_AGGR.
592
593 2010-01-20  Jason Merrill  <jason@redhat.com>
594
595         PR c++/42338
596         * mangle.c (write_expression): Handle tree codes that have extra
597         arguments in the middle-end.
598
599 2010-01-20  Paolo Carlini  <paolo.carlini@oracle.com>
600
601         PR c++/42038
602         * except.c (expand_start_catch_block): Deal correctly with
603         do_begin_catch returning error_mark_node.
604
605 2010-01-20  Jason Merrill  <jason@redhat.com>
606
607         PR c++/41788
608         * class.c (layout_class_type): Set packed_maybe_necessary for packed
609         non-PODs.
610
611         PR c++/41920
612         * semantics.c (build_lambda_object): Call mark_used on captured
613         variables.
614
615         PR c++/40750
616         * decl.c (grokdeclarator): Clear type_quals for a member function
617         declared using a typedef.  Don't complain about adding cv-quals
618         to a function typedef in C++0x mode.
619
620 2010-01-20  Jakub Jelinek  <jakub@redhat.com>
621
622         * decl.c (create_array_type_for_decl): Remove set but not used
623         variable error_msg.  Remove break stmts after return stmts.
624
625 2010-01-19  Dodji Seketeli  <dodji@redhat.com>
626
627         * error.c (dump_template_parms, count_non_default_template_args):
628         Revert fix of PR c++/42634.
629
630 2010-01-18  Dodji Seketeli  <dodji@redhat.com>
631
632         PR c++/42634
633         * error.c (dump_template_parms): Use innermost template
634         arguments before calling count_non_default_template_args.
635         (count_non_default_template_args): We are being called with
636         template innermost arguments now. There is no need to ensure
637         that again.
638
639 2010-01-18  Dodji Seketeli  <dodji@redhat.com>
640
641         PR c++/42766
642         * cvt.c (build_expr_type_conversion): Look through OVERLOAD.
643
644 2010-01-17  Dodji Seketeli  <dodji@redhat.com>
645
646         PR c++/42697
647         *pt.c (tsubst_decl):  Revert commit for PR c++/42697.
648
649 2010-01-17  Dodji Seketeli  <dodji@redhat.com>
650
651         PR c++/42697
652         *pt.c (tsubst_decl): Get the arguments of a specialization from
653         the specialization template, not from the most general template.
654
655 2010-01-16  Jason Merrill  <jason@redhat.com>
656
657         PR c++/42761
658         * semantics.c (finish_decltype_type): Within a template, treat
659         unresolved CALL_EXPR as dependent.
660
661 2010-01-15  Dodji Seketeli  <dodji@redhat.com>
662
663         * error.c (dump_template_parms,count_non_default_template_args):
664         Revert changes of PR c++/42634.
665
666 2010-01-14  Jakub Jelinek  <jakub@redhat.com>
667
668         PR middle-end/42674
669         * decl.c (finish_function): Don't emit -Wreturn-type warnings in
670         functions with noreturn attribute.
671
672 2010-01-14  Jason Merrill  <jason@redhat.com>
673
674         PR c++/42701
675         * call.c (build_new_method_call): Don't free the vec here.
676
677         PR c++/42655
678         * call.c (convert_like_real): Do full decay_conversion for ck_rvalue.
679
680 2010-01-13  Dodji Seketeli  <dodji@redhat.com>
681
682         PR c++/42634
683         * error.c (dump_template_parms): Use innermost template
684         arguments before calling count_non_default_template_args.
685         (count_non_default_template_args): We are being called with
686         template innermost arguments now. There is no need to ensure
687         that again.
688
689 2010-01-07  Dodji Seketeli  <dodji@redhat.com>
690
691         c++/40155
692         * pt.c (unify_pack_expansion): In non-deduced contexts, re-use template
693         arguments that were previously deduced.
694
695 2010-01-05  Jason Merrill  <jason@redhat.com>
696
697         * pt.c (unify_pack_expansion): Handle deduction from init-list.
698         * call.c (build_over_call): Don't complain about it.
699
700 2010-01-04  Jason Merrill  <jason@redhat.com>
701
702         PR c++/42555
703         * pt.c (tsubst_decl): Don't apply type attributes in place.
704
705         PR c++/42567
706         * semantics.c (describable_type): Remove decltype comment and
707         semantics.
708
709
710 \f
711 Copyright (C) 2010 Free Software Foundation, Inc.
712
713 Copying and distribution of this file, with or without modification,
714 are permitted in any medium without royalty provided the copyright
715 notice and this notice are preserved.