This is the mail archive of the egcs@egcs.cygnus.com mailing list for the EGCS project. See the EGCS home page for more information.
> Date: Sun, 21 Feb 1999 12:04:24 +0100 (EET) > From: Kamil Iskra <kamil@dwd.interkom.pl> > To: "Martin v. Loewis" <martin@mira.isdn.cs.tu-berlin.de> > I don't get it. What's so difficult about introducing a new target > macro that conveys precisely this information? Nothing. Writing bad code that is poorly design and unmaintainable is easy. Nothing hard about it. Unfortunately, we try and write maintainable and well designed code. This is where `hardness' comes into play. Any feature that works on one system that obscures bugs on other systems leads to fragile software. It is usually good to avoid fragile software, if possible. When it works that same exact way on all platforms, then we win bigger. Winning is good. It is a delicate balance between this type of goodness and superior codegen strategies. (static being superior) I haven't voiced too much of an opinion in this thread, because I am unsure which is better. I like that Linux catches random bugs that others might see on other platforms. I like fixes that once fixed, fixes all problems on all platforms. Adding this special new macro, means that we can no longer have symmetry across targets. Testing Linux, means testing even less of the compiler. For example, adding a cryptgraphic checksum based upon the source code of the translation unit is better, because then it works more often on Liinux and it works more often on all platforms. The more that I think of random bits (pid, time, hostname) injected into the output of the compiler, the more I don't like it, as then binary object comparisons don't work and some people like comparing the output of the compiler to verify that it is working properly. Ask how many people like timestamps, I think most of us hate them. If you want a timestamp, stat it.