The time_t type is not defined by gcc, but rather by the system library. On Linux, this is glibc, and it defines time_t in the time.h header:
typedef __time_t time_t;
which in turn is defined in bits/types.h :
__STD_TYPE __TIME_T_TYPE __time_t;
( __STD_TYPE definition is not interesting)
__TIME_T_TYPE defined in bits/typesizes.h :
#define __TIME_T_TYPE __SLONGWORD_TYPE
which in turn is defined in bits/types.h :
#define __SLONGWORD_TYPE long int
which is 32 bits on a 32-bit system, 64 bits on a 64-bit system. All these definitions are unconditional, therefore the equivalent of no _USE_32BIT_TIME_T on glibc.
source share