had to give up on [[noreturn]]

This commit is contained in:
dbj 2019-11-13 11:19:06 +01:00 committed by GitHub
parent 84ff17dfa6
commit e080c467ea
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -72,23 +72,21 @@
#endif
FMT_BEGIN_NAMESPACE
// terror == terminating error
[[noreturn]] inline void terror(const char msg_[BUFSIZ]) {
//
[[noreturn]] inline void fail_fast(const char msg_[BUFSIZ]) {
::puts("\n\n\nFast exit on {fmt} error with message: ");
::puts(msg_);
::perror("\nPOSIX error message: ");
std::exit(EXIT_FAILURE);
}
namespace internal {
template <typename Exception>
#ifndef FMT_EXCEPTIONS
[[noreturn]]
#endif
inline void do_throw(const Exception& x) {
template <typename Exception>
inline void do_throw(const Exception& x) {
#if FMT_EXCEPTIONS
throw x;
volatile bool b = true ;
if (b) throw x;
#else
terror(x.what());
fail_fast(x.what());
#endif
}
} // namespace internal