diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8ae7f780dbf5fea190b370a4753e0a3c6f090816..f799f7dc58865dc62665f1d9856fe988c955b2a3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2005-05-19 Richard Henderson <rth@redhat.com> + + * unwind.h, unwind-pe.h: Revert gcc_unreachable change of 05-17. + 2005-05-19 Richard Henderson <rth@redhat.com> * config/i386/sse.md (mulv4si3): Use all register inputs. diff --git a/gcc/unwind-pe.h b/gcc/unwind-pe.h index ce7d6943c0a3734724280efa40f9dd2d10e46c6c..398165749a5fd2e1cb9ca54a5f556f2d922004c3 100644 --- a/gcc/unwind-pe.h +++ b/gcc/unwind-pe.h @@ -34,6 +34,13 @@ #ifndef GCC_UNWIND_PE_H #define GCC_UNWIND_PE_H +/* If using C++, references to abort have to be qualified with std::. */ +#if __cplusplus +#define __gxx_abort std::abort +#else +#define __gxx_abort abort +#endif + /* Pointer encodings, from dwarf2.h. */ #define DW_EH_PE_absptr 0x00 #define DW_EH_PE_omit 0xff @@ -79,9 +86,8 @@ size_of_encoded_value (unsigned char encoding) return 4; case DW_EH_PE_udata8: return 8; - default: - gcc_unreachable (); } + __gxx_abort (); } #endif @@ -112,9 +118,8 @@ base_of_encoded_value (unsigned char encoding, struct _Unwind_Context *context) return _Unwind_GetDataRelBase (context); case DW_EH_PE_funcrel: return _Unwind_GetRegionStart (context); - default: - gcc_unreachable (); } + __gxx_abort (); } #endif @@ -251,7 +256,7 @@ read_encoded_value_with_base (unsigned char encoding, _Unwind_Ptr base, break; default: - gcc_unreachable (); + __gxx_abort (); } if (result != 0) diff --git a/gcc/unwind.h b/gcc/unwind.h index 978b9f09c5e6327db11a10e12f83416ed2042ab5..7244fd457c78280a0e0b6b3817d6d9bd09bc3b16 100644 --- a/gcc/unwind.h +++ b/gcc/unwind.h @@ -214,7 +214,8 @@ _Unwind_GetDataRelBase (struct _Unwind_Context *_C) static inline _Unwind_Ptr _Unwind_GetTextRelBase (struct _Unwind_Context *_C __attribute__ ((__unused__))) { - gcc_unreachable (); + abort (); + return 0; } /* @@@ Retrieve the Backing Store Pointer of the given context. */