From 04765ae01e936a3f2bc980ebd8fc7ea8a4760636 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Thu, 21 May 2015 01:20:10 +0000 Subject: [modules] If we re-enter a submodule from within itself (when submodule visibility is enabled) or leave and re-enter it, restore the macro and module visibility state from last time we were in that submodule. This allows mutually-#including header files to stand a chance at being modularized with local visibility enabled. llvm-svn: 237871 --- clang/test/Modules/submodule-visibility-cycles.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 clang/test/Modules/submodule-visibility-cycles.cpp (limited to 'clang/test/Modules/submodule-visibility-cycles.cpp') diff --git a/clang/test/Modules/submodule-visibility-cycles.cpp b/clang/test/Modules/submodule-visibility-cycles.cpp new file mode 100644 index 00000000000..fca8df9f77e --- /dev/null +++ b/clang/test/Modules/submodule-visibility-cycles.cpp @@ -0,0 +1,10 @@ +// RUN: rm -rf %t +// RUN: %clang_cc1 -fmodules -fno-modules-error-recovery -fmodules-local-submodule-visibility -fmodules-cache-path=%t -I%S/Inputs/submodule-visibility -verify %s + +#include "cycle1.h" +C1 c1; +C2 c2; // expected-error {{must be imported}} expected-error {{}} +// expected-note@cycle2.h:6 {{here}} + +#include "cycle2.h" +C2 c3; -- cgit v1.2.3