Bug 1349064 - Wrap std::regex_error for GCC. - r=glandium

MozReview-Commit-ID: Ik2nIVmtYEJ
This commit is contained in:
Jeff Gilbert 2017-03-23 21:20:21 -07:00
Родитель 4fbb95ac43
Коммит ca719866b7
1 изменённых файлов: 12 добавлений и 0 удалений

Просмотреть файл

@ -32,6 +32,9 @@
# define MOZ_THROW_NORETURN MOZ_NORETURN
#endif
// Handle `_GLIBCXX_THROW_OR_ABORT(regex_error(__ecode, __what));` et al.
#define _GLIBCXX_THROW_OR_ABORT(_EXC) mozalloc_abort( (_EXC).what() )
namespace std {
// NB: user code is not supposed to touch the std:: namespace. We're
@ -138,6 +141,15 @@ __throw_system_error(int err)
mozalloc_abort(error);
}
MOZ_THROW_NORETURN MOZ_EXPORT MOZ_ALWAYS_INLINE void
__throw_regex_error(int __ecode)
{
char error[128];
snprintf(error, sizeof(error)-1,
"fatal: STL threw regex_error(%d)", __ecode);
mozalloc_abort(error);
}
} // namespace std
#undef MOZ_THROW_NORETURN