Leonard Chan | f921d85 | 2018-06-04 16:07:52 +0000 | [diff] [blame] | 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}} |
Leonard Chan | e5597ad | 2018-07-17 14:58:49 +0000 | [diff] [blame^] | 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}} |