Some general guidelines for the C++ compiler options are:
In general, processing of the compiler options is from left to right (with the exception that– U options are processed after all– D options), allowing selective overriding of macro options (options that include other options). This rule does not apply to linker options.
The -features,–I -l, –L, -library, –pti, –R, -staticlib, -U, -verbose, and -xprefetch options accumulate, they do not override.
The -D option accumulates, However, multiple -D options for the same name override each other.