diff options
| author | Renato Golin <renato.golin@linaro.org> | 2016-09-22 19:28:20 +0000 |
|---|---|---|
| committer | Renato Golin <renato.golin@linaro.org> | 2016-09-22 19:28:20 +0000 |
| commit | 0201a9e94e3e95baf0e2d818e79c3f63b8fef558 (patch) | |
| tree | 0a4cd8ed216a09272bd3811317b74b051f742475 /clang/lib/Basic/Targets.cpp | |
| parent | aec851ce9a39d5ed595dfd9ca9cd886574a67670 (diff) | |
| download | bcm5719-llvm-0201a9e94e3e95baf0e2d818e79c3f63b8fef558.tar.gz bcm5719-llvm-0201a9e94e3e95baf0e2d818e79c3f63b8fef558.zip | |
[OpenBSD] Add type sign information for OpenBSD
Like NetBSD, OpenBSD prefers having a consistent set of typedefs
across the architectures it supports over strictly following the ARM
ABIs. The diff below makes sure that clang's view of those types
matches OpenBSD's system header files. It also adds a test that
checks the relevant types on all OpenBSD platforms that clang works
on. Hopefully we can add mips64 and powerpc to that list in the
future.
Patch by Mark Kettenis <mark.kettenis@xs4all.nl>
llvm-svn: 282184
Diffstat (limited to 'clang/lib/Basic/Targets.cpp')
| -rw-r--r-- | clang/lib/Basic/Targets.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 62ecd1e28ce..7843fde5c45 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -4679,8 +4679,10 @@ class ARMTargetInfo : public TargetInfo { DoubleAlign = LongLongAlign = LongDoubleAlign = SuitableAlign = 64; const llvm::Triple &T = getTriple(); - // size_t is unsigned long on MachO-derived environments, NetBSD and Bitrig. + // size_t is unsigned long on MachO-derived environments, NetBSD, + // OpenBSD and Bitrig. if (T.isOSBinFormatMachO() || T.getOS() == llvm::Triple::NetBSD || + T.getOS() == llvm::Triple::OpenBSD || T.getOS() == llvm::Triple::Bitrig) SizeType = UnsignedLong; else @@ -4688,6 +4690,7 @@ class ARMTargetInfo : public TargetInfo { switch (T.getOS()) { case llvm::Triple::NetBSD: + case llvm::Triple::OpenBSD: WCharType = SignedInt; break; case llvm::Triple::Win32: @@ -4885,6 +4888,7 @@ public: switch (getTriple().getOS()) { case llvm::Triple::NetBSD: + case llvm::Triple::OpenBSD: PtrDiffType = SignedLong; break; default: |

