Go to the documentation of this file. 60 #if !defined(arraySize) 61 #define arraySize(a) (sizeof((a))/sizeof((a[0]))) 64 #if !defined(NO_BLOAT) 65 #if defined(__BASE_FILE__) 66 #define _FILE_NAME_ __BASE_FILE__ 68 #define _FILE_NAME_ __FILE__ 71 #define _FILE_NAME_ "" 74 #if !defined(INVALID_CASE) 75 #define INVALID_CASE(c) printf("Invalid Case %d, %s:%d",(c),__BASE_FILE__,__LINE__) 79 #define UNUSED(var) (void)(var) 84 #define _CAT(a, b) a ## b 86 #define CAT(a, b) _CAT(a, b) 89 #if !defined(FREEZE_STR) 90 # define FREEZE_STR(s) #s 93 #if !defined(STRINGIFY) 94 #define STRINGIFY(s) FREEZE_STR(s) 97 #if !defined(CCASSERT) 98 #if defined(static_assert) 99 # define CCASSERT(predicate) static_assert(predicate, STRINGIFY(predicate)) 101 # define CCASSERT(predicate) _x_CCASSERT_LINE(predicate, __LINE__) 102 # if !defined(_x_CCASSERT_LINE) 103 # define _x_CCASSERT_LINE(predicate, line) typedef char CAT(constraint_violated_on_line_,line)[2*((predicate)!=0)-1] __attribute__ ((unused)) ; 108 #if !defined(DO_PRAGMA) 109 # define DO_PRAGMA(x) _Pragma (#x) 113 # define TODO(x) DO_PRAGMA(message ("TODO - " #x))