]>
Commit | Line | Data |
---|---|---|
cc606a91 GA |
1 | 2024-03-19 Nathaniel Shead <nathanieloshead@gmail.com> |
2 | ||
3 | * cp-tree.h (module_maybe_has_cmi_p): New function. | |
4 | * decl.cc (grokfndecl): Mark block-scope functions as public if | |
5 | they could be visible in other TUs. | |
6 | * decl2.cc (no_linkage_error): Don't error for declarations that | |
7 | could be defined in other TUs since C++20. Suppress duplicate | |
8 | errors from 'check_global_declaration'. | |
9 | * tree.cc (no_linkage_check): In relaxed mode, don't consider | |
10 | types in a module CMI to have no linkage. | |
11 | ||
b5490afe GA |
12 | 2024-03-16 Nathaniel Shead <nathanieloshead@gmail.com> |
13 | ||
14 | PR c++/112631 | |
15 | * cp-tree.h (named_module_attach_p): New function. | |
16 | * decl.cc (start_decl): Check for attachment not purview. | |
17 | (grokmethod): Likewise. | |
18 | ||
c1f6690b GA |
19 | 2024-03-14 Chung-Lin Tang <cltang@baylibre.com> |
20 | ||
21 | * parser.cc (cp_parser_oacc_data_clause): Add parsing support for | |
22 | 'readonly' modifier, set OMP_CLAUSE_MAP_READONLY if readonly modifier | |
23 | found, update comments. | |
24 | (cp_parser_oacc_cache): Add parsing support for 'readonly' modifier, | |
25 | set OMP_CLAUSE__CACHE__READONLY if readonly modifier found, update | |
26 | comments. | |
27 | ||
f6d9426b GA |
28 | 2024-03-12 Nathaniel Shead <nathanieloshead@gmail.com> |
29 | ||
30 | PR c++/98645 | |
31 | PR c++/98688 | |
32 | PR c++/111224 | |
33 | * module.cc (enum tree_tag): Add new tag for builtin types. | |
34 | (trees_out::start): POLY_INT_CSTs can be emitted. | |
35 | (trees_in::start): Likewise. | |
36 | (trees_out::core_vals): Stream POLY_INT_CSTs. | |
37 | (trees_in::core_vals): Likewise. | |
38 | (trees_out::type_node): Handle vectors with multiple coeffs. | |
39 | (trees_in::tree_node): Likewise. | |
40 | (init_modules): Register target-specific builtin types. Bump | |
41 | initial capacity slightly. | |
42 | ||
c775a030 GA |
43 | 2024-03-08 Jakub Jelinek <jakub@redhat.com> |
44 | ||
45 | * pt.cc (tsubst_expr): Handle MEM_REF. | |
46 | ||
47 | 2024-03-08 Jakub Jelinek <jakub@redhat.com> | |
48 | ||
49 | PR debug/113918 | |
50 | * cp-objcp-common.cc (cp_type_dwarf_attribute): Return 1 | |
51 | for DW_AT_export_symbols on anonymous structs or unions. | |
52 | ||
53 | 2024-03-08 Jakub Jelinek <jakub@redhat.com> | |
54 | ||
55 | PR c++/113802 | |
56 | * parser.cc (cp_parser_parameter_declaration): Move the xobj_param_p | |
57 | pack diagnostics after ellipsis handling and if an error is reported, | |
58 | pretend this specifier didn't appear. Formatting fix. | |
59 | ||
1e74c758 GA |
60 | 2024-03-07 Nathaniel Shead <nathanieloshead@gmail.com> |
61 | ||
62 | PR c++/114229 | |
63 | * module.cc (trees_out::core_bools): Redetermine | |
64 | DECL_INTERFACE_KNOWN on stream-in for vtables and tinfo. | |
65 | * decl2.cc (import_export_decl): Add fixme for ABI changes with | |
66 | module vtables and tinfo. | |
67 | ||
68 | 2024-03-07 Patrick Palka <ppalka@redhat.com> | |
69 | ||
70 | PR c++/103994 | |
71 | * cp-tree.h (add_mergeable_specialization): Remove second | |
72 | parameter. | |
73 | * module.cc (depset::disc_bits::DB_ALIAS_TMPL_INST_BIT): Remove. | |
74 | (depset::disc_bits::DB_ALIAS_SPEC_BIT): Remove. | |
75 | (depset::is_alias_tmpl_inst): Remove. | |
76 | (depset::is_alias): Remove. | |
77 | (merge_kind::MK_tmpl_alias_mask): Remove. | |
78 | (merge_kind::MK_alias_spec): Remove. | |
79 | (merge_kind_name): Remove entries for alias specializations. | |
80 | (trees_out::core_vals) <case TEMPLATE_DECL>: Adjust after | |
81 | removing is_alias_tmpl_inst. | |
82 | (trees_in::decl_value): Adjust add_mergeable_specialization | |
83 | calls. | |
84 | (trees_out::get_merge_kind) <case depset::EK_SPECIALIZATION>: | |
85 | Use MK_decl_spec for alias template specializations. | |
86 | (trees_out::key_mergeable): Simplify after MK_tmpl_alias_mask | |
87 | removal. | |
88 | (depset::hash::make_dependency): Adjust after removing | |
89 | DB_ALIAS_TMPL_INST_BIT. | |
90 | (specialization_add): Don't allow alias templates when !decl_p. | |
91 | (depset::hash::add_specializations): Remove now-dead code | |
92 | accomodating alias template specializations in the type table. | |
93 | * pt.cc (lookup_template_class): Dispatch early to | |
94 | instantiate_alias_template for alias templates. Simplify | |
95 | accordingly. | |
96 | (add_mergeable_specialization): Remove alias_p parameter and | |
97 | simplify accordingly. | |
98 | ||
99 | 2024-03-07 Patrick Palka <ppalka@redhat.com> | |
100 | ||
101 | PR c++/110730 | |
102 | PR c++/105512 | |
103 | * module.cc (module_state::write_namespaces): Stream the | |
104 | abi_tag attribute of an inline namespace. | |
105 | (module_state::read_namespaces): Likewise. | |
106 | ||
107 | 2024-03-07 Marek Polacek <polacek@redhat.com> | |
108 | ||
109 | PR c++/110031 | |
110 | * pt.cc (lookup_and_finish_template_variable): Pass complain to | |
111 | mark_used. | |
112 | ||
113 | 2024-03-07 Nathaniel Shead <nathanieloshead@gmail.com> | |
114 | ||
115 | PR c++/98356 | |
116 | * typeck2.cc (cxx_incomplete_type_diagnostic): Don't assume | |
117 | 'member' will be a FUNCTION_DECL (or something like it). | |
118 | ||
119 | 2024-03-07 Nathaniel Shead <nathanieloshead@gmail.com> | |
120 | ||
121 | PR c++/98881 | |
122 | * module.cc (trees_out::tpl_parms_fini): Stream out DECL_CONTEXT | |
123 | for template template parameters. | |
124 | (trees_in::tpl_parms_fini): Read it. | |
125 | ||
8b483cd5 GA |
126 | 2024-03-06 Marek Polacek <polacek@redhat.com> |
127 | ||
128 | PR c++/114114 | |
129 | * pt.cc (maybe_instantiate_noexcept): Save/restore | |
130 | cp_unevaluated_operand, c_inhibit_evaluation_warnings, and | |
131 | cp_noexcept_operand around the tsubst_expr call. | |
132 | ||
133 | 2024-03-06 Nathaniel Shead <nathanieloshead@gmail.com> | |
134 | ||
135 | PR c++/113629 | |
136 | * pt.cc (type_unification_real): Only use DEDUCE_CONV for the | |
137 | return type of a conversion function. | |
138 | ||
139 | 2024-03-06 Patrick Palka <ppalka@redhat.com> | |
140 | ||
141 | * module.cc (trees_out::get_merge_kind) <case depset::EK_DECL>: | |
142 | Accomodate class-scope DECL_UNINSTANTIATED_TEMPLATE_FRIEND_P | |
143 | TEMPLATE_DECL. Consolidate IDENTIFIER_ANON_P cases. | |
144 | ||
214dadf3 GA |
145 | 2024-03-05 Patrick Palka <ppalka@redhat.com> |
146 | ||
147 | * parser.cc (cp_parser_translation_unit): Relax GMF contents | |
148 | error into a pedwarn. | |
149 | ||
264e3ad4 GA |
150 | 2024-03-04 Nathaniel Shead <nathanieloshead@gmail.com> |
151 | ||
152 | * name-lookup.cc (walk_module_binding): Remove completed FIXME. | |
153 | (do_nonmember_using_decl): Mark redeclared entities as exported | |
154 | when needed. Check for re-exporting internal linkage types. | |
155 | ||
306a4c32 GA |
156 | 2024-03-01 Patrick Palka <ppalka@redhat.com> |
157 | ||
158 | PR c++/104919 | |
159 | PR c++/106009 | |
160 | * module.cc (depset::hash::sneakoscope): Remove. | |
161 | (trees_out::decl_node): Always add a dependency on a local type. | |
162 | (depset::hash::find_dependencies): Remove sneakoscope stuff. | |
163 | ||
164 | 2024-03-01 Nathaniel Shead <nathanieloshead@gmail.com> | |
165 | ||
166 | PR c++/114170 | |
167 | * module.cc (has_definition): Fall back to DECL_INITIALIZED_P | |
168 | when DECL_INITIAL is not set on a template. | |
169 | (module_state::write_inits): Only increment count when | |
170 | initializers are actually written. | |
171 | ||
172 | 2024-03-01 Nathaniel Shead <nathanieloshead@gmail.com> | |
173 | ||
174 | PR c++/114005 | |
175 | * init.cc (create_temporary_var): Use current_scope instead of | |
176 | current_function_decl. | |
177 | ||
178 | 2024-03-01 Patrick Palka <ppalka@redhat.com> | |
179 | ||
180 | * decl.cc (maybe_register_incomplete_var): Restrict second | |
181 | branch to static data members from a not-yet-complete class. | |
182 | ||
183 | 2024-03-01 Marek Polacek <polacek@redhat.com> | |
184 | ||
185 | PR c++/110358 | |
186 | PR c++/109642 | |
187 | * call.cc (no_dangling_p): New. | |
188 | (reference_like_class_p): Use it. | |
189 | (do_warn_dangling_reference): Use it. Don't warn when the function | |
190 | or its enclosing class has attribute gnu::no_dangling. | |
191 | * tree.cc (cxx_gnu_attributes): Add gnu::no_dangling. | |
192 | (handle_no_dangling_attribute): New. | |
193 | ||
194 | 2024-03-01 Patrick Palka <ppalka@redhat.com> | |
195 | ||
196 | PR c++/110025 | |
197 | PR c++/114138 | |
198 | * cp-tree.h (make_cast_auto): Declare. | |
199 | * parser.cc (cp_parser_functional_cast): If the type is an auto, | |
200 | replace it with a level-less one via make_cast_auto. | |
201 | * pt.cc (find_parameter_packs_r): Don't treat level-less auto | |
202 | as a type parameter pack. | |
203 | (tsubst) <case TEMPLATE_TYPE_PARM>: Generalize CTAD placeholder | |
204 | auto handling to all level-less autos. | |
205 | (make_cast_auto): Define. | |
206 | (do_auto_deduction): Handle replacement of a level-less auto. | |
207 | ||
208 | 2024-03-01 Jakub Jelinek <jakub@redhat.com> | |
209 | ||
210 | PR c++/92687 | |
211 | * decl.cc (lookup_decomp_type): Return NULL_TREE if decomp_type_table | |
212 | doesn't have entry for V. | |
213 | * semantics.cc (finish_decltype_type): If ptds.saved, assert | |
214 | DECL_HAS_VALUE_EXPR_P is true and decide on tuple vs. non-tuple based | |
215 | on if lookup_decomp_type is NULL or not. | |
216 | ||
b05f474c GA |
217 | 2024-02-29 Marek Polacek <polacek@redhat.com> |
218 | ||
219 | PR c++/113987 | |
220 | * call.cc (conv_binds_to_reference_parm_p): New. | |
221 | * cp-tree.h (conv_binds_to_reference_parm_p): Declare. | |
222 | * init.cc (find_uninit_fields_r): Call it. | |
223 | ||
224 | 2024-02-29 Nathaniel Shead <nathanieloshead@gmail.com> | |
225 | ||
226 | PR c++/111710 | |
227 | * cp-tree.h (DECL_MODULE_KEYED_DECLS_P): Remove tree checking. | |
228 | (struct lang_decl_base): Update comments and fix whitespace. | |
229 | * module.cc (trees_out::lang_decl_bools): Always write | |
230 | module_keyed_decls_p flag... | |
231 | (trees_in::lang_decl_bools): ...and always read it. | |
232 | (trees_out::decl_value): Handle all kinds of keyed decls. | |
233 | (trees_in::decl_value): Likewise. | |
234 | (trees_in::tree_value): Deduplicate LAMBDA_EXPRs. | |
235 | (maybe_key_decl): Also support lambdas attached to fields, | |
236 | parameters, and types. Key lambdas attached to fields to their | |
237 | class. | |
238 | (trees_out::get_merge_kind): Likewise. | |
239 | (trees_out::key_mergeable): Likewise. | |
240 | (trees_in::key_mergeable): Support keyed decls in a TYPE_DECL | |
241 | container. | |
242 | * parser.cc (cp_parser_class_head): Start a lambda scope when | |
243 | parsing base classes. | |
244 | ||
fd52355a GA |
245 | 2024-02-28 Jakub Jelinek <jakub@redhat.com> |
246 | Patrick Palka <ppalka@redhat.com> | |
247 | ||
248 | PR c++/113976 | |
249 | * decl.cc (grokdeclarator): Don't call cp_apply_type_quals_to_decl | |
250 | on DECL_TEMPLATE_INSTANTIATED VAR_DECLs. | |
251 | ||
252 | 2024-02-28 Nathaniel Shead <nathanieloshead@gmail.com> | |
253 | ||
254 | PR c++/113970 | |
255 | PR c++/114013 | |
256 | * decl.cc (make_rtl_for_nonlocal_decl): Don't defer inline | |
257 | variables. | |
258 | ||
4d9da419 GA |
259 | 2024-02-23 Jakub Jelinek <jakub@redhat.com> |
260 | ||
261 | PR c++/113083 | |
262 | * cp-gimplify.cc (cp_fold): For targetm.cxx.cdtor_returns_this () | |
263 | wrap r into a COMPOUND_EXPR and return folded CALL_EXPR_ARG (x, 0). | |
264 | ||
52490278 GA |
265 | 2024-02-19 Patrick Palka <ppalka@redhat.com> |
266 | ||
267 | PR c++/113966 | |
268 | * constraint.cc (tsubst_compound_requirement): Don't check | |
269 | the noexcept condition or the return-type-requirement when | |
270 | partially substituting. | |
271 | ||
c1d15713 GA |
272 | 2024-02-17 Marek Polacek <polacek@redhat.com> |
273 | ||
274 | PR c++/113158 | |
275 | * search.cc (maybe_check_overriding_exception_spec): Defer checking | |
276 | when a noexcept couldn't be instantiated & evaluated to false/true. | |
277 | ||
d70f155b GA |
278 | 2024-02-16 Marek Polacek <polacek@redhat.com> |
279 | ||
280 | DR 1351 | |
281 | * search.cc (maybe_check_overriding_exception_spec): Don't error about | |
282 | a looser exception specification if the overrider is deleted. | |
283 | ||
284 | 2024-02-16 Marek Polacek <polacek@redhat.com> | |
285 | ||
286 | PR c++/113789 | |
287 | PR c++/113853 | |
288 | * typeck.cc (treat_lvalue_as_rvalue_p): Update code to better | |
289 | reflect [expr.prim.id.unqual]#4.2. | |
290 | ||
291 | 2024-02-16 Jakub Jelinek <jakub@redhat.com> | |
292 | ||
293 | PR c++/113929 | |
294 | * parser.cc (cp_parser_parameter_declaration): Diagnose this specifier | |
295 | on template parameter declaration. | |
296 | ||
297 | 2024-02-16 Patrick Palka <ppalka@redhat.com> | |
298 | ||
299 | * module.cc (trees_out::core_bools): Stream TREE_UNAVAILABLE. | |
300 | (trees_in::core_bools): Likewise. | |
301 | (trees_out::core_vals): Stream LAMBDA_EXPR_REGEN_INFO. | |
302 | (trees_in::core_vals): Likewise. | |
303 | ||
5266f930 GA |
304 | 2024-02-14 Nathaniel Shead <nathanieloshead@gmail.com> |
305 | ||
306 | PR c++/113708 | |
307 | * decl.cc (make_rtl_for_nonlocal_decl): Defer inline variables. | |
308 | * decl2.cc (import_export_decl): Support inline variables. | |
309 | ||
310 | 2024-02-14 Patrick Palka <ppalka@redhat.com> | |
311 | ||
312 | PR c++/113908 | |
313 | PR c++/113332 | |
314 | * method.cc (synthesized_method_walk): Use maybe_push_to_top_level. | |
315 | ||
316 | 2024-02-14 Nathaniel Shead <nathanieloshead@gmail.com> | |
317 | ||
318 | PR c++/99573 | |
319 | * decl.cc (start_enum): Reorder check for redeclaring in module. | |
320 | Add missing auto_diagnostic_groups. | |
321 | ||
df6c57ce GA |
322 | 2024-02-13 Marek Polacek <polacek@redhat.com> |
323 | ||
324 | DR 1693 | |
325 | PR c++/113760 | |
326 | * parser.cc (cp_parser_member_declaration): Only pedwarn about an extra | |
327 | semicolon in C++98. | |
328 | ||
329 | 2024-02-13 Tobias Burnus <tburnus@baylibre.com> | |
330 | ||
331 | PR middle-end/113904 | |
332 | * parser.cc (cp_parser_omp_context_selector): Handle splitting of | |
333 | OMP_TRAIT_PROPERTY_EXPR into OMP_TRAIT_PROPERTY_{DEV_NUM,BOOL}_EXPR. | |
334 | ||
335 | 2024-02-13 Patrick Palka <ppalka@redhat.com> | |
336 | ||
337 | * Make-lang.in (CFLAGS-cp/module.o): Add $(ZLIBINC). | |
338 | * module.cc: Include <zlib.h>. | |
339 | (bytes::calc_crc): Use crc32 from zlib. | |
340 | (bytes_out::set_crc): Use crc32_combine from zlib. | |
341 | ||
342 | 2024-02-13 Patrick Palka <ppalka@redhat.com> | |
343 | ||
344 | * module.cc (depset::hash::add_specializations): Use | |
345 | STRIP_TEMPLATE consistently. | |
346 | (get_originating_module_decl): Handle class-scope CONST_DECL. | |
347 | ||
348 | 2024-02-13 Patrick Palka <ppalka@redhat.com> | |
349 | ||
350 | * lambda.cc (lambda_function): Call get_class_binding_direct | |
351 | instead of lookup_member to sidestep lazy loading. | |
352 | * name-lookup.cc (check_local_shadow): Punt if we're in a | |
353 | function context that's not actual parsing. | |
354 | ||
355 | 2024-02-13 Jason Merrill <jason@redhat.com> | |
356 | ||
357 | PR c++/113612 | |
358 | * pt.cc (process_partial_specialization): Return early | |
359 | on redeclaration. | |
360 | ||
361 | 2024-02-13 Marek Polacek <polacek@redhat.com> | |
362 | ||
363 | PR c++/112436 | |
364 | * except.cc (expand_start_catch_block): Pass tf_warning_or_error to | |
365 | is_admissible_throw_operand_or_catch_parameter. | |
366 | (build_throw): Pass complain to | |
367 | is_admissible_throw_operand_or_catch_parameter. | |
368 | (complete_ptr_ref_or_void_ptr_p): Add a tsubst_flags_t parameter. Use | |
369 | it. Return bool. Call complete_type_or_maybe_complain instead of | |
370 | complete_type_or_else. | |
371 | (is_admissible_throw_operand_or_catch_parameter): Add a tsubst_flags_t | |
372 | parameter. Use it. Guard error calls. | |
373 | ||
374 | 2024-02-13 Alex Coplan <alex.coplan@arm.com> | |
375 | ||
376 | PR c++/113658 | |
377 | * cp-objcp-common.cc (cp_feature_table): Remove entry for | |
378 | cxx_constexpr_string_builtins. | |
379 | ||
bf074ee4 GA |
380 | 2024-02-12 Marek Polacek <polacek@redhat.com> |
381 | ||
382 | PR c++/113545 | |
383 | * constexpr.cc (cxx_eval_switch_expr): If the condition doesn't reduce | |
384 | to an INTEGER_CST, consider it non-constant. | |
385 | ||
67d5b10e GA |
386 | 2024-02-10 Marek Polacek <polacek@redhat.com> |
387 | ||
388 | DR 2237 | |
389 | PR c++/107126 | |
390 | PR c++/97202 | |
391 | * parser.cc (cp_parser_unqualified_id): Downgrade the DR2237 error to | |
392 | a pedwarn. | |
393 | (cp_parser_constructor_declarator_p): Likewise. | |
394 | ||
395 | 2024-02-10 Jakub Jelinek <jakub@redhat.com> | |
396 | ||
397 | * tree.cc (debug_binfo): Use HOST_WIDE_INT_PRINT_DEC instead of "%ld" | |
398 | and casts to long. | |
399 | * pt.cc (print_template_statistics): Use HOST_SIZE_T_PRINT_DEC | |
400 | and casts to fmt_size_t instead of "%ld" and casts to long. | |
401 | * class.cc (dump_class_hierarchy_1): Use HOST_WIDE_INT_PRINT_UNSIGNED | |
402 | instead of "%lu" and casts to unsigned long. For TYPE_ALIGN, use | |
403 | %u instead of %lu and drop casts to unsigned long. | |
404 | * parser.cc (cp_lexer_peek_nth_token): Use HOST_SIZE_T_PRINT_DEC | |
405 | and casts to fmt_size_t instead of "%ld" and casts to long. | |
406 | ||
2523654a GA |
407 | 2024-02-09 Marek Polacek <polacek@redhat.com> |
408 | ||
409 | PR c++/113834 | |
410 | * semantics.cc (finish_type_pack_element): Perform range checking | |
411 | before tree_to_shwi. | |
412 | ||
413 | 2024-02-09 Marek Polacek <polacek@redhat.com> | |
414 | ||
415 | PR c++/98388 | |
416 | * coroutines.cc (coro_rewrite_function_body): Pass tf_warning_or_error | |
417 | to build_throw. | |
418 | (morph_fn_to_coro): Likewise. | |
419 | * cp-tree.h (build_throw): Adjust. | |
420 | * except.cc (expand_end_catch_block): Pass tf_warning_or_error to | |
421 | build_throw. | |
422 | (build_throw): Add a tsubst_flags_t parameter. Use it. Remove | |
423 | redundant variable. Guard an inform call. | |
424 | * parser.cc (cp_parser_throw_expression): Pass tf_warning_or_error | |
425 | to build_throw. | |
426 | * pt.cc (tsubst_expr) <case THROW_EXPR>: Pass complain to build_throw. | |
427 | ||
428 | 2024-02-09 Patrick Palka <ppalka@redhat.com> | |
429 | ||
430 | PR c++/112580 | |
431 | * module.cc (trees_in::read_class_def): When streaming in | |
432 | an anonymous union field of an as-base class, don't overwrite | |
433 | ANON_AGGR_TYPE_FIELD. | |
434 | ||
90586e27 GA |
435 | 2024-02-08 Patrick Palka <ppalka@redhat.com> |
436 | ||
437 | PR c++/113649 | |
438 | * pt.cc (do_class_deduction): Add outer_targs parameter. | |
439 | Substitute outer arguments into the CTAD template. | |
440 | (do_auto_deduction): Pass outer_targs to do_class_deduction. | |
441 | ||
442 | 2024-02-08 Jason Merrill <jason@redhat.com> | |
443 | ||
444 | * pt.cc (create_template_parm_object): Pass TARGET_EXPR to | |
445 | cxx_constant_value. | |
446 | ||
3e4c4c5e GA |
447 | 2024-02-06 Jakub Jelinek <jakub@redhat.com> |
448 | ||
449 | PR c++/113788 | |
450 | * parser.cc (CP_PARSER_FLAGS_PARAMETER): New enumerator. | |
451 | (cp_parser_decl_specifier_seq): Parse RID_THIS only if | |
452 | CP_PARSER_FLAGS_PARAMETER is set in flags. | |
453 | (cp_parser_parameter_declaration): Or in CP_PARSER_FLAGS_PARAMETER | |
454 | when calling cp_parser_decl_specifier_seq. | |
455 | ||
456 | 2024-02-06 Marek Polacek <polacek@redhat.com> | |
457 | ||
458 | * method.cc (early_check_defaulted_comparison): Add | |
459 | auto_diagnostic_group. | |
460 | ||
461 | 2024-02-06 Jason Merrill <jason@redhat.com> | |
462 | ||
463 | PR c++/107291 | |
464 | * method.cc (early_check_defaulted_comparison): Fail if not friend. | |
465 | ||
1c9ddaae GA |
466 | 2024-02-05 Jason Merrill <jason@redhat.com> |
467 | ||
468 | PR c++/111286 | |
469 | * tree.cc (rvalue): Don't drop cv-quals from an array. | |
470 | ||
4b7d4d8a GA |
471 | 2024-02-03 Patrick Palka <ppalka@redhat.com> |
472 | ||
473 | PR c++/110006 | |
474 | PR c++/112769 | |
475 | * constraint.cc (subst_info::quiet): Accomodate non-diagnostic | |
476 | tsubst flags. | |
477 | (tsubst_valid_expression_requirement): Likewise. | |
478 | (tsubst_simple_requirement): Return a substituted _REQ node when | |
479 | processing_template_decl. | |
480 | (tsubst_type_requirement_1): Accomodate non-diagnostic tsubst | |
481 | flags. | |
482 | (tsubst_type_requirement): Return a substituted _REQ node when | |
483 | processing_template_decl. | |
484 | (tsubst_compound_requirement): Likewise. Accomodate non-diagnostic | |
485 | tsubst flags. | |
486 | (tsubst_nested_requirement): Likewise. | |
487 | (tsubst_requires_expr): Don't defer partial substitution when | |
488 | processing_constraint_expression_p is true, in which case return | |
489 | a substituted REQUIRES_EXPR. | |
490 | * pt.cc (tsubst_expr) <case REQUIRES_EXPR>: Accomodate | |
491 | non-diagnostic tsubst flags. | |
492 | ||
493 | 2024-02-02 Jason Merrill <jason@redhat.com> | |
494 | ||
495 | PR c++/110084 | |
496 | * pt.cc (tsubst_function_decl): Only check a function defaulted | |
497 | outside the class if the class is complete. | |
498 | ||
499 | 2024-02-02 Jason Merrill <jason@redhat.com> | |
500 | ||
501 | PR c++/112439 | |
502 | * constexpr.cc (cxx_eval_store_expression): Check empty_base | |
503 | before marking a CONSTRUCTOR readonly. | |
504 | ||
505 | 2024-02-02 Jason Merrill <jason@redhat.com> | |
506 | ||
507 | PR c++/113638 | |
508 | * cp-tree.h: Adjust comment. | |
509 | * pt.cc (instantiate_template): Set VAR_HAD_UNKNOWN_BOUND for | |
510 | variable template. | |
511 | ||
e2554540 GA |
512 | 2024-02-01 Marek Polacek <polacek@redhat.com> |
513 | ||
514 | * call.cc (reference_like_class_p): Consider even non-templates for | |
515 | std::span-like classes. | |
516 | ||
517 | 2024-02-01 Patrick Palka <ppalka@redhat.com> | |
518 | ||
519 | PR c++/112737 | |
520 | * pt.cc (iterative_hash_template_arg) <case TEMPLATE_DECL>: | |
521 | Adjust hashing to match cp_tree_equal. | |
522 | (ctp_hasher::hash): Also hash CLASS_PLACEHOLDER_TEMPLATE. | |
523 | * tree.cc (cp_tree_equal) <case TEMPLATE_DECL>: Return true | |
524 | for ttp TEMPLATE_DECLs if their TEMPLATE_TEMPLATE_PARMs are | |
525 | equivalent. | |
526 | * typeck.cc (structural_comptypes) <case TEMPLATE_TYPE_PARM>: | |
527 | Use cp_tree_equal to compare CLASS_PLACEHOLDER_TEMPLATE. | |
528 | ||
529 | 2024-02-01 Marek Polacek <polacek@redhat.com> | |
530 | ||
531 | PR c++/112437 | |
532 | * typeck.cc (treat_lvalue_as_rvalue_p): Bail out on sk_namespace in | |
533 | the move on throw of parms loop. | |
534 | ||
097ddd55 GA |
535 | 2024-01-30 Marek Polacek <polacek@redhat.com> |
536 | ||
537 | PR c++/110358 | |
538 | PR c++/109640 | |
539 | * call.cc (reference_like_class_p): Don't warn for std::span-like | |
540 | classes. | |
541 | ||
542 | 2024-01-30 Patrick Palka <ppalka@redhat.com> | |
543 | ||
544 | PR c++/113640 | |
545 | * call.cc (keep_unused_object_arg): Punt for an xobj member | |
546 | function. | |
547 | ||
548 | 2024-01-30 Patrick Palka <ppalka@redhat.com> | |
549 | ||
550 | PR c++/113644 | |
551 | * pt.cc (unify) <case INTEGER_CST>: Handle NULL_TREE type. | |
552 | ||
553 | 2024-01-30 Nathaniel Shead <nathanieloshead@gmail.com> | |
554 | ||
555 | PR c++/107594 | |
556 | * module.cc (get_module): Bail on empty name. | |
557 | ||
f0706819 GA |
558 | 2024-01-29 Jason Merrill <jason@redhat.com> |
559 | ||
560 | PR c++/113544 | |
561 | * pt.cc (instantiate_class_template): Don't partially instantiate. | |
562 | (tsubst_stmt): Likewise. | |
563 | ||
ce9dae56 GA |
564 | 2024-01-26 Nathaniel Shead <nathanieloshead@gmail.com> |
565 | ||
566 | PR c++/113580 | |
567 | * module.cc (struct post_process_data): Create. | |
568 | (trees_in::post_decls): Use. | |
569 | (trees_in::post_process): Return entire vector at once. | |
570 | Change overload to take post_process_data instead of tree. | |
571 | (trees_out::write_function_def): Write needed flags from | |
572 | DECL_STRUCT_FUNCTION. | |
573 | (trees_in::read_function_def): Read them and pass to | |
574 | post_process. | |
575 | (module_state::read_cluster): Write flags into cfun. | |
576 | ||
577 | 2024-01-26 Nathaniel Shead <nathanieloshead@gmail.com> | |
578 | ||
579 | PR c++/112899 | |
580 | * cp-tree.h (note_variable_template_instantiation): Rename to... | |
581 | (note_vague_linkage_variable): ...this. | |
582 | * decl2.cc (note_variable_template_instantiation): Rename to... | |
583 | (note_vague_linkage_variable): ...this. | |
584 | * pt.cc (instantiate_decl): Rename usage of above function. | |
585 | * module.cc (trees_in::read_var_def): Remember pending statics | |
586 | that we stream in. | |
587 | ||
f22a7ae8 GA |
588 | 2024-01-25 Jakub Jelinek <jakub@redhat.com> |
589 | ||
590 | PR c++/113599 | |
591 | * typeck2.cc (build_m_component_ref): Use convert instead of | |
592 | cp_convert for pointer conversion. | |
593 | ||
594 | 2024-01-25 Jason Merrill <jason@redhat.com> | |
595 | ||
596 | PR c++/113598 | |
597 | * init.cc (build_vec_init): Don't use {} for PMF. | |
598 | ||
599 | 2024-01-25 Jason Merrill <jason@redhat.com> | |
600 | ||
601 | PR c++/109227 | |
602 | * coroutines.cc (build_co_await): Use cxx_maybe_build_cleanup. | |
603 | (build_actor_fn, process_conditional, maybe_promote_temps) | |
604 | (morph_fn_to_coro): Likewise. | |
605 | (expand_one_await_expression): Use build_cleanup. | |
606 | ||
607 | 2024-01-25 Nathaniel Shead <nathanieloshead@gmail.com> | |
608 | ||
609 | PR c++/113405 | |
610 | * module.cc (set_defining_module): Track partial specialisations | |
611 | for all declarations. | |
612 | ||
613 | 2024-01-25 Nathaniel Shead <nathanieloshead@gmail.com> | |
614 | ||
615 | PR c++/100707 | |
616 | * name-lookup.cc (add_imported_namespace): Don't mark namespaces | |
617 | as imported. | |
618 | ||
2a9637b2 GA |
619 | 2024-01-24 Patrick Palka <ppalka@redhat.com> |
620 | ||
621 | PR c++/113529 | |
622 | * call.cc (add_operator_candidates): Propagate error_mark_node | |
623 | result after recursing to find rewritten candidates. | |
624 | ||
3128786c GA |
625 | 2024-01-23 Marek Polacek <polacek@redhat.com> |
626 | ||
627 | PR c++/113256 | |
628 | PR c++/111607 | |
629 | PR c++/109640 | |
630 | * call.cc (do_warn_dangling_reference): Don't warn if the temporary | |
631 | is of lambda type. | |
632 | ||
633 | 2024-01-23 Nathaniel Shead <nathanieloshead@gmail.com> | |
634 | ||
635 | PR c++/112820 | |
636 | PR c++/102607 | |
637 | * module.cc (trees_out::lang_type_bools): Write interface_only | |
638 | and interface_unknown. | |
639 | (trees_in::lang_type_bools): Read the above flags. | |
640 | (trees_in::decl_value): Reset CLASSTYPE_INTERFACE_* except for | |
641 | extern templates. | |
642 | (trees_in::read_class_def): Remove buggy extern template | |
643 | handling. | |
644 | ||
c2544854 GA |
645 | 2024-01-19 Jason Merrill <jason@redhat.com> |
646 | ||
647 | PR c++/113498 | |
648 | * pt.cc (decl_template_info): New fn. | |
649 | (get_template_info): Use it. | |
650 | ||
651 | 2024-01-19 Jason Merrill <jason@redhat.com> | |
652 | ||
653 | PR c++/112632 | |
654 | PR c++/112594 | |
655 | PR c++/111357 | |
656 | PR c++/104594 | |
657 | PR c++/67898 | |
658 | * cp-tree.h (IMPLICIT_CONV_EXPR_FORCED): New. | |
659 | * pt.cc (expand_integer_pack): Remove 111357 workaround. | |
660 | (maybe_convert_nontype_argument): Add force parm. | |
661 | (convert_template_argument): Handle alias template args | |
662 | specially. | |
663 | (tsubst_expr): Don't ignore IMPLICIT_CONV_EXPR_NONTYPE_ARG. | |
664 | * error.cc (dump_expr) [CASE_CONVERT]: Handle null optype. | |
665 | ||
bb0f96ab GA |
666 | 2024-01-18 Marek Polacek <polacek@redhat.com> |
667 | ||
668 | PR c++/113389 | |
669 | * decl.cc (grokdeclarator) <case cdk_function>: Set TREE_PURPOSE to | |
670 | NULL_TREE when emitting an error. | |
671 | ||
2c213ac9 GA |
672 | 2024-01-17 Nathaniel Shead <nathanieloshead@gmail.com> |
673 | ||
674 | PR c++/112588 | |
675 | * module.cc (trees_in::read_function_def): Don't overwrite | |
676 | arguments. | |
677 | ||
678 | 2024-01-17 Patrick Palka <ppalka@redhat.com> | |
679 | ||
680 | PR c++/113242 | |
681 | PR c++/99493 | |
682 | * pt.cc (invalid_tparm_referent_p) <case ADDR_EXPR>: Suppress | |
683 | DECL_ARTIFICIAL rejection test for class NTTP objects. | |
684 | ||
1a177974 GA |
685 | 2024-01-16 Nathaniel Shead <nathanieloshead@gmail.com> |
686 | ||
687 | PR c++/113292 | |
688 | * decl2.cc (get_tls_wrapper_fn): Set DECL_CONTEXT. | |
689 | (c_parse_final_cleanups): Suppress warning for no definition of | |
690 | TLS wrapper functions in header modules. | |
691 | * module.cc (trees_out::lang_decl_vals): Write wrapped variable | |
692 | for TLS wrapper functions. | |
693 | (trees_in::lang_decl_vals): Read it. | |
694 | (trees_out::decl_value): Write TLS model for thread-local vars. | |
695 | (trees_in::decl_value): Read it for new decls. Remember to emit | |
696 | definitions of TLS wrapper functions later. | |
697 | ||
698 | 2024-01-16 Nathaniel Shead <nathanieloshead@gmail.com> | |
699 | ||
700 | * name-lookup.h (enum scope_kind): Add 'sk_count'. | |
701 | * name-lookup.cc (cp_binding_level_descriptor): Add missing | |
702 | scope kinds. Add assertion that the list is up to date. Fix | |
703 | handling of explicit_spec_p. | |
704 | ||
705 | 2024-01-16 Marek Polacek <polacek@redhat.com> | |
706 | ||
707 | * decl.cc (grokdeclarator) <case cdk_function>: Tweak diagnostic | |
708 | messages. | |
709 | ||
710 | 2024-01-16 Marek Polacek <polacek@redhat.com> | |
711 | ||
712 | PR c++/113340 | |
713 | * decl.cc (grokdeclarator) <case cdk_function>: Clear | |
714 | is_xobj_member_function in case of an error. | |
715 | ||
716 | 2024-01-16 waffl3x <waffl3x@protonmail.com> | |
717 | ||
718 | PR c++/113307 | |
719 | * parser.cc (cp_parser_parameter_declaration): Reject packs | |
720 | on xobj params. | |
721 | ||
be035ec4 GA |
722 | 2024-01-15 Marek Polacek <polacek@redhat.com> |
723 | ||
724 | PR c++/110065 | |
725 | * parser.cc (cp_parser_template_type_arg): Add auto checking. | |
726 | ||
727 | 2024-01-15 Patrick Palka <ppalka@redhat.com> | |
728 | ||
729 | * parser.cc (cp_parser_check_access_in_redeclaration): Don't | |
730 | check access for a partial or explicit specialization. | |
731 | * pt.cc (maybe_new_partial_specialization): Don't set TREE_PRIVATE | |
732 | or TREE_PROTECTED on the newly created partial specialization. | |
733 | ||
734 | 2024-01-15 Patrick Palka <ppalka@redhat.com> | |
735 | ||
736 | PR c++/104634 | |
737 | * pt.cc (maybe_new_partial_specialization): Propagate TREE_PUBLIC | |
738 | to the newly created partial specialization. | |
739 | ||
740 | 2024-01-15 Patrick Palka <ppalka@redhat.com> | |
741 | ||
742 | PR c++/109899 | |
743 | * init.cc (build_vec_delete_1): Assume expr_noexcept_p returns | |
744 | false in a template context. | |
745 | ||
ed5bf208 GA |
746 | 2024-01-13 Jakub Jelinek <jakub@redhat.com> |
747 | ||
748 | * mangle.cc (write_nested_name): Mangle explicit object | |
749 | member functions with H as per | |
750 | https://github.com/itanium-cxx-abi/cxx-abi/issues/148 non-proposal. | |
751 | ||
444a31f3 GA |
752 | 2024-01-12 Jason Merrill <jason@redhat.com> |
753 | ||
754 | PR c++/113038 | |
755 | * name-lookup.cc (lookup_elaborated_type): Look for bindings | |
756 | in the global namespace in the ABI namespace. | |
757 | ||
758 | 2024-01-12 Jason Merrill <jason@redhat.com> | |
759 | ||
760 | * call.cc (reversed_match): New. | |
761 | (enum class pmatch): New enum. | |
762 | (cand_parms_match): Add match_kind parm. | |
763 | (object_parms_correspond): Add fn parms. | |
764 | (joust): Adjust. | |
765 | * class.cc (xobj_iobj_parameters_correspond): Rename to... | |
766 | (iobj_parm_corresponds_to): ...this. Take the other | |
767 | type instead of a second function. | |
768 | (object_parms_correspond): Adjust. | |
769 | * cp-tree.h (iobj_parm_corresponds_to): Declare. | |
770 | ||
1a80e955 GA |
771 | 2024-01-11 Jason Merrill <jason@redhat.com> |
772 | ||
773 | PR c++/113191 | |
774 | * class.cc (xobj_iobj_parameters_correspond): Add context parm. | |
775 | (object_parms_correspond): Factor out of... | |
776 | (add_method): ...here. | |
777 | * method.cc (defaulted_late_check): Use it. | |
778 | * call.cc (class_of_implicit_object): New. | |
779 | (object_parms_correspond): Overload taking two candidates. | |
780 | (cand_parms_match): Use it. | |
781 | (joust): Check reversed before comparing constraints. | |
782 | * cp-tree.h (object_parms_correspond): Declare. | |
783 | ||
45af8962 GA |
784 | 2024-01-10 Tamar Christina <tamar.christina@arm.com> |
785 | ||
786 | * parser.cc (cp_parser_pragma): Initialize to false. | |
787 | ||
73ce73fc GA |
788 | 2024-01-09 Jason Merrill <jason@redhat.com> |
789 | ||
790 | * semantics.cc (is_object_parameter): New. | |
791 | * cp-tree.h (is_object_parameter): Declare. | |
792 | * call.cc (maybe_warn_class_memaccess): Use it. | |
793 | * search.cc (field_access_p): Use it. | |
794 | (class_of_object_parm): New. | |
795 | (field_accessor_p): Adjust for explicit object parms. | |
796 | ||
797 | 2024-01-09 Jason Merrill <jason@redhat.com> | |
798 | ||
799 | * call.cc (build_over_call): Refactor handle_arg lambda. | |
800 | * class.cc (xobj_iobj_parameters_correspond): Fix FIXME. | |
801 | * method.cc (defaulted_late_check): Adjust comments. | |
802 | ||
803 | 2024-01-09 waffl3x <waffl3x@protonmail.com> | |
804 | ||
805 | PR c++/102609 | |
806 | PR c++/102609 | |
807 | C++23 P0847R7 (deducing this) - CWG2586. | |
808 | * decl.cc (copy_fn_p): Accept xobj copy assignment functions. | |
809 | (move_signature_fn_p): Accept xobj move assignment functions. | |
810 | * method.cc (do_build_copy_assign): Handle defaulted xobj member | |
811 | functions. | |
812 | (defaulted_late_check): Comment. | |
813 | (defaultable_fn_check): Comment. | |
814 | ||
815 | 2024-01-09 waffl3x <waffl3x@protonmail.com> | |
816 | ||
817 | PR c++/102609 | |
818 | PR c++/102609 | |
819 | C++23 P0847R7 (deducing this) - xobj lambdas. | |
820 | * lambda.cc (build_capture_proxy): Don't fold direct object types. | |
821 | * parser.cc (cp_parser_lambda_declarator_opt): Handle xobj lambdas, | |
822 | diagnostics. Comments also updated. | |
823 | * pt.cc (tsubst_function_decl): Handle xobj lambdas. Check object | |
824 | type of xobj lambda call operator, diagnose incorrect types. | |
825 | (tsubst_lambda_expr): Update comment. | |
826 | * semantics.cc (finish_decltype_type): Also consider by-value object | |
827 | parameter qualifications. | |
828 | ||
829 | 2024-01-09 waffl3x <waffl3x@protonmail.com> | |
830 | ||
831 | PR c++/102609 | |
832 | PR c++/102609 | |
833 | C++23 P0847R7 (deducing this) - diagnostics. | |
834 | * class.cc (resolve_address_of_overloaded_function): Diagnostics. | |
835 | * cp-tree.h (TFF_XOBJ_FUNC): Define. | |
836 | * decl.cc (grokfndecl): Diagnostics. | |
837 | (grokdeclarator): Diagnostics. | |
838 | * error.cc (dump_aggr_type): Pass TFF_XOBJ_FUNC. | |
839 | (dump_lambda_function): Formatting for xobj lambda. | |
840 | (dump_function_decl): Pass TFF_XOBJ_FUNC. | |
841 | (dump_parameters): Formatting for xobj member functions. | |
842 | (function_category): Formatting for xobj member functions. | |
843 | * parser.cc (cp_parser_decl_specifier_seq): Diagnostics. | |
844 | (cp_parser_parameter_declaration): Diagnostics. | |
845 | * search.cc (look_for_overrides_here): Make xobj member functions | |
846 | override. | |
847 | (look_for_overrides_r): Reject an overriding xobj member function | |
848 | and diagnose it. | |
849 | * semantics.cc (finish_this_expr): Diagnostics. | |
850 | * typeck.cc (cp_build_addr_expr_1): Diagnostics. | |
851 | ||
852 | 2024-01-09 waffl3x <waffl3x@protonmail.com> | |
853 | ||
854 | PR c++/102609 | |
855 | PR c++/102609 | |
856 | C++23 P0847R7 (deducing this) - initial functionality. | |
857 | * class.cc (xobj_iobj_parameters_correspond): New function, checks | |
858 | for corresponding object parameters between xobj and iobj member | |
859 | functions. | |
860 | (add_method): Handle object parameters of xobj member functions, use | |
861 | xobj_iobj_parameters_correspond. | |
862 | * call.cc (build_over_call): Refactor, handle xobj member functions. | |
863 | (cand_parms_match): Handle object parameters of xobj and iobj member | |
864 | functions, use xobj_iobj_parameters_correspond. | |
865 | * cp-tree.h (enum cp_decl_spec): Add ds_this, add comments. | |
866 | * decl.cc (grokfndecl): Add xobj_func_p parameter. For xobj member | |
867 | functions, Set xobj_flag, don't set static_function flag. | |
868 | (grokdeclarator): Handle xobj member functions, tell grokfndecl. | |
869 | (grok_op_properties): Don't error for xobj operators. | |
870 | * parser.cc (cp_parser_decl_specifier_seq): Handle this specifier. | |
871 | (cp_parser_parameter_declaration): Set default argument to | |
872 | "this_identifier" for xobj parameters. | |
873 | (set_and_check_decl_spec_loc): Add "this", add comments. | |
874 | * tree.cc (build_min_non_dep_op_overload): Handle xobj operators. | |
875 | * typeck.cc (cp_build_addr_expr_1): Handle address-of xobj member | |
876 | functions. | |
877 | ||
878 | 2024-01-09 waffl3x <waffl3x@protonmail.com> | |
879 | Jason Merrill <jason@redhat.com> | |
880 | ||
881 | PR c++/102609 | |
882 | * cp-tree.h (struct lang_decl_fn): New data member. | |
883 | (DECL_NONSTATIC_MEMBER_FUNCTION_P): Poison. | |
884 | (DECL_IOBJ_MEMBER_FUNCTION_P): Define. | |
885 | (DECL_FUNCTION_XOBJ_FLAG): Define. | |
886 | (DECL_XOBJ_MEMBER_FUNCTION_P): Define. | |
887 | (DECL_OBJECT_MEMBER_FUNCTION_P): Define. | |
888 | (DECL_FUNCTION_MEMBER_P): Don't use | |
889 | DECL_NONSTATIC_MEMBER_FUNCTION_P. | |
890 | (DECL_CONST_MEMFUNC_P): Likewise. | |
891 | (DECL_VOLATILE_MEMFUNC_P): Likewise. | |
892 | (DECL_NONSTATIC_MEMBER_P): Likewise. | |
893 | * module.cc (trees_out::lang_decl_bools): Handle xobj_flag. | |
894 | (trees_in::lang_decl_bools): Handle xobj_flag. | |
895 | * call.cc (build_this_conversion) | |
896 | (add_function_candidate) | |
897 | (add_template_candidate_real) | |
898 | (add_candidates) | |
899 | (maybe_warn_class_memaccess) | |
900 | (cand_parms_match) | |
901 | (joust) | |
902 | (do_warn_dangling_reference) | |
903 | * class.cc (finalize_literal_type_property) | |
904 | (finish_struct) | |
905 | (resolve_address_of_overloaded_function) | |
906 | * constexpr.cc (is_valid_constexpr_fn) | |
907 | (cxx_bind_parameters_in_call) | |
908 | * contracts.cc (build_contract_condition_function) | |
909 | * cp-objcp-common.cc (cp_decl_dwarf_attribute) | |
910 | * cxx-pretty-print.cc (cxx_pretty_printer::postfix_expression) | |
911 | (cxx_pretty_printer::declaration_specifiers) | |
912 | (cxx_pretty_printer::direct_declarator) | |
913 | * decl.cc (cp_finish_decl) | |
914 | (grok_special_member_properties) | |
915 | (start_preparsed_function) | |
916 | (record_key_method_defined) | |
917 | * decl2.cc (cp_handle_deprecated_or_unavailable) | |
918 | * init.cc (find_uninit_fields_r) | |
919 | (build_offset_ref) | |
920 | * lambda.cc (lambda_expr_this_capture) | |
921 | (maybe_generic_this_capture) | |
922 | (nonlambda_method_basetype) | |
923 | * mangle.cc (write_nested_name) | |
924 | * method.cc (early_check_defaulted_comparison) | |
925 | (skip_artificial_parms_for) | |
926 | (num_artificial_parms_for) | |
927 | * pt.cc (is_specialization_of_friend) | |
928 | (determine_specialization) | |
929 | (copy_default_args_to_explicit_spec) | |
930 | (check_explicit_specialization) | |
931 | (tsubst_contract_attribute) | |
932 | (check_non_deducible_conversions) | |
933 | (more_specialized_fn) | |
934 | (maybe_instantiate_noexcept) | |
935 | (register_parameter_specializations) | |
936 | (value_dependent_expression_p) | |
937 | * search.cc (shared_member_p) | |
938 | (lookup_member) | |
939 | (field_access_p) | |
940 | * semantics.cc (finish_omp_declare_simd_methods) | |
941 | * tree.cc (lvalue_kind) | |
942 | * typeck.cc (invalid_nonstatic_memfn_p): Don't use | |
943 | DECL_NONSTATIC_MEMBER_FUNCTION_P. | |
944 | ||
945 | 2024-01-09 Julian Brown <julian@codesourcery.com> | |
946 | ||
947 | * constexpr.cc (potential_consant_expression_1): Handle | |
948 | OMP_ARRAY_SECTION. | |
949 | * cp-tree.h (grok_omp_array_section, build_omp_array_section): Add | |
950 | prototypes. | |
951 | * decl2.cc (grok_omp_array_section): New function. | |
952 | * error.cc (dump_expr): Handle OMP_ARRAY_SECTION. | |
953 | * parser.cc (cp_parser_new): Initialize parser->omp_array_section_p. | |
954 | (cp_parser_statement_expr): Disallow array sections. | |
955 | (cp_parser_postfix_open_square_expression): Support OMP_ARRAY_SECTION | |
956 | parsing. | |
957 | (cp_parser_parenthesized_expression_list, cp_parser_lambda_expression, | |
958 | cp_parser_braced_list): Disallow array sections. | |
959 | (cp_parser_omp_var_list_no_open): Remove ALLOW_DEREF parameter, add | |
960 | MAP_LVALUE in its place. Support generalised lvalue parsing for | |
961 | OpenMP map, to and from clauses. Use OMP_ARRAY_SECTION | |
962 | code instead of TREE_LIST to represent OpenMP array sections. | |
963 | (cp_parser_omp_var_list): Remove ALLOW_DEREF parameter, add MAP_LVALUE. | |
964 | Pass to cp_parser_omp_var_list_no_open. | |
965 | (cp_parser_oacc_data_clause): Update call to cp_parser_omp_var_list. | |
966 | (cp_parser_omp_clause_map): Add sk_omp scope around | |
967 | cp_parser_omp_var_list_no_open call. | |
968 | * parser.h (cp_parser): Add omp_array_section_p field. | |
969 | * pt.cc (tsubst, tsubst_copy, tsubst_omp_clause_decl, | |
970 | tsubst_copy_and_build): Add OMP_ARRAY_SECTION support. | |
971 | * semantics.cc (handle_omp_array_sections_1, handle_omp_array_sections, | |
972 | cp_oacc_check_attachments, finish_omp_clauses): Use OMP_ARRAY_SECTION | |
973 | instead of TREE_LIST where appropriate. Handle more types of map | |
974 | expression. | |
975 | * typeck.cc (build_omp_array_section): New function. | |
976 | ||
59e0c218 GA |
977 | 2024-01-07 Nathaniel Shead <nathanieloshead@gmail.com> |
978 | ||
979 | * module.cc (trees_out::write_var_def): Only write initializers | |
980 | in header modules. | |
981 | ||
982 | 2024-01-07 Nathaniel Shead <nathanieloshead@gmail.com> | |
983 | ||
984 | PR c++/109679 | |
985 | * module.cc (depset::hash::add_binding_entity): Don't skip names | |
986 | in the GMF if they've been exported with a using declaration. | |
987 | ||
988 | 2024-01-07 Nathaniel Shead <nathanieloshead@gmail.com> | |
989 | ||
990 | PR c++/110808 | |
991 | * parser.cc (cp_parser_module_name): Rewrite to handle | |
992 | module-names and module-partitions independently. | |
993 | (cp_parser_module_partition): New function. | |
994 | (cp_parser_module_declaration): Parse module partitions | |
995 | explicitly. Don't change state if parsing module decl failed. | |
996 | (cp_parser_import_declaration): Handle different kinds of | |
997 | import-declarations locally. | |
998 | ||
eb84e8d3 GA |
999 | 2024-01-03 Patrick Palka <ppalka@redhat.com> |
1000 | ||
1001 | PR c++/113064 | |
1002 | * call.cc (reference_binding): Still try a conversion via a | |
1003 | temporary if a direct conversion was bad. | |
1004 | ||
1005 | 2024-01-03 Kwok Cheung Yeung <kcy@codesourcery.com> | |
1006 | ||
1007 | * parser.cc (cp_parser_omp_clause_name): Move handling of indirect | |
1008 | clause to correspond to alphabetical order. | |
1009 | ||
ad41bd84 | 1010 | \f |
8c22aed4 | 1011 | Copyright (C) 2024 Free Software Foundation, Inc. |
ad41bd84 JM |
1012 | |
1013 | Copying and distribution of this file, with or without modification, | |
1014 | are permitted in any medium without royalty provided the copyright | |
1015 | notice and this notice are preserved. |