diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.oliva/delete2.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.oliva/delete2.C | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.oliva/delete2.C b/gcc/testsuite/g++.old-deja/g++.oliva/delete2.C new file mode 100644 index 000000000..4a5cda45e --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.oliva/delete2.C @@ -0,0 +1,26 @@ +// { dg-do run } +// 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() { + exit(0); + } +}; + +struct Bar : virtual Foo { +}; + +int main() { + delete [] new Bar[1]; + abort(); +} + + |