> with Eric's patch this test case does no longer compile, while it did
> compile with my patch:
> 
> $ cat test.c
> struct s{ char x[8];  };
> int main()
> {
>   volatile register struct s x __asm__("eax");
>   x.x[0] = 1;
>   return x.x[0];
> }
> 
> $ gcc -O3 -S test.c
> test.c: In function 'main':
> test.c:4:30: error: data type of 'x' isn't suitable for a register
>    volatile register struct s x __asm__("eax");

Well, sure, but try with:

  struct s { char x[7]; };

or

  struct s { char y; char x[7]; };

-- 
Eric Botcazou

Reply via email to