зеркало из https://github.com/microsoft/clang-1.git
intmax_t is long long on Darwin, not long.
<rdar://problem/11540697> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175588 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
d4c3d66be7
Коммит
a905c4fd25
|
@ -3119,6 +3119,8 @@ class DarwinX86_64TargetInfo : public DarwinTargetInfo<X86_64TargetInfo> {
|
|||
public:
|
||||
DarwinX86_64TargetInfo(const std::string& triple)
|
||||
: DarwinTargetInfo<X86_64TargetInfo>(triple) {
|
||||
IntMaxType = SignedLongLong;
|
||||
UIntMaxType = UnsignedLongLong;
|
||||
Int64Type = SignedLongLong;
|
||||
MaxVectorAlign = 256;
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ typedef int NSInteger;
|
|||
typedef unsigned int NSUInteger;
|
||||
typedef long SInt32;
|
||||
typedef unsigned long UInt32;
|
||||
|
||||
#endif
|
||||
|
||||
NSInteger getNSInteger();
|
||||
|
@ -210,3 +211,25 @@ void testCapitals() {
|
|||
// CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:13-[[@LINE-3]]:14}:"d"
|
||||
// CHECK: fix-it:"{{.*}}":{[[@LINE-4]]:11-[[@LINE-4]]:14}:"%D"
|
||||
}
|
||||
|
||||
|
||||
// The OS X headers do not always use __INTMAX_TYPE__ and friends.
|
||||
typedef long long intmax_t;
|
||||
typedef unsigned long long uintmax_t;
|
||||
#define INTMAX_C(X) (X ## LL)
|
||||
#define UINTMAX_C(X) (X ## ULL)
|
||||
|
||||
void testIntMax(intmax_t i, uintmax_t u) {
|
||||
printf("%d", i); // expected-warning{{format specifies type 'int' but the argument has type 'intmax_t' (aka 'long long')}}
|
||||
printf("%d", u); // expected-warning{{format specifies type 'int' but the argument has type 'uintmax_t' (aka 'unsigned long long')}}
|
||||
|
||||
// CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:11-[[@LINE-3]]:13}:"%jd"
|
||||
// CHECK: fix-it:"{{.*}}":{[[@LINE-3]]:11-[[@LINE-3]]:13}:"%ju"
|
||||
|
||||
printf("%jd", i); // no-warning
|
||||
printf("%ju", u); // no-warning
|
||||
|
||||
printf("%jd", INTMAX_C(5)); // no-warning
|
||||
printf("%ju", INTMAX_C(5)); // no-warning
|
||||
}
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fsyntax-only -verify %s
|
||||
// RUN: %clang_cc1 -triple x86_64-unknown-unknown -fsyntax-only -verify %s
|
||||
|
||||
int printf(char const *, ...);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче