| /* Test support of scalar_storage_order attribute */ |
| |
| /* { dg-do compile } */ |
| |
| struct S |
| { |
| int i; |
| }; |
| |
| typedef struct S __attribute__((scalar_storage_order("big-endian"))) S1; |
| |
| typedef struct S __attribute__((scalar_storage_order("little-endian"))) S2; |
| |
| typedef struct S __attribute__((scalar_storage_order("other"))) S3; /* { dg-error "must be one of .big-endian. or .little-endian." } */ |
| |
| void incompatible_assign (struct S *s, S1 *s1, S2 *s2) |
| { |
| *s = *s1, *s = *s2; /* { dg-error "(incompatible types|no match)" } */ |
| *s1 = *s2; /* { dg-error "(incompatible types|no match)" } */ |
| } |