[cxx-abi-dev] Issue with C++ ABI for Itanium: Exception Handling

Jim Dehnert dehnert at transmeta.com
Tue Jul 31 03:45:56 UTC 2001


"Donald B. Larson" wrote:
> 
> Hi:
>       In the "C++ ABI for Itanium: Exception Handling"  Section
> 1.6.2 Personality Routine Actions  states
> "The actions argument to the personality routine is a bitwise OR of one or more of the following constants:
> 
>     typedef int _Unwind_Action;
>     const _Unwind_Action _UA_SEARCH_PHASE = 1;
>     const _Unwind_Action _UA_CLEANUP_PHASE = 2;
>     const _Unwind_Action _UA_HANDLER_FRAME = 4;
>     const _Unwind_Action _UA_FORCE_UNWIND = 8;"
> 
> It is important that the specification note the above constants should be
> file scoped statics (in the event this source is compiled for
> other languages such as standard C.)  For example a C header
> file will need to specify
> static const _Unwind_Action _UA_SEARCH_PHASE = 1;

In general, the C++ ABI is a binary specification, defining binary
formats and APIs (for C++).  Outside of C++, everything is presumed
to be manipulated as required for the requirements of a different
language.  I think it is unnecessary (and could become quite
distracting) to carefully explain what manipulations are required.

Jim

-- 
-	    Jim Dehnert		dehnert at transmeta.com
	    (408)919-6984	dehnertj at acm.org



More information about the cxx-abi-dev mailing list