incubator-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: r511019 - in /incubator/stdcxx/trunk/tests: include/23.list.h src/23.containers.cpp
Date Wed, 07 Mar 2007 02:24:16 GMT
faridz@apache.org wrote:
> Author: faridz
> Date: Fri Feb 23 09:04:11 2007
> New Revision: 511019
> 
> URL: http://svn.apache.org/viewvc?view=rev&rev=511019
> Log:
> 2007-02-23 Farid Zaripov <faridz@kyiv.vdiweb.com>
> 
> 	ChangeLog:
> 	* 23.list.h: New file with definitions of helpers used in
> 	clause 23.list tests.
> 	* 23.containers.cpp: #included 23.list.h; removed definition
> 	of the temporary struct ListIds; _rw_list_sigcat filled by code.
> 
> Added:
>     incubator/stdcxx/trunk/tests/include/23.list.h   (with props)
> Modified:
>     incubator/stdcxx/trunk/tests/src/23.containers.cpp
> 
> Added: incubator/stdcxx/trunk/tests/include/23.list.h
> URL: http://svn.apache.org/viewvc/incubator/stdcxx/trunk/tests/include/23.list.h?view=auto&rev=511019
> ==============================================================================
> --- incubator/stdcxx/trunk/tests/include/23.list.h (added)
> +++ incubator/stdcxx/trunk/tests/include/23.list.h Fri Feb 23 09:04:11 2007
> @@ -0,0 +1,285 @@
[...]
> +template <class InputIter1, class InputIter2>
> +static inline bool
    ^^^^^^

I suspect the static linkage is going to cause the same problem
as in 23.limits.traps. We're already getting warnings from Sun
C++:

CC -c -D_RWSTD_USE_CONFIG -I$(TOPDIR)/include -I$(BUILDDIR)/include 
-I$(TOPDIR)/../rwtest -I$(TOPDIR)/tests/include  -library=%none -O 
-xarch=v9 +w   $(TOPDIR)/tests/src/23.containers.cpp
"$(TOPDIR)/tests/include/23.list.h", line 228: Warning (Anachronism): 
"static" is not allowed and is being ignored.

[...]
> +template <class List>
> +struct ListState
> +{
> +    typedef typename List::const_iterator  ListCIter;
> +    typedef typename List::const_pointer   ListCPtr;
> +
> +    _RWSTD_SIZE_T size_;
> +    ListCIter*    iters_;
> +    ListCPtr*     ptrs_;
> +
> +    ListState (List const & lst) : size_ (lst.size ()), iters_ (0), ptrs_ (0)
> +    {

The formatting convention is not to drop the curly brace in
definitions of member functions in the body of the "parent"
class.

> +        iters_ = new ListCIter [size_];
> +        ptrs_  = new ListCPtr  [size_];
> +
> +        _RWSTD_SIZE_T index = 0;
> +        for (ListCIter it = lst.begin (), end = lst.end ();
> +            it != end; ++it, ++index) {
> +
> +            iters_ [index] = it;
> +            ptrs_  [index] = &*it;
> +        }
> +    }
> +
> +    ~ListState ()
> +    {

Same here.

> +        delete [] iters_;
> +        delete [] ptrs_;
> +    }
> +
> +    // invokes rw_assert() to verify that two states are the same
> +    void assert_equal (const ListState& state, int line,
> +                       int case_line, const char* when) const
> +    {

And here.

> +        const int equal =    size_ == state.size_

It probably doesn't matter (I don't think any compiler issues
a warning) but I suppose the type of the constant should be int.

Martin


Mime
View raw message