$ cc -Ae -z +Z +w +DD64 -o test2 test2.c "test2.c", line 15: warning #2223-D: function "__UINT64_C" declared implicitly ptrdiff_t slot = ( p >> (BYTE_BITS + BIT_BITS + ALIGN_BITS)); ^ "test2.c", line 15: remark #4242-D: no prototype or definition in scope for call to "__UINT64_C" ptrdiff_t slot = ( p >> (BYTE_BITS + BIT_BITS + ALIGN_BITS)); ^ "test2.c", line 21: warning #2181-D: argument is incompatible with corresponding format string conversion p, slot, byte, bit, nop); ^ "test2.c", line 21: warning #2181-D: argument is incompatible with corresponding format string conversion p, slot, byte, bit, nop); ^ "test2.c", line 21: warning #2181-D: argument is incompatible with corresponding format string conversion p, slot, byte, bit, nop); ^ "test2.c", line 21: warning #2181-D: argument is incompatible with corresponding format string conversion p, slot, byte, bit, nop); ^ "test2.c", line 21: warning #2181-D: argument is incompatible with corresponding format string conversion p, slot, byte, bit, nop); ^ "test2.c", line 25: warning #2951-D: return type of function "main" must be "int" void main (int argc, char *argv[]) ^ "test2.c", line 29: warning #2223-D: function "__UINT64_C" declared implicitly for (p = __UINT64_C (123456); p < (__UINT64_C (1) << 34); p += (__UINT64_C (+1) << 29)) { ^ "test2.c", line 29: remark #4272-D: conversion from "int" to "uintptr_t" may lose sign for (p = __UINT64_C (123456); p < (__UINT64_C (1) << 34); p += (__UINT64_C (+1) << 29)) { ^ "test2.c", line 29: warning #2063-D: shift count is too large for (p = __UINT64_C (123456); p < (__UINT64_C (1) << 34); p += (__UINT64_C (+1) << 29)) { ^ "test2.c", line 29: remark #4248-D: comparison of unsigned integer with a signed integer for (p = __UINT64_C (123456); p < (__UINT64_C (1) << 34); p += (__UINT64_C (+1) << 29)) { ^ "test2.c", line 15: remark #4298-D: addition result could be truncated before cast to bigger sized type ptrdiff_t slot = ( p >> (BYTE_BITS + BIT_BITS + ALIGN_BITS)); ^ "test2.c", line 29: remark #4249-D: value could be truncated before cast to bigger sized type for (p = __UINT64_C (123456); p < (__UINT64_C (1) << 34); p += (__UINT64_C (+1) << 29)) { ^ "test2.c", line 29: remark #4249-D: value could be truncated before cast to bigger sized type for (p = __UINT64_C (123456); p < (__UINT64_C (1) << 34); p += (__UINT64_C (+1) << 29)) { ^ ld: Unsatisfied symbol "__UINT64_C" in file test2.o