* [Bug libstdc++/21796] (v7-branch) std::search not using std::find
2005-05-28 7:59 [Bug libstdc++/21796] New: (v7-branch) std::search not using std::find pcarlini at suse dot de
@ 2005-06-04 12:07 ` chris at bubblescope dot net
2005-06-04 15:16 ` pinskia at gcc dot gnu dot org
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: chris at bubblescope dot net @ 2005-06-04 12:07 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From chris at bubblescope dot net 2005-06-04 12:07 -------
This is being held up by PR20408, Unnecessary code generated for empty structs, as we'd have to pass
both the item to find and the comparitor (which is often an empty class) to std::find_if
--
What |Removed |Added
----------------------------------------------------------------------------
BugsThisDependsOn| |20408
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21796
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libstdc++/21796] (v7-branch) std::search not using std::find
2005-05-28 7:59 [Bug libstdc++/21796] New: (v7-branch) std::search not using std::find pcarlini at suse dot de
2005-06-04 12:07 ` [Bug libstdc++/21796] " chris at bubblescope dot net
@ 2005-06-04 15:16 ` pinskia at gcc dot gnu dot org
2005-06-04 18:00 ` pcarlini at suse dot de
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-04 15:16 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pinskia at gcc dot gnu dot org 2005-06-04 15:16 -------
(In reply to comment #1)
> This is being held up by PR20408, Unnecessary code generated for empty structs, as we'd have to
> pass both the item to find and the comparitor (which is often an empty class) to std::find_if
Why do you care about one instruction, only on stack argument passing targets?
Really there is no good reason to block one improvement for another which is most likely not going to
be fixed in a long time.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Ever Confirmed| |1
Last reconfirmed|0000-00-00 00:00:00 |2005-06-04 15:16:04
date| |
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21796
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libstdc++/21796] (v7-branch) std::search not using std::find
2005-05-28 7:59 [Bug libstdc++/21796] New: (v7-branch) std::search not using std::find pcarlini at suse dot de
2005-06-04 12:07 ` [Bug libstdc++/21796] " chris at bubblescope dot net
2005-06-04 15:16 ` pinskia at gcc dot gnu dot org
@ 2005-06-04 18:00 ` pcarlini at suse dot de
2005-06-18 22:18 ` chris at bubblescope dot net
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: pcarlini at suse dot de @ 2005-06-04 18:00 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pcarlini at suse dot de 2005-06-04 18:00 -------
There is some truth in what Andrew and Chris are saying, and myself ;) : we
have quite a few improvements to merge to mainline and other in progress in
v7. Maybe, as an intermediate step, we will end up taking care of this
issue separately from 20408.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21796
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libstdc++/21796] (v7-branch) std::search not using std::find
2005-05-28 7:59 [Bug libstdc++/21796] New: (v7-branch) std::search not using std::find pcarlini at suse dot de
` (2 preceding siblings ...)
2005-06-04 18:00 ` pcarlini at suse dot de
@ 2005-06-18 22:18 ` chris at bubblescope dot net
2005-06-18 22:22 ` pcarlini at suse dot de
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: chris at bubblescope dot net @ 2005-06-18 22:18 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From chris at bubblescope dot net 2005-06-18 22:18 -------
Actually, *slaps forehead*, the problem of empty structs can just be avoided
using EBO :) I'll knock up a patch doing just that :)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21796
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libstdc++/21796] (v7-branch) std::search not using std::find
2005-05-28 7:59 [Bug libstdc++/21796] New: (v7-branch) std::search not using std::find pcarlini at suse dot de
` (3 preceding siblings ...)
2005-06-18 22:18 ` chris at bubblescope dot net
@ 2005-06-18 22:22 ` pcarlini at suse dot de
2005-06-29 19:21 ` cvs-commit at gcc dot gnu dot org
2005-06-29 19:22 ` pcarlini at suse dot de
6 siblings, 0 replies; 8+ messages in thread
From: pcarlini at suse dot de @ 2005-06-18 22:22 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pcarlini at suse dot de 2005-06-18 22:21 -------
Ah! And in that case the solution promises to be also very clean! Remember to
post first a simple example, as usual.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21796
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libstdc++/21796] (v7-branch) std::search not using std::find
2005-05-28 7:59 [Bug libstdc++/21796] New: (v7-branch) std::search not using std::find pcarlini at suse dot de
` (4 preceding siblings ...)
2005-06-18 22:22 ` pcarlini at suse dot de
@ 2005-06-29 19:21 ` cvs-commit at gcc dot gnu dot org
2005-06-29 19:22 ` pcarlini at suse dot de
6 siblings, 0 replies; 8+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-06-29 19:21 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From cvs-commit at gcc dot gnu dot org 2005-06-29 19:21 -------
Subject: Bug 21796
CVSROOT: /cvs/gcc
Module name: gcc
Branch: libstdcxx_so_7-branch
Changes by: paolo@gcc.gnu.org 2005-06-29 19:20:49
Modified files:
libstdc++-v3/include/bits: predefined_ops.h stl_algo.h
libstdc++-v3/testsuite/25_algorithms/search: 1.cc check_type.cc
libstdc++-v3/src: string-inst.cc
Log message:
2005-06-29 Chris Jefferson <chris@bubblescope.net>
PR libstdc++/21796
* include/bits/predefined_ops.h (__bind2nd, bind2nd): New.
* include/bits/stl_algo.h (search): Delegate to specializations.
(__search(,,,,,forward_iterator_tag): Tidy up original version of
std::search, add calls to find_if.
(__search(,,,,,random_access_iterator_tag): Add new random access
specialization.
* testsuite/25_algorithms/search/1.cc: Add new test.
* testsuite/25_algorithms/search/check_type.cc: Improve and extend
tests.
2005-06-29 Paolo Carlini <pcarlini@suse.de>
* src/string-inst.cc: Add explicit instantiations of __search and
__find_if.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/predefined_ops.h.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=1.1.2.2&r2=1.1.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/include/bits/stl_algo.h.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=1.47.6.13&r2=1.47.6.14
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/25_algorithms/search/1.cc.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=1.1.2.2&r2=1.1.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/testsuite/25_algorithms/search/check_type.cc.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=1.1.2.1&r2=1.1.2.2
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/libstdc++-v3/src/string-inst.cc.diff?cvsroot=gcc&only_with_tag=libstdcxx_so_7-branch&r1=1.31.8.2&r2=1.31.8.3
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21796
^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug libstdc++/21796] (v7-branch) std::search not using std::find
2005-05-28 7:59 [Bug libstdc++/21796] New: (v7-branch) std::search not using std::find pcarlini at suse dot de
` (5 preceding siblings ...)
2005-06-29 19:21 ` cvs-commit at gcc dot gnu dot org
@ 2005-06-29 19:22 ` pcarlini at suse dot de
6 siblings, 0 replies; 8+ messages in thread
From: pcarlini at suse dot de @ 2005-06-29 19:22 UTC (permalink / raw)
To: gcc-bugs
------- Additional Comments From pcarlini at suse dot de 2005-06-29 19:21 -------
Fixed.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21796
^ permalink raw reply [flat|nested] 8+ messages in thread