diff options
author | Jason Merrill <jason@redhat.com> | 2023-04-03 23:20:13 -0400 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2023-04-13 14:59:31 -0400 |
commit | f32f7881fb0db085479525b5a23db5dabd990c3b (patch) | |
tree | 9c687d279c56460fd9745b892383a15c38f6416f /gcc/range-op-float.cc | |
parent | fdb8c06b3d6c1ec5fb517ce7d1a88ab1d8ec7958 (diff) | |
download | gcc-f32f7881fb0db085479525b5a23db5dabd990c3b.zip gcc-f32f7881fb0db085479525b5a23db5dabd990c3b.tar.gz gcc-f32f7881fb0db085479525b5a23db5dabd990c3b.tar.bz2 |
c++: make trait of incomplete type a permerror [PR109277]
An incomplete type argument to several traits is specified to be undefined
behavior in the library; since it's a compile-time property, we diagnose
it. But apparently some code was relying on the previous behavior of not
diagnosing. So let's make it a permerror.
The assert in cxx_incomplete_type_diagnostic didn't like that, and I don't
see the point of having the assert, so let's just remove it.
PR c++/109277
gcc/cp/ChangeLog:
* semantics.cc (check_trait_type): Handle incomplete type directly.
* typeck2.cc (cxx_incomplete_type_diagnostic): Remove assert.
gcc/testsuite/ChangeLog:
* g++.dg/ext/is_convertible5.C: New test.
Diffstat (limited to 'gcc/range-op-float.cc')
0 files changed, 0 insertions, 0 deletions