From 0b5fc29fb9f5c459c337ed24f6899132e4247c77 Mon Sep 17 00:00:00 2001 From: jnorris Date: Thu, 18 Jun 2015 16:16:05 +0000 Subject: [PATCH] gcc/testsuite * c-c++-common/goacc/default-1.c: New test. libgomp/ * testsuite/libgomp.oacc-c-c++-common/default-1.c: New file. * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@224627 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/ChangeLog.gomp | 4 ++ gcc/testsuite/c-c++-common/goacc/default-1.c | 57 +++++++++++++++++++ libgomp/ChangeLog.gomp | 5 ++ .../libgomp.oacc-c-c++-common/default-1.c | 64 ++++++++++++++++++++++ .../testsuite/libgomp.oacc-fortran/default-1.f90 | 34 ++++++++++++ 5 files changed, 164 insertions(+) create mode 100644 gcc/testsuite/c-c++-common/goacc/default-1.c create mode 100644 libgomp/testsuite/libgomp.oacc-c-c++-common/default-1.c create mode 100644 libgomp/testsuite/libgomp.oacc-fortran/default-1.f90 diff --git a/gcc/testsuite/ChangeLog.gomp b/gcc/testsuite/ChangeLog.gomp index 8cdc5a87fab..2bbf2e1686d 100644 --- a/gcc/testsuite/ChangeLog.gomp +++ b/gcc/testsuite/ChangeLog.gomp @@ -1,3 +1,7 @@ +2015-06-18 James Norris + + * c-c++-common/goacc/default-1.c: New test. + 2015-06-18 Tom de Vries * gfortran.dg/goacc/kernels-loop-2.f95: Add check for num_gangs (32). diff --git a/gcc/testsuite/c-c++-common/goacc/default-1.c b/gcc/testsuite/c-c++-common/goacc/default-1.c new file mode 100644 index 00000000000..41757f1ba66 --- /dev/null +++ b/gcc/testsuite/c-c++-common/goacc/default-1.c @@ -0,0 +1,57 @@ +/* { dg-do run } */ + +#include + +int +main (int argc, char **argv) +{ + float a, b; + + a = 2.0; + b = 0.0; + +#pragma acc parallel default (shared) /* { dg-error "expected 'none'" } */ + /* { dg-error "expected '\\\)'" "" { target c++ } 13 } */ + { + b = a; + a = 1.0; + a = a + b; + } + +#pragma acc parallel default (none) /* { dg-error "enclosing OpenACC parallel" } */ + { + b = a; /* { dg-error "in enclosing OpenACC parallel construct" } */ + a = 1.0; + a = a + b; + } + +#pragma acc parallel create (b) default (none) /* { dg-error "enclosing OpenACC parallel" } */ + { + b = a; /* { dg-error "in enclosing OpenACC parallel construct" } */ + a = 1.0; + a = a + b; + } + +#pragma acc kernels default (none) /* { dg-error "enclosing OpenACC kernels" } */ + { + b = a; /* { dg-error "in enclosing OpenACC kernels construct" } */ + a = 1.0; + a = a + b; + } + +#pragma acc kernels create (b) default (none) /* { dg-error "enclosing OpenACC kernels construct" } */ + { + b = a; /* { dg-error "in enclosing OpenACC kernels construct" } */ + a = 1.0; + a = a + b; + } + +#pragma acc kernels copy (a) create (b) default () /* { dg-error "expected 'none'" } */ + { + b = a; + a = 1.0; + a = a + b; + } + + return 0; +} diff --git a/libgomp/ChangeLog.gomp b/libgomp/ChangeLog.gomp index 5cd5d06d598..f010bd80aec 100644 --- a/libgomp/ChangeLog.gomp +++ b/libgomp/ChangeLog.gomp @@ -1,3 +1,8 @@ +2015-06-18 James Norris + + * testsuite/libgomp.oacc-c-c++-common/default-1.c: New file. + * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise. + 2015-06-18 Thomas Schwinge * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c): diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/default-1.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/default-1.c new file mode 100644 index 00000000000..0d75f49f4d2 --- /dev/null +++ b/libgomp/testsuite/libgomp.oacc-c-c++-common/default-1.c @@ -0,0 +1,64 @@ +/* { dg-do run } */ + +#include + +int +main (int argc, char **argv) +{ + float a, b; + + a = 2.0; + b = 0.0; + +#pragma acc kernels default (none) + { + float c, d; + + c = 2.0; + d = c; + c = 1.0; + c = c + d; + } + +#pragma acc parallel default (none) + { + float c, d; + + c = 2.0; + d = c; + c = 1.0; + c = c + d; + } + +#pragma acc parallel copy (a) create (b) default (none) + { + b = a; + a = 1.0; + a = a + b; + } + + if (a != 3.0) + abort (); + +#pragma acc kernels copy (a) create (b) default (none) + { + b = a; + a = 1.0; + a = a + b; + } + + if (a != 4.0) + abort (); + +#pragma acc parallel default (none) copy (a) create (b) + { + b = a; + a = 1.0; + a = a + b; + } + + if (a != 5.0) + abort (); + + return 0; +} diff --git a/libgomp/testsuite/libgomp.oacc-fortran/default-1.f90 b/libgomp/testsuite/libgomp.oacc-fortran/default-1.f90 new file mode 100644 index 00000000000..f82316ef5de --- /dev/null +++ b/libgomp/testsuite/libgomp.oacc-fortran/default-1.f90 @@ -0,0 +1,34 @@ +! { dg-do run } + +program main + implicit none + real a, b + + a = 2.0 + b = 0.0 + + !$acc parallel copy (a) create (b) default (none) + b = a + a = 1.0 + a = a + b + !$acc end parallel + + if (a .ne. 3.0) call abort + + !$acc kernels copy (a) create (b) default (none) + b = a + a = 1.0 + a = a + b + !$acc end kernels + + if (a .ne. 4.0) call abort + + !$acc parallel default (none) copy (a) create (b) + b = a + a = 1.0 + a = a + b + !$acc end parallel + + if (a .ne. 5.0) call abort + +end program main -- 2.11.4.GIT