/* Exception handling and frame unwind runtime interface routines.
- Copyright (C) 2001 Free Software Foundation, Inc.
+ Copyright (C) 2001, 2002 Free Software Foundation, Inc.
This file is part of GCC.
compatibility problems with the base ABI. This is slightly better
than duplicating code, however. */
-/* If using C++, references to abort have to be qualified with std::. */
+/* If using C++, references to abort have to be qualified with std::. */
#if __cplusplus
#define __gxx_abort std::abort
#else
} __attribute__((__packed__));
union unaligned *u = (union unaligned *) p;
- _Unwind_Ptr result;
+ _Unwind_Internal_Ptr result;
if (encoding == DW_EH_PE_aligned)
{
- _Unwind_Ptr a = (_Unwind_Ptr)p;
+ _Unwind_Internal_Ptr a = (_Unwind_Internal_Ptr) p;
a = (a + sizeof (void *) - 1) & - sizeof(void *);
- result = *(_Unwind_Ptr *) a;
- p = (const unsigned char *)(a + sizeof (void *));
+ result = *(_Unwind_Internal_Ptr *) a;
+ p = (const unsigned char *) (a + sizeof (void *));
}
else
{
switch (encoding & 0x0f)
{
case DW_EH_PE_absptr:
- result = (_Unwind_Ptr) u->ptr;
+ result = (_Unwind_Internal_Ptr) u->ptr;
p += sizeof (void *);
break;
{
_Unwind_Word tmp;
p = read_uleb128 (p, &tmp);
- result = (_Unwind_Ptr)tmp;
+ result = (_Unwind_Internal_Ptr) tmp;
}
break;
{
_Unwind_Sword tmp;
p = read_sleb128 (p, &tmp);
- result = (_Unwind_Ptr)tmp;
+ result = (_Unwind_Internal_Ptr) tmp;
}
break;
if (result != 0)
{
result += ((encoding & 0x70) == DW_EH_PE_pcrel
- ? (_Unwind_Ptr)u : base);
+ ? (_Unwind_Internal_Ptr) u : base);
if (encoding & DW_EH_PE_indirect)
- result = *(_Unwind_Ptr *)result;
+ result = *(_Unwind_Internal_Ptr *) result;
}
}