https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127127
--- Comment #3 from Joseph S. Myers <jsm28 at gcc dot gnu.org> --- GCC should not provide such macros unless needed for headers installed by GCC (traditionally freestanding headers, now more those headers defined by the C standard not providing functions with external linkage). It shouldn't even know about the POSIX ssize_t (which need not be the signed type corresponding to size_t). (If something is needed by a built-in function but not an installed header, follow the approach for pid_t: use typeof applied to the built-in function if needed to extract the type inside a testcase. As noted in the Nov/Dec 2025 discussion of pid_t on gcc-patches, an option -fbuilding-gcc-testsuite like -fbuilding-libgcc could in principle be used to provide information known to the compiler but only needed in the testsuite not user code or installed system headers, but not where there's already another mechanism to get that information in testcases.) If you need the signed type corresponding to size_t (not necessarily the same as POSIX ssize_t) in a test, for example in format checking tests, the existing option #define unsigned signed typedef __SIZE_TYPE__ signed_size_t; #undef unsigned is available.
