| // 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 |