1 | // RUN: %clang_cc1 -x c -verify %s |
2 | |
3 | // Primary fixed point types |
4 | signed short _Accum s_short_accum; // expected-error{{compile with '-ffixed-point' to enable fixed point types}} |
5 | signed _Accum s_accum; // expected-error{{compile with '-ffixed-point' to enable fixed point types}} |
6 | signed long _Accum s_long_accum; // expected-error{{compile with '-ffixed-point' to enable fixed point types}} |
7 | unsigned short _Accum u_short_accum; // expected-error{{compile with '-ffixed-point' to enable fixed point types}} |
8 | unsigned _Accum u_accum; // expected-error{{compile with '-ffixed-point' to enable fixed point types}} |
9 | unsigned long _Accum u_long_accum; // expected-error{{compile with '-ffixed-point' to enable fixed point types}} |
10 | |
11 | // Aliased fixed point types |
12 | short _Accum short_accum; // expected-error{{compile with '-ffixed-point' to enable fixed point types}} |
13 | _Accum accum; // expected-error{{compile with '-ffixed-point' to enable fixed point types}} |
14 | // expected-warning@-1{{type specifier missing, defaults to 'int'}} |
15 | long _Accum long_accum; // expected-error{{compile with '-ffixed-point' to enable fixed point types}} |
16 | |
17 | // Cannot use fixed point suffixes |
18 | int accum_int = 10k; // expected-error{{invalid suffix 'k' on integer constant}} |
19 | int fract_int = 10r; // expected-error{{invalid suffix 'r' on integer constant}} |
20 | float accum_flt = 10.0k; // expected-error{{invalid suffix 'k' on floating constant}} |
21 | float fract_flt = 10.0r; // expected-error{{invalid suffix 'r' on floating constant}} |
22 | |