[jira] Created: (STDCXX-689) [LWG #280] std::reverse_iterator missing template assignment operator

2008-01-07 Thread Martin Sebor (JIRA)
[LWG #280] std::reverse_iterator missing template assignment operator
-

 Key: STDCXX-689
 URL: https://issues.apache.org/jira/browse/STDCXX-689
 Project: C++ Standard Library
  Issue Type: Bug
  Components: 24. Iterators
Affects Versions: 4.2.0, 4.1.4, 4.1.3, 4.1.2
Reporter: Martin Sebor
Priority: Trivial
 Fix For: 4.2.1


LWG Issue 280 added a template assignment operator to reverse_iterator:
http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#280

It doesn't look like we ever added the function.

I'm having trouble coming up with a test case that would reveal its absence so 
this is just a placeholder to remind us to look into this in more detail to 
make sure the function really is needed (if not, there's no need to complicate 
the interface of the template).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Re: GNU "Autotools" Branch?

2008-01-07 Thread Martin Sebor

Eric Lemings wrote:

I haven't tested it on any platform other than Mac OS X; not all config
tests have been translated yet into M4 macros (especially tests related
to linking); and those that have been written need a thorough review as
well as some polishing.  So it's safe to say it's still very much in
development.

Once I get a successful 'distcheck', I'll create this branch in the
stdcxx/branches/autotools directory.  The baseline for this branch will
only contain a scant few config macros initially along with plenty of
guidance on writing the rest.  :)


Sounds good to me. Unless someone objects in the next, say, 48 hours
go ahead and create the branch at your leisure. I assume you'll be
branching off of trunk (as opposed to an existing branch).

Martin



Brad.


-Original Message-
From: Martin Sebor [mailto:[EMAIL PROTECTED] On Behalf Of Martin Sebor
Sent: Saturday, January 05, 2008 4:01 PM
To: stdcxx-dev@incubator.apache.org
Subject: Re: GNU "Autotools" Branch?

Eric Lemings wrote:

I have some code that I'd like to contribute to the Apache STDCXX
repository.  It adds support for the GNU "Autotools" suite of tools
(i.e.
Autoconf, Automake, and Libtool).
 
Would a branch in the Subversion stdcxx/branches directory be the

appropriate place to check in this code?

If you're still developing the code we can create a branches/autotools
branch for this work. But if it's already finished and tested on all
platforms we might want to think about rolling it into 4.3 instead
(once it has been created).

Martin

 
Thanks.










[jira] Closed: (STDCXX-443) [IBM XLC++] should avoid using -qinline or -Q in C++ code

2008-01-07 Thread Travis Vitek (JIRA)

 [ 
https://issues.apache.org/jira/browse/STDCXX-443?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Travis Vitek closed STDCXX-443.
---

Resolution: Fixed

committed to trunk in http://svn.apache.org/viewvc?view=rev&revision=601922
merged to 4.2.x in http://svn.apache.org/viewvc?view=rev&revision=604045

> [IBM XLC++] should avoid using -qinline or -Q in C++ code
> -
>
> Key: STDCXX-443
> URL: https://issues.apache.org/jira/browse/STDCXX-443
> Project: C++ Standard Library
>  Issue Type: Improvement
>  Components: Configuration
>Affects Versions: 4.1.3
> Environment: IBM VisualAge C++ 6.0, 7.0, and XLC++ 8.0
>Reporter: Martin Sebor
>Assignee: Travis Vitek
> Fix For: 4.2.1
>
> Attachments: stdcxx-443.patch
>
>
> Quoting from the XLC++ 8.0 Compiler Reference, page 249 (-Q option):
> To maximize inlining: 
> *  for C programs, specify optimization (-O) and also specify the appropriate 
> -Q options for the C language.
> *  for C++ programs, specify optimization (-O) but do not specify the -Q 
> option.
> We should review whether our use of -Q in optimized builds is called for.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



RE: GNU "Autotools" Branch?

2008-01-07 Thread Eric Lemings

I haven't tested it on any platform other than Mac OS X; not all config
tests have been translated yet into M4 macros (especially tests related
to linking); and those that have been written need a thorough review as
well as some polishing.  So it's safe to say it's still very much in
development.

Once I get a successful 'distcheck', I'll create this branch in the
stdcxx/branches/autotools directory.  The baseline for this branch will
only contain a scant few config macros initially along with plenty of
guidance on writing the rest.  :)

Brad.

> -Original Message-
> From: Martin Sebor [mailto:[EMAIL PROTECTED] On Behalf Of Martin Sebor
> Sent: Saturday, January 05, 2008 4:01 PM
> To: stdcxx-dev@incubator.apache.org
> Subject: Re: GNU "Autotools" Branch?
> 
> Eric Lemings wrote:
> > I have some code that I'd like to contribute to the Apache STDCXX
> > repository.  It adds support for the GNU "Autotools" suite of tools
> > (i.e.
> > Autoconf, Automake, and Libtool).
> >  
> > Would a branch in the Subversion stdcxx/branches directory be the
> > appropriate place to check in this code?
> 
> If you're still developing the code we can create a branches/autotools
> branch for this work. But if it's already finished and tested on all
> platforms we might want to think about rolling it into 4.3 instead
> (once it has been created).
> 
> Martin
> 
> >  
> > Thanks.
> > 
> 
> 


stdcxx-dev@incubator.apache.org

2008-01-07 Thread Martin Sebor (JIRA)

[ 
https://issues.apache.org/jira/browse/STDCXX-612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12556772#action_12556772
 ] 

Martin Sebor commented on STDCXX-612:
-

I also have no problem deferring this issue for 4.3. It's very much a corner 
case. Let's see what Farid thinks about it.

As for compatibility, the [still informal] binary compatibility policy is 
silent on this point but I don't think we need to be concerned with 
hypothetical compilers when it comes to maintaining compatibility. IMO, we 
should only be constrained by compilers we do test and support.

> many iterator types do not work with types that implement unary operator&
> -
>
> Key: STDCXX-612
> URL: https://issues.apache.org/jira/browse/STDCXX-612
> Project: C++ Standard Library
>  Issue Type: Bug
>  Components: 24. Iterators
>Affects Versions: 4.2.0
>Reporter: Travis Vitek
>Assignee: Farid Zaripov
> Fix For: 4.2.1
>
> Attachments: operator_arrow.patch
>
>
> Code that uses the macro _RWSTD_OPERATOR_ARROW will be affected by this 
> issue. Code that has '&*' is also very likely to be affected.
> #include 
> #include 
> #include 
> #include 
> #include 
> struct S
> {
>void operator& () const {};
> };
> int main ()
> {
>// this is just a compile test, it is not intended to run
>std::reverse_iterator().operator->();
>std::set::iterator().operator->();
>std::deque::iterator().operator->();
>std::list::iterator().operator->();
>return 0;
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



stdcxx-dev@incubator.apache.org

2008-01-07 Thread Travis Vitek (JIRA)

[ 
https://issues.apache.org/jira/browse/STDCXX-612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12556768#action_12556768
 ] 

Travis Vitek commented on STDCXX-612:
-

I'm a little on the fence as to whether item 1 above really is forward 
compatible or not. There may be some compiler that we aren't testing that 
requires it, and we would be breaking compatibility there.

I don't really have a problem with letting this issue sit until 4.3 or later. 
I'm also open to never fixing the issue if someone can provide a reasonable 
argument for why you would want it to not work. Of course that may require 
someone to explain why the standards gurus decided to require this interesting 
behavior in some places. That said, if we are intent on doing something with 
this issue now, then I think the above is acceptable.

> many iterator types do not work with types that implement unary operator&
> -
>
> Key: STDCXX-612
> URL: https://issues.apache.org/jira/browse/STDCXX-612
> Project: C++ Standard Library
>  Issue Type: Bug
>  Components: 24. Iterators
>Affects Versions: 4.2.0
>Reporter: Travis Vitek
>Assignee: Farid Zaripov
> Fix For: 4.2.1
>
> Attachments: operator_arrow.patch
>
>
> Code that uses the macro _RWSTD_OPERATOR_ARROW will be affected by this 
> issue. Code that has '&*' is also very likely to be affected.
> #include 
> #include 
> #include 
> #include 
> #include 
> struct S
> {
>void operator& () const {};
> };
> int main ()
> {
>// this is just a compile test, it is not intended to run
>std::reverse_iterator().operator->();
>std::set::iterator().operator->();
>std::deque::iterator().operator->();
>std::list::iterator().operator->();
>return 0;
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



Test Dependencies

2008-01-07 Thread Eric Lemings

It seems that most of the tests depend on nothing more than the
C++ standard library and the RWTest library.  Others have some
dependencies that are not so obvious.  Some require the TOPDIR
environment variable defined, some locale tests require the
locales database files, etc.  Can someone outlines these
dependencies in greater detail?  Or is this info documented in
a file somewhere in the distribution?
 
Thanks,
Brad.


[jira] Commented: (STDCXX-605) [IBM XLC++] errors compiling dynatype.cpp

2008-01-07 Thread Martin Sebor (JIRA)

[ 
https://issues.apache.org/jira/browse/STDCXX-605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12556723#action_12556723
 ] 

Martin Sebor commented on STDCXX-605:
-

Do you want to try to commit it now that you have commit privs?

> [IBM XLC++] errors compiling dynatype.cpp
> -
>
> Key: STDCXX-605
> URL: https://issues.apache.org/jira/browse/STDCXX-605
> Project: C++ Standard Library
>  Issue Type: Bug
>  Components: Examples
>Affects Versions: 4.2.0
> Environment: XLC++ 6.0 through 9.0/AIX 5.3
>Reporter: Martin Sebor
>Assignee: Travis Vitek
> Fix For: 4.2.1
>
> Attachments: stdcxx-605-out.patch, stdcxx-605-v1.patch, 
> stdcxx-605-v2.patch, stdcxx-605-v3.patch
>
>
> The dynatype.cpp example program fails to compile with IBM XLC++ 9.0 on AIX 
> with ethe following errors:
> xlCcore_r -c -I$(TOPDIR)/include/ansi-I$(TOPDIR)/include 
> -I$(BUILDDIR)/include -I$(TOPDIR)/examples/include  -O -Q 
> -qtemplateregistry=dynatype.ti $(TOPDIR)/examples/tutorial/dynatype.cpp
> "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 203.27: 1540-0216 (S) An 
> expression of type "dynatype" cannot be converted to type "int".
> "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 209.30: 1540-0216 (S) An 
> expression of type "dynatype" cannot be converted to type "double".
> "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 215.30: 1540-0216 (S) An 
> expression of type "dynatype" cannot be converted to type "double".
> "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 222.35: 1540-0216 (S) An 
> expression of type "dynatype" cannot be converted to type "const char *".
> "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 228.35: 1540-0216 (S) An 
> expression of type "dynatype" cannot be converted to type "const char *".
> "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 238.28: 1540-0216 (S) An 
> expression of type "dynatype" cannot be converted to type "char".
> gmake: *** [dynatype.o] Error 1

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



stdcxx-dev@incubator.apache.org

2008-01-07 Thread Martin Sebor (JIRA)

[ 
https://issues.apache.org/jira/browse/STDCXX-612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12556722#action_12556722
 ] 

Martin Sebor commented on STDCXX-612:
-

Travis, let us know if this approach sounds reasonable to you or if you see a 
problem.


> many iterator types do not work with types that implement unary operator&
> -
>
> Key: STDCXX-612
> URL: https://issues.apache.org/jira/browse/STDCXX-612
> Project: C++ Standard Library
>  Issue Type: Bug
>  Components: 24. Iterators
>Affects Versions: 4.2.0
>Reporter: Travis Vitek
>Assignee: Farid Zaripov
> Fix For: 4.2.1
>
> Attachments: operator_arrow.patch
>
>
> Code that uses the macro _RWSTD_OPERATOR_ARROW will be affected by this 
> issue. Code that has '&*' is also very likely to be affected.
> #include 
> #include 
> #include 
> #include 
> #include 
> struct S
> {
>void operator& () const {};
> };
> int main ()
> {
>// this is just a compile test, it is not intended to run
>std::reverse_iterator().operator->();
>std::set::iterator().operator->();
>std::deque::iterator().operator->();
>std::list::iterator().operator->();
>return 0;
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



stdcxx-dev@incubator.apache.org

2008-01-07 Thread Martin Sebor (JIRA)

[ 
https://issues.apache.org/jira/browse/STDCXX-612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12556720#action_12556720
 ] 

Martin Sebor commented on STDCXX-612:
-

We need to be careful here. We can't change [revers.iter.opref] or any other 
function that deliberately relies on the return type of operator&() being 
[convertible to] pointer.

As for where things should be defined: _defs.h is for macro definitions only. 
There shouldn't be any other definitions (types, templates, or functions). As 
an aside, we should be using C++ casts in favor of the C-style ones.

Here's how I'd like to propose we proceed:

1) First, to simplify things, eliminate the _RWSTD_ARROW() macro. It's a 
workaround for a compiler limitation that none of our compilers suffers from 
anymore (check the generated config headers) and so this is a forward 
compatible change.

2) For standard container iterators define operator->() in terms of the pointer 
data member as opposed to in terms of operator&() and avoid having to deal with 
any conversion issues.

3) Leave reverse_iterator::operator->() unchanged (i.e., return &operator*()).

4) Change istream_iterator::operator->() to simply return &_C_val.

5) Change  __rw_debug_iter::operator->() to simply return _C_iter.

6) Discuss how to deal with the uninitialized_xxx() algorithms.

> many iterator types do not work with types that implement unary operator&
> -
>
> Key: STDCXX-612
> URL: https://issues.apache.org/jira/browse/STDCXX-612
> Project: C++ Standard Library
>  Issue Type: Bug
>  Components: 24. Iterators
>Affects Versions: 4.2.0
>Reporter: Travis Vitek
>Assignee: Farid Zaripov
> Fix For: 4.2.1
>
> Attachments: operator_arrow.patch
>
>
> Code that uses the macro _RWSTD_OPERATOR_ARROW will be affected by this 
> issue. Code that has '&*' is also very likely to be affected.
> #include 
> #include 
> #include 
> #include 
> #include 
> struct S
> {
>void operator& () const {};
> };
> int main ()
> {
>// this is just a compile test, it is not intended to run
>std::reverse_iterator().operator->();
>std::set::iterator().operator->();
>std::deque::iterator().operator->();
>std::list::iterator().operator->();
>return 0;
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (STDCXX-605) [IBM XLC++] errors compiling dynatype.cpp

2008-01-07 Thread Travis Vitek (JIRA)

[ 
https://issues.apache.org/jira/browse/STDCXX-605?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12556714#action_12556714
 ] 

Travis Vitek commented on STDCXX-605:
-

Dandy.

> [IBM XLC++] errors compiling dynatype.cpp
> -
>
> Key: STDCXX-605
> URL: https://issues.apache.org/jira/browse/STDCXX-605
> Project: C++ Standard Library
>  Issue Type: Bug
>  Components: Examples
>Affects Versions: 4.2.0
> Environment: XLC++ 6.0 through 9.0/AIX 5.3
>Reporter: Martin Sebor
>Assignee: Travis Vitek
> Fix For: 4.2.1
>
> Attachments: stdcxx-605-out.patch, stdcxx-605-v1.patch, 
> stdcxx-605-v2.patch, stdcxx-605-v3.patch
>
>
> The dynatype.cpp example program fails to compile with IBM XLC++ 9.0 on AIX 
> with ethe following errors:
> xlCcore_r -c -I$(TOPDIR)/include/ansi-I$(TOPDIR)/include 
> -I$(BUILDDIR)/include -I$(TOPDIR)/examples/include  -O -Q 
> -qtemplateregistry=dynatype.ti $(TOPDIR)/examples/tutorial/dynatype.cpp
> "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 203.27: 1540-0216 (S) An 
> expression of type "dynatype" cannot be converted to type "int".
> "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 209.30: 1540-0216 (S) An 
> expression of type "dynatype" cannot be converted to type "double".
> "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 215.30: 1540-0216 (S) An 
> expression of type "dynatype" cannot be converted to type "double".
> "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 222.35: 1540-0216 (S) An 
> expression of type "dynatype" cannot be converted to type "const char *".
> "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 228.35: 1540-0216 (S) An 
> expression of type "dynatype" cannot be converted to type "const char *".
> "$(TOPDIR)/examples/tutorial/dynatype.cpp", line 238.28: 1540-0216 (S) An 
> expression of type "dynatype" cannot be converted to type "char".
> gmake: *** [dynatype.o] Error 1

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Created: (STDCXX-688) remove include/xxx_spec.h headers

2008-01-07 Thread Martin Sebor (JIRA)
remove include/xxx_spec.h headers
-

 Key: STDCXX-688
 URL: https://issues.apache.org/jira/browse/STDCXX-688
 Project: C++ Standard Library
  Issue Type: Improvement
  Components: 23. Containers
Reporter: Martin Sebor
Priority: Minor


The xxx_spec.h headers below are a vestige of a failed attempt to provide 
partial specializations of standard containers for pointer types. They have 
never been used, in all likelihood are broken, and should be removed.

$ svn ls http://svn.apache.org/repos/asf/incubator/stdcxx/trunk/include/ | grep 
_spec\.h
deque_spec.h
list_spec.h
vector_spec.h


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.