mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-04-12 20:48:17 +00:00
Update links to "Itanium C++ ABI: Exception Handling" document
llvm-svn: 172356
This commit is contained in:
parent
26eae94ea6
commit
cf73a60f87
@ -41,7 +41,7 @@
|
|||||||
// Cases -1 and 7 are caught by a C++ test harness where the validity of
|
// Cases -1 and 7 are caught by a C++ test harness where the validity of
|
||||||
// of a C++ catch(...) clause catching a generated exception with a
|
// of a C++ catch(...) clause catching a generated exception with a
|
||||||
// type info type of 7 is explained by: example in rules 1.6.4 in
|
// type info type of 7 is explained by: example in rules 1.6.4 in
|
||||||
// http://sourcery.mentor.com/public/cxx-abi/abi-eh.html (v1.22)
|
// http://mentorembedded.github.com/cxx-abi/abi-eh.html (v1.22)
|
||||||
//
|
//
|
||||||
// This code uses code from the llvm compiler-rt project and the llvm
|
// This code uses code from the llvm compiler-rt project and the llvm
|
||||||
// Kaleidoscope project.
|
// Kaleidoscope project.
|
||||||
@ -82,7 +82,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
// System C++ ABI unwind types from:
|
// System C++ ABI unwind types from:
|
||||||
// http://sourcery.mentor.com/public/cxx-abi/abi-eh.html (v1.22)
|
// http://mentorembedded.github.com/cxx-abi/abi-eh.html (v1.22)
|
||||||
|
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
||||||
@ -151,7 +151,7 @@ struct OurExceptionType_t {
|
|||||||
///
|
///
|
||||||
/// Note: The above unwind.h defines struct _Unwind_Exception to be aligned
|
/// Note: The above unwind.h defines struct _Unwind_Exception to be aligned
|
||||||
/// on a double word boundary. This is necessary to match the standard:
|
/// on a double word boundary. This is necessary to match the standard:
|
||||||
/// http://refspecs.freestandards.org/abi-eh-1.21.html
|
/// http://mentorembedded.github.com/cxx-abi/abi-eh.html
|
||||||
struct OurBaseException_t {
|
struct OurBaseException_t {
|
||||||
struct OurExceptionType_t type;
|
struct OurExceptionType_t type;
|
||||||
|
|
||||||
@ -339,7 +339,7 @@ void deleteOurException(OurUnwindException *expToDelete) {
|
|||||||
/// This function is the struct _Unwind_Exception API mandated delete function
|
/// This function is the struct _Unwind_Exception API mandated delete function
|
||||||
/// used by foreign exception handlers when deleting our exception
|
/// used by foreign exception handlers when deleting our exception
|
||||||
/// (OurException), instances.
|
/// (OurException), instances.
|
||||||
/// @param reason @link http://refspecs.freestandards.org/abi-eh-1.21.html
|
/// @param reason @link http://mentorembedded.github.com/cxx-abi/abi-eh.html
|
||||||
/// @unlink
|
/// @unlink
|
||||||
/// @param expToDelete exception instance to delete
|
/// @param expToDelete exception instance to delete
|
||||||
void deleteFromUnwindOurException(_Unwind_Reason_Code reason,
|
void deleteFromUnwindOurException(_Unwind_Reason_Code reason,
|
||||||
@ -512,7 +512,7 @@ static uintptr_t readEncodedPointer(const uint8_t **data, uint8_t encoding) {
|
|||||||
/// are supported. Filters are not supported.
|
/// are supported. Filters are not supported.
|
||||||
/// See Variable Length Data in:
|
/// See Variable Length Data in:
|
||||||
/// @link http://dwarfstd.org/Dwarf3.pdf @unlink
|
/// @link http://dwarfstd.org/Dwarf3.pdf @unlink
|
||||||
/// Also see @link http://refspecs.freestandards.org/abi-eh-1.21.html @unlink
|
/// Also see @link http://mentorembedded.github.com/cxx-abi/abi-eh.html @unlink
|
||||||
/// @param resultAction reference variable which will be set with result
|
/// @param resultAction reference variable which will be set with result
|
||||||
/// @param classInfo our array of type info pointers (to globals)
|
/// @param classInfo our array of type info pointers (to globals)
|
||||||
/// @param actionEntry index into above type info array or 0 (clean up).
|
/// @param actionEntry index into above type info array or 0 (clean up).
|
||||||
@ -599,7 +599,7 @@ static bool handleActionValue(int64_t *resultAction,
|
|||||||
|
|
||||||
|
|
||||||
/// Deals with the Language specific data portion of the emitted dwarf code.
|
/// Deals with the Language specific data portion of the emitted dwarf code.
|
||||||
/// See @link http://refspecs.freestandards.org/abi-eh-1.21.html @unlink
|
/// See @link http://mentorembedded.github.com/cxx-abi/abi-eh.html @unlink
|
||||||
/// @param version unsupported (ignored), unwind version
|
/// @param version unsupported (ignored), unwind version
|
||||||
/// @param lsda language specific data area
|
/// @param lsda language specific data area
|
||||||
/// @param _Unwind_Action actions minimally supported unwind stage
|
/// @param _Unwind_Action actions minimally supported unwind stage
|
||||||
@ -783,7 +783,7 @@ static _Unwind_Reason_Code handleLsda(int version,
|
|||||||
|
|
||||||
/// This is the personality function which is embedded (dwarf emitted), in the
|
/// This is the personality function which is embedded (dwarf emitted), in the
|
||||||
/// dwarf unwind info block. Again see: JITDwarfEmitter.cpp.
|
/// dwarf unwind info block. Again see: JITDwarfEmitter.cpp.
|
||||||
/// See @link http://refspecs.freestandards.org/abi-eh-1.21.html @unlink
|
/// See @link http://mentorembedded.github.com/cxx-abi/abi-eh.html @unlink
|
||||||
/// @param version unsupported (ignored), unwind version
|
/// @param version unsupported (ignored), unwind version
|
||||||
/// @param _Unwind_Action actions minimally supported unwind stage
|
/// @param _Unwind_Action actions minimally supported unwind stage
|
||||||
/// (forced specifically not supported)
|
/// (forced specifically not supported)
|
||||||
@ -831,7 +831,7 @@ _Unwind_Reason_Code ourPersonality(int version,
|
|||||||
/// Generates our _Unwind_Exception class from a given character array.
|
/// Generates our _Unwind_Exception class from a given character array.
|
||||||
/// thereby handling arbitrary lengths (not in standard), and handling
|
/// thereby handling arbitrary lengths (not in standard), and handling
|
||||||
/// embedded \0s.
|
/// embedded \0s.
|
||||||
/// See @link http://refspecs.freestandards.org/abi-eh-1.21.html @unlink
|
/// See @link http://mentorembedded.github.com/cxx-abi/abi-eh.html @unlink
|
||||||
/// @param classChars char array to encode. NULL values not checkedf
|
/// @param classChars char array to encode. NULL values not checkedf
|
||||||
/// @param classCharsSize number of chars in classChars. Value is not checked.
|
/// @param classCharsSize number of chars in classChars. Value is not checked.
|
||||||
/// @returns class value
|
/// @returns class value
|
||||||
@ -1592,7 +1592,7 @@ void runExceptionThrow(llvm::ExecutionEngine *engine,
|
|||||||
catch (...) {
|
catch (...) {
|
||||||
// Catch all exceptions including our generated ones. This latter
|
// Catch all exceptions including our generated ones. This latter
|
||||||
// functionality works according to the example in rules 1.6.4 of
|
// functionality works according to the example in rules 1.6.4 of
|
||||||
// http://sourcery.mentor.com/public/cxx-abi/abi-eh.html (v1.22),
|
// http://mentorembedded.github.com/cxx-abi/abi-eh.html (v1.22),
|
||||||
// given that these will be exceptions foreign to C++
|
// given that these will be exceptions foreign to C++
|
||||||
// (the _Unwind_Exception::exception_class should be different from
|
// (the _Unwind_Exception::exception_class should be different from
|
||||||
// the one used by C++).
|
// the one used by C++).
|
||||||
|
Loading…
x
Reference in New Issue
Block a user