// RUN: %clang_cc1 -fmodules -x c++-module-map %s -fmodule-name=__usr_include -verify | |
// RUN: %clang_cc1 -fmodules -x c++-module-map %s -fmodule-name=__usr_include -verify -DIMPORT | |
module __usr_include { | |
module stddef {} | |
module stdlib {} | |
} | |
#pragma clang module contents | |
// expected-no-diagnostics | |
#pragma clang module begin __usr_include.stddef | |
#define NULL 0 | |
#pragma clang module end | |
#pragma clang module begin __usr_include.stdlib | |
#ifdef IMPORT | |
#pragma clang module import __usr_include.stddef | |
#else | |
#pragma clang module begin __usr_include.stddef | |
#define NULL 0 | |
#pragma clang module end | |
#endif | |
void *f() { return NULL; } // ok, NULL is visible here | |
#pragma clang module end |