PR middle-end/66133
commitb25f70fd08e427e7e0e9c197f62a05fcd98dfe89
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 13 May 2015 16:59:20 +0000 (13 16:59 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 13 May 2015 16:59:20 +0000 (13 16:59 +0000)
treea98a3f2c207b53f57c6310b769a54c75b47423f1
parentac24a241155b26fcec492be038cd71eb2a0d3b2a
PR middle-end/66133
* omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
make sure it is never noreturn, even when the task body does not
return.
(lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
right before GIMPLE_OMP_RETURN.
(make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
for GIMPLE_OMP_TASK.  For GIMPLE_OMP_RETURN corresponding to
GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.

* testsuite/libgomp.c/pr66133.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@223171 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/omp-low.c
libgomp/ChangeLog
libgomp/testsuite/libgomp.c/pr66133.c [new file with mode: 0644]