diff libgomp/testsuite/libgomp.c/debug-1.c @ 0:a06113de4d67

first commit
author kent <kent@cr.ie.u-ryukyu.ac.jp>
date Fri, 17 Jul 2009 14:47:48 +0900
parents
children 04ced10e8804
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libgomp/testsuite/libgomp.c/debug-1.c	Fri Jul 17 14:47:48 2009 +0900
@@ -0,0 +1,162 @@
+/* PR debug/36617 */
+/* { dg-do run } */
+/* { dg-options "-g -fopenmp -O0" } */
+
+int
+f1 (void)
+{
+  int v1i, v1j, v1k, v1l = 0;
+  v1i = 6;
+  v1j = 8;
+  #pragma omp parallel private (v1k) firstprivate (v1j) shared (v1i) reduction (+:v1l)
+  {
+    v1k = v1i + v1j;
+    {
+      int v1m = 1;
+      v1l = v1m;
+    }
+  }
+  return v1l;
+}
+
+int v2k = 9;
+
+int
+f2 (void)
+{
+  int v2i = 6, v2j = 7;
+  #pragma omp single private (v2i) firstprivate (v2k)
+  {
+    int v2l = v2j + v2k;
+    v2i = 8;
+    v2k = 10;
+    v2j = v2l + v2i;
+  }
+  return v2i + v2j;
+}
+
+int
+f3 (void)
+{
+  int v3i = 6, v3j = 7, v3k = 9;
+  #pragma omp parallel
+  {
+    #pragma omp master
+      v3i++;
+    #pragma omp single private (v3i) firstprivate (v3k)
+    {
+      int v3l = v3j + v3k;
+      v3i = 8;
+      v3k = 10;
+      v3j = v3l + v3i;
+    }
+    #pragma omp atomic
+      v3k++;
+  }
+  return v3i + v3j;
+}
+
+int v4k = 9, v4l = 0;
+
+int
+f4 (void)
+{
+  int v4i = 6, v4j = 7, v4n = 0;
+  #pragma omp sections private (v4i) firstprivate (v4k) reduction (+:v4l)
+  {
+    #pragma omp section
+    {
+      int v4m = v4j + v4k;
+      v4i = 8;
+      v4k = 10;
+      v4l++;
+      v4n = v4m + v4i;
+    }
+    #pragma omp section
+    {
+      int v4o = v4j + v4k;
+      v4i = 10;
+      v4k = 11;
+      v4l++;
+    }
+  }
+  return v4i + v4j + v4l + v4n;
+}
+
+int
+f5 (void)
+{
+  int v5i = 6, v5j = 7, v5k = 9, v5l = 0, v5n = 0, v5p = 0;
+  #pragma omp parallel
+  {
+    #pragma omp master
+      v5p++;
+    #pragma omp sections private (v5i) firstprivate (v5k) reduction (+:v5l)
+    {
+      #pragma omp section
+      {
+	int v5m = v5j + v5k;
+	v5i = 8;
+	v5k = 10;
+	v5l++;
+	v5n = v5m + v5i;
+      }
+      #pragma omp section
+      {
+	int v5o = v5j + v5k;
+	v5i = 10;
+	v5k = 11;
+	v5l++;
+      }
+    }
+  }
+  return v5i + v5j + v5l + v5n + v5p;
+}
+
+int v6k = 9, v6l = 0;
+
+int
+f6 (void)
+{
+  int v6i = 6, v6j = 7, v6n = 0;
+  #pragma omp for private (v6i) firstprivate (v6k) reduction (+:v6l)
+  for (v6n = 0; v6n < 3; v6n++)
+    {
+      int v6m = v6j + v6k;
+      v6i = 8;
+      v6l++;
+    }
+  return v6i + v6j + v6k + v6l + v6n;
+}
+
+int
+f7 (void)
+{
+  int v7i = 6, v7j = 7, v7k = 9, v7l = 0, v7n = 0, v7o = 1;
+  #pragma omp parallel
+  {
+    #pragma omp master
+      v7o++;
+    #pragma omp for private (v7i) firstprivate (v7k) reduction (+:v7l)
+    for (v7n = 0; v7n < 3; v7n++)
+      {
+	int v7m = v7j + v7k;
+	v7i = 8;
+	v7l++;
+      }
+  }
+  return v7i + v7j + v7k + v7l + v7n;
+}
+
+int
+main (void)
+{
+  f1 ();
+  f2 ();
+  f3 ();
+  f4 ();
+  f5 ();
+  f6 ();
+  f7 ();
+  return 0;
+}