Commit cb2e1470 by Paolo Carlini Committed by Paolo Carlini

re PR c++/65133 ([C++11] Result type deduction proceeds even though argument deduction fails)

2015-05-12  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/65133
	* g++.dg/cpp0x/trailing10.C: New.

From-SVN: r223047
parent 731261c3
2015-05-12 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/65133
* g++.dg/cpp0x/trailing10.C: New.
2015-05-12 Richard Biener <rguenther@suse.de> 2015-05-12 Richard Biener <rguenther@suse.de>
* gcc.dg/vect/bb-slp-35.c: New testcase. * gcc.dg/vect/bb-slp-35.c: New testcase.
......
// PR c++/65133
// { dg-do compile { target c++11 } }
template<bool, typename Tp = void>
struct enable_if { };
template<typename Tp>
struct enable_if<true, Tp> { typedef Tp type; };
template <int I>
struct count
{
using type = typename count<I-1>::type;
};
template <>
struct count<0>
{
using type = void;
};
template <int I>
auto foo(typename enable_if<(I>=0)>::type *
= nullptr) -> typename count<I>::type { }
template <int I>
void foo(typename enable_if<(I<0)>::type * = nullptr) { }
int main()
{
foo<2>();
foo<-1>();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment