summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/Modules/Inputs/PR28332/TextualInclude.h7
-rw-r--r--clang/test/Modules/Inputs/PR28332/a.h8
-rw-r--r--clang/test/Modules/Inputs/PR28332/b.h3
-rw-r--r--clang/test/Modules/Inputs/PR28332/c.h2
-rw-r--r--clang/test/Modules/Inputs/PR28332/module.modulemap3
-rw-r--r--clang/test/Modules/pr28332.cpp8
6 files changed, 31 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/PR28332/TextualInclude.h b/clang/test/Modules/Inputs/PR28332/TextualInclude.h
new file mode 100644
index 00000000000..e4d2580230f
--- /dev/null
+++ b/clang/test/Modules/Inputs/PR28332/TextualInclude.h
@@ -0,0 +1,7 @@
+#ifndef LLVM_ADT_SMALLVECTORIMPL_H
+#define LLVM_ADT_SMALLVECTORIMPL_H
+class SmallVectorImpl {
+public:
+ ~SmallVectorImpl();
+};
+#endif \ No newline at end of file
diff --git a/clang/test/Modules/Inputs/PR28332/a.h b/clang/test/Modules/Inputs/PR28332/a.h
new file mode 100644
index 00000000000..1dc96c80fcd
--- /dev/null
+++ b/clang/test/Modules/Inputs/PR28332/a.h
@@ -0,0 +1,8 @@
+#include "b.h"
+
+class A {
+ SmallVector<char, 8> LegalIntWidths;
+ A() {}
+};
+
+#include "c.h"
diff --git a/clang/test/Modules/Inputs/PR28332/b.h b/clang/test/Modules/Inputs/PR28332/b.h
new file mode 100644
index 00000000000..e1e07e89207
--- /dev/null
+++ b/clang/test/Modules/Inputs/PR28332/b.h
@@ -0,0 +1,3 @@
+#include "TextualInclude.h"
+template <typename, int> class SmallVector : SmallVectorImpl {};
+
diff --git a/clang/test/Modules/Inputs/PR28332/c.h b/clang/test/Modules/Inputs/PR28332/c.h
new file mode 100644
index 00000000000..e18bdaccca6
--- /dev/null
+++ b/clang/test/Modules/Inputs/PR28332/c.h
@@ -0,0 +1,2 @@
+#include "TextualInclude.h"
+
diff --git a/clang/test/Modules/Inputs/PR28332/module.modulemap b/clang/test/Modules/Inputs/PR28332/module.modulemap
new file mode 100644
index 00000000000..8c3f4ecab4e
--- /dev/null
+++ b/clang/test/Modules/Inputs/PR28332/module.modulemap
@@ -0,0 +1,3 @@
+module "c.h" { header "c.h" export * }
+module "b.h" { header "b.h" export * }
+module "a.h" { header "a.h" }
diff --git a/clang/test/Modules/pr28332.cpp b/clang/test/Modules/pr28332.cpp
new file mode 100644
index 00000000000..596dd246008
--- /dev/null
+++ b/clang/test/Modules/pr28332.cpp
@@ -0,0 +1,8 @@
+// RUN: rm -rf %t
+// RUN: %clang_cc1 -std=c++11 -I%S/Inputs/PR28332 -verify %s
+// RUN: %clang_cc1 -std=c++11 -fmodules -fmodule-map-file=%S/Inputs/PR28332/module.modulemap -fmodules-cache-path=%t -I%S/Inputs/PR28332 -verify %s
+
+#include "a.h"
+
+// expected-no-diagnostics
+
OpenPOWER on IntegriCloud