PR10506: Extend test for temporary cleanups in range-based for loop to cover the dependent case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@139109 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGenCXX/for-range-temporaries.cpp b/test/CodeGenCXX/for-range-temporaries.cpp
index be594ce..188c9a5 100644
--- a/test/CodeGenCXX/for-range-temporaries.cpp
+++ b/test/CodeGenCXX/for-range-temporaries.cpp
@@ -1,5 +1,6 @@
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -std=c++0x -emit-llvm -o - -UDESUGAR %s | opt -instnamer -S | FileCheck %s
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -std=c++0x -emit-llvm -o - -DDESUGAR %s | opt -instnamer -S | FileCheck %s
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -std=c++0x -emit-llvm -o - -DDESUGAR -DTEMPLATE %s | opt -instnamer -S | FileCheck %s
struct A {
A();
@@ -65,6 +66,9 @@
void body(const I &);
+#ifdef TEMPLATE
+template<typename D>
+#endif
void for_temps() {
A a;
#ifdef DESUGAR
@@ -83,7 +87,11 @@
#endif
}
-// CHECK: define void @_Z9for_tempsv()
+#ifdef TEMPLATE
+template void for_temps<D>();
+#endif
+
+// CHECK: define {{.*}}for_temps
// CHECK: call void @_ZN1AC1Ev(
// CHECK: call void @_ZN1BC1Ev(
// CHECK: call void @_ZN1CC1ERK1B(