URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.dg/] [cpp0x/] [sfinae29.C] - Rev 693
Compare with Previous | Blame | View Log
// PR c++/51047
// { dg-options -std=c++0x }
template<typename T> T &&declval();
template<class T> decltype(declval<T>().x) f(T *);
template<class T> char f(T);
struct B1{ int x; };
struct B2{ int x; };
struct D : public B1, B2{};
struct S { int x; };
int main()
{
S *p = nullptr;
static_assert(sizeof(f(p)) == sizeof(int), "");
D *q = nullptr;
static_assert(sizeof(f(q)) == 1u, "");
}