Re: svn commit: r675315 - /stdcxx/branches/4.2.x/tests/utilities/20.operators.cpp

View: New views
5 Messages — Rating Filter:   Alert me  

Parent Message unknown Re: svn commit: r675315 - /stdcxx/branches/4.2.x/tests/utilities/20.operators.cpp

by Martin Sebor :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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/utilities/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


RE: svn commit: r675315 - /stdcxx/branches/4.2.x/tests/utilities/20.operators.cpp

by Eric Lemings-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

 
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
>
>

Re: svn commit: r675315 - /stdcxx/branches/4.2.x/tests/utilities/20.operators.cpp

by Martin Sebor :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Eric Lemings wrote:
>  
> 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.

I accidentally committed a fix for the problem last night:
http://tinyurl.com/597fug

I tested it with gcc but I haven't checked nightly results
yet, so if you could do that I'd appreciate it.

Martin

>
> 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
>>
>>


RE: svn commit: r675315 - /stdcxx/branches/4.2.x/tests/utilities/20.operators.cpp

by Eric Lemings-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

 
I double-checked on RH5 and HP-UX.  Looks good to me.  What error did
you get?

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
> >
> >
>

Re: svn commit: r675315 - /stdcxx/branches/4.2.x/tests/utilities/20.operators.cpp

by Martin Sebor :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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
>>>
>>>

LightInTheBox - Buy quality products at wholesale price