OSDN Git Service

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