And most of what's in ANSI C (the first C standard, before ISO stepped in, from 1989) was in C compilers before ANSI C existed. I think void and void* were the only things ANSI C really added to the language.
My point is, the C standards body likes to standardize common usage, and 'what a Microsoft compiler does' is pretty close to being common in some parts of the world.
Didn't the POSIX standard do that, as opposed to the ANSI C standard?
It's a little amusing that MS have this optional part of C11 implemented years in advance and standardised on their work, but haven't got C99 support. It must suit them to have it that way.
Can you tell me whether the C11 Bounds checking stuff from this optional Annex K had fully made it in to GCC 4.9? If not what's missing?
On the status page here it implies the project has had issues:[0]
[0]http://gcc.gnu.org/wiki/C11Status
Yet, on the release notes it says "Substantially complete" but it's really as clear as mud whether it's all there[2].
[2]http://gcc.gnu.org/gcc-4.9/changes.html
I suppose that on Linux and Windows the intel compiler relies on the GCC/MS implementation of memcpy_s.