diff options
Diffstat (limited to 'test/Modules')
| -rw-r--r-- | test/Modules/Inputs/template-default-args/a.h | 4 | ||||
| -rw-r--r-- | test/Modules/Inputs/template-default-args/b.h | 0 | ||||
| -rw-r--r-- | test/Modules/Inputs/template-default-args/module.modulemap | 1 | ||||
| -rw-r--r-- | test/Modules/template-default-args.cpp | 22 |
4 files changed, 27 insertions, 0 deletions
diff --git a/test/Modules/Inputs/template-default-args/a.h b/test/Modules/Inputs/template-default-args/a.h new file mode 100644 index 0000000000000..1ef1ea5907b52 --- /dev/null +++ b/test/Modules/Inputs/template-default-args/a.h @@ -0,0 +1,4 @@ +template<typename T = int> struct A {}; +template<typename T> struct B {}; +template<typename T> struct C; +template<typename T> struct D; diff --git a/test/Modules/Inputs/template-default-args/b.h b/test/Modules/Inputs/template-default-args/b.h new file mode 100644 index 0000000000000..e69de29bb2d1d --- /dev/null +++ b/test/Modules/Inputs/template-default-args/b.h diff --git a/test/Modules/Inputs/template-default-args/module.modulemap b/test/Modules/Inputs/template-default-args/module.modulemap new file mode 100644 index 0000000000000..6182e6b3eee12 --- /dev/null +++ b/test/Modules/Inputs/template-default-args/module.modulemap @@ -0,0 +1 @@ +module X { module A { header "a.h" } module B { header "b.h" } } diff --git a/test/Modules/template-default-args.cpp b/test/Modules/template-default-args.cpp new file mode 100644 index 0000000000000..63187b8dc190b --- /dev/null +++ b/test/Modules/template-default-args.cpp @@ -0,0 +1,22 @@ +// RUN: rm -rf %t +// RUN: %clang_cc1 -fmodules -verify -fmodules-cache-path=%t -I %S/Inputs/template-default-args -std=c++11 %s +// +// expected-no-diagnostics + +template<typename T> struct A; +template<typename T> struct B; +template<typename T> struct C; +template<typename T = int> struct D; + +#include "b.h" + +template<typename T = int> struct A {}; +template<typename T> struct B {}; +template<typename T = int> struct B; +template<typename T = int> struct C; +template<typename T> struct D {}; + +A<> a; +B<> b; +extern C<> c; +D<> d; |
