No Subject

Anthony Shipman als@aaii.oz.au
Thu Mar 11 18:07:00 GMT 1999


The implementation of std::destroy for iterators in the SGI STL appears
to be faulty.  See below.

------- Forwarded Message

To: als@aaii.com.au (Anthony Shipman)
Subject: Re: iterators in std::destroy
References: <921053612.278857@aloomba.aaii.oz.au>
From: ajenkins@netway.com (Adam P. Jenkins)
Date: 10 Mar 1999 23:59:49 -0500
In-Reply-To: als@aaii.com.au's message of "10 Mar 1999 21:09:14 -0500"
Message-ID: <yzhpv6giptm.fsf@xcom-79-95.mdc.net>
Lines: 25
X-Mailer: Gnus v5.5/Emacs 20.3
Sender: ajenkins@xcom-79-161.mdc.net

als@aaii.com.au (Anthony Shipman) writes:
> In the SGI implementation of STL, the code for std::destroy says
> 
> template <class ForwardIterator>
> inline void
> __destroy_aux(ForwardIterator first, ForwardIterator last, __false_type) {
>   for ( ; first < last; ++first)
>     destroy(&*first);
> }
> 
> 
> Is there a reason why this uses < rather than != ?  
> 
> As it stands I cannot use it on hashtable iterators since they don't
> have operator<.

This seems like an obvious bug, which should be reported to whoever
maintains the version of SGI STL that you're using.  If you're using
it as part of egcs then report it to the egcs maintainers; see
http://egcs.cygnus.com/faq.html#bugreport .  Also send a bug report to
stl@sgi.com.

- -- 
Adam P. Jenkins 
ajenkins@netway.com

------- End of Forwarded Message



More information about the Gcc-bugs mailing list