blob: 4ee6b58d96b4c59c5f32e36885d3a71ce39365e9 [file] [log] [blame]
Douglas Gregor6e975c42011-09-13 23:15:45 +00001// RUN: rm -rf %t
Douglas Gregor8f95cb32012-01-29 16:43:46 +00002// RUN: %clang_cc1 -fmodules -fno-objc-infer-related-result-type -Werror -Wno-error=incomplete-umbrella -fmodule-cache-path %t -F %S/Inputs -I %S/Inputs -verify %s
3// RUN: %clang_cc1 -fmodules -fno-objc-infer-related-result-type -Werror -Wno-error=incomplete-umbrella -x objective-c++ -fmodule-cache-path %t -F %S/Inputs -I %S/Inputs -verify %s
4// RUN: %clang_cc1 -fmodules -fno-objc-infer-related-result-type -Werror -Wno-error=incomplete-umbrella -fmodule-cache-path %t -F %S/Inputs -I %S/Inputs -verify %s
Douglas Gregor05edf662011-10-17 14:55:37 +00005#define FOO
Ted Kremenek32ad2ee2012-03-01 22:07:04 +00006@__experimental_modules_import Module;
Douglas Gregor0f50b082011-09-15 14:56:27 +00007@interface OtherClass
8@end
Douglas Gregoraa93a872011-10-17 15:32:29 +00009
Jordan Rose78541c42012-07-11 19:58:23 +000010// in module: expected-note@17{{class method 'alloc' is assumed to return an instance of its receiver type ('Module *')}}
Douglas Gregor21cae202011-09-12 23:31:24 +000011void test_getModuleVersion() {
Douglas Gregor6e975c42011-09-13 23:15:45 +000012 const char *version = getModuleVersion();
13 const char *version2 = [Module version];
Douglas Gregor0f50b082011-09-15 14:56:27 +000014
15 OtherClass *other = [Module alloc]; // expected-error{{init}}
Douglas Gregor21cae202011-09-12 23:31:24 +000016}
17
Douglas Gregorac252a32011-12-06 19:39:29 +000018#ifdef MODULE_SUBFRAMEWORK_H
19# error MODULE_SUBFRAMEWORK_H should be hidden
Douglas Gregoraa93a872011-10-17 15:32:29 +000020#endif
Douglas Gregor21cae202011-09-12 23:31:24 +000021
Ted Kremenek32ad2ee2012-03-01 22:07:04 +000022@__experimental_modules_import subdir;
Douglas Gregor8f95cb32012-01-29 16:43:46 +000023
24const char *getSubdirTest() { return getSubdir(); }