diff options
Diffstat (limited to 'test/Modules/merge-enumerators.cpp')
-rw-r--r-- | test/Modules/merge-enumerators.cpp | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/test/Modules/merge-enumerators.cpp b/test/Modules/merge-enumerators.cpp index 34a4ec9..10e1914 100644 --- a/test/Modules/merge-enumerators.cpp +++ b/test/Modules/merge-enumerators.cpp @@ -4,8 +4,25 @@ // RUN: echo '#include "a.h"' > %t/b.h // RUN: touch %t/x.h // RUN: echo 'module B { module b { header "b.h" } module x { header "x.h" } }' > %t/b.modulemap -// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -x c++ -fmodule-map-file=%t/b.modulemap %s -I%t -verify +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -x c++ -fmodule-map-file=%t/b.modulemap %s -I%t -verify -fmodules-local-submodule-visibility +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -x c++ -fmodule-map-file=%t/b.modulemap %s -I%t -verify -fmodules-local-submodule-visibility -DMERGE_LATE + +#ifndef MERGE_LATE // expected-no-diagnostics #include "a.h" +#endif + #include "x.h" + +#ifdef MERGE_LATE +namespace N { + enum { A } a; // expected-note {{candidate}} + // expected-note@a.h:1 {{candidate}} (from module B.b) +} +#include "a.h" +#endif + N::E e = N::A; +#ifdef MERGE_LATE +// expected-error@-2 {{ambiguous}} +#endif |