]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/cp/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / cp / ChangeLog
CommitLineData
2f5765cf
GA
12021-02-22 Nathan Sidwell <nathan@acm.org>
2
3 PR c++/99174
4 * module.cc (struct module_state): Add visited_p flag.
5 (name_pending_imports): Use it to avoid duplicate requests.
6 (preprocess_module): Don't read preprocessor state if we failed to
7 load a module's config.
8
92021-02-22 Nathan Sidwell <nathan@acm.org>
10
11 PR c++/99153
12 * decl.c (duplicate_decls): Move DECL_MODULE_IMPORT_P propagation
13 to common-path.
14 * module.cc (set_defining_module): Add assert.
15
50352c6c
GA
162021-02-19 Nathan Sidwell <nathan@acm.org>
17
18 PR c++/98741
19 * module.cc (pending_imports): New.
20 (declare_module): Adjust test condition.
21 (name_pending_imports): New.
22 (preprocess_module): Reimplement using pending_imports.
23 (preprocessed_module): Move name-getting to name_pending_imports.
24 * name-lookup.c (append_imported_binding_slot): Assert module
25 ordering is increasing.
26
272021-02-19 Nathan Sidwell <nathan@acm.org>
28
29 * module.cc (note_cmis): New.
30 (struct module_state): Add inform_read_p bit.
31 (module_state::do_import): Inform of CMI location, if enabled.
32 (init_modules): Canonicalize note_cmis entries.
33 (handle_module_option): Handle -flang-info-module-read=FOO.
34
352021-02-19 Jason Merrill <jason@redhat.com>
36
37 PR c++/96926
38 * call.c (perfect_conversion_p): Limit rvalueness
39 test to reference bindings.
40
412021-02-19 Jason Merrill <jason@redhat.com>
42
43 PR c++/96926
44 * call.c (perfect_conversion_p): New.
45 (perfect_candidate_p): New.
46 (add_candidates): Ignore templates after a perfect non-template.
47
bf81237e
GA
482021-02-18 Nathan Sidwell <nathan@acm.org>
49
50 PR c++/99023
51 * module.cc (canonicalize_header_name): Use
52 cpp_probe_header_unit.
53 (maybe_translate_include): Fix note_includes comparison.
54 (init_modules): Fix note_includes string termination.
55
562021-02-18 Jakub Jelinek <jakub@redhat.com>
57
58 PR c++/99132
59 * cp-gimplify.c (cp_genericize_r) <case CALL_EXPR>: Use
60 cp_get_callee_fndecl_nofold instead of cp_get_callee_fndecl to check
61 for immediate function calls.
62
acc0ee5c
GA
632021-02-17 Nathan Sidwell <nathan@acm.org>
64
65 PR c++/99023
66 * module.cc (struct macro_export): Add GTY markers.
67 (macro_exports): Likewise, us a va_gc Vector.
68
692021-02-17 Jakub Jelinek <jakub@redhat.com>
70
71 PR sanitizer/99106
72 * init.c (build_zero_init_1): For flexible array members just return
73 NULL_TREE instead of returning empty CONSTRUCTOR with non-complete
74 ARRAY_TYPE.
75
762021-02-17 Nathan Sidwell <nathan@acm.org>
77
78 PR c++/99116
79 * name-lookup.c (do_pushdecl): Don't peek under template_parm
80 bindings here ...
81 (set_identifier_type_value_with_scope): ... or here.
82 (do_pushtag): Only set_identifier_type_value_with_scope at
83 non-class template parm scope, and use parent scope.
84
852021-02-17 Nathan Sidwell <nathan@acm.org>
86
87 PR c++/99071
88 * name-lookup.c (maybe_record_mergeable_decl): Deref the correct
89 pointer.
90
912021-02-17 Patrick Palka <ppalka@redhat.com>
92
93 PR debug/96997
94 PR c++/94034
95 * tree.c (build_aggr_init_expr): Revert r10-7718 change.
96
fab095da
GA
972021-02-12 Nathan Sidwell <nathan@acm.org>
98
99 * module.cc (module_state::write_cluster): Check bindings for
100 imported using-decls.
101
1022021-02-12 Nathan Sidwell <nathan@acm.org>
103
104 PR c++/99040
105 * module.cc (trees_in::decl_value): Call add_module_namespace_decl
106 for new namespace-scope entities.
107 (module_state::read_cluster): Don't call add_module_decl here.
108 * name-lookup.h (add_module_decl): Rename to ...
109 (add_module_namespace_decl): ... this.
110 * name-lookup.c (newbinding_bookkeeping): Move into ...
111 (do_pushdecl): ... here. Its only remaining caller.
112 (add_module_decl): Rename to ...
113 (add_module_namespace_decl): ... here. Add checking-assert for
114 circularity. Don't call newbinding_bookkeeping, just extern_c
115 checking and incomplete var checking.
116
1172021-02-12 Nathan Sidwell <nathan@acm.org>
118
119 PR c++/99039
120 PR c++/99040
121 * cp-tree.h (CPTI_GLOBAL_TYPE): Delete.
122 (global_type_node): Delete.
123 (IDENTIFIER_TYPE_VALUE): Delete.
124 (IDENTIFIER_HAS_TYPE_VALUE): Delete.
125 (get_type_value): Delete.
126 * name-lookup.h (identifier_type_value): Delete.
127 * name-lookup.c (check_module_override): Don't
128 SET_IDENTIFIER_TYPE_VALUE here.
129 (do_pushdecl): Nor here.
130 (identifier_type_value_1, identifier_type_value): Delete.
131 (set_identifier_type_value_with_scope): Only
132 SET_IDENTIFIER_TYPE_VALUE for local and class scopes.
133 (pushdecl_nanmespace_level): Remove shadow stack nadgering.
134 (do_pushtag): Use REAL_IDENTIFIER_TYPE_VALUE.
135 * call.c (check_dtor_name): Use lookup_name.
136 * decl.c (cxx_init_decl_processing): Drop global_type_node.
137 * decl2.c (cplus_decl_attributes): Don't SET_IDENTIFIER_TYPE_VALUE
138 here.
139 * init.c (get_type_value): Delete.
140 * pt.c (instantiate_class_template_1): Don't call pushtag or
141 SET_IDENTIFIER_TYPE_VALUE here.
142 (tsubst): Assert never an identifier.
143 (dependent_type_p): Drop global_type_node assert.
144 * typeck.c (error_args_num): Don't use IDENTIFIER_HAS_TYPE_VALUE
145 to determine ctorness.
146
1472021-02-12 Jakub Jelinek <jakub@redhat.com>
148
149 PR c++/97742
150 * parser.c (cp_parser_requirement_seq): Stop iterating after reaching
151 CPP_EOF.
152
1532021-02-12 Jason Merrill <jason@redhat.com>
154
155 PR c++/97246
156 PR c++/94546
157 * pt.c (extract_fnparm_pack): Check DECL_PACK_P here.
158 (register_parameter_specializations): Not here.
159
0c5cdb31
GA
1602021-02-11 Marek Polacek <polacek@redhat.com>
161
162 PR c++/95888
163 * pt.c (lookup_template_class_1): Pass tf_none to tsubst when looking
164 for the partial instantiation.
165
1662021-02-11 Jakub Jelinek <jakub@redhat.com>
167
168 PR c++/99033
169 * init.c (build_zero_init_1): Handle zero initialiation of
170 flexible array members like initialization of [0] arrays.
171 Use integer_minus_onep instead of comparison to integer_minus_one_node
172 and integer_zerop instead of comparison against size_zero_node.
173 Formatting fixes.
174
1752021-02-11 Marek Polacek <polacek@redhat.com>
176
177 PR c++/99063
178 * semantics.c (finish_do_stmt): Check for unexpanded parameter packs.
179
1802021-02-11 Patrick Palka <ppalka@redhat.com>
181
182 PR c++/97582
183 * name-lookup.c (op_unqualified_lookup): Handle an ambiguous
184 lookup result by discarding it if the first element is a
185 class-scope declaration, otherwise return it.
186 (push_operator_bindings): Handle an ambiguous lookup result by
187 doing push_local_binding on each element in the list.
188
1892021-02-11 Marek Polacek <polacek@redhat.com>
190
191 * parser.c (cp_parser_selection_statement): Use vec_free.
192
4b37c3ea
GA
1932021-02-10 Jakub Jelinek <jakub@redhat.com>
194
195 PR c++/98988
196 PR c++/99031
197 * constexpr.c: Include cgraph.h.
198 (cxx_eval_call_expression): Call varpool_node::finalize_decl on
199 heap artificial vars.
200 (cxx_eval_outermost_constant_expr): Remove varpool nodes for
201 heap artificial vars.
202
2032021-02-10 Nathan Sidwell <nathan@acm.org>
204
205 PR c++/99030
206 * pt.c (tsubst_copy) [VAR_DECL]: For a DECL_LOCAL_DECL_P T is the
207 answer if there's no local specialization.
208
0a91b73e
GA
2092021-02-09 Nathan Sidwell <nathan@acm.org>
210
211 PR c++/98944
212 * module.cc (module_state::is_rooted): Rename to ...
213 (module_state::has_location): ... here. Adjust callers.
214 (module_state::read_partitions): Adjust validity check.
215 Don't overwrite a known location.
216
2172021-02-09 Jason Merrill <jason@redhat.com>
218
219 PR c++/96905
220 * pt.c (mark_decl_instantiated): Exit early if consteval.
221
2222021-02-09 Jason Merrill <jason@redhat.com>
223
224 PR c++/98326
225 PR c++/20408
226 * cp-gimplify.c (simple_empty_class_p): Don't touch an invisiref
227 parm.
228
2292021-02-09 Jason Merrill <jason@redhat.com>
230
231 PR c++/98994
232 PR c++/97566
233 * constexpr.c (cxx_eval_store_expression): Only skip empty fields in
234 RECORD_TYPE.
235
2da7ce23
GA
2362021-02-08 Nathan Sidwell <nathan@acm.org>
237
238 * decl.c (start_cleanup_fn): Push function into
239 namespace.
240
2412021-02-08 Nathan Sidwell <nathan@acm.org>
242
243 PR c++/98531
244 * cp-tree.h (push_abi_namespace, pop_abi_namespace): Declare.
245 * decl.c (push_abi_namespace, pop_abi_namespace): Moved
246 from rtti.c, add default namespace arg.
247 (check_redeclaration_exception_specification): Allow a lazy
248 builtin's eh spec to differ from an lready-declared user
249 declaration.
250 (declare_global_var): Use push/pop_abi_namespace.
251 (get_atexit_node): Push the fndecl into a namespace.
252 * rtti.c (push_abi_namespace, pop_abi_namespace): Moved to
253 decl.c.
254
2552021-02-08 Marek Polacek <polacek@redhat.com>
256
257 * cp-tree.h (CLASSTYPE_TI_TEMPLATE): Fix typo.
258
1ed59127
GA
2592021-02-05 Marek Polacek <polacek@redhat.com>
260
261 PR c++/98947
262 * call.c (build_conditional_expr_1): Don't call mark_lvalue_use
263 on arg2/arg3.
264 * expr.c (mark_use) <case MODIFY_EXPR>: Don't check read_p when
265 issuing the -Wvolatile warning. Only set TREE_THIS_VOLATILE if
266 a warning was emitted.
267
2682021-02-05 Marek Polacek <polacek@redhat.com>
269
270 PR c++/96462
271 * name-lookup.c (lookup_using_decl): Hoist the destructor check.
272
2732021-02-05 Jakub Jelinek <jakub@redhat.com>
274
275 PR c++/97878
276 * decl.c (check_array_initializer): For structured bindings, require
277 the array type to be complete.
278
a19dd5e6
GA
2792021-02-04 Jason Merrill <jason@redhat.com>
280
281 PR c++/98717
282 * constraint.cc (build_concept_check_arguments): Remove assert.
283 (build_concept_check): Allow empty args.
284
2852021-02-04 Tom Greenslade (thomgree) <thomgree@cisco.com>
286
287 PR c++/90926
288 * call.c (can_convert_array): Extend to handle all valid aggregate
289 initializers of an array; including by string literals, not just by
290 brace-init-list.
291 (build_aggr_conv): Call can_convert_array more often, not just in
292 brace-init-list case.
293 * typeck2.c (array_string_literal_compatible_p): New function.
294 (digest_init_r): call array_string_literal_compatible_p
295 * cp-tree.h: (array_string_literal_compatible_p): Declare.
296
2972021-02-04 Jason Merrill <jason@redhat.com>
298
299 PR c++/98802
300 * pt.c (do_class_deduction): No aggregate guide if any_dguides_p.
301
3022021-02-04 Jason Merrill <jason@redhat.com>
303
304 PR c++/95192
305 * pt.c (tsubst_attribute): Handle error.
306 (apply_late_template_attributes): Return false on error.
307 (tsubst_function_decl): Check its return value.
308 (tsubst_decl): Likewise.
309 (push_template_decl): Assert current_template_parms.
310 (tsubst_template_decl): Set current_template_parms.
311
9faaa807
GA
3122021-02-03 Marek Polacek <polacek@redhat.com>
313
314 PR c++/98951
315 * call.c (struct z_candidate): Mark rewritten and reversed as const.
316 (struct NonPublicField): Mark operator() as const.
317 (struct NonTrivialField): Likewise.
318
3192021-02-03 Jason Merrill <jason@redhat.com>
320
321 PR c++/98926
322 PR c++/98570
323 * pt.c (spec_hasher::equal): Set processing_template_decl.
324 * Make-lang.in (check-g++-strict-gc): Add --param
325 hash-table-verification-limit=10000.
326
3272021-02-03 Marek Polacek <polacek@redhat.com>
328
329 PR c++/98899
330 * parser.c (cp_parser_class_specifier_1): Use any possible
331 DEFPARSE_INSTANTIATIONS to update DEFERRED_NOEXCEPT_PATTERN.
332 (cp_parser_save_noexcept): Initialize DEFPARSE_INSTANTIATIONS.
333 * pt.c (tsubst_exception_specification): Stash new_specs into
334 DEFPARSE_INSTANTIATIONS.
335 * tree.c (fixup_deferred_exception_variants): Use
336 UNPARSED_NOEXCEPT_SPEC_P.
337
548b75d8
GA
3382021-02-02 Jason Merrill <jason@redhat.com>
339
340 PR c++/98929
341 PR c++/96199
342 * error.c (dump_expr): Ignore dummy object.
343 * pt.c (tsubst_baselink): Handle dependent scope.
344
f7884fb1
GA
3452021-02-01 Patrick Palka <ppalka@redhat.com>
346
347 PR c++/98295
348 * constexpr.c (cxx_eval_array_reference): Also set
349 new_ctx.object when setting new_ctx.ctor.
350
3512021-02-01 Marek Polacek <polacek@redhat.com>
352
353 PR c++/98355
354 * parser.c (cp_parser_has_attribute_expression): Use
355 uses_template_parms instead of type_dependent_expression_p.
356
3572021-02-01 Jason Merrill <jason@redhat.com>
358
359 PR c++/98570
360 * cp-tree.h: Declare it.
361 * pt.c (comparing_dependent_aliases): New flag.
362 (template_args_equal, spec_hasher::equal): Set it.
363 (dependent_alias_template_spec_p): Assert that we don't
364 get non-types other than error_mark_node.
365 (instantiate_alias_template): SET_TYPE_STRUCTURAL_EQUALITY
366 on complex alias specializations. Set TYPE_DEPENDENT_P here.
367 (tsubst_decl): Not here.
368 * module.cc (module_state::read_cluster): Set
369 comparing_dependent_aliases instead of
370 comparing_specializations.
371 * tree.c (cp_tree_equal): Remove comparing_specializations
372 module handling.
373 * typeck.c (structural_comptypes): Adjust.
374 (comptypes): Remove comparing_specializations handling.
375
2900f2f2
GA
3762021-01-29 Nathan Sidwell <nathan@acm.org>
377
378 PR c++/98843
379 * module.cc (module_state_config): Add num_entities field.
380 (module_state::read_entities): The entity_ary span is
381 already allocated.
382 (module_state::write_config): Write num_entities.
383 (module_state::read_config): Read num_entities.
384 (module_state::write): Set config's num_entities.
385 (module_state::read_initial): Allocate the entity ary
386 span here.
387 (module_state::read_language): Do not set entity_lwm
388 here.
389
3902021-01-29 Marek Polacek <polacek@redhat.com>
391
392 PR c++/96137
393 * parser.c (cp_parser_class_name): If parser->scope is
394 error_mark_node, return it, otherwise continue.
395
85d04a2e
GA
3962021-01-28 Jakub Jelinek <jakub@redhat.com>
397
398 PR c++/98841
399 * typeck.c (build_x_indirect_ref): For *this, return current_class_ref.
400
4012021-01-28 Jakub Jelinek <jakub@redhat.com>
402
403 PR c++/33661
404 PR c++/98847
405 * decl.c (cp_finish_decl): For register vars with asmspec in templates
406 call set_user_assembler_name and set DECL_HARD_REGISTER.
407 * pt.c (tsubst_expr): When instantiating DECL_HARD_REGISTER vars,
408 pass asmspec_tree to cp_finish_decl.
409
4102021-01-28 Nathan Sidwell <nathan@acm.org>
411
412 PR c++/98770
413 * module.cc (trees_out::decl_value): Swap is_typedef & TYPE_NAME
414 check order.
415 (trees_in::decl_value): Do typedef frobbing only when installing
416 a new typedef, adjust is_matching_decl call. Swap is_typedef
417 & TYPE_NAME check.
418 (trees_in::is_matching_decl): Add is_typedef parm. Adjust variable
419 names and deal with typedef checking.
420
aa69f0a8
GA
4212021-01-27 Jason Merrill <jason@redhat.com>
422
423 PR c++/97874
424 * name-lookup.c (lookup_using_decl): Clean up handling
425 of dependency and inherited constructors.
426 (finish_nonmember_using_decl): Handle DECL_DEPENDENT_P.
427 * pt.c (tsubst_expr): Handle DECL_DEPENDENT_P.
428
e62bb7f0
GA
4292021-01-26 Jason Merrill <jason@redhat.com>
430
431 PR c++/97474
432 * call.c (type_passed_as): Don't mark invisiref restrict.
433
4342021-01-26 Jason Merrill <jason@redhat.com>
435
436 PR c++/97566
437 PR c++/98463
438 * class.c (layout_class_type): An empty field gets size 0.
439 (is_empty_field): New.
440 (check_bases): Check it.
441 * cp-tree.h (is_empty_field): Declare it.
442 * constexpr.c (cxx_eval_store_expression): Check it.
443 (cx_check_missing_mem_inits): Likewise.
444 * init.c (perform_member_init): Likewise.
445 * typeck2.c (process_init_constructor_record): Likewise.
446
161e4c08
GA
4472021-01-25 Martin Sebor <msebor@redhat.com>
448
449 PR c++/98646
450 * cvt.c (cp_fold_convert): Propagate TREE_NO_WARNING.
451
4522021-01-25 Jason Merrill <jason@redhat.com>
453
454 PR c++/98463
455 * constexpr.c (get_or_insert_ctor_field): Add check.
456 (cxx_eval_store_expression): Handle discontinuity of refs.
457
6b163337
GA
4582021-01-23 Anthony Sharp <anthonysharp15@gmail.com>
459
460 * call.c (complain_about_access): Altered function.
461 * cp-tree.h (complain_about_access): Changed parameters of function.
462 (get_parent_with_private_access): Declared new function.
463 * search.c (get_parent_with_private_access): Defined new function.
464 * semantics.c (enforce_access): Modified function.
465 * typeck.c (complain_about_unrecognized_member): Updated function
466 arguments in complain_about_access.
467
4682021-01-23 Patrick Palka <ppalka@redhat.com>
469
470 PR c++/97399
471 * cp-tree.h (shared_member_p): Adjust declaration.
472 * parser.c (cp_parser_init_declarator): If the storage class
473 specifier is sc_static, pass true for static_p to
474 cp_parser_declarator.
475 (cp_parser_direct_declarator): Don't do inject_this_parm when
476 the declarator is a friend.
477 * search.c (shared_member_p): Change return type to bool and
478 adjust function body accordingly. Return false for a dependent
479 USING_DECL instead of aborting.
480 * semantics.c (finish_qualified_id_expr): Rely on shared_member_p
481 even when type-dependent.
482
8502e23d
GA
4832021-01-22 Marek Polacek <polacek@redhat.com>
484
485 PR c++/96623
486 * parser.c (inject_parm_decls): Remove a redundant assignment.
487 (cp_parser_class_specifier_1): Clear current_class_{ptr,ref}
488 before calling inject_parm_decls.
489
4902021-01-22 Jason Merrill <jason@redhat.com>
491
492 PR c++/98744
493 * call.c (make_base_init_ok): Use DECL_HAS_VTT_PARM_P.
494
4952021-01-22 Jakub Jelinek <jakub@redhat.com>
496
497 PR sanitizer/95693
498 * init.c (build_zero_init_1): Revert the 2018-03-06 change to
499 return build_zero_cst for reference types.
500 * typeck2.c (process_init_constructor_record): Instead call
501 build_zero_cst here during error recovery instead of build_zero_init.
502
5032021-01-22 Marek Polacek <polacek@redhat.com>
504
505 PR c++/98545
506 * mangle.c (write_member_name): Emit abi_warn_or_compat_version_crosses
507 warnings regardless of abi_version_at_least.
508 (write_expression): When the expression is a dependent name
509 and an operator name, write "on" before writing its name.
510
5112021-01-22 Marek Polacek <polacek@redhat.com>
512
513 PR c++/97966
514 * pt.c (instantiate_class_template_1): Instantiate members
515 marked with attribute used only after we're done instantiating
516 the class.
517
7559d465
GA
5182021-01-21 Patrick Palka <ppalka@redhat.com>
519
520 PR c++/71879
521 * semantics.c (finish_decltype_type): Set up a cp_unevaluated
522 sentinel at the start of the function. Remove a now-redundant
523 manual adjustment of cp_unevaluated_operand.
524
5252021-01-21 Nathan Sidwell <nathan@acm.org>
526
527 PR c++/98624
528 * module.cc (depset::hash::find_dependencies): Add
529 module arg.
530 (trees_out::core_vals): Check state before calling
531 write_location.
532 (sort_cluster, module_state::write): Adjust
533 find_dependencies call.
534
5352021-01-21 Jakub Jelinek <jakub@redhat.com>
536
537 PR c++/98672
538 * constexpr.c (check_for_return_continue_data): Add break_stmt member.
539 (check_for_return_continue): Also look for BREAK_STMT. Handle
540 SWITCH_STMT by ignoring break_stmt from its body.
541 (potential_constant_expression_1) <case FOR_STMT>,
542 <case WHILE_STMT>: If the condition isn't constant true, check if
543 the loop body can contain a return stmt.
544 <case SWITCH_STMT>: Adjust check_for_return_continue_data initializer.
545 <case IF_STMT>: If recursion with tf_none is successful,
546 merge *jump_target from the branches - returns with highest priority,
547 breaks or continues lower. If then branch is potentially constant and
548 doesn't return, check the else branch if it could return, break or
549 continue.
550
5512021-01-21 Nathan Sidwell <nathan@acm.org>
552
553 PR c++/98530
554 * name-lookup.c (lookup_class_binding): Rearrange a stat-hack.
555
b93d0e36
GA
5562021-01-20 Nathan Sidwell <nathan@acm.org>
557
558 * module.cc (bytes_in::i, bytes_in::wi): Avoid left shift of
559 signed type.
560
5612021-01-20 Patrick Palka <ppalka@redhat.com>
562
563 PR c++/95434
564 * pt.c (tsubst) <case TEMPLATE_TYPE_PARM>: If tsubsting
565 CLASS_PLACEHOLDER_TEMPLATE yields a TEMPLATE_TEMPLATE_PARM,
566 adjust to its TEMPLATE_TEMPLATE_PARM_TEMPLATE_DECL.
567
5682021-01-20 Patrick Palka <ppalka@redhat.com>
569
570 PR c++/82613
571 * parser.c (cp_parser_class_head): Defer access checking when
572 parsing the base-clause until all bases are seen and attached
573 to the class type.
574 * pt.c (instantiate_class_template): Likewise when substituting
575 into dependent bases.
576
5772021-01-20 Jakub Jelinek <jakub@redhat.com>
578
579 PR c++/98742
580 * semantics.c (finish_omp_clauses) <case OMP_CLAUSE_DETACH>: If
581 error_operand_p, remove clause without further checking. Check
582 for non-NULL TYPE_NAME.
583
f35a4f96
GA
5842021-01-19 Marek Polacek <polacek@redhat.com>
585
586 PR c++/98659
587 * pt.c (maybe_instantiate_noexcept): Return false if FN is
588 error_mark_node.
589
5902021-01-19 Marek Polacek <polacek@redhat.com>
591
592 PR c++/98687
593 * name-lookup.c (push_using_decl_bindings): New, broken out of...
594 (finish_nonmember_using_decl): ...here.
595 * name-lookup.h (push_using_decl_bindings): Update declaration.
596 * pt.c (tsubst_expr): Update the call to push_using_decl_bindings.
597
5982021-01-19 Patrick Palka <ppalka@redhat.com>
599
600 PR c++/41437
601 PR c++/58993
602 * search.c (friend_accessible_p): If scope is a hidden friend
603 defined inside a dependent class, consider access from the
604 class.
605 * parser.c (cp_parser_late_parsing_for_member): Don't push a
606 dk_no_check access state.
607
6082021-01-19 Marek Polacek <polacek@redhat.com>
609
610 PR c++/98333
611 * parser.c (cp_parser_class_specifier_1): Perform late-parsing
612 of NSDMIs before late-parsing of noexcept-specifiers.
613
6142021-01-19 Nathan Sidwell <nathan@acm.org>
615
616 * module.cc (identifier): Merge overloads.
617
6182021-01-19 Nathan Sidwell <nathan@acm.org>
619
620 PR c++/98624
621 * module.cc (trees_out::write_location): Make static.
622
59cf67d1
GA
6232021-01-16 Kwok Cheung Yeung <kcy@codesourcery.com>
624
625 * parser.c (cp_parser_omp_clause_detach): New.
626 (cp_parser_omp_all_clauses): Handle PRAGMA_OMP_CLAUSE_DETACH.
627 (OMP_TASK_CLAUSE_MASK): Add mask for PRAGMA_OMP_CLAUSE_DETACH.
628 * pt.c (tsubst_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
629 * semantics.c (finish_omp_clauses): Handle OMP_CLAUSE_DETACH clause.
630 Prevent use of detach with mergeable and overriding the data sharing
631 mode of the event handle.
632
2f7f0d32
GA
6332021-01-15 Nathan Sidwell <nathan@acm.org>
634
635 PR c++/98538
636 * tree.c (cp_build_qualified_type_real): Propagate an array's
637 dependentness to the copy, if known.
638
6392021-01-15 Jason Merrill <jason@redhat.com>
640
641 PR c++/98642
642 * call.c (unsafe_return_slot_p): Return int.
643 (init_by_return_slot_p): Split out from...
644 (unsafe_copy_elision_p): ...here.
645 (unsafe_copy_elision_p_opt): New name for old meaning.
646 (build_over_call): Adjust.
647 (make_safe_copy_elision): New.
648 * typeck2.c (split_nonconstant_init_1): Elide copy from safe
649 list-initialization.
650 * cp-tree.h: Adjust.
651
6522021-01-15 Jason Merrill <jason@redhat.com>
653
654 * call.c (base_ctor_for, make_base_init_ok): New.
655 (build_over_call): Use make_base_init_ok.
656
6572021-01-15 Jason Merrill <jason@redhat.com>
658
659 PR c++/63707
660 * tree.c (build_vec_init_expr): Don't call build_vec_init_elt
661 if we got a CONSTRUCTOR.
662
6632021-01-15 Nathan Sidwell <nathan@acm.org>
664
665 PR c++/98591
666 * lang-specs.h: Fix handling of -fmodule-only with -fsyntax-only.
667
5fff80fd
GA
6682021-01-14 Jason Merrill <jason@redhat.com>
669
670 * typeck2.c (process_init_constructor_record): Use fldtype
671 variable consistently.
672
6732021-01-14 Nathan Sidwell <nathan@acm.org>
674
675 PR c++/98372
676 * tree.c (cp_tree_equal): Correct map_context logic.
677
be0851b8
GA
6782021-01-13 Marek Polacek <polacek@redhat.com>
679
680 PR c++/98231
681 * name-lookup.c (push_using_decl_bindings): New.
682 * name-lookup.h (push_using_decl_bindings): Declare.
683 * pt.c (tsubst_expr): Call push_using_decl_bindings.
684
6852021-01-13 Nathan Sidwell <nathan@acm.org>
686
687 PR c++/98626
688 * module.cc (module_add_import_initializers): Pass a
689 zero-element argument vector.
690
6851dda2
GA
6912021-01-12 Patrick Palka <ppalka@redhat.com>
692
693 PR c++/98611
694 * tree.c (cp_walk_subtrees) <case TEMPLATE_TYPE_PARM>: Visit
695 the template of a CTAD placeholder.
696
6972021-01-12 Marek Polacek <polacek@redhat.com>
698
699 PR c++/98620
700 * typeck2.c (process_init_constructor_record): Don't emit
701 -Wmissing-field-initializers warnings in unevaluated contexts.
702
67fbb7f0
GA
7032021-01-11 Jakub Jelinek <jakub@redhat.com>
704
705 PR c++/98481
706 * class.c (find_abi_tags_r): Set *walk_subtrees to 2 instead of 1
707 for types.
708 (mark_abi_tags_r): Likewise.
709 * decl2.c (min_vis_r): Likewise.
710 * tree.c (cp_walk_subtrees): If *walk_subtrees_p is 2, look through
711 typedefs.
712
bf5cbb9e
GA
7132021-01-08 Patrick Palka <ppalka@redhat.com>
714
715 PR c++/98551
716 * constexpr.c (cxx_eval_call_expression): Check CLASS_TYPE_P
717 instead of AGGREGATE_TYPE_P before calling replace_result_decl.
718
7192021-01-08 Patrick Palka <ppalka@redhat.com>
720
721 PR c++/98515
722 * semantics.c (check_accessibility_of_qualified_id): Punt if
723 we're checking access of a scoped non-static member inside a
724 class template.
725
7d187e4f
GA
7262021-01-07 Jakub Jelinek <jakub@redhat.com>
727
728 PR c++/98329
729 * pt.c (tsubst_copy) <case BIT_CAST_EXPR>: Don't call
730 cp_build_bit_cast here, instead just build_min a BIT_CAST_EXPR and set
731 its location.
732 (tsubst_copy_and_build): Handle BIT_CAST_EXPR.
733
7342021-01-07 Marek Polacek <polacek@redhat.com>
735
736 PR c++/98441
737 * decl.c (grokdeclarator): Move the !funcdecl_p check inside the
738 !late_return_type block.
739
7402021-01-07 Jason Merrill <jason@redhat.com>
741
742 * constexpr.c (cxx_bind_parameters_in_call): Add comment.
743 (cxx_eval_store_expression): Add comment.
744
7452021-01-07 Jason Merrill <jason@redhat.com>
746
747 * call.c (has_next): Factor out from...
748 (next_conversion): ...here.
749 (strip_standard_conversion): And here.
750 (is_subseq): And here.
751 (build_conv): Check it.
752 (standard_conversion): Don't call build_conv
753 for ck_identity.
754
942ae5be
GA
7552021-01-06 Martin Sebor <msebor@redhat.com>
756
757 PR c++/95768
758 * error.c (dump_expr): Call c_pretty_printer::unary_expression.
759
651b8a50
GA
7602021-01-05 Patrick Palka <ppalka@redhat.com>
761
762 * pt.c (unify) <case TEMPLATE_PARM_INDEX>: After walking into
763 the type of the NTTP, substitute into the type again. If the
764 type is still dependent, don't unify the NTTP.
765
7662021-01-05 Jakub Jelinek <jakub@redhat.com>
767
768 * Make-lang.in (cc1plus-checksum, cc1plus$(exeext): Add
769 $(CODYLIB) after $(BACKEND).
770
7712021-01-05 Jakub Jelinek <jakub@redhat.com>
772
773 PR c++/98469
774 * constexpr.c (cxx_eval_constant_expression) <case BIT_CAST_EXPR>:
775 Punt if lval is true.
776 * semantics.c (cp_build_bit_cast): Call get_target_expr_sfinae on
777 the result if it has a class type.
778
7792021-01-05 Marek Polacek <polacek@redhat.com>
780
781 PR c++/82099
782 * pt.c (resolve_overloaded_unification): Call
783 maybe_instantiate_noexcept after instantiating the function
784 decl.
785
7862021-01-05 Nathan Sidwell <nathan@acm.org>
787
788 * parser.c (cp_parser_module_declaration): Alter diagnostic
789 text to say where is permissable.
790
7912021-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
792
793 PR c++/98316
794 * Make-lang.in (cc1plus$(exeext)): Add $(CODYLIB), $(NETLIBS).
795
2eacfdbd
GA
7962021-01-02 Jan Hubicka <jh@suse.cz>
797
798 * cp-tree.h (cp_tree_c_finish_parsing): Declare.
799 * decl2.c (c_parse_final_cleanups): Call cp_tree_c_finish_parsing.
800 * tree.c (cp_tree_c_finish_parsing): New function.
801
b6dd195a
GA
8022021-01-01 Jakub Jelinek <jakub@redhat.com>
803
804 * ChangeLog-2020: Rotate ChangeLog. New file.
805
ad41bd84 806\f
618e665a 807Copyright (C) 2021 Free Software Foundation, Inc.
ad41bd84
JM
808
809Copying and distribution of this file, with or without modification,
810are permitted in any medium without royalty provided the copyright
811notice and this notice are preserved.