From 2473c92d7c783befb05359b109b937aba56061b7 Mon Sep 17 00:00:00 2001 From: rth Date: Sun, 8 Feb 2004 18:01:23 +0000 Subject: PR libstdc++/14026 * libsupc++/eh_catch.cc (__cxa_begin_catch): Don't adjust uncaughtExceptions during nested catch rethrow. * testsuite/18_support/14026.cc: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77492 138bc75d-0d04-0410-961f-82ee72b054a4 --- libstdc++-v3/libsupc++/eh_catch.cc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'libstdc++-v3/libsupc++') diff --git a/libstdc++-v3/libsupc++/eh_catch.cc b/libstdc++-v3/libsupc++/eh_catch.cc index f8b7137e57e..0e186605f09 100644 --- a/libstdc++-v3/libsupc++/eh_catch.cc +++ b/libstdc++-v3/libsupc++/eh_catch.cc @@ -1,5 +1,5 @@ // -*- C++ -*- Exception handling routines for catching. -// Copyright (C) 2001, 2003 Free Software Foundation, Inc. +// Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc. // // This file is part of GCC. // @@ -65,10 +65,12 @@ __cxa_begin_catch (void *exc_obj_in) // This exception was rethrown from an immediately enclosing region. count = -count + 1; else - count += 1; + { + count += 1; + globals->uncaughtExceptions -= 1; + } header->handlerCount = count; - globals->uncaughtExceptions -= 1; if (header != prev) { header->nextException = prev; -- cgit v1.2.1