This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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.  There exists a mode of the compiler in which it doesn't
define any of those, and a mode in which it does.  We only claim that
the former is conforming.

Likewise, there exists a mode of the compiler in which including
<cmath> gets you what the standard specified for <cmath>, and a mode
in which it doesn't.  We only claim that the former is conforming.

The precise details of how you get each mode are clearly documented --
you say -std=cxx98 (or =c89, or whatever) to get a clean macro
namespace; you don't put any shadowing headers ahead of the ones we
provided, to get the standard headers.

zw


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]