summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/sso-4.c
blob: 9eda11a46026a18fc0c236a5f39a826f0b55192b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* 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)" } */
}