public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug libstdc++/26733]  New: move semantics vs. debug mode
@ 2006-03-17 19:11 bkoz at gcc dot gnu dot org
  2006-03-17 19:15 ` [Bug libstdc++/26733] " bkoz at gcc dot gnu dot org
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2006-03-17 19:11 UTC (permalink / raw)
  To: gcc-bugs




-- 
           Summary: move semantics vs. debug mode
           Product: gcc
           Version: 4.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: bkoz at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26733


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

* [Bug libstdc++/26733] move semantics vs. debug mode
  2006-03-17 19:11 [Bug libstdc++/26733] New: move semantics vs. debug mode bkoz at gcc dot gnu dot org
@ 2006-03-17 19:15 ` bkoz at gcc dot gnu dot org
  2006-03-17 19:16 ` bkoz at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2006-03-17 19:15 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from bkoz at gcc dot gnu dot org  2006-03-17 19:15 -------

On libstdcxx_so_7-branch, there is preliminary support for move semantics.

These patches have some issues:

1) _GLIBCXX_STD_MOVE not listed in any ChangeLog entry...
2) new fails in debug mode.

First pointed out here:
http://gcc.gnu.org/ml/libstdc++/2006-03/msg00034.html

>From that:

While testing this, I noticed some issues with the current
_GLIBCXX_STD_MOVE related code in debug mode, regardless of symbol
versioning strategy. (Is this vestigial from when debug mode was not
nested?) For the time being, I am going to punt on this, as I have a
couple other patches to go. I attach the current fails for both, which
are the same. Since this stuff is not on mainline, I am not quite sure
it's been tested in debug mode, and I forgot to make debug mode
baselines before I started with this stuff.  So, I'll return to this
issue shortly.

FAIL: 20_util/utility/pair/moveable.cc execution test
FAIL: 21_strings/basic_string/element_access/char/empty.cc execution test
FAIL: 21_strings/basic_string/element_access/wchar_t/empty.cc execution test
FAIL: 23_containers/deque/moveable.cc execution test
FAIL: 23_containers/deque/resize/moveable.cc execution test
FAIL: 23_containers/list/moveable.cc execution test
FAIL: 23_containers/map/moveable.cc execution test
FAIL: 23_containers/multimap/moveable.cc execution test
FAIL: 23_containers/multiset/moveable.cc execution test
FAIL: 23_containers/set/moveable.cc execution test
FAIL: 23_containers/vector/moveable.cc execution test
FAIL: 23_containers/vector/resize/moveable.cc execution test

It turns out that these fails were pre-existing.


-- 

bkoz at gcc dot gnu dot org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Known to fail|                            |4.2.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26733


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

* [Bug libstdc++/26733] move semantics vs. debug mode
  2006-03-17 19:11 [Bug libstdc++/26733] New: move semantics vs. debug mode bkoz at gcc dot gnu dot org
  2006-03-17 19:15 ` [Bug libstdc++/26733] " bkoz at gcc dot gnu dot org
@ 2006-03-17 19:16 ` bkoz at gcc dot gnu dot org
  2006-03-17 19:48 ` pcarlini at suse dot de
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2006-03-17 19:16 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from bkoz at gcc dot gnu dot org  2006-03-17 19:16 -------
Created an attachment (id=11065)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=11065&action=view)
patch to test debug mode


This runs the testsuite with -D_GLIBCXX_DEBUG.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26733


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

* [Bug libstdc++/26733] move semantics vs. debug mode
  2006-03-17 19:11 [Bug libstdc++/26733] New: move semantics vs. debug mode bkoz at gcc dot gnu dot org
  2006-03-17 19:15 ` [Bug libstdc++/26733] " bkoz at gcc dot gnu dot org
  2006-03-17 19:16 ` bkoz at gcc dot gnu dot org
@ 2006-03-17 19:48 ` pcarlini at suse dot de
  2006-03-27 12:34 ` pcarlini at suse dot de
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: pcarlini at suse dot de @ 2006-03-17 19:48 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from pcarlini at suse dot de  2006-03-17 19:48 -------
(In reply to comment #1)
> On libstdcxx_so_7-branch, there is preliminary support for move semantics.
> 
> These patches have some issues:
> 
> 1) _GLIBCXX_STD_MOVE not listed in any ChangeLog entry...
> 2) new fails in debug mode.

Benjamin, I suspect the issues are related. Definitely, _GLIBCXX_STD_MOVE
predates the latest version of debug mode: I had to quickly hack it on the
occasion of the 2005-12-23 merge, to avoid fails together with the first
version of the nested debug mode. I think it should be simply updated
consistently with the current version.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26733


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

* [Bug libstdc++/26733] move semantics vs. debug mode
  2006-03-17 19:11 [Bug libstdc++/26733] New: move semantics vs. debug mode bkoz at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2006-03-17 19:48 ` pcarlini at suse dot de
@ 2006-03-27 12:34 ` pcarlini at suse dot de
  2006-03-27 20:33 ` paolo at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: pcarlini at suse dot de @ 2006-03-27 12:34 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from pcarlini at suse dot de  2006-03-27 12:34 -------
Working on it.


-- 

pcarlini at suse dot de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |pcarlini at suse dot de
                   |dot org                     |
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2006-03-27 12:34:15
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26733


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

* [Bug libstdc++/26733] move semantics vs. debug mode
  2006-03-17 19:11 [Bug libstdc++/26733] New: move semantics vs. debug mode bkoz at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2006-03-27 12:34 ` pcarlini at suse dot de
@ 2006-03-27 20:33 ` paolo at gcc dot gnu dot org
  2006-03-27 20:36 ` pcarlini at suse dot de
  2006-03-29 17:40 ` bkoz at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: paolo at gcc dot gnu dot org @ 2006-03-27 20:33 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from paolo at gcc dot gnu dot org  2006-03-27 20:33 -------
Subject: Bug 26733

Author: paolo
Date: Mon Mar 27 20:33:41 2006
New Revision: 112426

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=112426
Log:
2006-03-27  Paolo Carlini  <pcarlini@suse.de>

        PR libstdc++/26733
        * include/bits/basic_string.h (operator[]): Commit for real
        2005-05-19 mainline change, lost in a merge.
        * include/debug/deque (deque<>::deque(__gnu_cxx::__rvalref<>),
        deque<>::operator=(__gnu_cxx::__rvalref<>)): Add
        (struct __is_moveable<std::__debug::deque<> >): Add.
        * include/debug/list (list<>::list(__gnu_cxx::__rvalref<>),
        list<>::operator=(__gnu_cxx::__rvalref<>)): Add
        (struct __is_moveable<std::__debug::list<> >): Add.
        * include/debug/map.h (map<>::map(__gnu_cxx::__rvalref<>),
        map<>::operator=(__gnu_cxx::__rvalref<>)): Add.
        (struct __is_moveable<std::__debug::map<> >): Add.
        * include/debug/multimap.h (multimap<>::multimap(__gnu_cxx::
        __rvalref<>), multimap<>::operator=(__gnu_cxx::__rvalref<>)): Add.
        (struct __is_moveable<std::__debug::multimap<> >): Add.
        * include/debug/multiset.h (multiset<>::multiset(__gnu_cxx::
        __rvalref<>), multiset<>::operator=(__gnu_cxx::__rvalref<>)): Add
        (struct __is_moveable<std::__debug::multiset<> >): Add.
        * include/debug/set.h (set<>::set(__gnu_cxx::__rvalref<>),
        set<>::operator=(__gnu_cxx::__rvalref<>)): Add.
        (struct __is_moveable<std::__debug::set<> >): Add.
        * include/debug/vector (vector<>::vector(__gnu_cxx::
        __rvalref<>), vector<>::operator=(__gnu_cxx::__rvalref<>)): Add
        (struct __is_moveable<std::__debug::vector<> >): Add.
        * testsuite/23_containers/deque/resize/moveable.cc: In debug mode
        allow for one additional copy for each resize, due to the by value
        second argument.
        * testsuite/23_containers/vector/resize/moveable.cc: Likewise.

Modified:
    branches/libstdcxx_so_7-branch/libstdc++-v3/ChangeLog.libstdcxx_so_7-branch
    branches/libstdcxx_so_7-branch/libstdc++-v3/include/bits/basic_string.h
    branches/libstdcxx_so_7-branch/libstdc++-v3/include/debug/deque
    branches/libstdcxx_so_7-branch/libstdc++-v3/include/debug/list
    branches/libstdcxx_so_7-branch/libstdc++-v3/include/debug/map.h
    branches/libstdcxx_so_7-branch/libstdc++-v3/include/debug/multimap.h
    branches/libstdcxx_so_7-branch/libstdc++-v3/include/debug/multiset.h
    branches/libstdcxx_so_7-branch/libstdc++-v3/include/debug/set.h
    branches/libstdcxx_so_7-branch/libstdc++-v3/include/debug/vector
   
branches/libstdcxx_so_7-branch/libstdc++-v3/testsuite/23_containers/deque/resize/moveable.cc
   
branches/libstdcxx_so_7-branch/libstdc++-v3/testsuite/23_containers/vector/resize/moveable.cc


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26733


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

* [Bug libstdc++/26733] move semantics vs. debug mode
  2006-03-17 19:11 [Bug libstdc++/26733] New: move semantics vs. debug mode bkoz at gcc dot gnu dot org
                   ` (4 preceding siblings ...)
  2006-03-27 20:33 ` paolo at gcc dot gnu dot org
@ 2006-03-27 20:36 ` pcarlini at suse dot de
  2006-03-29 17:40 ` bkoz at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: pcarlini at suse dot de @ 2006-03-27 20:36 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from pcarlini at suse dot de  2006-03-27 20:35 -------
Fixed.


-- 

pcarlini at suse dot de changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26733


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

* [Bug libstdc++/26733] move semantics vs. debug mode
  2006-03-17 19:11 [Bug libstdc++/26733] New: move semantics vs. debug mode bkoz at gcc dot gnu dot org
                   ` (5 preceding siblings ...)
  2006-03-27 20:36 ` pcarlini at suse dot de
@ 2006-03-29 17:40 ` bkoz at gcc dot gnu dot org
  6 siblings, 0 replies; 8+ messages in thread
From: bkoz at gcc dot gnu dot org @ 2006-03-29 17:40 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #7 from bkoz at gcc dot gnu dot org  2006-03-29 17:40 -------

Excellent job Paolo! Thanks.


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26733


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

end of thread, other threads:[~2006-03-29 17:40 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-03-17 19:11 [Bug libstdc++/26733] New: move semantics vs. debug mode bkoz at gcc dot gnu dot org
2006-03-17 19:15 ` [Bug libstdc++/26733] " bkoz at gcc dot gnu dot org
2006-03-17 19:16 ` bkoz at gcc dot gnu dot org
2006-03-17 19:48 ` pcarlini at suse dot de
2006-03-27 12:34 ` pcarlini at suse dot de
2006-03-27 20:33 ` paolo at gcc dot gnu dot org
2006-03-27 20:36 ` pcarlini at suse dot de
2006-03-29 17:40 ` bkoz at gcc dot gnu dot org

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).