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