aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2013-09-19 13:52:52 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2013-09-19 13:52:52 +0200
commit4befd127ca7e68a5b418e54e3e9eb9e5eef5a193 (patch)
tree0dbed3235787eea739fbf3239ef57ffa3982bdcc
parent0e1a966a86cae30717df3d1951e15dcba6d9fc98 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/omp-low.c3
-rw-r--r--libgomp/ChangeLog4
-rw-r--r--libgomp/testsuite/libgomp.c/sections-2.c29
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;
+}