https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107516

            Bug ID: 107516
           Summary: [13 Regression] ICE with -fwide-exec-charset=latin1
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: redi at gcc dot gnu.org
  Target Milestone: ---

Compiling the attached code with -std=gnu++20 -fwide-exec-charset=latin1 gives
an ICE with trunk. GCC 12 doesn't ICE, but maybe it's a
--enable-checking=release thing (no ICE even with -fchecking=3 though).



tmp$ ~/gcc/12.1/bin/g++ -std=c++20  suffix.cc -fwide-exec-charset=latin1 
tmp$ ~/gcc/13/bin/g++ -std=c++20  suffix.cc -fwide-exec-charset=latin1
-freport-bug
during RTL pass: expand
suffix.cc: In function ‘auto __units_suffix() [with _Period = std::ratio<1,
1000>; _CharT = wchar_t]’:
suffix.cc:97:22: internal compiler error: in get_constant_size, at
varasm.cc:3418
   97 |               return L##suffix;                         \
      |                      ^
suffix.cc:106:11: note: in expansion of macro ‘_GLIBCXX_UNITS_SUFFIX’
  106 |           _GLIBCXX_UNITS_SUFFIX(milli, "ms")
      |           ^~~~~~~~~~~~~~~~~~~~~
0x8a6410 get_constant_size
        /home/jwakely/src/gcc/gcc/gcc/varasm.cc:3418
0x1519a88 assemble_constant_contents
        /home/jwakely/src/gcc/gcc/gcc/varasm.cc:3615
0x151af15 output_constant_def_contents
        /home/jwakely/src/gcc/gcc/gcc/varasm.cc:3666
0x151b264 maybe_output_constant_def_contents
        /home/jwakely/src/gcc/gcc/gcc/varasm.cc:3602
0x151b264 output_constant_def(tree_node*, int)
        /home/jwakely/src/gcc/gcc/gcc/varasm.cc:3568
0xe23b2e expand_expr_constant
        /home/jwakely/src/gcc/gcc/gcc/expr.cc:8592
0xe23b2e expand_expr_addr_expr_1
        /home/jwakely/src/gcc/gcc/gcc/expr.cc:8619
0xe24169 expand_expr_addr_expr
        /home/jwakely/src/gcc/gcc/gcc/expr.cc:8812
0xe19464 expand_expr_real_1(tree_node*, rtx_def*, machine_mode,
expand_modifier, rtx_def**, bool)
        /home/jwakely/src/gcc/gcc/gcc/expr.cc:12096
0xe26825 store_expr(tree_node*, rtx_def*, int, bool, bool)
        /home/jwakely/src/gcc/gcc/gcc/expr.cc:6330
0xe28090 expand_assignment(tree_node*, tree_node*, bool)
        /home/jwakely/src/gcc/gcc/gcc/expr.cc:6051
0xcf589c expand_gimple_stmt_1
        /home/jwakely/src/gcc/gcc/gcc/cfgexpand.cc:3946
0xcf589c expand_gimple_stmt
        /home/jwakely/src/gcc/gcc/gcc/cfgexpand.cc:4044
0xcfc0ce expand_gimple_basic_block
        /home/jwakely/src/gcc/gcc/gcc/cfgexpand.cc:6096
0xcfdbe7 execute
        /home/jwakely/src/gcc/gcc/gcc/cfgexpand.cc:6822
Please submit a full bug report, with preprocessed source.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Preprocessed source stored into /tmp/ccsLQGSo.out file, please attach this to
your bugreport.

Reply via email to