| 1 | // RUN: rm -rf %t |
| 2 | // RUN: %clang_cc1 -fsyntax-only -fmodules -fimplicit-module-maps %s -fmodules-cache-path=%t -verify -I%S/Inputs/macro-masking |
| 3 | // RxN: %clang_cc1 -fsyntax-only -fmodules -fimplicit-module-maps -fmodules-local-submodule-visibility %s -fmodules-cache-path=%t -verify -I%S/Inputs/macro-masking -DLOCAL_VISIBILITY |
| 4 | // expected-no-diagnostics |
| 5 | |
| 6 | #include "a.h" |
| 7 | |
| 8 | #ifdef LOCAL_VISIBILITY |
| 9 | # ifndef MACRO |
| 10 | # error should still be defined, undef does not override define |
| 11 | # endif |
| 12 | #else |
| 13 | # ifdef MACRO |
| 14 | # error should have been undefined! |
| 15 | # endif |
| 16 | #endif |
| 17 | |