Commit 250ba237 by Alexandre Oliva Committed by Alexandre Oliva

* delete2.C, delete3.C, delete4.C, delete5.C: New tests.

From-SVN: r30607
parent c7edeea3
1999-11-21 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
* delete2.C, delete3.C, delete4.C, delete5.C: New tests.
1999-11-19 Alexandre Oliva <oliva@lsd.ic.unicamp.br>
* template7.C: Crash test passes, bug error is now bogus.
......
// Copyright (C) 1999 Free Software Foundation
// by Alexandre Oliva <oliva@lsd.ic.unicamp.br>
// distilled from bug report by Barry M. Caceres <barryc@itravelpartners.com>
// Test whether dtors of vbases are called on delete[].
extern "C" void abort();
extern "C" void exit(int);
struct Foo {
~Foo() {
std::exit(0);
}
};
struct Bar : virtual Foo {
};
int main() {
delete [] new Bar[1];
std::abort();
}
// Copyright (C) 1999 Free Software Foundation
// by Alexandre Oliva <oliva@lsd.ic.unicamp.br>
// Test whether dtors of vbases are called on throw within new[].
// Variant of delete2.C.
extern "C" void abort();
extern "C" void exit(int);
struct Foo {
static bool first;
Foo() {
if (first)
first = false;
else
throw first;
}
~Foo() {
std::exit(0);
}
};
bool Foo::first = true;
struct Bar : virtual Foo {
};
int main() {
delete [] new Bar[2];
std::abort();
}
// Copyright (C) 1999 Free Software Foundation
// by Alexandre Oliva <oliva@lsd.ic.unicamp.br>
// Test whether dtors of vbases are called from dtor of aggregate of array.
// Variant of delete2.C and delete3.C.
extern "C" void abort();
extern "C" void exit(int);
struct Foo {
~Foo() {
std::exit(0);
}
};
struct Bar : virtual Foo {
};
struct Baz {
Bar i[1];
};
int main() {
Baz();
std::abort();
}
// Copyright (C) 1999 Free Software Foundation
// by Alexandre Oliva <oliva@lsd.ic.unicamp.br>
// Test whether dtors of vbases are called from dtor of auto array.
// Variant of delete2.C, delete3.C and delete4.C.
extern "C" void abort();
extern "C" void exit(int);
struct Foo {
~Foo() {
std::exit(0);
}
};
struct Bar : virtual Foo {
};
void foo() {
Bar i[1];
}
int main() {
foo();
std::abort();
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment