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 | d22a4a1fd69ac8553d90677bdd52023b2cb7661c (patch) | |
| tree | d223805240491c2d1d12ff6688ae8cb8411149e0 /llvm/lib/Target/X86/X86TargetMachine.cpp | |
| parent | c4a99bc416542001bb369ef6ac6bb434ff4b3471 (diff) | |
| download | bcm5719-llvm-d22a4a1fd69ac8553d90677bdd52023b2cb7661c.tar.gz bcm5719-llvm-d22a4a1fd69ac8553d90677bdd52023b2cb7661c.zip | |
Patches to build EFI with Clang/LLVM. By Carl Norum.
llvm-svn: 124639
Diffstat (limited to 'llvm/lib/Target/X86/X86TargetMachine.cpp')
| -rw-r--r-- | llvm/lib/Target/X86/X86TargetMachine.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/llvm/lib/Target/X86/X86TargetMachine.cpp b/llvm/lib/Target/X86/X86TargetMachine.cpp index 8de20a366cb..f2162798cee 100644 --- a/llvm/lib/Target/X86/X86TargetMachine.cpp +++ b/llvm/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); } |

