It's nearly impossible to write an OS kernel using only portable C, and
the Intel C compiler actually pretends to *be* GCC and implements a lot of
GCC extensions in part so that it can compile the kernel.
As for C++ compatibility, I thought the Intel compiler conformed to the
same (originally Itanium) C++ ABI as GCC, HP C++, and others do: there
have of course been bugs in this conformance, but that hardly makes a
monopoly.