ms-extensions.c 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. // RUN: %clang_cc1 -fsyntax-only -verify -fms-extensions %s
  2. // RUN: %clang_cc1 -fsyntax-only -verify -fms-compatibility %s
  3. // RUN: %clang_cc1 -fsyntax-only -verify -triple i386-pc-win32 -fms-compatibility %s
  4. __int8 x1 = 3i8;
  5. __int16 x2 = 4i16;
  6. __int32 x3 = 5i32;
  7. __int64 x5 = 0x42i64;
  8. __int64 x6 = 0x42I64;
  9. #ifndef __SIZEOF_INT128__
  10. // expected-error@+2 {{__int128 is not supported on this target}}
  11. #endif
  12. __int64 x4 = 70000000i128;
  13. __int64 y = 0x42i64u; // expected-error {{invalid suffix}}
  14. __int64 w = 0x43ui64;
  15. __int64 z = 9Li64; // expected-error {{invalid suffix}}
  16. __int64 q = 10lli64; // expected-error {{invalid suffix}}
  17. __complex double c1 = 1i;
  18. __complex double c2 = 1.0i;
  19. __complex float c3 = 1.0if;
  20. // radar 7562363
  21. #define ULLONG_MAX 0xffffffffffffffffui64
  22. #define UINT 0xffffffffui32
  23. #define USHORT 0xffffui16
  24. #define UCHAR 0xffui8
  25. void a() {
  26. unsigned long long m = ULLONG_MAX;
  27. unsigned int n = UINT;
  28. unsigned short s = USHORT;
  29. unsigned char c = UCHAR;
  30. }
  31. void pr_7968()
  32. {
  33. int var1 = 0x1111111e+1;
  34. int var2 = 0X1111111e+1;
  35. int var3 = 0xe+1;
  36. int var4 = 0XE+1;
  37. int var5= 0\
  38. x1234e+1;
  39. int var6=
  40. /*expected-warning {{backslash and newline separated by space}} */ 0\
  41. x1234e+1;
  42. }