I canβt say why they did one thing in the Linux kernel, but on the systems we are developing, we tend not to use C99-specific functions in the main code. In separate applications, as a rule, there are things written for C99, because they will usually be placed on one well-known platform, and the implementation of gcc C99 is well known.
But the core code must be deployed on any platform that the client requires (within reason). We supply systems on AIX, Solaris, Informix, Linux, Tru-64, OpenVMS (!), And the availability of C99-compatible compilers is not always guaranteed.
The Linux kernel should be significantly more portable - and especially to small embedded systems. I assume the function is simply not important to override these considerations.
source share