The -dM option is documented to provide a complete list of all defined macros,
including all predefined macros, however the list is incomplete. In particular,
the following will not list __STDC__ even though it is defined:

   touch test.h; gcc -dM test.h

If you modify test.h to include:

   #ifdef __STDC__
      #error __STDC__ is defined
   #endif

The compilation will result in an error


-- 
           Summary: -dM does not list all defined macros (in particular,
                    __STDC__)
           Product: gcc
           Version: 3.4.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: preprocessor
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: shaun4477 at gmail dot com
 GCC build triplet: ia64-hp-hpux11.23
  GCC host triplet: ia64-hp-hpux11.23
GCC target triplet: ia64-hp-hpux11.23


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


Reply via email to