diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 11c96dd34857dca272150dedddeed5e9452f97b6..cf3f0043026dfc6df238de9a4a0a82c22dd0084a 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,14 @@
+2011-12-06  Jakub Jelinek  <jakub@redhat.com>
+
+	PR libgomp/51132
+	* testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
+	to file scope.
+	* testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
+	* testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
+	* testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
+	* testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
+	* testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
+
 2011-12-02  Alan Modra  <amodra@gmail.com>
 
 	* config/linux/affinity.c: Use atomic rather than sync builtin.
diff --git a/libgomp/testsuite/libgomp.graphite/force-parallel-1.c b/libgomp/testsuite/libgomp.graphite/force-parallel-1.c
index 7f043d83d8b11fce586eb6f65b2f6cda0438eceb..d168b438823ccf54ed65e6589639b1c00002ea22 100644
--- a/libgomp/testsuite/libgomp.graphite/force-parallel-1.c
+++ b/libgomp/testsuite/libgomp.graphite/force-parallel-1.c
@@ -1,9 +1,10 @@
 void abort (void);
 
+int x[10000000];
+
 void parloop (int N)
 {
   int i;
-  int x[10000000];
 
   for (i = 0; i < N; i++)
     x[i] = i + 3;
diff --git a/libgomp/testsuite/libgomp.graphite/force-parallel-3.c b/libgomp/testsuite/libgomp.graphite/force-parallel-3.c
index 81b356d5c2441ed32a83f4b7f52170621de68bde..ff8680bf03c50221fdf2c6a72ca67bbfb1b9bd14 100644
--- a/libgomp/testsuite/libgomp.graphite/force-parallel-3.c
+++ b/libgomp/testsuite/libgomp.graphite/force-parallel-3.c
@@ -2,12 +2,12 @@ void abort (void);
 
 #define N 500
 
+int Z[2*N+2][2*N+2], B[2*N+2][2*N+2];
+
 void foo(void)
 {
   int i,j;
 
-  int Z[2*N+2][2*N+2], B[2*N+2][2*N+2];
-
   for (i = 0; i < 2*N+2; i++)
     for (j = 0; j < 2*N+2; j++)
       B[i][j] = Z[i][j] = i + j;
diff --git a/libgomp/testsuite/libgomp.graphite/force-parallel-6.c b/libgomp/testsuite/libgomp.graphite/force-parallel-6.c
index dcaaf4814b7af794cc65c7c9c856dcc4858f4f4b..995baa9c45b35d7a245ba7dfdd2df08b2dd3c99b 100644
--- a/libgomp/testsuite/libgomp.graphite/force-parallel-6.c
+++ b/libgomp/testsuite/libgomp.graphite/force-parallel-6.c
@@ -1,10 +1,11 @@
 #define N 500
 
+int X[2*N], Y[2*N], B[2*N];
+int A[2*N][2*N], C[2*N][2*N];
+
 int foo(void)
 {
   int i, j, k;
-  int X[2*N], Y[2*N], B[2*N];
-  int A[2*N][2*N], C[2*N][2*N];
 
   for (i = 1; i <= N; i++)
     {
diff --git a/libgomp/testsuite/libgomp.graphite/force-parallel-7.c b/libgomp/testsuite/libgomp.graphite/force-parallel-7.c
index 9ba9007fe31153692ab004b76c7bade028f47f58..0191af085ea4b7745ed0541e2a0eae74dd3b0252 100644
--- a/libgomp/testsuite/libgomp.graphite/force-parallel-7.c
+++ b/libgomp/testsuite/libgomp.graphite/force-parallel-7.c
@@ -1,9 +1,10 @@
 #define N 500
 
+int A[N+5][N+5][N+5];
+
 int foo(void)
 {
   int i, j, k;
-  int A[N+5][N+5][N+5];
 
   /* Loop i: carried no dependency.  */
   for (i = 0; i < N; i++)
diff --git a/libgomp/testsuite/libgomp.graphite/force-parallel-8.c b/libgomp/testsuite/libgomp.graphite/force-parallel-8.c
index 28b9a2a06b9001b7033dee0fa3ce9dc3ae1f0f23..dc553f53f1daabd0db765584ae47a4c630abc920 100644
--- a/libgomp/testsuite/libgomp.graphite/force-parallel-8.c
+++ b/libgomp/testsuite/libgomp.graphite/force-parallel-8.c
@@ -1,9 +1,10 @@
 #define N 1500
 
+int x[N][N], y[N];
+
 int foo(void)
 {
   int i, j;
-  int x[N][N], y[N];
 
   for (i = 0; i < N; i++)
     {
diff --git a/libgomp/testsuite/libgomp.graphite/force-parallel-9.c b/libgomp/testsuite/libgomp.graphite/force-parallel-9.c
index 36551905f0c0fdb3010136500991ef89e09c5b10..1de43c36740340986445767b75cd9702dc246366 100644
--- a/libgomp/testsuite/libgomp.graphite/force-parallel-9.c
+++ b/libgomp/testsuite/libgomp.graphite/force-parallel-9.c
@@ -2,12 +2,12 @@ void abort (void);
 
 #define N 500
 
+int Z[2*N+2][2*N+2], B[2*N+2][2*N+2];
+
 void foo(void)
 {
   int i,j;
 
-  int Z[2*N+2][2*N+2], B[2*N+2][2*N+2];
-
   for (i = 0; i < 2*N+2; i++)
     for (j = 0; j < 2*N+2; j++)
       B[i][j] = Z[i][j] = i + j;