uint64_t &landingpad, int64_t &switch_value)
{
uint64_t ip = _Unwind_GetIP(context) - _Unwind_GetRegionStart(context);
- _SysDebug("IP = 0x%llx + 0x%llx", _Unwind_GetRegionStart(context), ip);
+ _SysDebug("get_frame_action: IP = 0x%llx + 0x%llx", _Unwind_GetRegionStart(context), ip);
// Check if there is a handler for this exception in this frame
// - Search call site table for this return address (corresponds to a try block)
uintptr_t cs_ldgpad;
{
leb128s_t filter = _read_leb128s(action_list);
leb128s_t disp = _read_leb128s(action_list);
- _SysDebug("filter=%lli,disp=%lli", filter, disp);
if( filter == 0 )
{
// Cleanup
assert( ptr > header.ActionTable );
uintptr_t type_ptr = _read_encoded(ptr, NULL, header.TTEncoding, header.TypePtrBase);
- _SysDebug("typeinfo_ptr = %p", type_ptr);
return reinterpret_cast< ::std::type_info* >(type_ptr);
}
bool exception_matches_list(const std::type_info *throw_type, const struct sLSDA_Header &header, int list_index)
{
_SysDebug("TODO: exception_matches_list %i", list_index);
+ abort();
(void)throw_type;
(void)header;
return true;
m_error_code(ec),
m_what_str( (::std::string)ec.category().name() + ":" + ec.message())
{
+ ::_sys::debug("system_error(%s:%s)", ec.category().name(), ec.message().c_str());
}
system_error::system_error(::std::error_code ec, const ::std::string& what_arg):
- m_error_code(ec)
+ system_error(ec)
{
m_what_str += " - ";
m_what_str += what_arg;
}
system_error::system_error(::std::error_code ec, const char* what_arg):
- m_error_code(ec)
+ system_error(ec)
{
m_what_str += " - ";
m_what_str += what_arg;
}
system_error::system_error(int ev, const ::std::error_category& ecat):
- m_error_code(ev, ecat)
+ system_error( ::std::error_code(ev, ecat) )
{
}
system_error::system_error(int ev, const ::std::error_category& ecat, const ::std::string& what_arg):
- m_error_code(ev, ecat)
+ system_error(ev, ecat)
{
m_what_str += " - ";
m_what_str += what_arg;
}
system_error::system_error(int ev, const ::std::error_category& ecat, const char* what_arg):
- m_error_code(ev, ecat)
+ system_error(ev, ecat)
{
m_what_str += " - ";
m_what_str += what_arg;