From: Volker Reichelt Date: Tue, 4 May 2004 00:21:38 +0000 (+0000) Subject: backport: re PR c++/14810 (tree check failures with invalid code involving templates) X-Git-Tag: releases/gcc-3.3.4~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b7db911132f93276b1081f5972ebe173292270ef;p=thirdparty%2Fgcc.git backport: re PR c++/14810 (tree check failures with invalid code involving templates) Backport: 2004-04-01 Mark Mitchell PR c++/14810 * decl.c (maybe_push_cleanup_level): Robustify. From-SVN: r81464 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index e5f90d9e8a1b..86f60c9ac28b 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,10 @@ +2004-05-04 Volker Reichelt + + Backport: + 2004-04-01 Mark Mitchell + PR c++/14810 + * decl.c (maybe_push_cleanup_level): Robustify. + 2004-05-01 Gabriel Dos Reis Backport from gcc-3_4-branch diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index e17254ef4f3d..7cdf89352711 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -1075,7 +1075,8 @@ void maybe_push_cleanup_level (type) tree type; { - if (TYPE_HAS_NONTRIVIAL_DESTRUCTOR (type) + if (type != error_mark_node + && TYPE_HAS_NONTRIVIAL_DESTRUCTOR (type) && current_binding_level->more_cleanups_ok == 0) { keep_next_level (2);