There's this widely used fucked programming language called C++. The FPL got
widely used by falsely claiming to be *almost* compatible to C, among other
things. Well, I don't understand what "almost compatible" means. Consider the
following (IDIOTIC) code from GL.h:
typedef void GLvoid;
typedef GLvoid (*GLsomething)(GLvoid);
This idiocy is (apparently) legal C. I don't understand why the fuck would
anyone want to typedef void (I think void is pretty damn portable), but for some
reason lots of libraries do this. Anyway, this is illegal C++ - the bastards
decided to only support "void" in the parameters list, but not typedefs to void.
Another proof of the superiority of typedefs over #define macros.
gcc 4.2 decided to implemented the brain-crippled restriction, so GL.h no longer
compiles. A GNU language lawyer has contributed this link to the discussion:
http://anubis.dkuug.dk/jtc1/sc22/wg21/docs/cwg_closed.html#18
And it's an *error*, not a warning triggered by a
-Wfuck-me-harder-again-and-again option. The error message says it all (well,
all except what the problem is):
/usr/include/GL/glu.h:259: error: '<anonymous>' has incomplete type
/usr/include/GL/glu.h:259: error: invalid use of 'GLvoid'