Do any C/C++ compilers (not preprocessors) ever consider-as-significant macros defined at the command-line? This question includes both user-defined macros and well-known (compiler-or-system-specific) macros.
(I’m not asking about compiler-switches, but rather, only that SINGLE switch-to-define-macros at the command line.)
For example, if you’ve already “pre-processed” the myfile.cpp to a myfile.i, and then want to compile that myfile.i to a myfile.obj/myfile.o, does it EVER make sense to have -Dmacro to define some “macro” at the command-line for the myfile.i==>myfile.obj/myfile.o?
Similarly, does the linker EVER consider-as-significant macros (defined anywhere)?
Yes.
Some debugging formats will record the preprocessor definitions so they can be accessed from within the debugger.
(But I know of no linker which accepts preprocessor flags.)