xref: /llvm-project/clang/test/Modules/macro-masking.cpp (revision 47972afd102f557553d7c6555240bd80982afdd1)
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