I have a piece of code which compiles without problems with x86 gcc 4.4.1 but fails with blackfin gcc 4.1.2 with many “expected unqualified-id before numeric constant” errors. I see that there are some variable names that clash with some predefined macros. Is it possible to see defined macros at a certain line of a cpp file?
Share
The
-dMswitch tells GCC to dump all the macros defined in the given file (it will include a list of macros required to be defined by the language standard as well as any additional macros GCC defines itself).The
-Eswitch tells GCC not to continue compiling after it has preprocessed the file.In order to see a list of macros defined at a given line of a cpp file, it may be easier to first filter out any of the predefined macros (macros defined by the compiler). In BASH, you could do:
This should filter out any macros defined by standard system headers or frameworks. The extra part,
-x c++, tells GCC to interpret the input as C++ source [that requires preprocessing], this is because the it won’t be able to determine it based on the extension of the filename (the source code is handed to GCC via stdin).