https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118928
Bug ID: 118928 Summary: [15 Regression] ICE in cxx_eval_constant_expression, at cp/constexpr.cc:8694 Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: larsbj at gullik dot org Target Milestone: --- Created attachment 60524 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=60524&action=edit Preporossessed test file - reduced with cvise g++ -v Using built-in specs. COLLECT_GCC=/opt/gcc/gcc-15/bin/g++ COLLECT_LTO_WRAPPER=/opt/gcc/gcc-15/libexec/gcc/x86_64-pc-linux-gnu/15.0.1/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc/configure --prefix=/opt/gcc/gcc-15 --enable-checking=release --enable-languages=c,c++,lto Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 15.0.1 20250218 (experimental) (GCC) Unreduced testcase works fine with GCC14. With test case it ends up in parsing errors. GCC15 ends up with same backtrace with unreduced and reduced testcase. Compiler invocation and backtrace: g++ -O testcase.ii -c testcase.ii: In constructor ‘constexpr std::<unnamed struct>::<constructor>()’: testcase.ii:15:8: internal compiler error: in cxx_eval_constant_expression, at cp/constexpr.cc:8694 15 | struct { | ^ 0x224147f internal_error(char const*, ...) ../../gcc/gcc/diagnostic-global-context.cc:517 0x7d18bd fancy_abort(char const*, int, char const*) ../../gcc/gcc/diagnostic.cc:1722 0x78916d cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.cc:8694 0x816077 cxx_eval_conditional_expression ../../gcc/gcc/cp/constexpr.cc:4024 0x816077 cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.cc:8309 0x8151b2 cxx_eval_statement_list ../../gcc/gcc/cp/constexpr.cc:7119 0x8151b2 cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.cc:8615 0x81498c cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.cc:8369 0x81665f cxx_eval_indirect_ref ../../gcc/gcc/cp/constexpr.cc:6038 0x81665f cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.cc:8092 0x81498c cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.cc:8369 0x816722 cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.cc:7935 0x81531b cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.cc:8099 0x81498c cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.cc:8369 0x81c34a cxx_eval_bare_aggregate ../../gcc/gcc/cp/constexpr.cc:5450 0x814923 cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.cc:8326 0x816722 cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.cc:7935 0x81146a cxx_bind_parameters_in_call ../../gcc/gcc/cp/constexpr.cc:1907 0x81146a cxx_eval_call_expression ../../gcc/gcc/cp/constexpr.cc:3059 0x8143d4 cxx_eval_constant_expression ../../gcc/gcc/cp/constexpr.cc:7809