(An assignment like FOO=bar in the makefile is a default[1], overridable by passing FOO=baz as one of the arguments to make. FOO?=bar can additionally be overridden by setting FOO to a different value in the environment.)
[1] https://www.gnu.org/software/make/manual/html_node/Overridin...
(And it also feels awkward whether to report portability issues to projects with such script because it's like a clear "not for other compilers" message, similar to projects that adopted Meson)
[1] https://github.com/fuhsnn/slimcc/blob/94dde1b8080e02b188ea89...
One case I'm aware of: if your ISA supports arbitrary memory operands like x86, rarely-used variables can be operated-on entirely on the stack. Historically this was something ICC did better than GCC, though it became much less relevant with the shift to 64-bit bringing more registers.