13573b2c84372d9484296fa658f5276f6c09acb92Daniel Dunbar// RUN: %clang_cc1 -fsyntax-only -verify -fms-extensions %s
23ead475e566acdebe2208b0e75cbdb97f6976bffDouglas Gregor// RUN: %clang_cc1 -fsyntax-only -verify -fms-compatibility %s
3ef8225444452a1486bd721f3285301fe84643b00Stephen Hines// RUN: %clang_cc1 -fsyntax-only -verify -triple i386-pc-win32 -fms-compatibility %s
48687cc9899a3d0857c28b9ca3e7964595cbed45cNuno Lopes
58687cc9899a3d0857c28b9ca3e7964595cbed45cNuno Lopes__int8 x1  = 3i8;
68687cc9899a3d0857c28b9ca3e7964595cbed45cNuno Lopes__int16 x2 = 4i16;
78687cc9899a3d0857c28b9ca3e7964595cbed45cNuno Lopes__int32 x3 = 5i32;
88687cc9899a3d0857c28b9ca3e7964595cbed45cNuno Lopes__int64 x5 = 0x42i64;
9c1be9be335763e4715ed8e947d3c13c77b3f0803Chris Lattner__int64 x6 = 0x42I64;
10ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#ifndef __SIZEOF_INT128__
11ef8225444452a1486bd721f3285301fe84643b00Stephen Hines// expected-error@+2 {{__int128 is not supported on this target}}
12ef8225444452a1486bd721f3285301fe84643b00Stephen Hines#endif
138687cc9899a3d0857c28b9ca3e7964595cbed45cNuno Lopes__int64 x4 = 70000000i128;
148687cc9899a3d0857c28b9ca3e7964595cbed45cNuno Lopes
158687cc9899a3d0857c28b9ca3e7964595cbed45cNuno Lopes__int64 y = 0x42i64u;  // expected-error {{invalid suffix}}
16f127fb539dd48e8268317d7f5cce39873e93e111Fariborz Jahanian__int64 w = 0x43ui64;
178687cc9899a3d0857c28b9ca3e7964595cbed45cNuno Lopes__int64 z = 9Li64;  // expected-error {{invalid suffix}}
188687cc9899a3d0857c28b9ca3e7964595cbed45cNuno Lopes__int64 q = 10lli64;  // expected-error {{invalid suffix}}
19f127fb539dd48e8268317d7f5cce39873e93e111Fariborz Jahanian
20ef8225444452a1486bd721f3285301fe84643b00Stephen Hines__complex double c1 = 1i;
21ef8225444452a1486bd721f3285301fe84643b00Stephen Hines__complex double c2 = 1.0i;
22ef8225444452a1486bd721f3285301fe84643b00Stephen Hines__complex float c3 = 1.0if;
23ef8225444452a1486bd721f3285301fe84643b00Stephen Hines
24f127fb539dd48e8268317d7f5cce39873e93e111Fariborz Jahanian// radar 7562363
25f127fb539dd48e8268317d7f5cce39873e93e111Fariborz Jahanian#define ULLONG_MAX 0xffffffffffffffffui64
26f127fb539dd48e8268317d7f5cce39873e93e111Fariborz Jahanian#define UINT 0xffffffffui32
27dc1c1a22ccbbf1cbe66e7a03b801531c757719d0Fariborz Jahanian#define USHORT 0xffffui16
28dc1c1a22ccbbf1cbe66e7a03b801531c757719d0Fariborz Jahanian#define UCHAR 0xffui8
29f127fb539dd48e8268317d7f5cce39873e93e111Fariborz Jahanian
30f127fb539dd48e8268317d7f5cce39873e93e111Fariborz Jahanianvoid a() {
31f127fb539dd48e8268317d7f5cce39873e93e111Fariborz Jahanian	unsigned long long m = ULLONG_MAX;
32f127fb539dd48e8268317d7f5cce39873e93e111Fariborz Jahanian	unsigned int n = UINT;
33f127fb539dd48e8268317d7f5cce39873e93e111Fariborz Jahanian        unsigned short s = USHORT;
34f127fb539dd48e8268317d7f5cce39873e93e111Fariborz Jahanian        unsigned char c = UCHAR;
35f127fb539dd48e8268317d7f5cce39873e93e111Fariborz Jahanian}
3651b9964bb452ae709c807fd26615a1d8dd670e69Douglas Gregor
3751b9964bb452ae709c807fd26615a1d8dd670e69Douglas Gregorvoid pr_7968()
3851b9964bb452ae709c807fd26615a1d8dd670e69Douglas Gregor{
3951b9964bb452ae709c807fd26615a1d8dd670e69Douglas Gregor  int var1 = 0x1111111e+1;
4051b9964bb452ae709c807fd26615a1d8dd670e69Douglas Gregor  int var2 = 0X1111111e+1;
4151b9964bb452ae709c807fd26615a1d8dd670e69Douglas Gregor  int var3 = 0xe+1;
4251b9964bb452ae709c807fd26615a1d8dd670e69Douglas Gregor  int var4 = 0XE+1;
437c26de41b21cd5f77933d0d8bf6518a63a892df1Chris Lattner
447c26de41b21cd5f77933d0d8bf6518a63a892df1Chris Lattner  int var5=    0\
457c26de41b21cd5f77933d0d8bf6518a63a892df1Chris Lattnerx1234e+1;
467c26de41b21cd5f77933d0d8bf6518a63a892df1Chris Lattner
477c26de41b21cd5f77933d0d8bf6518a63a892df1Chris Lattner  int var6=
487c26de41b21cd5f77933d0d8bf6518a63a892df1Chris Lattner  /*expected-warning {{backslash and newline separated by space}} */    0\
497c26de41b21cd5f77933d0d8bf6518a63a892df1Chris Lattnerx1234e+1;
5051b9964bb452ae709c807fd26615a1d8dd670e69Douglas Gregor}
517c26de41b21cd5f77933d0d8bf6518a63a892df1Chris Lattner
52