// { dg-do compile } | |
// { dg-additional-options "-ftrapv" } | |
struct B { | |
B(int = 0); | |
}; | |
int c; | |
int *d; | |
struct G { | |
G(); | |
int numProcs_; | |
}; | |
int fn1(); | |
B fn2() { | |
if (c) | |
return 0; | |
return B(); | |
} | |
long &fn3(long &p1, long &p2) { | |
if (p2 < p1) | |
return p2; | |
return p1; | |
} | |
void fn4(long p1) { | |
long a = fn1(); | |
fn2(); | |
int b = fn3(p1, a); | |
for (int i; i < b; ++i) | |
d[0] = 0; | |
for (; a < p1; ++a) | |
d[a] = 0; | |
} | |
G::G() { fn4(numProcs_ + 1); } |