https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100509
Bug ID: 100509 Summary: ICE at -O3: in fold_convert_loc, at fold-const.c:2552 Product: gcc Version: tree-ssa Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: cnsun at uwaterloo dot ca Target Milestone: --- Not sure whether this is a dup of PR96131. $ gcc-trunk -v Using built-in specs. COLLECT_GCC=gcc-trunk COLLECT_LTO_WRAPPER=/scratch/software/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/12.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /tmp/tmp.FRQzt2wMfl-gcc-builder/gcc/configure --enable-languages=c,c++,lto --enable-checking-yes --enable-multiarch --prefix=/scratch/software/gcc-trunk --disable-bootstrap Thread model: posix Supported LTO compression algorithms: zlib gcc version 12.0.0 20210510 (experimental) [master revision :fb3a8fb4a:25f9f35a85ffee808fc1482b14d91176df59751b] (GCC) $ cat mutant.c struct X { int a; }; const a = 0; static struct X A __attribute__((alias("a"))); foo() { struct X b = A; } $ gcc-trunk -O3 mutant.c mutant.c:4:7: warning: type defaults to ‘int’ in declaration of ‘a’ [-Wimplicit-int] 4 | const a = 0; | ^ mutant.c:6:1: warning: return type defaults to ‘int’ [-Wimplicit-int] 6 | foo() { struct X b = A; } | ^~~ during GIMPLE pass: forwprop mutant.c: In function ‘foo’: mutant.c:6:16: internal compiler error: in fold_convert_loc, at fold-const.c:2552 6 | foo() { struct X b = A; } | ^ 0x6bd7c1 fold_convert_loc(unsigned int, tree_node*, tree_node*) /tmp/tmp.FRQzt2wMfl-gcc-builder/gcc/gcc/fold-const.c:2552 0xc02486 fold_stmt_1 /tmp/tmp.FRQzt2wMfl-gcc-builder/gcc/gcc/gimple-fold.c:6269 0x1032191 execute /tmp/tmp.FRQzt2wMfl-gcc-builder/gcc/gcc/tree-ssa-forwprop.c:3108 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.