Files
clang-p2996/clang/test/Modules/macro-masking.cpp
Richard Smith 38477db8c4 [modules] If a module #includes a modular header that #undef's its macro, it
should not export the macro.

... at least, not unless we have local submodule visibility enabled.

llvm-svn: 236369
2015-05-02 00:45:56 +00:00

17 lines
510 B
C++

// RUN: rm -rf %t
// RUN: %clang_cc1 -fsyntax-only -fmodules %s -fmodules-cache-path=%t -verify -I%S/Inputs/macro-masking
// RxN: %clang_cc1 -fsyntax-only -fmodules -fmodules-local-submodule-visibility %s -fmodules-cache-path=%t -verify -I%S/Inputs/macro-masking -DLOCAL_VISIBILITY
// expected-no-diagnostics
#include "a.h"
#ifdef LOCAL_VISIBILITY
# ifndef MACRO
# error should still be defined, undef does not override define
# endif
#else
# ifdef MACRO
# error should have been undefined!
# endif
#endif