Home | History | Annotate | Download | only in Modules
      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