mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-10 21:41:14 +08:00
omp-low.c (expand_omp_sections): Always pass len - 1 to GOMP_sections_start, even if !exit_reachable.
* omp-low.c (expand_omp_sections): Always pass len - 1 to GOMP_sections_start, even if !exit_reachable. libgomp/ * testsuite/libgomp.c/sections-2.c: New test. From-SVN: r202738
This commit is contained in:
parent
0e1a966a86
commit
4befd127ca
@ -1,3 +1,8 @@
|
||||
2013-09-19 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* omp-low.c (expand_omp_sections): Always pass len - 1 to
|
||||
GOMP_sections_start, even if !exit_reachable.
|
||||
|
||||
2013-09-18 Vladimir Makarov <vmakarov@redhat.com>
|
||||
|
||||
* lra-constraints.c (need_for_all_save_p): Use macro
|
||||
|
@ -5869,8 +5869,7 @@ expand_omp_sections (struct omp_region *region)
|
||||
{
|
||||
/* If we are not inside a combined parallel+sections region,
|
||||
call GOMP_sections_start. */
|
||||
t = build_int_cst (unsigned_type_node,
|
||||
exit_reachable ? len - 1 : len);
|
||||
t = build_int_cst (unsigned_type_node, len - 1);
|
||||
u = builtin_decl_explicit (BUILT_IN_GOMP_SECTIONS_START);
|
||||
stmt = gimple_build_call (u, 1, t);
|
||||
}
|
||||
|
@ -1,3 +1,7 @@
|
||||
2013-09-19 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* testsuite/libgomp.c/sections-2.c: New test.
|
||||
|
||||
2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
|
||||
|
||||
* testsuite/libgomp.fortran/strassen.f90:
|
||||
|
29
libgomp/testsuite/libgomp.c/sections-2.c
Normal file
29
libgomp/testsuite/libgomp.c/sections-2.c
Normal file
@ -0,0 +1,29 @@
|
||||
/* { dg-do run } */
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
__attribute__((noinline, noclone, noreturn))
|
||||
void
|
||||
foo ()
|
||||
{
|
||||
sleep (4);
|
||||
exit (0);
|
||||
}
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
#pragma omp parallel
|
||||
{
|
||||
#pragma omp sections
|
||||
{
|
||||
foo ();
|
||||
#pragma omp section
|
||||
foo ();
|
||||
#pragma omp section
|
||||
foo ();
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user