From a3cbf2a738042819bb2d7d4fae048e633d2588d2 Mon Sep 17 00:00:00 2001 From: Vassil Vassilev Date: Wed, 30 Mar 2016 20:10:07 +0000 Subject: [PATCH] [modules] Add a regression test for PR21547. llvm-svn: 264908 --- clang/test/Modules/Inputs/PR21547/FirstHeader.h | 13 +++++++++++++ clang/test/Modules/Inputs/PR21547/module.modulemap | 4 ++++ clang/test/Modules/pr21547.cpp | 7 +++++++ 3 files changed, 24 insertions(+) create mode 100644 clang/test/Modules/Inputs/PR21547/FirstHeader.h create mode 100644 clang/test/Modules/Inputs/PR21547/module.modulemap create mode 100644 clang/test/Modules/pr21547.cpp diff --git a/clang/test/Modules/Inputs/PR21547/FirstHeader.h b/clang/test/Modules/Inputs/PR21547/FirstHeader.h new file mode 100644 index 0000000..a01c607 --- /dev/null +++ b/clang/test/Modules/Inputs/PR21547/FirstHeader.h @@ -0,0 +1,13 @@ +template struct TMatrixT; +typedef TMatrixT TMatrixD; + +void f(const TMatrixD &m); + +template struct TMatrixT { + template TMatrixT(const TMatrixT &); + ~TMatrixT() {} + void Determinant () { f(*this); } +}; + +template struct TMatrixT; +template struct TMatrixT; diff --git a/clang/test/Modules/Inputs/PR21547/module.modulemap b/clang/test/Modules/Inputs/PR21547/module.modulemap new file mode 100644 index 0000000..8ca0643 --- /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 0000000..db3b6dd --- /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 -- 2.7.4