[RFC] libstdc++/6720 and libstdc++/6671

Gabriel Dos Reis gdr@codesourcery.com
Wed May 22 22:44:00 GMT 2002


Zack Weinberg <zack@codesourcery.com> writes:

| On Wed, May 22, 2002 at 02:45:43PM -0700, Mark Mitchell wrote:
| > 
| > I'd be interested to hear what other committee members thing the
| > language that Gaby quoted means.  I can certainly read it to mean what
| > Gaby thought it meant; in particular, that even if -I options are in
| > play you get the right header.  You can read it that way due to the
| > fact that all of 16.2 is essentially implementation-defined; the
| > paragraph Gaby's quoting seems to say "even despite all that
| > implementation-defined stuff, this particular usage has defined
| > behavior."
| > 
| > I don't know *why* the standard would say that.  If it were up to me,
| > I'd certainly rather just let -I do whatever it normally does.  But,
| > we have to work with what we've got.
| 
| The situation is exactly the same as predefined macros in the user
| namespace.

No, the situations are not the same, far from that.

If you wanted to have an analogy, then here is a much more accurate one:
Take the content of std::rel_ops.  With no care, they do not interact
well with implementation details such are __normal_iterator<>
(which are added just as QoI, i.e. not required).  It was agreed that
our choice of implementation details should not make us not deliver
expected semantics.  The same applies here.  We choose to map standard
headers to actual files.  Furthermore, the standard does make a rule
about what happens in that case, therefore we should deliver what is
required.  There is no "but" nor "you get what you deserve" stance.

-- Gaby



More information about the Libstdc++ mailing list