summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Naroff <snaroff@apple.com>2008-08-05 20:04:48 +0000
committerSteve Naroff <snaroff@apple.com>2008-08-05 20:04:48 +0000
commitdd514e01f2c5267b138fdc0a80a3fce08526bba6 (patch)
treed60756fb75df2f47d6e180eefb7f461540aea758
parent9f6112c4e6d8dd5c5ce507f4c87a94eb9aca0995 (diff)
downloadbcm5719-llvm-dd514e01f2c5267b138fdc0a80a3fce08526bba6.tar.gz
bcm5719-llvm-dd514e01f2c5267b138fdc0a80a3fce08526bba6.zip
Finish fixing <rdar://problem/5929344> clang ObjC rewriter: "extern int __CFConstantStringClassReference[];" should be extern "C"
llvm-svn: 54367
-rw-r--r--clang/Driver/RewriteObjC.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/Driver/RewriteObjC.cpp b/clang/Driver/RewriteObjC.cpp
index a6e53649740..b83200e16ec 100644
--- a/clang/Driver/RewriteObjC.cpp
+++ b/clang/Driver/RewriteObjC.cpp
@@ -358,7 +358,11 @@ void RewriteObjC::Initialize(ASTContext &context) {
Preamble += " char *str;\n";
Preamble += " long length;\n";
Preamble += "};\n";
+ Preamble += "#ifdef CF_EXPORT_CONSTANT_STRING\n";
+ Preamble += "extern \"C\" __declspec(dllexport) int __CFConstantStringClassReference[];\n";
+ Preamble += "#else\n";
Preamble += "__OBJC_RW_EXTERN int __CFConstantStringClassReference[];\n";
+ Preamble += "#endif\n";
Preamble += "#define __NSCONSTANTSTRINGIMPL\n";
Preamble += "#endif\n";
if (LangOpts.Microsoft) {
OpenPOWER on IntegriCloud