diff options
author | Jakub Jelinek <jakub@redhat.com> | 2013-09-19 13:52:52 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2013-09-19 13:52:52 +0200 |
commit | 4befd127ca7e68a5b418e54e3e9eb9e5eef5a193 (patch) | |
tree | 0dbed3235787eea739fbf3239ef57ffa3982bdcc | |
parent | 0e1a966a86cae30717df3d1951e15dcba6d9fc98 (diff) | |
download | gcc-4befd127ca7e68a5b418e54e3e9eb9e5eef5a193.zip gcc-4befd127ca7e68a5b418e54e3e9eb9e5eef5a193.tar.gz gcc-4befd127ca7e68a5b418e54e3e9eb9e5eef5a193.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/omp-low.c | 3 | ||||
-rw-r--r-- | libgomp/ChangeLog | 4 | ||||
-rw-r--r-- | libgomp/testsuite/libgomp.c/sections-2.c | 29 |
4 files changed, 39 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ad70c24..99218e2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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 diff --git a/gcc/omp-low.c b/gcc/omp-low.c index 221ae71..304ea36 100644 --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -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); } diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 6687169..67ce627 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -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: diff --git a/libgomp/testsuite/libgomp.c/sections-2.c b/libgomp/testsuite/libgomp.c/sections-2.c new file mode 100644 index 0000000..38216be --- /dev/null +++ b/libgomp/testsuite/libgomp.c/sections-2.c @@ -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; +} |