OpenBSD/sparc64 uses long long for int64_t and intmax_t.
Other operating systems, including FreeBSD and NetBSD, use long. llvm-svn: 182215
This commit is contained in:
parent
5959ea39d0
commit
826df14d72
|
@ -4307,9 +4307,16 @@ public:
|
|||
"i64:64:64-f32:32:32-f64:64:64-v64:64:64-n32:64-S128";
|
||||
// This is an LP64 platform.
|
||||
LongWidth = LongAlign = PointerWidth = PointerAlign = 64;
|
||||
IntMaxType = SignedLong;
|
||||
UIntMaxType = UnsignedLong;
|
||||
Int64Type = SignedLong;
|
||||
|
||||
// OpenBSD uses long long for int64_t and intmax_t.
|
||||
if (getTriple().getOS() == llvm::Triple::OpenBSD) {
|
||||
IntMaxType = SignedLongLong;
|
||||
UIntMaxType = UnsignedLongLong;
|
||||
} else {
|
||||
IntMaxType = SignedLong;
|
||||
UIntMaxType = UnsignedLong;
|
||||
}
|
||||
Int64Type = IntMaxType;
|
||||
}
|
||||
|
||||
virtual void getTargetDefines(const LangOptions &Opts,
|
||||
|
|
|
@ -2795,6 +2795,7 @@
|
|||
// X86_64-LINUX:#define __x86_64__ 1
|
||||
//
|
||||
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-none < /dev/null | FileCheck -check-prefix SPARCV9 %s
|
||||
// SPARCV9:#define __INT64_TYPE__ long int
|
||||
// SPARCV9:#define __INTMAX_TYPE__ long int
|
||||
// SPARCV9:#define __INTPTR_TYPE__ long int
|
||||
// SPARCV9:#define __LONG_MAX__ 9223372036854775807L
|
||||
|
@ -2802,6 +2803,11 @@
|
|||
// SPARCV9:#define __SIZEOF_LONG__ 8
|
||||
// SPARCV9:#define __SIZEOF_POINTER__ 8
|
||||
//
|
||||
// RUN: %clang_cc1 -E -dM -ffreestanding -triple=sparc64-none-openbsd < /dev/null | FileCheck -check-prefix SPARC64-OBSD %s
|
||||
// SPARC64-OBSD:#define __INT64_TYPE__ long long int
|
||||
// SPARC64-OBSD:#define __INTMAX_TYPE__ long long int
|
||||
// SPARC64-OBSD:#define __UINTMAX_TYPE__ long long unsigned int
|
||||
//
|
||||
// RUN: %clang_cc1 -x c++ -triple i686-pc-linux-gnu -fobjc-runtime=gcc -E -dM < /dev/null | FileCheck -check-prefix GNUSOURCE %s
|
||||
// GNUSOURCE:#define _GNU_SOURCE 1
|
||||
//
|
||||
|
|
Loading…
Reference in New Issue