In case there are problems with the C/C++ preprocessor, it is useful to generate the compiler preprocessor listing. Here is how to create a preprocessor listing with GNU gcc compiler and the GNU ARM Eclipse plugins in Eclipse:

In the project settings, turn on the -E option (Preprocess only):

That option will direct the compiler to do preprocessing only, and to stop after that (i.e. not producing object files). Typically, I select that option for the whole project, but of course I can do that for a single file too.

Make sure that the file for which you need the preprocessing is compiled: touch the file or do a Project > Clean to force a full rebuild.

This will just do the preprocessing and produce the preprocessing listing files. Because no object files are generated, linking will fail.

There is one trick to know about it: the preprocessed files produced have the .o (like object files) extension:

Open the file with the text editor:

Now I can see what the listing is:

At the end, to not forget to remove the -E option and to do a Project > Clean again to build the project as usual.

Happy Preprocessing 🙂