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