OSDN Git Service

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