]> gcc.gnu.org Git - gcc.git/blame - gcc/cp/ChangeLog
re PR fortran/30668 (-fwhole-file should catch function of wrong type)
[gcc.git] / gcc / cp / ChangeLog
CommitLineData
9602a7a9
JJ
12010-05-25 Jakub Jelinek <jakub@redhat.com>
2
3 PR c++/18249
4 * parser.c (non_integral_constant): Add NIC_NONE.
5 (required_token): Add RT_NONE.
6 (cp_parser_unary_expression): Initialize non_constant_p
7 to NIC_NONE.
8 (cp_parser_asm_definition): Initialize missing to RT_NONE.
9 (cp_parser_primary_expression, cp_parser_postfix_expression,
10 cp_parser_cast_expression, cp_parser_binary_expression,
11 cp_parser_functional_cast): Fix formatting.
12
fd33fd10
SZ
132010-05-25 Shujing Zhao <pearly.zhao@oracle.com>
14
15 PR c++/18249
16 * parser.c: Remove inclusion of dyn-string.h.
17 (non_integral_constant): New enum.
18 (name_lookup_error): New enum.
19 (required_token): New enum.
20 (cp_parser_required_error): New function.
21 (cp_parser_require): Change the type of variable token_desc to
22 required_token and use cp_parser_required_error.
23 (cp_parser_require_keyword): Likewise.
24 (cp_parser_error): Use gmsgid as parameter.
25 (cp_parser_name_lookup_error): Change the type of variable desired to
26 name_lookup_error and put the diagnostic in the full sentences. Change
27 caller.
28 (cp_parser_non_integral_constant_expression): Change the type of the
29 variable thing to non_integral_constant and put the diagnostics in
30 full sentences. Change caller.
31
12a149a0
EB
322010-05-24 Eric Botcazou <ebotcazou@adacore.com>
33
34 PR middle-end/44100
35 * typeck.c (cp_build_unary_op): Fold offsetof-like computations.
36
243fbddd
JM
372010-05-24 Joseph Myers <joseph@codesourcery.com>
38
39 * error.c (cp_diagnostic_starter): Update call to
40 diagnostic_build_prefix.
41 (cp_print_error_function,
42 print_instantiation_partial_context_line): Check show_column flag
43 in context.
44
611d6f76
JM
452010-05-24 Jason Merrill <jason@redhat.com>
46
47 PR c++/41510
48 * decl.c (check_initializer): Don't wrap an init-list in a
49 TREE_LIST.
50 * init.c (build_aggr_init): Don't assume copy-initialization if
51 init has CONSTRUCTOR_IS_DIRECT_INIT.
52 * call.c (build_new_method_call): Sanity check.
53
e20463aa
NF
542010-05-24 Nathan Froyd <froydnj@codesourcery.com>
55
56 * rtti.c (tinfo_base_init): Use build_constructor instead of
57 build_constructor_from_list. Don't cons a tree node for
58 returning.
59 (generic_initializer): Use build_constructor_single instead of
60 build_constructor_from_list.
61 (ptr_initializer): Use build_constructor instead of
62 build_constructor_from_list
63 (ptm_initializer): Likewise.
64 (class_initializer): Likewise. Take varargs instead of TRAIL.
65 (get_pseudo_ti_init): Adjust calls to class_initializer. Use
66 build_constructor instead of build_constructor_from_list.
67
7a8cba34
SB
682010-05-22 Steven Bosscher <steven@gcc.gnu.org>
69
70 * semantics.c: Include bitmap.h.
71 * Make-lang.in: Update dependencies.
72
9f90e80a
JH
732010-05-22 Jan Hubicka <jh@suse.cz>
74
75 * decl2.c (maybe_emit_vtables): Produce same comdat group when outputting
76 comdat vtables.
77 (cxx_callgraph_analyze_expr): Remove code marking vtables needed.
78
5d127eeb
JM
792010-05-21 Joseph Myers <joseph@codesourcery.com>
80
81 * cxx-pretty-print.c: Correct merge error.
82
cf835838
JM
832010-05-21 Joseph Myers <joseph@codesourcery.com>
84
85 * error.c: Include tree-diagnostic.h and tree-pretty-print.h.
86 (cp_print_error_function): Use diagnostic_abstract_origin macro.
87 (cp_printer): Handle %K here using percent_K_format.
88 * cxx-pretty-print.c: Include tree-pretty-print.h.
89 * Make-lang.in (cp/error.o, cp/cxx-pretty-print.o): Update
90 dependencies.
91
40013784
SB
922010-05-21 Steven Bosscher <steven@gcc.gnu.org>
93
94 * error.c, tree.c, typeck2.c, cxx-pretty-print.c, mangle.c:
95 Clean up redundant includes.
96
1a494ab5
PC
972010-05-20 Paolo Carlini <paolo.carlini@oracle.com>
98
99 PR c++/30298
100 * decl.c (xref_basetypes): Return false in case of ill-formed
101 redefinition.
102
2872152c
JM
1032010-05-19 Jason Merrill <jason@redhat.com>
104
a3360e77
JM
105 * call.c (reference_binding): Use cp_build_qualified_type_real
106 and cp_type_quals consistently.
107 (add_function_candidate): Likewise.
108 (build_conditional_expr): Likewise.
109 (convert_like_real): Likewise.
110 (type_passed_as): Likewise.
111 * class.c (add_method): Likewise.
112 (same_signature_p): Likewise.
113 (layout_class_type): Likewise.
114 * decl.c (cxx_init_decl_processing): Likewise.
115 (cp_fname_init): Likewise.
116 (grokdeclarator): Likewise.
117 * decl2.c (cp_reconstruct_complex_type): Likewise.
118 * init.c (build_new_1): Likewise.
119 * method.c (do_build_copy_constructor): Likewise.
120 (implicitly_declare_fn): Likewise.
121 * pt.c (tsubst_aggr_type): Likewise.
122 (tsubst): Likewise.
123 * rtti.c (init_rtti_processing): Likewise.
124 (build_headof): Likewise.
125 (build_dynamic_cast_1): Likewise.
126 (tinfo_base_init): Likewise.
127 (emit_support_tinfos): Likewise.
128 * semantics.c (capture_decltype): Likewise.
129 * tree.c (cv_unqualified): Likewise.
130 * typeck.c (composite_pointer_type): Likewise.
131 (string_conv_p): Likewise.
132
133 * mangle.c (write_CV_qualifiers_for_type): Tweak.
134
135 * call.c (initialize_reference): Use CP_TYPE_CONST_P.
136 * decl.c (start_decl): Likewise.
137 * semantics.c (finish_compound_literal): Likewise.
138 * typeck.c (check_return_expr): Use CP_TYPE_VOLATILE_P.
139 (cp_type_readonly): Remove.
140 * cp-tree.h: Remove declaration.
141
a0685b73
JM
142 * typeck.c (merge_types): Preserve memfn quals.
143
93e1ddcf
JM
144 * decl.c (grokdeclarator): Don't check quals on fn type.
145 * typeck.c (cp_apply_type_quals_to_decl): Likewise.
146 * tree.c (cp_build_qualified_type_real): Simplify qualifier checking.
147
2872152c
JM
148 PR c++/44193
149 * typeck.c (type_memfn_quals): New fn.
150 (apply_memfn_quals): New fn.
151 (cp_type_quals): Return TYPE_UNQUALIFIED for FUNCTION_TYPE.
152 (cp_type_readonly): Use cp_type_quals.
153 * cp-tree.h: Add declarations.
154 * tree.c (cp_build_qualified_type_real): Don't set, but do
155 preserve, quals on FUNCTION_TYPE.
156 (strip_typedefs): Use apply_memfn_quals and type_memfn_quals.
157 * decl.c (build_ptrmem_type): Likewise.
158 (grokdeclarator): Likewise.
159 (static_fn_type): Likewise.
160 * decl2.c (change_return_type): Likewise.
161 (cp_reconstruct_complex_type): Likewise.
162 * pt.c (tsubst_function_type): Likewise.
163 (unify): Likewise.
164 (tsubst): Likewise. Drop special FUNCTION_TYPE substitution code.
165
3fcb9d1b
NF
1662010-05-18 Nathan Froyd <froydnj@codesourcery.com>
167
168 * tree.c (build_min_non_dep_call_vec): Update comment.
169
c8361db1
JM
1702010-05-17 Jason Merrill <jason@redhat.com>
171
f18ea1bf
JM
172 * call.c (struct z_candidate): Add explicit_targs field.
173 (add_template_candidate_real): Set it.
174 (build_over_call): Use it to control init-list warning.
175
9d2b7551
JM
176 PR c++/44157
177 * call.c (build_over_call): Limit init-list deduction warning to
178 cases where the argument is actually an init-list.
179
c8361db1
JM
180 PR c++/44158
181 * call.c (build_over_call): Don't do bitwise copy for move ctor.
182
ad13f229
DS
1832010-05-17 Dodji Seketeli <dodji@redhat.com>
184 Jason Merrill <jason@redhat.com>
185
186 PR c++/44108
187 * decl.c (compute_array_index_type): Call mark_rvalue_use.
188
9feb3d6a
JM
1892010-05-15 Jason Merrill <jason@redhat.com>
190
191 * cp-tree.h (TYPE_NOEXCEPT_P): New macro.
192 * except.c (begin_eh_spec_block): Use MUST_NOT_THROW_EXPR if
193 TYPE_NOEXCEPT_P.
194 (finish_eh_spec_block): Adjust.
195
1f910942
JJ
1962010-05-15 Jakub Jelinek <jakub@redhat.com>
197
198 PR c++/44148
199 * pt.c (tsubst): Unshare template argument.
200
f4ce02c5
SB
2012010-05-15 Steven Bosscher <steven@gcc.gnu.org>
202
203 * decl.c: Include tree-iterator.h, as fixup for tree-inline.h changes.
204 * Make-lang.in: Fix dependencies accordingly.
205
786f715d
JM
2062010-05-14 Jason Merrill <jason@redhat.com>
207
b33a0480
JM
208 C++ DR 475
209 * except.c (build_throw): Simplify, adjust for DR 475.
210
9bb1a81b
JM
211 PR c++/44127
212 * except.c (dtor_nothrow): Return nonzero for type with
213 trivial destructor.
214
786f715d
JM
215 PR c++/44127
216 * cp-gimplify.c (gimplify_must_not_throw_expr): Use
217 gimple_build_eh_must_not_throw.
218
b5023f3c
MJ
2192010-05-14 Martin Jambor <mjambor@suse.cz>
220
221 * cp-lang.c (LANG_HOOKS_FOLD_OBJ_TYPE_REF): Remove both its undef
222 and define.
223
a940d033
JW
2242010-05-14 Jonathan Wakely <jwakely.gcc@gmail.com>
225
226 * call.c (build_new_method_call): Change warning text.
227 * typeck2.c (build_functional_cast): Change error text.
228
74b80262
SZ
2292010-05-14 Shujing Zhao <pearly.zhao@oracle.com>
230
231 PR c++/30566
232 * name-lookup.c (pushdecl_maybe_friend): Avoid the warnings about
233 shadowing the outer parameter or variables by the declaration of
234 nested function in nested structure or class. Warn the shadowing by
235 the declaration of nested lambda expression.
236
3a11c665
JM
2372010-05-13 Jason Merrill <jason@redhat.com>
238
239 * typeck.c (cp_build_array_ref): Factor out from...
240 (build_array_ref): ...here. Drop complain parm.
241 (build_new_op): Adjust.
242 * class.c (build_vtbl_ref_1): Adjust.
243 * decl2.c (grok_array_decl): Adjust.
244 * cp-tree.h: Adjust prototypes.
245
a2e66caf
JH
2462010-05-13 Jan Hubicka <jh@suse.cz>
247
248 * decl.c (cp_finish_decl): Do not worry about used attribute.
249
5c824000
JM
2502010-05-12 Jason Merrill <jason@redhat.com>
251
73647d75
JM
252 * typeck.c (build_array_ref): Take complain parm.
253 * cp-tree.h: Add it to prototype.
254 * call.c (build_new_op): Pass it.
255 * class.c (build_vtbl_ref): Pass it.
256 * decl2.c (grok_array_decl): Pass it.
257
5116acc6
JM
258 PR bootstrap/44048
259 PR target/44099
260 * cp-tree.def (NULLPTR_TYPE): Remove.
261 * cp-tree.h (NULLPTR_TYPE_P): New.
262 (SCALAR_TYPE_P): Use it.
263 (nullptr_type_node): New.
264 (cp_tree_index): Add CPTI_NULLPTR_TYPE.
265 * decl.c (cxx_init_decl_processing): Call record_builtin_type on
266 nullptr_type_node.
267 * cvt.c (ocp_convert): Use NULLPTR_TYPE_P instead of NULLPTR_TYPE.
268 * cxx-pretty-print.c (pp_cxx_constant): Likewise.
269 * error.c (dump_type, dump_type_prefix, dump_type_suffix): Likewise.
270 * mangle.c (write_type): Likewise.
271 * name-lookup.c (arg_assoc_type): Likewise.
272 * typeck.c (build_reinterpret_cast_1): Likewise.
273 * rtti.c (typeinfo_in_lib_p): Likewise.
274 (emit_support_tinfos): Remove local nullptr_type_node.
275
fbfc8363
JM
276 * cp-tree.h (UNKNOWN_TYPE): Remove.
277 * decl.c (cxx_init_decl_processing): Use LANG_TYPE instead.
278 * error.c (dumy_type, dump_type_prefix, dump_type_suffix): Likewise.
279 * typeck2.c (cxx_incomplete_type_diagnostic): Likewise.
280 * class.c (instantiate_type): Check unknown_type_node rather than
281 UNKNOWN_TYPE.
282 * name-lookup.c (maybe_push_decl): Likewise.
283 * rtti.c (get_tinfo_decl_dynamic): Likewise.
284 (get_typeid): Likewise.
285 * semantics.c (finish_offsetof): Likewise.
286
3784b33c
JM
287 PR c++/20669
288 * call.c (add_template_candidate_real): If deduction fails, still
289 add the template as a non-viable candidate.
290 (equal_functions): Handle template candidates.
291 (print_z_candidate): Likewise.
292 (print_z_candidates): Likewise.
293 (build_new_function_call): Likewise.
294
d451d5b2
JM
295 * cp-tree.h (LOOKUP_LIST_ONLY): New.
296 * call.c (add_candidates): Enforce it.
297 (build_new_method_call): Try non-list ctor if no viable list ctor.
298 (build_user_type_conversion_1): Likewise.
299
404f08f8
JM
300 * call.c (add_candidates): Distinguish between type(x) and
301 x.operator type().
302 (convert_class_to_reference): Set LOOKUP_NO_CONVERSION.
303 (build_new_method_call): Give better error for conversion op.
304
5c824000
JM
305 * call.c (add_candidates): Add first_arg and return_type parms.
306 Add special constructor/conversion op handling.
307 (convert_class_to_reference): Use it.
308 (build_user_type_conversion_1): Likewise.
309 (build_op_call): Likewise.
310 (build_new_method_call): Likewise.
311 (build_new_op): Adjust.
312 (perform_overload_resolution): Adjust.
313
aac73a6d
PC
3142010-05-11 Paolo Carlini <paolo.carlini@oracle.com>
315
316 PR c++/34272
317 PR c++/43630
318 PR c++/34491
319 * pt.c (process_partial_specialization): Return error_mark_node
320 in case of unused template parameters in partial specialization.
321
056928b2
JJ
3222010-05-11 Jakub Jelinek <jakub@redhat.com>
323
324 PR c++/44062
325 * semantics.c (finish_expr_stmt): Don't call mark_exp_read here...
326 * cvt.c (convert_to_void): ... but here. If expr is a COMPOUND_EXPR,
327 look at its second operand.
328
eaa9d009
JM
3292010-05-10 Jason Merrill <jason@redhat.com>
330
5a40306b
JM
331 PR c++/44017
332 * semantics.c (baselink_for_fns): Revert earlier change.
333
eaa9d009
JM
334 PR c++/44045
335 * typeck.c (cp_build_modify_expr): Complain about assignment to
336 array from init list.
337
34655c9e
FC
3382010-05-10 Fabien Chêne <fabien.chene@gmail.com>
339
340 PR c++/43719
341 * decl.c (check_initializer): strip array type before checking for
342 uninitialized const or ref members.
343
40bb78ad
FC
3442010-05-07 Fabien Chêne <fabien.chene@gmail.com>
345
346 PR c++/43951
347 * init.c (diagnose_uninitialized_cst_or_ref_member_1): Returns the
348 error count. Emit errors only if compain is true.
349 (build_new_1): Do not return error_mark_node if
350 diagnose_uninitialized_cst_or_ref_member_1 does not diagnose any
351 errors. Delay the check for user-provided constructor.
352 (perform_member_init): Adjust.
353 * cp-tree.h (diagnose_uninitialized_cst_or_ref_member): Change the
354 prototype.
355
14c2101d
JM
3562010-05-06 Magnus Fromreide <magfr@lysator.liu.se>
357 Jason Merrill <jason@redhat.com>
358
359 Add support for C++0x nullptr.
360 * cp-tree.def: Add NULLPTR_TYPE.
361 * cp-tree.h: Add nullptr_node.
362 (cp_tree_index): Add CPTI_NULLPTR.
363 (SCALAR_TYPE_P): Add NULLPTR_TYPE.
364 * call.c (null_ptr_cst_p): Handle nullptr.
365 (standard_conversion): Likewise.
366 (convert_arg_to_ellipsis): Likewise.
367 * mangle.c (write_type): Likewise.
368 * name-lookup.c (arg_assoc_type): Likewise.
369 * parser.c (cp_parser_primary_expression): Likewise.
370 * typeck.c (cp_build_binary_op): Likewise.
371 (build_reinterpret_cast_1): Likewise.
372 * error.c (dump_type): Likewise.
373 (dump_type_prefix, dump_type_suffix): Likewise.
374 * decl.c (cxx_init_decl_processing): Likewise.
375 * cxx-pretty-print.c (pp_cxx_constant): Likewise.
376 * cvt.c (ocp_convert): Likewise.
377 * rtti.c (typeinfo_in_lib_p, emit_support_tinfos): Put
378 nullptr_t tinfo in libsupc++.
379
941f78d1
JM
3802010-05-06 Jason Merrill <jason@redhat.com>
381
382 * semantics.c (simplify_aggr_init_expr): Use INIT_EXPR.
383
03a904b5
JJ
3842010-04-22 Jakub Jelinek <jakub@redhat.com>
385 Dodji Seketeli <dodji@redhat.com>
386
387 PR c/18624
388 * cp-tree.h (mark_exp_read, rvalue_use, lvalue_use, type_use):
389 Declare ...
390 * expr.c (mark_exp_read, rvalue_use, lvalue_use, type_use): ... new fns.
391 * typeck.c (cxx_sizeof_expr, cxx_alignof_expr): Call type_use.
392 (decay_conversion, perform_integral_promotions): Call rvalue_use.
393 (cp_build_unary_op): Call lvalue_use.
394 * decl.c (unused_but_set_errorcount): New variable.
395 (poplevel): Issue -Wunused-but-set-variable diagnostics.
396 (duplicate_decls): Merge DECL_READ_P flags.
397 (start_cleanup_fn): Set DECL_READ_P flag.
398 (finish_function): Issue -Wunused-but-set-parameter diagnostics.
399 * tree.c (rvalue): Call rvalue_use.
400 * pt.c (convert_nontype_argument): Likewise.
401 * semantics.c (finish_expr_stmt, finish_asm_stmt, finish_typeof,
402 finish_decltype_type): Likewise.
403 * call.c (convert_like_real) <ck_identity, ck_user>: Call rvalue use.
404 (build_x_va_arg, build_new_method_call, build_over_call): Call lvalue_use
405 or rvalue_use depending on the expr.
406 * init.c (build_new, build_delete): Likewise.
407 * rtti.c (build_typeid, build_dynamic_cast_1): Likewise.
408
6d729f28
JM
4092010-05-05 Jason Merrill <jason@redhat.com>
410
411 PR c++/43787
412 * cp-gimplify.c (cp_gimplify_expr): Remove copies of empty classes.
413 * call.c (build_over_call): Don't try to avoid INIT_EXPR copies here.
414
68fef9f9
PC
4152010-05-04 Paolo Carlini <paolo.carlini@oracle.com>
416
417 PR c++/43028
418 * pt.c (unify): Check each elt for error_mark_node.
419
b5c0a77e
JM
4202010-05-04 Jason Merrill <jason@redhat.com>
421
422 PR c++/38064
423 * typeck.c (cp_build_binary_op): Allow enums for <> as well.
424
4ac4b596
PC
4252010-05-04 Paolo Carlini <paolo.carlini@oracle.com>
426
427 PR c++/43705
428 * call.c (build_new_method_call): Return error_mark_node if fns is
429 NULL_TREE.
430
f857e9a4
DS
4312010-05-03 Dodji Seketeli <dodji@redhat.com>
432
433 PR c++/43953
434 * pt.c (most_specialized_class): Pretend we are processing
435 a template decl during the call to coerce_template_parms.
436
cbb4feb3
JM
4372010-05-03 Jason Merrill <jason@redhat.com>
438
439 PR c++/42810
440 PR c++/43680
441 * decl.c (finish_enum): Use the TYPE_MIN_VALUE and TYPE_MAX_VALUE
442 from the selected underlying type unless -fstrict-enums. Set
443 ENUM_UNDERLYING_TYPE to have the restricted range.
444 * cvt.c (type_promotes_to): Use ENUM_UNDERLYING_TYPE.
445 * class.c (check_bitfield_decl): Likewise.
446
13ead6d8
L
4472010-05-01 H.J. Lu <hongjiu.lu@intel.com>
448
449 PR c++/43951
450 * init.c (build_new_1): Revert the accidental checkin in
451 revision 158918.
452
5cb6410a
JM
4532010-04-30 Jason Merrill <jason@redhat.com>
454
455 PR c++/43868
456 * cxx-pretty-print.c (pp_cxx_decl_specifier_seq): Move pmf handling...
457 (pp_cxx_type_specifier_seq): ...here.
458
9aae8d16
SB
4592010-04-30 Steven Bosscher <steven@gcc.gnu.org>
460
ccb253b3 461 * optimize.c, parser.c, mangle.c, cp-tree.h: Do not include varray.h.
9aae8d16
SB
462 * Make-lang.in: Don't include varray.h dependency in CXX_TREE_H.
463
8cdea6ab
SZ
4642010-04-30 Shujing Zhao <pearly.zhao@oracle.com>
465
466 PR c++/43779
467 * typeck.c (warn_args_num): New function.
468 (convert_arguments): Use warn_args_num to print the diagnostic
469 messages.
470
10ab8f62
FC
4712010-04-29 Fabien Chêne <fabien.chene@gmail.com>
472
473 PR c++/43890
474 * init.c (diagnose_uninitialized_cst_or_ref_member): check for
475 user-provided constructor while recursing.
476
4b414c93
MLI
4772010-04-28 Manuel López-Ibáñez <manu@gcc.gnu.org>
478
479 PR c++/9335
480 * error.c (print_instantiation_partial_context_line): Handle
481 recursive instantiation.
482 (print_instantiation_partial_context): Likewise.
483
012e6a1e
JM
4842010-04-27 Jason Merrill <jason@redhat.com>
485
486 * init.c (perform_member_init): Check CLASS_TYPE_P.
487
31d1acec
FC
4882010-04-27 Fabien Chêne <fabien.chene@gmail.com>
489
490 PR c++/29043
491 * init.c (perform_member_init): check for uninitialized const or
492 reference members, including array types.
493
294e855f
JM
4942010-04-24 Jason Merrill <jason@redhat.com>
495
496 * tree.c (get_fns): Split out from get_first_fn.
497 * cp-tree.h: Declare it.
498 * search.c (shared_member_p): Use it.
499 * semantics.c (finish_qualified_id_expr): Simplify.
500 (finish_id_expression): Simplify.
798ec807 501
2defb926
JM
502 * semantics.c (finish_non_static_data_member): Call maybe_dummy_object
503 whenever object is NULL_TREE. Don't do 'this' capture here.
504 (finish_qualified_id_expr): Pass NULL_TREE.
505 (finish_id_expression): Likewise.
506 (lambda_expr_this_capture): Likewise.
507
38f1276b
JM
508 * semantics.c (finish_qualified_id_expr): Use maybe_dummy_object
509 rather than checking current_class_ref directly.
510 (finish_call_expr): Likewise.
511
a6846853
JM
512 PR c++/43856
513 * name-lookup.c (qualify_lookup): Disqualify lambda op().
514 * class.c (current_nonlambda_class_type): New fn.
515 * semantics.c (nonlambda_method_basetype): New.
516 * cp-tree.h: Declare them.
517 * tree.c (maybe_dummy_object): Handle implicit 'this' capture.
518
16de17ae
JM
519 * semantics.c (baselink_for_fns): Correct BASELINK_BINFO.
520
95b24c84
JM
521 PR c++/43875
522 * semantics.c (lambda_return_type): Complain about
523 braced-init-list.
524
ea8b8aa0
JM
525 PR c++/43790
526 * tree.c (cv_unqualified): Handle error_mark_node.
527
4a5d353f
JM
528 PR c++/41468
529 * call.c (convert_like_real) [ck_ambig]: Just return error_mark_node
530 if we don't want errors.
531
798ec807
JM
532 PR c++/41468
533 * class.c (convert_to_base): Add complain parameter. Pass
534 ba_quiet to lookup_base if we don't want errors.
535 (build_vfield_ref): Pass complain to convert_to_base.
536 * call.c (convert_like_real): Likewise.
537 (initialize_reference): Likewise.
538 (perform_direct_initialization_if_possible): Pass complain to
539 convert_like_real.
540 * cp-tree.h: Adjust.
541
6ad86a5b
FC
5422010-04-27 Fabien Chêne <fabien.chene@gmail.com>
543 Jason Merrill <jason@redhat.com>
544
545 PR c++/42844
546 * decl.c (check_for_uninitialized_const_var): Handle classes that need
547 constructing, too.
548 (check_initializer): Call it for classes that need constructing, too.
549 * class.c (in_class_defaulted_default_constructor): New.
550 * cp-tree.h: Declare it.
551
88274c4d
JM
5522010-04-20 Jason Merrill <jason@redhat.com>
553
554 PR c++/9335
555 * init.c (constant_value_1): Treat error_mark_node as a constant
556 if DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P is set.
557 * cvt.c (ocp_convert): Handle getting error_mark_node from
558 integral_constant_value.
559 * decl.c (compute_array_index_type): Likewise.
560
5a80a1dd
DS
5612010-04-20 Dodji Seketeli <dodji@redhat.com>
562
563 PR c++/43800
564 PR c++/43704
565 * typeck.c (incompatible_dependent_types_p): If one of the
566 compared types if not a typedef then honour their main variant
567 equivalence.
568
1197ce8e
JJ
5692010-04-20 Jakub Jelinek <jakub@redhat.com>
570
571 * cp-tree.h (TYPE_REF_IS_RVALUE): Remove.
572
d38f6bc0
DS
5732010-04-19 Dodji Seketeli <dodji@redhat.com>
574
575 PR c++/43704
576 * typeck.c (structural_comptypes): Test dependent typedefs
577 incompatibility before testing for their main variant based
578 equivalence.
579
5a2fa9e8
JJ
5802010-04-19 Jakub Jelinek <jakub@redhat.com>
581
582 * cp-tree.h (SCOPED_ENUM_P, UNSCOPED_ENUM_P, SET_SCOPED_ENUM_P): Use
583 ENUM_IS_SCOPED bit instead of TYPE_LANG_FLAG_5.
584
3b9e5d95
EB
5852010-04-18 Eric Botcazou <ebotcazou@adacore.com>
586
587 * decl.c (cxx_init_decl_processing): Remove second argument in call to
588 build_common_tree_nodes.
589
943f82e7
JM
5902010-04-14 Jason Merrill <jason@redhat.com>
591
592 PR c++/36625
593 * parser.c (cp_parser_parenthesized_expression_list): Change
594 is_attribute_list parm to int to indicate whether or not to
595 handle initial identifier specially.
596 (cp_parser_attribute_list): Use attribute_takes_identifier_p.
597
44b2dc6c
JM
5982010-04-13 Jason Merrill <jason@redhat.com>
599
600 * call.c (type_decays_to): Check MAYBE_CLASS_TYPE_P instead of
601 CLASS_TYPE_P.
602 * parser.c (cp_parser_lambda_expression): Complain about lambda in
603 unevaluated context.
604 * pt.c (iterative_hash_template_arg): Don't crash on lambda.
605
d6850483
JM
6062010-04-12 Jason Merrill <jason@redhat.com>
607
e62e4922
JM
608 PR c++/43641
609 * semantics.c (maybe_add_lambda_conv_op): Use build_call_a and tweak
610 return value directly.
611
d6850483
JM
612 * call.c (type_decays_to): Call cv_unqualified for non-class type.
613
9d809e8f
FC
6142010-04-12 Fabien Chene <fabien.chene@gmail.com>
615
616 PR c++/25811
617 * cp-tree.h (diagnose_uninitialized_cst_or_ref_member): Declare.
618 * init.c (build_new_1): Check for uninitialized const members and
619 uninitialized reference members, when using new without
620 new-initializer. Call diagnose_uninitialized_cst_or_ref_member.
621 (diagnose_uninitialized_cst_or_ref_member): Define, call
622 diagnose_uninitialized_cst_or_ref_member_1.
623 (diagnose_uninitialized_cst_or_ref_member_1): New function.
624
3fc20697
RG
6252010-04-12 Richard Guenther <rguenther@suse.de>
626
627 PR c++/43611
628 * semantics.c (expand_or_defer_fn_1): Do not keep extern
629 template inline functions.
630
dc8d2739
MLI
6312010-04-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
632
633 PR c++/28584
634 * typeck.c (cp_build_c_cast): Warn for casting integer to larger
635 pointer type.
636
2401726e
JM
6372010-04-07 Jason Merrill <jason@redhat.com>
638
fb4117f8
JM
639 PR c++/43016
640 * decl.c (start_preparsed_function): Do defer nested functions.
641
48326487
JM
642 PR c++/11094, DR 408
643 * cp-tree.h (VAR_HAD_UNKNOWN_BOUND, SET_VAR_HAD_UNKNOWN_BOUND): New.
644 * decl2.c (finish_static_data_member_decl): Set it.
645 * decl.c (duplicate_decls): Propagate it.
646 * pt.c (tsubst_decl): Don't substitute the domain of an array
647 VAR_DECL if it's set.
648 (regenerate_decl_from_template): Substitute it here.
649 (type_dependent_expression_p): Return true if it's set.
650 * semantics.c (finish_decltype_type): Instantiate such a variable.
651 * typeck.c (cxx_sizeof_expr): Likewise.
652 (strip_array_domain): New.
653
9f1b98f0 654 PR c++/43145
ae099258
JM
655 * name-lookup.c (current_decl_namespace): Non-static.
656 (pop_nested_namespace): Sanity check.
657 * cp-tree.h: Declare current_decl_namespace.
658 * decl.c (grokvardecl): Use it instead of current_namespace.
659 (grokfndecl): Likewise.
660
feb3b88a
JM
661 PR c++/38392
662 * pt.c (tsubst_friend_function): Instatiate a friend that has already
663 been used.
664
7dcfe861
JM
665 * pt.c (print_template_statistics): New.
666 * cp-tree.h: Declare it.
667 * tree.c (cxx_print_statistics): Call it.
668
2401726e
JM
669 PR c++/41970
670 * decl.c (grokvardecl): Tweak warning message.
671 (grokfndecl): Likewise.
672
5fd5c97a
DS
6732010-04-07 Dodji Seketeli <dodji@redhat.com>
674
675 PR c++/42697
676 *pt.c (tsubst_decl): Get the arguments of a specialization from
677 the specialization template, not from the most general template.
678
7c094c11
DS
6792010-04-07 Dodji Seketeli <dodji@redhat.com>
680
681 PR c++/40239
682 * typeck2.c (process_init_constructor_record):
683 value-initialize members that are are not explicitely
684 initialized.
685
6addabbb
JZ
6862010-04-07 Jie Zhang <jie@codesourcery.com>
687
688 PR c++/42556
689 * typeck2.c (split_nonconstant_init_1): Drop empty CONSTRUCTOR
690 when all of its elements are non-constant and have been split out.
691
d4a2b486
JM
6922010-04-06 Taras Glek <taras@mozilla.com>
693 Jason Merrill <jason@redhat.com>
694
695 * parser.c (cp_parser_class_specifier): Set class location to that
696 of IDENTIFIER_NODE instead of '{' when possible.
697 * semantics.c (begin_class_definition): Do not overide locations
698 with less precise ones.
699
d5eebac0
JM
7002010-04-06 Jason Merrill <jason@redhat.com>
701
62daa139
JM
702 PR c++/43648
703 * name-lookup.c (constructor_name_p): Allow X::~X even for typedefs.
704
d5eebac0
JM
705 PR c++/43621
706 * pt.c (maybe_update_decl_type): Check the return value from
707 push_scope.
708
9542943d
JM
7092010-04-01 Jason Merrill <jason@redhat.com>
710
d4b5fb22
JM
711 * decl.c (next_initializable_field): No longer static.
712 * cp-tree.h: Declare it.
713 * call.c (build_aggr_conv): Fail if there are more initializers
714 than initializable fields.
715
9542943d
JM
716 * semantics.c (maybe_add_lambda_conv_op): Use null_pointer_node
717 instead of void_zero_node.
718
d7df0b91
DS
7192010-03-31 Dodji Seketeli <dodji@redhat.com>
720
721 PR c++/43558
722 * cp-tree.h (TEMPLATE_TYPE_PARM_SIBLING_PARMS): New accessor macro.
723 * pt.c (end_template_parm_list): Store sibling template parms of
724 each TEMPLATE_TYPE_PARMs into its TEMPLATE_TYPE_PARM_SIBLING_PARMS.
725 (push_template_decl_real): Don't store the containing template decl
726 into the DECL_CONTEXT of TEMPLATE_TYPE_PARMs anymore.
727 * typeck.c (get_template_parms_of_dependent_type): Get sibling parms
728 of a TEMPLATE_TYPE_PARM from TEMPLATE_TYPE_PARM_SIBLING_PARMS.
729 Simplify the logic.
730
ce0ecb98
JM
7312010-03-30 Jason Merrill <jason@redhat.com>
732
74537078
JM
733 PR c++/43076
734 * pt.c (push_template_decl_real): Deal better with running out of
735 scopes before running out of template parms.
736
fb077955
JM
737 PR c++/41185
738 PR c++/41786
739 * parser.c (cp_parser_direct_declarator): Don't allow VLAs in
740 function parameter context. Don't print an error if parsing
741 tentatively.
742
ce0ecb98
JM
743 PR c++/43559
744 * pt.c (more_specialized_fn): Don't control cv-qualifier check
745 with same_type_p.
746
c6cc83d0
JM
7472010-03-26 Jason Merrill <jason@redhat.com>
748
749 PR c++/43509
750 * parser.c (cp_parser_qualifying_entity): Do accept enum names in
751 c++0x mode, but not other type-names.
752
5f431950
DS
7532010-03-26 Dodji Seketeli <dodji@redhat.com>
754
755 PR c++/43327
756 * pt.c (add_to_template_args): Support NULL ARGS;
757 (most_specialized_class): call coerce_template_parms on
758 template arguments passed to get_class_bindings. Use
759 add_to_template_args.
760 (unify): Handle VAR_DECLs.
761
3910807d
DS
7622010-03-26 Dodji Seketeli <dodji@redhat.com>
763
764 * cp-tree.h (get_template_parms_at_level): Change unsigned parm
765 into int.
766 * pt.c (get_template_parms_at_level): Adjust.
767
58f5f6b4
DS
7682010-03-25 Dodji Seketeli <dodji@redhat.com>
769
770 PR c++/43206
771 * cp-tree.h (get_template_parms_at_level): Declare ...
772 * pt.c (get_template_parms_at_level): ... new function.
773 * typeck.c (get_template_parms_of_dependent_type): If a template
774 type parm's DECL_CONTEXT isn't yet set, get its siblings from
775 current_template_parms. Use get_template_parms_at_level. Remove
776 useless test.
777 (incompatible_dependent_types_p): If we get empty parms from just one
778 of the template type parms we are comparing then the template parms are
779 incompatible.
780
bff0b1a6
JM
7812010-03-24 Jason Merrill <jason@redhat.com>
782
783 PR c++/43502
784 * parser.c (make_declarator): Initialize id_loc.
785 (cp_parser_lambda_declarator_opt): And set it.
786
c6be04ad
JM
7872010-03-23 Jason Merrill <jason@redhat.com>
788
789 Make lambda conversion op and op() non-static.
790 * semantics.c (maybe_add_lambda_conv_op): Make non-static.
791 Also add the thunk function returned by the conversion op.
792 Mark the conversion deleted if the op() is variadic.
793 * decl2.c (mark_used): Give helpful message about deleted conversion.
794 * parser.c (cp_parser_lambda_declarator_opt): Don't make op() static.
795 * semantics.c (finish_this_expr): Adjust.
796 * mangle.c (write_closure_type_name): Adjust.
797 * decl.c (grok_op_properties): Don't allow it.
798 * call.c (build_user_type_conversion_1): No static conversion ops.
799 (build_op_call): Or op().
800
801 * decl2.c (change_return_type): Fix 'this' quals.
802
18932737
JM
8032010-03-22 Jason Merrill <jason@redhat.com>
804
cc72bbaa
JM
805 PR c++/43333
806 * tree.c (pod_type_p): Use old meaning in C++98 mode.
807
18932737
JM
808 PR c++/43281
809 * pt.c (contains_auto_r): New fn.
810 (do_auto_deduction): Use it.
811 (tsubst): Don't look at TREE_TYPE of a TEMPLATE_TYPE_PARM.
812
7801b86a
SM
8132010-03-20 Simon Martin <simartin@users.sourceforge.net>
814
815 PR c++/43081:
816 * decl2.c (grokfield): Handle invalid initializers for member
817 functions.
818
39bac010
DS
8192010-03-20 Dodji Seketeli <dodji@redhat.com>
820
821 PR c++/43375
822 * method.c (make_alias_for): Avoid crashing when DECL_LANG_SPECIFIC
823 is NULL.
824 * decl2.c (vague_linkage_p): Likewise.
825
8269067b
PC
8262010-03-18 Paolo Carlini <paolo.carlini@oracle.com>
827
828 PR c++/43418
829 * parser.c (cp_parser_for_init_statement): Use NULL_TREE, not
830 false, in the cp_parser_expression_statement call.
831
1b88f240
JM
8322010-03-05 Jason Merrill <jason@redhat.com>
833
834 * mangle.c (mangle_decl): Give name collision error even without
835 ASM_OUTPUT_DEF.
836
83ff92fb
MP
8372010-03-04 Marco Poletti <poletti.marco@gmail.com>
838
839 * pt.c (process_partial_specialization): Use error_n instead of
840 error.
841
28fd1fc1
L
8422010-03-03 Jason Merrill <jason@redhat.com>
843
844 PR c++/12909
845 * mangle.c (mangle_decl): Handle VAR_DECL, too.
846
58a15cf8
JM
8472010-03-03 Jason Merrill <jason@redhat.com>
848
849 PR c++/12909
850 * mangle.c: Include cgraph.h.
851 (mangle_decl): If the mangled name will change in a later
852 ABI version, make the later mangled name an alias.
853 * method.c (make_alias_for): Copy DECL_ARGUMENTS.
854 * Make-lang.in (mangle.o): Depend on cgraph.h.
d6dcdbd5
JM
855 * method.c (make_alias_for): Handle VAR_DECL, too.
856 * decl2.c (vague_linkage_p): Rename from vague_linkage_fn_p.
857 * tree.c (no_linkage_check): Adjust.
858 * decl.c (maybe_commonize_var): Adjust.
859 * cp-tree.h: Adjust.
58a15cf8 860
894e2652
SZ
8612010-03-01 Marco Poletti <poletti.marco@gmail.com>
862
863 * pt.c (redeclare_class_template): Use error_n and inform_n.
864
2a3dbebf
MM
8652010-02-27 Mark Mitchell <mark@codesourcery.com>
866
867 PR c++/42748
868 * cp-tree.h (push_tinst_level): Declare.
869 (pop_tinst_level): Likewise.
870 * pt.c (push_tinst_level): Give it external linkage.
871 (pop_tinst_level): Likewise.
872 * mangle.c (mangle_decl_string): Set the source location to that
873 of the decl while mangling.
874
baae602e
SM
8752010-02-27 Simon Martin <simartin@users.sourceforge.net>
876
877 PR c++/42054
878 * pt.c (redeclare_class_template): Return false if there are erroneous
879 template parameters.
880
124e0d27
MLI
8812010-02-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
882
883 * pt.c (push_tinst_level): Replace -ftemplate-depth- with
884 -ftemplate-depth=.
885
254d1a5a
JM
8862010-02-24 Jason Merrill <jason@redhat.com>
887
b66093b0
JM
888 PR c++/12909
889 * mangle.c (write_type): Give -Wabi warning for old vector mangling.
890
254d1a5a
JM
891 * class.c (layout_class_type): Don't give -Wabi warning for a bug
892 in a previous ABI version.
893
c6569cd0
JM
8942010-02-23 Jason Merrill <jason@redhat.com>
895
896 PR c++/43143
897 * typeck2.c (digest_init_r): Accept value init of array.
898
a98c2819
MLI
8992010-02-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
900
901 PR c++/43126
902 * typeck.c (convert_arguments): Update error message.
a98c2819 903
3a7ba040
MS
9042010-02-22 Mike Stump <mikestump@comcast.net>
905
906 PR c++/43125
907 * decl.c (duplicate_decls): Merge DECL_PRESERVE_P.
908
f89b94d9
MLI
9092010-02-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
910
911 PR c++/23510
912 * error.c (print_instantiation_partial_context_line): New.
913 (print_instantiation_partial_context): Print at most 12 contexts,
914 skip the rest with a message.
915
04afbf1c
DS
9162010-02-21 Dodji Seketeli <dodji@redhat.com>
917
918 PR c++/42824
919 * pt.c (lookup_template_class): Better support of specialization
920 of member of class template implicit instantiation.
921
17251338
MLI
9222010-02-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
923
924 PR c++/35669
925 * call.c (conversion_null_warnings): Replace -Wconversion with
926 -Wconversion-null.
927 * cvt.c (build_expr_type_conversion): Likewise.
928
935c0a5d
JM
9292010-02-18 Jason Merrill <jason@redhat.com>
930
7c08df6c
JM
931 PR c++/42837
932 * class.c (create_vtable_ptr): Set DECL_PACKED if type is packed.
933
1ff6b2c8
JM
934 PR c++/43108
935 * typeck.c (cp_build_binary_op): Adapt mixed complex/non handling from
936 C build_binary_op.
937 * cp-tree.h (WANT_VECTOR_OR_COMPLEX): Rename from WANT_VECTOR.
938 * cvt.c (build_expr_type_conversion): Allow COMPLEX_TYPE.
939
7890246f
JM
940 PR c++/43070
941 * semantics.c (finish_goto_stmt): Don't call decay_conversion.
942
04daa92b
JM
943 PR c++/26261
944 PR c++/43101
945 * pt.c (tsubst_qualified_id): Do normal lookup in non-dependent scope.
946 (maybe_update_decl_type): New fn.
947 * parser.c (cp_parser_init_declarator): Use it.
948
935c0a5d
JM
949 PR c++/43109
950 * semantics.c (begin_class_definition): Don't crash on unnamed ns.
951
d29760ad
JM
9522010-02-17 Jason Merrill <jason@redhat.com>
953
9ba59715
JM
954 PR c++/43075
955 * call.c (build_over_call): Don't create zero-sized assignments.
956 * cp-gimplify.c (cp_genericize_r): Don't remove them here.
957 * cp-objcp-common.c (cp_expr_size): Remove.
958 * cp-tree.h: Remove prototype.
959
77278f4a
JM
960 PR c++/43069
961 * name-lookup.c (set_decl_namespace): Don't copy DECL_CONTEXT if the
962 decl we looked up doesn't match.
963
85a52ea5
JM
964 PR c++/43093
965 * cp-gimplify.c (cp_gimplify_expr) [INIT_EXPR]: Return if we don't
966 have an INIT_EXPR anymore.
967
d29760ad
JM
968 PR c++/43079
969 * pt.c (convert_nontype_argument): Change assert to test.
970
38e40fcd
JM
9712010-02-16 Jason Merrill <jason@redhat.com>
972
0d08582e
JM
973 * cp-gimplify.c (cp_gimplify_expr): Fix error recovery.
974
1e2ddf80
JM
975 PR c++/43031
976 * cp-gimplify.c (cp_gimplify_expr) [MODIFY_EXPR]: Use
977 VIEW_CONVERT_EXPR for conversions between structural equality types
978 that the back end can't tell are the same.
979
38e40fcd
JM
980 PR c++/43036
981 * tree.c (build_cplus_array_type): Set TYPE_MAIN_VARIANT to strip
982 cv-quals from element here.
983 (cp_build_qualified_type_real): Not here. Preserve typedef name.
984
1acb8caa
JM
9852010-02-14 Jason Merrill <jason@redhat.com>
986
987 PR c++/41997
988 * semantics.c (finish_compound_literal): Use
989 cp_apply_type_quals_to_decl when creating a static variable.
990
da7d88bf
JM
9912010-02-12 Jason Merrill <jason@redhat.com>
992
993 PR c++/43024
994 * name-lookup.h (current_binding_level): Check for null
995 cp_function_chain.
996
96b4a0b5
JM
9972010-02-12 Jason Merrill <jason@redhat.com>
998
999 PR c++/43054
76a25412 1000 * tree.c (cp_tree_equal): Correct CALL_EXPR logic.
96b4a0b5 1001
2e034e32
JJ
10022010-02-12 Jakub Jelinek <jakub@redhat.com>
1003
1004 PR c++/43033
1005 * name-lookup.c (pushdecl_maybe_friend): Check default args of t
1006 instead of x.
1007
19030d77
JM
10082010-02-10 Jason Merrill <jason@redhat.com>
1009
1010 PR c++/41896
1011 * semantics.c (outer_lambda_capture_p): Revert.
1012 (add_capture): Only finish_member_declaration if
1013 we're in the lambda class.
1014 (register_capture_members): New.
1015 * cp-tree.h: Declare it.
1016 * parser.c (cp_parser_lambda_expression): Call it.
1017
2cb95a6a
JM
10182010-02-10 Jason Merrill <jason@redhat.com>
1019
1020 PR c++/41896
1021 * semantics.c (outer_lambda_capture_p): Use current_function_decl
1022 instead of current_class_type.
1023
f1c3cf3c
JM
10242010-02-10 Jason Merrill <jason@redhat.com>
1025
1026 PR c++/42983, core issue 906
1027 * method.c (defaultable_fn_check): Check virtualness.
1028
7a79ff3b
JM
10292010-02-10 Jason Merrill <jason@redhat.com>
1030
1031 PR c++/43016
1032 * semantics.c (maybe_add_lambda_conv_op): Set DECL_INTERFACE_KNOWN.
1033
f25a2b52
SZ
10342010-02-10 Shujing Zhao <pearly.zhao@oracle.com>
1035
1036 * Make-lang.in (cp/cvt.o, cp/parser.o, cp/search.o): Depend on intl.h.
1037 * cvt.c (warn_ref_binding): Wrap the messages into G_() for easy
1038 translation.
1039 * parser.c (cp_parser_postfix_expression, cp_parser_new_type_id)
1040 (cp_parser_cast_expression, cp_parser_condition, cp_parser_decltype)
1041 (cp_parser_parameter_declaration)
1042 (cp_parser_exception_specification_opt)
1043 (cp_parser_exception_declaration): Likewise.
1044 * pt.c (check_default_tmpl_args): Likewise.
1045 * search.c (lookup_field_r): Likewise.
1046
0bbe864d
JM
10472010-02-09 Jason Merrill <jason@redhat.com>
1048
1049 PR c++/42399
1050 * pt.c (tsubst_copy_and_build): Propagate LAMBDA_EXPR_LOCATION.
1051
643d4cd6
JM
10522010-02-09 Jason Merrill <jason@redhat.com>
1053
1054 PR c++/42370
1055 * decl2.c (change_return_type): New fn.
1056 * semantics.c (apply_lambda_return_type): Use it.
1057 * cp-tree.h: Declare it.
1058
6561cdf6
RG
10592010-02-05 Richard Guenther <rguenther@suse.de>
1060
1061 * Make-lang.in (cp/cp-lang.o): Depend on gt-cp-cp-lang.h.
1062 * cp-lang.c: Include gt-cp-cp-lang.h.
1063 * config-lang.in (gtfiles): Add cp/cp-lang.c.
1064
3cdabe3b
DS
10652010-02-05 Dodji Seketeli <dodji@redhat.com>
1066
1067 PR c++/42915
1068 * typeck.c (get_template_parms_of_dependent_type): Try getting
1069 the template parameters fromt the type itself first.
1070
abfe01ce
JM
10712010-02-03 Jason Merrill <jason@redhat.com>
1072
f000c6a7
JM
1073 PR c++/4926
1074 PR c++/38600
1075 * mangle.c (write_unqualified_id): Split out from write_expression.
1076 (write_unqualified_name): Call it.
1077 (write_member_name): Likewise.
1078 (write_expression): Support TEMPLATE_ID_EXPR.
1079 Disambiguate operator names.
1080
abfe01ce
JM
1081 PR c++/12909
1082 * mangle.c (write_type) [VECTOR_TYPE]: Change mangling with
1083 -fabi-version=4.
1084
e6ca6e2a
JM
10852010-02-02 Jason Merrill <jason@redhat.com>
1086
1087 PR c++/41090
1088 * decl.c (cp_finish_decl): Add local statics to cfun->local_decls.
1089 * optimize.c (clone_body): Remap their initializers when making base
1090 variants.
1091 (maybe_clone_body): Complain if multiple clones aren't safe.
1092
1a048f82
DS
10932010-01-29 Dodji Seketeli <dodji@redhat.com>
1094
1095 PR c++/42758
1096 PR c++/42634
1097 PR c++/42336
1098 PR c++/42797
1099 PR c++/42880
1100 * cp-tree.h (NON_DEFAULT_TEMPLATE_ARGS_COUNT,
1101 SET_NON_DEFAULT_TEMPLATE_ARGS_COUNT,
1102 GET_NON_DEFAULT_TEMPLATE_ARGS_COUNT): New accessor macros.
1103 * pt.c (coerce_template_parms, type_unification_real,
1104 expand_template_argument_pack, coerce_template_parameter_pack):
1105 Set the non default template args count.
1106 (current_template_args): Always set non defaulted
1107 template args count when compiled with --enable-checking
1108 (tsubst_template_args, type_unification_real): Propagate the non
1109 defaulted template args count.
1110 * error.c (get_non_default_template_args_count): Renamed
1111 count_non_default_template_args into this. Don't calculate the
1112 non default template argument count anymore. Use the new
1113 accessor macros above to get it.
1114 (dump_template_argument_list, dump_type, dump_decl,
1115 dump_template_parms): Adjust.
1116 * parser.c (cp_parser_template_argument_list): Always set defaulted
1117 template args count when compiled with --enable-checking.
1118
9ee5ebeb
SZ
11192010-01-29 Shujing Zhao <pearly.zhao@oracle.com>
1120
1121 * decl.c (redeclaration_error_message): Wrap the return messages into
1122 G_() for easy translation.
1123
cd924144
JM
11242010-01-28 Jason Merrill <jason@redhat.com>
1125
1126 PR c++/42880
1127 * semantics.c (begin_class_definition): Don't use type_as_string.
1128
20c202f3
DS
11292010-01-28 Dodji Seketeli <dodji@redhat.com>
1130
1131 PR c++/42713
1132 PR c++/42820
1133 * typeck.c (get_template_parms_of_dependent_type): Factorized
1134 this out of incompatible_template_type_parms_p
1135 (incompatible_dependent_types_p): Renamed
1136 incompatible_template_type_parms_p into this. Make it detect
1137 two incompatible dependent typedefs too.
1138 (structural_comptypes): Use incompatible_dependent_types_p.
1139 * pt.c (get_template_info):
1140 Handle BOUND_TEMPLATE_TEMPLATE_PARAM.
1141
ebf0bf7f
JJ
11422010-01-20 Janis Johnson <janis187@us.ibm.com>
1143 Jason Merrill <jason@redhat.com>
1144
1145 * mangle.c (write_type): Mangle transparent record as member type.
1146 * semantics.c (begin_class_definition): Recognize decimal classes
1147 and set TYPE_TRANSPARENT_AGGR.
1148
4d43dcde
JM
11492010-01-20 Jason Merrill <jason@redhat.com>
1150
1151 PR c++/42338
1152 * mangle.c (write_expression): Handle tree codes that have extra
1153 arguments in the middle-end.
1154
4227d4a1
PC
11552010-01-20 Paolo Carlini <paolo.carlini@oracle.com>
1156
1157 PR c++/42038
1158 * except.c (expand_start_catch_block): Deal correctly with
1159 do_begin_catch returning error_mark_node.
1160
e4672ccd
JM
11612010-01-20 Jason Merrill <jason@redhat.com>
1162
a402c1b1
JM
1163 PR c++/41788
1164 * class.c (layout_class_type): Set packed_maybe_necessary for packed
1165 non-PODs.
1166
1f4a7a48
JM
1167 PR c++/41920
1168 * semantics.c (build_lambda_object): Call mark_used on captured
1169 variables.
1170
e4672ccd
JM
1171 PR c++/40750
1172 * decl.c (grokdeclarator): Clear type_quals for a member function
1173 declared using a typedef. Don't complain about adding cv-quals
1174 to a function typedef in C++0x mode.
1175
1124098b
JJ
11762010-01-20 Jakub Jelinek <jakub@redhat.com>
1177
1178 * decl.c (create_array_type_for_decl): Remove set but not used
1179 variable error_msg. Remove break stmts after return stmts.
1180
11d7788d
DS
11812010-01-19 Dodji Seketeli <dodji@redhat.com>
1182
1183 * error.c (dump_template_parms, count_non_default_template_args):
1184 Revert fix of PR c++/42634.
1185
ebea03e0
DS
11862010-01-18 Dodji Seketeli <dodji@redhat.com>
1187
1188 PR c++/42634
1189 * error.c (dump_template_parms): Use innermost template
1190 arguments before calling count_non_default_template_args.
1191 (count_non_default_template_args): We are being called with
1192 template innermost arguments now. There is no need to ensure
1193 that again.
1194
a5cf630e
DS
11952010-01-18 Dodji Seketeli <dodji@redhat.com>
1196
1197 PR c++/42766
1198 * cvt.c (build_expr_type_conversion): Look through OVERLOAD.
1199
c4471bb2
DS
12002010-01-17 Dodji Seketeli <dodji@redhat.com>
1201
1202 PR c++/42697
1203 *pt.c (tsubst_decl): Revert commit for PR c++/42697.
1204
4548cb4b
DS
12052010-01-17 Dodji Seketeli <dodji@redhat.com>
1206
1207 PR c++/42697
1208 *pt.c (tsubst_decl): Get the arguments of a specialization from
1209 the specialization template, not from the most general template.
1210
d1c05c88
JM
12112010-01-16 Jason Merrill <jason@redhat.com>
1212
1213 PR c++/42761
1214 * semantics.c (finish_decltype_type): Within a template, treat
1215 unresolved CALL_EXPR as dependent.
1216
58be9ce9
DS
12172010-01-15 Dodji Seketeli <dodji@redhat.com>
1218
1219 * error.c (dump_template_parms,count_non_default_template_args):
1220 Revert changes of PR c++/42634.
1221
ef5d1181
JJ
12222010-01-14 Jakub Jelinek <jakub@redhat.com>
1223
1224 PR middle-end/42674
1225 * decl.c (finish_function): Don't emit -Wreturn-type warnings in
1226 functions with noreturn attribute.
1227
2d1a618e
JM
12282010-01-14 Jason Merrill <jason@redhat.com>
1229
6700a285
JM
1230 PR c++/42701
1231 * call.c (build_new_method_call): Don't free the vec here.
1232
2d1a618e
JM
1233 PR c++/42655
1234 * call.c (convert_like_real): Do full decay_conversion for ck_rvalue.
1235
a5859aaf
DS
12362010-01-13 Dodji Seketeli <dodji@redhat.com>
1237
1238 PR c++/42634
1239 * error.c (dump_template_parms): Use innermost template
1240 arguments before calling count_non_default_template_args.
1241 (count_non_default_template_args): We are being called with
1242 template innermost arguments now. There is no need to ensure
1243 that again.
1244
c8f4e43a
DS
12452010-01-07 Dodji Seketeli <dodji@redhat.com>
1246
1247 c++/40155
1248 * pt.c (unify_pack_expansion): In non-deduced contexts, re-use template
1249 arguments that were previously deduced.
1250
d097567d
JM
12512010-01-05 Jason Merrill <jason@redhat.com>
1252
1253 * pt.c (unify_pack_expansion): Handle deduction from init-list.
1254 * call.c (build_over_call): Don't complain about it.
1255
4b4a42c4
JM
12562010-01-04 Jason Merrill <jason@redhat.com>
1257
282c399b
JM
1258 PR c++/42555
1259 * pt.c (tsubst_decl): Don't apply type attributes in place.
1260
4b4a42c4
JM
1261 PR c++/42567
1262 * semantics.c (describable_type): Remove decltype comment and
1263 semantics.
1264
ad41bd84
JM
1265
1266\f
0bdf1263 1267Copyright (C) 2010 Free Software Foundation, Inc.
ad41bd84
JM
1268
1269Copying and distribution of this file, with or without modification,
1270are permitted in any medium without royalty provided the copyright
1271notice and this notice are preserved.
This page took 0.482817 seconds and 5 git commands to generate.