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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|FIXED                       |INVALID

--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Simon Willcocks from comment #2)
> That's not an accurate description of the problem; the value of the variable
> is being passed, not its address. As a register variable, it doesn't have an
> address.

It is the address of the array that is being passed (I was copying and pasting
from another bug).
register uint32_t *cap_and_join asm( "r5" ) = cap_and_join_style;
Is the same as:
register uint32_t *cap_and_join asm( "r5" ) = &cap_and_join_style[0];

Because array decays to pointers :).

Reply via email to