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