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


>>>>> "Gabriel" == Gabriel Dos Reis <gdr@codesourcery.com> writes:

> The exception is 17.4.3.2:

>    *If* a file with a name equivalent to the derived file name for one of
>    the C++ Standard Library headers is *not provided* as part of the
>    implementation, *and* a file with that name is placed in any of the
>    standard places for a source file to be included (16.2), the behavior
>    is undefined. 

I believe the above is the result of an editing error.  C99 says (in 7.1.2):

  If a file with the same name as one of the above < and > delimited
  sequences, not provided as part of the implementation, is placed in any of
  the standard places that are searched for included source files, the
  behavior is undefined.

I think someone was trying to simplify this construction and ended up
changing the meaning.  The September 1994 working paper says,

  If a file has a name equivalent to the derived file name  for  one  of
  the  Standard  C++  library  headers,  is  not provided as part of the
  implementation, and is placed in any of  the  standard  places  for  a
  source file to be included, the behavior is undefined.

Which has the same meaning as the C99 formulation, though it is not as
clear.  This seems to have changed between the April and October 1995
working papers.

Jason


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