OSDN Git Service

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