misleading statement in bugs.html#known
Andreas Schwab
schwab@suse.de
Thu Dec 6 04:46:00 GMT 2001
Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at> writes:
|> On 5 Dec 2001, Andreas Schwab wrote:
|> >|> The point is that glibc allows you to *assign* to stdin, so it is
|> >|> no longer constant. This is a questionable feature..
|> > No. The real reason is that using the address of a static object is a
|> > nightmare in context of maintaining binary compatibility. Platforms that
|> > use copy relocations will lose if the size of the FILE type changes.
|>
|> Would (one of) you (who knows this stuff) mind updating bugs.html?
How about this:
--- bugs.html.~1.45.~ Sun Nov 4 00:14:32 2001
+++ bugs.html Thu Dec 6 13:29:35 2001
@@ -276,10 +276,10 @@
</code></blockquote>
will not compile with GNU libc (GNU/Linux libc6), because
-<code>stdin</code> is not a constant. This was done deliberately, in
-order for there to be no limit on the number of open <code>FILE</code>
-objects. It is surprising for people used to traditional Unix C
-libraries, but it is permitted by the C standard.</p>
+<code>stdin</code> is not a constant. This was done deliberately, to make
+it easier to maintain binary compatibility when the type <code>FILE</code>
+needs to be changed. It is surprising for people used to traditional Unix
+C libraries, but it is permitted by the C standard.</p>
<p>This construct commonly occurs in code generated by old versions of
lex or yacc. We suggest you try regenerating the parser with a
Andreas.
--
Andreas Schwab "And now for something
Andreas.Schwab@suse.de completely different."
SuSE Labs, SuSE GmbH, Schanzäckerstr. 10, D-90443 Nürnberg
Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
More information about the Gcc
mailing list