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

Reply via email to