llvm/flang/lib/parser/idioms.cc

24 lines
488 B
C++
Raw Normal View History

#include "idioms.h"
#include <cstdarg>
#include <cstdio>
#include <cstdlib>
namespace Fortran {
namespace parser {
[[noreturn]] void die(const char *msg, ...) {
va_list ap;
va_start(ap, msg);
std::fputs("\nfatal internal error: ", stderr);
std::vfprintf(stderr, msg, ap);
va_end(ap);
fputc('\n', stderr);
std::abort();
}
std::ostream &operator<<(std::ostream &o, const std::monostate &) {
return o << "(empty variant)";
}
} // namespace parser
} // namespace Fortran