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;
|
extern bool factor_print_p;
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef FACTOR_DEBUG
|
#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) \
|
#define FACTOR_PRINT(x) \
|
||||||
do { \
|
do { \
|
||||||
if (factor_print_p) { \
|
if (factor_print_p) { \
|
||||||
std::cerr \
|
std::cerr \
|
||||||
<< std::setw(28) << std::left << __FILE__ \
|
<< std::setw(16) << std::left << abbrev_path(__FILE__) \
|
||||||
<< " " << std::setw(4) << std::right << __LINE__ \
|
<< " " << std::setw(4) << std::right << __LINE__ \
|
||||||
<< " " << std::setw(20) << std::left << __FUNCTION__ \
|
<< " " << std::setw(20) << std::left << __FUNCTION__ \
|
||||||
<< " " << x \
|
<< " " << x \
|
||||||
|
@ -23,3 +28,5 @@ extern bool factor_print_p;
|
||||||
#define FACTOR_PRINT(fmt, ...) ((void)0)
|
#define FACTOR_PRINT(fmt, ...) ((void)0)
|
||||||
#define FACTOR_PRINT_MARK ((void)0)
|
#define FACTOR_PRINT_MARK ((void)0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue