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 | b986aba6db6bf5c13472a1a5589c1574c3d32f4d (patch) | |
| tree | cf80a012ee04e71eaf2799555f75a6642f4235ca /clang/lib/Basic | |
| parent | 253285670485c7a6b448d08e5182a0980ee8f7a7 (diff) | |
| download | bcm5719-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.cpp | 19 | 
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);      } | 

