OSDN Git Service

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