diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/cpp0x/variadic67.C')
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/variadic67.C | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic67.C b/gcc/testsuite/g++.dg/cpp0x/variadic67.C new file mode 100644 index 00000000000..e496bfc176c --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/variadic67.C @@ -0,0 +1,24 @@ +// { dg-options "-std=gnu++0x" } +template<typename... Elements> struct tuple {}; + +template<typename... Args> +struct nested +{ + typedef tuple<tuple<Args, Args...>...> type; +}; + +template<typename T, typename U> +struct is_same +{ + static const bool value = false; +}; + +template<typename T> +struct is_same<T, T> +{ + static const bool value = true; +}; + +int a0[is_same<nested<int, float>::type, + tuple<tuple<int, int, float>, + tuple<float, int, float> > >::value? 1 : -1]; |