X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=common.h;h=9794a92e8e8ea33a494b2772869b5171afa1bbe8;hb=08b08df583f48064ec920b56162526f38b1db481;hp=79f42ebd44e99a05817e751b904bab3d101aae67;hpb=60e0a49ba320b32b9cc0d2f8d73c8d95c92fc0ba;p=cdsspec-compiler.git diff --git a/common.h b/common.h index 79f42eb..9794a92 100644 --- a/common.h +++ b/common.h @@ -1,16 +1,29 @@ -#ifndef __CONFIG_H__ -#define __CONFIG_H__ +/** @file common.h + * @brief General purpose macros. + */ -#include +#ifndef __COMMON_H__ +#define __COMMON_H__ -//#define CONFIG_DEBUG +#include +#include "config.h" #ifdef CONFIG_DEBUG #define DEBUG(fmt, ...) do { printf("*** %25s(): line %-4d *** " fmt, __func__, __LINE__, ##__VA_ARGS__); } while (0) #define DBG() DEBUG("\n"); +#define DBG_ENABLED() (1) #else #define DEBUG(fmt, ...) #define DBG() +#define DBG_ENABLED() (0) #endif -#endif /* __CONFIG_H__ */ +#define ASSERT(expr) \ +do { \ + if (!(expr)) { \ + fprintf(stderr, "Error: assertion failed in %s at line %d\n", __FILE__, __LINE__); \ + exit(EXIT_FAILURE); \ + } \ +} while (0); + +#endif /* __COMMON_H__ */