I'm not too familiar with C, but don't compilers have to adhere to the standard? Is the issue developers who depended on GCC-specific behaviour for things the standard doesn't document?
Here's a list of extensions, if you're curious... http://linuxdevcenter.com/pub/a/linux/excerpts/9780596009588...
The clang devs try to support them nonetheless for compatibility, except, for what I understand, a few that are explicitly unsupported by design.