C++ User's Guide

-Uname

Deletes initial definition of the preprocessor symbol name.

This option removes any initial definition of the macro symbol name created by -D on the command line including those implicitly placed there by the CC driver. It has no effect on any other predefined macros, nor any macro definitions in source files.

You can specify multiple -U options on the command line.

Warnings

This option is order-sensitive if used with the -D option, and is processed after all -D options are processed.