p5-0x.cpp revision 762bb9d0ad20320b9f97a841dce57ba5e8e48b07
1aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s
2aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant
3aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant// FIXME: More bullets to go!
4aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant
5aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnanttemplate<typename T, typename U>
6aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnantstruct has_nondeduced_pack_test {
7aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant  static const bool value = false;
8aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant};
9aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant
10aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnanttemplate<typename R, typename FirstType, typename ...Types>
11aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnantstruct has_nondeduced_pack_test<R(FirstType, Types..., int),
12aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant                                R(FirstType, Types...)> {
13aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant  static const bool value = true;
14aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant};
15aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant
16aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant// - A function parameter pack that does not occur at the end of the
17aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant//   parameter-declaration-clause.
18aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnantint check_nondeduced_pack_test0[
19aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant                   has_nondeduced_pack_test<int(float, double, int),
20aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant                                            int(float, double)>::value? 1 : -1];
21aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant
22aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant
23aa69808da909e2b041b4b3a095da5a4c2944593cHoward Hinnant