]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/cp/ChangeLog
Fix strange binary corruption with last commit.
[thirdparty/gcc.git] / gcc / cp / ChangeLog
CommitLineData
14d2ac82
GA
12022-03-15 Patrick Palka <ppalka@redhat.com>
2
3 PR c++/103177
4 * search.cc (lookup_field_info::errstr): Remove this data
5 member.
6 (lookup_field_r): Don't set errstr.
7 (lookup_member): Check ambiguity before checking access.
8 Simplify accordingly after errstr removal. Exit early upon
9 error or empty result.
10
112022-03-15 Jakub Jelinek <jakub@redhat.com>
12
13 PR c++/104623
14 * parser.cc (cp_parser_skip_to_pragma_eol): Don't purge any tokens.
15
510613e7
GA
162022-03-14 Jakub Jelinek <jakub@redhat.com>
17
18 PR tree-optimization/102586
19 * call.cc (build_cxx_call): Diagnose __builtin_clear_padding where
20 first argument's type is pointer to non-trivially-copyable type unless
21 it is address of a variable or parameter.
22
57eeedda
GA
232022-03-12 Patrick Palka <ppalka@redhat.com>
24
25 PR c++/104641
26 * cp-tree.h (tsubst_flags::tf_tst_ok): New flag.
27 * decl.cc (make_typename_type): Allow a typename-specifier to
28 resolve to a template when tf_tst_ok, in which case return
29 a CTAD placeholder for the template.
30 * pt.cc (tsubst_decl) <case VAR_DECL>: Set tf_tst_ok when
31 substituting the type.
32 (tsubst): Clear tf_tst_ok and remember if it was set.
33 <case TYPENAME_TYPE>: Pass tf_tst_ok to make_typename_type
34 appropriately.
35 (tsubst_copy) <case CAST_EXPR>: Set tf_tst_ok when substituting
36 the type.
37 (tsubst_copy_and_build) <case CAST_EXPR>: Likewise.
38 <case CONSTRUCTOR>: Likewise.
39
402022-03-12 Patrick Palka <ppalka@redhat.com>
41
42 PR c++/104622
43 * call.cc (missing_conversion_p): Define.
44 (add_candidates): Use it.
45 * pt.cc (check_non_deducible_conversion): Change type of strict
46 parameter to unification_kind_t and directly test for DEDUCE_CALL.
47
482022-03-12 Patrick Palka <ppalka@redhat.com>
49
50 PR c++/104527
51 * constraint.cc (normalize_atom): Set
52 ATOMIC_CONSTR_EXPR_FROM_CONCEPT_P appropriately.
53 (get_mapped_args): Make static, adjust parameters. Always
54 return a vector whose depth corresponds to the template depth of
55 the context of the atomic constraint expression. Micro-optimize
56 by passing false as exact to safe_grow_cleared and by collapsing
57 a multi-level depth-one argument vector.
58 (satisfy_atom): Adjust call to get_mapped_args and
59 diagnose_atomic_constraint.
60 (diagnose_atomic_constraint): Replace map parameter with an args
61 parameter.
62 * cp-tree.h (ATOMIC_CONSTR_EXPR_FROM_CONCEPT_P): Define.
63 (get_mapped_args): Remove declaration.
64
652022-03-12 Patrick Palka <ppalka@redhat.com>
66 Jason Merrill <jason@redhat.com>
67
68 PR c++/98644
69 * constexpr.cc (mark_non_constant): Define, split out from ...
70 (cxx_eval_outermost_constant_expr): ... here.
71 (maybe_constant_value): Use it.
72
732022-03-12 Patrick Palka <ppalka@redhat.com>
74
75 * semantics.cc (finish_unary_fold_expr): Use input_location
76 instead of UNKNOWN_LOCATION.
77 (finish_binary_fold_expr): Likewise.
78
792022-03-12 Thomas Schwinge <thomas@codesourcery.com>
80
81 PR other/65095
82 * semantics.cc (handle_omp_array_sections_1)
83 (cp_oacc_check_attachments): Call 'user_omp_clause_code_name'
84 instead of 'c_omp_map_clause_name'.
85
5e28be89
GA
862022-03-10 Marek Polacek <polacek@redhat.com>
87
88 PR c++/104608
89 * parser.cc (cp_parser_template_name): Repeat lookup of
90 TYPE_DECLs.
91
922022-03-10 Marek Polacek <polacek@redhat.com>
93
94 PR c++/104752
95 * semantics.cc (finish_compound_literal): Disallow auto{x} for
96 is_constrained_auto.
97 * typeck2.cc (build_functional_cast_1): Likewise.
98
992022-03-10 Marek Polacek <polacek@redhat.com>
100
101 PR c++/104846
102 * decl.cc (grokdeclarator): Check FUNC_OR_METHOD_TYPE_P before giving
103 data member errors.
104
1052022-03-10 Jakub Jelinek <jakub@redhat.com>
106
107 PR c++/103460
108 * decl.cc (grok_op_properties): Allow variadic operator[] for
109 C++23.
110
1112022-03-10 Roger Sayle <roger@nextmovesoftware.com>
112
113 PR c++/95999
114 * decl.cc (finish_enum_value_list): If VALUE isn't an INTEGER_CST
115 consider it to be zero (i.e. treat it like error_mark_node).
116 (build_enumerator): Likewise, if PREV_VALUE isn't an INTEGER_CST,
117 set VALUE to error_mark_node.
118
1192022-03-10 Roger Sayle <roger@nextmovesoftware.com>
120
121 PR c++/39751
122 * parser.cc (cp_parser_late_parsing_for_member): Confirm the token
123 stream hasn't been purged before processing DECL_PENDING_INLINE.
124
8cc4f9cd
GA
1252022-03-09 Patrick Palka <ppalka@redhat.com>
126
127 PR c++/104823
128 * except.cc (build_noexcept_spec): Strengthen dependence check
129 to instantiation_dependent_expression_p.
130 * parser.cc (cp_parser_parenthesized_expression_list_elt):
131 Remove fold_expr_p parameter, and don't call
132 instantiate_non_dependent_expr.
133 (cp_parser_parenthesized_expression_list): Adjust accordingly.
134 * pt.cc (expand_integer_pack): Strengthen dependence check
135 to instantiation_dependent_expression_p.
136 (instantiate_non_dependent_expr_internal): Adjust comment.
137 (instantiate_non_dependent_expr_sfinae): Likewise. Drop
138 the potentially-constant check, and relax and turn the
139 dependence check into a checking assert.
140 (instantiate_non_dependent_or_null): Adjust comment.
141 * semantics.cc (finish_decltype_type): Keep
142 processing_template_decl cleared after calling
143 instantiate_non_dependent_expr_sfinae.
144
1452022-03-09 Patrick Palka <ppalka@redhat.com>
146
147 PR c++/102137
148 PR c++/87820
149 * cp-tree.h (is_copy_initialization): Declare.
150 * decl.cc (cp_finish_decl): Set LOOKUP_ONLYCONVERTING
151 when is_copy_initialization is true.
152 * init.cc (build_aggr_init): Split out copy-initialization
153 check into ...
154 (is_copy_initialization): ... here.
155 * pt.cc (instantiate_decl): Pass 0 instead of
156 LOOKUP_ONLYCONVERTING as flags to cp_finish_decl.
157
1582022-03-09 Patrick Palka <ppalka@redhat.com>
159
160 PR c++/65396
161 * cp-tree.h (merge_default_template_args): Declare.
162 * decl.cc (merge_default_template_args): Define, factored out
163 from redeclare_class_template.
164 (duplicate_decls): Use it when merging member function template
165 and free function declarations.
166 * pt.cc (redeclare_class_template): Factor out default argument
167 merging logic into merge_default_template_args. Improve location
168 of a note when there's a template parameter kind mismatch.
169
1702022-03-09 Jakub Jelinek <jakub@redhat.com>
171
172 PR c/104711
173 * constexpr.cc (cxx_eval_check_shift_p): Use TYPE_OVERFLOW_WRAPS
174 instead of TYPE_UNSIGNED.
175 * typeck.cc (cp_build_binary_op): Don't emit
176 -Wshift-negative-value warning if TYPE_OVERFLOW_WRAPS.
177
8d038a84
GA
1782022-03-08 Roger Sayle <roger@nextmovesoftware.com>
179
180 PR c++/96440
181 * decl.cc (start_decl): Defend against prefix_attributes being
182 error_mark_node.
183
1842022-03-08 Roger Sayle <roger@nextmovesoftware.com>
185
186 PR c++/96437
187 * parser.cc (synthesize_implicit_template_parm): Check that
188 TREE_VALUE (new_parm) isn't error_mark_node before setting its
189 DECL_VIRTUAL_P.
190
1912022-03-08 Roger Sayle <roger@nextmovesoftware.com>
192
193 PR c++/96329
194 * parser.cc (cp_parser_linkage_specification): Treat the case where
195 linkage is error_mark_node as "invalid linkage-specification".
196
1972022-03-08 Marek Polacek <polacek@redhat.com>
198
199 PR c++/104108
200 * pt.cc (convert_nontype_argument): Recompute
201 value_dependent_expression_p after build_converted_constant_expr.
202
2032022-03-08 Marek Polacek <polacek@redhat.com>
204
205 * decl2.cc (is_late_template_attribute): Do not defer attribute
206 unavailable.
207 * pt.cc (tsubst_enum): Set TREE_UNAVAILABLE.
208
2092022-03-08 Jakub Jelinek <jakub@redhat.com>
210
211 PR c++/104806
212 * search.cc (lookup_field_fuzzy_info::fuzzy_lookup_field): Ignore
213 identifiers with space at the end.
214
e6533e2e
GA
2152022-03-07 Jason Merrill <jason@redhat.com>
216
217 PR c++/104618
218 * decl2.cc (mark_single_function): Look through parens and location
219 wrapper.
220 * typeck.cc (cp_build_addr_expr_1): Not here.
221
2222022-03-07 Jakub Jelinek <jakub@redhat.com>
223
224 * parser.cc (cp_parser_omp_clause_map): Add missing space in string
225 literal.
226
2272022-03-07 Jakub Jelinek <jakub@redhat.com>
228
229 * cvt.cc: Fix up duplicated word issue in a comment.
230 * pt.cc: Likewise.
231 * module.cc: Likewise.
232 * coroutines.cc: Likewise.
233
8d96e14c
GA
2342022-03-04 Nathan Sidwell <nathan@acm.org>
235
236 * mangle.cc (is_std_substitution): Check global module.
237 (is_std_substitution_char): Return bool.
238
2392022-03-04 Nathan Sidwell <nathan@acm.org>
240
241 * cp-tree.h (mangle_identifier): Replace with ...
242 (mangle_module_component): ... this.
243 * mangle.cc (dump_substitution_candidates): Adjust.
244 (add_substitution): Likewise.
245 (find_substitution): Likewise.
246 (unmangled_name_p): Likewise.
247 (mangle_module_substitution): Reimplement.
248 (mangle_module_component): New.
249 (write_module, maybe_write_module): Adjust.
250 (write_name): Drop modules here.
251 (write_unqualified): Do them here instead.
252 (mangle_global_init): Adjust.
253 * module.cc (module_state::mangle): Adjust.
254 (mangle_module): Likewise.
255 (get_originating_module): Adjust.
256
a35f1697
GA
2572022-02-28 Marek Polacek <polacek@redhat.com>
258
259 PR c++/104682
260 * cp-tree.h (build_enumerator): Adjust.
261 * decl.cc (finish_enum): Make it return the new decl.
262 * pt.cc (tsubst_enum): Propagate TREE_DEPRECATED and TREE_UNAVAILABLE.
263
2642022-02-28 Marek Polacek <polacek@redhat.com>
265
266 PR c++/104667
267 * decl2.cc (is_late_template_attribute): Cope with a decl without
268 a type.
269
88c1b038
GA
2702022-02-27 Jason Merrill <jason@redhat.com>
271
272 PR c++/104618
273 * typeck.cc (cp_build_addr_expr_1): Also
274 maybe_undo_parenthesized_ref.
275
756a6185
GA
2762022-02-24 Martin Liska <mliska@suse.cz>
277
278 * pt.cc (defarg_insts_for): Use braces for subobject.
279
5a9ba3f2
GA
2802022-02-18 Patrick Palka <ppalka@redhat.com>
281
282 PR c++/94944
283 * pt.cc (maybe_instantiate_noexcept): For non-static member
284 functions, set current_class_ptr/ref to the specialized 'this'
285 instead.
286
0bdb0498
GA
2872022-02-17 Jason Merrill <jason@redhat.com>
288
289 PR c++/104539
290 * pt.cc (mark_decl_instantiated): Don't clear DECL_COMDAT.
291
2922022-02-17 Jason Merrill <jason@redhat.com>
293
294 PR c++/90451
295 * decl2.cc (mark_single_function): New.
296 * cp-tree.h: Declare it.
297 * typeck.cc (cp_build_addr_expr_1): mark_used when making a PMF.
298 * semantics.cc (finish_qualified_id_expr): Not here.
299 (finish_id_expression_1): Or here.
300 (finish_decltype_type): Call mark_single_function.
301 * cvt.cc (convert_to_void): And here.
302 * pt.cc (convert_nontype_argument): And here.
303 * init.cc (build_offset_ref): Adjust assert.
304
3052022-02-17 Patrick Palka <ppalka@redhat.com>
306
307 PR c++/104565
308 * semantics.cc (finish_compound_literal): Don't perform
309 non-dependent expr folding before calling check_narrowing.
310
cb3afcd2
GA
3112022-02-16 Patrick Palka <ppalka@redhat.com>
312
313 PR c++/104507
314 * constexpr.cc (potential_constant_expression_1)
315 <case NON_DEPENDENT_EXPR>: Return false instead of recursing.
316 Assert tf_error isn't set.
317
875e493b
GA
3182022-02-15 Jason Merrill <jason@redhat.com>
319
320 PR c++/104107
321 PR c++/95036
322 * pt.cc (coerce_template_template_parms): Take full parms.
323 Avoid adding too much of outer_args.
324 (coerce_template_template_parm): Adjust.
325 (template_template_parm_bindings_ok_p): Adjust.
326 (convert_template_argument): Adjust.
327
1f8a09d2
GA
3282022-02-14 Jakub Jelinek <jakub@redhat.com>
329
330 PR c++/104513
331 * constexpr.cc (potential_constant_expression_1) <case GOTO_EXPR>:
332 Don't punt if returns (target).
333
e8d68f0a
GA
3342022-02-11 Jakub Jelinek <jakub@redhat.com>
335
336 PR c++/104472
337 * constexpr.cc (cxx_eval_internal_function) <case IFN_VEC_CONVERT>:
338 Only return fold_const_call result if it is non-NULL. Otherwise
339 fall through into the default: case to return t, set *non_constant_p
340 and emit diagnostics if needed.
341
a645583d
GA
3422022-02-10 Jason Merrill <jason@redhat.com>
343
344 * module.cc (depset::hash::add_specializations): Use
345 STRIP_TEMPLATE.
346
3472022-02-10 Tobias Burnus <tobias@codesourcery.com>
348
349 PR c++/102204
350 * decl2.cc (cp_omp_mappable_type_1): Remove check for virtual
351 members as those are permitted since OpenMP 5.0.
352
3532022-02-10 Patrick Palka <ppalka@redhat.com>
354
355 * pt.cc (filter_memfn_lookup): Handle dependent USING_DECL
356 better.
357
3582022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
359
360 * parser.cc (cp_parser_omp_clause_name): Parse 'has_device_addr' clause.
361 (cp_parser_omp_var_list_no_open): Handle array sections.
362 (cp_parser_omp_all_clauses): Added PRAGMA_OMP_CLAUSE_HAS_DEVICE_ADDR
363 case.
364 (cp_parser_omp_target_update): Added HAS_DEVICE_ADDR to OMP_CLAUSE_MASK.
365 * semantics.cc (handle_omp_array_sections): Handle clause restrictions.
366 (finish_omp_clauses): Handle array sections.
367
3adf509f
GA
3682022-02-09 Patrick Palka <ppalka@redhat.com>
369
370 PR c++/104432
371 * call.cc (build_new_method_call): When a non-dependent call
372 resolves to a specialization of a member template, always build
373 the pruned overload set using the member template, not the
374 specialization.
375 * pt.cc (filter_memfn_lookup): New parameter newtype. Simplify
376 and correct how members from the new lookup set are matched to
377 those from the old one.
378 (tsubst_baselink): Pass binfo_type as newtype to
379 filter_memfn_lookup.
380
3812022-02-09 Jason Merrill <jason@redhat.com>
382
383 PR c++/103752
384 * module.cc (trees_out::core_vals): Stream explicit specifier.
385 (trees_in::core_vals): Likewise.
386 * pt.cc (store_explicit_specifier): No longer static.
387 (tsubst_function_decl): Clear DECL_HAS_DEPENDENT_EXPLICIT_SPEC_P.
388 * cp-tree.h (lookup_explicit_specifier): Declare.
389
3902022-02-09 Jason Merrill <jason@redhat.com>
391
392 PR c++/96876
393 * typeck2.cc (split_nonconstant_init_1): Push cleanups for
394 preceding members with constant initialization.
395 (maybe_push_temp_cleanup): Do nothing if -fno-exceptions.
396
2a2fda2d
GA
3972022-02-08 Jakub Jelinek <jakub@redhat.com>
398
399 PR c++/104379
400 * name-lookup.cc (check_local_shadow): When diagnosing shadowing
401 of a member or global declaration, add warning suppression for
402 the decl and don't warn again on it.
403
4042022-02-08 Jakub Jelinek <jakub@redhat.com>
405
406 PR c++/104403
407 * constexpr.cc (cxx_eval_constant_expression): Don't assert DECL_EXPRs
408 of TREE_STATIC vars may only appear in -std=c++23.
409
4102022-02-08 Patrick Palka <ppalka@redhat.com>
411
412 PR c++/80951
413 * pt.cc (uses_deducible_template_parms): Consider the
414 noexcept-spec of a function type.
415
4162022-02-08 Patrick Palka <ppalka@redhat.com>
417
418 PR c++/104410
419 * constraint.cc (satisfaction_value): Relax assert to accept
420 cv-qualified bool.
421
4222022-02-08 Patrick Palka <ppalka@redhat.com>
423
424 PR c++/103706
425 * pt.cc (preserve_args): New function.
426 (tsubst_lambda_expr): Use it when setting LAMBDA_EXPR_REGEN_INFO.
427
4282022-02-08 Patrick Palka <ppalka@redhat.com>
429
430 PR c++/103706
431 * constraint.cc (satisfy_declaration_constraints): Use
432 lambda_regenerating_args instead.
433 * cp-tree.h (lambda_regenerating_args): Declare.
434 * pt.cc (lambda_regenerating_args): Define, split out from
435 satisfy_declaration_constraints.
436 (do_auto_deduction): Use lambda_regenerating_args to obtain the
437 full set of outer template arguments for satisfaction when
438 inside a lambda.
439
353f8fcc
GA
4402022-02-06 Patrick Palka <ppalka@redhat.com>
441
442 PR c++/96242
443 * decl2.cc (mark_used): Directly synthesize a DECL_MAYBE_DELETED
444 fn by calling maybe_synthesize_method instead of relying on
445 maybe_instantiate_noexcept. Move call to m_i_n after the
446 DECL_DELETED_FN handling.
447 * pt.cc (maybe_instantiate_noexcept): Restrict DECL_MAYBE_DELETED
448 fn synthesis to only those with an implicit noexcept-spec, and
449 return !DECL_DELETED_FN instead of !DECL_MAYBE_DELETED afterwards.
450
4512022-02-06 Jakub Jelinek <jakub@redhat.com>
452
453 PR c++/89074
454 PR c++/104033
455 * constexpr.cc (cxx_eval_binary_expression): Temporarily set
456 folding_cxx_constexpr.
457
661109b0
GA
4582022-02-05 Jason Merrill <jason@redhat.com>
459
460 PR c++/104300
461 PR c++/92385
462 * cp-tree.h (get_vec_init_expr): New.
463 (target_expr_needs_replace): New.
464 * cp-gimplify.cc (cp_gimplify_init_expr): Use it.
465 (struct cp_fold_data): New.
466 (cp_fold_r): Only genericize inits at end of fn.
467 (cp_fold_function): Here.
468 (cp_fully_fold_init): Not here.
469 * init.cc (build_vec_init): Use get_vec_init_expr.
470 * tree.cc (build_vec_init_expr): Likewise.
471 * typeck2.cc (split_nonconstant_init_1): Likewise.
472 (process_init_constructor): Wrap VEC_INIT_EXPR in
473 TARGET_EXPR.
474
4752022-02-05 Jason Merrill <jason@redhat.com>
476
477 * pt.cc (iterative_hash_template_arg): Add comment.
478
682ede39
GA
4792022-02-03 Patrick Palka <ppalka@redhat.com>
480
481 PR c++/104079
482 * pt.cc (value_dependent_noexcept_spec_p): New predicate split
483 out from ...
484 (dependent_type_p_r): ... here.
485 (instantiation_dependent_r): Use value_dependent_noexcept_spec_p
486 to consider dependence of a noexcept-spec before C++17.
487 * tree.cc (fixup_deferred_exception_variants): Clear
488 TYPE_DEPENDENT_P_VALID.
489
4902022-02-03 Jason Merrill <jason@redhat.com>
491
492 PR c++/104302
493 * decl.cc (maybe_deduce_size_from_array_init): Give up
494 on type-dependent init.
495 (cp_complete_array_type): Only call reshape_init for character
496 array.
497
ae7e4af9
GA
4982022-02-01 Jason Merrill <jason@redhat.com>
499
500 PR c++/103186
501 * pt.cc (defarg_inst): Use tree_vec_map_cache_hasher.
502 (defarg_insts_for): New.
503 (tsubst_default_argument): Adjust.
504
1bb52662
GA
5052022-01-31 Marek Polacek <polacek@redhat.com>
506
507 PR c++/102414
508 PR c++/101874
509 * decl.cc (create_array_type_for_decl): Use template_placeholder_p.
510 Sorry on a variable-length array of auto.
511
5122022-01-31 Marek Polacek <polacek@redhat.com>
513
514 PR c++/102434
515 * class.cc (finish_struct): Don't allow union initializer_list.
516
5172022-01-31 Patrick Palka <ppalka@redhat.com>
518
519 PR c++/104294
520 * pt.cc (ctor_deduction_guides_for): Correct computation of
521 outer_args.
522
5232022-01-31 Patrick Palka <ppalka@redhat.com>
524
525 PR c++/104291
526 * pt.cc (for_each_template_parm_r) <case CONSTRUCTOR>: Clear
527 walk_subtrees if !include_nondeduced_p. Simplify given that
528 cp_walk_subtrees already walks TYPE_PTRMEMFUNC_FN_TYPE_RAW.
529
f6f2d6cf
GA
5302022-01-28 Patrick Palka <ppalka@redhat.com>
531 Jason Merrill <jason@redhat.com>
532
533 PR c++/92752
534 * typeck.cc (build_ptrmemfunc): Cast a nullptr constant to the
535 unqualified pointer type not the qualified one.
536
5372022-01-28 Patrick Palka <ppalka@redhat.com>
538
539 PR c++/103341
540 * decl.cc (cp_finish_decl): Pass the template arguments of a
541 variable template specialization or a templated static data
542 member to do_auto_deduction when the auto is constrained.
543
5442022-01-28 Jason Merrill <jason@redhat.com>
545
546 PR c++/100198
547 PR c++/100030
548 PR c++/100282
549 * parser.cc (cp_parser_enumerator_definition): Sorry on parameter
550 pack in lambda.
551 (cp_parser_class_head): And in class attributes.
552 * pt.cc (check_for_bare_parameter_packs): Sorry instead of error
553 in lambda.
554
99f17e99
GA
5552022-01-27 Jason Merrill <jason@redhat.com>
556
557 PR c++/104245
558 PR c++/51344
559 * decl2.cc (save_template_attributes): Take late attrs as parm.
560 (cplus_decl_attributes): Call it after decl_attributes,
561 splice_template_attributes before.
562
5632022-01-27 Patrick Palka <ppalka@redhat.com>
564
565 PR c++/99895
566 * call.cc (build_over_call): For a non-dependent member call,
567 build up a CALL_EXPR using a COMPONENT_REF callee, as in
568 build_new_method_call.
569 * pt.cc (build_non_dependent_expr): Don't wrap PARM_DECL either.
570 * tree.cc (build_min_non_dep_op_overload): Adjust accordingly
571 after the build_over_call change.
572
5732022-01-27 Patrick Palka <ppalka@redhat.com>
574
575 PR c++/92944
576 PR c++/103678
577 * parser.cc (cp_parser_class_head): Update 'type' with the result
578 of maybe_process_partial_specialization in the
579 nested_name_specifier branch. Refactor nearby code to accomodate
580 that maybe_process_partial_specialization returns a _TYPE, not a
581 TYPE_DECL, and eliminate local variable 'class_type' in passing.
582
5832022-01-27 Marek Polacek <polacek@redhat.com>
584
585 PR c++/101988
586 * decl.cc (create_array_type_for_decl): Reject forming an array of
587 placeholder for a deduced class type.
588
eaa59070
GA
5892022-01-26 Jason Merrill <jason@redhat.com>
590
591 PR c++/104206
592 PR c++/101072
593 * semantics.cc (finish_compound_literal): Restore VECTOR_TYPE check.
594
5952022-01-26 Jakub Jelinek <jakub@redhat.com>
596
597 PR c++/104226
598 * constexpr.cc (init_subob_ctx): For vector ctors containing
599 vector elements, ensure appending to the same ctor instead of
600 creating another one.
601
6022022-01-26 Marek Polacek <polacek@redhat.com>
603
604 PR target/104213
605 * decl.cc (finish_constructor_body): Suppress -Wuse-after-free.
606 (finish_destructor_body): Likewise.
607 * optimize.cc (build_delete_destructor_body): Likewise.
608
6092022-01-26 Jason Merrill <jason@redhat.com>
610
611 PR c++/104235
612 * parser.cc (cp_parser_template_name): Repeat lookup of USING_DECL.
613
6142022-01-26 Jason Merrill <jason@redhat.com>
615
616 PR c++/103057
617 * pt.cc (tsubst_aggr_type): Call tsubst for alias template
618 specialization.
619
e0b8716f
GA
6202022-01-25 Patrick Palka <ppalka@redhat.com>
621
622 PR c++/101532
623 PR c++/104225
624 * decl2.cc (mark_used): Don't consider maybe_instantiate_noexcept
625 on a deleted function.
626
6272022-01-25 Jason Merrill <jason@redhat.com>
628
629 PR c++/59950
630 * call.cc (build_over_call): Use cp_build_indirect_ref.
631
bb99171b
GA
6322022-01-24 Patrick Palka <ppalka@redhat.com>
633
634 PR c++/104197
635 * pt.cc (make_auto_1): Use -1 as a placeholder default argument
636 for level.
637
6382022-01-24 Patrick Palka <ppalka@redhat.com>
639
640 PR c++/104173
641 * typeck.cc (build_class_member_access_expr): Extend
642 unary_complex_lvalue result adjustment to preserve all
643 rvalues, not just xvalues.
644
0c940703
GA
6452022-01-23 Will Wray <wjwray@gmail.com>
646
647 PR c++/55227
648 * decl.cc (reshape_init_r): Only call has_designator_check when
649 first_initializer_p or for the inner constructor element.
650 (cp_complete_array_type): Call reshape_init on braced-init-list.
651
6522022-01-23 Jason Merrill <jason@redhat.com>
653
654 PR c++/104182
655 * cp-gimplify.cc (cp_genericize_target_expr): Make sure nothing
656 has set DECL_INITIAL on a TARGET_EXPR slot.
657 * tree.cc (is_local_temp): Don't check DECL_CONTEXT.
658
6592022-01-23 Jason Merrill <jason@redhat.com>
660
661 PR c++/101072
662 * cp-tree.h (build_implicit_conv_flags): Declare.
663 * call.cc (build_implicit_conv_flags): Split out from...
664 (perform_implicit_conversion_flags): ...here.
665 * decl.cc (check_initializer): Use it.
666 * pt.cc (tsubst_copy_and_build): Remove TARGET_EXPR handling.
667 * semantics.cc (finish_compound_literal): Don't treat
668 scalar values like CONSTRUCTORs.
669
9dd44357
GA
6702022-01-21 Jason Merrill <jason@redhat.com>
671
672 * semantics.cc (find_failing_clause): Return expr if not
673 decomposable.
674 (finish_static_assert): Show constant values in failing
675 comparison.
676
6772022-01-21 Jason Merrill <jason@redhat.com>
678
679 PR c++/104084
680 PR c++/20040
681 * init.cc (build_new_1): Only pull out TARGET_EXPR_INITIAL if
682 alloc_expr is a TARGET_EXPR.
683
6842022-01-21 Marek Polacek <polacek@redhat.com>
685
686 PR c++/101715
687 * tree.cc (fixup_deferred_exception_variants): Remove duplicate
688 variants after parsing the exception specifications.
689
6902022-01-21 Jason Merrill <jason@redhat.com>
691
692 PR c++/104139
693 PR c++/103681
694 * class.cc (end_of_class): Use base_binfo.
695
5fa55d55
GA
6962022-01-20 Jason Merrill <jason@redhat.com>
697
698 PR c++/101405
699 * decl.cc (reshape_init_class): Reject designator for a member of
700 another class.
701
7022022-01-20 Patrick Palka <ppalka@redhat.com>
703
704 PR c++/91911
705 PR c++/103672
706 * pt.cc (keep_template_parm): Punt on a level 0 template parm.
707 (tsubst_decl) <case VAR_DECL>: Remove !CHECKING_P safeguard.
708 (tsubst) <case TEMPLATE_TYPE_PARM>: Handle CTAD placeholders
709 specially.
710 (make_auto_1): Add defaulted 'level' parameter.
711 (make_template_placeholder): Pass 0 as 'level' to make_auto_1.
712
7132022-01-20 Patrick Palka <ppalka@redhat.com>
714
715 * decl.cc (grokdeclarator): Diagnose a CTAD placeholder as
716 function return type even when !funcdecl_p.
717
7182022-01-20 Martin Liska <mliska@suse.cz>
719
720 PR c++/104134
721 * error.cc (dump_aggr_type): Partially disable the warning.
722
7232022-01-20 Jason Merrill <jason@redhat.com>
724
725 PR c++/102300
726 * parser.cc (cp_parser_template_name): Use dependent_scope_p.
727
fe1ad141
GA
7282022-01-19 David Malcolm <dmalcolm@redhat.com>
729
730 * cp-lang.cc (selftest::run_cp_tests): Update calls for .c to .cc
731 renaming.
732 * cp-tree.h (cp_pt_c_tests): Rename to...
733 (cp_pt_cc_tests): ...this.
734 (cp_tree_c_tests): Rename to...
735 (cp_tree_cc_tests): ...this.
736 * pt.cc (cp_pt_c_tests): Rename to...
737 (cp_pt_cc_tests): ...this.
738 * tree.cc (cp_tree_c_tests): Rename to...
739 (cp_tree_cc_tests): ...this.
740
7412022-01-19 Jason Merrill <jason@redhat.com>
742
743 * parser.cc (saved_token_sentinel::rollback): Use
744 cp_lexer_previous_token.
745
7a761ae6
GA
7462022-01-18 Jakub Jelinek <jakub@redhat.com>
747
748 PR c++/104055
749 * constexpr.cc (cxx_eval_outermost_constant_expr): If t is a
750 TARGET_EXPR with TARGET_EXPR_CLEANUP, use get_target_expr rather
751 than get_target_expr_sfinae with tf_no_cleanup, and don't set
752 TREE_CONSTANT.
753
7542022-01-18 Jason Merrill <jason@redhat.com>
755 Jakub Jelinek <jakub@redhat.com>
756
757 PR c++/104025
758 * parser.cc (saved_token_sentinel::rollback): Call
759 cp_lexer_set_source_position.
760 (~saved_token_sentinel): Call rollback.
761
7622022-01-18 Patrick Palka <ppalka@redhat.com>
763
764 PR c++/104074
765 * pt.cc (invalid_nontype_parm_type_p): Use WILDCARD_TYPE_P so
766 that we return false for DEPENDENT_OPERATOR_TYPE too.
767
fc829782
GA
7682022-01-17 Martin Liska <mliska@suse.cz>
769
770 * Make-lang.in: Rename .c names to .cc.
771 * config-lang.in: Likewise.
772 * constexpr.cc (cxx_eval_constant_expression): Likewise.
773 * coroutines.cc (morph_fn_to_coro): Likewise.
774 * cp-gimplify.cc (cp_gimplify_expr): Likewise.
775 * cp-lang.cc (struct lang_hooks): Likewise.
776 (get_template_argument_pack_elems_folded): Likewise.
777 * cp-objcp-common.cc (cp_tree_size): Likewise.
778 (cp_unit_size_without_reusable_padding): Likewise.
779 (pop_file_scope): Likewise.
780 (cp_pushdecl): Likewise.
781 * cp-objcp-common.h (GCC_CP_OBJCP_COMMON): Likewise.
782 (cxx_simulate_record_decl): Likewise.
783 * cp-tree.h (struct named_label_entry): Likewise.
784 (current_function_return_value): Likewise.
785 (more_aggr_init_expr_args_p): Likewise.
786 (get_function_version_dispatcher): Likewise.
787 (common_enclosing_class): Likewise.
788 (strip_fnptr_conv): Likewise.
789 (current_decl_namespace): Likewise.
790 (do_aggregate_paren_init): Likewise.
791 (cp_check_const_attributes): Likewise.
792 (qualified_name_lookup_error): Likewise.
793 (generic_targs_for): Likewise.
794 (mark_exp_read): Likewise.
795 (is_global_friend): Likewise.
796 (maybe_reject_flexarray_init): Likewise.
797 (module_token_lang): Likewise.
798 (handle_module_option): Likewise.
799 (literal_integer_zerop): Likewise.
800 (build_extra_args): Likewise.
801 (build_if_nonnull): Likewise.
802 (maybe_check_overriding_exception_spec): Likewise.
803 (finish_omp_target_clauses): Likewise.
804 (maybe_warn_zero_as_null_pointer_constant): Likewise.
805 (cxx_print_error_function): Likewise.
806 (decl_in_std_namespace_p): Likewise.
807 (merge_exception_specifiers): Likewise.
808 (mangle_module_global_init): Likewise.
809 (cxx_block_may_fallthru): Likewise.
810 (fold_builtin_source_location): Likewise.
811 (enum cp_oracle_request): Likewise.
812 (subsumes): Likewise.
813 (cp_finish_injected_record_type): Likewise.
814 (vtv_build_vtable_verify_fndecl): Likewise.
815 (cp_tree_c_finish_parsing): Likewise.
816 * cvt.cc (diagnose_ref_binding): Likewise.
817 (convert_to_void): Likewise.
818 (convert_force): Likewise.
819 (type_promotes_to): Likewise.
820 * decl.cc (make_unbound_class_template_raw): Likewise.
821 (cxx_init_decl_processing): Likewise.
822 (check_class_member_definition_namespace): Likewise.
823 (cxx_maybe_build_cleanup): Likewise.
824 * decl2.cc (maybe_emit_vtables): Likewise.
825 * error.cc (dump_function_name): Likewise.
826 * init.cc (is_class_type): Likewise.
827 (build_new_1): Likewise.
828 * lang-specs.h: Likewise.
829 * method.cc (make_alias_for_thunk): Likewise.
830 * module.cc (specialization_add): Likewise.
831 (module_state::read_cluster): Likewise.
832 * name-lookup.cc (check_extern_c_conflict): Likewise.
833 * name-lookup.h (struct cxx_binding): Likewise.
834 * parser.cc (cp_parser_identifier): Likewise.
835 * parser.h (struct cp_parser): Likewise.
836 * pt.cc (has_value_dependent_address): Likewise.
837 (push_tinst_level_loc): Likewise.
838 * semantics.cc (finish_omp_clauses): Likewise.
839 (finish_omp_atomic): Likewise.
840 * tree.cc (cp_save_expr): Likewise.
841 (cp_free_lang_data): Likewise.
842 * typeck.cc (cp_common_type): Likewise.
843 (strip_array_domain): Likewise.
844 (rationalize_conditional_expr): Likewise.
845 (check_return_expr): Likewise.
846 * vtable-class-hierarchy.cc: Likewise.
847
8482022-01-17 Martin Liska <mliska@suse.cz>
849
850 * call.c: Moved to...
851 * call.cc: ...here.
852 * class.c: Moved to...
853 * class.cc: ...here.
854 * constexpr.c: Moved to...
855 * constexpr.cc: ...here.
856 * cp-gimplify.c: Moved to...
857 * cp-gimplify.cc: ...here.
858 * cp-lang.c: Moved to...
859 * cp-lang.cc: ...here.
860 * cp-objcp-common.c: Moved to...
861 * cp-objcp-common.cc: ...here.
862 * cp-ubsan.c: Moved to...
863 * cp-ubsan.cc: ...here.
864 * cvt.c: Moved to...
865 * cvt.cc: ...here.
866 * cxx-pretty-print.c: Moved to...
867 * cxx-pretty-print.cc: ...here.
868 * decl.c: Moved to...
869 * decl.cc: ...here.
870 * decl2.c: Moved to...
871 * decl2.cc: ...here.
872 * dump.c: Moved to...
873 * dump.cc: ...here.
874 * error.c: Moved to...
875 * error.cc: ...here.
876 * except.c: Moved to...
877 * except.cc: ...here.
878 * expr.c: Moved to...
879 * expr.cc: ...here.
880 * friend.c: Moved to...
881 * friend.cc: ...here.
882 * g++spec.c: Moved to...
883 * g++spec.cc: ...here.
884 * init.c: Moved to...
885 * init.cc: ...here.
886 * lambda.c: Moved to...
887 * lambda.cc: ...here.
888 * lex.c: Moved to...
889 * lex.cc: ...here.
890 * mangle.c: Moved to...
891 * mangle.cc: ...here.
892 * method.c: Moved to...
893 * method.cc: ...here.
894 * name-lookup.c: Moved to...
895 * name-lookup.cc: ...here.
896 * optimize.c: Moved to...
897 * optimize.cc: ...here.
898 * parser.c: Moved to...
899 * parser.cc: ...here.
900 * pt.c: Moved to...
901 * pt.cc: ...here.
902 * ptree.c: Moved to...
903 * ptree.cc: ...here.
904 * rtti.c: Moved to...
905 * rtti.cc: ...here.
906 * search.c: Moved to...
907 * search.cc: ...here.
908 * semantics.c: Moved to...
909 * semantics.cc: ...here.
910 * tree.c: Moved to...
911 * tree.cc: ...here.
912 * typeck.c: Moved to...
913 * typeck.cc: ...here.
914 * typeck2.c: Moved to...
915 * typeck2.cc: ...here.
916 * vtable-class-hierarchy.c: Moved to...
917 * vtable-class-hierarchy.cc: ...here.
918
9192022-01-17 Jakub Jelinek <jakub@redhat.com>
920
921 PR c++/104031
922 * cp-gimplify.c (cp_genericize_target_expr): Set DECL_CONTEXT of
923 TARGET_EXPR_SLOT to current_function_decl if it was NULL.
924
9252022-01-17 Andrew Stubbs <ams@codesourcery.com>
926
927 * parser.c (cp_parser_omp_requires): Don't "sorry" dynamic_allocators.
928
617db51d
GA
9292022-01-14 Chung-Lin Tang <cltang@codesourcery.com>
930
931 PR c++/103705
932 * semantics.c (finish_omp_clauses): Also continue peeling off of
933 outer node for ARRAY_REFs.
934
9352022-01-14 Jakub Jelinek <jakub@redhat.com>
936
937 PR c++/103991
938 * cp-objcp-common.c (cxx_block_may_fallthru) <case IF_STMT>: For
939 IF_STMT_CONSTEXPR_P with constant false or true condition only
940 check if the taken clause may fall through.
941 * cp-gimplify.c (genericize_if_stmt): For consteval if, revert
942 to r12-5638^ behavior if then_ block can't fall through. For
943 constexpr if, revert to r12-5638^ behavior.
944
ad3f0d08
GA
9452022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
946 Jason Merrill <jason@redhat.com>
947
948 PR c++/70417
949 * parser.c (cp_parser_id_expression): Handle
950 -Wmissing-template-keyword.
951 (struct saved_token_sentinel): Add modes to control what happens
952 on destruction.
953 (cp_parser_statement): Adjust.
954 (cp_parser_skip_entire_template_parameter_list): New function that
955 skips an entire template parameter list.
956 (cp_parser_require_end_of_template_parameter_list): Rename old
957 cp_parser_skip_to_end_of_template_parameter_list.
958 (cp_parser_skip_to_end_of_template_parameter_list): Refactor to be
959 called from one of the above two functions.
960 (cp_parser_lambda_declarator_opt)
961 (cp_parser_explicit_template_declaration)
962 (cp_parser_enclosed_template_argument_list): Adjust.
963
02a8a01b
GA
9642022-01-12 Jakub Jelinek <jakub@redhat.com>
965 Jason Merrill <jason@redhat.com>
966
967 PR c++/103480
968 * tree.c (move): If expr is xvalue_p, just return expr without
969 build_static_cast.
970
01a254e3
GA
9712022-01-11 Jakub Jelinek <jakub@redhat.com>
972
973 PR c++/101597
974 * class.c (build_vfn_ref): Build OBJ_TYPE_REF with INTEGER_CST
975 OBJ_TYPE_REF_TOKEN with type equal to OBJ_TYPE_REF_OBJECT type.
976 * error.c (resolve_virtual_fun_from_obj_type_ref): Use type of
977 OBJ_TYPE_REF_TOKEN rather than type of OBJ_TYPE_REF_OBJECT as
978 obj_type.
979
9802022-01-11 Patrick Palka <ppalka@redhat.com>
981
982 PR c++/103831
983 * call.c (build_new_method_call): Consider dependent bases only
984 if 'this' is available.
985
9862022-01-11 Olivier Hainque <hainque@adacore.com>
987
988 * decl.c (cxx_init_decl_processing): Move code possibly
989 altering flag_weak before code testing it.
990
d9450aa0
GA
9912022-01-10 Patrick Palka <ppalka@redhat.com>
992
993 PR c++/103879
994 * constexpr.c (cxx_fold_indirect_ref): Split out object/offset
995 canonicalization step into a local lambda. Strengthen it to
996 absorb more components at position 0. Use it before both calls
997 to cxx_fold_indirect_ref_1.
998
9992022-01-10 Patrick Palka <ppalka@redhat.com>
1000
1001 PR c++/103783
1002 * call.c (cand_parms_match): Skip over 'this' when given one
1003 static and one non-static member function.
1004
10052022-01-10 Jakub Jelinek <jakub@redhat.com>
1006
1007 PR c++/103912
1008 * semantics.c (expand_or_defer_fn): For immediate functions, set
1009 node->body_removed to true and clear analyzed, definition and
1010 force_output.
1011 * decl2.c (c_parse_final_cleanups): Ignore immediate functions for
1012 expand_or_defer_fn.
1013
2848ef14
GA
10142022-01-08 Jakub Jelinek <jakub@redhat.com>
1015
1016 PR c++/89074
1017 * constexpr.c (cxx_maybe_fold_addr_pointer_plus): New function.
1018 (cxx_eval_binary_expression): Use it.
1019
10202022-01-08 Jason Merrill <jason@redhat.com>
1021
1022 PR c++/103946
1023 * init.c (build_vec_init): Remove assert.
1024 * tree.c (build_vec_init_expr): Likewise.
1025
10262022-01-08 Jason Merrill <jason@redhat.com>
1027
1028 PR c++/100588
1029 * call.c (build_op_delete_call): Ignore destroying delete
1030 if alloc_fn.
1031
55e96bf9
GA
10322022-01-07 Jason Merrill <jason@redhat.com>
1033
1034 PR c++/20040
1035 * init.c (build_new_1): Also build pointer cleanup if
1036 TYPE_GETS_DELETE.
1037 * cp-tree.h (TYPE_GETS_VEC_DELETE): New.
1038
10392022-01-07 Jason Merrill <jason@redhat.com>
1040
1041 PR c++/103936
1042 PR c++/65591
1043 * cp-gimplify.c (cp_gimplify_expr): Restore VEC_INIT_EXPR handling.
1044
10452022-01-07 Jason Merrill <jason@redhat.com>
1046
1047 PR c++/103711
1048 * init.c (perform_target_ctor): Select destructor by in_chrg.
1049
10502022-01-07 Jason Merrill <jason@redhat.com>
1051
1052 PR c++/61611
1053 * except.c (in_nested_catch): New.
1054 (expand_end_catch_block): Check it.
1055
10562022-01-07 Jason Merrill <jason@redhat.com>
1057
1058 PR c++/33799
1059 PR c++/102191
1060 * except.c (maybe_splice_retval_cleanup): Check
1061 current_binding_level.
1062 * semantics.c (do_poplevel): Call it here.
1063 * parser.c (cp_parser_compound_statement): Not here.
1064
10652022-01-07 Jason Merrill <jason@redhat.com>
1066
1067 PR c++/53868
1068 * decl.c (cp_finish_decl): Use wrap_temporary_cleanups for
1069 cleanups from set_up_extended_ref_temp.
1070 (wrap_temporary_cleanups): Ignore array cleanups.
1071 (initialize_local_var): Don't check for array here.
1072 * cp-tree.h (BIND_EXPR_VEC_DTOR): New.
1073 * init.c (build_vec_delete_1): Set it.
1074
10752022-01-07 Jason Merrill <jason@redhat.com>
1076
1077 PR c++/66451
1078 * init.c (build_vec_delete_1): Handle throwing dtor.
1079 (build_vec_init): Tell it we're in a cleanup already.
1080
10812022-01-07 Jason Merrill <jason@redhat.com>
1082
1083 * typeck2.c (split_nonconstant_init_1): Don't cleanup the last elt.
1084 (split_nonconstant_init): Adjust.
1085
10862022-01-07 Jason Merrill <jason@redhat.com>
1087
1088 PR c++/66139
1089 PR c++/52320
1090 * constexpr.c (replace_decl): Rename from replace_result_decl.
1091 * cp-tree.h (replace_decl): Declare it.
1092 * cp-gimplify.c (cp_gimplify_init_expr): Call it.
1093 (cp_gimplify_expr): Don't handle VEC_INIT_EXPR.
1094 (cp_genericize_init, cp_genericize_init_expr)
1095 (cp_genericize_target_expr): New.
1096 (cp_fold_r): Call them.
1097 * tree.c (build_array_copy): Add a TARGET_EXPR.
1098 * typeck2.c (digest_init_r): Look through a TARGET_EXPR.
1099
11002022-01-07 Jason Merrill <jason@redhat.com>
1101
1102 PR c++/94041
1103 * decl.c (initialize_local_var): Fix comment.
1104 * init.c (build_new_1): Do stabilize array init.
1105 (build_vec_init): Use TARGET_EXPR for cleanup. Initialization
1106 of an element from an explicit initializer is not a
1107 full-expression.
1108 * tree.c (expand_vec_init_expr): Pass flags through.
1109 * typeck2.c (split_nonconstant_init_1): Handle VEC_INIT_EXPR.
1110 (split_nonconstant_init): Handle array cleanups.
1111 * cp-tree.h: Adjust.
1112
11132022-01-07 Jason Merrill <jason@redhat.com>
1114
1115 PR c++/94041
1116 * decl.c (check_initializer): Remove obsolete comment.
1117 (wrap_cleanups_r): Don't wrap CLEANUP_EH_ONLY.
1118 (initialize_local_var): Change assert to test.
1119 * typeck2.c (maybe_push_temp_cleanup): New.
1120 (split_nonconstant_init_1): Use it.
1121 (split_nonconstant_init): Clear cleanup flags.
1122
11232022-01-07 Jason Merrill <jason@redhat.com>
1124
1125 PR c++/92385
1126 * typeck2.c (PICFLAG_VEC_INIT): New.
1127 (process_init_constructor_array): Set it.
1128 (process_init_constructor): Handle it.
1129 (split_nonconstant_init_1): Handle VEC_INIT_EXPR.
1130 * init.c (build_vec_init): Likewise.
1131 * cp-gimplify.c (cp_gimplify_expr): Factor out...
1132 * tree.c (expand_vec_init_expr): ...this function.
1133 (build_vec_init_elt): Handle BRACE_ENCLOSED_INITIALIZER_P.
1134 (build_vec_init_expr): Likewise.
1135 * constexpr.c (cxx_eval_vec_init): Likewise.
1136 (reduced_constant_expression_p): Check arrays before C++20.
1137 * cp-tree.h (expand_vec_init_expr): Declare.
1138
11392022-01-07 Jason Merrill <jason@redhat.com>
1140
1141 * init.c (build_new_1): Remove preevaluation code.
1142
0fbefa25
GA
11432022-01-05 Nathan Sidwell <nathan@acm.org>
1144
1145 * pt.c (instantiate_class_template_1): Process attribute((used)) set
1146 in class's context.
1147
11482022-01-05 Nathan Sidwell <nathan@acm.org>
1149
1150 * init.c (build_new_1): Check complain before alignment warning.
1151
7d11b64b
GA
11522022-01-04 Jason Merrill <jason@redhat.com>
1153
1154 * cp-tree.h (class releasing_vec): Add begin/end fns.
1155
11562022-01-04 Jason Merrill <jason@redhat.com>
1157
1158 * init.c: Include -*- C++ -*- on first line.
1159
a4ae8c37
GA
11602022-01-03 Marek Polacek <polacek@redhat.com>
1161
1162 PR c++/103758
1163 * parser.c (cp_parser_decl_specifier_seq): Replace %<decl-specifier%>
1164 with %qD.
1165
11662022-01-03 Marek Polacek <polacek@redhat.com>
1167
1168 * parser.c (make_char_string_pack): Add a cast to const unsigned
1169 char *.
1170
11712022-01-03 Jakub Jelinek <jakub@redhat.com>
1172
1173 PR c++/103600
1174 * rtti.c (get_tinfo_decl_direct): Add "non overlapping" attribute
1175 to DECL_TINFO_P VAR_DECLs.
1176
5da23a13
GA
11772022-01-02 Jason Merrill <jason@redhat.com>
1178
1179 * init.c (build_vec_init): Append the decrement to elt_init.
1180
11812022-01-02 Jason Merrill <jason@redhat.com>
1182
1183 * decl.c (wrap_cleanups_r): Don't wrap if noexcept.
1184
ad41bd84 1185\f
6123f29a 1186Copyright (C) 2022 Free Software Foundation, Inc.
ad41bd84
JM
1187
1188Copying and distribution of this file, with or without modification,
1189are permitted in any medium without royalty provided the copyright
1190notice and this notice are preserved.