]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/cp/ChangeLog
tree-core.h (tree_decl_with_vis): Replace comdat_group by symtab_node pointer.
[thirdparty/gcc.git] / gcc / cp / ChangeLog
CommitLineData
aede2c10
JH
12014-05-23 Jan Hubicka <hubicka@ucw.cz>
2
3 * optmize.c (maybe_thunk_body): Use set_comdat_group.
4 (maybe_clone_body): Likewise.
5 * decl.c (duplicate_decls): Update code duplicating comdat group;
6 do not copy symtab pointer; before freeing newdecl remove it
7 from symtab.
8 * decl2.c (constrain_visibility): Use set_comdat_group.
9
c517fc92
JH
102014-05-23 Jan Hubicka <hubicka@ucw.cz>
11
12 * rtti.c: Include tm_p.h
13 (emit_tinfo_decl): Force RTTI data to be aligned to required
14 ABI alignment only.
15
8ce8d98e
JH
162014-05-23 Jan Hubicka <hubicka@ucw.cz>
17
18 * class.c (build_vtable): Align vtables to TARGET_VTABLE_ENTRY_ALIGN
19 ignoring other target adjustments.
20
edbba2ce
TS
212014-05-23 Thomas Schwinge <thomas@codesourcery.com>
22
f3316c6d
TS
23 * semantics.c (finish_omp_clauses): Remove duplicated variable
24 initialization.
25
edbba2ce
TS
26 * parser.c (cp_parser_omp_target): Return bool values.
27
0c018b6f
PC
282014-05-22 Paolo Carlini <paolo.carlini@oracle.com>
29
30 PR c++/61088
31 * lambda.c (add_capture): Enforce that capture by value requires
32 complete type.
33 * typeck2.c (cxx_incomplete_type_inform): Early return if
34 TYPE_MAIN_DECL is null.
35
d8000f03
JW
362014-05-21 Jonathan Wakely <jwakely@redhat.com>
37
38 PR c/61271
39 * cp-array-notation.c (cilkplus_an_triplet_types_ok_p): Fix condition.
40
174ebf65
VV
412014-05-21 Ville Voutilainen <ville.voutilainen@gmail.com>
42
43 PR c++/61133
44 * lambda.c (build_capture_proxy, add_capture): Treat normal
45 captures and init-captures identically.
46
7315daa6
MW
472014-05-21 Mark Wielaard <mjw@redhat.com>
48
49 PR debug/16063
50 * cp-lang.c (cxx_enum_underlying_base_type): New function.
51 (LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE): Define.
52
632f2871
RS
532014-05-21 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
54
55 * cvt.c (convert_to_void): Use void_node instead of void_zero_node.
56 * cp-array-notation.c (replace_invariant_exprs): Likewise.
57 (expand_array_notation): Handle VOID_CST.
58 * error.c (dump_expr): Likewise.
59 * cxx-pretty-print.c (cxx_pretty_printer::primary_expression)
60 (cxx_pretty_printer::expression): Likewise.
61 (pp_cxx_new_expression): Use void_node instead of void_zero_node.
62 * decl.c (register_dtor_fn): Likewise.
63 * init.c (build_raw_new_expr, build_new_1, build_vec_init)
64 (build_delete, push_base_cleanups): Likewise.
65 * mangle.c (write_expression): Likewise.
66 * semantics.c (finish_break_stmt, empty_expr_stmt_p): Likewise.
67 * pt.c (tsubst_decl, tsubst_copy_and_build): Likewise.
68 (tsubst, tsubst_copy, build_non_dependent_expr): Handle VOID_CST.
69 * tree.c (cp_tree_equal): Likewise.
70 (build_dummy_object, is_dummy_object, stabilize_expr): Use void_node
71 instead of void_zero_node.
72 * typeck.c (check_return_expr): Likewise.
73 * typeck2.c (build_functional_cast): Likewise.
74
c3d96270
IZ
752014-05-21 Igor Zamyatin <igor.zamyatin@intel.com>
76
77 PR c/60189
78 * parser.c (cp_parser_postfix_expression): Move handling of cilk_sync
79 from here to...
80 (cp_parser_statement): ...here. Make sure only semicolon can go after
81 Cilk_sync.
82
f4cd9c51
PC
832014-05-20 Paolo Carlini <paolo.carlini@oracle.com>
84
85 PR c++/58753
86 PR c++/58930
87 PR c++/58704
88 * typeck2.c (digest_nsdmi_init): New.
89 * parser.c (cp_parser_late_parse_one_default_arg): Use it.
90 * init.c (get_nsdmi): Likewise.
91 * cp-tree.h (digest_nsdmi_init): Declare.
92
f9873232
JM
932014-05-20 Jason Merrill <jason@redhat.com>
94
95 * typeck.c (get_member_function_from_ptrfunc): Don't try to look
96 up a virtual function in a dummy object.
97
512eacee
PC
982014-05-20 Paolo Carlini <paolo.carlini@oracle.com>
99
100 PR c++/60373
101 * decl.c (duplicate_decls): Replace pair of warning_at with
102 warning_at + inform.
103 (maybe_commonize_var): Likewise.
104
efa72acd
RS
1052014-05-20 Richard Sandiford <rsandifo@linux.vnet.ibm.com>
106
107 PR bootstrap/61210
108 * pt.c (tsubst_copy, tsubst_omp_for_iterator, tsubst_expr)
109 (tsubst_copy_and_build): Perform recursive substitutions in a
110 deterministic order.
111
bdb5a9a3
PC
1122014-05-20 Paolo Carlini <paolo.carlini@oracle.com>
113
114 PR c++/58664
115 * typeck2.c (cxx_incomplete_type_inform): New.
116 (cxx_incomplete_type_diagnostic): Use it.
117 * decl.c (grokdeclarator): Check the element type of an
118 incomplete array type; call the above.
119 * cp-tree.h (cxx_incomplete_type_inform): Declare.
120
0f5b0135
JM
1212014-05-19 Jason Merrill <jason@redhat.com>
122
123 PR c++/58761
124 * pt.c (tsubst_copy): Don't check at_function_scope_p.
125 (instantiate_class_template_1): Don't push_to_top_level in an nsdmi.
126
7fb80849
PC
1272014-05-19 Paolo Carlini <paolo.carlini@oracle.com>
128
129 * typeck2.c (cxx_incomplete_type_diagnostic): Use inform.
130 * parser.c (cp_parser_enum_specifier): Likewise.
131
766090c2
TS
1322014-05-17 Trevor Saunders <tsaunders@mozilla.com>
133
134 * class.c (sorted_fields_type_new): Adjust.
135 * cp-cilkplus.c (cilk_install_body_with_frame_cleanup): Likewise.
136 * cp-objcp-common.c (decl_shadowed_for_var_insert): Likewise.
137 * cp-tree.h: Remove usage of variable_size gty attribute.
138 * decl.c (make_label_decl): Adjust.
139 (check_goto): Likewise.
140 (start_preparsed_function): Likewise.
141 (save_function_data): Likewise.
142 * lex.c (init_reswords): Likewise.
143 (retrofit_lang_decl): Likewise.
144 (cxx_dup_lang_specific_decl): Likewise.
145 (copy_lang_type): Likewise.
146 (cxx_make_type): Likewise.
147 * name-lookup.c (binding_entry_make): Likewise.
148 (binding_table_construct): Likewise.
149 (binding_table_new): Likewise.
150 (cxx_binding_make): Likewise.
151 (pushdecl_maybe_friend_1): Likewise.
152 (begin_scope): Likewise.
153 (push_to_top_level): Likewise.
154 * parser.c (cp_lexer_alloc): Likewise.
155 (cp_lexer_new_from_tokens): Likewise.
156 (cp_token_cache_new): Likewise.
157 (cp_parser_context_new): Likewise.
158 (cp_parser_new): Likewise.
159 (cp_parser_nested_name_specifier_opt): Likewise.
160 (cp_parser_template_id): Likewise.
161 * pt.c (maybe_process_partial_specialization): Likewise.
162 (register_specialization): Likewise.
163 (add_pending_template): Likewise.
164 (lookup_template_class_1): Likewise.
165 (push_tinst_level): Likewise.
166 * semantics.c (register_constexpr_fundef): Likewise.
167 (cxx_eval_call_expression): Likewise.
168 * typeck2.c (abstract_virtuals_error_sfinae): Likewise.
169
54674a35
PC
1702014-05-16 Paolo Carlini <paolo.carlini@oracle.com>
171
172 PR c++/51640
173 * parser.c (cp_parser_diagnose_invalid_type_name): Early return
174 when cp_parser_lookup_name sets ambiguous_decls.
175
8fa53379
JM
1762014-05-15 Jason Merrill <jason@redhat.com>
177
178 * call.c (print_conversion_rejection): Use loc consistently.
179
014397c2
PC
1802014-05-14 Paolo Carlini <paolo.carlini@oracle.com>
181
182 * cp-tree.h (DIRECT_LIST_INIT_P): Add.
183 * call.c (convert_like_real, build_new_method_call_1): Use it.
184 * decl2.c (grokfield): Likewise.
185 * init.c (perform_member_init, build_aggr_init, expand_default_init,
186 build_new_1): Likewise.
187 * mangle.c (write_expression): Likewise.
188 * parser.c (cp_parser_late_parse_one_default_arg): Likewise.
189
89606913
JM
1902014-05-14 Jason Merrill <jason@redhat.com>
191
d02f620d
JM
192 PR c++/20332
193 PR c++/21631
194 * call.c (reference_binding): Treat lvalue/rvalue mismatch and
195 dropped cv-quals as a bad conversion.
196 (convert_like_real) [ck_ref_bind]: Explain them.
197 (compare_ics): Check badness before stripping reference
198 bindings. Handle comparing bad reference bindings.
199 * typeck.c (comp_cv_qualification): Add overload that just takes
200 integers.
201 * cp-tree.h: Declare it.
202
89606913
JM
203 * call.c (struct conversion_info): Rename 'from_type' to 'from'.
204 (arg_conversion_rejection, bad_arg_conversion_rejection)
205 (explicit_conversion_rejection, template_conversion_rejection): Adjust.
206 (add_function_candidate): Pass actual argument, rather than type, to
207 bad_arg_conversion_rejection.
208 (print_conversion_rejection): Explain what's wrong with the conversion.
c4622c2b 209 (print_z_candidates): Say "candidate:" before each candidate.
89606913
JM
210 (splice_viable): Be strict if we see a viable or template candidate.
211 (build_user_type_conversion_1): Pass false to strict parameter.
212 (perform_overload_resolution, build_conditional_expr_1): Likewise.
213 (build_new_op_1, build_new_method_call_1): Likewise.
214 (build_op_call_1): Pass true to strict parameter.
215
6626c52e
JM
2162014-05-13 Jason Merrill <jason@redhat.com>
217
c29f393f
JM
218 * call.c (print_error_for_call_failure): Say "no match" rather
219 than "ambiguous" if there were no strict matches.
220 (build_new_method_call_1): Likewise.
221
6626c52e
JM
222 PR c++/61151
223 * semantics.c (is_this_parameter): Allow capture proxies too.
224
83afe9ef
JM
2252014-05-12 Jason Merrill <jason@redhat.com>
226
3f55e16a
JM
227 * call.c (maybe_print_user_conv_context): New.
228 (convert_like_real): Use it. Print call context for bad
229 user-defined conversion.
230 (build_over_call): Print call context for bad 'this' conversion.
231
83afe9ef
JM
232 * call.c (convert_like_real): Use inform for identifying the
233 declaration point.
234
bc51de9c
PC
2352014-05-12 Paolo Carlini <paolo.carlini@oracle.com>
236
237 * cvt.c (cp_convert_to_pointer): Don't call error_at if
238 complain & tf_error is false.
239
240 * decl.c (make_unbound_class_template): Prefer inform for
241 "declared here"-type message.
242
0b360a07
MV
2432014-05-09 Momchil Velikov <momchil.velikov@gmail.com>
244
245 PR c++/60463
246 PR c++/60755
247 * lambda.c (lambda_expr_this_capture): Add new parameter
248 add_capture_p controlling whether the functions will try to
249 capture 'this' via the default capture.
250 (maybe_resolve_dummy): Likewise.
251 * cp-tree.h: Adjust prototypes.
252 * call.c, semantics.c: Change callers of these functions.
253 * call.c (build_new_method_call_1): Use the actual 'this' that
254 would be potentially captured for the overload resolution, instead
255 of the dummy object.
256
ad31c32a
PC
2572014-05-09 Paolo Carlini <paolo.carlini@oracle.com>
258
259 * pt.c (convert_nontype_argument_function): Add tsubst_flags_t
260 parameter.
261 (convert_nontype_argument): Adjust calls.
262 (coerce_template_parameter_pack): Add missing complain & tf_error
263 check.
264
bb8b1f69
JM
2652014-05-09 Jason Merrill <jason@redhat.com>
266
e8ee694a
JM
267 DR 587
268 PR c++/51317
269 * call.c (build_conditional_expr_1, conditional_conversion): Handle
270 non-class lvalues and xvalues that differ only in cv-qualifiers.
271
bfa58951
JM
272 DR 5
273 PR c++/60019
274 * call.c (build_user_type_conversion_1): The copy-init temporary
275 is cv-unqualified.
276
fc2bfea1
JM
277 PR c++/58714
278 * tree.c (stabilize_expr): A stabilized prvalue is an xvalue.
279
5f901ccf
JM
280 PR c++/54348
281 * call.c (build_conditional_expr_1): If overload resolution finds
282 no match, just say "different types".
283
284 PR c++/32019
285 * call.c (build_conditional_expr_1): Improve ambiguity diagnostic.
286
bb8b1f69
JM
287 PR c++/22434
288 * call.c (build_conditional_expr_1): Don't try to pool cv-quals
289 if we didn't find a conversion.
290 Don't accept a bad conversion too early.
291
7e422c4f
PC
2922014-05-08 Paolo Carlini <paolo.carlini@oracle.com>
293
294 PR c++/13981
295 * typeck.c (convert_for_assignment): Provide an inform for pointers
296 to incomplete class types.
297
04e5eb5f
PC
2982014-05-07 Paolo Carlini <paolo.carlini@oracle.com>
299
300 PR c++/61083
301 * pt.c (convert_nontype_argument): Protect all the error calls
302 with complain & tf_error.
303
ef2662bf
PC
3042014-05-07 Paolo Carlini <paolo.carlini@oracle.com>
305
306 PR c++/61080
307 * pt.c (instantiate_decl): Avoid generating the body of a
308 deleted function.
309
895a5cc0
PC
3102014-05-06 Paolo Carlini <paolo.carlini@oracle.com>
311
312 PR c++/60999
313 * pt.c (maybe_begin_member_template_processing): Use
314 uses_template_parms.
315
1d60af08
KZ
3162014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
317 Mike Stump <mikestump@comcast.net>
318 Richard Sandiford <rdsandiford@googlemail.com>
319
320 * call.c: Include wide-int.h.
321 (type_passed_as): Use tree_int_cst_lt instead of INT_CST_LT_UNSIGNED.
322 (convert_for_arg_passing): Likewise.
323 * class.c: Include wide-int.h.
324 (walk_subobject_offsets): Use tree_int_cst_lt instead of INT_CST_LT.
325 (end_of_class): Use tree_int_cst_lt instead of INT_CST_LT_UNSIGNED.
326 (include_empty_classes): Likewise
327 (layout_class_type): Use tree_int_cst_lt instead of INT_CST_LT.
328 * cvt.c: Include wide-int.h.
329 (ignore_overflows): Use wide_int_to_tree.
330 * decl.c: Include wide-int.h.
331 (check_array_designated_initializer): Use wide-int interfaces.
332 (compute_array_index_type): Use tree_int_cst_lt instead of INT_CST_LT.
333 (finish_enum_value_list): Use signop.
334 (build_enumerator): Use wide-int interfaces.
335 * init.c: Include wide-int.h.
336 (build_new_1): Use wide-int interfaces.
337 * mangle.c: Include wide-int.h.
338 (write_integer_cst): Use wide-int interfaces.
339 (write_array_type): Likewise.
340 * tree.c: Include wide-int.h.
341 (cp_tree_equal): Use tree_int_cst_equal.
342 * typeck2.c: Include wide-int.h.
343 (process_init_constructor_array): Use wide-int interfaces.
344
32314c38
PC
3452014-05-03 Paolo Carlini <paolo.carlini@oracle.com>
346
347 PR c++/58582
348 * decl.c (grokfndecl): Check duplicate_decls return value for
349 error_mark_node.
350 * pt.c (instantiate_decl): A deleted function is defined.
351
43b781fa
JM
3522014-05-02 Jason Merrill <jason@redhat.com>
353
c4fa3572
JM
354 * decl2.c (vague_linkage_p): Local statics have vague linkage.
355
43b781fa
JM
356 PR c++/60992
357 * lambda.c (lambda_capture_field_type): Wrap anything dependent
358 other than 'this'.
359 (add_capture): Check for VLA before calling it.
360 * semantics.c (is_this_parameter): Accept any 'this' parameter, not
361 just the current one. Make non-static.
362 * cp-tree.h: Declare it.
363 * pt.c (tsubst_copy) [VAR_DECL]: Also build a new VAR_DECL if
364 the operand was static or constant.
365
19fc9faa
MP
3662014-05-02 Marek Polacek <polacek@redhat.com>
367
368 * typeck.c (maybe_warn_about_returning_address_of_local): Separate
369 warning_at calls.
370
32e00768
MP
3712014-05-01 Marek Polacek <polacek@redhat.com>
372
373 PR c/43395
374 * typeck.c (maybe_warn_about_returning_address_of_local): Distinguish
375 between label and variable when warning about returning local address.
376
4f419f8c
JM
3772014-04-30 Jason Merrill <jason@redhat.com>
378
60ff8e16
JM
379 PR c++/60980
380 * init.c (build_value_init): Don't try to call an array constructor.
381
4f419f8c
JM
382 PR c++/60951
383 * typeck2.c (massage_init_elt): Use maybe_constant_init.
384
f8ed5150
MP
3852014-04-30 Marek Polacek <polacek@redhat.com>
386
387 * typeck.c (cp_build_binary_op): Call ubsan_instrument_division
388 even when SANITIZE_FLOAT_DIVIDE is on. Set doing_div_or_mod even
389 for non-integer types.
390
b15ea309
JM
3912014-04-29 Jason Merrill <jason@redhat.com>
392
393 DR 1351
394 Represent the unevaluated exception specification of an implicitly
395 declared or deleted function with a simple placeholder, not a list
396 of functions.
397 * cp-tree.h (UNEVALUATED_NOEXCEPT_SPEC_P): New.
398 * except.c (unevaluated_noexcept_spec): New.
399 * class.c (deduce_noexcept_on_destructor): Use it.
400 * decl.c (check_redeclaration_exception_specification): Call
401 maybe_instantiate_noexcept.
402 (duplicate_decls): Call it before merge_types.
403 (start_preparsed_function): Call maybe_instantiate_noexcept.
404 * decl2.c (mark_used): Call maybe_instantiate_noexcept earlier.
405 * init.c (get_nsdmi): Factor out of perform_member_init.
406 * method.c (process_subob_fn): Call maybe_instantiate_noexcept.
407 (walk_field_subobs): Consider NSDMI for EH spec.
408 (get_defaulted_eh_spec): New.
409 (implicitly_declare_fn): Use unevaluated_noexcept_spec.
410 (defaulted_late_check): Defer EH checking in non-template classes.
411 (after_nsdmi_defaulted_late_checks): New.
412 * parser.c (cp_parser_class_specifier_1): Use it.
413 (unparsed_classes): New macro.
414 * parser.h (cp_unparsed_functions_entry_d): Add classes field.
415 * pt.c (maybe_instantiate_noexcept): Use get_defaulted_eh_spec.
416 Remove list-of-functions handling.
417 * typeck2.c (merge_exception_specifiers): Remove list-of-functions
418 handling and FN parameter.
419 * typeck.c (merge_types): Adjust.
420
a3879fa1
PC
4212014-04-28 Paolo Carlini <paolo.carlini@oracle.com>
422
423 PR c++/59120
424 * parser.c (cp_parser_alias_declaration): Check return value of
425 cp_parser_require.
426
42056eac
JJ
4272014-04-24 Jakub Jelinek <jakub@redhat.com>
428
429 * parser.c (cp_parser_omp_atomic): Allow seq_cst before
430 atomic-clause, allow comma in between atomic-clause and
431 seq_cst.
432
b911b50d
MG
4332014-04-24 Marc Glisse <marc.glisse@inria.fr>
434
435 PR libstdc++/43622
436 * rtti.c (emit_support_tinfos): Do not iterate on
437 registered_builtin_types (partial revert).
438
3734964f
DT
4392014-04-23 Dinar Temirbulatov <dtemirbulatov@gmail.com>
440
441 PR c++/57958
442 * semantics.c (apply_deduced_return_type): Complete non-void type
443 before estimating whether the type is aggregate.
444
793c625f
MG
4452014-04-22 Marc Glisse <marc.glisse@inria.fr>
446
447 PR libstdc++/43622
448 * rtti.c (emit_support_tinfo_1): New function, extracted from
449 emit_support_tinfos.
450 (emit_support_tinfos): Call it and iterate on registered_builtin_types.
451
e162a134
JJ
4522014-04-22 Jakub Jelinek <jakub@redhat.com>
453
454 PR c/59073
455 * parser.c (cp_parser_omp_parallel): If cp_parser_omp_for
456 fails, don't set OM_PARALLEL_COMBINED and return NULL.
457
c663bc6a
JM
4582014-04-18 Jason Merrill <jason@redhat.com>
459
fc45aeee
JM
460 DR 1571
461 * call.c (reference_binding): Recurse on user-defined conversion.
462
c663bc6a
JM
463 PR c++/60872
464 * call.c (standard_conversion): Don't try to apply restrict to void.
465
fcde53d0
MG
4662014-04-16 Marc Glisse <marc.glisse@inria.fr>
467
468 * decl.c (reshape_init_r): Handle a single element of vector type.
469
1dbdb756
PP
4702014-04-16 Patrick Palka <patrick@parcs.ath.cx>
471
472 PR c++/60765
473 * decl2.c (cplus_decl_attributes): Handle
474 pointer-to-member-function declarations.
475
4762014-04-16 Patrick Palka <patrick@parcs.ath.cx>
477
478 PR c++/60764
479 * call.c (build_user_type_coversion): Use build_dummy_object
480 to create the placeholder object for a constructor method call.
481 (build_special_member_call): Likewise.
482 (build_over_call): Check for the placeholder object with
483 is_dummy_object.
484 (build_new_method_call_1): Likewise. Don't attempt to resolve
485 a dummy object for a constructor method call.
486
23b0af0a
PP
4872014-04-16 Paul Pluzhnikov <ppluzhnikov@google.com>
488
489 PR c++/59295
490 * friend.c (add_friend, make_friend_class): Move repeated friend
491 warning under Wredundant_decls.
492
fe9208ef
PC
4932014-04-15 Paolo Carlini <paolo.carlini@oracle.com>
494
495 * decl.c (duplicate_decls): Remove redundant TYPE_NAME use.
496 * name-lookup.c (pushdecl_maybe_friend_1): Likewise.
497 (do_class_using_decl): Likewise.
498 * mangle.c (dump_substitution_candidates): Use TYPE_NAME_STRING.
499
4f0ddb6f
JJ
5002014-04-15 Jakub Jelinek <jakub@redhat.com>
501
502 PR plugins/59335
503 * Make-lang.h (CP_PLUGIN_HEADERS): Add type-utils.h.
504
9dba4b55
PC
5052014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
506
507 * cp-tree.h (TYPE_IDENTIFIER): Remove declaration.
508
8095617b
PC
5092014-04-14 Paolo Carlini <paolo.carlini@oracle.com>
510
511 * pt.c (mark_template_parm): Use template_parm_level_and_index.
512
7d0039a6
JM
5132014-04-11 Jason Merrill <jason@redhat.com>
514
63620197
JM
515 * parser.h (struct cp_token): Rename ambiguous_p to error_reported.
516 * parser.c: Adjust.
517 (cp_lexer_get_preprocessor_token): Always clear it.
518 (cp_parser_lambda_expression): Use it to avoid duplicate diagnostics.
519
1c982d13
JM
520 DR 1467
521 PR c++/51747
522 * decl.c (reshape_init_r): Handle a single element of class type.
523
7d0039a6
JM
524 DR 1338
525 * decl.c (cxx_init_decl_processing): Set DECL_IS_MALLOC on
526 built-in operator new.
527
1b255e8f
PC
5282014-04-11 Paolo Carlini <paolo.carlini@oracle.com>
529
530 PR c++/58600
531 * name-lookup.c (parse_using_directive): Return early if the
532 attribs argument is error_mark_node; use get_attribute_name.
533
4561285b
JM
5342014-04-11 Jason Merrill <jason@redhat.com>
535
536 DR 1030
537 PR c++/51253
538 * cp-tree.h (CALL_EXPR_LIST_INIT_P): New.
539 * call.c (struct z_candidate): Add flags field.
540 (add_candidate): Add flags parm.
541 (add_function_candidate, add_conv_candidate, build_builtin_candidate)
542 (add_template_candidate_real): Pass it.
543 (build_over_call): Set CALL_EXPR_LIST_INIT_P.
544 * tree.c (build_aggr_init_expr): Copy it.
545 * semantics.c (simplify_aggr_init_expr): Preevaluate args if it's set.
546
8aa1cce6
RB
5472014-04-10 Richard Biener <rguenther@suse.de>
548 Jakub Jelinek <jakub@redhat.com>
549
550 PR ipa/60761
551 * error.c (dump_decl) <case FUNCTION_DECL>: If
552 DECL_LANG_SPECIFIC is NULL, but DECL_ABSTRACT_ORIGIN is not,
553 recurse on DECL_ABSTRACT_ORIGIN instead of printing
554 <built-in>.
555
51970b3e
FC
5562014-04-09 Fabien Chêne <fabien@gcc.gnu.org>
557
558 * pt.c (check_template_variable): Check for the return of pedwarn
559 before emitting a note.
560 * parser.c (cp_parser_lambda_introducer): Likewise.
561
a7c3f276
PC
5622014-04-08 Paolo Carlini <paolo.carlini@oracle.com>
563
564 PR c++/59115
565 * pt.c (process_template_parm): For an invalid non-type parameter
566 only set TREE_TYPE to error_mark_node.
567 (push_inline_template_parms_recursive, comp_template_parms,
568 redeclare_class_template, coerce_template_template_parm,
569 coerce_template_template_parms, unify): Use error_operand_p.
570
38f09da3
NS
5712014-04-08 Nathan Sidwell <nathan@codesourcery.com>
572
573 * class.c (check_bases_and_members): Warn about non-virtual dtors
574 in public bases only. Check warn_ecpp before complaining about
575 non-polymorphic bases.
576
090ec702
FC
5772014-04-04 Fabien Chêne <fabien@gcc.gnu.org>
578
579 * decl.c (duplicate_decls): Check for the return of warning_at
580 before emitting a note.
581 (warn_misplaced_attr_for_class_type): Likewise.
582 (check_tag_decl): Likewise.
583
9119c7fa
PC
5842014-04-04 Paolo Carlini <paolo.carlini@oracle.com>
585
586 PR c++/58207
587 * semantics.c (sort_constexpr_mem_initializers): Robustify loop.
588
822cc906
PP
5892014-04-04 Patrick Palka <patrick@parcs.ath.cx>
590
0450fc0b
PP
591 PR c++/44613
592 * semantics.c (add_stmt): Set STATEMENT_LIST_HAS_LABEL.
593 * decl.c (cp_finish_decl): Create a new BIND_EXPR before
594 instantiating a variable-sized type.
595
822cc906
PP
596 PR c++/21113
597 * decl.c (decl_jump_unsafe): Consider variably-modified decls.
598
3fe99aa5
FC
5992014-04-04 Fabien Chêne <fabien@gcc.gnu.org>
600
601 * class.c (find_abi_tags_r): Check for the return of warning
602 before emitting a note.
603 (one_inherited_ctor): Likewise.
604
d4a69ff4
FC
6052014-04-04 Fabien Chêne <fabien@gcc.gnu.org>
606
607 * decl.c (duplicate_decls): Check for the return of permerror
608 before emitting a note.
609
880a467b
NS
6102014-04-03 Nathan Sidwell <nathan@codesourcery.com>
611
612 * class.c (accessible_nvdtor_p): New.
613 (check_bases): Don't check base destructor here ...
614 (check_bases_and_members): ... check them here. Trigger on
615 Wnon-virtual-dtor flag.
616 (finish_struct_1): Use accessible_nvdtor_p.
617
cd8a9d6d
JM
6182014-04-01 Jason Merrill <jason@redhat.com>
619
52710d27
JM
620 * pt.c (process_partial_specialization): Say "not deducible"
621 rather than "not used". Use inform.
622
cd8a9d6d
JM
623 PR c++/60374
624 * pt.c (coerce_template_parms): Check that the pack expansion
625 pattern works with the first matching parameter.
626
0df9da03
FC
6272014-04-01 Fabien Chêne <fabien@gcc.gnu.org>
628
9ffac481 629 * init.c (perform_member_init): Homogenize uninitialized
0df9da03
FC
630 diagnostics.
631
2982147e
JM
6322014-04-01 Jason Merrill <jason@redhat.com>
633
24991604
JM
634 PR c++/60708
635 * call.c (build_array_conv): Call complete_type.
636
dd5593fc
JM
637 PR c++/60713
638 * typeck2.c (PICFLAG_SIDE_EFFECTS): New.
639 (picflag_from_initializer): Return it.
640 (process_init_constructor): Handle it.
641
2982147e
JM
642 PR c++/60642
643 * decl2.c (is_late_template_attribute): Don't defer abi_tag.
644 * mangle.c (write_unqualified_name): Fix abi_tag on templates.
645 * pt.c (get_template_info): Handle NAMESPACE_DECL.
646 (most_general_template): Handle more kinds of template.
647 * tree.c (handle_abi_tag_attribute): Ignore abi_tag on template
648 instantiations and specializations.
649
9ffac481 6502014-03-31 Patrick Palka <patrick@parcs.ath.cx>
75d850f3
PP
651
652 PR c++/44859
653 * typeck.c (maybe_warn_about_returning_address_of_local): Unwrap
654 COMPONENT_REFs and ARRAY_REFs sooner.
655
4b0040a6
AB
6562014-03-29 Adam Butcher <adam@jessamine.co.uk>
657
658 PR c++/60626
659 * parser.c (cp_parser_init_declarator): Handle erroneous generic type
660 usage in non-functions with pushed scope.
661
5294e4c3
AB
6622014-03-28 Adam Butcher <adam@jessamine.co.uk>
663
664 PR c++/60573
665 * name-lookup.h (cp_binding_level): New transient field defining_class_p
666 to indicate whether a scope is in the process of defining a class.
667 * semantics.c (begin_class_definition): Set defining_class_p.
668 * name-lookup.c (leave_scope): Reset defining_class_p.
669 * parser.c (synthesize_implicit_template_parm): Use cp_binding_level::
670 defining_class_p rather than TYPE_BEING_DEFINED as the predicate for
671 unwinding to class-defining scope to handle the erroneous definition of
672 a generic function of an arbitrarily nested class within an enclosing
673 class.
674
816551fe 6752014-03-26 Fabien Chêne <fabien@gcc.gnu.org>
5294e4c3
AB
676
677 PR c++/52369
d4a69ff4 678 * method.c (walk_field_subobs): Improve the diagnostic
816551fe 679 locations for both REFERENCE_TYPEs and non-static const members.
d4a69ff4 680 * init.c (diagnose_uninitialized_cst_or_ref_member): Use %q#D
816551fe
FC
681 instead of %qD to be consistent with the c++11 diagnostic.
682
45156f14
JM
6832014-03-25 Jason Merrill <jason@redhat.com>
684
d74db8ff
JM
685 PR c++/60566
686 PR c++/58678
687 * class.c (build_vtbl_initializer): Handle abstract dtors here.
688 * search.c (get_pure_virtuals): Not here.
689
1cbba79d
JM
690 PR c++/60375
691 * parser.c (cp_parser_lambda_expression): Don't parse the body of
692 a lambda in unevaluated context.
693
45156f14
JM
694 PR c++/60628
695 * decl.c (create_array_type_for_decl): Complain about array of auto.
696
8bcc90b0
JJ
6972014-03-25 Jakub Jelinek <jakub@redhat.com>
698
699 PR c++/60331
700 * semantics.c (potential_constant_expression_1): Handle
701 DECL_EXPR.
702
21554a3e
AB
7032014-03-24 Adam Butcher <adam@jessamine.co.uk>
704
705 PR c++/60627
706 * parser.c (cp_parser_parameter_declaration_clause): Prevent 'auto' from
707 introducing an implicit function template parameter within an explicit
708 instantiation.
709
d0f27fb6
JM
7102014-03-22 Jason Merrill <jason@redhat.com>
711
712 PR c++/60574
713 * decl.c (grokdeclarator): Change permerror about 'virtual auto'
714 to error.
715
279d3eb8
PC
7162014-03-21 Paolo Carlini <paolo.carlini@oracle.com>
717
718 PR c++/60384
719 * name-lookup.c (push_class_level_binding_1): Check identifier_p
720 on the name argument.
721
7614d42c
JJ
7222014-03-20 Jakub Jelinek <jakub@redhat.com>
723
724 PR c++/60572
725 * init.c (build_zero_init_1): Ignore fields with error_mark_node
726 type.
727
7d092805
PC
7282014-03-19 Paolo Carlini <paolo.carlini@oracle.com>
729
730 PR c++/51474
731 * call.c (build_new_method_call_1): Handle pure virtuals called by
732 NSDMIs too.
733
c66f2ba1
AB
7342014-03-17 Adam Butcher <adam@jessamine.co.uk>
735
e0672441
AB
736 PR c++/60390
737 * parser.c (cp_parser_member_declaration): Don't allow
738 finish_fully_implicit_template to consider friend declarations to be
739 class member templates.
740 (synthesize_implicit_template_parm): Handling winding back through class
741 scope to the class being defined in order to inject a template argument
742 list.
743
c66f2ba1
AB
744 PR c++/60391
745 * parser.c (cp_parser_skip_to_end_of_block_or_statement): Unwind generic
746 function scope as per cp_parser_skip_to_end_of_statement.
747
50e4d1ec
PC
7482014-03-17 Paolo Carlini <paolo.carlini@oracle.com>
749
750 PR c++/59571
751 * typeck2.c (check_narrowing): Use fold_non_dependent_expr_sfinae.
752
7e343703
JM
7532014-03-14 Jason Merrill <jason@redhat.com>
754
47b5d284
JM
755 PR c++/60532
756 PR c++/58678
757 * search.c (get_pure_virtuals): Handle abstract dtor here.
758 (dfs_get_pure_virtuals): Not here.
759
7e343703
JM
760 PR c++/58678
761 * search.c (dfs_get_pure_virtuals): Treat the destructor of an
762 abstract class as pure.
763
b0a87402
PC
7642014-03-13 Paolo Carlini <paolo.carlini@oracle.com>
765
766 PR c++/60383
767 * pt.c (maybe_process_partial_specialization): Check return value
768 of check_specialization_namespace.
769
9299bde0
PC
7702014-03-13 Paolo Carlini <paolo.carlini@oracle.com>
771
772 PR c++/60254
773 * semantics.c (finish_static_assert): Call cxx_constant_value only
774 if require_potential_rvalue_constant_expression returns true.
775
5af1876c
PC
7762014-03-11 Paolo Carlini <paolo.carlini@oracle.com>
777
778 PR c++/60389
779 * method.c (get_inherited_ctor): New.
780 * cp-tree.h (get_inherited_ctor): Declare it.
781 * semantics.c (is_valid_constexpr_fn): Use it.
782
4d3f2fa6
JM
7832014-03-10 Jason Merrill <jason@redhat.com>
784
4a4e80cb
JM
785 PR c++/60367
786 * call.c (convert_default_arg): Remove special handling for
787 CONSTRUCTOR.
788
4d3f2fa6
JM
789 PR c++/53492
790 * parser.c (cp_parser_class_head): Also check PRIMARY_TEMPLATE_P
791 when deciding whether to call push_template_decl for a member class.
792 * pt.c (push_template_decl_real): Return after wrong levels error.
793
14e62702
AB
7942014-03-08 Adam Butcher <adam@jessamine.co.uk>
795
1c74dc2a
AB
796 PR c++/60033
797 * pt.c (tsubst_copy): When retrieving a capture pack from a generic
798 lambda, remove the lambda's own template argument list prior to fetching
799 the specialization.
800
14e62702
AB
801 PR c++/60393
802 * parser.c (cp_parser_parameter_declaration_clause): Move generic
803 function template unwinding on error into a more general location, ...
804 (cp_parser_skip_to_end_of_statement): ... here.
805
b75bf8b1
JM
8062014-03-07 Jason Merrill <jason@redhat.com>
807
c93a4be5
JM
808 * Make-lang.in (check_g++_parallelize): Split dg.exp.
809
968b3503
JM
810 * parser.c (cp_parser_type_id_1): Only allow 'auto' in C++1y if
811 we're in a trailing return type.
812
d08a068b
JM
813 * typeck.c (comp_template_parms_position): 'auto' and
814 'decltype(auto)' are different from real template parms.
815
94151520
JM
816 * parser.c (cp_parser_using_declaration): Consume the semicolon
817 after bare parameter pack error.
818
0e4cf887
JM
819 * cp-tree.h (REF_PARENTHESIZED_P): New.
820 * semantics.c (force_paren_expr): Set it.
821 * pt.c (do_auto_deduction): Check it.
822 (tsubst) [COMPONENT_REF]: Copy it.
823 * typeck.c (maybe_warn_about_useless_cast): Don't strip dereference.
824
b75bf8b1
JM
825 * decl.c (create_array_type_for_decl): Only warn about invalid
826 C++1y VLA if flag_iso or warn_vla>0.
827 (grokdeclarator): Likewise.
828 * pt.c (tsubst): Likewise.
829 * semantics.c (finish_decltype_type): Likewise.
830 * typeck.c (cxx_sizeof_or_alignof_type): Likewise.
831 (cp_build_addr_expr_1): Likewise.
832 * init.c (build_new_1): Improve diagnostics.
833
c12b3bd3
PC
8342014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
835
836 PR c++/58609
837 * decl.c (check_initializer): Return NULL_TREE after error;
838 consistently use inform.
839
bc65bdd5
PC
8402014-03-07 Paolo Carlini <paolo.carlini@oracle.com>
841
842 * decl.c (check_initializer): Remove dead code.
843
3af9c5e9
MP
8442014-03-06 Marek Polacek <polacek@redhat.com>
845
846 PR c/60197
847 * typeck.c (check_return_expr): Call contains_cilk_spawn_stmt instead
848 of checking tree code.
849
d9d8f6b1
PC
8502014-03-06 Paolo Carlini <paolo.carlini@oracle.com>
851
852 * parser.c (cp_lexer_set_source_position): New.
853 (cp_parser_mem_initializer): Use it.
854 (cp_parser_postfix_open_square_expression): Likewise.
855 (cp_parser_parenthesized_expression_list): Likewise.
856 (cp_parser_new_initializer): Likewise.
857 (cp_parser_jump_statement): Likewise.
858 (cp_parser_initializer): Likewise.
859 (cp_parser_functional_cast): Likewise.
860
04702386
JM
8612014-03-05 Jason Merrill <jason@redhat.com>
862
f9b381b8
JM
863 PR c++/60409
864 * semantics.c (force_paren_expr): Only add a PAREN_EXPR to a
865 dependent expression.
866
5d264d62
JM
867 PR c++/60361
868 * parser.c (cp_parser_template_id): Don't set up a CPP_TEMPLATE_ID
869 if re-parsing might succeed.
870 * semantics.c (finish_id_expression): Use of a parameter outside
871 the function body is a parse error.
872
04702386
JM
873 * parser.c (cp_parser_mem_initializer): Set input_location
874 properly for init-list warning.
875 (cp_parser_postfix_open_square_expression): Likewise.
876 (cp_parser_parenthesized_expression_list): Likewise.
877 (cp_parser_new_initializer): Likewise.
878 (cp_parser_jump_statement): Likewise.
879 (cp_parser_initializer): Likewise.
880 (cp_parser_functional_cast): Likewise.
881
201fe4c6
JM
8822014-03-04 Jason Merrill <jason@redhat.com>
883
ca982b1c
JM
884 PR c++/60417
885 * typeck2.c (process_init_constructor_record): Set
886 CONSTRUCTOR_IS_DIRECT_INIT on {} for omitted initializers.
887
201fe4c6
JM
888 PR c++/60415
889 PR c++/54359
890 * parser.c (cp_parser_direct_declarator): Set declarator to
891 cp_error_declarator on invalid qualified-id.
892
064fd5a8
PC
8932014-03-04 Paolo Carlini <paolo.carlini@oracle.com>
894
895 PR c++/60376
896 * parser.c (cp_parser_using_declaration): Early return when
897 cp_parser_nested_name_specifier errors out.
898
234b1504
AB
8992014-03-01 Adam Butcher <adam@jessamine.co.uk>
900
901 PR c++/60377
902 * parser.c (cp_parser_parameter_declaration_clause): Unwind generic
903 function scope on parse error in function parameter list.
904
c582aac9
PC
9052014-03-01 Paolo Carlini <paolo.carlini@oracle.com>
906
907 * method.c (implicitly_declare_fn): Remove redundant
908 DECL_TEMPLATE_RESULT and STRIP_TEMPLATE uses.
909 * semantics.c (is_instantiation_of_constexpr): Likewise.
910 * error.c (dump_function_decl): Likewise.
911
fe96264f
JM
9122014-03-01 Jason Merrill <jason@redhat.com>
913
914 PR c++/60379
915 * semantics.c (begin_maybe_infinite_loop): Use
916 fold_non_dependent_expr_sfinae.
917
abb839ec
JM
9182014-02-28 Jason Merrill <jason@redhat.com>
919
920 PR c++/58845
921 * typeck.c (cp_build_binary_op): Sorry on vector&&vector.
922
f1ee5eaf
PC
9232014-02-28 Paolo Carlini <paolo.carlini@oracle.com>
924
925 PR c++/58610
926 * cp-tree.h (DECL_DELETED_FN): Use LANG_DECL_FN_CHECK.
927 * call.c (print_z_candidate): Remove STRIP_TEMPLATE use.
928 * lambda.c (maybe_add_lambda_conv_op): Likewise.
929
ae9b3eb9
PC
9302014-02-27 Paolo Carlini <paolo.carlini@oracle.com>
931
932 PR c++/60253
933 * call.c (convert_arg_to_ellipsis): Return error_mark_node after
934 error_at.
935
7fce82f5
JM
9362014-02-27 Jason Merrill <jason@redhat.com>
937
938 PR c++/60353
939 PR c++/55877
940 * decl2.c (tentative_decl_linkage): Don't mess with functions that
941 are not yet defined.
942
2f75f515
JM
9432014-02-26 Jason Merrill <jason@redhat.com>
944
c3439626
JM
945 PR c++/60347
946 PR lto/53808
947 * class.c (clone_function_decl): Don't note_vague_linkage_fn.
948 * init.c (build_vtbl_address): Do it here.
949
ca7e759d
JM
950 PR c++/59231
951 PR c++/11586
952 PR c++/14710
953 PR c++/57132
954 * pt.c (struct warning_sentinel): New.
955 (tsubst_copy_and_build): Use it instead of
956 c_inhibit_evaluation_warnings.
957 * typeck.c (maybe_warn_about_useless_cast): Remove
958 c_inhibit_evaluation_warnings check.
959
b0ff7fe1
JM
960 PR c++/54440
961 * pt.c (get_template_parm_index): New.
962 (fixed_parameter_pack_p_1, fixed_parameter_pack_p): New.
963 (process_template_parm): Allow bare packs in template template
964 parm template parms.
965 (coerce_template_parameter_pack): Handle fixed template template
966 parm packs and fixed packs not at the end of the parm list.
967 (coerce_template_parms): Handle template parm packs not at the end
968 of the parm list.
969 (gen_elem_of_pack_expansion_instantiation): Handle a decl expansion.
970
f3417723
JM
971 PR c++/60182
972 * pt.c (unify): Ignore alias templates when deducing a template
973 template parameter.
974
2f75f515
JM
975 PR c++/60345
976 Revert:
977 DR 1571
978 * call.c (reference_binding): Recurse on user-defined conversion.
979 (convert_like_real) [ck_ref_bind]: Explain cv-qual mismatch.
980
d808e92e
JM
9812014-02-25 Jason Merrill <jason@redhat.com>
982
be9e97bd
JM
983 DR 1571
984 * call.c (reference_binding): Recurse on user-defined conversion.
985 (convert_like_real) [ck_ref_bind]: Explain cv-qual mismatch.
986
241172a5
JM
987 * call.c (print_conversion_rejection): Handle n_arg of -2.
988 (build_user_type_conversion_1): Pass it.
989
944b63db
JM
990 PR c++/55877
991 * decl2.c (no_linkage_error): Handle C++98 semantics.
992 (reset_type_linkage): Move from decl.c.
993 (reset_type_linkage_1, reset_type_linkage_2, bt_reset_linkage_1)
994 (bt_reset_linkage_2, reset_decl_linkage): New.
995 (tentative_decl_linkage): Factor out of expand_or_defer_fn_1.
996 (cp_write_global_declarations): Move condition into no_linkage_error.
997 * decl.c (grokfndecl, grokvardecl): Use no_linkage_error.
998 * semantics.c (expand_or_defer_fn_1): Factor out
999 tentative_decl_linkage.
1000 * cp-tree.h: Adjust.
1001
a6659b55
JM
1002 * decl2.c (finish_static_data_member_decl): Diagnose static data
1003 member in unnamed class.
1004 * class.c (finish_struct_anon_r): Avoid redundant diagnostic.
1005
6e6eaecc
JM
1006 PR lto/53808
1007 * class.c (clone_function_decl): Call note_vague_linkage_fn for
1008 defaulted virtual dtor.
1009
d808e92e
JM
1010 DR 1286
1011 PR c++/60328
1012 * pt.c (get_underlying_template): Fix equivalence calculation.
1013
81493f78
AB
10142014-02-25 Adam Butcher <adam@jessamine.co.uk>
1015
adbdb8c7
AB
1016 PR c++/60311
1017 * parser.c (function_being_declared_is_template_p): Return false when
1018 processing a template parameter list.
1019 (cp_parser_parameter_declaration_clause): Don't set
1020 auto_is_implicit_function_template_parm_p when processing a
1021 template parameter list.
1022
1b859733
AB
1023 * parser.c (synthesize_implicit_template_parm): Inject new template
1024 argument list appropriately when a generic member function
1025 of a class template is declared out-of-line.
1026
81493f78
AB
1027 PR c++/60065
1028 * parser.c (cp_parser_direct_declarator): Don't save and
1029 restore num_template_parameter_lists around call to
1030 cp_parser_parameter_declaration_list.
1031 (function_being_declared_is_template_p): New predicate.
1032 (cp_parser_parameter_declaration_list): Use
1033 function_being_declared_is_template_p as predicate for
1034 inspecting current function template parameter list length
1035 rather than num_template_parameter_lists.
1036
01689517
JM
10372014-02-24 Jason Merrill <jason@redhat.com>
1038
2105f1a7
JM
1039 PR c++/60146
1040 * pt.c (tsubst_omp_for_iterator): Don't let substitution of the
1041 DECL_EXPR initialize a non-class iterator.
1042
01689517
JM
1043 PR c++/60312
1044 * parser.c (cp_parser_template_type_arg): Check for invalid 'auto'.
1045
a866509a 10462014-02-21 Jason Merrill <jason@redhat.com>
1c195d2a 1047
7eae5d36
JM
1048 PR c++/58170
1049 * parser.c (cp_parser_type_name): Always check dependency.
1050 (cp_parser_type_specifier_seq): Call
1051 cp_parser_parse_and_diagnose_invalid_type_name.
1052
d723358d
JM
1053 PR c++/60108
1054 * semantics.c (expand_or_defer_fn_1): Check DECL_DEFAULTED_FN.
1055
c754ffcc
JM
1056 PR c++/60185
1057 * parser.c (cp_parser_default_argument): Clear
1058 current_class_ptr/current_class_ref like tsubst_default_argument.
1059
e7b67047
JM
1060 PR c++/60252
1061 * lambda.c (maybe_resolve_dummy): Check lambda_function rather
1062 than current_binding_level.
1063
b98fb363
JM
1064 PR c++/60186
1065 * typeck2.c (massage_init_elt): Call fold_non_dependent_expr_sfinae.
1066
3e9e24ab
JM
1067 PR c++/60187
1068 * parser.c (cp_parser_enum_specifier): Call
1069 check_for_bare_parameter_packs.
1070
71b735a5
JM
1071 PR c++/59347
1072 * pt.c (tsubst_decl) [TYPE_DECL]: Don't try to instantiate an
1073 erroneous typedef.
1074
2671a8ef
JM
1075 PR c++/60241
1076 * pt.c (lookup_template_class_1): Update DECL_TEMPLATE_INSTANTIATIONS
1077 of the partial instantiation, not the most general template.
1078 (maybe_process_partial_specialization): Reassign everything on
1079 that list.
1080
0d4af074
JM
1081 PR c++/60216
1082 * pt.c (register_specialization): Copy DECL_DELETED_FN to clones.
1083 (check_explicit_specialization): Don't clone.
1084
07874b24
JM
1085 PR c++/60219
1086 * pt.c (coerce_template_parms): Bail if argument packing fails.
1087
843633f8
JM
1088 PR c++/60224
1089 * decl.c (cp_complete_array_type, maybe_deduce_size_from_array_init):
1090 Don't get confused by a CONSTRUCTOR that already has a type.
1091
f611c78a 1092 PR c++/60227
cd3ef6f7
JM
1093 * call.c (build_array_conv): Don't crash on VLA.
1094
1ea32974
JM
1095 PR c++/60248
1096 * mangle.c (mangle_decl): Don't make an alias for a TYPE_DECL.
1097
1c195d2a
JM
1098 PR c++/60252
1099 * lambda.c (maybe_resolve_dummy): Don't try to capture this
1100 in declaration context.
a866509a 1101
e9cd6551
JM
1102 DR 1591
1103 PR c++/60051
1104 * pt.c (unify): Only unify if deducible. Handle 0-length list.
1105
9e01a71f
JM
1106 PR c++/60250
1107 * parser.c (cp_parser_direct_declarator): Don't wrap a
1108 type-dependent expression in a NOP_EXPR.
1109
e429bc35
JM
1110 PR c++/60251
1111 * lambda.c (is_normal_capture_proxy): Handle VLA capture.
1112
a866509a
JM
1113 PR c++/60167
1114 PR c++/60222
1115 PR c++/58606
1116 * parser.c (cp_parser_template_argument): Restore dereference.
1117 * pt.c (template_parm_to_arg): Dereference non-pack expansions too.
1118 (process_partial_specialization): Handle deref.
1119 (unify): Likewise.
1120
2807d5d2
AB
11212014-02-21 Adam Butcher <adam@jessamine.co.uk>
1122
1123 PR c++/60052
1124 PR c++/60053
1125 * parser.c (cp_parser_parameter_declaration_list): Correctly reset
1126 implicit_template_scope upon leaving an out-of-line generic member
1127 function definition.
1128
f2381074
KT
11292014-02-20 Kai Tietz <ktietz@redhat.com>
1130
f1dbbe42
KT
1131 PR c++/58873
1132 * parser.c (cp_parser_functional_cast): Treat NULL_TREE
1133 valued type argument as error_mark_node.
1134
f2381074
KT
1135 PR c++/58835
1136 * semantics.c (finish_fname): Handle error_mark_node.
1137
55694175
JM
11382014-02-19 Jason Merrill <jason@redhat.com>
1139
1140 PR c++/60046
1141 * pt.c (maybe_instantiate_noexcept): Don't instantiate exception
1142 spec from template context.
1143
4998d666
JJ
11442014-02-19 Jakub Jelinek <jakub@redhat.com>
1145
128ed090
JJ
1146 PR debug/56563
1147 * cp-objcp-common.c (cp_function_decl_explicit_p): Remove
1148 FUNCTION_FIRST_USER_PARMTYPE (decl) != void_list_node check.
1149
4998d666
JJ
1150 PR c++/60267
1151 * pt.c (tsubst_expr): Handle ANNOTATE_EXPR.
1152
a1535f52
PC
11532014-02-18 Paolo Carlini <paolo.carlini@oracle.com>
1154
1155 PR c++/60225
1156 * semantics.c (ensure_literal_type_for_constexpr_object): Use
1157 strip_array_types.
1158
11592014-02-18 Paolo Carlini <paolo.carlini@oracle.com>
1160
1161 PR c++/60215
1162 * semantics.c (cxx_eval_constant_expression, [COMPONENT_REF]):
1163 During error recovery allow_non_constant may be false.
1164
b19fd0fd
AB
11652014-02-18 Adam Butcher <adam@jessamine.co.uk>
1166
1167 PR c++/60190
1168 * parser.c (cp_parser_lambda_declarator_opt): Pop template parameter
1169 scope whenever a template parameter list has been started, independent
1170 of whether the function call operator was well-formed or not.
1171
75e9d9a0
AB
1172 PR c++/60064
1173 * parser.c (cp_parser_member_declaration): Pop fully implicit template
1174 scope for generic friend declarations as well as for non-friends.
1175
6cfbc023
PC
11762014-02-12 Paolo Carlini <paolo.carlini@oracle.com>
1177
1178 PR c++/60047
1179 * method.c (implicitly_declare_fn): A constructor of a class with
1180 virtual base classes isn't constexpr (7.1.5p4).
1181
b3bb0eb9
JH
11822014-02-05 Jan Hubicka <hubicka@ucw.cz
1183
1184 * parser.c (synthesize_implicit_template_parm): Use grow_tree_vec.
1185
54e19c00
JJ
11862014-02-05 Jakub Jelinek <jakub@redhat.com>
1187
1188 PR c++/58703
1189 * parser.c (cp_parser_omp_declare_reduction): Save and free
1190 declarator_obstack.
1191
5d77fb19
MG
11922014-02-03 Marc Glisse <marc.glisse@inria.fr>
1193
1194 PR c++/53017
1195 PR c++/59211
1196 * tree.c (handle_init_priority_attribute): Call default_conversion on
1197 the attribute argument.
1198
f344f525
PC
11992014-02-03 Paolo Carlini <paolo.carlini@oracle.com>
1200
1201 PR c++/58871
1202 * method.c (synthesized_method_walk): If vbases is non-null but
1203 is_empty is true, likewise don't worry about the virtual bases.
1204
4244ec23
PC
12052014-02-01 Paolo Carlini <paolo.carlini@oracle.com>
1206
1207 PR c++/51219
1208 * typeck2.c (process_init_constructor_record): Just skip unnamed
1209 bit-fields.
1210
99a82a1e
JM
12112014-01-31 Jason Merrill <jason@redhat.com>
1212
3d27e066
JM
1213 PR c++/59469
1214 * pt.c (mark_decl_instantiated): Call mark_needed.
1215
6962711f
JM
1216 PR c++/58672
1217 * decl2.c (handle_tls_init): Handle null init fn.
1218
99a82a1e
JM
1219 PR c++/55800
1220 * decl2.c (get_tls_init_fn): Copy DECL_EXTERNAL from the variable.
1221
f1f82a37
PC
12222014-01-31 Paolo Carlini <paolo.carlini@oracle.com>
1223
1224 PR c++/59082
1225 * class.c (build_vfield_ref): Early return error_mark_node if
1226 TYPE_VFIELD (type) is null.
1227 (build_base_path): Check return value of build_vfield_ref.
1228
4b55a782
JM
12292014-01-31 Jason Merrill <jason@redhat.com>
1230
408249b2
JM
1231 PR c++/59646
1232 * call.c (convert_like_real) [ck_aggr]: Set TARGET_EXPR_LIST_INIT_P.
1233 [ck_list]: Check for error_mark_node.
1234 (build_aggr_conv): Set LOOKUP_NO_NARROWING and check_narrowing.
1235
4b55a782
JM
1236 PR c++/57043
1237 * pt.c (fn_type_unification): Don't do DEDUCE_EXACT check
1238 during partial ordering.
1239
81e5eca8
MP
12402014-01-31 Marek Polacek <polacek@redhat.com>
1241
1242 PR c/59963
1243 * typeck.c (build_function_call_vec): Add dummy arg_loc parameter.
1244
f221dc81
JM
12452014-01-30 Jason Merrill <jason@redhat.com>
1246
1247 PR c++/57899
1248 * cp-tree.h (struct saved_scope): Add x_local_specializations.
1249 (local_specializations): New macro.
1250 * pt.c (local_specializations): Remove variable.
1251
35e519c4
RS
12522014-01-30 Richard Sandiford <rdsandiford@googlemail.com>
1253
1254 PR c++/58708
1255 * parser.c (make_string_pack): Use double_int::from_buffer.
1256
68fca595
MP
12572014-01-30 Marek Polacek <polacek@redhat.com>
1258
1259 PR c/59940
1260 * typeck.c (build_ptrmemfunc1): Call convert_and_check with
1261 input_location.
1262 * cvt.c (cp_convert_and_check): Call warnings_for_convert_and_check
1263 with input_location.
1264 * call.c (build_conditional_expr_1): Call unsafe_conversion_p with
1265 loc parameter.
1266
9ca57929
PC
12672014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
1268
1269 PR c++/58843
1270 * typeck.c (lookup_destructor): Check dtor_type for error_mark_node.
1271
e1b317ae
PC
12722014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
1273
1274 PR c++/58649
1275 * pt.c (lookup_template_class_1): Check start_enum return value
1276 for error_mark_node.
1277
cc27b5cd
PC
12782014-01-30 Paolo Carlini <paolo.carlini@oracle.com>
1279
1280 * decl.c (duplicate_decls, typename_hash, typename_compare):
1281 Use TYPE_IDENTIFIER.
1282 * error.c (dump_type): Likewise.
1283 * mangle.c (dump_substitution_candidates): Likewise.
1284
404c2aea
JM
12852014-01-30 Jason Merrill <jason@redhat.com>
1286
1287 PR c++/59633
1288 * decl2.c (attributes_naming_typedef_ok): New.
1289 * cp-tree.h: Declare it.
1290 * decl.c (grokdeclarator): Check it.
1291 * tree.c (no_linkage_check): Handle VECTOR_TYPE.
1292
7651c656
JM
12932014-01-29 Jason Merrill <jason@redhat.com>
1294
3c4e06c2
JM
1295 PR c++/59707
1296 * call.c (add_builtin_candidate): Catch dependent types.
1297
0429e064
JM
1298 PR c++/59989
1299 * pt.c (expand_template_argument_pack): Correct
1300 non_default_args_count calculation.
1301
434e6c8a
JM
1302 PR c++/58466
1303 * pt.c (unify_pack_expansion): Call expand_template_argument_pack.
1304
7651c656
JM
1305 PR c++/59956
1306 * friend.c (do_friend): Pass the TEMPLATE_DECL to add_friend if we
1307 have a friend template in a class template.
1308 * pt.c (tsubst_friend_function): Look through it.
1309 (push_template_decl_real): A friend member template is
1310 primary.
1311
e8902891
PC
13122014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
1313
1314 PR c++/58846
1315 * decl.c (get_dso_handle_node): Don't crash if dso_handle_node
1316 == error_mark_node.
1317
e1e30986
PC
13182014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
1319
1320 PR c++/58674
1321 * pt.c (instantiate_template_1): Check for error_mark_node the second
1322 argument too.
1323
dc9e1b86
JM
13242014-01-29 Jason Merrill <jason@redhat.com>
1325
8ae90330
JM
1326 PR c++/59916
1327 * optimize.c (maybe_thunk_body): Build a RETURN_EXPR for
1328 cdtor_returns_this case.
1329
dc9e1b86
JM
1330 PR c++/59315
1331 * decl.c (cxx_maybe_build_cleanup): Call mark_used.
1332
4ca56230
PC
13332014-01-29 Paolo Carlini <paolo.carlini@oracle.com>
1334
1335 PR c++/58702
1336 * semantics.c (finish_omp_reduction_clause): Check type for
1337 error_mark_node.
1338
2e5e7103
JM
13392014-01-28 Jason Merrill <jason@redhat.com>
1340
15b31f8c
JM
1341 PR c++/59791
1342 * pt.c (tsubst_decl) [VAR_DECL]: Allow in unevaluated context.
1343 (tsubst_copy): Use it if lookup fails.
1344
4c690cea
JM
1345 PR c++/59818
1346 * pt.c (tsubst_function_type): Make sure we keep the same function
1347 quals.
1348
0f59a31d
JM
1349 PR c++/58701
1350 * semantics.c (build_anon_member_initialization): Stop walking
1351 when we run out of COMPONENT_REFs.
1352
3807059e
JM
1353 PR c++/58632
1354 * decl.c (lookup_and_check_tag): Ignore template parameters if
1355 scope == ts_current.
1356 * pt.c (check_template_shadow): Don't complain about the injected
1357 class name.
1358
1377eb9a
JM
1359 * decl.c (duplicate_decls): Tweak.
1360
2e5e7103
JM
1361 PR c++/53756
1362 * mangle.c (write_unqualified_name): Handle operator auto.
1363
64d34897
JM
13642014-01-27 Jason Merrill <jason@redhat.com>
1365
63a18c8e
JM
1366 PR c++/59823
1367 Core DR 1138
1368 * call.c (reference_binding): Pass LOOKUP_NO_TEMP_BIND for
1369 list-initialization. A conversion to rvalue ref that involves
1370 an lvalue-rvalue conversion is bad.
1371 (convert_like_real): Give helpful error message.
1372
b89cc12b
JM
1373 PR c++/54652
1374 * decl.c (duplicate_decls): Always use oldtype for TYPE_DECL.
1375
9e73c3f3
JM
1376 PR c++/58504
1377 * pt.c (tsubst_copy_and_build) [TRAIT_EXPR]: Use tsubst for
1378 types.
1379
b25c2a2f
JM
1380 PR c++/58606
1381 * pt.c (template_parm_to_arg): Call convert_from_reference.
1382 (tsubst_template_arg): Don't strip reference refs.
1383
1b87c991
JM
1384 PR c++/58639
1385 * call.c (build_aggr_conv): Reject value-initialization of reference.
1386
11074000
JM
1387 PR c++/58812
1388 PR c++/58651
1389 * call.c (convert_like_real): Give helpful error about excess braces
1390 for ck_rvalue of scalar type.
1391
f235ad11
JM
1392 Core DR 1288
1393 * call.c (reference_binding): Only elide braces if the single
1394 element is reference-related.
1395
30f6b784
JM
1396 PR c++/58814
1397 * typeck.c (cp_build_modify_expr): Make the RHS an rvalue before
1398 stabilizing.
1399
9cca4e3d
JM
1400 PR c++/58837
1401 * typeck.c (cp_truthvalue_conversion): Use explicit comparison for
1402 FUNCTION_DECL.
1403
64d34897
JM
1404 PR c++/59097
1405 * decl.c (compute_array_index_type): Don't call
1406 maybe_constant_value for a non-integral expression.
1407
b72271b9
BI
14082014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
1409
1410 * call.c (magic_varargs_p): Replaced flag_enable_cilkplus with
1411 flag_cilkplus.
1412 * cp-gimplify.c (cp_genericize): Likewise.
1413 * decl.c (grokfndecl): Likewise.
1414 * parser.c (cp_parser_postfix_expression): Likewise.
1415 (cp_parser_postfix_open_square_expression): Likewise.
1416 (cp_parser_direct_declarator): Likewise.
1417 (is_cilkplus_vector_p): Likewise.
1418 (cp_parser_omp_clause_name): Likewise.
1419 (cp_parser_omp_all_clauses): Likewise.
1420 * pt.c (apply_late_template_attributes): Likewise.
1421 * typeck.c (cp_build_array_ref): Likewise.
1422 (cp_build_compound_expr): Likewise.
1423 (check_return_expr): Likewise.
1424
114bf260
JM
14252014-01-24 Jason Merrill <jason@redhat.com>
1426
233aedf4
JM
1427 PR c++/58550
1428 * decl.c (grokdeclarator): Turn pedwarn about auto return type in
1429 c++11 into error.
1430
114bf260
JM
1431 PR c++/59886
1432 PR c++/59659
1433 * typeck2.c (process_init_constructor_array): Don't create
1434 RANGE_EXPR yet.
1435
2cbf3dd7
JJ
14362014-01-24 Jakub Jelinek <jakub@redhat.com>
1437
1438 * typeck2.c (split_nonconstant_init_1): Fix num_split_elts
1439 handling for RANGE_ARRAY case.
1440
f9e2a506
PC
14412014-01-24 Paolo Carlini <paolo.carlini@oracle.com>
1442
1443 PR c++/57524
1444 * name-lookup.c (push_using_directive): Use timevar_cond_start.
1445
393e8e8b
MP
14462014-01-23 Marek Polacek <polacek@redhat.com>
1447
1448 PR c/59846
1449 * typeck.c (cp_build_binary_op): Pass location to shorten_compare.
1450
f04dda30
MP
14512014-01-23 Marek Polacek <polacek@redhat.com>
1452
1453 PR c/58346
1454 * typeck.c (pointer_diff): Give an error on arithmetic on pointer to
1455 an empty aggregate.
1456
928d850f
JM
14572014-01-23 Jason Merrill <jason@redhat.com>
1458
20f18c3c
JM
1459 PR c++/55189
1460 * cp-tree.h (struct language_function): Add infinite_loop and
1461 infinite_loops.
1462 (current_function_infinite_loop): New.
1463 * semantics.c (begin_maybe_infinite_loop, end_maybe_infinite_loop)
1464 (break_maybe_infinite_loop): New.
1465 (finish_while_stmt_cond, finish_while_stmt, begin_do_stmt)
1466 (finish_do_stmt, finish_for_cond, finish_for_stmt)
1467 (begin_range_for_stmt): Use them.
1468 * decl.c (finish_function): Don't warn about missing return
1469 if current_function_infinite_loop.
1470 * pt.c (instantiate_decl): Copy current_function_infinite_loop.
1471 * parser.c (cp_parser_jump_statement): Call break_maybe_infinite_loop.
1472
928d850f
JM
1473 * call.c (build_op_delete_call): Use make_tree_vector and
1474 release_tree_vector.
1475
ea15e254
PC
14762014-01-23 Paolo Carlini <paolo.carlini@oracle.com>
1477
1478 PR c++/58980
1479 * parser.c (cp_parser_enum_specifier): Handle TYPENAME_TYPE as
1480 nested_name_specifier.
1481
74558dd9
BI
14822014-01-23 Balaji V. Iyer <balaji.v.iyer@intel.com>
1483
1484 * parser.c (cp_parser_direct_declarator): When Cilk Plus is enabled
1485 see if there is an attribute after function decl. If so, then
1486 parse them now.
1487 (cp_parser_late_return_type_opt): Handle parsing of Cilk Plus SIMD
1488 enabled function late parsing.
1489 (cp_parser_gnu_attribute_list): Parse all the tokens for the vector
1490 attribute for a SIMD-enabled function.
1491 (cp_parser_omp_all_clauses): Skip parsing to the end of pragma when
1492 the function is used by SIMD-enabled function (indicated by NULL
1493 pragma token). Added 3 new clauses: PRAGMA_CILK_CLAUSE_MASK,
1494 PRAGMA_CILK_CLAUSE_NOMASK and PRAGMA_CILK_CLAUSE_VECTORLENGTH
1495 (cp_parser_cilk_simd_vectorlength): Modified this function to handle
1496 vectorlength clause in SIMD-enabled function and #pragma SIMD's
1497 vectorlength clause. Added a new bool parameter to differentiate
1498 between the two.
1499 (cp_parser_cilk_simd_fn_vector_attrs): New function.
1500 (is_cilkplus_vector_p): Likewise.
1501 (cp_parser_late_parsing_elem_fn_info): Likewise.
1502 (cp_parser_omp_clause_name): Added a check for "mask", "nomask"
1503 and "vectorlength" clauses when Cilk Plus is enabled.
1504 (cp_parser_omp_clause_linear): Added a new parameter of type bool
1505 and emit a sorry message when step size is a parameter.
1506 * parser.h (cp_parser::cilk_simd_fn_info): New field.
1507 * decl.c (grokfndecl): Added flag_enable_cilkplus along with
1508 flag_openmp.
1509 * pt.c (apply_late_template_attributes): Likewise.
1510
652fea39
JJ
15112014-01-23 Jakub Jelinek <jakub@redhat.com>
1512
1513 PR middle-end/58809
1514 * semantics.c (finish_omp_reduction_clause): Reject
1515 BIT_AND_EXPR, BIT_IOR_EXPR and BIT_XOR_EXPR on COMPLEX_TYPEs.
1516
32ab58b2
VV
15172014-01-22 Ville Voutilainen <ville.voutilainen@gmail.com>
1518
1519 PR c++/59482
1520 * parser.c (cp_parser_class_head): Push the class before parsing
1521 the base-clause, pop after it.
1522
621955cb
EB
15232014-01-20 Eric Botcazou <ebotcazou@adacore.com>
1524
1525 * decl2.c (cpp_check): Revert prototype change.
1526
a95aef3c
PC
15272014-01-17 Paolo Carlini <paolo.carlini@oracle.com>
1528
1529 PR c++/59270
1530 PR c++/58811
1531 * init.c (build_value_init_noctor): Don't pass error_mark_node to
1532 build_value_init.
1533
12185846
PC
15342014-01-17 Paolo Carlini <paolo.carlini@oracle.com>
1535
1536 PR c++/59269
1537 * init.c (build_value_init_noctor): Assert !TYPE_HAS_COMPLEX_DFLT
1538 only when errorcount == 0.
1539
0ffc4683
MP
15402014-01-17 Marek Polacek <polacek@redhat.com>
1541
1542 PR c++/59838
1543 * cvt.c (ocp_convert): Don't segfault on non-existing
1544 ENUM_UNDERLYING_TYPE.
1545
cfb1582c
JM
15462014-01-16 Jason Merrill <jason@redhat.com>
1547
1548 PR c++/59821
1549 * tree.c (bot_manip): Update the location of builtin_LINE and
1550 builtin_FILE calls.
1551
41852027
JM
15522014-01-14 Jason Merrill <jason@redhat.com>
1553
1554 PR c++/59659
1555 * typeck2.c (massage_init_elt): New.
1556 (process_init_constructor_record)
1557 (process_init_constructor_union): Use it.
1558 (process_init_constructor_array): Use it. Use RANGE_EXPR.
1559 (split_nonconstant_init_1): Handle it.
1560 * semantics.c (cxx_eval_vec_init_1): Use force_rvalue.
1561
9a74f20c
BI
15622014-01-09 Balaji V. Iyer <balaji.v.iyer@intel.com>
1563
1564 PR c++/59631
1565 * parser.c (cp_parser_postfix_expression): Added a new if-statement
1566 and replaced an existing if-statement with else-if statement.
1567 Changed an existing error message wording to match the one from the C
1568 parser.
1569
f585f02f
JM
15702014-01-08 Jason Merrill <jason@redhat.com>
1571
1572 PR c++/59614
1573 * class.c (abi_tag_data): Add tags field.
1574 (check_abi_tags): Initialize it.
1575 (find_abi_tags_r): Support collecting missing tags.
1576 (mark_type_abi_tags): Don't look at template args.
1577 (inherit_targ_abi_tags): New.
1578 (check_bases_and_members): Use it.
1579 * cp-tree.h (ABI_TAG_IMPLICIT): New.
1580 * mangle.c (write_abi_tags): Check it.
1581
5a5e7deb
JM
15822014-01-07 Jason Merrill <jason@redhat.com>
1583
1b7ac922
JM
1584 PR c++/58856
1585 * pt.c (num_innermost_template_parms): New.
1586 (get_underlying_template): Use it.
1587
5a5e7deb
JM
1588 PR c++/58965
1589 * mangle.c (write_guarded_var_name): Handle null DECL_NAME.
1590
1f872df7
PC
15912014-01-07 Paolo Carlini <paolo.carlini@oracle.com>
1592
1593 * semantics.c (trait_expr_value, [CPTK_IS_BASE_OF]): Implement
1594 the letter of 20.11.6 about Base and Derived naming the same
1595 class type modulo cv-qualifiers.
1596
2c8c6273
AB
15972014-01-06 Adam Butcher <adam@jessamine.co.uk>
1598
1599 PR c++/59635
529a6471 1600 * lambda.c (maybe_add_lambda_conv_op): Handle marking conversion
2c8c6273
AB
1601 function as unimplemented for generic lambdas with varargs.
1602
81fdaa17 1603 PR c++/59636
529a6471 1604 * parser.c (cp_parser_template_parameter): Early out with
81fdaa17
AB
1605 error_mark_node if parameter declaration was not parsed.
1606
2418d7da 1607 PR c++/59629
529a6471 1608 * parser.c (cp_parser_lambda_expression): Save/reset/restore
2418d7da
AB
1609 auto_is_implicit_function_template_parm_p around lambda body.
1610
aaa15a0d 1611 PR c++/59638
529a6471 1612 * parser.c (cp_parser_init_declarator): Undo fully implicit
aaa15a0d
AB
1613 template parameter list when declarator is not a function.
1614
5c67ba02
MG
16152014-01-03 Marc Glisse <marc.glisse@inria.fr>
1616
1617 PR c++/58950
1618 * cvt.c (convert_to_void): Handle VEC_PERM_EXPR and VEC_COND_EXPR.
1619
54a990d3
TB
16202014-01-03 Tobias Burnus <burnus@net-b.de>
1621
1622 PR c++/58567
1623 * pt.c (tsubst_omp_for_iterator): Early return for error_mark_node.
1624
cdc23b1b
PC
16252014-01-03 Paolo Carlini <paolo.carlini@oracle.com>
1626
1627 Core DR 1442
1628 PR c++/59165
1629 * parser.c (cp_parser_perform_range_for_lookup): Don't pass true
1630 as include_std to perform_koenig_lookup.
1631 (cp_parser_postfix_expression): Adjust.
1632 * pt.c (tsubst_copy_and_build): Likewise.
1633 * semantics.c (perform_koenig_lookup): Remove bool parameter.
1634 (omp_reduction_lookup): Adjust.
1635 * name-lookup.c (lookup_arg_dependent_1): Remove bool parameter.
1636 (lookup_arg_dependent): Likewise.
1637 (lookup_function_nonclass): Adjust.
1638 * name-lookup.h: Adjust declaration.
1639 * cp-tree.h: Likewise.
1640
33270bf6
MG
16412014-01-02 Marc Glisse <marc.glisse@inria.fr>
1642
1643 PR c++/59087
1644 * parser.c (cp_parser_userdef_numeric_literal): Mention
1645 -fext-numeric-literals in the message.
1646
25c541b4
MG
16472014-01-02 Marc Glisse <marc.glisse@inria.fr>
1648
1649 PR c++/59641
1650 * call.c (build_conditional_expr_1): Check the return value of
1651 force_rvalue.
1652
1a763062
MG
16532014-01-02 Marc Glisse <marc.glisse@inria.fr>
1654
1655 * call.c (convert_like_real): Check complain.
1656
4939c5f3
MG
16572014-01-02 Marc Glisse <marc.glisse@inria.fr>
1658
1659 PR c++/59378
1660 * typeck.c (build_x_vec_perm_expr): Handle non-dependent arguments
1661 in templates.
1662
23a5b65a
RS
16632014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1664
1665 Update copyright years
1666
f9030485
RS
16672014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1668
1669 * cp-array-notation.c, cp-cilkplus.c, vtable-class-hierarchy.c: Use
1670 the standard form for the copyright notice.
ad41bd84 1671\f
2eed95b0 1672Copyright (C) 2014 Free Software Foundation, Inc.
ad41bd84
JM
1673
1674Copying and distribution of this file, with or without modification,
1675are permitted in any medium without royalty provided the copyright
1676notice and this notice are preserved.