// PR c++/12526
// We decided that the call to strcmp has no side-effects because strcmp is
// pure, even though the first argument has side-effects. As a result, we
// stripped the CLEANUP_POINT_EXPR. Hilarity ensued.
extern "C" int strcmp (const char *, const char *);
struct A {
A(int);
const char *str();
~A();
};
void printQueryI()
{
if(!strcmp(A(1).str(), "foo"))
{ }
}