diff options
author | John McCall <rjmccall@apple.com> | 2011-07-06 00:26:06 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2011-07-06 00:26:06 +0000 |
commit | 24fc0decfe337258a3dacc7936a9da84e2406cdc (patch) | |
tree | e91ae1686c100a1cadcdc577c82e30c052f93ee6 /clang/lib/Frontend/InitPreprocessor.cpp | |
parent | af51b1f7096578431578d6a1430366f7ad365430 (diff) | |
download | bcm5719-llvm-24fc0decfe337258a3dacc7936a9da84e2406cdc.tar.gz bcm5719-llvm-24fc0decfe337258a3dacc7936a9da84e2406cdc.zip |
Change the driver's logic about Objective-C runtimes: abstract out a
structure to hold inferred information, then propagate each invididual
bit down to -cc1. Separate the bits of "supports weak" and "has a native
ARC runtime"; make the latter a CodeGenOption.
The tool chain is still driving this decision, because it's the place that
has the required deployment target information on Darwin, but at least it's
better-factored now.
llvm-svn: 134453
Diffstat (limited to 'clang/lib/Frontend/InitPreprocessor.cpp')
-rw-r--r-- | clang/lib/Frontend/InitPreprocessor.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Frontend/InitPreprocessor.cpp b/clang/lib/Frontend/InitPreprocessor.cpp index b07fb4395fa..9428cd5de0f 100644 --- a/clang/lib/Frontend/InitPreprocessor.cpp +++ b/clang/lib/Frontend/InitPreprocessor.cpp @@ -250,7 +250,7 @@ static void AddObjCXXARCLibcxxDefines(const LangOptions &LangOpts, << "}\n" << "\n"; - if (!LangOpts.ObjCNoAutoRefCountRuntime) { + if (LangOpts.ObjCRuntimeHasWeak) { Out << "template <class _Tp>\n" << "inline __attribute__ ((__visibility__(\"hidden\")," << "__always_inline__))\n" @@ -318,7 +318,7 @@ static void AddObjCXXARCLibstdcxxDefines(const LangOptions &LangOpts, << "};\n" << "\n"; - if (!LangOpts.ObjCNoAutoRefCountRuntime) { + if (LangOpts.ObjCRuntimeHasWeak) { Out << "template<typename _Tp>\n" << "struct __is_scalar<__attribute__((objc_ownership(weak))) _Tp> {\n" << " enum { __value = 0 };\n" |