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.

Reply via email to