diff options
-rw-r--r-- | clang/test/Modules/Inputs/PR21547/FirstHeader.h | 13 | ||||
-rw-r--r-- | clang/test/Modules/Inputs/PR21547/module.modulemap | 4 | ||||
-rw-r--r-- | clang/test/Modules/pr21547.cpp | 7 |
3 files changed, 24 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/PR21547/FirstHeader.h b/clang/test/Modules/Inputs/PR21547/FirstHeader.h new file mode 100644 index 00000000000..a01c6075932 --- /dev/null +++ b/clang/test/Modules/Inputs/PR21547/FirstHeader.h @@ -0,0 +1,13 @@ +template<class Element> struct TMatrixT; +typedef TMatrixT<double> TMatrixD; + +void f(const TMatrixD &m); + +template<class Element> struct TMatrixT { + template <class Element2> TMatrixT(const TMatrixT<Element2> &); + ~TMatrixT() {} + void Determinant () { f(*this); } +}; + +template struct TMatrixT<float>; +template struct TMatrixT<double>; diff --git a/clang/test/Modules/Inputs/PR21547/module.modulemap b/clang/test/Modules/Inputs/PR21547/module.modulemap new file mode 100644 index 00000000000..8ca0643888b --- /dev/null +++ b/clang/test/Modules/Inputs/PR21547/module.modulemap @@ -0,0 +1,4 @@ +module M { + header "FirstHeader.h" + export * +} diff --git a/clang/test/Modules/pr21547.cpp b/clang/test/Modules/pr21547.cpp new file mode 100644 index 00000000000..db3b6dd36a9 --- /dev/null +++ b/clang/test/Modules/pr21547.cpp @@ -0,0 +1,7 @@ +// RUN: rm -rf %t +// RUN: %clang_cc1 -I%S/Inputs/PR21547 -verify %s +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -I%S/Inputs/PR21547 -verify %s + +#include "Inputs/PR21547/FirstHeader.h" + +//expected-no-diagnostics |