OSDN Git Service

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