The docs for preprocessor -dD flag states

    `D'
          Like `M' except in two respects: it does _not_ include the
          predefined macros

So one would expect -dD and -dM to differ substantially.
But....

([EMAIL PROTECTED]) ~ $ gcc -E -dM -x c /dev/null | sort >/tmp/t1
([EMAIL PROTECTED]) ~ $ gcc -E -dD -x c /dev/null | sort >/tmp/t2
([EMAIL PROTECTED]) ~ $ diff /tmp/t[12]
0a1,4
> # 1 "<built-in>"
> # 1 "<command-line>"
> # 1 "/dev/null"
> # 1 "/dev/null"
([EMAIL PROTECTED]) ~ $ wc /tmp/t[12]
 111  340 3482 /tmp/t1
 115  352 3552 /tmp/t2
 226  692 7034 total
([EMAIL PROTECTED]) ~ $ gcc --version
gcc (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)


-- 
           Summary: gcc -E -dD prints predefined macros, contrary to docs
           Product: gcc
           Version: 4.2.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: preprocessor
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: martinrb at google dot com
  GCC host triplet: x86_64-linux-gnu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=37549

Reply via email to