VM: make the debug output a little prettier
parent
51daaf6be4
commit
94eb855903
13
vm/debug.hpp
13
vm/debug.hpp
|
@ -2,15 +2,20 @@ namespace factor {
|
|||
|
||||
extern bool factor_print_p;
|
||||
|
||||
}
|
||||
|
||||
#ifdef FACTOR_DEBUG
|
||||
|
||||
/* To chop the directory path of the __FILE__ macro. */
|
||||
inline const char* abbrev_path(const char* path) {
|
||||
const char* p1 = strrchr(path, '\\');
|
||||
const char* p2 = strrchr(path, '/');
|
||||
return (p1 > p2 ? p1 : p2) + 1;
|
||||
}
|
||||
|
||||
#define FACTOR_PRINT(x) \
|
||||
do { \
|
||||
if (factor_print_p) { \
|
||||
std::cerr \
|
||||
<< std::setw(28) << std::left << __FILE__ \
|
||||
<< std::setw(16) << std::left << abbrev_path(__FILE__) \
|
||||
<< " " << std::setw(4) << std::right << __LINE__ \
|
||||
<< " " << std::setw(20) << std::left << __FUNCTION__ \
|
||||
<< " " << x \
|
||||
|
@ -23,3 +28,5 @@ extern bool factor_print_p;
|
|||
#define FACTOR_PRINT(fmt, ...) ((void)0)
|
||||
#define FACTOR_PRINT_MARK ((void)0)
|
||||
#endif
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue