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@...]
>> Sent: Thursday, July 10, 2008 9:30 AM
>> To:
dev@...
>> 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@...] On Behalf Of
>> Martin Sebor
>>> Sent: Wednesday, July 09, 2008 9:35 PM
>>> To:
dev@...
>>> Subject: Re: svn commit: r675315 -
>>> /stdcxx/branches/4.2.x/tests/utilities/20.operators.cpp
>>>
>>>
elemings@... 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@...>
>>>>
>>>> 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
>>>
>>>