| // RUN: rm -rf %t |
| // RUN: split-file %s %t |
| // RUN: %clang_cc1 -I %t/include -fmodules -fimplicit-module-maps \ |
| // RUN: -fmodules-cache-path=%t/cache -fsyntax-only %t/tu.c |
| |
| //--- include/module.modulemap |
| module A [no_undeclared_includes] { textual header "A.h" } |
| module B { header "B.h" } |
| |
| //--- include/A.h |
| #if __has_include(<B.h>) |
| #error B.h should not be available from A.h. |
| #endif |
| |
| //--- include/B.h |
| // This file intentionally left blank. |
| |
| //--- tu.c |
| #if !__has_include(<B.h>) |
| #error B.h should be available from tu.c. |
| #endif |
| |
| #include "A.h" |
| |
| #if !__has_include(<B.h>) |
| #error B.h should still be available from tu.c. |
| #endif |