Repository navigation
[GNATS 26938] MIssing diagnostic for virtual base class which is not an incomplete type #153
jhsedg
started this conversation in
Issue Triage - General
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Customer bug ID
type_traits/test/is_virtual_base_of_fail.test/is_virtual_base_of_fail.cpp
Description
[ellen@lin1 status]$ (ia64)(boost)gcc --std=c++20 /tmp/try.C
In file included from ../boost/type_traits/is_base_of.hpp:12,
from ../boost/type_traits/is_virtual_base_of.hpp:12,
from ../libs/type_traits/test/compile_fail/is_virtual_base_of_fail.cpp:7:
../boost/type_traits/is_base_and_derived.hpp: In instantiation of 'const bool boost::detail::is_base_and_derived_impl<UDT, inco
mplete_type>::value':
../boost/type_traits/is_base_of.hpp:24:80: required from 'const bool boost::detail::is_base_of_imp<UDT, incomplete_type>::val
ue'
../boost/type_traits/is_base_of.hpp:30:48: required from 'struct boost::is_base_of<UDT, incomplete_type>'
../boost/type_traits/is_virtual_base_of.hpp:57:32: required from 'struct boost::is_virtual_base_of<UDT, incomplete_type>'
../libs/type_traits/test/compile_fail/is_virtual_base_of_fail.cpp:12:58: required from here
../boost/type_traits/is_base_and_derived.hpp:226:19: error: invalid use of incomplete type 'struct incomplete_type'
226 | BOOST_STATIC_CONSTANT(bool, value = (BOOST_IS_BASE_OF(B,D) && ! ::boost::is_same<ncvB,ncvD>::value));
| ^~~~~~~~~~~~~~~~~
In file included from ../libs/type_traits/test/compile_fail/is_virtual_base_of_fail.cpp:8:
../libs/type_traits/test/compile_fail/../test.hpp:416:8: note: forward declaration of 'struct incomplete_type'
416 | struct incomplete_type;
| ^~~~~~~~~~~~~~~
../boost/type_traits/is_virtual_base_of.hpp: In instantiation of 'struct boost::is_virtual_base_of<UDT, incomplete_type>':
../libs/type_traits/test/compile_fail/is_virtual_base_of_fail.cpp:12:58: required from here
../boost/type_traits/is_virtual_base_of.hpp:57:32: error: 'value' is not a member of 'boost::is_base_of<UDT, incomplete_type>'
57 | boost::is_base_of<T, U>::value &&
| ^~~~~
../libs/type_traits/test/compile_fail/is_virtual_base_of_fail.cpp: In function 'int main()':
../libs/type_traits/test/compile_fail/is_virtual_base_of_fail.cpp:12:60: error: 'value' is not a member of 'boost::is_virtual_b
ase_of<UDT, incomplete_type>'
12 | return boost::is_virtual_base_of<UDT, incomplete_type>::value;
| ^~~~~
Notes
mjh, 2024-01-12:
Reduced test case is (26938a.C):
struct UDT;
struct incomplete_type;
bool value(__is_base_of(UDT, incomplete_type));
All reactions