1int
2test_endianness()
3{
4  union doubleword
5    {
6      double d;
7      unsigned long u[2];
8    } dw;
9  dw.d = 10;
10  return dw.u[0] != 0 ? 1 : 0;
11}
12
13int
14test_endianness_vol()
15{
16  union doubleword
17    {
18      volatile double d;
19      volatile long u[2];
20    } dw;
21  dw.d = 10;
22  return dw.u[0] != 0 ? 1 : 0;
23}
24
25main ()
26{
27  if (test_endianness () != test_endianness_vol ())
28    abort ();
29  exit (0);
30}
31