blob: 58da646704ba0d221484d662709348ac9e277be3 [file] [log] [blame]
// Check that destructors are run after cleanup functions.
// { dg-do run }
extern "C" void abort ();
int i;
struct S {
~S() {
if (i != 1)
abort ();
i = 2;
}
};
void f(void *) {
if (i != 0)
abort ();
i = 1;
}
int main () {
{
S s __attribute__((cleanup (f)));
}
if (i != 2)
abort ();
}