]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/cp/ChangeLog
[COMMITTED] Improve coment for the newly added code in ipa-split.
[thirdparty/gcc.git] / gcc / cp / ChangeLog
CommitLineData
fc829782
GA
12022-01-17 Martin Liska <mliska@suse.cz>
2
3 * Make-lang.in: Rename .c names to .cc.
4 * config-lang.in: Likewise.
5 * constexpr.cc (cxx_eval_constant_expression): Likewise.
6 * coroutines.cc (morph_fn_to_coro): Likewise.
7 * cp-gimplify.cc (cp_gimplify_expr): Likewise.
8 * cp-lang.cc (struct lang_hooks): Likewise.
9 (get_template_argument_pack_elems_folded): Likewise.
10 * cp-objcp-common.cc (cp_tree_size): Likewise.
11 (cp_unit_size_without_reusable_padding): Likewise.
12 (pop_file_scope): Likewise.
13 (cp_pushdecl): Likewise.
14 * cp-objcp-common.h (GCC_CP_OBJCP_COMMON): Likewise.
15 (cxx_simulate_record_decl): Likewise.
16 * cp-tree.h (struct named_label_entry): Likewise.
17 (current_function_return_value): Likewise.
18 (more_aggr_init_expr_args_p): Likewise.
19 (get_function_version_dispatcher): Likewise.
20 (common_enclosing_class): Likewise.
21 (strip_fnptr_conv): Likewise.
22 (current_decl_namespace): Likewise.
23 (do_aggregate_paren_init): Likewise.
24 (cp_check_const_attributes): Likewise.
25 (qualified_name_lookup_error): Likewise.
26 (generic_targs_for): Likewise.
27 (mark_exp_read): Likewise.
28 (is_global_friend): Likewise.
29 (maybe_reject_flexarray_init): Likewise.
30 (module_token_lang): Likewise.
31 (handle_module_option): Likewise.
32 (literal_integer_zerop): Likewise.
33 (build_extra_args): Likewise.
34 (build_if_nonnull): Likewise.
35 (maybe_check_overriding_exception_spec): Likewise.
36 (finish_omp_target_clauses): Likewise.
37 (maybe_warn_zero_as_null_pointer_constant): Likewise.
38 (cxx_print_error_function): Likewise.
39 (decl_in_std_namespace_p): Likewise.
40 (merge_exception_specifiers): Likewise.
41 (mangle_module_global_init): Likewise.
42 (cxx_block_may_fallthru): Likewise.
43 (fold_builtin_source_location): Likewise.
44 (enum cp_oracle_request): Likewise.
45 (subsumes): Likewise.
46 (cp_finish_injected_record_type): Likewise.
47 (vtv_build_vtable_verify_fndecl): Likewise.
48 (cp_tree_c_finish_parsing): Likewise.
49 * cvt.cc (diagnose_ref_binding): Likewise.
50 (convert_to_void): Likewise.
51 (convert_force): Likewise.
52 (type_promotes_to): Likewise.
53 * decl.cc (make_unbound_class_template_raw): Likewise.
54 (cxx_init_decl_processing): Likewise.
55 (check_class_member_definition_namespace): Likewise.
56 (cxx_maybe_build_cleanup): Likewise.
57 * decl2.cc (maybe_emit_vtables): Likewise.
58 * error.cc (dump_function_name): Likewise.
59 * init.cc (is_class_type): Likewise.
60 (build_new_1): Likewise.
61 * lang-specs.h: Likewise.
62 * method.cc (make_alias_for_thunk): Likewise.
63 * module.cc (specialization_add): Likewise.
64 (module_state::read_cluster): Likewise.
65 * name-lookup.cc (check_extern_c_conflict): Likewise.
66 * name-lookup.h (struct cxx_binding): Likewise.
67 * parser.cc (cp_parser_identifier): Likewise.
68 * parser.h (struct cp_parser): Likewise.
69 * pt.cc (has_value_dependent_address): Likewise.
70 (push_tinst_level_loc): Likewise.
71 * semantics.cc (finish_omp_clauses): Likewise.
72 (finish_omp_atomic): Likewise.
73 * tree.cc (cp_save_expr): Likewise.
74 (cp_free_lang_data): Likewise.
75 * typeck.cc (cp_common_type): Likewise.
76 (strip_array_domain): Likewise.
77 (rationalize_conditional_expr): Likewise.
78 (check_return_expr): Likewise.
79 * vtable-class-hierarchy.cc: Likewise.
80
812022-01-17 Martin Liska <mliska@suse.cz>
82
83 * call.c: Moved to...
84 * call.cc: ...here.
85 * class.c: Moved to...
86 * class.cc: ...here.
87 * constexpr.c: Moved to...
88 * constexpr.cc: ...here.
89 * cp-gimplify.c: Moved to...
90 * cp-gimplify.cc: ...here.
91 * cp-lang.c: Moved to...
92 * cp-lang.cc: ...here.
93 * cp-objcp-common.c: Moved to...
94 * cp-objcp-common.cc: ...here.
95 * cp-ubsan.c: Moved to...
96 * cp-ubsan.cc: ...here.
97 * cvt.c: Moved to...
98 * cvt.cc: ...here.
99 * cxx-pretty-print.c: Moved to...
100 * cxx-pretty-print.cc: ...here.
101 * decl.c: Moved to...
102 * decl.cc: ...here.
103 * decl2.c: Moved to...
104 * decl2.cc: ...here.
105 * dump.c: Moved to...
106 * dump.cc: ...here.
107 * error.c: Moved to...
108 * error.cc: ...here.
109 * except.c: Moved to...
110 * except.cc: ...here.
111 * expr.c: Moved to...
112 * expr.cc: ...here.
113 * friend.c: Moved to...
114 * friend.cc: ...here.
115 * g++spec.c: Moved to...
116 * g++spec.cc: ...here.
117 * init.c: Moved to...
118 * init.cc: ...here.
119 * lambda.c: Moved to...
120 * lambda.cc: ...here.
121 * lex.c: Moved to...
122 * lex.cc: ...here.
123 * mangle.c: Moved to...
124 * mangle.cc: ...here.
125 * method.c: Moved to...
126 * method.cc: ...here.
127 * name-lookup.c: Moved to...
128 * name-lookup.cc: ...here.
129 * optimize.c: Moved to...
130 * optimize.cc: ...here.
131 * parser.c: Moved to...
132 * parser.cc: ...here.
133 * pt.c: Moved to...
134 * pt.cc: ...here.
135 * ptree.c: Moved to...
136 * ptree.cc: ...here.
137 * rtti.c: Moved to...
138 * rtti.cc: ...here.
139 * search.c: Moved to...
140 * search.cc: ...here.
141 * semantics.c: Moved to...
142 * semantics.cc: ...here.
143 * tree.c: Moved to...
144 * tree.cc: ...here.
145 * typeck.c: Moved to...
146 * typeck.cc: ...here.
147 * typeck2.c: Moved to...
148 * typeck2.cc: ...here.
149 * vtable-class-hierarchy.c: Moved to...
150 * vtable-class-hierarchy.cc: ...here.
151
1522022-01-17 Jakub Jelinek <jakub@redhat.com>
153
154 PR c++/104031
155 * cp-gimplify.c (cp_genericize_target_expr): Set DECL_CONTEXT of
156 TARGET_EXPR_SLOT to current_function_decl if it was NULL.
157
1582022-01-17 Andrew Stubbs <ams@codesourcery.com>
159
160 * parser.c (cp_parser_omp_requires): Don't "sorry" dynamic_allocators.
161
617db51d
GA
1622022-01-14 Chung-Lin Tang <cltang@codesourcery.com>
163
164 PR c++/103705
165 * semantics.c (finish_omp_clauses): Also continue peeling off of
166 outer node for ARRAY_REFs.
167
1682022-01-14 Jakub Jelinek <jakub@redhat.com>
169
170 PR c++/103991
171 * cp-objcp-common.c (cxx_block_may_fallthru) <case IF_STMT>: For
172 IF_STMT_CONSTEXPR_P with constant false or true condition only
173 check if the taken clause may fall through.
174 * cp-gimplify.c (genericize_if_stmt): For consteval if, revert
175 to r12-5638^ behavior if then_ block can't fall through. For
176 constexpr if, revert to r12-5638^ behavior.
177
ad3f0d08
GA
1782022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
179 Jason Merrill <jason@redhat.com>
180
181 PR c++/70417
182 * parser.c (cp_parser_id_expression): Handle
183 -Wmissing-template-keyword.
184 (struct saved_token_sentinel): Add modes to control what happens
185 on destruction.
186 (cp_parser_statement): Adjust.
187 (cp_parser_skip_entire_template_parameter_list): New function that
188 skips an entire template parameter list.
189 (cp_parser_require_end_of_template_parameter_list): Rename old
190 cp_parser_skip_to_end_of_template_parameter_list.
191 (cp_parser_skip_to_end_of_template_parameter_list): Refactor to be
192 called from one of the above two functions.
193 (cp_parser_lambda_declarator_opt)
194 (cp_parser_explicit_template_declaration)
195 (cp_parser_enclosed_template_argument_list): Adjust.
196
02a8a01b
GA
1972022-01-12 Jakub Jelinek <jakub@redhat.com>
198 Jason Merrill <jason@redhat.com>
199
200 PR c++/103480
201 * tree.c (move): If expr is xvalue_p, just return expr without
202 build_static_cast.
203
01a254e3
GA
2042022-01-11 Jakub Jelinek <jakub@redhat.com>
205
206 PR c++/101597
207 * class.c (build_vfn_ref): Build OBJ_TYPE_REF with INTEGER_CST
208 OBJ_TYPE_REF_TOKEN with type equal to OBJ_TYPE_REF_OBJECT type.
209 * error.c (resolve_virtual_fun_from_obj_type_ref): Use type of
210 OBJ_TYPE_REF_TOKEN rather than type of OBJ_TYPE_REF_OBJECT as
211 obj_type.
212
2132022-01-11 Patrick Palka <ppalka@redhat.com>
214
215 PR c++/103831
216 * call.c (build_new_method_call): Consider dependent bases only
217 if 'this' is available.
218
2192022-01-11 Olivier Hainque <hainque@adacore.com>
220
221 * decl.c (cxx_init_decl_processing): Move code possibly
222 altering flag_weak before code testing it.
223
d9450aa0
GA
2242022-01-10 Patrick Palka <ppalka@redhat.com>
225
226 PR c++/103879
227 * constexpr.c (cxx_fold_indirect_ref): Split out object/offset
228 canonicalization step into a local lambda. Strengthen it to
229 absorb more components at position 0. Use it before both calls
230 to cxx_fold_indirect_ref_1.
231
2322022-01-10 Patrick Palka <ppalka@redhat.com>
233
234 PR c++/103783
235 * call.c (cand_parms_match): Skip over 'this' when given one
236 static and one non-static member function.
237
2382022-01-10 Jakub Jelinek <jakub@redhat.com>
239
240 PR c++/103912
241 * semantics.c (expand_or_defer_fn): For immediate functions, set
242 node->body_removed to true and clear analyzed, definition and
243 force_output.
244 * decl2.c (c_parse_final_cleanups): Ignore immediate functions for
245 expand_or_defer_fn.
246
2848ef14
GA
2472022-01-08 Jakub Jelinek <jakub@redhat.com>
248
249 PR c++/89074
250 * constexpr.c (cxx_maybe_fold_addr_pointer_plus): New function.
251 (cxx_eval_binary_expression): Use it.
252
2532022-01-08 Jason Merrill <jason@redhat.com>
254
255 PR c++/103946
256 * init.c (build_vec_init): Remove assert.
257 * tree.c (build_vec_init_expr): Likewise.
258
2592022-01-08 Jason Merrill <jason@redhat.com>
260
261 PR c++/100588
262 * call.c (build_op_delete_call): Ignore destroying delete
263 if alloc_fn.
264
55e96bf9
GA
2652022-01-07 Jason Merrill <jason@redhat.com>
266
267 PR c++/20040
268 * init.c (build_new_1): Also build pointer cleanup if
269 TYPE_GETS_DELETE.
270 * cp-tree.h (TYPE_GETS_VEC_DELETE): New.
271
2722022-01-07 Jason Merrill <jason@redhat.com>
273
274 PR c++/103936
275 PR c++/65591
276 * cp-gimplify.c (cp_gimplify_expr): Restore VEC_INIT_EXPR handling.
277
2782022-01-07 Jason Merrill <jason@redhat.com>
279
280 PR c++/103711
281 * init.c (perform_target_ctor): Select destructor by in_chrg.
282
2832022-01-07 Jason Merrill <jason@redhat.com>
284
285 PR c++/61611
286 * except.c (in_nested_catch): New.
287 (expand_end_catch_block): Check it.
288
2892022-01-07 Jason Merrill <jason@redhat.com>
290
291 PR c++/33799
292 PR c++/102191
293 * except.c (maybe_splice_retval_cleanup): Check
294 current_binding_level.
295 * semantics.c (do_poplevel): Call it here.
296 * parser.c (cp_parser_compound_statement): Not here.
297
2982022-01-07 Jason Merrill <jason@redhat.com>
299
300 PR c++/53868
301 * decl.c (cp_finish_decl): Use wrap_temporary_cleanups for
302 cleanups from set_up_extended_ref_temp.
303 (wrap_temporary_cleanups): Ignore array cleanups.
304 (initialize_local_var): Don't check for array here.
305 * cp-tree.h (BIND_EXPR_VEC_DTOR): New.
306 * init.c (build_vec_delete_1): Set it.
307
3082022-01-07 Jason Merrill <jason@redhat.com>
309
310 PR c++/66451
311 * init.c (build_vec_delete_1): Handle throwing dtor.
312 (build_vec_init): Tell it we're in a cleanup already.
313
3142022-01-07 Jason Merrill <jason@redhat.com>
315
316 * typeck2.c (split_nonconstant_init_1): Don't cleanup the last elt.
317 (split_nonconstant_init): Adjust.
318
3192022-01-07 Jason Merrill <jason@redhat.com>
320
321 PR c++/66139
322 PR c++/52320
323 * constexpr.c (replace_decl): Rename from replace_result_decl.
324 * cp-tree.h (replace_decl): Declare it.
325 * cp-gimplify.c (cp_gimplify_init_expr): Call it.
326 (cp_gimplify_expr): Don't handle VEC_INIT_EXPR.
327 (cp_genericize_init, cp_genericize_init_expr)
328 (cp_genericize_target_expr): New.
329 (cp_fold_r): Call them.
330 * tree.c (build_array_copy): Add a TARGET_EXPR.
331 * typeck2.c (digest_init_r): Look through a TARGET_EXPR.
332
3332022-01-07 Jason Merrill <jason@redhat.com>
334
335 PR c++/94041
336 * decl.c (initialize_local_var): Fix comment.
337 * init.c (build_new_1): Do stabilize array init.
338 (build_vec_init): Use TARGET_EXPR for cleanup. Initialization
339 of an element from an explicit initializer is not a
340 full-expression.
341 * tree.c (expand_vec_init_expr): Pass flags through.
342 * typeck2.c (split_nonconstant_init_1): Handle VEC_INIT_EXPR.
343 (split_nonconstant_init): Handle array cleanups.
344 * cp-tree.h: Adjust.
345
3462022-01-07 Jason Merrill <jason@redhat.com>
347
348 PR c++/94041
349 * decl.c (check_initializer): Remove obsolete comment.
350 (wrap_cleanups_r): Don't wrap CLEANUP_EH_ONLY.
351 (initialize_local_var): Change assert to test.
352 * typeck2.c (maybe_push_temp_cleanup): New.
353 (split_nonconstant_init_1): Use it.
354 (split_nonconstant_init): Clear cleanup flags.
355
3562022-01-07 Jason Merrill <jason@redhat.com>
357
358 PR c++/92385
359 * typeck2.c (PICFLAG_VEC_INIT): New.
360 (process_init_constructor_array): Set it.
361 (process_init_constructor): Handle it.
362 (split_nonconstant_init_1): Handle VEC_INIT_EXPR.
363 * init.c (build_vec_init): Likewise.
364 * cp-gimplify.c (cp_gimplify_expr): Factor out...
365 * tree.c (expand_vec_init_expr): ...this function.
366 (build_vec_init_elt): Handle BRACE_ENCLOSED_INITIALIZER_P.
367 (build_vec_init_expr): Likewise.
368 * constexpr.c (cxx_eval_vec_init): Likewise.
369 (reduced_constant_expression_p): Check arrays before C++20.
370 * cp-tree.h (expand_vec_init_expr): Declare.
371
3722022-01-07 Jason Merrill <jason@redhat.com>
373
374 * init.c (build_new_1): Remove preevaluation code.
375
0fbefa25
GA
3762022-01-05 Nathan Sidwell <nathan@acm.org>
377
378 * pt.c (instantiate_class_template_1): Process attribute((used)) set
379 in class's context.
380
3812022-01-05 Nathan Sidwell <nathan@acm.org>
382
383 * init.c (build_new_1): Check complain before alignment warning.
384
7d11b64b
GA
3852022-01-04 Jason Merrill <jason@redhat.com>
386
387 * cp-tree.h (class releasing_vec): Add begin/end fns.
388
3892022-01-04 Jason Merrill <jason@redhat.com>
390
391 * init.c: Include -*- C++ -*- on first line.
392
a4ae8c37
GA
3932022-01-03 Marek Polacek <polacek@redhat.com>
394
395 PR c++/103758
396 * parser.c (cp_parser_decl_specifier_seq): Replace %<decl-specifier%>
397 with %qD.
398
3992022-01-03 Marek Polacek <polacek@redhat.com>
400
401 * parser.c (make_char_string_pack): Add a cast to const unsigned
402 char *.
403
4042022-01-03 Jakub Jelinek <jakub@redhat.com>
405
406 PR c++/103600
407 * rtti.c (get_tinfo_decl_direct): Add "non overlapping" attribute
408 to DECL_TINFO_P VAR_DECLs.
409
5da23a13
GA
4102022-01-02 Jason Merrill <jason@redhat.com>
411
412 * init.c (build_vec_init): Append the decrement to elt_init.
413
4142022-01-02 Jason Merrill <jason@redhat.com>
415
416 * decl.c (wrap_cleanups_r): Don't wrap if noexcept.
417
ad41bd84 418\f
6123f29a 419Copyright (C) 2022 Free Software Foundation, Inc.
ad41bd84
JM
420
421Copying and distribution of this file, with or without modification,
422are permitted in any medium without royalty provided the copyright
423notice and this notice are preserved.