aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2016-08-04 12:06:22 -0400
committerJason Merrill <jason@gcc.gnu.org>2016-08-04 12:06:22 -0400
commitb9dc9ef63fc7bf742f97e1b9618d5818f3383c73 (patch)
treeca5567929a6a7043464182096b33a9b9d4069a6f /gcc/testsuite
parent6a7b92036be210a11657ce97a936a8548c425341 (diff)
downloadgcc-b9dc9ef63fc7bf742f97e1b9618d5818f3383c73.zip
gcc-b9dc9ef63fc7bf742f97e1b9618d5818f3383c73.tar.gz
gcc-b9dc9ef63fc7bf742f97e1b9618d5818f3383c73.tar.bz2
PR c++/72415 - member template with fold-expression constraint
* pt.c (tsubst_pack_expansion): Pull a single pack expansion out of the TREE_VEC. From-SVN: r239138
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/g++.dg/concepts/memfun2.C21
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/concepts/memfun2.C b/gcc/testsuite/g++.dg/concepts/memfun2.C
new file mode 100644
index 0000000..c186a18
--- /dev/null
+++ b/gcc/testsuite/g++.dg/concepts/memfun2.C
@@ -0,0 +1,21 @@
+// PR c++/72415
+// { dg-options "-std=c++1z -fconcepts" }
+
+template<int... Indices>
+struct indices {};
+
+template<typename Dummy>
+struct foo_type {
+ template<int... Indices>
+ static void impl(indices<Indices...>)
+ requires (... && (Indices, true));
+
+ static auto caller()
+ { return impl(indices<0, 1, 2> {}); }
+};
+
+int main()
+{
+ // internal compiler error: in satisfy_predicate_constraint, at cp/constraint.cc:2013
+ foo_type<void>::caller();
+}