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

[EMAIL PROTECTED] 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 <[EMAIL PROTECTED]>

        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



Reply via email to