p2-0x.cpp revision 8e8fb3be5bd78f0564444eca02b404566a5f3b5d
1// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify %s 2// expected-no-diagnostics 3 4// If type deduction cannot be done for any P/A pair, or if for any 5// pair the deduction leads to more than one possible set of deduced 6// values, or if different pairs yield different deduced values, or if 7// any template argument remains neither deduced nor explicitly 8// specified, template argument deduction fails. 9 10template<typename ...> struct tuple; 11 12template<typename T, typename U> 13struct same_tuple { 14 static const bool value = false; 15}; 16 17template<typename ...Types1> 18struct same_tuple<tuple<Types1...>, tuple<Types1...> > { 19 static const bool value = true; 20}; 21 22int same_tuple_check1[same_tuple<tuple<int, float>, tuple<int, double>>::value? -1 : 1]; 23int same_tuple_check2[same_tuple<tuple<float, double>, tuple<float, double>>::value? 1 : -1]; 24 25