1 /* { dg-do compile } */
2 /* { dg-options "-std=gnu99" } */
4 typedef _Fract qq
__attribute__ ((mode (QQ
)));
5 typedef _Fract hq
__attribute__ ((mode (HQ
)));
6 typedef _Fract sq
__attribute__ ((mode (SQ
)));
7 typedef _Fract dq
__attribute__ ((mode (DQ
)));
8 typedef unsigned _Fract uqq
__attribute__ ((mode (UQQ
)));
9 typedef unsigned _Fract uhq
__attribute__ ((mode (UHQ
)));
10 typedef unsigned _Fract usq
__attribute__ ((mode (USQ
)));
11 typedef unsigned _Fract udq
__attribute__ ((mode (UDQ
)));
12 typedef _Sat _Fract Sqq
__attribute__ ((mode (QQ
)));
13 typedef _Sat _Fract Shq
__attribute__ ((mode (HQ
)));
14 typedef _Sat _Fract Ssq
__attribute__ ((mode (SQ
)));
15 typedef _Sat _Fract Sdq
__attribute__ ((mode (DQ
)));
16 typedef _Sat
unsigned _Fract Suqq
__attribute__ ((mode (UQQ
)));
17 typedef _Sat
unsigned _Fract Suhq
__attribute__ ((mode (UHQ
)));
18 typedef _Sat
unsigned _Fract Susq
__attribute__ ((mode (USQ
)));
19 typedef _Sat
unsigned _Fract Sudq
__attribute__ ((mode (UDQ
)));
20 typedef _Accum ha
__attribute__ ((mode (HA
)));
21 typedef _Accum sa
__attribute__ ((mode (SA
)));
22 typedef _Accum da
__attribute__ ((mode (DA
)));
23 typedef unsigned _Accum uha
__attribute__ ((mode (UHA
)));
24 typedef unsigned _Accum usa
__attribute__ ((mode (USA
)));
25 typedef unsigned _Accum uda
__attribute__ ((mode (UDA
)));
26 typedef _Sat _Accum Sha
__attribute__ ((mode (HA
)));
27 typedef _Sat _Accum Ssa
__attribute__ ((mode (SA
)));
28 typedef _Sat _Accum Sda
__attribute__ ((mode (DA
)));
29 typedef _Sat
unsigned _Accum Suha
__attribute__ ((mode (UHA
)));
30 typedef _Sat
unsigned _Accum Susa
__attribute__ ((mode (USA
)));
31 typedef _Sat
unsigned _Accum Suda
__attribute__ ((mode (UDA
)));
33 /* Not all platforms support TQ, UTQ, TA, UTA modes. */
34 #if defined(__LP64__) && !defined(__hppa__)
35 typedef _Fract tq
__attribute__ ((mode (TQ
)));
36 typedef unsigned _Fract utq
__attribute__ ((mode (UTQ
)));
37 typedef _Sat _Fract Stq
__attribute__ ((mode (TQ
)));
38 typedef _Sat
unsigned _Fract Sutq
__attribute__ ((mode (UTQ
)));
39 typedef _Accum ta
__attribute__ ((mode (TA
)));
40 typedef unsigned _Accum uta
__attribute__ ((mode (UTA
)));
41 typedef _Sat _Accum Sta
__attribute__ ((mode (TA
)));
42 typedef _Sat
unsigned _Accum Suta
__attribute__ ((mode (UTA
)));
44 int tqsize
[sizeof (tq
) == 16 ? 1 : -1];
45 int utqsize
[sizeof (utq
) == 16 ? 1 : -1];
46 int Stqsize
[sizeof (Stq
) == 16 ? 1 : -1];
47 int Sutqsize
[sizeof (Sutq
) == 16 ? 1 : -1];
48 int tasize
[sizeof (ta
) == 16 ? 1 : -1];
49 int utasize
[sizeof (uta
) == 16 ? 1 : -1];
50 int Stasize
[sizeof (Sta
) == 16 ? 1 : -1];
51 int Sutasize
[sizeof (Suta
) == 16 ? 1 : -1];
53 int tqalign
= __alignof (tq
);
54 int utqalign
= __alignof (utq
);
55 int Stqalign
= __alignof (Stq
);
56 int Sutqalign
= __alignof (Sutq
);
57 int taalign
= __alignof (ta
);
58 int utaalign
= __alignof (uta
);
59 int Staalign
= __alignof (Sta
);
60 int Sutaalign
= __alignof (Suta
);
63 int qqsize
[sizeof (qq
) == 1 ? 1 : -1];
64 int hqsize
[sizeof (hq
) == 2 ? 1 : -1];
65 int sqsize
[sizeof (sq
) == 4 ? 1 : -1];
66 int dqsize
[sizeof (dq
) == 8 ? 1 : -1];
67 int uqqsize
[sizeof (qq
) == 1 ? 1 : -1];
68 int uhqsize
[sizeof (hq
) == 2 ? 1 : -1];
69 int usqsize
[sizeof (sq
) == 4 ? 1 : -1];
70 int udqsize
[sizeof (dq
) == 8 ? 1 : -1];
71 int Sqqsize
[sizeof (Sqq
) == 1 ? 1 : -1];
72 int Shqsize
[sizeof (Shq
) == 2 ? 1 : -1];
73 int Ssqsize
[sizeof (Ssq
) == 4 ? 1 : -1];
74 int Sdqsize
[sizeof (Sdq
) == 8 ? 1 : -1];
75 int Suqqsize
[sizeof (Sqq
) == 1 ? 1 : -1];
76 int Suhqsize
[sizeof (Shq
) == 2 ? 1 : -1];
77 int Susqsize
[sizeof (Ssq
) == 4 ? 1 : -1];
78 int Sudqsize
[sizeof (Sdq
) == 8 ? 1 : -1];
79 int hasize
[sizeof (ha
) == 2 ? 1 : -1];
80 int sasize
[sizeof (sa
) == 4 ? 1 : -1];
81 int dasize
[sizeof (da
) == 8 ? 1 : -1];
82 int uhasize
[sizeof (uha
) == 2 ? 1 : -1];
83 int usasize
[sizeof (usa
) == 4 ? 1 : -1];
84 int udasize
[sizeof (uda
) == 8 ? 1 : -1];
85 int Shasize
[sizeof (Sha
) == 2 ? 1 : -1];
86 int Ssasize
[sizeof (Ssa
) == 4 ? 1 : -1];
87 int Sdasize
[sizeof (Sda
) == 8 ? 1 : -1];
88 int Suhasize
[sizeof (Suha
) == 2 ? 1 : -1];
89 int Susasize
[sizeof (Susa
) == 4 ? 1 : -1];
90 int Sudasize
[sizeof (Suda
) == 8 ? 1 : -1];
92 int qqalign
= __alignof (qq
);
93 int hqalign
= __alignof (hq
);
94 int sqalign
= __alignof (sq
);
95 int dqalign
= __alignof (dq
);
96 int uqqalign
= __alignof (uqq
);
97 int uhqalign
= __alignof (uhq
);
98 int usqalign
= __alignof (usq
);
99 int udqalign
= __alignof (udq
);
100 int Sqqalign
= __alignof (Sqq
);
101 int Shqalign
= __alignof (Shq
);
102 int Ssqalign
= __alignof (Ssq
);
103 int Sdqalign
= __alignof (Sdq
);
104 int Suqqalign
= __alignof (Suqq
);
105 int Suhqalign
= __alignof (Suhq
);
106 int Susqalign
= __alignof (Susq
);
107 int Sudqalign
= __alignof (Sudq
);
108 int haalign
= __alignof (ha
);
109 int saalign
= __alignof (sa
);
110 int daalign
= __alignof (da
);
111 int uhaalign
= __alignof (uha
);
112 int usaalign
= __alignof (usa
);
113 int udaalign
= __alignof (uda
);
114 int Shaalign
= __alignof (Sha
);
115 int Ssaalign
= __alignof (Ssa
);
116 int Sdaalign
= __alignof (Sda
);
117 int Suhaalign
= __alignof (Suha
);
118 int Susaalign
= __alignof (Susa
);
119 int Sudaalign
= __alignof (Suda
);