C++ Exception object layout

Narayanaswamy, Ravi ravi.narayanaswamy at intel.com
Thu Nov 30 18:08:54 UTC 2000


In section 2.2.1 C++ Exception Objects,  the text part says that the unwind
header
structure is followed by the exception object itself, where as the layout
of the structure is just the opposite.  Can someone tell me which is the
correct
one.
Below is part of the section.
Thanks
Ravi
Intel Corporation.

2.2.1 C++ Exception Objects 
A C++ exception object consists of a header, which is a wrapper around an
unwind object header with additional C++ specific information, followed by
the exception object itself. The structure of the header is as follows: 

  struct __cxa_exception { 
	std::type_info *	exceptionType;
	void (*exceptionDestructor) (void *); 
	unexpected_handler	unexpectedHandler;
	terminate_handler	terminateHandler;
	__cxa_exception *	nextException;

	int			handlerCount;
	int			handlerSwitchValue;
	const char *		actionRecord;
	const char *		languageSpecificData;
	void *			catchTemp;
	void *			adjustedPtr;

	_Unwind_Exception	unwindHeader;
   };





More information about the cxx-abi-dev mailing list