freebsd-skq/test/Modules/on-demand-build.m

28 lines
1.1 KiB
Objective-C

// RUN: rm -rf %t
// 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
// 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
// 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
#define FOO
@__experimental_modules_import 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}}
}
#ifdef MODULE_SUBFRAMEWORK_H
# error MODULE_SUBFRAMEWORK_H should be hidden
#endif
@__experimental_modules_import subdir;
const char *getSubdirTest() { return getSubdir(); }