X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Finclude%2Flogdebug.h;h=39bdba388b5bab053a92f9bd76e5c8c489d73093;hb=31bf9d6faae9630f2de1244fc4317fc91db8bc07;hp=987a6a895e9eb60994ece99c7e0d12ac67b3d727;hpb=8a854ac508a279317fc5f4d898134d83faad8b3f;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/include/logdebug.h b/KernelLand/Kernel/include/logdebug.h index 987a6a89..39bdba38 100644 --- a/KernelLand/Kernel/include/logdebug.h +++ b/KernelLand/Kernel/include/logdebug.h @@ -38,7 +38,7 @@ extern void Log_Debug(const char *Ident, const char *Message, ...); extern void Debug_KernelPanic(void); //!< Initiate a kernel panic extern void Panic(const char *Msg, ...) NORETURN; //!< Print a panic message (initiates a kernel panic) extern void Warning(const char *Msg, ...); //!< Print a warning message -extern void LogF(const char *Fmt, ...); //!< Print a log message without a trailing newline +extern bool LogF(const char *Fmt, ...); //!< Print a log message without a trailing newline extern void LogFV(const char *Fmt, va_list Args); //!< va_list non-newline log message extern void Log(const char *Fmt, ...); //!< Print a log message extern void Debug(const char *Fmt, ...); //!< Print a debug message (doesn't go to KTerm) @@ -49,6 +49,7 @@ extern void Debug_Leave(const char *FuncName, char RetType, ...); extern void Debug_HexDump(const char *Header, const void *Data, size_t Length); #define UNIMPLEMENTED() Warning("'%s' unimplemented", __func__) +#define TODO(fmt, ...) Panic("TODO: ", fmt ,## __VA_ARGS__) #if DEBUG # define ENTER(_types...) Debug_Enter((char*)__func__, _types) # define LOG(_fmt...) Debug_Log((char*)__func__, _fmt) @@ -64,7 +65,7 @@ extern void Debug_HexDump(const char *Header, const void *Data, size_t Length); #endif #if !DISABLE_ASSERTS # define ASSERTV(expr,msg,args...) do{if(!(expr))Panic("%s:%i - %s: Assertion '"#expr"' failed"msg,__FILE__,__LINE__,(char*)__func__,##args);}while(0) -# define ASSERTRV(expr,rv,msg,args...) do{if(!(expr)){Warning("%s:%i: Assertion '"#expr"' failed"msg,__FILE__,__LINE__,(char*)__func__ , ##args);return rv;}}while(0) +# define ASSERTRV(expr,rv,msg,args...) do{if(!(expr)){Warning("%s:%i - %s: Assertion '"#expr"' failed"msg,__FILE__,__LINE__,(char*)__func__ , ##args);return rv;}}while(0) #else # define ASSERTV(expr) # define ASSERTRV(expr) @@ -72,8 +73,8 @@ extern void Debug_HexDump(const char *Header, const void *Data, size_t Length); #define assert(expr) ASSERTV(expr, "") #define ASSERT(expr) ASSERTV(expr, "") #define ASSERTR(expr,rv) ASSERTRV(expr, rv, "") -#define ASSERTC(l,rel,r) ASSERTV(l rel r, ": 0x%x"#rel"0x%x", l, r) -#define ASSERTCR(l,rel,r,rv) ASSERTRV(l rel r, rv, ": 0x%x"#rel"0x%x", l, r) +#define ASSERTC(l,rel,r) ASSERTV ((l) rel (r), ": 0x%x"#rel"0x%x", l, r) +#define ASSERTCR(l,rel,r,rv) ASSERTRV((l) rel (r), rv, ": 0x%x"#rel"0x%x", l, r) /** * \} */