void *calloc (__SIZE_TYPE__, __SIZE_TYPE__); | |
struct B | |
{ | |
B (short); | |
int cls; | |
} k (0); | |
void d (int); | |
enum e {} i; | |
struct j | |
{ | |
void *operator new (__SIZE_TYPE__ b) | |
#if __cplusplus >= 201103L | |
noexcept | |
#else | |
throw() | |
#endif | |
{ | |
return calloc (b, sizeof (int)); // { dg-bogus "leak" "" { xfail c++98_only } } | |
} | |
j (B *, int) | |
{ | |
} | |
}; | |
j * | |
f (B * b, int h, bool) | |
{ | |
d (b->cls); | |
return new j (b, h); // { dg-warning "leak" } | |
} | |
void | |
m () | |
{ | |
if (i) | |
f (&k, 0, false); | |
} |