mirror of git://gcc.gnu.org/git/gcc.git
eh_globals.cc (__cxxabiv1::__cxa_get_globals): Initialize propagatingExceptions if __ARM_EABI_UNWINDER__.
* libsupc++/eh_globals.cc (__cxxabiv1::__cxa_get_globals): Initialize propagatingExceptions if __ARM_EABI_UNWINDER__. * libsupc++/eh_personality.cc (empty_exception_spec): Define separately in __ARM_EABI_UNWINDER__ case. From-SVN: r118757
This commit is contained in:
parent
b54c93b7b8
commit
46fb6400ee
|
@ -1,3 +1,10 @@
|
||||||
|
2006-11-13 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
|
* libsupc++/eh_globals.cc (__cxxabiv1::__cxa_get_globals):
|
||||||
|
Initialize propagatingExceptions if __ARM_EABI_UNWINDER__.
|
||||||
|
* libsupc++/eh_personality.cc (empty_exception_spec): Define
|
||||||
|
separately in __ARM_EABI_UNWINDER__ case.
|
||||||
|
|
||||||
2006-11-13 Joseph Myers <joseph@codesourcery.com>
|
2006-11-13 Joseph Myers <joseph@codesourcery.com>
|
||||||
|
|
||||||
* libsupc++/typeinfo (__GXX_TYPEINFO_EQUALITY_INLINE): Define.
|
* libsupc++/typeinfo (__GXX_TYPEINFO_EQUALITY_INLINE): Define.
|
||||||
|
|
|
@ -140,6 +140,9 @@ __cxxabiv1::__cxa_get_globals() throw()
|
||||||
g = static_cast<__cxa_eh_globals*>(v);
|
g = static_cast<__cxa_eh_globals*>(v);
|
||||||
g->caughtExceptions = 0;
|
g->caughtExceptions = 0;
|
||||||
g->uncaughtExceptions = 0;
|
g->uncaughtExceptions = 0;
|
||||||
|
#ifdef __ARM_EABI_UNWINDER__
|
||||||
|
g->propagatingExceptions = 0;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -192,6 +192,17 @@ restore_caught_exception(struct _Unwind_Exception* ue_header,
|
||||||
} \
|
} \
|
||||||
while (0)
|
while (0)
|
||||||
|
|
||||||
|
// Return true if the filter spec is empty, ie throw().
|
||||||
|
|
||||||
|
static bool
|
||||||
|
empty_exception_spec (lsda_header_info *info, _Unwind_Sword filter_value)
|
||||||
|
{
|
||||||
|
const _Unwind_Word* e = ((const _Unwind_Word*) info->TType)
|
||||||
|
- filter_value - 1;
|
||||||
|
|
||||||
|
return *e == 0;
|
||||||
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
typedef const std::type_info _throw_typet;
|
typedef const std::type_info _throw_typet;
|
||||||
|
|
||||||
|
@ -312,8 +323,6 @@ restore_caught_exception(struct _Unwind_Exception* ue_header,
|
||||||
|
|
||||||
#define CONTINUE_UNWINDING return _URC_CONTINUE_UNWIND
|
#define CONTINUE_UNWINDING return _URC_CONTINUE_UNWIND
|
||||||
|
|
||||||
#endif // !__ARM_EABI_UNWINDER__
|
|
||||||
|
|
||||||
// Return true if the filter spec is empty, ie throw().
|
// Return true if the filter spec is empty, ie throw().
|
||||||
|
|
||||||
static bool
|
static bool
|
||||||
|
@ -326,6 +335,8 @@ empty_exception_spec (lsda_header_info *info, _Unwind_Sword filter_value)
|
||||||
return tmp == 0;
|
return tmp == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif // !__ARM_EABI_UNWINDER__
|
||||||
|
|
||||||
namespace __cxxabiv1
|
namespace __cxxabiv1
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue