On Fri, 2 Jun 2023 at 08:33, François Dumont wrote:

> I haven't been able to reproduce so far.
>
> Here is however a patch that I think will fix the problem. At least
> failing tests are UNRESOLVED on my system.
>
>     libstdc++: Fix broken _GLIBCXX_PARALLEL mode
>
>     Add missing <parallel/search.h> include in <parallel/algobase.h>.
>

This fixes the broken parallel mode.


>
>     Detect availability of <omp.h> in tests needing it to make them
> UNSUPPORTED
>     rather than PASS when header is missing.
>
>     libstdc++-v3/ChangeLog:
>
>             * include/parallel/algobase.h: Include <parallel/search.h>.
>             * testsuite/lib/libstdc++.exp (check_effective_target_omp):
> New.
>             * testsuite/17_intro/headers/c++2011/parallel_mode.cc:
>             Add { dg-require-effective-target omp }.
>             * testsuite/17_intro/headers/c++2014/parallel_mode.cc:
> Likewise.
>             * testsuite/17_intro/headers/c++2017/parallel_mode.cc:
> Likewise.
>
> Ok to commit ?
>

Please just add the #include to parallel/algobase.h for now.

The effective-target keyword seems reasonable, but "omp" is not a good
name. And if we add that dg-require-effective-target to those tests then
they don't need to repeat the check in the test itself:
#if __has_include(<omp.h>)

So please just add the #include and then we can revisit the
effective-target separately.



>
> On 01/06/2023 23:57, Jonathan Wakely wrote:
>
> On Thu, 1 Jun 2023, 21:37 François Dumont via Libstdc++, <
> libstd...@gcc.gnu.org> wrote:
>
>> 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
>
> I haven't used --disable-libgomp. But maybe when I run configure the 1st
> time it tried to detect OMP install and failed to find it as I just
> installed it.
>

I don't know what you mean, because GCC doesn't depend on "OMP". GCC
includes its own OpenMP implementation, and installs its own libgomp
runtime library to support the -fopenmp flag. It doesn't depend on anything
else.

Which OS are you testing on?

Reply via email to