gcc has many extensions to C and C++, and that's fine IMO. You just need to support the standard, and provide a strict standards mode flag (eg: gcc -ansi ...). That way people who need compiler portability can still use the compiler (and verify that they are writing standards compliant code).