[PATCH] Move std::search into algobase.h
Jonathan Wakely
jwakely.gcc@gmail.com
Thu Jun 1 21:57:30 GMT 2023
On Thu, 1 Jun 2023, 21:37 François Dumont via Libstdc++, <
libstdc++@gcc.gnu.org> wrote:
> It's of course not as easy as I thought.
>
> I would never have detected this problem on my system because I'm
> missing omp.h.
>
> I've implemented and added a:
>
> // { dg-require-effective-target omp }
>
> so that now those tests are UNRESOLVED rather than PASS.
>
> Now I've install OMP and try to rebuild lib to reproduce the failure.
>
You shouldn't need to install anything, just build gcc and don't configure
it with --disable-libgomp
> To be continued tomorrow...
>
> On 01/06/2023 14:05, Jonathan Wakely wrote:
> >
> >
> > On Thu, 1 Jun 2023 at 12:52, Rainer Orth <ro@cebitec.uni-bielefeld.de>
> > wrote:
> >
> > Jonathan Wakely via Gcc-patches <gcc-patches@gcc.gnu.org> writes:
> >
> > > On Wed, 31 May 2023 at 18:39, François Dumont via Libstdc++ <
> > > libstdc++@gcc.gnu.org <mailto:libstdc%2B%2B@gcc.gnu.org>> wrote:
> > >
> > >> libstdc++: Reduce <functional> inclusion to <stl_algobase.h>
> > >>
> > >>
> > >> Move the std::search definition from stl_algo.h to
> > stl_algobase.h and use
> > >> the later in <functional>.
> > >>
> > >> For consistency also move std::__parallel::search and
> > associated helpers
> > >> from
> > >> <parallel/stl_algo.h> to <parallel/stl_algobase.h> so that
> > >> std::__parallel::search
> > >> is accessible along with std::search.
> > >>
> > >> libstdc++-v3/ChangeLog:
> > >>
> > >> * include/bits/stl_algo.h
> > >> (std::__search, std::search(_FwdIt1, _FwdIt1,
> _FwdIt2,
> > >> _FwdIt2, _BinPred)): Move...
> > >> * include/bits/stl_algobase.h: ...here.
> > >> * include/std/functional: Replace <stl_algo.h>
> > include by
> > >> <stl_algobase.h>.
> > >> * include/parallel/algo.h
> > (std::__parallel::search<_FIt1,
> > >> _FIt2, _BinaryPred>)
> > >> (std::__parallel::__search_switch<_FIt1, _FIt2,
> > >> _BinaryPred, _ItTag1, _ItTag2>):
> > >> Move...
> > >> * include/parallel/algobase.h: ...here.
> > >> * include/std/functional: Remove <bits/stl_algo.h>
> and
> > >> <parallel/algorithm>
> > >> includes. Include <bits/stl_algobase.h>.
> > >>
> > >> Tested under Linux x86_64.
> > >>
> > >> Ok to commit ?
> > >>
> > >
> > > OK
> >
> > This seems to have caused
> >
> > +FAIL: 17_intro/headers/c++2011/parallel_mode.cc (test for excess
> > errors)
> > +FAIL: 17_intro/headers/c++2014/parallel_mode.cc (test for excess
> > errors)
> >
> > on i386-pc-solaris2.11:
> >
> >
> > I think it affects all targets.
> >
> >
> > Excess errors:
> >
> /var/gcc/regression/master/11.4-gcc-gas/build/i386-pc-solaris2.11/libstdc++-v3/include/parallel/algobase.h:496:
> > error: '__search_template' is not a member of '__gnu_parallel';
> > did you mean '__find_template'?
> >
> > Rainer
> >
> > --
> >
> -----------------------------------------------------------------------------
> > Rainer Orth, Center for Biotechnology, Bielefeld University
> >
>
More information about the Libstdc++
mailing list