OSDN Git Service

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