This is the mail archive of the archer@sourceware.org mailing list for the Archer project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: C++ Exceptions Status


Phil Muldoon <pmuldoon@redhat.com> writes:

> The issue that I am currently wrestling with is how specific is this
> unwind and exception work to C++? Are Java and Python exceptions
> handled in the same way? And how can we avoid language specific
> semantics in very general commands like "next"? Can we?

The system you described is specific to systems that follow the
Itanium C++ ABI (http://www.codesourcery.com/public/cxx-abi/).  gcc
follows that ABI on most systems, not just Itanium systems.

On some systems gcc uses an exception handling system based on setjmp
and longjmp.  This will be used if you configure gcc with
--enable-sjlj-exceptions.  That is the default on HP/UX 10 and for
older ARM targets.

Microsoft Windows uses a different system which gcc does not currently
support, known as SEH.

When compiling with gcc to native code, Java exceptions are handled
the same way as C++ exceptions.  When compiling to Java bytecode,
exceptions are presumably handled within the JVM.  Most JVMs have
various debugging hooks, but I don't know much about it.

Python is not normally compiled to native code, and exceptions are
handled within the Python interpreter.  I don't know much about that
either.

Ian


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]