fixed_point_not_enabled.c 1.6 KB

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