aboutsummaryrefslogtreecommitdiff
path: root/test/Modules/submodules-preprocess.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-12-01 22:20:10 +0000
committerDouglas Gregor <dgregor@apple.com>2011-12-01 22:20:10 +0000
commitecc2c090e7146c029dd9ee9a5a2fd66b275c01c0 (patch)
treea836f1b947d7804a2b4a593ccbed8d25e02a5c31 /test/Modules/submodules-preprocess.cpp
parent403bc3f85f3b3461b73abdd9c632980bf95f34bd (diff)
Implement name hiding for declarations deserialized from a non-visible
module. When that module becomes visible, so do those declarations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@145640 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Modules/submodules-preprocess.cpp')
-rw-r--r--test/Modules/submodules-preprocess.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/Modules/submodules-preprocess.cpp b/test/Modules/submodules-preprocess.cpp
new file mode 100644
index 0000000000..1f0f37759c
--- /dev/null
+++ b/test/Modules/submodules-preprocess.cpp
@@ -0,0 +1,14 @@
+// RUN: rm -rf %t
+// RUN: %clang_cc1 -Eonly -fmodule-cache-path %t -fauto-module-import -I %S/Inputs/submodules %s -verify
+
+__import_module__ std.vector;
+
+vector<int> vi;
+remove_reference<int&>::type *int_ptr = 0;
+
+__import_module__ std.typetraits; // expected-error{{no submodule named 'typetraits' in module 'std'; did you mean 'type_traits'?}}
+
+vector<float> vf;
+remove_reference<int&>::type *int_ptr2 = 0;
+
+__import_module__ std.vector.compare; // expected-error{{no submodule named 'compare' in module 'std.vector'}}