Add verification to libgomp.graphite/force-parallel-6.c

2015-03-27  Tom de Vries  <tom@codesourcery.com>

	PR testsuite/65594
	* testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
	(init, check): New function.
	(foo): Change return type to void.
	(main): Call init and check.

From-SVN: r221728
This commit is contained in:
Tom de Vries 2015-03-27 12:10:16 +00:00 committed by Tom de Vries
parent 4d688c9a17
commit 3e8165a5df
2 changed files with 57 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2015-03-27 Tom de Vries <tom@codesourcery.com>
PR testsuite/65594
* testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
(init, check): New function.
(foo): Change return type to void.
(main): Call init and check.
2015-03-27 Tom de Vries <tom@codesourcery.com>
PR testsuite/65594

View File

@ -1,10 +1,31 @@
void abort (void);
#define N 500
#define M 50
int X[2*N], Y[2*N], B[2*N];
int A[2*N][2*N], C[2*N][2*N];
int foo(void)
static void __attribute__((noinline,noclone))
init (void)
{
volatile int i, j;
for (i = 0; i < 2 * N; ++i)
{
B[i] = 1;
X[i] = 1;
Y[i] = 1;
for (j = 0; j < 2 * N; ++j)
{
A[i][j] = 1;
C[i][j] = 1;
}
}
}
static void __attribute__((noinline,noclone))
foo (void)
{
int i, j, k;
@ -21,13 +42,38 @@ int foo(void)
Y[i+j] = A[j+1][N];
}
}
}
return A[1][5]*B[6];
static void __attribute__((noinline,noclone))
check (void)
{
volatile int i, j;
for (i = 0; i < 2 * N; ++i)
{
int expect_x = i < M ? 11 : 1;
if (B[i] != 1
|| X[i] != expect_x
|| Y[i] != 1)
abort ();
for (j = 0; j < 2 * N; ++j)
{
int expect_a = (0 < i && i <= M && j < N) ? 2 : 1;
if (A[i][j] != expect_a
|| C[i][j] != 1)
abort ();
}
}
}
int main(void)
{
foo();
init ();
foo ();
check ();
return 0;
}