aboutsummaryrefslogtreecommitdiff
path: root/test/Modules/on-demand-build.m
blob: e9587594202953b1c92a0741938b4a4476d0380d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// RUN: rm -rf %t
// RUN: %clang_cc1 -fmodules -fno-objc-infer-related-result-type -Werror -Wno-error=incomplete-umbrella -fmodules-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++ -fmodules-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 -fmodules-cache-path=%t -F %S/Inputs -I %S/Inputs -verify %s
#define FOO
@import Module;
@interface OtherClass
@end

// expected-note@Inputs/Module.framework/Headers/Module.h:17{{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

@import subdir;

const char *getSubdirTest() { return getSubdir(); }