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

            Bug ID: 102586
           Summary: [12 Regression] ICE in clear_padding_type, at
                    gimple-fold.c:4798 since r12-3433-ga25e0b5e6ac8a77a
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: qing.zhao at oracle dot com
  Target Milestone: ---

The following fails:

$ cat vbase.cc
struct C0 {};
struct C1 {};
struct C2 : C1, virtual C0 {};
struct C4 : virtual C2, C1 {};
struct C5 : virtual C4, C1 {};
struct C9 : C5 {};

int main() { C9 c9; }

$ g++ vbase.cc -ftrivial-auto-var-init=pattern -c
vbase.cc:4:8: warning: direct base ‘C1’ inaccessible in ‘C4’ due to ambiguity
[-Winaccessible-base]
    4 | struct C4 : virtual C2, C1 {};
      |        ^~
vbase.cc:5:8: warning: direct base ‘C1’ inaccessible in ‘C5’ due to ambiguity
[-Winaccessible-base]
    5 | struct C5 : virtual C4, C1 {};
      |        ^~
during GIMPLE pass: lower
vbase.cc: In function ‘int main()’:
vbase.cc:8:5: internal compiler error: in clear_padding_type, at
gimple-fold.c:4803
    8 | int main() { C9 c9; }
      |     ^~~~
0x7e794a clear_padding_type
        /home/marxin/Programming/gcc/gcc/gimple-fold.c:4803
0xee52e4 clear_padding_type
        /home/marxin/Programming/gcc/gcc/gimple-fold.c:4798
0xee6063 gimple_fold_builtin_clear_padding
        /home/marxin/Programming/gcc/gcc/gimple-fold.c:5005
0xef6178 gimple_fold_builtin
        /home/marxin/Programming/gcc/gcc/gimple-fold.c:5179
0xef6178 gimple_fold_call
        /home/marxin/Programming/gcc/gcc/gimple-fold.c:5587
0xef752b fold_stmt_1
        /home/marxin/Programming/gcc/gcc/gimple-fold.c:6289
0x1e69a8f lower_stmt
        /home/marxin/Programming/gcc/gcc/gimple-low.c:390
0x1e69bb2 lower_sequence
        /home/marxin/Programming/gcc/gcc/gimple-low.c:217
0x1e69bb2 lower_stmt
        /home/marxin/Programming/gcc/gcc/gimple-low.c:286
0x1e693ca lower_sequence
        /home/marxin/Programming/gcc/gcc/gimple-low.c:217
0x1e693ca lower_gimple_bind
        /home/marxin/Programming/gcc/gcc/gimple-low.c:475
0x1e693ca lower_sequence
        /home/marxin/Programming/gcc/gcc/gimple-low.c:217
0x1e693ca lower_gimple_bind
        /home/marxin/Programming/gcc/gcc/gimple-low.c:475
0x1e6a6cb lower_function_body
        /home/marxin/Programming/gcc/gcc/gimple-low.c:110
0x1e6a6cb execute
        /home/marxin/Programming/gcc/gcc/gimple-low.c:195
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.

Reply via email to