]> mj.ucw.cz Git - libucw.git/blobdiff - lib/lib.h
The $(LIBxxx) mechanism proved useful, so I'm switching to it for all other
[libucw.git] / lib / lib.h
index ad19f505f38ea191ac9e34406b66d7d8db63d368..c1709ea21a32b05c8d453b89a6946d6dc2906450 100644 (file)
--- a/lib/lib.h
+++ b/lib/lib.h
 
 void log(unsigned int cat, const char *msg, ...) __attribute__((format(printf,2,3)));
 void die(byte *, ...) NONRET;
-void assert_failed(char *assertion, char *file, int line) NONRET;
 void log_init(byte *);
 void log_file(byte *);
 void log_fork(void);
 
 #ifdef DEBUG
+void assert_failed(char *assertion, char *file, int line) NONRET;
 #define ASSERT(x) do { if (!(x)) assert_failed(#x, __FILE__, __LINE__); } while(0)
 #else
-#define ASSERT(x) do { } while(0)
+void assert_failed(void) NONRET;
+#define ASSERT(x) do { if (__builtin_constant_p(x) && !(x)) assert_failed(); } while(0)
 #endif
 
 #ifdef LOCAL_DEBUG