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.

Reply via email to