https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124621
Bug ID: 124621
Summary: FAIL:
g++.dg/reflect/reflect_constant_(array|string)2.C
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: other
Assignee: unassigned at gcc dot gnu.org
Reporter: azoff at gcc dot gnu.org
Target Milestone: ---
In r16-6808-g4b0e94b394fa38, a bunch of new tests were introduced, but two of
them does not appear to work for either arm-none-eabi nor for
x86_64-pc-linux-gnu.
Testing reflect/reflect_constant_array2.C, -std=c++26
doing compile
Executing on host: /build/r16-8253-geb50d28a9353e9/bin/arm-none-eabi-g++
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_array2.C -mthumb
-march=armv6s-m -mtune=cortex-m0 -mfloat-abi=soft -mfpu=auto
-fdiagnostics-plain-output -fmessage-length=0 -std=c++26 -pedantic-errors
-Wno-long-long -freflection -S -o reflect_constant_array2.s (timeout =
800)
spawn -ignore SIGHUP /build/r16-8253-geb50d28a9353e9/bin/arm-none-eabi-g++
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_array2.C -mthumb
-march=armv6s-m -mtune=cortex-m0 -mfloat-abi=soft -mfpu=auto
-fdiagnostics-plain-output -fmessage-length=0 -std=c++26 -pedantic-errors
-Wno-long-long -freflection -S -o reflect_constant_array2.s
pid is 47797 -47797
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_array2.C:12:43:
error: 'reflect_constant_array' argument with
'std::ranges::range_value_t<std::vector<A> >' {aka
'std::iter_value_t<__gnu_cxx::__normal_iterator<A*, std::vector<A> > >'} which
is not a structural type
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_array2.C:11:34:
note: 'A::c' is mutable
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_array2.C:16:43:
error: 'reflect_constant_array' argument with 'std::ranges::range_value_t<const
B [2]>' {aka 'std::iter_value_t<const B*>'} which is not copy constructible
pid is -1
close result is 47797 exp5 0 1
output is
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_array2.C:12:43:
error: 'reflect_constant_array' argument with
'std::ranges::range_value_t<std::vector<A> >' {aka
'std::iter_value_t<__gnu_cxx::__normal_iterator<A*, std::vector<A> > >'} which
is not a structural type
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_array2.C:11:34:
note: 'A::c' is mutable
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_array2.C:16:43:
error: 'reflect_constant_array' argument with 'std::ranges::range_value_t<const
B [2]>' {aka 'std::iter_value_t<const B*>'} which is not copy constructible
status 1
compiler exited with status 1
FAIL: g++.dg/reflect/reflect_constant_array2.C -std=c++26 at line 13 (test
for errors, line 12)
FAIL: g++.dg/reflect/reflect_constant_array2.C -std=c++26 at line 17 (test
for errors, line 16)
FAIL: g++.dg/reflect/reflect_constant_array2.C -std=c++26 (test for excess
errors)
Excess errors:
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_array2.C:12:43:
error: 'reflect_constant_array' argument with
'std::ranges::range_value_t<std::vector<A> >' {aka
'std::iter_value_t<__gnu_cxx::__normal_iterator<A*, std::vector<A> > >'} which
is not a structural type
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_array2.C:16:43:
error: 'reflect_constant_array' argument with 'std::ranges::range_value_t<const
B [2]>' {aka 'std::iter_value_t<const B*>'} which is not copy constructible
Testing reflect/reflect_constant_string2.C, -std=c++26
doing compile
Executing on host: /build/r16-8253-geb50d28a9353e9/bin/arm-none-eabi-g++
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_string2.C -mthumb
-march=armv6s-m -mtune=cortex-m0 -mfloat-abi=soft -mfpu=auto
-fdiagnostics-plain-output -fmessage-length=0 -std=c++26 -pedantic-errors
-Wno-long-long -freflection -S -o reflect_constant_string2.s (timeout =
800)
spawn -ignore SIGHUP /build/r16-8253-geb50d28a9353e9/bin/arm-none-eabi-g++
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_string2.C -mthumb
-march=armv6s-m -mtune=cortex-m0 -mfloat-abi=soft -mfpu=auto
-fdiagnostics-plain-output -fmessage-length=0 -std=c++26 -pedantic-errors
-Wno-long-long -freflection -S -o reflect_constant_string2.s
pid is 59022 -59022
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_string2.C:12:44:
error: 'reflect_constant_string' called with
'std::ranges::range_value_t<std::vector<int> >' {aka 'int'} rather than 'char',
'wchar_t', 'char8_t', 'char16_t' or 'char32_t'
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_string2.C:13:44:
error: 'reflect_constant_string' called with
'std::ranges::range_value_t<std::vector<float> >' {aka 'float'} rather than
'char', 'wchar_t', 'char8_t', 'char16_t' or 'char32_t'
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_string2.C:14:44:
error: 'reflect_constant_string' called with
'std::ranges::range_value_t<std::vector<V> >' {aka
'std::iter_value_t<__gnu_cxx::__normal_iterator<V*, std::vector<V> > >'} rather
than 'char', 'wchar_t', 'char8_t', 'char16_t' or 'char32_t'
pid is -1
close result is 59022 exp5 0 1
output is
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_string2.C:12:44:
error: 'reflect_constant_string' called with
'std::ranges::range_value_t<std::vector<int> >' {aka 'int'} rather than 'char',
'wchar_t', 'char8_t', 'char16_t' or 'char32_t'
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_string2.C:13:44:
error: 'reflect_constant_string' called with
'std::ranges::range_value_t<std::vector<float> >' {aka 'float'} rather than
'char', 'wchar_t', 'char8_t', 'char16_t' or 'char32_t'
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_string2.C:14:44:
error: 'reflect_constant_string' called with
'std::ranges::range_value_t<std::vector<V> >' {aka
'std::iter_value_t<__gnu_cxx::__normal_iterator<V*, std::vector<V> > >'} rather
than 'char', 'wchar_t', 'char8_t', 'char16_t' or 'char32_t'
status 1
compiler exited with status 1
PASS: g++.dg/reflect/reflect_constant_string2.C -std=c++26 (test for errors,
line 12)
PASS: g++.dg/reflect/reflect_constant_string2.C -std=c++26 (test for errors,
line 13)
FAIL: g++.dg/reflect/reflect_constant_string2.C -std=c++26 (test for errors,
line 14)
FAIL: g++.dg/reflect/reflect_constant_string2.C -std=c++26 (test for excess
errors)
Excess errors:
/build/gcc_src/gcc/testsuite/g++.dg/reflect/reflect_constant_string2.C:14:44:
error: 'reflect_constant_string' called with
'std::ranges::range_value_t<std::vector<V> >' {aka
'std::iter_value_t<__gnu_cxx::__normal_iterator<V*, std::vector<V> > >'} rather
than 'char', 'wchar_t', 'char8_t', 'char16_t' or 'char32_t'
As I don't know if this is a fault in the tests or in the compiler, I've set
component to "other" until someone with more knowledge can change it.