diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2012-04-02 15:59:19 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2012-04-02 15:59:19 +0000 |
| commit | 73223bbd0a443ba4461a9cdd51168295d7e1b7ee (patch) | |
| tree | 601855b29b7240782870bbffb4e605059592bdd6 /clang/lib | |
| parent | b9663ccd6b844ac35c64278eda781598034c79e3 (diff) | |
| download | bcm5719-llvm-73223bbd0a443ba4461a9cdd51168295d7e1b7ee.tar.gz bcm5719-llvm-73223bbd0a443ba4461a9cdd51168295d7e1b7ee.zip | |
Use -rewrite-legacy-objc as clang argument for translating
objective-c's fragile abi, Use -rewrite-objc for translating
objective-c's modern abi. // rdar://11143173
llvm-svn: 153877
Diffstat (limited to 'clang/lib')
| -rw-r--r-- | clang/lib/Driver/Driver.cpp | 3 | ||||
| -rw-r--r-- | clang/lib/Driver/Tools.cpp | 2 | ||||
| -rw-r--r-- | clang/lib/Driver/Types.cpp | 1 |
3 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index 7fd365fbe90..35e63989a3c 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -141,6 +141,7 @@ const { // -{fsyntax-only,-analyze,emit-ast,S} only run up to the compiler. } else if ((PhaseArg = DAL.getLastArg(options::OPT_fsyntax_only)) || (PhaseArg = DAL.getLastArg(options::OPT_rewrite_objc)) || + (PhaseArg = DAL.getLastArg(options::OPT_rewrite_legacy_objc)) || (PhaseArg = DAL.getLastArg(options::OPT__migrate)) || (PhaseArg = DAL.getLastArg(options::OPT__analyze, options::OPT__analyze_auto)) || @@ -1143,6 +1144,8 @@ Action *Driver::ConstructPhaseAction(const ArgList &Args, phases::ID Phase, return new CompileJobAction(Input, types::TY_Nothing); } else if (Args.hasArg(options::OPT_rewrite_objc)) { return new CompileJobAction(Input, types::TY_RewrittenObjC); + } else if (Args.hasArg(options::OPT_rewrite_legacy_objc)) { + return new CompileJobAction(Input, types::TY_RewrittenLegacyObjC); } else if (Args.hasArg(options::OPT__analyze, options::OPT__analyze_auto)) { return new AnalyzeJobAction(Input, types::TY_Plist); } else if (Args.hasArg(options::OPT__migrate)) { diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index aaa73c1436a..94ff5b1f1bd 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -1349,6 +1349,8 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("-emit-pch"); } else if (JA.getType() == types::TY_RewrittenObjC) { CmdArgs.push_back("-rewrite-objc"); + } else if (JA.getType() == types::TY_RewrittenLegacyObjC) { + CmdArgs.push_back("-rewrite-objc"); IsRewriter = true; } else { assert(JA.getType() == types::TY_PP_Asm && diff --git a/clang/lib/Driver/Types.cpp b/clang/lib/Driver/Types.cpp index d61ab68c90a..50742fe25e4 100644 --- a/clang/lib/Driver/Types.cpp +++ b/clang/lib/Driver/Types.cpp @@ -102,6 +102,7 @@ bool types::isOnlyAcceptedByClang(ID Id) { case TY_LLVM_IR: case TY_LLVM_BC: case TY_RewrittenObjC: + case TY_RewrittenLegacyObjC: return true; } } |

