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

Eric Gallager <egallager at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |WAITING

--- Comment #3 from Eric Gallager <egallager at gcc dot gnu.org> ---
(In reply to Eric Gallager from comment #2)
> (In reply to Andrew Pinski from comment #1)
> > I don't know Ada that well (in terms of promotions and types) but the
> > following C code produces the 
> > same ICE so I might assume the issue is that My_Type+constant is being
> > promoted to unsigned long 
> > long or something along that line:
> > int f()
> > {
> > unsigned long long cu32 = 1;
> >   asm("%0"::"a"(cu32));
> > }
> 
> Does this still happen with newer versions of GCC? I can't reproduce with
> gcc 7, but I'm assuming that's due to target differences; I get different
> messages depending on 32-bit or 64-bit, but neither of them are an ICE:
> 
> $ gcc -c -m32 15896.c
> 15896.c: In function 'f':
> 15896.c:4:3: error: inconsistent operand constraints in an 'asm'
>    asm("%0"::"a"(cu32));
>    ^~~
> $ gcc -c -m64 15896.c
> 15896.c:4:Junk character 37 (%).
> 15896.c:4:Rest of line ignored. 1st junk character valued 114 (r).
> $

WAITING on a reply

Reply via email to