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