Re: Bug in GCC 4.5 c++0x version of std::listT::merge()?

2009-12-08 Thread Jonathan Wakely
2009/12/8 Benjamin Redelings I:
 Hi,

Hi,
I've CC'd the libstdc++ list, please reply there instead of the gcc list.

 It seems that many current uses of listT::merge( ) fail to compile with
 -std=c++0x, but I don't see a bug in bugzilla for this.  Itseems to result
 from:

 list_Tp, _Alloc::
 #ifdef __GXX_EXPERIMENTAL_CXX0X__
 merge(list __x)
 #else
 merge(list __x)
 #endif

 For c++0x, don't we need BOTH versions, since lvalues no longer bind to
 rvalue references, or am I missing something?

The WP only has:
void merge(listT,Allocator x);
template class Compare void merge(listT,Allocator x, Compare comp);

See http://home.roadrunner.com/~hinnant/issue_review/lwg-active.html#1133
which covers a similar issue with splice.

Jonathan


Re: Bug in GCC 4.5 c++0x version of std::listT::merge()?

2009-12-08 Thread Piotr Wyderski
Benjamin Redelings wrote:

 since lvalues no longer bind to rvalue references

When has it changed? Could you please give
a reference to some paper/discussion about it?
I'm asking, because my C++0x-based application
stopped to compile on newer 4.5-s and one of
the problems is mentioned above -- but I thought
that it was a GCC issue, not a change in the Standard.

Best regards
Piotr Wyderski


Re: Bug in GCC 4.5 c++0x version of std::listT::merge()?

2009-12-08 Thread Paolo Carlini
On 12/08/2009 10:54 AM, Piotr Wyderski wrote:
 When has it changed? Could you please give
 a reference to some paper/discussion about it?
   

   http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2844.html

Just as an example...

Paolo.


Bug in GCC 4.5 c++0x version of std::listT::merge()?

2009-12-07 Thread Benjamin Redelings I

Hi,

It seems that many current uses of listT::merge( ) fail to compile 
with -std=c++0x, but I don't see a bug in bugzilla for this.  Itseems to 
result from:


list_Tp, _Alloc::
#ifdef __GXX_EXPERIMENTAL_CXX0X__
merge(list __x)
#else
merge(list __x)
#endif

For c++0x, don't we need BOTH versions, since lvalues no longer bind to 
rvalue references, or am I missing something?


-BenRI