diff options
| -rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/cp/name-lookup.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 4a6f648..93d3684 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2004-04-01 Mark Mitchell <mark@codesourcery.com> + + PR c++/14810 + * name-lookup.c (maybe_push_cleanup_level): Robustify. + 2004-04-01 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * class.c (VTT_TOP_LEVEL_P): Use unsigned_flag directly. diff --git a/gcc/cp/name-lookup.c b/gcc/cp/name-lookup.c index 612a7c1..52d4d77 100644 --- a/gcc/cp/name-lookup.c +++ b/gcc/cp/name-lookup.c @@ -1407,7 +1407,8 @@ innermost_nonclass_level (void) void maybe_push_cleanup_level (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) { begin_scope (sk_cleanup, NULL); |
