https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105270
Bug ID: 105270
Summary: gcc hangs with error "symbol definition loop
encountered"
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: zhenyang.xu at uwaterloo dot ca
Target Milestone: ---
$ gcc-trunk -v
Using built-in specs.
COLLECT_GCC=gcc-trunk
COLLECT_LTO_WRAPPER=/home/xuzhy/gcc-trunk/libexec/gcc/x86_64-pc-linux-gnu/12.0.1/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: /tmp/tmp.X0iCNYeprY-gcc-builder/gcc/configure
--enable-languages=c,c++,lto --enable-checking-yes --enable-multiarch
--prefix=/home/xuzhy/gcc-trunk --disable-bootstrap
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 12.0.1 20220414 (experimental) [master -g8369b4e4c] (GCC)
$ cat test.c
a() { asm("); b = b if 0 return 1 if (b.get_type<b"); }
$ timeout -s 9 30 gcc-trunk -O3 -g -Wall -Wextra -c test.c
test.c:1:1: warning: return type defaults to 'int' [-Wimplicit-int]
1 | a() { asm("); b = b if 0 return 1 if (b.get_type<b"); }
| ^
test.c: In function 'a':
test.c:1:55: warning: control reaches end of non-void function [-Wreturn-type]
1 | a() { asm("); b = b if 0 return 1 if (b.get_type<b"); }
| ^
test.c: Assembler messages:
test.c:1: Error: junk at end of line, first unrecognized character is `)'
test.c:1: Error: junk at end of line, first unrecognized character is `i'
/tmp/cckMRd5s.s: Error: symbol definition loop encountered at `b'
[1] 194170 killed timeout -s 9 30 gcc-trunk -O3 -g -Wall -Wextra -c
test.c