summaryrefslogtreecommitdiff
path: root/test/SemaTemplate/pack-deduction.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2014-06-06 17:33:35 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2014-06-06 17:33:35 +0000
commit150a4989ecf988595f80809abf84835c9625b33c (patch)
treee6a35769460d985f6cea59f7a12fa14289a864cc /test/SemaTemplate/pack-deduction.cpp
parent15fd3ff705a5657be800d3402d919eb8d13ec9f0 (diff)
downloadclang-150a4989ecf988595f80809abf84835c9625b33c.tar.gz
clang-150a4989ecf988595f80809abf84835c9625b33c.tar.bz2
clang-150a4989ecf988595f80809abf84835c9625b33c.tar.xz
Retain an expression pack expansion when the parameter pack expansion code asks
us to. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210355 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaTemplate/pack-deduction.cpp')
-rw-r--r--test/SemaTemplate/pack-deduction.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/test/SemaTemplate/pack-deduction.cpp b/test/SemaTemplate/pack-deduction.cpp
index abb76de693..f3f969e9af 100644
--- a/test/SemaTemplate/pack-deduction.cpp
+++ b/test/SemaTemplate/pack-deduction.cpp
@@ -30,3 +30,10 @@ namespace PR14841 {
f<char, short, int>(a); // expected-error {{no matching function}}
}
}
+
+namespace RetainExprPacks {
+ int f(int a, int b, int c);
+ template<typename ...Ts> struct X {};
+ template<typename ...Ts> int g(X<Ts...>, decltype(f(Ts()...)));
+ int n = g<int, int>(X<int, int, int>(), 0);
+}