#ifndef __SPL_DBG_H__ #define __SPL_DBG_H__ typedef struct { const char *fname; int line; int col; const char *dbg_name; // TODO } spl_dbg_node_t; #define SPL_FATAL(dbg, fmt, ...) \ LOG_FATAL("fatal at %s:%zd:%zd " fmt, ((dbg) && (dbg)->fname ? (dbg)->fname : ""), \ ((dbg) ? (dbg)->line : 0), ((dbg) ? (dbg)->col : 0), ##__VA_ARGS__) #define SPL_ERROR(dbg, fmt, ...) \ LOG_ERROR("error at %s:%zd:%zd " fmt, ((dbg) && (dbg)->fname ? (dbg)->fname : ""), \ ((dbg) ? (dbg)->line : 0), ((dbg) ? (dbg)->col : 0), ##__VA_ARGS__) #define SPL_WARN(dbg, fmt, ...) \ LOG_ERROR("warn at %s:%zd:%zd " fmt, ((dbg) && (dbg)->fname ? (dbg)->fname : ""), \ ((dbg) ? (dbg)->line : 0), ((dbg) ? (dbg)->col : 0), ##__VA_ARGS__) #endif /* __SPL_DBG_H__ */