In an ideal world code should be compilable with any C/C++ compiler with the resulting binary code behaving in an identical way. Seems that the kernel has to be written just to compile with GCC, as GCC has its quirks and the developers have to end up writing code to workaround bugs and quirks. Fixing GCC should be the best thing rather than having application and OS developers having to code for the compiler. Any miscompilations should be investigated and corrected which then can improve the quality of the compiled code.
Its a good thing Debian is doing and hope other distros and developers will consider trying different compilers to see how their code behaves and perhaps fix the code so that any compiler can compile it correctly.