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 \ 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 \ 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 \ 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 \ 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 \ 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 \ 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 \ 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 \ 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 \ 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 \ 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 \ 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 \ 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