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