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.

To be continued tomorrow...

On 01/06/2023 14:05, Jonathan Wakely wrote:


On Thu, 1 Jun 2023 at 12:52, Rainer Orth <r...@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++ <
    > libstd...@gcc.gnu.org <mailto:libstdc%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

Reply via email to