// Test that a [no_undeclared_headers] module can include builtin headers, even // if these have been "claimed" by a different module that wraps these builtin // headers. libc++ does this, for example. // // The test inputs used here replicates the relationship between libc++ and // glibc. When modularizing glibc, [no_undeclared_headers] must be used to // prevent glibc from including the libc++ versions of the C standard library // headers. // RUN: rm -rf %t // RUN: %clang_cc1 -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -I %S/Inputs/no-undeclared-includes-builtins/libcxx -I %S/Inputs/no-undeclared-includes-builtins/glibc %s // expected-no-diagnostics #include