gcc プリプロセッサ

gcc
E付でプリプロセッサが終わった状態で止めたやつと、
cpp0を指定して、プリプロセッサが終わった状態で止めたやつの
サイズの差が気になって調べていたら、
/usr/include/machine/types.hの

/*
 * Deal with 64-bit types, which are not defined by ANSI C.
 */
#if __GNUC__ >= 2
/* This ugly hack prevents warnings from -pedantic. */
typedef long                      int64_t __attribute__ ((__mode__(__DI__)));
typedef unsigned long           u_int64_t __attribute__ ((__mode__(__DI__)));
typedef long                      int64m_t __attribute__ ((__mode__(__DI__)));
typedef unsigned long           u_int64m_t __attribute__ ((__mode__(__DI__)));
#else
/* The following are probably correct for most other compilers */
typedef long long                 int64_t;
typedef unsigned long long      u_int64_t;
typedef long long                 int64m_t;
typedef unsigned long long      u_int64m_t;
#endif

に書いてあった。
gccドライバ経由だと、

 /usr/libexec/gcc-2.95.3/i386-unknown-bsdielf4.2/2.95.3/cpp0 -lang-c -v -D__GNUC__=2 
-D__GNUC_MINOR__=95 -Dunix -D__i386__ -Di386 -D__bsdi__ -Dbsdi -D__ELF__ 
-D__GAS__=2 -D__GAS_MINOR__=10 -D__unix__ -D__i386__ -D__i386__ -D__bsdi__ -D__bsdi__ -D__ELF__ 
-D__GAS__=2 -D__GAS_MINOR__=10 -D__unix -D__i386 -D__bsdi -Asystem(unix) -Asystem(bsd) 
-Acpu(i386) -Amachine(i386) -traditional -$ -Acpu(i386) -Amachine(i386) -Di386 -D__i386 -D__i386__ -

で指定してあるからね。