.

gcc predefined macros

on Apple mac os 8/8/21

Generated using
> touch foo.h
> cpp -dM foo.hA
These macros (symbols) have a __Prefix and Suffix__
They have been removed for better display here.

gcc docs

Do not use these macros directly; instead, include the appropriate headers and use the typedefs.

CHAR16_TYPE   unsigned short
CHAR32_TYPE   unsigned int
CHAR_BIT   8

INT8_C_SUFFIX   
INT8_FMTd     "hhd"
INT8_FMTi     "hhi"
INT8_MAX      127
INT8_TYPE     signed char

UINT8_C_SUFFIX   
UINT8_FMTX   "hhX"
UINT8_FMTo   "hho"
UINT8_FMTu   "hhu"
UINT8_FMTx   "hhx"
UINT8_MAX    255
UINT8_TYPE   unsigned char

INT_FAST8_FMTd   "hhd"
INT_FAST8_FMTi   "hhi"
INT_FAST8_MAX   127
INT_FAST8_TYPE   signed char
UINT_FAST8_FMTX   "hhX"
UINT_FAST8_FMTo   "hho"
UINT_FAST8_FMTu   "hhu"
UINT_FAST8_FMTx   "hhx"
UINT_FAST8_MAX   255
UINT_FAST8_TYPE   unsigned char

INT_LEAST8_FMTd   "hhd"
INT_LEAST8_FMTi   "hhi"
INT_LEAST8_MAX   127
INT_LEAST8_TYPE   signed char
UINT_LEAST8_FMTX   "hhX"
UINT_LEAST8_FMTo   "hho"
UINT_LEAST8_FMTu   "hhu"
UINT_LEAST8_FMTx   "hhx"
UINT_LEAST8_MAX   255
UINT_LEAST8_TYPE   unsigned char

INT16_C_SUFFIX   
INT16_FMTd   "hd"
INT16_FMTi   "hi"
INT16_MAX   32767
INT16_TYPE   short 

UINT16_C_SUFFIX   
UINT16_FMTX   "hX"
UINT16_FMTo   "ho"
UINT16_FMTu   "hu"
UINT16_FMTx   "hx"
UINT16_MAX   65535
UINT16_TYPE   unsigned short

INT_FAST16_FMTd   "hd"
INT_FAST16_FMTi   "hi"
INT_FAST16_MAX   32767
INT_FAST16_TYPE   short
UINT_FAST16_FMTX   "hX"
UINT_FAST16_FMTo   "ho"
UINT_FAST16_FMTu   "hu"
UINT_FAST16_FMTx   "hx"
UINT_FAST16_MAX   65535
UINT_FAST16_TYPE   unsigned short

INT_LEAST16_FMTd   "hd"
INT_LEAST16_FMTi   "hi"
INT_LEAST16_MAX   32767
INT_LEAST16_TYPE   short
UINT_LEAST16_FMTX   "hX"
UINT_LEAST16_FMTo   "ho"
UINT_LEAST16_FMTu   "hu"
UINT_LEAST16_FMTx   "hx"
UINT_LEAST16_MAX   65535
UINT_LEAST16_TYPE   unsigned short

INT32_C_SUFFIX   
INT32_FMTd   "d"
INT32_FMTi   "i"
INT32_MAX   2147483647
INT_MAX   2147483647
INT32_TYPE   int
WCHAR_MAX   2147483647
WCHAR_TYPE   int
WCHAR_WIDTH  32 
WINT_MAX     2147483647
WINT_TYPE    int
WINT_WIDTH   32

UINT32_C_SUFFIX   U
UINT32_FMTX   "X"
UINT32_FMTo   "o"
UINT32_FMTu   "u"
UINT32_FMTx   "x"
UINT32_MAX   4294967295U
UINT32_TYPE   unsigned int

INT_FAST32_FMTd   "d"
INT_FAST32_FMTi   "i"
INT_FAST32_MAX   2147483647
INT_FAST32_TYPE   int
UINT_FAST32_FMTX   "X"
UINT_FAST32_FMTo   "o"
UINT_FAST32_FMTu   "u"
UINT_FAST32_FMTx   "x"
UINT_FAST32_MAX   4294967295U
UINT_FAST32_TYPE   unsigned int

INT_LEAST32_FMTd   "d"
INT_LEAST32_FMTi   "i"
INT_LEAST32_MAX   2147483647
INT_LEAST32_TYPE   int 
UINT_LEAST32_FMTX   "X"
UINT_LEAST32_FMTo   "o"
UINT_LEAST32_FMTu   "u"
UINT_LEAST32_FMTx   "x"
UINT_LEAST32_MAX   4294967295U
UINT_LEAST32_TYPE   unsigned int

INT64_C_SUFFIX  LL
INT64_FMTd      "lld"
INT64_FMTi      "lli"
INT64_MAX      9223372036854775807LL
INT64_TYPE   long long int
UINT64_C_SUFFIX   ULL
UINT64_FMTX   "llX"
UINT64_FMTo   "llo"
UINT64_FMTu   "llu"
UINT64_FMTx   "llx"
UINT64_MAX   18446744073709551615ULL
UINT64_TYPE   long long unsigned int

INTMAX_C_SUFFIX  L
INTMAX_FMTd   "ld"
INTMAX_FMTi   "li"
INTMAX_MAX   9223372036854775807L
INTMAX_TYPE   long int
INTMAX_WIDTH   64 
UINTMAX_C_SUFFIX   UL
UINTMAX_FMTX   "lX"
UINTMAX_FMTo   "lo"
UINTMAX_FMTu   "lu"
UINTMAX_FMTx   "lx"
UINTMAX_MAX   18446744073709551615UL
UINTMAX_TYPE   long unsigned int
UINTMAX_WIDTH   64

at LEAST 64 bits
INT_LEAST64_FMTd   "lld"
INT_LEAST64_FMTi   "lli"
INT_LEAST64_MAX   9223372036854775807LL
INT_LEAST64_TYPE   long long int
UINT_LEAST64_FMTX   "llX"
UINT_LEAST64_FMTo   "llo"
UINT_LEAST64_FMTu   "llu"
UINT_LEAST64_FMTx   "llx"
UINT_LEAST64_MAX   18446744073709551615ULL
UINT_LEAST64_TYPE   long long unsigned int

INT_FAST64_FMTd   "lld"
INT_FAST64_FMTi   "lli"
INT_FAST64_MAX   9223372036854775807LL
INT_FAST64_TYPE   long long int
UINT_FAST64_FMTX   "llX"
UINT_FAST64_FMTo   "llo"
UINT_FAST64_FMTu   "llu"
UINT_FAST64_FMTx   "llx"
UINT_FAST64_MAX   
        18446744073709551615ULL
UINT_FAST64_TYPE   
        long long unsigned int


LONG_MAX       9223372036854775807L
LONG_LONG_MAX  9223372036854775807LL

INTPTR_FMTd   "ld"
INTPTR_FMTi   "li"
INTPTR_MAX   9223372036854775807L
INTPTR_TYPE   long int
INTPTR_WIDTH   64

UINTPTR_FMTX   "lX"
UINTPTR_FMTo   "lo"
UINTPTR_FMTu   "lu"
UINTPTR_FMTx   "lx"
UINTPTR_MAX   18446744073709551615UL
UINTPTR_TYPE   long unsigned int
UINTPTR_WIDTH   64

PTRDIFF_FMTd   "ld"
PTRDIFF_FMTi   "li"
PTRDIFF_MAX   9223372036854775807L
PTRDIFF_TYPE   long int
PTRDIFF_WIDTH   64



SIZE_FMTX   "lX"
SIZE_FMTo   "lo"
SIZE_FMTu   "lu"
SIZE_FMTx   "lx"
SIZE_MAX   18446744073709551615UL
SIZE_TYPE   long unsigned int
SIZE_WIDTH   64



SIZEOF_SHORT       2
SIZEOF_INT         4
SIZEOF_INT128     16
SIZEOF_WCHAR_T     4
SIZEOF_WINT_T      4

SIZEOF_FLOAT       4
SIZEOF_DOUBLE      8
SIZEOF_LONG_LONG   8
SIZEOF_LONG        8
SIZEOF_LONG_DOUBL 16

SIZEOF_POINTER     8
SIZEOF_PTRDIFF_T   8

SIZEOF_SIZE_T      8




DBL_DECIMAL_DIG   17
DBL_DIG           15
DBL_DENORM_MIN 4.9406564584124654e-324
DBL_EPSILON    2.2204460492503131e-16
DBL_MIN_10_EXP   (-307)
DBL_MIN_EXP      (-1021)
DBL_MIN       2.2250738585072014e-308
DBL_MANT_DIG      53
DBL_MAX_10_EXP   308
DBL_MAX_EXP     1024
DBL_MAX       1.7976931348623157e+308
DECIMAL_DIG   LDBL_DECIMAL_DIG
DBL_HAS_DENORM    1
DBL_HAS_INFINITY  1
DBL_HAS_QUIET_NAN 1

FLT16_DECIMAL_DIG    5
FLT16_DENORM_MIN 
             5.9604644775390625e-8F16
FLT16_DIG            3
FLT16_EPSILON       9.765625e-4F16
FLT16_MANT_DIG      11
FLT16_MIN_10_EXP   (-4)
FLT16_MIN_EXP     (-13)
FLT16_MIN           6.103515625e-5F16
FLT16_MAX           6.5504e+4F16
FLT16_MAX_10_EXP     4
FLT16_MAX_EXP       16
FLT16_HAS_DENORM     1
FLT16_HAS_INFINITY   1
FLT16_HAS_QUIET_NAN  1

FLT_DECIMAL_DIG   9
FLT_DIG           6
FLT_DENORM_MIN   1.40129846e-45F
FLT_EPSILON     1.19209290e-7F
FLT_MANT_DIG      24
FLT_MIN_10_EXP   (-37)
FLT_MIN_EXP     (-125)
FLT_MIN             1.17549435e-38F
FLT_MAX           3.40282347e+38F
FLT_MAX_10_EXP    38
FLT_MAX_EXP      128
FLT_RADIX          2
FLT_EVAL_METHOD    0
FLT_HAS_DENORM     1
FLT_HAS_INFINITY   1
FLT_HAS_QUIET_NAN  1

LDBL_DECIMAL_DIG   21
LDBL_DIG   18
LDBL_DENORM_MIN   
        3.64519953188247460253e-4951L
LDBL_EPSILON 
         1.08420217248550443401e-19L
LDBL_MANT_DIG   64
LDBL_MIN_10_EXP   (-4931)
LDBL_MIN_EXP   (-16381)
LDBL_MIN   3.36210314311209350626e-4932L
LDBL_MAX_10_EXP   4932
LDBL_MAX_EXP   16384
LDBL_MAX   1.18973149535723176502e+4932L
LDBL_HAS_DENORM   1
LDBL_HAS_INFINITY   1
LDBL_HAS_QUIET_NAN   1


These have only a prefix .

   atomics 
ATOMIC_ACQUIRE   2
ATOMIC_ACQ_REL   4
ATOMIC_CONSUME   1
ATOMIC_RELAXED   0
ATOMIC_RELEASE   3
ATOMIC_SEQ_CST   5
SIG_ATOMIC_WIDTH   32
SIG_ATOMIC_MAX   2147483647

CLANG_ATOMIC_BOOL_LOCK_FREE   2
CLANG_ATOMIC_CHAR16_T_LOCK_FREE   2
CLANG_ATOMIC_CHAR32_T_LOCK_FREE   2
CLANG_ATOMIC_CHAR_LOCK_FREE       2
CLANG_ATOMIC_INT_LOCK_FREE        2
CLANG_ATOMIC_LLONG_LOCK_FREE      2
CLANG_ATOMIC_LONG_LOCK_FREE       2
CLANG_ATOMIC_POINTER_LOCK_FREE    2
CLANG_ATOMIC_SHORT_LOCK_FREE      2
CLANG_ATOMIC_WCHAR_T_LOCK_FREE    2

GCC_ATOMIC_BOOL_LOCK_FREE      2
GCC_ATOMIC_CHAR16_T_LOCK_FREE  2
GCC_ATOMIC_CHAR32_T_LOCK_FREE  2
GCC_ATOMIC_CHAR_LOCK_FREE      2
GCC_ATOMIC_INT_LOCK_FREE       2
GCC_ATOMIC_SHORT_LOCK_FREE     2
GCC_ATOMIC_LONG_LOCK_FREE      2
GCC_ATOMIC_LLONG_LOCK_FREE     2
GCC_ATOMIC_POINTER_LOCK_FREE   2
GCC_ATOMIC_TEST_AND_SET_TRUEVAL  1
GCC_ATOMIC_WCHAR_T_LOCK_FREE     2

GCC_HAVE_SYNC_COMPARE_AND_SWAP_1  1
GCC_HAVE_SYNC_COMPARE_AND_SWAP_2  1
GCC_HAVE_SYNC_COMPARE_AND_SWAP_4  1
GCC_HAVE_SYNC_COMPARE_AND_SWAP_8  1
GCC_HAVE_SYNC_COMPARE_AND_SWAP_16 1


APPLE   1
APPLE_CC   6000
ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED   
                    110100

BIGGEST_ALIGNMENT   16
BYTE_ORDER   ORDER_LITTLE_ENDIAN
LITTLE_ENDIAN      1
__DYNAMIC          1
FINITE_MATH_ONLY   0

FXSR   1
GCC_ASM_FLAG_OUTPUTS        1
GNUC_STDC_INLINE   1
GNUC   4
GXX_ABI_VERSION   1002


_LP64  1
LP64   1
MACH   1
MMX    1
NO_INLINE   1
NO_MATH_INLINES     1
OBJC_BOOL_IS_BOOL   0
OPENCL_MEMORY_SCOPE_DEVICE        2
OPENCL_MEMORY_SCOPE_SUB_GROUP     4
OPENCL_MEMORY_SCOPE_WORK_GROUP    1
OPENCL_MEMORY_SCOPE_WORK_ITEM     0
OPENCL_MEMORY_SCOPE_ALL_SVM_DEVICES   3

ORDER_BIG_ENDIAN      4321
ORDER_LITTLE_ENDIAN   1234
ORDER_PDP_ENDIAN      3412
PIC              2
POINTER_WIDTH   64
PRAGMA_REDEFINE_EXTNAME   1
REGISTER_PREFIX   

SEG_FS   1
SEG_GS   1
SCHAR_MAX   127
SHRT_MAX   32767

SSE         1
SSE_MATH    1
SSE2        1
SSE2_MATH   1
SSE3        1
SSSE3       1
SSP         1  stack-protector
SSE4_1      1

STDC_HOSTED 1
STDC_NO_THREADS   1

STDC_UTF_16 1
STDC_UTF_32 1

BLOCKS      1
block   attribute((blocks(byref)))

CONSTANT_CFSTRINGS   1

USER_LABEL_PREFIX   _


VERSION      "Apple LLVM 12.0.0 (clang-1200.0.32.29)"
apple_build_version   12000032

GNUC_MINOR        2
GNUC_PATCHLEVEL   1

STDC_VERSION   201112L

clang         1
clang_major   12
clang_minor    0
clang_patchlevel   0
clang_version   "12.0.0 (clang-1200.0.32.29)"

amd64          1
amd64          1
x86_64   1
x86_64   1
code_model_small_   1
tune_core2   1
core2   1
core2   1
llvm    1

nonnull   _Nonnull
null_unspecified   _Null_unspecified
nullable   _Nullable
pic   2
seg_fs   attribute((address_space(257)))
seg_gs   attribute((address_space(256)))
weak     attribute((objc_gc(weak)))
strong   
unsafe_unretained   

In addition

Several defined macros are NOT listed but ARE available!
For Example:
 __COUNTER__ , __FILE__, __LINE__ (May have been set via #line linenum filename), 
__BASEFILE__, __FILE_NAME__, __INCLUDE_LEVEL, 
__TIMESTAMP__(example:"Sun Sep 16 01:03:52 1973")