it's less a language thing, more of a compiler option.
If it's not into the language/standard, then it's not portable across compilers.
So either you don't want to have to handle such issues and use another language that insulates you better, or rely on something like autoconf.
There is no good reason I can see to have interpretations of my code that I have no control over but which alter the logic
The only logic that is altered is the one you _think_ your code implements.
The compiler only care about how your code should be interpreted vs the Standard.
It doens't read into your mind yet