diff options
author | Chris Lattner <sabre@nondot.org> | 2010-04-11 19:29:39 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2010-04-11 19:29:39 +0000 |
commit | 86ed3a326342fa2a8c9d9b5d1d7280c9bad2b007 (patch) | |
tree | 174f576a41de7b99bfad659fcd436c3d8f70bf55 /lib/Basic | |
parent | b9342fb79bfa84c70188e207a0f212574653b2c7 (diff) |
add haiku support, patch by Paul Davey!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@100982 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic')
-rw-r--r-- | lib/Basic/Targets.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp index 1797804a7a..1b80527aca 100644 --- a/lib/Basic/Targets.cpp +++ b/lib/Basic/Targets.cpp @@ -1226,6 +1226,23 @@ public: } // end anonymous namespace namespace { +// x86-32 Haiku target +class HaikuX86_32TargetInfo : public X86_32TargetInfo { +public: + HaikuX86_32TargetInfo(const std::string& triple) + : X86_32TargetInfo(triple) { + SizeType = UnsignedLong; + } + virtual void getTargetDefines(const LangOptions &Opts, + MacroBuilder &Builder) const { + X86_32TargetInfo::getTargetDefines(Opts, Builder); + Builder.defineMacro("__INTEL__"); + Builder.defineMacro("__HAIKU__"); + } +}; +} // end anonymous namespace + +namespace { // x86-64 generic target class X86_64TargetInfo : public X86TargetInfo { public: @@ -2351,6 +2368,8 @@ static TargetInfo *AllocateTarget(const std::string &T) { return new MinGWX86_32TargetInfo(T); case llvm::Triple::Win32: return new VisualStudioWindowsX86_32TargetInfo(T); + case llvm::Triple::Haiku: + return new HaikuX86_32TargetInfo(T); default: return new X86_32TargetInfo(T); } |