summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/init/cleanup2.C
blob: e62364be15b7f9493f85ec438c79a829fdb26e30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 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"))
    { }
}