This is output from `defines' version 4.1.1, from your buddies at Newtware! Fri May 22 21:50:44 UTC 2015 HP-UX hpr3 B.11.31 U ia64 1672061778 unlimited-user license cc = [cc] "/tmp/def13293.c", line 188101: error #2969: the identifier __VA_ARGS__ can only appear in the replacement lists of variadic macros #ifdef __VA_ARGS__ ^ 1 error detected in the compilation of "/tmp/def13293.c". _BIG_ENDIAN = 1 _BIND_LIBCALLS = 1 _DEC_EVAL_METHOD = 0 _FLT_EVAL_METHOD = 0 _HPUX_SOURCE = 1 _ILP32 = 1 _INCLUDE_LONGLONG = 1 _INLINE_ASM = 1 _Math_errhandling = MATH_ERREXCEPT __BASE_FILE__ = "/tmp/def13293.c" __DATE__ = "May 22 2015" __EDG_VERSION__ = 310 __EDG__ = 1 __FILE__ = "/tmp/def13293.c" __HP_cc = 62000 __LINE__ = 187865 __SIGNED_CHARS__ = 1 __STDC_DEC_FP__ = 200704L __STDC_EXT__ = 1 __STDC_VERSION__ = 199012L __STDC__ = 1 __TIMESTAMP__ = "Fri May 22 21:50:51 2015" __TIME__ = "21:50:51" __hpux = 1 __ia64 = 1 __ia64__ = 1 __unix = 1 Checking other possibilities; should already be listed above: __DATE__ = "May 22 2015" __FILE__ = "/tmp/def13293.c" __LINE__ = 25 __STDC__ = 1 __TIME__ = "21:50:52" Sizes of basic variable types: sizeof(char) = 8 bits sizeof(short) = 16 bits sizeof(int) = 32 bits sizeof(long) = 32 bits sizeof(float) = 32 bits sizeof(double) = 64 bits sizeof(long double) = 128 bits sizeof(char *) = 32 bits sizeof(char (*)(char)) = 32 bits