]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/cp/ChangeLog
2019-02-18 Sharon Dvir <unapologtic@gmail.com>
[thirdparty/gcc.git] / gcc / cp / ChangeLog
CommitLineData
a1e1b603 12019-02-18 Jason Merrill <jason@redhat.com>
2
3 Improve duplicate [[likely]] diagnostic.
4 * parser.c (cp_parser_statement): Make attrs_loc a range. Pass it
5 to process_stmt_hotness_attribute.
6 * cp-gimplify.c (process_stmt_hotness_attribute): Take attrs_loc.
7 (genericize_if_stmt): Use likely/unlikely instead of predictor_name.
8
33e6651d 92019-02-17 Marek Polacek <polacek@redhat.com>
10
11 PR c++/89217 - ICE with list-initialization in range-based for loop.
12 * constexpr.c (unshare_constructor): No longer static.
13 * cp-tree.h (unshare_constructor): Declare.
14 * semantics.c (finish_compound_literal): When dealing with a
15 non-dependent expression in a template, return the original
16 expression. Pass LOOKUP_NO_NARROWING to digest_init_flags.
17
3a860627 182019-02-13 Marek Polacek <polacek@redhat.com>
19
20 PR c++/89297 - ICE with OVERLOAD in template.
21 * semantics.c (finish_compound_literal): Call
22 instantiate_non_dependent_expr_sfinae.
23
601c59dd 242019-02-13 Alexandre Oliva <aoliva@redhat.com>
25
40563cf7 26 PR c++/86379
27 * cp-tree.h (USING_DECL_SCOPE): Use result rather than type.
28 * name-lookup.c (strip_using_decl): Use USING_DECL_SCOPE.
29 * search.c (protected_accessible_p): Follow USING_DECL_DECLS.
30 (shared_member_p): Likewise.
31 (lookup_member): Likewise.
32 * decl.c (grok_special_member_properties): Skip USING_DECLs.
33 * semantics.c (finish_omp_declare_simd_methods): Likewise.
34 (finish_qualified_id_expr): Do not call shared_member_p with
35 a dependent expr.
36
601c59dd 37 PR c++/87322
38 * pt.c (tsubst_lambda_expr): Avoid duplicate tsubsting.
39 Move cp_evaluated resetting before signature tsubsting.
40 (gen_elem_of_pack_expansion_instantiation): Separate local
41 specializations per index.
42
f2da1a76 432019-02-13 David Malcolm <dmalcolm@redhat.com>
44
45 PR c++/89036
46 * class.c (add_method): Drop destructor assertion.
47
64bd49fa 482019-02-13 Paolo Carlini <paolo.carlini@oracle.com>
49
50 PR c++/88986
51 * decl.c (make_typename_type): Allow for TYPE_PACK_EXPANSION as
52 context (the first argument).
53 * pt.c (tsubst, case TYPENAME_TYPE): Handle TYPE_PACK_EXPANSION
54 as context.
55
c8e19553 562019-02-12 Jason Merrill <jason@redhat.com>
57
58 PR c++/89144 - link error with constexpr initializer_list.
59 * call.c (convert_like_real) [ck_list]: Don't allocate a temporary
60 array for an empty list.
61 * typeck2.c (store_init_value): Don't use cxx_constant_init in a
62 template.
63
33fe677e 642019-02-11 Jason Merrill <jason@redhat.com>
65
66 PR c++/89241 - ICE with __func__ in lambda in template.
67 * pt.c (enclosing_instantiation_of): Also check
68 instantiated_lambda_fn_p for the template context.
69
44263306 702019-02-11 Marek Polacek <polacek@redhat.com>
71
72 PR c++/89212 - ICE converting nullptr to pointer-to-member-function.
73 * pt.c (tsubst_copy_and_build) <case CONSTRUCTOR>: Return early for
74 null member pointer value.
75
61b94553 762019-02-11 Jakub Jelinek <jakub@redhat.com>
77
78 PR c++/88977
79 * pt.c (convert_nontype_argument): Pass true as manifestly_const_eval
80 to maybe_constant_value calls.
81
b10193f4 822019-02-11 Marek Polacek <polacek@redhat.com>
83
84 * typeck2.c (digest_init_r): Remove commented code.
85
08acf739 862019-02-11 Martin Sebor <msebor@redhat.com>
87
88 PR c++/87996
89 * decl.c (compute_array_index_type_loc): Preserve signed sizes
90 for diagnostics. Call valid_array_size_p instead of error.
91 * init.c (build_new_1): Compute size for diagnostic. Call
92 invalid_array_size_error
93 (build_new): Call valid_array_size_p instead of error.
94
939d44f3 952019-02-07 Alexandre Oliva <aoliva@redhat.com>
96
97 PR c++/86218
98 * call.c (compare_ics): Deal with ck_aggr in either cs.
99
c92ab8d4 1002019-02-06 David Malcolm <dmalcolm@redhat.com>
101
102 PR c++/71302
103 * call.c (get_location_for_expr_unwinding_for_system_header): New
104 function.
105 (conversion_null_warnings): Use it when getting locations for
106 EXPR, effectively adding a call to
107 get_location_for_expr_unwinding_for_system_header for
108 -Wconversion-null and making use of EXPR_LOCATION for
109 -Wzero-as-null-pointer-constant.
110
b5a6b127 1112019-02-05 Jakub Jelinek <jakub@redhat.com>
112
113 PR c++/89187
114 * optimize.c (maybe_thunk_body): Clear TREE_ADDRESSABLE on
115 PARM_DECLs of the thunk.
116 * lambda.c (maybe_add_lambda_conv_op): Likewise.
117
74ce2ebb 1182019-02-05 Marek Polacek <polacek@redhat.com>
119
120 PR c++/89158 - by-value capture of constexpr variable broken.
121 * call.c (convert_like_real) <case ck_user>: Call mark_exp_read
122 instead of mark_rvalue_use.
123
9ca54fa1 1242019-02-05 Alexandre Oliva <aoliva@redhat.com>
125
126 PR c++/87770
127 * pt.c (instantiates_primary_template_p): New.
128 (type_dependent_expression_p): Use it.
129
c758dd5a 1302019-02-01 Jason Merrill <jason@redhat.com>
131
132 PR c++/88761 - ICE with reference capture of constant.
133 * lambda.c (mark_const_cap_r): Do walk subtrees of DECL_EXPR for
134 non-proxy decls.
135
bdb43276 1362019-02-01 Marek Polacek <polacek@redhat.com>
137
138 PR c++/88325 - ICE with invalid out-of-line template member definition.
139 * parser.c (cp_parser_class_name): Don't call make_typename_type
140 for overloads.
141
5ab8180e 1422019-02-01 Jakub Jelinek <jakub@redhat.com>
143
144 PR c++/87175
145 * parser.c (cp_parser_gnu_attributes_opt): Set ok to false
146 if require_open failed.
147
c8f861a0 1482019-01-31 Marek Polacek <polacek@redhat.com>
149
150 PR c++/89083, c++/80864 - ICE with list initialization in template.
151 * constexpr.c (adjust_temp_type): Use copy_node and change the type
152 instead of using build_constructor.
153 * decl.c (reshape_init_r): Don't reshape a digested initializer.
154 Return the initializer for COMPOUND_LITERAL_P.
155
f1329be6 156 PR c++/88983 - ICE with switch in constexpr function.
157 * constexpr.c (cxx_eval_switch_expr): Use SWITCH_COND and SWITCH_BODY.
158 (cxx_eval_constant_expression) <case COND_EXPR>: Don't look for the
159 label in the else branch if we found it in the then branch.
160
8c28f0ef 1612019-01-30 Jason Merrill <jason@redhat.com>
162
163 PR c++/88752 - ICE with lambda and constexpr if.
164 * cp-tree.h (LAMBDA_EXPR_INSTANTIATED): New.
165 * pt.c (tsubst_lambda_expr): Set it.
166 (instantiated_lambda_fn_p): Check it.
167 (enclosing_instantiation_of): Use it.
168
abb9ae66 1692019-01-31 Jakub Jelinek <jakub@redhat.com>
170
171 PR libstdc++/88170
172 * cxx-pretty-print.c (pp_cxx_enumeration_constant): Print always as
173 a C cast in pp_c_flag_gnu_v3 mode.
174
9b0e9786 1752019-01-30 Jakub Jelinek <jakub@redhat.com>
176
177 PR c++/88988
178 * lambda.c (is_capture_proxy): Don't return true for
179 DECL_OMP_PRIVATIZED_MEMBER artificial vars.
180
7066144a 1812019-01-30 Marek Polacek <polacek@redhat.com>
182
183 PR c++/89119 - ICE with value-initialization in template.
184 * pt.c (tsubst_copy_and_build): Handle RANGE_EXPR.
185
64e3499e 1862019-01-29 Jason Merrill <jason@redhat.com>
187
188 PR c++/86943 - wrong code converting lambda to function pointer.
189 * lambda.c (maybe_add_lambda_conv_op): Use a template-id in the
190 call. Only forward parms for decltype.
191 * pt.c (tsubst_copy_and_build) [CALL_EXPR]: Handle CALL_FROM_THUNK_P
192 specially.
193 * typeck.c (check_return_expr): Don't mess with a thunk call.
194
107cba11 1952019-01-28 Jason Merrill <jason@redhat.com>
196
197 PR c++/89089 - ICE with [[no_unique_address]].
198 PR c++/88865 - wrong layout with [[no_unique_address]].
199 * class.c (check_field_decls): A potentially-overlapping field makes
200 the class non-layout-POD, but not non-empty.
201 (end_of_class): Always consider empty data members.
202 (layout_class_type): Set DECL_SIZE for empty fields.
203
44da2a17 2042019-01-28 Marek Polacek <polacek@redhat.com>
205
206 PR c++/88358 - name wrongly treated as type.
207 * parser.c (cp_parser_direct_declarator): Don't assume a qualified-id
208 in parameter-list is a type if the function's declarator-id is not
209 qualified.
210
1d41b42f 2112019-01-27 Marek Polacek <polacek@redhat.com>
212
b7feeace 213 PR c++/88815 - narrowing conversion lost in decltype.
214 PR c++/78244 - narrowing conversion in template not detected.
215 * cp-tree.h (CONSTRUCTOR_IS_DEPENDENT): New.
216 * pt.c (instantiation_dependent_r): Consider a CONSTRUCTOR with
217 CONSTRUCTOR_IS_DEPENDENT instantiation-dependent.
218 * semantics.c (finish_compound_literal): When the compound literal
219 isn't instantiation-dependent and the type isn't type-dependent,
220 fall back to the normal processing. Set CONSTRUCTOR_IS_DEPENDENT.
221
1d41b42f 222 PR c++/89024 - ICE with incomplete enum type.
223 * call.c (standard_conversion): When converting an
224 ARITHMETIC_TYPE_P to an incomplete type, return NULL.
225
837ddebd 2262019-01-25 Paolo Carlini <paolo.carlini@oracle.com>
227
228 PR c++/88969
229 * call.c (build_op_delete_call): Implement 7.6.2.5/(10.1).
230 * decl2.c (coerce_delete_type): Use build_pointer_type instead
231 of TYPE_POINTER_TO.
232
8c89c5fc 2332019-01-24 Jason Merrill <jason@redhat.com>
234
235 PR c++/89001 - mangling of reference temporaries
236 * cp-tree.h (struct saved_scope): Add ref_temp_count.
237 (current_ref_temp_count): New macro.
238 * mangle.c (mangle_ref_init_variable): Use it.
239 * typeck2.c (store_init_value): Clear it.
240 * call.c (make_temporary_var_for_ref_to_temp): Copy public and
241 comdat.
242
b5e76680 2432019-01-24 Jakub Jelinek <jakub@redhat.com>
244
245 PR c++/88976
246 * semantics.c (finish_omp_cancel): Diagnose more than one if
247 on #pragma omp cancel with different modifiers. Use
248 maybe_convert_cond when not in template or build_x_binary_op
249 otherwise.
250
dffbcba8 2512019-01-23 Marek Polacek <polacek@redhat.com>
252
253 PR c++/88757 - qualified name treated wrongly as type.
254 * parser.c (cp_parser_direct_declarator): Don't treat qualified-ids
255 in parameter-list as types if name lookup for declarator-id didn't
256 find one or more function templates.
257
1f03c410 2582019-01-23 Jakub Jelinek <jakub@redhat.com>
259
8090d51c 260 PR c/44715
261 * cp-gimplify.c (genericize_cp_loop): Call begin_bc_block only
262 after genericizing cond and incr expressions.
263
1f03c410 264 PR c++/88984
265 * cp-gimplify.c (genericize_switch_stmt): Move cond genericization
266 before the begin_bc_block call.
267
48c03f15 2682019-01-21 Jason Merrill <jason@redhat.com>
269
270 PR c++/87893 - constexpr ctor ICE on ARM.
271 PR c++/88293 - ICE with comma expression.
272 * constexpr.c (initialized_type): Don't shortcut non-void type.
273 Handle COMPOUND_EXPR.
274 (cxx_eval_outermost_constant_expr): Return early for void type.
275
99bf4b63 2762019-01-21 Jakub Jelinek <jakub@redhat.com>
277
77fe9474 278 PR c++/88949
279 * optimize.c (cxx_copy_decl): New function.
280 (clone_body): Use it instead of copy_decl_no_change.
281
99bf4b63 282 PR sanitizer/88901
283 * typeck.c (cp_build_binary_op): Don't instrument
284 SANITIZE_POINTER_COMPARE if processing_template_decl.
285 (pointer_diff): Similarly for SANITIZE_POINTER_SUBTRACT.
286
ecd2d842 2872019-01-18 Jason Merrill <jason@redhat.com>
288
289 PR c++/88875 - error with explicit list constructor.
290 * call.c (reference_binding): Don't modify EXPR. Set
291 need_temporary_p on the ck_user conversion for a temporary.
292 (convert_like_real): Check it.
293
6d4e8a95 2942019-01-18 H.J. Lu <hongjiu.lu@intel.com>
295
296 PR c/51628
297 PR c/88664
298 * call.c (convert_for_arg_passing): Upate the
299 warn_for_address_or_pointer_of_packed_member call.
300 * typeck.c (convert_for_assignment): Likewise.
301
9d3c4130 3022019-01-17 Jason Merrill <jason@redhat.com>
303
bc9c0483 304 PR c++/86205 - ICE with ?: of throw and template-id.
305 * pt.c (resolve_nondeduced_context_or_error): Split out from...
306 * typeck.c (decay_conversion): ...here.
307 * call.c (build_conditional_expr_1): Use it.
308
9d3c4130 309 PR c++/86740, ICE with constexpr if and nested generic lambdas.
310 * tree.c (cp_walk_subtrees): Handle LAMBDA_EXPR.
311
0f910e62 3122019-01-17 Paolo Carlini <paolo.carlini@oracle.com>
313
314 * decl.c (grokdeclarator): Use typespec_loc in error messages
315 about 'auto' and trailing return type.
316
098cc8f0 3172019-01-17 David Malcolm <dmalcolm@redhat.com>
318
319 PR c++/88699
320 * class.c (add_method): Don't use DECL_DESTRUCTOR_P on
321 USING_DECLs.
322
a395125a 3232019-01-17 Nathan Sidwell <nathan@acm.org>
324
325 PR c++/86610
326 * semantics.c (process_outer_var_ref): Only skip dependent types
327 in templates.
328
5461905d 3292019-01-17 Alexandre Oliva <aoliva@redhat.com>
330
c5f929a4 331 PR c++/87768
332 * cp-tree.h (saved_scope): Add suppress_location_wrappers.
333 * name-lookup.c (do_push_to_top_level): Save and reset it.
334 (do_pop_from_top_level): Restore it.
335
f97941b7 336 PR c++/86648
337 * pt.c (make_template_placeholder): Use auto_identifier.
338 (is_auto): Drop CLASS_PLACEHOLDER_TEMPLATE test.
339 * error.c (dump_type): Handle template placeholders.
340 * cxx-pretty-print.c (pp_cx_unqualified_id): Likewise.
341
5461905d 342 PR c++/88146
343 * cvt.c (convert_to_void): Handle all cdtor calls as if
344 returning void.
345
b92cc3ed 3462019-01-16 Paolo Carlini <paolo.carlini@oracle.com>
347
348 * decl.c (grokdeclarator): Use locations[ds_storage_class] in
349 error messages about ill-formed uses of mutable.
350
9fc2172c 3512019-01-16 Marek Polacek <polacek@redhat.com>
352
353 PR c++/78244 - narrowing conversion in template not detected.
354 * call.c (perform_implicit_conversion_flags): Set
355 IMPLICIT_CONV_EXPR_BRACED_INIT.
356 * cp-tree.h (IMPLICIT_CONV_EXPR_BRACED_INIT): New.
357 * pt.c (tsubst_copy_and_build): Use it.
358
727d210b 3592019-01-15 David Malcolm <dmalcolm@redhat.com>
360
361 PR c++/88795
362 * pt.c (build_deduction_guide): Bail out if tsubst_arg_types
363 fails.
364
39a51021 3652019-01-15 Paolo Carlini <paolo.carlini@oracle.com>
366
367 * decl.c (start_decl): Improve error location.
368 * decl2.c (grokfield): Likewise.
369
3702019-01-15 Paolo Carlini <paolo.carlini@oracle.com>
371
372 * decl.c (grokdeclarator): Move further up the location_t loc
373 declaration and use the location when building a TYPE_DECL for
374 a typedef name.
375 * decl2.c (grokbitfield): Use DECL_SOURCE_LOCATION in the error
376 about an ill-formed bit-field as typedef.
377
affca1c8 3782019-01-14 Marek Polacek <polacek@redhat.com>
379
380 PR c++/88830 - ICE with abstract class.
381 * decl2.c (maybe_emit_vtables): Check CLASSTYPE_LAZY_DESTRUCTOR.
382 Fix formatting.
383
9f8a8956 384 PR c++/88825 - ICE with bogus function return type deduction.
385 * typeck.c (can_do_nrvo_p): Check error_mark_node.
386
82362779 3872019-01-14 Tom Honermann <tom@honermann.net>
388
389 Implement P0482R5, char8_t: A type for UTF-8 characters and strings
390 * cvt.c (type_promotes_to): Handle char8_t promotion.
391 * decl.c (grokdeclarator): Handle invalid type specifier
392 combinations involving char8_t.
393 * lex.c (init_reswords): Add char8_t as a reserved word.
394 * mangle.c (write_builtin_type): Add name mangling for char8_t (Du).
395 * parser.c (cp_keyword_starts_decl_specifier_p)
396 (cp_parser_simple_type_specifier): Recognize char8_t as a simple
397 type specifier.
398 (cp_parser_string_literal): Use char8_array_type_node for the type
399 of CPP_UTF8STRING.
400 (cp_parser_set_decl_spec_type): Tolerate char8_t typedefs in system
401 headers.
402 * rtti.c (emit_support_tinfos): type_info support for char8_t.
403 * tree.c (char_type_p): Recognize char8_t as a character type.
404 * typeck.c (string_conv_p): Handle conversions of u8 string
405 literals of char8_t type.
406 (check_literal_operator_args): Handle UDLs with u8 string literals
407 of char8_t type.
408 * typeck2.c (ordinary_char_type_p): New.
409 (digest_init_r): Disallow initializing a char array with a u8 string
410 literal.
411
bf4eb32b 4122019-01-14 Martin Liska <mliska@suse.cz>
413
414 PR gcov-profile/88263
415 * decl2.c (get_tls_wrapper_fn): Use DECL_SOURCE_LOCATION
416 as location of the TLS wrapper.
417
2fa582a9 4182019-01-12 Paolo Carlini <paolo.carlini@oracle.com>
419
420 * decl.c (cp_finish_decl): Improve error location.
421 * decl2.c (grokfield): Likewise, improve two locations.
422
0b5957b9 4232019-01-11 Marek Polacek <polacek@redhat.com>
424
425 PR c++/88692, c++/87882 - -Wredundant-move false positive with *this.
426 * typeck.c (maybe_warn_pessimizing_move): Return if ARG isn't
427 ADDR_EXPR.
428
d07c152b 4292019-01-11 Jason Merrill <jason@redhat.com>
430
431 PR c++/88312 - pack expansion of decltype.
432 * pt.c (instantiation_dependent_r): A template non-type parameter
433 pack is instantiation-dependent.
434
0c2ebbc4 4352019-01-11 Jason Merrill <jason@redhat.com>
436
437 PR c++/88613 - ICE with use of const var in lambda.
438 * expr.c (mark_use): Fix location wrapper handling.
439 * cp-gimplify.c (cp_fold_maybe_rvalue): Call mark_rvalue_use.
440
1b2f170e 4412019-01-11 Tobias Burnus <burnus@net-b.de>
442
443 PR C++/88114
444 * decl2.c (maybe_emit_vtables): If needed, generate code for
445 the destructor of an abstract class.
446 (mark_used): Update comment for older function-name change.
447
b385e516 4482019-01-11 Paolo Carlini <paolo.carlini@oracle.com>
449
450 * decl.c (start_decl): Improve error location.
451 (grokdeclarator): Likewise, improve two locations.
452
f4d3c071 4532019-01-09 Sandra Loosemore <sandra@codesourcery.com>
454
455 PR other/16615
456
457 * cp-tree.h: Mechanically replace "can not" with "cannot".
458 * parser.c: Likewise.
459 * pt.c: Likewise.
460
7cc45975 4612019-01-08 Paolo Carlini <paolo.carlini@oracle.com>
462
463 * decl.c (grok_reference_init): Improve error location.
464 (grokdeclarator): Likewise, improve two locations.
465
90e20c9c 4662019-01-08 Marek Polacek <polacek@redhat.com>
467
91902bb4 468 PR c++/88538 - braced-init-list in template-argument-list.
469 * parser.c (cp_parser_template_argument): Handle braced-init-list when
470 in C++20.
471
90e20c9c 472 PR c++/88548 - this accepted in static member functions.
473 * parser.c (cp_debug_parser): Adjust printing of
474 local_variables_forbidden_p.
475 (cp_parser_new): Set local_variables_forbidden_p to 0 rather than false.
476 (cp_parser_primary_expression): When checking
477 local_variables_forbidden_p, use THIS_FORBIDDEN or
478 LOCAL_VARS_FORBIDDEN.
479 (cp_parser_lambda_body): Update the type of
480 local_variables_forbidden_p. Set it to 0 rather than false.
481 (cp_parser_condition): Adjust call to cp_parser_declarator.
482 (cp_parser_explicit_instantiation): Likewise.
483 (cp_parser_init_declarator): Likewise.
484 (cp_parser_declarator): New parameter. Use it.
485 (cp_parser_direct_declarator): New parameter. Use it to set
486 local_variables_forbidden_p. Adjust call to cp_parser_declarator.
487 (cp_parser_type_id_1): Adjust call to cp_parser_declarator.
488 (cp_parser_parameter_declaration): Likewise.
489 (cp_parser_default_argument): Update the type of
490 local_variables_forbidden_p. Set it to LOCAL_VARS_AND_THIS_FORBIDDEN
491 rather than true.
492 (cp_parser_member_declaration): Tell cp_parser_declarator if we saw
493 'static' or 'friend'.
494 (cp_parser_exception_declaration): Adjust call to cp_parser_declarator.
495 (cp_parser_late_parsing_default_args): Update the type of
496 local_variables_forbidden_p. Set it to LOCAL_VARS_AND_THIS_FORBIDDEN
497 rather than true.
498 (cp_parser_cache_defarg): Adjust call to cp_parser_declarator.
499 (cp_parser_objc_class_ivars): Likewise.
500 (cp_parser_objc_struct_declaration): Likewise.
501 (cp_parser_omp_for_loop_init): Likewise.
502 * parser.h (cp_parser): Change the type of local_variables_forbidden_p
503 to unsigned char.
504 (LOCAL_VARS_FORBIDDEN, LOCAL_VARS_AND_THIS_FORBIDDEN, THIS_FORBIDDEN):
505 Define.
506
8f7d5246 5072019-01-08 Paolo Carlini <paolo.carlini@oracle.com>
508
509 * decl.c (start_decl): Improve permerror location.
510
6e5908c9 5112019-01-08 Jonathan Wakely <jwakely@redhat.com>
512 Jakub Jelinek <jakub@redhat.com>
513
514 PR c++/88554
515 * decl.c (finish_function): For -Wreturn-type don't add a return *this;
516 fixit hint if current_class_ref is NULL. Use a single if instead of
517 two nested ones.
518
2318c037 5192019-01-07 Paolo Carlini <paolo.carlini@oracle.com>
520
521 * decl.c (start_decl): Improve two error_at locations.
522 (expand_static_init): Likewise.
523
677576f7 5242019-01-07 Marek Polacek <polacek@redhat.com>
525
526 PR c++/88741 - wrong error with initializer-string.
527 * decl.c (cp_complete_array_type): Strip any location wrappers.
528
c38103e8 5292019-01-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
530
531 PR c++/88261
532 PR c++/69338
533 PR c++/69696
534 PR c++/69697
535 * cp-tree.h (LOOKUP_ALLOW_FLEXARRAY_INIT): New flag value.
536 * typeck2.c (digest_init_r): Raise an error for non-static
537 initialization of a flexible array member.
538 (process_init_constructor, massage_init_elt,
539 process_init_constructor_array, process_init_constructor_record,
540 process_init_constructor_union, process_init_constructor): Add the
541 flags parameter and pass it thru.
542 (store_init_value): Pass LOOKUP_ALLOW_FLEXARRAY_INIT parameter to
543 digest_init_flags for static decls.
544
59409f09 5452019-01-07 Jakub Jelinek <jakub@redhat.com>
546
547 PR c++/85052
548 * cp-tree.h (cp_build_vec_convert): Declare.
549 * parser.c (cp_parser_postfix_expression): Parse
550 __builtin_convertvector.
551 * constexpr.c: Include fold-const-call.h.
552 (cxx_eval_internal_function): Handle IFN_VEC_CONVERT.
553 (potential_constant_expression_1): Likewise.
554 * semantics.c (cp_build_vec_convert): New function.
555 * pt.c (tsubst_copy_and_build): Handle CALL_EXPR to
556 IFN_VEC_CONVERT.
557
0627c5c9 5582019-01-03 Jakub Jelinek <jakub@redhat.com>
559
560 PR c++/88636
561 * decl.c (builtin_function_1): Return result of pushdecl_top_level
562 or pushdecl rather than decl.
563
f9f7d90c 5642019-01-03 Paolo Carlini <paolo.carlini@oracle.com>
565
566 * tree.c (handle_nodiscard_attribute): Improve warning location.
567
37fb9cf6 5682019-01-02 Marek Polacek <polacek@redhat.com>
569
570 PR c++/88612 - ICE with -Waddress-of-packed-member.
571 * call.c (convert_for_arg_passing): Only give warnings with tf_warning.
572 * typeck.c (convert_for_assignment): Likewise.
573
6080dd2f 574 PR c++/88631 - CTAD failing for value-initialization.
575 * typeck2.c (build_functional_cast): Try deducing the template
576 arguments even if there are no arguments to deduce from.
577
fbd26352 5782019-01-01 Jakub Jelinek <jakub@redhat.com>
ca29c574 579
8e8f6434 580 Update copyright years.
7dfbd804 581\f
fbd26352 582Copyright (C) 2019 Free Software Foundation, Inc.
7dfbd804 583
584Copying and distribution of this file, with or without modification,
585are permitted in any medium without royalty provided the copyright
586notice and this notice are preserved.