| 1 | // RUN: %clang_cc1 -std=c++14 -x c++-header %s -emit-pch -o %t.pch |
|---|---|
| 2 | // RUN: %clang_cc1 -std=c++14 -x c++ /dev/null -include-pch %t.pch |
| 3 | |
| 4 | template <int i> |
| 5 | struct X { }; |
| 6 | |
| 7 | using SizeT = decltype(sizeof(int)); |
| 8 | |
| 9 | template <SizeT i, typename ...T> |
| 10 | using TypePackElement = __type_pack_element<i, T...>; |
| 11 | |
| 12 | void fn1() { |
| 13 | X<0> x0 = TypePackElement<0, X<0>, X<1>, X<2>>{}; |
| 14 | X<1> x1 = TypePackElement<1, X<0>, X<1>, X<2>>{}; |
| 15 | X<2> x2 = TypePackElement<2, X<0>, X<1>, X<2>>{}; |
| 16 | } |
| 17 |