[Bug libgomp/71959] [OpenACC] #pragma acc parallel leads to segfault in x86_64-pc-linux-gnu-accel-nvptx-none-gcc
nathan at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Aug 25 13:37:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71959
Nathan Sidwell <nathan at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |nathan at gcc dot gnu.org
--- Comment #6 from Nathan Sidwell <nathan at gcc dot gnu.org> ---
The code is ill-formed, for (at least) 3 reasons:
1) only one of the member functions is marked as 'acc routine', before being
called in an offloaded region. the 'pi' function is marked, but the iterator
members, _DummyRed member and the function invoker are not.
2) the loop itself does not contain independent iterations
3) the 'copy(__thread_results[1]...) is copying a single element array, but
then indexing it incorrectly.
Now, openacc doesn't appear to provide any mechanism for marking (say) all the
member fns of a class as routines, and apparently in-class use of 'pragma acc
routine' is not permitted.
Openacc doesn't appear to address non-pod data objects or member functions.
Let alone the complexities of using the STL.
The compiler shouldn't blow up of course ...
More information about the Gcc-bugs
mailing list