diff options
author | Evan Cheng <evan.cheng@apple.com> | 2011-02-01 01:14:13 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2011-02-01 01:14:13 +0000 |
commit | 2bffee2ee725047137d2523e31db9ecc7b246cbb (patch) | |
tree | c5f897132f5b06d9670fe9926edfd64494ae1f40 /lib/Target/X86/X86TargetMachine.cpp | |
parent | e361d2eda14dcd102411721995ae8ed5afbe0c18 (diff) |
Patches to build EFI with Clang/LLVM. By Carl Norum.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124639 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86TargetMachine.cpp')
-rw-r--r-- | lib/Target/X86/X86TargetMachine.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/Target/X86/X86TargetMachine.cpp b/lib/Target/X86/X86TargetMachine.cpp index 8de20a366c..f2162798ce 100644 --- a/lib/Target/X86/X86TargetMachine.cpp +++ b/lib/Target/X86/X86TargetMachine.cpp @@ -33,7 +33,10 @@ static MCAsmInfo *createMCAsmInfo(const Target &T, StringRef TT) { case Triple::MinGW64: case Triple::Cygwin: case Triple::Win32: - return new X86MCAsmInfoCOFF(TheTriple); + if (TheTriple.getEnvironment() == Triple::MachO) + return new X86MCAsmInfoDarwin(TheTriple); + else + return new X86MCAsmInfoCOFF(TheTriple); default: return new X86ELFMCAsmInfo(TheTriple); } @@ -53,7 +56,10 @@ static MCStreamer *createMCStreamer(const Target &T, const std::string &TT, case Triple::MinGW64: case Triple::Cygwin: case Triple::Win32: - return createWinCOFFStreamer(Ctx, TAB, *_Emitter, _OS, RelaxAll); + if (TheTriple.getEnvironment() == Triple::MachO) + return createMachOStreamer(Ctx, TAB, _OS, _Emitter, RelaxAll); + else + return createWinCOFFStreamer(Ctx, TAB, *_Emitter, _OS, RelaxAll); default: return createELFStreamer(Ctx, TAB, _OS, _Emitter, RelaxAll, NoExecStack); } |