On 23 January 2013 06:53, Alec Teal wrote: > Why not: > > make an "optional keyword", "hard", have a meaning if before "typedef", I > suggest tokenising "hard" as a normal token (however it is processed now why > change it? I am not sure on GCCs exact grammar for c languages) but if AND > ONLY if it is before a "typdef" treat it differently, as far as I know a > typedef can only occur at the beginning of a statement so this should mean > it doesn't break anything.
Like other specifiers such as const and static, typedef doesn't have to come first, i.e. this is legal, if unconventional: typedef int hard; hard typedef Int; I think Basile's suggestion to implement it as an attribute is a better idea, it makes it clearer it's something non-standard and compiler-specific, and the grammar already contains attributes in declarations. > Problems: > > 1)Not all compilers would be happy with this. > Fix: > I'm sure gcc must define something for the preprocessor that'll exist if and > only if GCC is the compiler? Nope, Compilers that claim GCC compatibility also define __GNUC__, and as has been discussed before on this list, if we added __REALLY_GCC__ then other compilers would just add that too.