TCC and PCC are limited to C99.
Not sure about Visual C++ and it's weird reverse compatibility.
C11 took atomic and thread from C++11, so it has those as well.
C++11 requires most of C99, except for a few things like VLA.
C++14 requires many things from C11, but not everything.
There is not need to support _Generic because templates are better in C++.
MinGW and Clang are up to standards.
POCC is clearly the one in the lead to matching standards.