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 11:00:01PM +0200, Gabriel Dos Reis wrote:
> Zack Weinberg <zack@codesourcery.com> writes:
> | Furthermore, any change in this area will break an uncertain but large
> | number of user programs.
> 
> I don't a change in line to implement the required semantics will
> brack user programs. 

Every program that deliberately puts its own version of a standard
header ahead of the system-provided one, in the search path, will
break until its Makefiles are revised.

I do not have numbers on how many such programs there are, but I am
confident that there are plenty, and that "fixing" them will not be
easy.  Start with Xfree86.

> | > If the user intentionally chooses to inject home-grown headers in
> | > place of standard ones, then that shouldn't be something the compiler
> | > should discover accidently; it should be something that it knows about
> | > because of appropriate options on invokation line.
> | 
> | Let me reiterate that the compiler does not "discover it accidently".
> 
> Certainly, it does, which bring the problems in the first place.
> 
> | The compiler knows that the user wants their home-grown headers to be
> 
> In this cas, it doesn't.  It gets it wrong, because it implements the
> wrong semantics.

No, it gets it right.  The user instructed the compiler to read a
specific header file.  It happens that that header file happens not to
contain what the relevant standard says it should contain.  In my
book, that is what the user wanted and what we should give them.

I do not think the standard has anything to say about this.  GCC is a
conforming compiler if the user wants it to be.  If the user doesn't
want it to be, their wishes should take precedence.

zw


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