summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-09-15 14:56:27 +0000
committerDouglas Gregor <dgregor@apple.com>2011-09-15 14:56:27 +0000
commit8455e76fa134f547e8e03777235f9f9c62c3eb87 (patch)
tree999b4b34781bc130384234e86254f9bee5a3f3ed
parentaa78b235a5f2c3562b482eba7e496c430a07269b (diff)
downloadbcm5719-llvm-8455e76fa134f547e8e03777235f9f9c62c3eb87.tar.gz
bcm5719-llvm-8455e76fa134f547e8e03777235f9f9c62c3eb87.zip
Teach LangOptions::resetNonModularOptions to actually do what it says it does
llvm-svn: 139791
-rw-r--r--clang/lib/Basic/LangOptions.cpp3
-rw-r--r--clang/test/Modules/Inputs/Module.framework/Headers/Module.h1
-rw-r--r--clang/test/Modules/on-demand-build.m11
3 files changed, 12 insertions, 3 deletions
diff --git a/clang/lib/Basic/LangOptions.cpp b/clang/lib/Basic/LangOptions.cpp
index e9e516f10d7..5f479dbb771 100644
--- a/clang/lib/Basic/LangOptions.cpp
+++ b/clang/lib/Basic/LangOptions.cpp
@@ -23,5 +23,8 @@ LangOptions::LangOptions() {
void LangOptions::resetNonModularOptions() {
#define LANGOPT(Name, Bits, Default, Description)
#define BENIGN_LANGOPT(Name, Bits, Default, Description) Name = Default;
+#define BENIGN_ENUM_LANGOPT(Name, Type, Bits, Default, Description) \
+ Name = Default;
+#include "clang/Basic/LangOptions.def"
}
diff --git a/clang/test/Modules/Inputs/Module.framework/Headers/Module.h b/clang/test/Modules/Inputs/Module.framework/Headers/Module.h
index af403c83955..0753b78cdbc 100644
--- a/clang/test/Modules/Inputs/Module.framework/Headers/Module.h
+++ b/clang/test/Modules/Inputs/Module.framework/Headers/Module.h
@@ -6,5 +6,6 @@ const char *getModuleVersion(void);
@interface Module
+(const char *)version; // retrieve module version
++alloc;
@end
diff --git a/clang/test/Modules/on-demand-build.m b/clang/test/Modules/on-demand-build.m
index d0557ebbee6..418e912f637 100644
--- a/clang/test/Modules/on-demand-build.m
+++ b/clang/test/Modules/on-demand-build.m
@@ -1,12 +1,17 @@
// RUN: rm -rf %t
-// RUN: %clang_cc1 -fmodule-cache-path %t -F %S/Inputs -DFOO -verify %s
-// RUN: %clang_cc1 -x objective-c++ -fmodule-cache-path %t -F %S/Inputs -DFOO -verify %s
-// RUN: %clang_cc1 -fmodule-cache-path %t -F %S/Inputs -DFOO -verify %s
+// RUN: %clang_cc1 -fno-objc-infer-related-result-type -Werror -fmodule-cache-path %t -F %S/Inputs -DFOO -verify %s
+// RUN: %clang_cc1 -fno-objc-infer-related-result-type -Werror -x objective-c++ -fmodule-cache-path %t -F %S/Inputs -DFOO -verify %s
+// RUN: %clang_cc1 -fno-objc-infer-related-result-type -Werror -fmodule-cache-path %t -F %S/Inputs -DFOO -verify %s
__import_module__ Module;
+@interface OtherClass
+@end
+// in module: expected-note{{class method 'alloc' is assumed to return an instance of its receiver type ('Module *')}}
void test_getModuleVersion() {
const char *version = getModuleVersion();
const char *version2 = [Module version];
+
+ OtherClass *other = [Module alloc]; // expected-error{{init}}
}
OpenPOWER on IntegriCloud