1 | // RUN: rm -rf %t |
2 | |
3 | // Including a header from the imported module |
4 | // RUN: echo '@import FromImportedModuleOK;' | \ |
5 | // RUN: %clang_cc1 -Wnon-modular-include-in-framework-module -fmodules -fimplicit-module-maps \ |
6 | // RUN: -fmodules-cache-path=%t -F %S/Inputs/require-modular-includes \ |
7 | // RUN: -Werror -fsyntax-only -x objective-c - |
8 | |
9 | // Including a non-modular header |
10 | // RUN: echo '@import FromImportedModuleFail;' | \ |
11 | // RUN: %clang_cc1 -Wnon-modular-include-in-framework-module -fmodules -fimplicit-module-maps \ |
12 | // RUN: -fmodules-cache-path=%t -F %S/Inputs/require-modular-includes \ |
13 | // RUN: -I %S/Inputs/require-modular-includes \ |
14 | // RUN: -fsyntax-only -x objective-c - 2>&1 | FileCheck %s |
15 | |
16 | // Including a header from a subframework |
17 | // RUN: echo '@import FromSubframework;' | \ |
18 | // RUN: %clang_cc1 -Wnon-modular-include-in-framework-module -fmodules -fimplicit-module-maps \ |
19 | // RUN: -fmodules-cache-path=%t -F %S/Inputs/require-modular-includes \ |
20 | // RUN: -Werror -fsyntax-only -x objective-c - |
21 | |
22 | // Including a header from a subframework (fail) |
23 | // RUN: echo '@import FromNonModularSubframework;' | \ |
24 | // RUN: %clang_cc1 -Wnon-modular-include-in-framework-module -fmodules -fimplicit-module-maps \ |
25 | // RUN: -fmodules-cache-path=%t -F %S/Inputs/require-modular-includes \ |
26 | // RUN: -I %S/Inputs/require-modular-includes \ |
27 | // RUN: -fsyntax-only -x objective-c - 2>&1 | FileCheck %s |
28 | |
29 | // Including a non-modular header from a submodule |
30 | // RUN: echo '@import FromImportedSubModule;' | \ |
31 | // RUN: %clang_cc1 -Wnon-modular-include-in-framework-module -fmodules -fimplicit-module-maps \ |
32 | // RUN: -fmodules-cache-path=%t -F %S/Inputs/require-modular-includes \ |
33 | // RUN: -I %S/Inputs/require-modular-includes \ |
34 | // RUN: -fsyntax-only -x objective-c - 2>&1 | FileCheck %s |
35 | |
36 | // Including a non-modular header (directly) with -fmodule-name set |
37 | // RUN: echo '#include "NotInModule.h"' | \ |
38 | // RUN: %clang_cc1 -Wnon-modular-include-in-framework-module -fmodules -fimplicit-module-maps \ |
39 | // RUN: -fmodules-cache-path=%t -I %S/Inputs/require-modular-includes \ |
40 | // RUN: -Werror -fmodule-name=A -fsyntax-only -x objective-c - |
41 | |
42 | // Including an excluded header |
43 | // RUN: echo '@import IncludeExcluded;' | \ |
44 | // RUN: %clang_cc1 -Wnon-modular-include-in-framework-module -fmodules -fimplicit-module-maps \ |
45 | // RUN: -fmodules-cache-path=%t -F %S/Inputs/require-modular-includes \ |
46 | // RUN: -Werror -fsyntax-only -x objective-c - |
47 | |
48 | // Including a header from another module |
49 | // RUN: echo '@import FromAnotherModule;' | \ |
50 | // RUN: %clang_cc1 -Wnon-modular-include-in-framework-module -fmodules -fimplicit-module-maps \ |
51 | // RUN: -fmodules-cache-path=%t -F %S/Inputs/require-modular-includes \ |
52 | // RUN: -I %S/Inputs/require-modular-includes \ |
53 | // RUN: -Werror -fsyntax-only -x objective-c - |
54 | |
55 | // Including an excluded header from another module |
56 | // RUN: echo '@import ExcludedFromAnotherModule;' | \ |
57 | // RUN: %clang_cc1 -Wnon-modular-include-in-framework-module -fmodules -fimplicit-module-maps \ |
58 | // RUN: -fmodules-cache-path=%t -F %S/Inputs/require-modular-includes \ |
59 | // RUN: -I %S/Inputs/require-modular-includes \ |
60 | // RUN: -Werror -fsyntax-only -x objective-c - |
61 | |
62 | // Including a header from an umbrella directory |
63 | // RUN: echo '@import FromUmbrella;' | \ |
64 | // RUN: %clang_cc1 -Wnon-modular-include-in-framework-module -fmodules -fimplicit-module-maps \ |
65 | // RUN: -fmodules-cache-path=%t -F %S/Inputs/require-modular-includes \ |
66 | // RUN: -I %S/Inputs/require-modular-includes \ |
67 | // RUN: -Werror -fsyntax-only -x objective-c - |
68 | |
69 | // A includes B includes non-modular C |
70 | // RUN: echo '@import A;' | \ |
71 | // RUN: %clang_cc1 -Wnon-modular-include-in-framework-module -fmodules -fimplicit-module-maps \ |
72 | // RUN: -fmodules-cache-path=%t -F %S/Inputs/require-modular-includes \ |
73 | // RUN: -I %S/Inputs/require-modular-includes \ |
74 | // RUN: -fsyntax-only -x objective-c - 2>&1 | FileCheck %s |
75 | |
76 | // Non-framework module (pass) |
77 | // RUN: echo '@import NotFramework;' | \ |
78 | // RUN: %clang_cc1 -Wnon-modular-include-in-framework-module -fmodules -fimplicit-module-maps \ |
79 | // RUN: -fmodules-cache-path=%t -I %S/Inputs/require-modular-includes \ |
80 | // RUN: -Werror -fsyntax-only -x objective-c - |
81 | |
82 | // CHECK: include of non-modular header |
83 | |