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: AIX, Solaris 2.8 excess errors fails


>>>>> Mark Mitchell writes:

Mark> However -- and this is where I'm trying to read your mind -- if you
Mark> always put the explicit instantiation in the test, so as to accomodate
Mark> systems without weak symbols, you make the test less valuable in that
Mark> now you are not testing the library in the way that users would
Mark> normally use it on systems *with* weak symbols.  In theory, things
Mark> could now be broken on systems with weak symbols, but you wouldn't
Mark> notice.

	Yes, that is what I am trying to say.  Obviously poorly (:^).

Mark> On the one hand, that's probably not a very real problem.  We've
Mark> got lots of implicit instantiation tests.

	We do?  Those are the only two libstdc++ tests that continue to
fail on AIX.

Mark> On the other hand, it's a valid point.  That would lead me to say
Mark> that what we should do in the tests is:

Mark> #if !__GXX_WEAK
Mark> // Explicitly instantiate; the compilation system is incapable
Mark> // of doing it for us.
Mark> template ....
Mark> #endif /* !__GXX_WEAK */

Mark> If that's what you're suggesting, I agree; that would test the library
Mark> in the way it's most likely to be used on both kinds of systems.

	Well, I was thinking of letting the test fail on systems without
weak symbol support.  But if you want to have the test adapt to the system
on which it is being tested (as you suggest) instead of unilaterally
instantiating the static members on all systems, I agree that is an
improvement. 

Thanks, David


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