https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98601
Alex Coplan <acoplan at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|aarch64: ICE in |[8/9/10/11 Regression] |rtx_addr_can_trap_p_1, at |aarch64: ICE in |rtlanal.c:467 |rtx_addr_can_trap_p_1, at | |rtlanal.c:467 Target|aarch64 |arm aarch64 --- Comment #1 from Alex Coplan <acoplan at gcc dot gnu.org> --- ICEs started with GCC 8. GCC 7 accepts the code with a warning (warning: dereferencing 'void *' pointer). Clearly we should fix the ICE, but I'm wondering whether this code is actually valid? clang rejects it with "error: dereference of pointer to incomplete type 'void'" x86-64 GCC rejects it with: <source>:3:3: error: invalid use of void expression 3 | asm("" : "=Q"(*b)); | ^~~ <source>:3:3: error: invalid lvalue in 'asm' output 0 We also hit the same ICE with this testcase on AArch32, FWIW.