https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92991
Bug ID: 92991 Summary: [10 regression] g++.dg/ubsan/vptr-4.C fails starting with r279473 Product: gcc Version: 10.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite Assignee: unassigned at gcc dot gnu.org Reporter: seurer at gcc dot gnu.org Target Milestone: --- spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-test/gcc/testsuite/g++/../../xg++ -B/home/seurer/gcc/build/gcc-test/gcc/testsuite/g++/../../ /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers -fdiagnostics-color=never -fdiagnostics-urls=never -nostdinc++ -I/home/seurer/gcc/build/gcc-test/powerpc64-unknown-linux-gnu/libstdc++-v3/include/powerpc64-unknown-linux-gnu -I/home/seurer/gcc/build/gcc-test/powerpc64-unknown-linux-gnu/libstdc++-v3/include -I/home/seurer/gcc/gcc-test/libstdc++-v3/libsupc++ -I/home/seurer/gcc/gcc-test/libstdc++-v3/include/backward -I/home/seurer/gcc/gcc-test/libstdc++-v3/testsuite/util -fmessage-length=0 -O0 -std=c++11 -fsanitize=vptr -S -o vptr-4.s /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C: In member function 'constexpr const T* T::foo() const': /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C:18:49: error: 'reinterpret_cast' is not a constant expression /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C: At global scope: /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C:22:30: error: 'constexpr const T* T::foo() const' called in a constant expression /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C:18:22: note: 'constexpr const T* T::foo() const' declared here /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C:42:35: error: 'constexpr const W<U>* W<U>::foo() const [with U = int]' called in a constant expression /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C:38:25: note: 'constexpr const W<U>* W<U>::foo() const [with U = int]' is not usable as a 'constexpr' function because: /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C:38:55: error: 'reinterpret_cast' is not a constant expression /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C: In instantiation of 'int foo() [with U = char]': /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C:54:21: required from here /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C:48:39: error: 'constexpr const T* T::foo() const' called in a constant expression /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C:18:22: note: 'constexpr const T* T::foo() const' declared here /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C:50:42: error: 'constexpr const W<U>* W<U>::foo() const [with U = char]' called in a constant expression /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C:38:25: note: 'constexpr const W<U>* W<U>::foo() const [with U = char]' is not usable as a 'constexpr' function because: /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C:38:55: error: 'reinterpret_cast' is not a constant expression compiler exited with status 1 PASS: g++.dg/ubsan/vptr-4.C -O0 (test for errors, line 18) PASS: g++.dg/ubsan/vptr-4.C -O0 (test for errors, line 22) PASS: g++.dg/ubsan/vptr-4.C -O0 (test for errors, line 42) PASS: g++.dg/ubsan/vptr-4.C -O0 (test for errors, line 48) PASS: g++.dg/ubsan/vptr-4.C -O0 (test for errors, line 50) Executing on host: /home/seurer/gcc/build/gcc-test/gcc/testsuite/g++/../../xg++ -B/home/seurer/gcc/build/gcc-test/gcc/testsuite/g++/../../ exceptions_enabled9250.c -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers -fdiagnostics-color=never -fdiagnostics-urls=never -nostdinc++ -I/home/seurer/gcc/build/gcc-test/powerpc64-unknown-linux-gnu/libstdc++-v3/include/powerpc64-unknown-linux-gnu -I/home/seurer/gcc/build/gcc-test/powerpc64-unknown-linux-gnu/libstdc++-v3/include -I/home/seurer/gcc/gcc-test/libstdc++-v3/libsupc++ -I/home/seurer/gcc/gcc-test/libstdc++-v3/include/backward -I/home/seurer/gcc/gcc-test/libstdc++-v3/testsuite/util -fmessage-length=0 -S -o exceptions_enabled9250.s (timeout = 300) spawn -ignore SIGHUP /home/seurer/gcc/build/gcc-test/gcc/testsuite/g++/../../xg++ -B/home/seurer/gcc/build/gcc-test/gcc/testsuite/g++/../../ exceptions_enabled9250.c -fno-diagnostics-show-caret -fno-diagnostics-show-line-numbers -fdiagnostics-color=never -fdiagnostics-urls=never -nostdinc++ -I/home/seurer/gcc/build/gcc-test/powerpc64-unknown-linux-gnu/libstdc++-v3/include/powerpc64-unknown-linux-gnu -I/home/seurer/gcc/build/gcc-test/powerpc64-unknown-linux-gnu/libstdc++-v3/include -I/home/seurer/gcc/gcc-test/libstdc++-v3/libsupc++ -I/home/seurer/gcc/gcc-test/libstdc++-v3/include/backward -I/home/seurer/gcc/gcc-test/libstdc++-v3/testsuite/util -fmessage-length=0 -S -o exceptions_enabled9250.s FAIL: g++.dg/ubsan/vptr-4.C -O0 (test for excess errors) Excess errors: /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C:38:55: error: 'reinterpret_cast' is not a constant expression /home/seurer/gcc/gcc-test/gcc/testsuite/g++.dg/ubsan/vptr-4.C:38:55: error: 'reinterpret_cast' is not a constant expression