Po Lu via Gcc writes: > jwakely.gcc@gmail.com (Jonathan Wakely) writes: > >> This isn't "be like Clang", this is "diagnose things that have been >> invalid C since 1999". > > Only if your definition of valid C is ``strictly conforming to the ISO > Standard''. I doubt there are many programs which fit such a > definition. No, we're talking about "things which ISO C made invalid in 1999, but GCC kept supporting for a while". We're discussing terminating that support. The "standard" part here is not about deference to the standard and claiming extensions can never be made, but rather that we're keeping something which was explicitly removed. > > And anyway, GCC accepts many other constructs which can not be used in a > strictly conforming Standard C programs. For example, the use of dollar > signs in identifiers. Should we not also reject those, identifier names > with external linkage longer than thirty two characters, hex floats, > arithmetic on void pointers, zero-length arrays, statement expressions, > and so on? These aren't things which were in the standard and then got removed because of how terrible they are. They're things that are considered a part of GNU C as proper GNU extensions. Note that, per the rest of the thread, the constructs we're discussing here to be banned are not considered "proper GNU extensions".