URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [cpp0x/] [lambda/] [lambda-deduce-ext-neg.C] - Rev 693
Compare with Previous | Blame | View Log
// Testcase for DR 975.
// { dg-options -std=c++0x }
bool b;
struct A { int fn1(); const int& fn2(); };
struct B { int fn1(); long fn2(); };
template <class T> int f (T t) {
return [](T t){
if (b)
return t.fn1();
else
return t.fn2(); // { dg-error "inconsistent types" }
}(t);
}
int main()
{
f(A()); // { dg-bogus "" } int and const int& are compatible
f(B()); // { dg-message "from here" } int and long are not
}