wmic won’t compile: /usr/include/stdc-predef.h:0: Syntax error near ‘3’

The output surrounding the error looks something like:
Compiling ./librpc/idl/atsvc.idl
/usr/include/stdc-predef.h:0: Syntax error near ‘3’
Failed to parse ./librpc/idl/atsvc.idl at ./pidl/pidl line 583.
Makefile:28880: recipe for target ‘idl’ failed
make[1]: *** [idl] Error 1

If you get this error, it is probably because you are using GCC v4.8 or higher.

This can be resolved by using the following make command line:
make “CPP=gcc -E -ffreestanding”

For technical details refer to this article

The relevant text from the article is included here:
Pre-processor pre-includes

The GCC pre-processor may now pre-include a file that defines certain macros for the entirety of the translation unit. This allows fully conformant implementations of C99/C11 and other standards that require compiler or compiler + runtime macros that describe implementation availability.

On GNU/Linux, is pre-included.

This subtle change means that some more creative uses of the pre-processor may now fail, with the following diagnostic:

/usr/include/stdc-predef.h:0: error: Syntax error near ‘3’

As a workaround, the stdc-predef.h pre-include can be disabled with the use of -ffreestanding. For non C/C++ code, use the pre-processor flag -P.