guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: libguile with C++ exceptions


From: Florian Weimer
Subject: Re: libguile with C++ exceptions
Date: 25 Mar 2001 20:21:47 +0200
User-agent: Gnus/5.090001 (Oort Gnus v0.01) Emacs/20.7

Isaac Kar-Keung To <address@hidden> writes:

> Right, but I wonder whether this is the "right" solution.  Frankly I think
> it's not.  The direct cause of the problem is of course that a C compiler
> won't generate the tables required for C++ exception handling.

This is not quite correct. The GNU C Compiler can generate stack
unwinding information, and it's even generated by default on some
architectures lacking a frame pointer (e.g. x86-84).  You might want
to try to compile the Guile libraries using '-fexceptions'.

> This means that upon throwing an exception, the exception handling
> routine will fail to find an exception table and thus must stop
> exception handling, sending itself SIGABRT and dump core.

It's possible to implement exception handling without resorting to
stack unwinding (early Watcom C++ compilers did this, and GNAT still
does on the majority of platforms).  In addition, some stack unwinders
can process stack frames without unwinding information (provided there
is a frame pointer, they advance to the next frame).

I think earlier GNU C++ implementations could cope with non-C++ stack
frames without, but 2.95.x can't. :-(



reply via email to

[Prev in Thread] Current Thread [Next in Thread]