]> git.ipfire.org Git - thirdparty/gcc.git/commit
c++: SFINAE-unfriendly error on throwing pointer [PR112436]
authorMarek Polacek <polacek@redhat.com>
Sat, 10 Feb 2024 15:52:18 +0000 (10:52 -0500)
committerMarek Polacek <polacek@redhat.com>
Tue, 13 Feb 2024 13:54:08 +0000 (08:54 -0500)
commitecc119effe1aa445cb973c8cbb5ef3830f256f13
tree93a9da6e9cff14b42d0d78f116165d7daa5ce470
parent4a1cd5560b9b545eb848eb1d1e06d345fb606f76
c++: SFINAE-unfriendly error on throwing pointer [PR112436]

On the heels of r14-8903, this patch adds further complain parameters
so that we don't emit "invalid use of incomplete type" from inside
a concept.

PR c++/112436

gcc/cp/ChangeLog:

* except.cc (expand_start_catch_block): Pass tf_warning_or_error to
is_admissible_throw_operand_or_catch_parameter.
(build_throw): Pass complain to
is_admissible_throw_operand_or_catch_parameter.
(complete_ptr_ref_or_void_ptr_p): Add a tsubst_flags_t parameter.  Use
it.  Return bool.  Call complete_type_or_maybe_complain instead of
complete_type_or_else.
(is_admissible_throw_operand_or_catch_parameter): Add a tsubst_flags_t
parameter.  Use it.  Guard error calls.

gcc/testsuite/ChangeLog:

* g++.dg/cpp2a/concepts-pr112436.C: New test.
gcc/cp/except.cc
gcc/testsuite/g++.dg/cpp2a/concepts-pr112436.C [new file with mode: 0644]