public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Bug in GCC 4.5 c++0x version of std::list<T>::merge(&&)?
@ 2009-12-08  3:39 Benjamin Redelings I
  2009-12-08  8:26 ` Jonathan Wakely
  2009-12-08  9:54 ` Piotr Wyderski
  0 siblings, 2 replies; 4+ messages in thread
From: Benjamin Redelings I @ 2009-12-08  3:39 UTC (permalink / raw)
  To: gcc

Hi,

It seems that many current uses of list<T>::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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Bug in GCC 4.5 c++0x version of std::list<T>::merge(&&)?
  2009-12-08  3:39 Bug in GCC 4.5 c++0x version of std::list<T>::merge(&&)? Benjamin Redelings I
@ 2009-12-08  8:26 ` Jonathan Wakely
  2009-12-08  9:54 ` Piotr Wyderski
  1 sibling, 0 replies; 4+ messages in thread
From: Jonathan Wakely @ 2009-12-08  8:26 UTC (permalink / raw)
  To: Benjamin Redelings I; +Cc: gcc, libstdc++

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 list<T>::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(list<T,Allocator>&& x);
template <class Compare> void merge(list<T,Allocator>&& x, Compare comp);

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

Jonathan

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Bug in GCC 4.5 c++0x version of std::list<T>::merge(&&)?
  2009-12-08  3:39 Bug in GCC 4.5 c++0x version of std::list<T>::merge(&&)? Benjamin Redelings I
  2009-12-08  8:26 ` Jonathan Wakely
@ 2009-12-08  9:54 ` Piotr Wyderski
  2009-12-08 10:01   ` Paolo Carlini
  1 sibling, 1 reply; 4+ messages in thread
From: Piotr Wyderski @ 2009-12-08  9:54 UTC (permalink / raw)
  To: Benjamin Redelings I; +Cc: gcc

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Bug in GCC 4.5 c++0x version of std::list<T>::merge(&&)?
  2009-12-08  9:54 ` Piotr Wyderski
@ 2009-12-08 10:01   ` Paolo Carlini
  0 siblings, 0 replies; 4+ messages in thread
From: Paolo Carlini @ 2009-12-08 10:01 UTC (permalink / raw)
  To: Piotr Wyderski; +Cc: Benjamin Redelings I, gcc

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.

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-12-08 10:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-08  3:39 Bug in GCC 4.5 c++0x version of std::list<T>::merge(&&)? Benjamin Redelings I
2009-12-08  8:26 ` Jonathan Wakely
2009-12-08  9:54 ` Piotr Wyderski
2009-12-08 10:01   ` Paolo Carlini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).