annotate gcc/testsuite/g++.dg/cpp0x/variadic141.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 // Origin: PR c++/53609
kono
parents:
diff changeset
2 // { dg-do compile { target c++11 } }
kono
parents:
diff changeset
3
kono
parents:
diff changeset
4 template<class...I> struct List{ static const bool is_ok = false;};
kono
parents:
diff changeset
5 template<int T> struct Z
kono
parents:
diff changeset
6 {
kono
parents:
diff changeset
7 static const int value = T;
kono
parents:
diff changeset
8 static const int value_square = T * T;
kono
parents:
diff changeset
9 };
kono
parents:
diff changeset
10
kono
parents:
diff changeset
11 template<template<int> class U>
kono
parents:
diff changeset
12 struct List<U<2>, U<3>, U<4>, U<9>> { static const bool is_ok = true;};
kono
parents:
diff changeset
13
kono
parents:
diff changeset
14 template<int...T> using LZ = List<Z<T>...>;
kono
parents:
diff changeset
15
kono
parents:
diff changeset
16 template<class...T>
kono
parents:
diff changeset
17 struct F
kono
parents:
diff changeset
18 {
kono
parents:
diff changeset
19 using N = LZ<T::value..., Z<4>::value, Z<9>::value>;
kono
parents:
diff changeset
20 };
kono
parents:
diff changeset
21
kono
parents:
diff changeset
22 static_assert (F<Z<2>, Z<3>>::N::is_ok, "");