diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2010-02-01 21:07:43 +0000 |
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2010-02-01 21:07:43 +0000 |
| commit | 98188414efda91290120654d49900fab94da6dc0 (patch) | |
| tree | 7f87343f67e24457e12ca0a3ca8a0049adb7dcb7 /clang/lib | |
| parent | ca5e3eb7f7b1bb6cb93c6a69d106fa04739e038a (diff) | |
| download | bcm5719-llvm-98188414efda91290120654d49900fab94da6dc0.tar.gz bcm5719-llvm-98188414efda91290120654d49900fab94da6dc0.zip | |
Driver/Darwin: Darwin uses -fobjc-legacy-dispatch on ARM.
llvm-svn: 95006
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Driver/ToolChains.h | 5 | ||||
| -rw-r--r-- | clang/lib/Driver/Tools.cpp | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains.h b/clang/lib/Driver/ToolChains.h index e683c2d4842..fbb1136199d 100644 --- a/clang/lib/Driver/ToolChains.h +++ b/clang/lib/Driver/ToolChains.h @@ -161,6 +161,11 @@ public: // Non-fragile ABI default to on for iPhoneOS and x86-64. return isTargetIPhoneOS() || getTriple().getArch() == llvm::Triple::x86_64; } + virtual bool IsObjCLegacyDispatchDefault() const { + // This is only used with the non-fragile ABI. + return (getTriple().getArch() == llvm::Triple::arm || + getTriple().getArch() == llvm::Triple::thumb); + } virtual bool IsUnwindTablesDefault() const; virtual unsigned GetDefaultStackProtectorLevel() const { // Stack protectors default to on for 10.6 and beyond. diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index 88dffa98f96..b0278b8aece 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -1031,7 +1031,7 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, // defaults to off. if (Args.hasFlag(options::OPT_fobjc_legacy_dispatch, options::OPT_fno_objc_legacy_dispatch, - false)) + getToolChain().IsObjCLegacyDispatchDefault())) CmdArgs.push_back("-fobjc-legacy-dispatch"); } } |

