------- Comment #2 from martinrb at google dot com 2008-09-17 04:27 ------- I tried to check how -dM and -dD treats macros defined on the command line and in the source file:
([EMAIL PROTECTED]) ~/src/toy $ cat foo.c #define FOO 1 ([EMAIL PROTECTED]) ~/src/toy $ gcc -E -dM -x c -DBAR=1 foo.c | sort >/tmp/t1 ([EMAIL PROTECTED]) ~/src/toy $ gcc -E -dD -x c -DBAR=1 foo.c | sort >/tmp/t2 ([EMAIL PROTECTED]) ~/src/toy $ diff /tmp/t[12] 0a1,4 > # 1 "<built-in>" > # 1 "<command-line>" > # 1 "foo.c" > # 1 "foo.c" => No difference in the treatment of various classes of macros. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37549