138477db8SRichard Smith // RUN: rm -rf %t 2*47972afdSRichard Smith // RUN: %clang_cc1 -fsyntax-only -fmodules -fimplicit-module-maps %s -fmodules-cache-path=%t -verify -I%S/Inputs/macro-masking 3*47972afdSRichard Smith // 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 438477db8SRichard Smith // expected-no-diagnostics 538477db8SRichard Smith 638477db8SRichard Smith #include "a.h" 738477db8SRichard Smith 838477db8SRichard Smith #ifdef LOCAL_VISIBILITY 938477db8SRichard Smith # ifndef MACRO 1038477db8SRichard Smith # error should still be defined, undef does not override define 1138477db8SRichard Smith # endif 1238477db8SRichard Smith #else 1338477db8SRichard Smith # ifdef MACRO 1438477db8SRichard Smith # error should have been undefined! 1538477db8SRichard Smith # endif 1638477db8SRichard Smith #endif 17