On Tue, Sep 29, 2020 at 08:25:44PM +0100, Andrew Stubbs wrote: > 2020-09-29 Andrew Stubbs <a...@codesourcery.com> > > * parallel.c (gomp_resolve_num_threads): Ignore nest_var on nvptx > and amdgcn targets. > > diff --git a/libgomp/parallel.c b/libgomp/parallel.c > index 2423f11f44a..0618056a7fe 100644 > --- a/libgomp/parallel.c > +++ b/libgomp/parallel.c > @@ -48,7 +48,14 @@ gomp_resolve_num_threads (unsigned specified, unsigned > count) > > if (specified == 1) > return 1; > - else if (thr->ts.active_level >= 1 && !icv->nest_var) > + > + /* Accelerators with fixed thread counts require this to return 1 for > + nested parallel regions. */ > + if (thr->ts.active_level >= 1 > +#if !defined(__AMDGCN__) && !defined(__nvptx__)
I think the comment should go right above the #if !defined line, because it doesn't describe what the whole if is about, just a particular detail in it. I think I'd prefer some macro for this, but we already have quite a few nvptx and AMDGCN ifdefs in libgomp/*.c, so I can live with that. So ok for trunk with the comment move. > + && !icv->nest_var > +#endif > + ) > return 1; > else if (thr->ts.active_level >= gomp_max_active_levels_var) > return 1; Jakub