Date: Wed, 1 May 2002 12:57:47 -0700 (PDT) From: "David E. O'Brien" <obrien@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/contrib/gcc integrate.c stmt.c Message-ID: <200205011957.g41JvlS60273@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
obrien 2002/05/01 12:57:47 PDT
Modified files: (Branch: RELENG_4)
contrib/gcc integrate.c stmt.c
Log:
1. integrate.c -- If inline function which uses exception handling is being
integrated into a function, which does not itself contain any try/catch
constructs, several global flags values are not set correctly. The
current_function_has_nonlocal_label flags is not getting set in particular.
This allows GCC to allocate registers across function calls. When
exception is thrown in called functions, the exception handler is reached
with global registers (ebx, edi, esi) content clobbered without gcc ever
noticing that.
2. expr.c -- In DWARF2 case stack was getting adjusted at the right time
as a side effect of expand_eh_region_end. sjlj-exceptions do not use
this function so a call is added to do_pending_stack_adjust in its place.
See the FreeBSD PR for code showing these problems.
Note the STLPort test suite and OpenOffice port will now build and work.
PR: 37423
Submitted by: Alexander Kabaev <ak03@gte.com>
FSF GCC PR: c++/6467
Revision Changes Path
1.1.1.3.2.1 +16 -0 src/contrib/gcc/integrate.c
1.1.1.4.2.2 +6 -0 src/contrib/gcc/stmt.c
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200205011957.g41JvlS60273>
