Errr, reading the question it’s officially *not* a bug
This is *still* getting asked and gcc *still* has not fixed it, in 2018. 29 years after it was officially a bug.https://stackoverflow.com/q/51807085/379897 …
-
-
-
Per ANSI C89 it's a bug.
-
And Gcc does not define it in c89 mode
-
Right, at some point it was fixed not to do it in standards-conformance modes. However, these macro names are so egregiously clashing that they shouldn't be defined ever; they break lots of real, reasonable code.
-
I was referring more to the principle that implementations shouldn't do this kind of namespace-polluting junk, AFAIK first written down in ANSI C in 1989, not the technicalities of what conformance profile your CFLAGS are configured for.
-
C itself has a lot of annoying namespace pollution, like the fucking Bessel functions.
-
Yes but they're only reserved in the external namespace and at file scope if you include the headers. That's a lot different from always-clashing due to predefine.
-
How many programs do you know that manipulate 2D or 3D coordinates and don’t need math.h?
End of conversation
New conversation -
-
-
That one liner is horrifying, even by IOCCC standards... Aside, I dislike that "[1]array" is legal, even if it's for parity with pointer arithmetic.
-
Wrong link..?
-
"A largely irrelevant aside: the "Best One Liner" winner of the 1987..." is part of the answer. And it relies on the "unix" macro being defined as well as using "[1]array" syntax :).
-
Hm, are low-rep/not-logged-in users getting auto-redirected from today's duplicate to the old canonical question?
-
It seems to be... I'm logged in but I've not actually ever joined the SO community (if you can believe it)...
End of conversation
New conversation -
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.