diff options
author | Volker Reichelt <reichelt@gcc.gnu.org> | 2003-09-18 12:12:13 +0000 |
---|---|---|
committer | Volker Reichelt <reichelt@gcc.gnu.org> | 2003-09-18 12:12:13 +0000 |
commit | ef08de8057b34a1bae06c41ce1843f8c615170a1 (patch) | |
tree | c4f9bcca43f4aa0be087466bc1b4c331cbf04a7c | |
parent | 9fd6479043b30a8abb901d481d0f6422f0af4fda (diff) | |
download | gcc-ef08de8057b34a1bae06c41ce1843f8c615170a1.zip gcc-ef08de8057b34a1bae06c41ce1843f8c615170a1.tar.gz gcc-ef08de8057b34a1bae06c41ce1843f8c615170a1.tar.bz2 |
re PR c++/12316 (trouble with garbage collection)
PR c++/12316
* testsuite/g++.dg/other/gc2.C: New test.
* cp/ChangeLog: Add PR number to patch for PR c++/12316.
From-SVN: r71517
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/other/gc2.C | 38 |
3 files changed, 48 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 8db2dc9..33da22d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2003-09-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de> + + * ChangeLog: Add PR number to patch for PR c++/12316. + 2003-09-18 Gabriel Dos Reis <gdr@integrable-solutions.net> * error.c (dump_type): Simplify. Use pp_type_specifier_seq for @@ -6,6 +10,7 @@ 2003-09-17 Richard Henderson <rth@redhat.com> + PR c++/12316 * semantics.c (expand_body): Don't save/restore input_location. 2003-09-17 Mark Mitchell <mark@codesourcery.com> diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 7bd6e69..dcef4f4 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2003-09-18 Volker Reichelt <reichelt@igpm.rwth-aachen.de> + + PR c++/12316 + * g++.dg/other/gc2.C: New test. + 2003-09-17 Mark Mitchell <mark@codesourcery.com> PR c++/11991 diff --git a/gcc/testsuite/g++.dg/other/gc2.C b/gcc/testsuite/g++.dg/other/gc2.C new file mode 100644 index 0000000..1422294 --- /dev/null +++ b/gcc/testsuite/g++.dg/other/gc2.C @@ -0,0 +1,38 @@ +// PR c++/12316 +// Origin: Volker Reichelt <reichelt@igpm.rwth-aachen.de> + +// { dg-do compile } +// { dg-options "--param ggc-min-expand=0 --param ggc-min-heapsize=0" } + +inline void FOO() {} + +template<typename> struct A +{ + A() {} + ~A() throw() {} +}; + +template<typename> struct B +{ + static void foo(); + static void bar() { foo(); } +}; + +struct C {}; + +template<typename> struct D : C +{ + D() {} + ~D() { B<void>::bar(); } +}; + +template<typename> struct E : D<void> +{ + static void baz() {} + E(A<void>) { baz(); } +}; + +void BAR() +{ + new E<void>(A<void>()); +} |