]> gcc.gnu.org Git - gcc.git/blame - gcc/cp/ChangeLog
* config/darwin-c.c: Remove c-tree.h include.
[gcc.git] / gcc / cp / ChangeLog
CommitLineData
2dec80c7
JM
12010-05-28 Joseph Myers <joseph@codesourcery.com>
2
3 * g++spec.c (lang_specific_driver): Use fatal_error instead of
4 fatal.
5
ec4be2f4
DS
62010-05-28 Dodji Seketeli <dodji@redhat.com>
7
8 Revert fix of PR c++/44188
9 * cp-tree.h (typedef_variant_p): Revert moving this declaration to
10 gcc/tree.h.
11 * tree.c (typedef_variant_p): Revert moving this definition to
12 gcc/tree.c.
13 * decl.c (grokdeclarator): Revert naming typedef handling.
14
1da2ed5f
JM
152010-05-27 Joseph Myers <joseph@codesourcery.com>
16
17 * call.c: Include diagnostic-core.h instead of diagnostic.h.
18 * cp-lang.c: Don't include diagnostic.h
19 * name-lookup.c: Include diagnostic-core.h instead of
20 diagnostic.h.
21 (cp_emit_debug_info_for_using): Use seen_error.
22 * optimize.c: Include diagnostic-core.h instead of diagnostic.h.
23 * parser.c: Include diagnostic-core.h instead of diagnostic.h.
24 * pt.c (iterative_hash_template_arg): Use seen_error.
25 * repo.c: Include diagnostic-core.h instead of diagnostic.h.
26 * typeck2.c: Include diagnostic-core.h instead of diagnostic.h.
27 * Make-lang.in (cp/cp-lang.o, cp/typeck2.o, cp/call.o, cp/repo.o,
28 cp/optimize.o, cp/parser.o, cp/name-lookup.o): Update
29 dependencies.
30
fe08ec12
DS
312010-05-25 Dodji Seketeli <dodji@redhat.com>
32
33 PR c++/44188
34 * cp-tree.h (typedef_variant_p): Move this declaration to
35 gcc/tree.h.
36 * tree.c (typedef_variant_p): Move this definition to gcc/tree.c.
37 * decl.c (grokdeclarator): Do not rename debug info of an
38 anonymous tagged type named by a typedef.
39
6ab4e49c
JM
402010-05-27 Jason Merrill <jason@redhat.com>
41
42 PR c++/43555
43 * decl.c (grokdeclarator) [cdk_pointer et al]: Force evaluation of
44 anonymous VLA size.
45
64c31785
KT
462010-05-27 Kai Tietz <kai.tietz@onevision.com>
47
48 PR bootstrap/44287
49 * rtti.c (emit_support_tinfos): Check for NULL_TREE.
50 * class.c (layout_class_type): Likewise.
51 * decl.c (finish_enum): Likewise.
52 * mangle.c (write_builitin_type): Likewise.
53
bdd71523
KT
542010-05-26 Kai Tietz <kai.tietz@onevision.com>
55
56 * cp-tree.h (cp_decl_specifier_seq): Add new bifield
57 explicit_int128_p.
58 * decl.c (grokdeclarator): Handle __int128.
59 * parser.c (cp_lexer_next_token_is_decl_specifier_ke): Likewise.
60 (cp_parser_simple_type_specifier): Likewise.
61 * rtti.c (emit_support_tinfos): Add int128 nodes for rtti.
62 * typeck.c (cp_common_type): Handle __int128.
63 * mangle.c (integer_type_codes): Add itk_int128 and
64 itk_unsigned_int128.
65
1dba29f8
JM
662010-05-26 Jason Merrill <jason@redhat.com>
67
68 PR c++/43382
cc423e9d 69 * pt.c (tsubst_pack_expansion): Don't get confused by recursive
1dba29f8
JM
70 unification.
71
fa3adca3
SB
722010-05-26 Steven Bosscher <steven@gcc.gnu.org>
73
74 * cp-lang.c: Do not include expr.h.
75
d347d97e
SB
762010-05-26 Steven Bosscher <steven@gcc.gnu.org>
77
78 * decl.c: Do not include rtl.h
79 * semantics.c: Likewise.
80
245763e3
SB
812010-05-25 Steven Bosscher <steven@gcc.gnu.org>
82
83 * cp-tree.h: Do not include splay-tree.h.
84 (struct prtmem_cst): Remove unused field and false comment.
85 * typeck.c: Do not include rtl.h, expr.h, and tm_p.h.
86 * optimize.c: Do not inclde rtl.h, insn-config.h, and integrate.h.
87 * init.c: Do not include rtl.h and expr.h.
88 * class.c: Do not include rtl.h. Include splay-tree.h.
89 (build_clone): Use plain NULL instead of NULL_RTX.
90 * decl.c: Do not include expr.h. Explain why rtl.h has to be
91 included. Include splay-tree.h.
92 * method.c: Do not include rtl.h and expr.h.
93 (use_thunk): Use plain NULL instead of NULL_RTX.
94 * except.c: Do not include rtl.h, expr.h, and libfuncs.h.
95 * tree.c: Do not include rtl.h, insn-config.h, integrate.h,
96 and target.h. Include splay-tree.h.
97 * expr.c: Do not include rtl.h and expr.h.
98 * pt.c: Do not include obstack.h and rtl.h.
99 (tsubst_friend_function): Use plain NULL instead of NULL_RTX.
100 (tsubst_decl): Likewise.
101 (instantiate_decl): Likewise.
102 * semantics.c: Do not include exprt.h and debug.h. Explain why
103 rtl.h has to be included.
104 * decl2.c: Do not include rtl.h and expr.h. Include splay-tree.h.
105 * call.c: Do not include rtl.h and expr.h.
106 * search.c: Do not include obstack.h and rtl.h.
107 * friend.c: Do not include rtl.h and expr.h.
108 * Make-lang.in: Update dependencies.
109
9602a7a9
JJ
1102010-05-25 Jakub Jelinek <jakub@redhat.com>
111
112 PR c++/18249
113 * parser.c (non_integral_constant): Add NIC_NONE.
114 (required_token): Add RT_NONE.
115 (cp_parser_unary_expression): Initialize non_constant_p
116 to NIC_NONE.
117 (cp_parser_asm_definition): Initialize missing to RT_NONE.
118 (cp_parser_primary_expression, cp_parser_postfix_expression,
119 cp_parser_cast_expression, cp_parser_binary_expression,
120 cp_parser_functional_cast): Fix formatting.
121
fd33fd10
SZ
1222010-05-25 Shujing Zhao <pearly.zhao@oracle.com>
123
124 PR c++/18249
125 * parser.c: Remove inclusion of dyn-string.h.
126 (non_integral_constant): New enum.
127 (name_lookup_error): New enum.
128 (required_token): New enum.
129 (cp_parser_required_error): New function.
130 (cp_parser_require): Change the type of variable token_desc to
131 required_token and use cp_parser_required_error.
132 (cp_parser_require_keyword): Likewise.
133 (cp_parser_error): Use gmsgid as parameter.
134 (cp_parser_name_lookup_error): Change the type of variable desired to
135 name_lookup_error and put the diagnostic in the full sentences. Change
136 caller.
137 (cp_parser_non_integral_constant_expression): Change the type of the
138 variable thing to non_integral_constant and put the diagnostics in
139 full sentences. Change caller.
140
12a149a0
EB
1412010-05-24 Eric Botcazou <ebotcazou@adacore.com>
142
143 PR middle-end/44100
144 * typeck.c (cp_build_unary_op): Fold offsetof-like computations.
145
243fbddd
JM
1462010-05-24 Joseph Myers <joseph@codesourcery.com>
147
148 * error.c (cp_diagnostic_starter): Update call to
149 diagnostic_build_prefix.
150 (cp_print_error_function,
151 print_instantiation_partial_context_line): Check show_column flag
152 in context.
153
611d6f76
JM
1542010-05-24 Jason Merrill <jason@redhat.com>
155
156 PR c++/41510
157 * decl.c (check_initializer): Don't wrap an init-list in a
158 TREE_LIST.
159 * init.c (build_aggr_init): Don't assume copy-initialization if
160 init has CONSTRUCTOR_IS_DIRECT_INIT.
161 * call.c (build_new_method_call): Sanity check.
162
e20463aa
NF
1632010-05-24 Nathan Froyd <froydnj@codesourcery.com>
164
165 * rtti.c (tinfo_base_init): Use build_constructor instead of
166 build_constructor_from_list. Don't cons a tree node for
167 returning.
168 (generic_initializer): Use build_constructor_single instead of
169 build_constructor_from_list.
170 (ptr_initializer): Use build_constructor instead of
171 build_constructor_from_list
172 (ptm_initializer): Likewise.
173 (class_initializer): Likewise. Take varargs instead of TRAIL.
174 (get_pseudo_ti_init): Adjust calls to class_initializer. Use
175 build_constructor instead of build_constructor_from_list.
176
7a8cba34
SB
1772010-05-22 Steven Bosscher <steven@gcc.gnu.org>
178
179 * semantics.c: Include bitmap.h.
180 * Make-lang.in: Update dependencies.
181
9f90e80a
JH
1822010-05-22 Jan Hubicka <jh@suse.cz>
183
184 * decl2.c (maybe_emit_vtables): Produce same comdat group when outputting
185 comdat vtables.
186 (cxx_callgraph_analyze_expr): Remove code marking vtables needed.
187
5d127eeb
JM
1882010-05-21 Joseph Myers <joseph@codesourcery.com>
189
190 * cxx-pretty-print.c: Correct merge error.
191
cf835838
JM
1922010-05-21 Joseph Myers <joseph@codesourcery.com>
193
194 * error.c: Include tree-diagnostic.h and tree-pretty-print.h.
195 (cp_print_error_function): Use diagnostic_abstract_origin macro.
196 (cp_printer): Handle %K here using percent_K_format.
197 * cxx-pretty-print.c: Include tree-pretty-print.h.
198 * Make-lang.in (cp/error.o, cp/cxx-pretty-print.o): Update
199 dependencies.
200
40013784
SB
2012010-05-21 Steven Bosscher <steven@gcc.gnu.org>
202
203 * error.c, tree.c, typeck2.c, cxx-pretty-print.c, mangle.c:
204 Clean up redundant includes.
205
1a494ab5
PC
2062010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
207
208 PR c++/30298
209 * decl.c (xref_basetypes): Return false in case of ill-formed
210 redefinition.
211
2872152c
JM
2122010-05-19 Jason Merrill <jason@redhat.com>
213
a3360e77
JM
214 * call.c (reference_binding): Use cp_build_qualified_type_real
215 and cp_type_quals consistently.
216 (add_function_candidate): Likewise.
217 (build_conditional_expr): Likewise.
218 (convert_like_real): Likewise.
219 (type_passed_as): Likewise.
220 * class.c (add_method): Likewise.
221 (same_signature_p): Likewise.
222 (layout_class_type): Likewise.
223 * decl.c (cxx_init_decl_processing): Likewise.
224 (cp_fname_init): Likewise.
225 (grokdeclarator): Likewise.
226 * decl2.c (cp_reconstruct_complex_type): Likewise.
227 * init.c (build_new_1): Likewise.
228 * method.c (do_build_copy_constructor): Likewise.
229 (implicitly_declare_fn): Likewise.
230 * pt.c (tsubst_aggr_type): Likewise.
231 (tsubst): Likewise.
232 * rtti.c (init_rtti_processing): Likewise.
233 (build_headof): Likewise.
234 (build_dynamic_cast_1): Likewise.
235 (tinfo_base_init): Likewise.
236 (emit_support_tinfos): Likewise.
237 * semantics.c (capture_decltype): Likewise.
238 * tree.c (cv_unqualified): Likewise.
239 * typeck.c (composite_pointer_type): Likewise.
240 (string_conv_p): Likewise.
241
242 * mangle.c (write_CV_qualifiers_for_type): Tweak.
243
244 * call.c (initialize_reference): Use CP_TYPE_CONST_P.
245 * decl.c (start_decl): Likewise.
246 * semantics.c (finish_compound_literal): Likewise.
247 * typeck.c (check_return_expr): Use CP_TYPE_VOLATILE_P.
248 (cp_type_readonly): Remove.
249 * cp-tree.h: Remove declaration.
250
a0685b73
JM
251 * typeck.c (merge_types): Preserve memfn quals.
252
93e1ddcf
JM
253 * decl.c (grokdeclarator): Don't check quals on fn type.
254 * typeck.c (cp_apply_type_quals_to_decl): Likewise.
255 * tree.c (cp_build_qualified_type_real): Simplify qualifier checking.
256
2872152c
JM
257 PR c++/44193
258 * typeck.c (type_memfn_quals): New fn.
259 (apply_memfn_quals): New fn.
260 (cp_type_quals): Return TYPE_UNQUALIFIED for FUNCTION_TYPE.
261 (cp_type_readonly): Use cp_type_quals.
262 * cp-tree.h: Add declarations.
263 * tree.c (cp_build_qualified_type_real): Don't set, but do
264 preserve, quals on FUNCTION_TYPE.
265 (strip_typedefs): Use apply_memfn_quals and type_memfn_quals.
266 * decl.c (build_ptrmem_type): Likewise.
267 (grokdeclarator): Likewise.
268 (static_fn_type): Likewise.
269 * decl2.c (change_return_type): Likewise.
270 (cp_reconstruct_complex_type): Likewise.
271 * pt.c (tsubst_function_type): Likewise.
272 (unify): Likewise.
273 (tsubst): Likewise. Drop special FUNCTION_TYPE substitution code.
274
3fcb9d1b
NF
2752010-05-18 Nathan Froyd <froydnj@codesourcery.com>
276
277 * tree.c (build_min_non_dep_call_vec): Update comment.
278
c8361db1
JM
2792010-05-17 Jason Merrill <jason@redhat.com>
280
f18ea1bf
JM
281 * call.c (struct z_candidate): Add explicit_targs field.
282 (add_template_candidate_real): Set it.
283 (build_over_call): Use it to control init-list warning.
284
9d2b7551
JM
285 PR c++/44157
286 * call.c (build_over_call): Limit init-list deduction warning to
287 cases where the argument is actually an init-list.
288
c8361db1
JM
289 PR c++/44158
290 * call.c (build_over_call): Don't do bitwise copy for move ctor.
291
ad13f229
DS
2922010-05-17 Dodji Seketeli <dodji@redhat.com>
293 Jason Merrill <jason@redhat.com>
294
295 PR c++/44108
296 * decl.c (compute_array_index_type): Call mark_rvalue_use.
297
9feb3d6a
JM
2982010-05-15 Jason Merrill <jason@redhat.com>
299
300 * cp-tree.h (TYPE_NOEXCEPT_P): New macro.
301 * except.c (begin_eh_spec_block): Use MUST_NOT_THROW_EXPR if
302 TYPE_NOEXCEPT_P.
303 (finish_eh_spec_block): Adjust.
304
1f910942
JJ
3052010-05-15 Jakub Jelinek <jakub@redhat.com>
306
307 PR c++/44148
308 * pt.c (tsubst): Unshare template argument.
309
f4ce02c5
SB
3102010-05-15 Steven Bosscher <steven@gcc.gnu.org>
311
312 * decl.c: Include tree-iterator.h, as fixup for tree-inline.h changes.
313 * Make-lang.in: Fix dependencies accordingly.
314
786f715d
JM
3152010-05-14 Jason Merrill <jason@redhat.com>
316
b33a0480
JM
317 C++ DR 475
318 * except.c (build_throw): Simplify, adjust for DR 475.
319
9bb1a81b
JM
320 PR c++/44127
321 * except.c (dtor_nothrow): Return nonzero for type with
322 trivial destructor.
323
786f715d
JM
324 PR c++/44127
325 * cp-gimplify.c (gimplify_must_not_throw_expr): Use
326 gimple_build_eh_must_not_throw.
327
b5023f3c
MJ
3282010-05-14 Martin Jambor <mjambor@suse.cz>
329
330 * cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove both its undef
331 and define.
332
a940d033
JW
3332010-05-14 Jonathan Wakely <jwakely.gcc@gmail.com>
334
335 * call.c (build_new_method_call): Change warning text.
336 * typeck2.c (build_functional_cast): Change error text.
337
74b80262
SZ
3382010-05-14 Shujing Zhao <pearly.zhao@oracle.com>
339
340 PR c++/30566
341 * name-lookup.c (pushdecl_maybe_friend): Avoid the warnings about
342 shadowing the outer parameter or variables by the declaration of
343 nested function in nested structure or class. Warn the shadowing by
344 the declaration of nested lambda expression.
345
3a11c665
JM
3462010-05-13 Jason Merrill <jason@redhat.com>
347
348 * typeck.c (cp_build_array_ref): Factor out from...
349 (build_array_ref): ...here. Drop complain parm.
350 (build_new_op): Adjust.
351 * class.c (build_vtbl_ref_1): Adjust.
352 * decl2.c (grok_array_decl): Adjust.
353 * cp-tree.h: Adjust prototypes.
354
a2e66caf
JH
3552010-05-13 Jan Hubicka <jh@suse.cz>
356
357 * decl.c (cp_finish_decl): Do not worry about used attribute.
358
5c824000
JM
3592010-05-12 Jason Merrill <jason@redhat.com>
360
73647d75
JM
361 * typeck.c (build_array_ref): Take complain parm.
362 * cp-tree.h: Add it to prototype.
363 * call.c (build_new_op): Pass it.
364 * class.c (build_vtbl_ref): Pass it.
365 * decl2.c (grok_array_decl): Pass it.
366
5116acc6
JM
367 PR bootstrap/44048
368 PR target/44099
369 * cp-tree.def (NULLPTR_TYPE): Remove.
370 * cp-tree.h (NULLPTR_TYPE_P): New.
371 (SCALAR_TYPE_P): Use it.
372 (nullptr_type_node): New.
373 (cp_tree_index): Add CPTI_NULLPTR_TYPE.
374 * decl.c (cxx_init_decl_processing): Call record_builtin_type on
375 nullptr_type_node.
376 * cvt.c (ocp_convert): Use NULLPTR_TYPE_P instead of NULLPTR_TYPE.
377 * cxx-pretty-print.c (pp_cxx_constant): Likewise.
378 * error.c (dump_type, dump_type_prefix, dump_type_suffix): Likewise.
379 * mangle.c (write_type): Likewise.
380 * name-lookup.c (arg_assoc_type): Likewise.
381 * typeck.c (build_reinterpret_cast_1): Likewise.
382 * rtti.c (typeinfo_in_lib_p): Likewise.
383 (emit_support_tinfos): Remove local nullptr_type_node.
384
fbfc8363
JM
385 * cp-tree.h (UNKNOWN_TYPE): Remove.
386 * decl.c (cxx_init_decl_processing): Use LANG_TYPE instead.
387 * error.c (dumy_type, dump_type_prefix, dump_type_suffix): Likewise.
388 * typeck2.c (cxx_incomplete_type_diagnostic): Likewise.
389 * class.c (instantiate_type): Check unknown_type_node rather than
390 UNKNOWN_TYPE.
391 * name-lookup.c (maybe_push_decl): Likewise.
392 * rtti.c (get_tinfo_decl_dynamic): Likewise.
393 (get_typeid): Likewise.
394 * semantics.c (finish_offsetof): Likewise.
395
3784b33c
JM
396 PR c++/20669
397 * call.c (add_template_candidate_real): If deduction fails, still
398 add the template as a non-viable candidate.
399 (equal_functions): Handle template candidates.
400 (print_z_candidate): Likewise.
401 (print_z_candidates): Likewise.
402 (build_new_function_call): Likewise.
403
d451d5b2
JM
404 * cp-tree.h (LOOKUP_LIST_ONLY): New.
405 * call.c (add_candidates): Enforce it.
406 (build_new_method_call): Try non-list ctor if no viable list ctor.
407 (build_user_type_conversion_1): Likewise.
408
404f08f8
JM
409 * call.c (add_candidates): Distinguish between type(x) and
410 x.operator type().
411 (convert_class_to_reference): Set LOOKUP_NO_CONVERSION.
412 (build_new_method_call): Give better error for conversion op.
413
5c824000
JM
414 * call.c (add_candidates): Add first_arg and return_type parms.
415 Add special constructor/conversion op handling.
416 (convert_class_to_reference): Use it.
417 (build_user_type_conversion_1): Likewise.
418 (build_op_call): Likewise.
419 (build_new_method_call): Likewise.
420 (build_new_op): Adjust.
421 (perform_overload_resolution): Adjust.
422
aac73a6d
PC
4232010-05-11 Paolo Carlini <paolo.carlini@oracle.com>
424
425 PR c++/34272
426 PR c++/43630
427 PR c++/34491
428 * pt.c (process_partial_specialization): Return error_mark_node
429 in case of unused template parameters in partial specialization.
430
056928b2
JJ
4312010-05-11 Jakub Jelinek <jakub@redhat.com>
432
433 PR c++/44062
434 * semantics.c (finish_expr_stmt): Don't call mark_exp_read here...
435 * cvt.c (convert_to_void): ... but here. If expr is a COMPOUND_EXPR,
436 look at its second operand.
437
eaa9d009
JM
4382010-05-10 Jason Merrill <jason@redhat.com>
439
5a40306b
JM
440 PR c++/44017
441 * semantics.c (baselink_for_fns): Revert earlier change.
442
eaa9d009
JM
443 PR c++/44045
444 * typeck.c (cp_build_modify_expr): Complain about assignment to
445 array from init list.
446
34655c9e
FC
4472010-05-10 Fabien Chêne <fabien.chene@gmail.com>
448
449 PR c++/43719
450 * decl.c (check_initializer): strip array type before checking for
451 uninitialized const or ref members.
452
40bb78ad
FC
4532010-05-07 Fabien Chêne <fabien.chene@gmail.com>
454
455 PR c++/43951
456 * init.c (diagnose_uninitialized_cst_or_ref_member_1): Returns the
457 error count. Emit errors only if compain is true.
458 (build_new_1): Do not return error_mark_node if
459 diagnose_uninitialized_cst_or_ref_member_1 does not diagnose any
460 errors. Delay the check for user-provided constructor.
461 (perform_member_init): Adjust.
462 * cp-tree.h (diagnose_uninitialized_cst_or_ref_member): Change the
463 prototype.
464
14c2101d
JM
4652010-05-06 Magnus Fromreide <magfr@lysator.liu.se>
466 Jason Merrill <jason@redhat.com>
467
468 Add support for C++0x nullptr.
469 * cp-tree.def: Add NULLPTR_TYPE.
470 * cp-tree.h: Add nullptr_node.
471 (cp_tree_index): Add CPTI_NULLPTR.
472 (SCALAR_TYPE_P): Add NULLPTR_TYPE.
473 * call.c (null_ptr_cst_p): Handle nullptr.
474 (standard_conversion): Likewise.
475 (convert_arg_to_ellipsis): Likewise.
476 * mangle.c (write_type): Likewise.
477 * name-lookup.c (arg_assoc_type): Likewise.
478 * parser.c (cp_parser_primary_expression): Likewise.
479 * typeck.c (cp_build_binary_op): Likewise.
480 (build_reinterpret_cast_1): Likewise.
481 * error.c (dump_type): Likewise.
482 (dump_type_prefix, dump_type_suffix): Likewise.
483 * decl.c (cxx_init_decl_processing): Likewise.
484 * cxx-pretty-print.c (pp_cxx_constant): Likewise.
485 * cvt.c (ocp_convert): Likewise.
486 * rtti.c (typeinfo_in_lib_p, emit_support_tinfos): Put
487 nullptr_t tinfo in libsupc++.
488
941f78d1
JM
4892010-05-06 Jason Merrill <jason@redhat.com>
490
491 * semantics.c (simplify_aggr_init_expr): Use INIT_EXPR.
492
03a904b5
JJ
4932010-04-22 Jakub Jelinek <jakub@redhat.com>
494 Dodji Seketeli <dodji@redhat.com>
495
496 PR c/18624
497 * cp-tree.h (mark_exp_read, rvalue_use, lvalue_use, type_use):
498 Declare ...
499 * expr.c (mark_exp_read, rvalue_use, lvalue_use, type_use): ... new fns.
500 * typeck.c (cxx_sizeof_expr, cxx_alignof_expr): Call type_use.
501 (decay_conversion, perform_integral_promotions): Call rvalue_use.
502 (cp_build_unary_op): Call lvalue_use.
503 * decl.c (unused_but_set_errorcount): New variable.
504 (poplevel): Issue -Wunused-but-set-variable diagnostics.
505 (duplicate_decls): Merge DECL_READ_P flags.
506 (start_cleanup_fn): Set DECL_READ_P flag.
507 (finish_function): Issue -Wunused-but-set-parameter diagnostics.
508 * tree.c (rvalue): Call rvalue_use.
509 * pt.c (convert_nontype_argument): Likewise.
510 * semantics.c (finish_expr_stmt, finish_asm_stmt, finish_typeof,
511 finish_decltype_type): Likewise.
512 * call.c (convert_like_real) <ck_identity, ck_user>: Call rvalue use.
513 (build_x_va_arg, build_new_method_call, build_over_call): Call lvalue_use
514 or rvalue_use depending on the expr.
515 * init.c (build_new, build_delete): Likewise.
516 * rtti.c (build_typeid, build_dynamic_cast_1): Likewise.
517
6d729f28
JM
5182010-05-05 Jason Merrill <jason@redhat.com>
519
520 PR c++/43787
521 * cp-gimplify.c (cp_gimplify_expr): Remove copies of empty classes.
522 * call.c (build_over_call): Don't try to avoid INIT_EXPR copies here.
523
68fef9f9
PC
5242010-05-04 Paolo Carlini <paolo.carlini@oracle.com>
525
526 PR c++/43028
527 * pt.c (unify): Check each elt for error_mark_node.
528
b5c0a77e
JM
5292010-05-04 Jason Merrill <jason@redhat.com>
530
531 PR c++/38064
532 * typeck.c (cp_build_binary_op): Allow enums for <> as well.
533
4ac4b596
PC
5342010-05-04 Paolo Carlini <paolo.carlini@oracle.com>
535
536 PR c++/43705
537 * call.c (build_new_method_call): Return error_mark_node if fns is
538 NULL_TREE.
539
f857e9a4
DS
5402010-05-03 Dodji Seketeli <dodji@redhat.com>
541
542 PR c++/43953
543 * pt.c (most_specialized_class): Pretend we are processing
544 a template decl during the call to coerce_template_parms.
545
cbb4feb3
JM
5462010-05-03 Jason Merrill <jason@redhat.com>
547
548 PR c++/42810
549 PR c++/43680
550 * decl.c (finish_enum): Use the TYPE_MIN_VALUE and TYPE_MAX_VALUE
551 from the selected underlying type unless -fstrict-enums. Set
552 ENUM_UNDERLYING_TYPE to have the restricted range.
553 * cvt.c (type_promotes_to): Use ENUM_UNDERLYING_TYPE.
554 * class.c (check_bitfield_decl): Likewise.
555
13ead6d8
L
5562010-05-01 H.J. Lu <hongjiu.lu@intel.com>
557
558 PR c++/43951
559 * init.c (build_new_1): Revert the accidental checkin in
560 revision 158918.
561
5cb6410a
JM
5622010-04-30 Jason Merrill <jason@redhat.com>
563
564 PR c++/43868
565 * cxx-pretty-print.c (pp_cxx_decl_specifier_seq): Move pmf handling...
566 (pp_cxx_type_specifier_seq): ...here.
567
9aae8d16
SB
5682010-04-30 Steven Bosscher <steven@gcc.gnu.org>
569
ccb253b3 570 * optimize.c, parser.c, mangle.c, cp-tree.h: Do not include varray.h.
9aae8d16
SB
571 * Make-lang.in: Don't include varray.h dependency in CXX_TREE_H.
572
8cdea6ab
SZ
5732010-04-30 Shujing Zhao <pearly.zhao@oracle.com>
574
575 PR c++/43779
576 * typeck.c (warn_args_num): New function.
577 (convert_arguments): Use warn_args_num to print the diagnostic
578 messages.
579
10ab8f62
FC
5802010-04-29 Fabien Chêne <fabien.chene@gmail.com>
581
582 PR c++/43890
583 * init.c (diagnose_uninitialized_cst_or_ref_member): check for
584 user-provided constructor while recursing.
585
4b414c93
MLI
5862010-04-28 Manuel López-Ibáñez <manu@gcc.gnu.org>
587
588 PR c++/9335
589 * error.c (print_instantiation_partial_context_line): Handle
590 recursive instantiation.
591 (print_instantiation_partial_context): Likewise.
592
012e6a1e
JM
5932010-04-27 Jason Merrill <jason@redhat.com>
594
595 * init.c (perform_member_init): Check CLASS_TYPE_P.
596
31d1acec
FC
5972010-04-27 Fabien Chêne <fabien.chene@gmail.com>
598
599 PR c++/29043
600 * init.c (perform_member_init): check for uninitialized const or
601 reference members, including array types.
602
294e855f
JM
6032010-04-24 Jason Merrill <jason@redhat.com>
604
605 * tree.c (get_fns): Split out from get_first_fn.
606 * cp-tree.h: Declare it.
607 * search.c (shared_member_p): Use it.
608 * semantics.c (finish_qualified_id_expr): Simplify.
609 (finish_id_expression): Simplify.
798ec807 610
2defb926
JM
611 * semantics.c (finish_non_static_data_member): Call maybe_dummy_object
612 whenever object is NULL_TREE. Don't do 'this' capture here.
613 (finish_qualified_id_expr): Pass NULL_TREE.
614 (finish_id_expression): Likewise.
615 (lambda_expr_this_capture): Likewise.
616
38f1276b
JM
617 * semantics.c (finish_qualified_id_expr): Use maybe_dummy_object
618 rather than checking current_class_ref directly.
619 (finish_call_expr): Likewise.
620
a6846853
JM
621 PR c++/43856
622 * name-lookup.c (qualify_lookup): Disqualify lambda op().
623 * class.c (current_nonlambda_class_type): New fn.
624 * semantics.c (nonlambda_method_basetype): New.
625 * cp-tree.h: Declare them.
626 * tree.c (maybe_dummy_object): Handle implicit 'this' capture.
627
16de17ae
JM
628 * semantics.c (baselink_for_fns): Correct BASELINK_BINFO.
629
95b24c84
JM
630 PR c++/43875
631 * semantics.c (lambda_return_type): Complain about
632 braced-init-list.
633
ea8b8aa0
JM
634 PR c++/43790
635 * tree.c (cv_unqualified): Handle error_mark_node.
636
4a5d353f
JM
637 PR c++/41468
638 * call.c (convert_like_real) [ck_ambig]: Just return error_mark_node
639 if we don't want errors.
640
798ec807
JM
641 PR c++/41468
642 * class.c (convert_to_base): Add complain parameter. Pass
643 ba_quiet to lookup_base if we don't want errors.
644 (build_vfield_ref): Pass complain to convert_to_base.
645 * call.c (convert_like_real): Likewise.
646 (initialize_reference): Likewise.
647 (perform_direct_initialization_if_possible): Pass complain to
648 convert_like_real.
649 * cp-tree.h: Adjust.
650
6ad86a5b
FC
6512010-04-27 Fabien Chêne <fabien.chene@gmail.com>
652 Jason Merrill <jason@redhat.com>
653
654 PR c++/42844
655 * decl.c (check_for_uninitialized_const_var): Handle classes that need
656 constructing, too.
657 (check_initializer): Call it for classes that need constructing, too.
658 * class.c (in_class_defaulted_default_constructor): New.
659 * cp-tree.h: Declare it.
660
88274c4d
JM
6612010-04-20 Jason Merrill <jason@redhat.com>
662
663 PR c++/9335
664 * init.c (constant_value_1): Treat error_mark_node as a constant
665 if DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P is set.
666 * cvt.c (ocp_convert): Handle getting error_mark_node from
667 integral_constant_value.
668 * decl.c (compute_array_index_type): Likewise.
669
5a80a1dd
DS
6702010-04-20 Dodji Seketeli <dodji@redhat.com>
671
672 PR c++/43800
673 PR c++/43704
674 * typeck.c (incompatible_dependent_types_p): If one of the
675 compared types if not a typedef then honour their main variant
676 equivalence.
677
1197ce8e
JJ
6782010-04-20 Jakub Jelinek <jakub@redhat.com>
679
680 * cp-tree.h (TYPE_REF_IS_RVALUE): Remove.
681
d38f6bc0
DS
6822010-04-19 Dodji Seketeli <dodji@redhat.com>
683
684 PR c++/43704
685 * typeck.c (structural_comptypes): Test dependent typedefs
686 incompatibility before testing for their main variant based
687 equivalence.
688
5a2fa9e8
JJ
6892010-04-19 Jakub Jelinek <jakub@redhat.com>
690
691 * cp-tree.h (SCOPED_ENUM_P, UNSCOPED_ENUM_P, SET_SCOPED_ENUM_P): Use
692 ENUM_IS_SCOPED bit instead of TYPE_LANG_FLAG_5.
693
3b9e5d95
EB
6942010-04-18 Eric Botcazou <ebotcazou@adacore.com>
695
696 * decl.c (cxx_init_decl_processing): Remove second argument in call to
697 build_common_tree_nodes.
698
943f82e7
JM
6992010-04-14 Jason Merrill <jason@redhat.com>
700
701 PR c++/36625
702 * parser.c (cp_parser_parenthesized_expression_list): Change
703 is_attribute_list parm to int to indicate whether or not to
704 handle initial identifier specially.
705 (cp_parser_attribute_list): Use attribute_takes_identifier_p.
706
44b2dc6c
JM
7072010-04-13 Jason Merrill <jason@redhat.com>
708
709 * call.c (type_decays_to): Check MAYBE_CLASS_TYPE_P instead of
710 CLASS_TYPE_P.
711 * parser.c (cp_parser_lambda_expression): Complain about lambda in
712 unevaluated context.
713 * pt.c (iterative_hash_template_arg): Don't crash on lambda.
714
d6850483
JM
7152010-04-12 Jason Merrill <jason@redhat.com>
716
e62e4922
JM
717 PR c++/43641
718 * semantics.c (maybe_add_lambda_conv_op): Use build_call_a and tweak
719 return value directly.
720
d6850483
JM
721 * call.c (type_decays_to): Call cv_unqualified for non-class type.
722
9d809e8f
FC
7232010-04-12 Fabien Chene <fabien.chene@gmail.com>
724
725 PR c++/25811
726 * cp-tree.h (diagnose_uninitialized_cst_or_ref_member): Declare.
727 * init.c (build_new_1): Check for uninitialized const members and
728 uninitialized reference members, when using new without
729 new-initializer. Call diagnose_uninitialized_cst_or_ref_member.
730 (diagnose_uninitialized_cst_or_ref_member): Define, call
731 diagnose_uninitialized_cst_or_ref_member_1.
732 (diagnose_uninitialized_cst_or_ref_member_1): New function.
733
3fc20697
RG
7342010-04-12 Richard Guenther <rguenther@suse.de>
735
736 PR c++/43611
737 * semantics.c (expand_or_defer_fn_1): Do not keep extern
738 template inline functions.
739
dc8d2739
MLI
7402010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
741
742 PR c++/28584
743 * typeck.c (cp_build_c_cast): Warn for casting integer to larger
744 pointer type.
745
2401726e
JM
7462010-04-07 Jason Merrill <jason@redhat.com>
747
fb4117f8
JM
748 PR c++/43016
749 * decl.c (start_preparsed_function): Do defer nested functions.
750
48326487
JM
751 PR c++/11094, DR 408
752 * cp-tree.h (VAR_HAD_UNKNOWN_BOUND, SET_VAR_HAD_UNKNOWN_BOUND): New.
753 * decl2.c (finish_static_data_member_decl): Set it.
754 * decl.c (duplicate_decls): Propagate it.
755 * pt.c (tsubst_decl): Don't substitute the domain of an array
756 VAR_DECL if it's set.
757 (regenerate_decl_from_template): Substitute it here.
758 (type_dependent_expression_p): Return true if it's set.
759 * semantics.c (finish_decltype_type): Instantiate such a variable.
760 * typeck.c (cxx_sizeof_expr): Likewise.
761 (strip_array_domain): New.
762
9f1b98f0 763 PR c++/43145
ae099258
JM
764 * name-lookup.c (current_decl_namespace): Non-static.
765 (pop_nested_namespace): Sanity check.
766 * cp-tree.h: Declare current_decl_namespace.
767 * decl.c (grokvardecl): Use it instead of current_namespace.
768 (grokfndecl): Likewise.
769
feb3b88a
JM
770 PR c++/38392
771 * pt.c (tsubst_friend_function): Instatiate a friend that has already
772 been used.
773
7dcfe861
JM
774 * pt.c (print_template_statistics): New.
775 * cp-tree.h: Declare it.
776 * tree.c (cxx_print_statistics): Call it.
777
2401726e
JM
778 PR c++/41970
779 * decl.c (grokvardecl): Tweak warning message.
780 (grokfndecl): Likewise.
781
5fd5c97a
DS
7822010-04-07 Dodji Seketeli <dodji@redhat.com>
783
784 PR c++/42697
785 *pt.c (tsubst_decl): Get the arguments of a specialization from
786 the specialization template, not from the most general template.
787
7c094c11
DS
7882010-04-07 Dodji Seketeli <dodji@redhat.com>
789
790 PR c++/40239
791 * typeck2.c (process_init_constructor_record):
792 value-initialize members that are are not explicitely
793 initialized.
794
6addabbb
JZ
7952010-04-07 Jie Zhang <jie@codesourcery.com>
796
797 PR c++/42556
798 * typeck2.c (split_nonconstant_init_1): Drop empty CONSTRUCTOR
799 when all of its elements are non-constant and have been split out.
800
d4a2b486
JM
8012010-04-06 Taras Glek <taras@mozilla.com>
802 Jason Merrill <jason@redhat.com>
803
804 * parser.c (cp_parser_class_specifier): Set class location to that
805 of IDENTIFIER_NODE instead of '{' when possible.
806 * semantics.c (begin_class_definition): Do not overide locations
807 with less precise ones.
808
d5eebac0
JM
8092010-04-06 Jason Merrill <jason@redhat.com>
810
62daa139
JM
811 PR c++/43648
812 * name-lookup.c (constructor_name_p): Allow X::~X even for typedefs.
813
d5eebac0
JM
814 PR c++/43621
815 * pt.c (maybe_update_decl_type): Check the return value from
816 push_scope.
817
9542943d
JM
8182010-04-01 Jason Merrill <jason@redhat.com>
819
d4b5fb22
JM
820 * decl.c (next_initializable_field): No longer static.
821 * cp-tree.h: Declare it.
822 * call.c (build_aggr_conv): Fail if there are more initializers
823 than initializable fields.
824
9542943d
JM
825 * semantics.c (maybe_add_lambda_conv_op): Use null_pointer_node
826 instead of void_zero_node.
827
d7df0b91
DS
8282010-03-31 Dodji Seketeli <dodji@redhat.com>
829
830 PR c++/43558
831 * cp-tree.h (TEMPLATE_TYPE_PARM_SIBLING_PARMS): New accessor macro.
832 * pt.c (end_template_parm_list): Store sibling template parms of
833 each TEMPLATE_TYPE_PARMs into its TEMPLATE_TYPE_PARM_SIBLING_PARMS.
834 (push_template_decl_real): Don't store the containing template decl
835 into the DECL_CONTEXT of TEMPLATE_TYPE_PARMs anymore.
836 * typeck.c (get_template_parms_of_dependent_type): Get sibling parms
837 of a TEMPLATE_TYPE_PARM from TEMPLATE_TYPE_PARM_SIBLING_PARMS.
838 Simplify the logic.
839
ce0ecb98
JM
8402010-03-30 Jason Merrill <jason@redhat.com>
841
74537078
JM
842 PR c++/43076
843 * pt.c (push_template_decl_real): Deal better with running out of
844 scopes before running out of template parms.
845
fb077955
JM
846 PR c++/41185
847 PR c++/41786
848 * parser.c (cp_parser_direct_declarator): Don't allow VLAs in
849 function parameter context. Don't print an error if parsing
850 tentatively.
851
ce0ecb98
JM
852 PR c++/43559
853 * pt.c (more_specialized_fn): Don't control cv-qualifier check
854 with same_type_p.
855
c6cc83d0
JM
8562010-03-26 Jason Merrill <jason@redhat.com>
857
858 PR c++/43509
859 * parser.c (cp_parser_qualifying_entity): Do accept enum names in
860 c++0x mode, but not other type-names.
861
5f431950
DS
8622010-03-26 Dodji Seketeli <dodji@redhat.com>
863
864 PR c++/43327
865 * pt.c (add_to_template_args): Support NULL ARGS;
866 (most_specialized_class): call coerce_template_parms on
867 template arguments passed to get_class_bindings. Use
868 add_to_template_args.
869 (unify): Handle VAR_DECLs.
870
3910807d
DS
8712010-03-26 Dodji Seketeli <dodji@redhat.com>
872
873 * cp-tree.h (get_template_parms_at_level): Change unsigned parm
874 into int.
875 * pt.c (get_template_parms_at_level): Adjust.
876
58f5f6b4
DS
8772010-03-25 Dodji Seketeli <dodji@redhat.com>
878
879 PR c++/43206
880 * cp-tree.h (get_template_parms_at_level): Declare ...
881 * pt.c (get_template_parms_at_level): ... new function.
882 * typeck.c (get_template_parms_of_dependent_type): If a template
883 type parm's DECL_CONTEXT isn't yet set, get its siblings from
884 current_template_parms. Use get_template_parms_at_level. Remove
885 useless test.
886 (incompatible_dependent_types_p): If we get empty parms from just one
887 of the template type parms we are comparing then the template parms are
888 incompatible.
889
bff0b1a6
JM
8902010-03-24 Jason Merrill <jason@redhat.com>
891
892 PR c++/43502
893 * parser.c (make_declarator): Initialize id_loc.
894 (cp_parser_lambda_declarator_opt): And set it.
895
c6be04ad
JM
8962010-03-23 Jason Merrill <jason@redhat.com>
897
898 Make lambda conversion op and op() non-static.
899 * semantics.c (maybe_add_lambda_conv_op): Make non-static.
900 Also add the thunk function returned by the conversion op.
901 Mark the conversion deleted if the op() is variadic.
902 * decl2.c (mark_used): Give helpful message about deleted conversion.
903 * parser.c (cp_parser_lambda_declarator_opt): Don't make op() static.
904 * semantics.c (finish_this_expr): Adjust.
905 * mangle.c (write_closure_type_name): Adjust.
906 * decl.c (grok_op_properties): Don't allow it.
907 * call.c (build_user_type_conversion_1): No static conversion ops.
908 (build_op_call): Or op().
909
910 * decl2.c (change_return_type): Fix 'this' quals.
911
18932737
JM
9122010-03-22 Jason Merrill <jason@redhat.com>
913
cc72bbaa
JM
914 PR c++/43333
915 * tree.c (pod_type_p): Use old meaning in C++98 mode.
916
18932737
JM
917 PR c++/43281
918 * pt.c (contains_auto_r): New fn.
919 (do_auto_deduction): Use it.
920 (tsubst): Don't look at TREE_TYPE of a TEMPLATE_TYPE_PARM.
921
7801b86a
SM
9222010-03-20 Simon Martin <simartin@users.sourceforge.net>
923
924 PR c++/43081:
925 * decl2.c (grokfield): Handle invalid initializers for member
926 functions.
927
39bac010
DS
9282010-03-20 Dodji Seketeli <dodji@redhat.com>
929
930 PR c++/43375
931 * method.c (make_alias_for): Avoid crashing when DECL_LANG_SPECIFIC
932 is NULL.
933 * decl2.c (vague_linkage_p): Likewise.
934
8269067b
PC
9352010-03-18 Paolo Carlini <paolo.carlini@oracle.com>
936
937 PR c++/43418
938 * parser.c (cp_parser_for_init_statement): Use NULL_TREE, not
939 false, in the cp_parser_expression_statement call.
940
1b88f240
JM
9412010-03-05 Jason Merrill <jason@redhat.com>
942
943 * mangle.c (mangle_decl): Give name collision error even without
944 ASM_OUTPUT_DEF.
945
83ff92fb
MP
9462010-03-04 Marco Poletti <poletti.marco@gmail.com>
947
948 * pt.c (process_partial_specialization): Use error_n instead of
949 error.
950
28fd1fc1
L
9512010-03-03 Jason Merrill <jason@redhat.com>
952
953 PR c++/12909
954 * mangle.c (mangle_decl): Handle VAR_DECL, too.
955
58a15cf8
JM
9562010-03-03 Jason Merrill <jason@redhat.com>
957
958 PR c++/12909
959 * mangle.c: Include cgraph.h.
960 (mangle_decl): If the mangled name will change in a later
961 ABI version, make the later mangled name an alias.
962 * method.c (make_alias_for): Copy DECL_ARGUMENTS.
963 * Make-lang.in (mangle.o): Depend on cgraph.h.
d6dcdbd5
JM
964 * method.c (make_alias_for): Handle VAR_DECL, too.
965 * decl2.c (vague_linkage_p): Rename from vague_linkage_fn_p.
966 * tree.c (no_linkage_check): Adjust.
967 * decl.c (maybe_commonize_var): Adjust.
968 * cp-tree.h: Adjust.
58a15cf8 969
894e2652
SZ
9702010-03-01 Marco Poletti <poletti.marco@gmail.com>
971
972 * pt.c (redeclare_class_template): Use error_n and inform_n.
973
2a3dbebf
MM
9742010-02-27 Mark Mitchell <mark@codesourcery.com>
975
976 PR c++/42748
977 * cp-tree.h (push_tinst_level): Declare.
978 (pop_tinst_level): Likewise.
979 * pt.c (push_tinst_level): Give it external linkage.
980 (pop_tinst_level): Likewise.
981 * mangle.c (mangle_decl_string): Set the source location to that
982 of the decl while mangling.
983
baae602e
SM
9842010-02-27 Simon Martin <simartin@users.sourceforge.net>
985
986 PR c++/42054
987 * pt.c (redeclare_class_template): Return false if there are erroneous
988 template parameters.
989
124e0d27
MLI
9902010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
991
992 * pt.c (push_tinst_level): Replace -ftemplate-depth- with
993 -ftemplate-depth=.
994
254d1a5a
JM
9952010-02-24 Jason Merrill <jason@redhat.com>
996
b66093b0
JM
997 PR c++/12909
998 * mangle.c (write_type): Give -Wabi warning for old vector mangling.
999
254d1a5a
JM
1000 * class.c (layout_class_type): Don't give -Wabi warning for a bug
1001 in a previous ABI version.
1002
c6569cd0
JM
10032010-02-23 Jason Merrill <jason@redhat.com>
1004
1005 PR c++/43143
1006 * typeck2.c (digest_init_r): Accept value init of array.
1007
a98c2819
MLI
10082010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1009
1010 PR c++/43126
1011 * typeck.c (convert_arguments): Update error message.
a98c2819 1012
3a7ba040
MS
10132010-02-22 Mike Stump <mikestump@comcast.net>
1014
1015 PR c++/43125
1016 * decl.c (duplicate_decls): Merge DECL_PRESERVE_P.
1017
f89b94d9
MLI
10182010-02-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
1019
1020 PR c++/23510
1021 * error.c (print_instantiation_partial_context_line): New.
1022 (print_instantiation_partial_context): Print at most 12 contexts,
1023 skip the rest with a message.
1024
04afbf1c
DS
10252010-02-21 Dodji Seketeli <dodji@redhat.com>
1026
1027 PR c++/42824
1028 * pt.c (lookup_template_class): Better support of specialization
1029 of member of class template implicit instantiation.
1030
17251338
MLI
10312010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
1032
1033 PR c++/35669
1034 * call.c (conversion_null_warnings): Replace -Wconversion with
1035 -Wconversion-null.
1036 * cvt.c (build_expr_type_conversion): Likewise.
1037
935c0a5d
JM
10382010-02-18 Jason Merrill <jason@redhat.com>
1039
7c08df6c
JM
1040 PR c++/42837
1041 * class.c (create_vtable_ptr): Set DECL_PACKED if type is packed.
1042
1ff6b2c8
JM
1043 PR c++/43108
1044 * typeck.c (cp_build_binary_op): Adapt mixed complex/non handling from
1045 C build_binary_op.
1046 * cp-tree.h (WANT_VECTOR_OR_COMPLEX): Rename from WANT_VECTOR.
1047 * cvt.c (build_expr_type_conversion): Allow COMPLEX_TYPE.
1048
7890246f
JM
1049 PR c++/43070
1050 * semantics.c (finish_goto_stmt): Don't call decay_conversion.
1051
04daa92b
JM
1052 PR c++/26261
1053 PR c++/43101
1054 * pt.c (tsubst_qualified_id): Do normal lookup in non-dependent scope.
1055 (maybe_update_decl_type): New fn.
1056 * parser.c (cp_parser_init_declarator): Use it.
1057
935c0a5d
JM
1058 PR c++/43109
1059 * semantics.c (begin_class_definition): Don't crash on unnamed ns.
1060
d29760ad
JM
10612010-02-17 Jason Merrill <jason@redhat.com>
1062
9ba59715
JM
1063 PR c++/43075
1064 * call.c (build_over_call): Don't create zero-sized assignments.
1065 * cp-gimplify.c (cp_genericize_r): Don't remove them here.
1066 * cp-objcp-common.c (cp_expr_size): Remove.
1067 * cp-tree.h: Remove prototype.
1068
77278f4a
JM
1069 PR c++/43069
1070 * name-lookup.c (set_decl_namespace): Don't copy DECL_CONTEXT if the
1071 decl we looked up doesn't match.
1072
85a52ea5
JM
1073 PR c++/43093
1074 * cp-gimplify.c (cp_gimplify_expr) [INIT_EXPR]: Return if we don't
1075 have an INIT_EXPR anymore.
1076
d29760ad
JM
1077 PR c++/43079
1078 * pt.c (convert_nontype_argument): Change assert to test.
1079
38e40fcd
JM
10802010-02-16 Jason Merrill <jason@redhat.com>
1081
0d08582e
JM
1082 * cp-gimplify.c (cp_gimplify_expr): Fix error recovery.
1083
1e2ddf80
JM
1084 PR c++/43031
1085 * cp-gimplify.c (cp_gimplify_expr) [MODIFY_EXPR]: Use
1086 VIEW_CONVERT_EXPR for conversions between structural equality types
1087 that the back end can't tell are the same.
1088
38e40fcd
JM
1089 PR c++/43036
1090 * tree.c (build_cplus_array_type): Set TYPE_MAIN_VARIANT to strip
1091 cv-quals from element here.
1092 (cp_build_qualified_type_real): Not here. Preserve typedef name.
1093
1acb8caa
JM
10942010-02-14 Jason Merrill <jason@redhat.com>
1095
1096 PR c++/41997
1097 * semantics.c (finish_compound_literal): Use
1098 cp_apply_type_quals_to_decl when creating a static variable.
1099
da7d88bf
JM
11002010-02-12 Jason Merrill <jason@redhat.com>
1101
1102 PR c++/43024
1103 * name-lookup.h (current_binding_level): Check for null
1104 cp_function_chain.
1105
96b4a0b5
JM
11062010-02-12 Jason Merrill <jason@redhat.com>
1107
1108 PR c++/43054
76a25412 1109 * tree.c (cp_tree_equal): Correct CALL_EXPR logic.
96b4a0b5 1110
2e034e32
JJ
11112010-02-12 Jakub Jelinek <jakub@redhat.com>
1112
1113 PR c++/43033
1114 * name-lookup.c (pushdecl_maybe_friend): Check default args of t
1115 instead of x.
1116
19030d77
JM
11172010-02-10 Jason Merrill <jason@redhat.com>
1118
1119 PR c++/41896
1120 * semantics.c (outer_lambda_capture_p): Revert.
1121 (add_capture): Only finish_member_declaration if
1122 we're in the lambda class.
1123 (register_capture_members): New.
1124 * cp-tree.h: Declare it.
1125 * parser.c (cp_parser_lambda_expression): Call it.
1126
2cb95a6a
JM
11272010-02-10 Jason Merrill <jason@redhat.com>
1128
1129 PR c++/41896
1130 * semantics.c (outer_lambda_capture_p): Use current_function_decl
1131 instead of current_class_type.
1132
f1c3cf3c
JM
11332010-02-10 Jason Merrill <jason@redhat.com>
1134
1135 PR c++/42983, core issue 906
1136 * method.c (defaultable_fn_check): Check virtualness.
1137
7a79ff3b
JM
11382010-02-10 Jason Merrill <jason@redhat.com>
1139
1140 PR c++/43016
1141 * semantics.c (maybe_add_lambda_conv_op): Set DECL_INTERFACE_KNOWN.
1142
f25a2b52
SZ
11432010-02-10 Shujing Zhao <pearly.zhao@oracle.com>
1144
1145 * Make-lang.in (cp/cvt.o, cp/parser.o, cp/search.o): Depend on intl.h.
1146 * cvt.c (warn_ref_binding): Wrap the messages into G_() for easy
1147 translation.
1148 * parser.c (cp_parser_postfix_expression, cp_parser_new_type_id)
1149 (cp_parser_cast_expression, cp_parser_condition, cp_parser_decltype)
1150 (cp_parser_parameter_declaration)
1151 (cp_parser_exception_specification_opt)
1152 (cp_parser_exception_declaration): Likewise.
1153 * pt.c (check_default_tmpl_args): Likewise.
1154 * search.c (lookup_field_r): Likewise.
1155
0bbe864d
JM
11562010-02-09 Jason Merrill <jason@redhat.com>
1157
1158 PR c++/42399
1159 * pt.c (tsubst_copy_and_build): Propagate LAMBDA_EXPR_LOCATION.
1160
643d4cd6
JM
11612010-02-09 Jason Merrill <jason@redhat.com>
1162
1163 PR c++/42370
1164 * decl2.c (change_return_type): New fn.
1165 * semantics.c (apply_lambda_return_type): Use it.
1166 * cp-tree.h: Declare it.
1167
6561cdf6
RG
11682010-02-05 Richard Guenther <rguenther@suse.de>
1169
1170 * Make-lang.in (cp/cp-lang.o): Depend on gt-cp-cp-lang.h.
1171 * cp-lang.c: Include gt-cp-cp-lang.h.
1172 * config-lang.in (gtfiles): Add cp/cp-lang.c.
1173
3cdabe3b
DS
11742010-02-05 Dodji Seketeli <dodji@redhat.com>
1175
1176 PR c++/42915
1177 * typeck.c (get_template_parms_of_dependent_type): Try getting
1178 the template parameters fromt the type itself first.
1179
abfe01ce
JM
11802010-02-03 Jason Merrill <jason@redhat.com>
1181
f000c6a7
JM
1182 PR c++/4926
1183 PR c++/38600
1184 * mangle.c (write_unqualified_id): Split out from write_expression.
1185 (write_unqualified_name): Call it.
1186 (write_member_name): Likewise.
1187 (write_expression): Support TEMPLATE_ID_EXPR.
1188 Disambiguate operator names.
1189
abfe01ce
JM
1190 PR c++/12909
1191 * mangle.c (write_type) [VECTOR_TYPE]: Change mangling with
1192 -fabi-version=4.
1193
e6ca6e2a
JM
11942010-02-02 Jason Merrill <jason@redhat.com>
1195
1196 PR c++/41090
1197 * decl.c (cp_finish_decl): Add local statics to cfun->local_decls.
1198 * optimize.c (clone_body): Remap their initializers when making base
1199 variants.
1200 (maybe_clone_body): Complain if multiple clones aren't safe.
1201
1a048f82
DS
12022010-01-29 Dodji Seketeli <dodji@redhat.com>
1203
1204 PR c++/42758
1205 PR c++/42634
1206 PR c++/42336
1207 PR c++/42797
1208 PR c++/42880
1209 * cp-tree.h (NON_DEFAULT_TEMPLATE_ARGS_COUNT,
1210 SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT,
1211 GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT): New accessor macros.
1212 * pt.c (coerce_template_parms, type_unification_real,
1213 expand_template_argument_pack, coerce_template_parameter_pack):
1214 Set the non default template args count.
1215 (current_template_args): Always set non defaulted
1216 template args count when compiled with --enable-checking
1217 (tsubst_template_args, type_unification_real): Propagate the non
1218 defaulted template args count.
1219 * error.c (get_non_default_template_args_count): Renamed
1220 count_non_default_template_args into this. Don't calculate the
1221 non default template argument count anymore. Use the new
1222 accessor macros above to get it.
1223 (dump_template_argument_list, dump_type, dump_decl,
1224 dump_template_parms): Adjust.
1225 * parser.c (cp_parser_template_argument_list): Always set defaulted
1226 template args count when compiled with --enable-checking.
1227
9ee5ebeb
SZ
12282010-01-29 Shujing Zhao <pearly.zhao@oracle.com>
1229
1230 * decl.c (redeclaration_error_message): Wrap the return messages into
1231 G_() for easy translation.
1232
cd924144
JM
12332010-01-28 Jason Merrill <jason@redhat.com>
1234
1235 PR c++/42880
1236 * semantics.c (begin_class_definition): Don't use type_as_string.
1237
20c202f3
DS
12382010-01-28 Dodji Seketeli <dodji@redhat.com>
1239
1240 PR c++/42713
1241 PR c++/42820
1242 * typeck.c (get_template_parms_of_dependent_type): Factorized
1243 this out of incompatible_template_type_parms_p
1244 (incompatible_dependent_types_p): Renamed
1245 incompatible_template_type_parms_p into this. Make it detect
1246 two incompatible dependent typedefs too.
1247 (structural_comptypes): Use incompatible_dependent_types_p.
1248 * pt.c (get_template_info):
1249 Handle BOUND_TEMPLATE_TEMPLATE_PARAM.
1250
ebf0bf7f
JJ
12512010-01-20 Janis Johnson <janis187@us.ibm.com>
1252 Jason Merrill <jason@redhat.com>
1253
1254 * mangle.c (write_type): Mangle transparent record as member type.
1255 * semantics.c (begin_class_definition): Recognize decimal classes
1256 and set TYPE_TRANSPARENT_AGGR.
1257
4d43dcde
JM
12582010-01-20 Jason Merrill <jason@redhat.com>
1259
1260 PR c++/42338
1261 * mangle.c (write_expression): Handle tree codes that have extra
1262 arguments in the middle-end.
1263
4227d4a1
PC
12642010-01-20 Paolo Carlini <paolo.carlini@oracle.com>
1265
1266 PR c++/42038
1267 * except.c (expand_start_catch_block): Deal correctly with
1268 do_begin_catch returning error_mark_node.
1269
e4672ccd
JM
12702010-01-20 Jason Merrill <jason@redhat.com>
1271
a402c1b1
JM
1272 PR c++/41788
1273 * class.c (layout_class_type): Set packed_maybe_necessary for packed
1274 non-PODs.
1275
1f4a7a48
JM
1276 PR c++/41920
1277 * semantics.c (build_lambda_object): Call mark_used on captured
1278 variables.
1279
e4672ccd
JM
1280 PR c++/40750
1281 * decl.c (grokdeclarator): Clear type_quals for a member function
1282 declared using a typedef. Don't complain about adding cv-quals
1283 to a function typedef in C++0x mode.
1284
1124098b
JJ
12852010-01-20 Jakub Jelinek <jakub@redhat.com>
1286
1287 * decl.c (create_array_type_for_decl): Remove set but not used
1288 variable error_msg. Remove break stmts after return stmts.
1289
11d7788d
DS
12902010-01-19 Dodji Seketeli <dodji@redhat.com>
1291
1292 * error.c (dump_template_parms, count_non_default_template_args):
1293 Revert fix of PR c++/42634.
1294
ebea03e0
DS
12952010-01-18 Dodji Seketeli <dodji@redhat.com>
1296
1297 PR c++/42634
1298 * error.c (dump_template_parms): Use innermost template
1299 arguments before calling count_non_default_template_args.
1300 (count_non_default_template_args): We are being called with
1301 template innermost arguments now. There is no need to ensure
1302 that again.
1303
a5cf630e
DS
13042010-01-18 Dodji Seketeli <dodji@redhat.com>
1305
1306 PR c++/42766
1307 * cvt.c (build_expr_type_conversion): Look through OVERLOAD.
1308
c4471bb2
DS
13092010-01-17 Dodji Seketeli <dodji@redhat.com>
1310
1311 PR c++/42697
1312 *pt.c (tsubst_decl): Revert commit for PR c++/42697.
1313
4548cb4b
DS
13142010-01-17 Dodji Seketeli <dodji@redhat.com>
1315
1316 PR c++/42697
1317 *pt.c (tsubst_decl): Get the arguments of a specialization from
1318 the specialization template, not from the most general template.
1319
d1c05c88
JM
13202010-01-16 Jason Merrill <jason@redhat.com>
1321
1322 PR c++/42761
1323 * semantics.c (finish_decltype_type): Within a template, treat
1324 unresolved CALL_EXPR as dependent.
1325
58be9ce9
DS
13262010-01-15 Dodji Seketeli <dodji@redhat.com>
1327
1328 * error.c (dump_template_parms,count_non_default_template_args):
1329 Revert changes of PR c++/42634.
1330
ef5d1181
JJ
13312010-01-14 Jakub Jelinek <jakub@redhat.com>
1332
1333 PR middle-end/42674
1334 * decl.c (finish_function): Don't emit -Wreturn-type warnings in
1335 functions with noreturn attribute.
1336
2d1a618e
JM
13372010-01-14 Jason Merrill <jason@redhat.com>
1338
6700a285
JM
1339 PR c++/42701
1340 * call.c (build_new_method_call): Don't free the vec here.
1341
2d1a618e
JM
1342 PR c++/42655
1343 * call.c (convert_like_real): Do full decay_conversion for ck_rvalue.
1344
a5859aaf
DS
13452010-01-13 Dodji Seketeli <dodji@redhat.com>
1346
1347 PR c++/42634
1348 * error.c (dump_template_parms): Use innermost template
1349 arguments before calling count_non_default_template_args.
1350 (count_non_default_template_args): We are being called with
1351 template innermost arguments now. There is no need to ensure
1352 that again.
1353
c8f4e43a
DS
13542010-01-07 Dodji Seketeli <dodji@redhat.com>
1355
1356 c++/40155
1357 * pt.c (unify_pack_expansion): In non-deduced contexts, re-use template
1358 arguments that were previously deduced.
1359
d097567d
JM
13602010-01-05 Jason Merrill <jason@redhat.com>
1361
1362 * pt.c (unify_pack_expansion): Handle deduction from init-list.
1363 * call.c (build_over_call): Don't complain about it.
1364
4b4a42c4
JM
13652010-01-04 Jason Merrill <jason@redhat.com>
1366
282c399b
JM
1367 PR c++/42555
1368 * pt.c (tsubst_decl): Don't apply type attributes in place.
1369
4b4a42c4
JM
1370 PR c++/42567
1371 * semantics.c (describable_type): Remove decltype comment and
1372 semantics.
1373
ad41bd84
JM
1374
1375\f
0bdf1263 1376Copyright (C) 2010 Free Software Foundation, Inc.
ad41bd84
JM
1377
1378Copying and distribution of this file, with or without modification,
1379are permitted in any medium without royalty provided the copyright
1380notice and this notice are preserved.
This page took 0.523211 seconds and 5 git commands to generate.