stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <se...@roguewave.com>
Subject Re: svn commit: r675315 - /stdcxx/branches/4.2.x/tests/utilities/20.operators.cpp
Date Thu, 10 Jul 2008 16:56:30 GMT
Eric Lemings wrote:
>  
> I double-checked on RH5 and HP-UX.  Looks good to me.  What error did
> you get?

I got a compilation error while testing the _TYPENAME
-> typename changes w/o debugging. As I said, when
_RWSTD_NO_DEBUG_ITER is #defined (i.e., in an optimized
build), both string::iterator and vector::iterator are
ordinary pointers. Since the test instantiates the
function template on RandomAccessIterator being one
of these two iterators (i.e., T*), the declaration

     RandomAccessIterator::difference_type

is ill formed (T*::difference_type doesn't make sense).

To confirm what I was seeing I used iterator_traits to
verify a possible fix. I wasn't planning on checking it
in but I missed it in the giant diff.

> 
> Brad.
> 
>> -----Original Message-----
>> From: Eric Lemings [mailto:Eric.Lemings@roguewave.com] 
>> Sent: Thursday, July 10, 2008 9:30 AM
>> To: dev@stdcxx.apache.org
>> Subject: RE: svn commit: r675315 - 
>> /stdcxx/branches/4.2.x/tests/utilities/20.operators.cpp
>>
>>  
>> I did debug and optimize builds on RH5, Sol10, and HP-UX 
>> 11.31 and they
>> all built fine (unless I overlooked something).
>>
>> Will double-check.
>>
>> Brad.
>>
>>> -----Original Message-----
>>> From: Martin Sebor [mailto:msebor@gmail.com] On Behalf Of 
>> Martin Sebor
>>> Sent: Wednesday, July 09, 2008 9:35 PM
>>> To: dev@stdcxx.apache.org
>>> Subject: Re: svn commit: r675315 - 
>>> /stdcxx/branches/4.2.x/tests/utilities/20.operators.cpp
>>>
>>> elemings@apache.org wrote:
>>>> Author: elemings
>>>> Date: Wed Jul  9 12:16:56 2008
>>>> New Revision: 675315
>>>>
>>>> URL: http://svn.apache.org/viewvc?rev=675315&view=rev
>>>> Log:
>>>> 2008-07-09  Eric Lemings <eric.lemings@roguewave.com>
>>>>
>>>> 	STDCXX-550
>>>> 	* tests/utilities/20.operators.cpp 
>>> (test_random_access_iterator):
>>>> 	Oops.  Should be `!defined' in #if directive.
>>>>
>>>>
>>>> Modified:
>>>>     stdcxx/branches/4.2.x/tests/utilities/20.operators.cpp
>>>>
>>>> Modified: stdcxx/branches/4.2.x/tests/utilities/20.operators.cpp
>>>> URL: 
>>> http://svn.apache.org/viewvc/stdcxx/branches/4.2.x/tests/utili
>>> ties/20.operators.cpp?rev=675315&r1=675314&r2=675315&view=diff
>>> ==============================================================
>>> ================
>>>> --- stdcxx/branches/4.2.x/tests/utilities/20.operators.cpp 
>>> (original)
>>>> +++ stdcxx/branches/4.2.x/tests/utilities/20.operators.cpp 
>>> Wed Jul  9 12:16:56 2008
>>>> @@ -397,7 +397,7 @@
>>>>  
>>>>      typedef RandomAccessIterator I;
>>>>  
>>>> -#if defined _RWSTD_NO_DEBUG_ITER
>>>> +#if !defined _RWSTD_NO_DEBUG_ITER
>>>>      RandomNumberGenerator<typename I::difference_type> rndgen;
>>> This won't compile when RandomAccessIterator is a plain pointer,
>>> which both string::iterator and vector::iterator happen to be
>>> when _RWSTD_NO_DEBUG_ITER is #defined (i.e., with optimization).
>>>
>>> Martin
>>>
>>>


Mime
View raw message