gcc 3.2-7 produced the following: gcc -g -E junk.c # 1 "junk.c" # 1 "<built-in>" # 1 "<command line>" # 1 "junk.c" [[[[ gcc -v Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --host=i386-redhat-linux --with-system-zlib --enable-__cxa_atexit Thread model: posix gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7) ]]]] while 3.4.2 produces the following: gcc -g -E junk.c # 1 "junk.c" # 1 "/home/clive//" # 1 "<built-in>" # 1 "<command line>" # 1 "junk.c" [[[[ gcc -v Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.2/specs Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux Thread model: posix gcc version 3.4.2 20041017 (Red Hat 3.4.2-6.fc3) ]]]] Was this an intended change? The extra line causes problems when using -M . Is this change distribution specific? Clive