Since the Linux kernel doesn't follow the C memory model and disregards undefined behavior rules they don't agree with, it's fairly dangerous to use a newer compiler than what they're broadly using and testing themselves. Ideally, they'd actually list what's being tested / used.