// PR c++/48452 // { dg-options -std=c++0x } namespace std { template T&& declval(); } template decltype(T(std::declval()...), char()) f(int); template char (&f(...))[2]; struct A { virtual ~A() = 0; }; struct B {}; static_assert(sizeof(f(0)) != 1, "Error"); // a static_assert(sizeof(f(0)) != 1, "Error"); // b static_assert(sizeof(f(0)) != 1, "Error"); // c