]> gcc.gnu.org Git - gcc.git/blob - gcc/cp/ChangeLog
* config/darwin-c.c: Remove c-tree.h include.
[gcc.git] / gcc / cp / ChangeLog
1 2010-05-28 Joseph Myers <joseph@codesourcery.com>
2
3 * g++spec.c (lang_specific_driver): Use fatal_error instead of
4 fatal.
5
6 2010-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
15 2010-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
31 2010-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
40 2010-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
46 2010-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
54 2010-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
66 2010-05-26 Jason Merrill <jason@redhat.com>
67
68 PR c++/43382
69 * pt.c (tsubst_pack_expansion): Don't get confused by recursive
70 unification.
71
72 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
73
74 * cp-lang.c: Do not include expr.h.
75
76 2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
77
78 * decl.c: Do not include rtl.h
79 * semantics.c: Likewise.
80
81 2010-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
110 2010-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
122 2010-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
141 2010-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
146 2010-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
154 2010-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
163 2010-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
177 2010-05-22 Steven Bosscher <steven@gcc.gnu.org>
178
179 * semantics.c: Include bitmap.h.
180 * Make-lang.in: Update dependencies.
181
182 2010-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
188 2010-05-21 Joseph Myers <joseph@codesourcery.com>
189
190 * cxx-pretty-print.c: Correct merge error.
191
192 2010-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
201 2010-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
206 2010-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
212 2010-05-19 Jason Merrill <jason@redhat.com>
213
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
251 * typeck.c (merge_types): Preserve memfn quals.
252
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
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
275 2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
276
277 * tree.c (build_min_non_dep_call_vec): Update comment.
278
279 2010-05-17 Jason Merrill <jason@redhat.com>
280
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
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
289 PR c++/44158
290 * call.c (build_over_call): Don't do bitwise copy for move ctor.
291
292 2010-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
298 2010-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
305 2010-05-15 Jakub Jelinek <jakub@redhat.com>
306
307 PR c++/44148
308 * pt.c (tsubst): Unshare template argument.
309
310 2010-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
315 2010-05-14 Jason Merrill <jason@redhat.com>
316
317 C++ DR 475
318 * except.c (build_throw): Simplify, adjust for DR 475.
319
320 PR c++/44127
321 * except.c (dtor_nothrow): Return nonzero for type with
322 trivial destructor.
323
324 PR c++/44127
325 * cp-gimplify.c (gimplify_must_not_throw_expr): Use
326 gimple_build_eh_must_not_throw.
327
328 2010-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
333 2010-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
338 2010-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
346 2010-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
355 2010-05-13 Jan Hubicka <jh@suse.cz>
356
357 * decl.c (cp_finish_decl): Do not worry about used attribute.
358
359 2010-05-12 Jason Merrill <jason@redhat.com>
360
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
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
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
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
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
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
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
423 2010-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
431 2010-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
438 2010-05-10 Jason Merrill <jason@redhat.com>
439
440 PR c++/44017
441 * semantics.c (baselink_for_fns): Revert earlier change.
442
443 PR c++/44045
444 * typeck.c (cp_build_modify_expr): Complain about assignment to
445 array from init list.
446
447 2010-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
453 2010-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
465 2010-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
489 2010-05-06 Jason Merrill <jason@redhat.com>
490
491 * semantics.c (simplify_aggr_init_expr): Use INIT_EXPR.
492
493 2010-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
518 2010-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
524 2010-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
529 2010-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
534 2010-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
540 2010-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
546 2010-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
556 2010-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
562 2010-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
568 2010-04-30 Steven Bosscher <steven@gcc.gnu.org>
569
570 * optimize.c, parser.c, mangle.c, cp-tree.h: Do not include varray.h.
571 * Make-lang.in: Don't include varray.h dependency in CXX_TREE_H.
572
573 2010-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
580 2010-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
586 2010-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
593 2010-04-27 Jason Merrill <jason@redhat.com>
594
595 * init.c (perform_member_init): Check CLASS_TYPE_P.
596
597 2010-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
603 2010-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.
610
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
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
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
628 * semantics.c (baselink_for_fns): Correct BASELINK_BINFO.
629
630 PR c++/43875
631 * semantics.c (lambda_return_type): Complain about
632 braced-init-list.
633
634 PR c++/43790
635 * tree.c (cv_unqualified): Handle error_mark_node.
636
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
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
651 2010-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
661 2010-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
670 2010-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
678 2010-04-20 Jakub Jelinek <jakub@redhat.com>
679
680 * cp-tree.h (TYPE_REF_IS_RVALUE): Remove.
681
682 2010-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
689 2010-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
694 2010-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
699 2010-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
707 2010-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
715 2010-04-12 Jason Merrill <jason@redhat.com>
716
717 PR c++/43641
718 * semantics.c (maybe_add_lambda_conv_op): Use build_call_a and tweak
719 return value directly.
720
721 * call.c (type_decays_to): Call cv_unqualified for non-class type.
722
723 2010-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
734 2010-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
740 2010-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
746 2010-04-07 Jason Merrill <jason@redhat.com>
747
748 PR c++/43016
749 * decl.c (start_preparsed_function): Do defer nested functions.
750
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
763 PR c++/43145
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
770 PR c++/38392
771 * pt.c (tsubst_friend_function): Instatiate a friend that has already
772 been used.
773
774 * pt.c (print_template_statistics): New.
775 * cp-tree.h: Declare it.
776 * tree.c (cxx_print_statistics): Call it.
777
778 PR c++/41970
779 * decl.c (grokvardecl): Tweak warning message.
780 (grokfndecl): Likewise.
781
782 2010-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
788 2010-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
795 2010-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
801 2010-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
809 2010-04-06 Jason Merrill <jason@redhat.com>
810
811 PR c++/43648
812 * name-lookup.c (constructor_name_p): Allow X::~X even for typedefs.
813
814 PR c++/43621
815 * pt.c (maybe_update_decl_type): Check the return value from
816 push_scope.
817
818 2010-04-01 Jason Merrill <jason@redhat.com>
819
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
825 * semantics.c (maybe_add_lambda_conv_op): Use null_pointer_node
826 instead of void_zero_node.
827
828 2010-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
840 2010-03-30 Jason Merrill <jason@redhat.com>
841
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
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
852 PR c++/43559
853 * pt.c (more_specialized_fn): Don't control cv-qualifier check
854 with same_type_p.
855
856 2010-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
862 2010-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
871 2010-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
877 2010-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
890 2010-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
896 2010-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
912 2010-03-22 Jason Merrill <jason@redhat.com>
913
914 PR c++/43333
915 * tree.c (pod_type_p): Use old meaning in C++98 mode.
916
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
922 2010-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
928 2010-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
935 2010-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
941 2010-03-05 Jason Merrill <jason@redhat.com>
942
943 * mangle.c (mangle_decl): Give name collision error even without
944 ASM_OUTPUT_DEF.
945
946 2010-03-04 Marco Poletti <poletti.marco@gmail.com>
947
948 * pt.c (process_partial_specialization): Use error_n instead of
949 error.
950
951 2010-03-03 Jason Merrill <jason@redhat.com>
952
953 PR c++/12909
954 * mangle.c (mangle_decl): Handle VAR_DECL, too.
955
956 2010-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.
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.
969
970 2010-03-01 Marco Poletti <poletti.marco@gmail.com>
971
972 * pt.c (redeclare_class_template): Use error_n and inform_n.
973
974 2010-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
984 2010-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
990 2010-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
995 2010-02-24 Jason Merrill <jason@redhat.com>
996
997 PR c++/12909
998 * mangle.c (write_type): Give -Wabi warning for old vector mangling.
999
1000 * class.c (layout_class_type): Don't give -Wabi warning for a bug
1001 in a previous ABI version.
1002
1003 2010-02-23 Jason Merrill <jason@redhat.com>
1004
1005 PR c++/43143
1006 * typeck2.c (digest_init_r): Accept value init of array.
1007
1008 2010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
1009
1010 PR c++/43126
1011 * typeck.c (convert_arguments): Update error message.
1012
1013 2010-02-22 Mike Stump <mikestump@comcast.net>
1014
1015 PR c++/43125
1016 * decl.c (duplicate_decls): Merge DECL_PRESERVE_P.
1017
1018 2010-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
1025 2010-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
1031 2010-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
1038 2010-02-18 Jason Merrill <jason@redhat.com>
1039
1040 PR c++/42837
1041 * class.c (create_vtable_ptr): Set DECL_PACKED if type is packed.
1042
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
1049 PR c++/43070
1050 * semantics.c (finish_goto_stmt): Don't call decay_conversion.
1051
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
1058 PR c++/43109
1059 * semantics.c (begin_class_definition): Don't crash on unnamed ns.
1060
1061 2010-02-17 Jason Merrill <jason@redhat.com>
1062
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
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
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
1077 PR c++/43079
1078 * pt.c (convert_nontype_argument): Change assert to test.
1079
1080 2010-02-16 Jason Merrill <jason@redhat.com>
1081
1082 * cp-gimplify.c (cp_gimplify_expr): Fix error recovery.
1083
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
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
1094 2010-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
1100 2010-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
1106 2010-02-12 Jason Merrill <jason@redhat.com>
1107
1108 PR c++/43054
1109 * tree.c (cp_tree_equal): Correct CALL_EXPR logic.
1110
1111 2010-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
1117 2010-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
1127 2010-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
1133 2010-02-10 Jason Merrill <jason@redhat.com>
1134
1135 PR c++/42983, core issue 906
1136 * method.c (defaultable_fn_check): Check virtualness.
1137
1138 2010-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
1143 2010-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
1156 2010-02-09 Jason Merrill <jason@redhat.com>
1157
1158 PR c++/42399
1159 * pt.c (tsubst_copy_and_build): Propagate LAMBDA_EXPR_LOCATION.
1160
1161 2010-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
1168 2010-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
1174 2010-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
1180 2010-02-03 Jason Merrill <jason@redhat.com>
1181
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
1190 PR c++/12909
1191 * mangle.c (write_type) [VECTOR_TYPE]: Change mangling with
1192 -fabi-version=4.
1193
1194 2010-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
1202 2010-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
1228 2010-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
1233 2010-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
1238 2010-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
1251 2010-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
1258 2010-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
1264 2010-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
1270 2010-01-20 Jason Merrill <jason@redhat.com>
1271
1272 PR c++/41788
1273 * class.c (layout_class_type): Set packed_maybe_necessary for packed
1274 non-PODs.
1275
1276 PR c++/41920
1277 * semantics.c (build_lambda_object): Call mark_used on captured
1278 variables.
1279
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
1285 2010-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
1290 2010-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
1295 2010-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
1304 2010-01-18 Dodji Seketeli <dodji@redhat.com>
1305
1306 PR c++/42766
1307 * cvt.c (build_expr_type_conversion): Look through OVERLOAD.
1308
1309 2010-01-17 Dodji Seketeli <dodji@redhat.com>
1310
1311 PR c++/42697
1312 *pt.c (tsubst_decl): Revert commit for PR c++/42697.
1313
1314 2010-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
1320 2010-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
1326 2010-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
1331 2010-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
1337 2010-01-14 Jason Merrill <jason@redhat.com>
1338
1339 PR c++/42701
1340 * call.c (build_new_method_call): Don't free the vec here.
1341
1342 PR c++/42655
1343 * call.c (convert_like_real): Do full decay_conversion for ck_rvalue.
1344
1345 2010-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
1354 2010-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
1360 2010-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
1365 2010-01-04 Jason Merrill <jason@redhat.com>
1366
1367 PR c++/42555
1368 * pt.c (tsubst_decl): Don't apply type attributes in place.
1369
1370 PR c++/42567
1371 * semantics.c (describable_type): Remove decltype comment and
1372 semantics.
1373
1374
1375 \f
1376 Copyright (C) 2010 Free Software Foundation, Inc.
1377
1378 Copying and distribution of this file, with or without modification,
1379 are permitted in any medium without royalty provided the copyright
1380 notice and this notice are preserved.
This page took 0.100302 seconds and 6 git commands to generate.