summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2010-04-11 19:29:39 +0000
committerChris Lattner <sabre@nondot.org>2010-04-11 19:29:39 +0000
commitb986aba6db6bf5c13472a1a5589c1574c3d32f4d (patch)
treecf80a012ee04e71eaf2799555f75a6642f4235ca /clang/lib/Basic
parent253285670485c7a6b448d08e5182a0980ee8f7a7 (diff)
downloadbcm5719-llvm-b986aba6db6bf5c13472a1a5589c1574c3d32f4d.tar.gz
bcm5719-llvm-b986aba6db6bf5c13472a1a5589c1574c3d32f4d.zip
add haiku support, patch by Paul Davey!
llvm-svn: 100982
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r--clang/lib/Basic/Targets.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp
index 1797804a7aa..1b80527aca5 100644
--- a/clang/lib/Basic/Targets.cpp
+++ b/clang/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);
}
OpenPOWER on IntegriCloud