OSDN Git Service

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