OSDN Git Service

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