[gcc(refs/vendors/redhat/heads/gcc-10-branch)] Add OpenACC test for sub-references being pointer or allocatable variables

Jakub Jelinek jakub@gcc.gnu.org
Thu Jan 30 20:56:00 GMT 2020


https://gcc.gnu.org/g:99b9f5b4067a8c5c5a706694b9a23516126984de

commit 99b9f5b4067a8c5c5a706694b9a23516126984de
Author: Julian Brown <julian@codesourcery.com>
Date:   Fri Jan 3 17:45:24 2020 -0800

    Add OpenACC test for sub-references being pointer or allocatable variables
    
    	gcc/testsuite/
    	* gfortran.dg/goacc/strided-alloc-ptr.f90: New test.

Diff:
---
 gcc/testsuite/ChangeLog                            |  5 ++++
 .../gfortran.dg/goacc/strided-alloc-ptr.f90        | 34 ++++++++++++++++++++++
 2 files changed, 39 insertions(+)

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index dfb7a0f..1b9436f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2020-01-28  Tobias Burnus  <tobias@codesourcery.com>
+	    Julian Brown  <julian@codesourcery.com>
+
+	* gfortran.dg/goacc/strided-alloc-ptr.f90: New test.
+
 2020-01-28  Richard Biener  <rguenther@suse.de>
 
 	PR tree-optimization/93439
diff --git a/gcc/testsuite/gfortran.dg/goacc/strided-alloc-ptr.f90 b/gcc/testsuite/gfortran.dg/goacc/strided-alloc-ptr.f90
new file mode 100644
index 0000000..755fd1c
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/goacc/strided-alloc-ptr.f90
@@ -0,0 +1,34 @@
+implicit none
+type t
+  integer, allocatable :: i, j(:)
+  integer, pointer :: k, ll(:)
+end type t
+type(t) :: x(2)
+
+!$acc enter data copyin(x)
+
+!$acc enter data copyin(x(:)%i)
+! { dg-error "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute" "" { target "*-*-*" } 10 }
+! { dg-error ".x. in MAP clause at .1. is not a proper array section"  "" { target "*-*-*" } 10 }
+
+!$acc enter data copyin(x(:)%j(3))
+! { dg-error "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute" "" { target "*-*-*" } 14 }
+! { dg-error ".x. in MAP clause at .1. is not a proper array section"  "" { target "*-*-*" } 14 }
+
+!$acc enter data copyin(x(:)%j)
+! { dg-error "Component to the right of a part reference with nonzero rank must not have the ALLOCATABLE attribute" "" { target "*-*-*" } 18 }
+! { dg-error ".x. in MAP clause at .1. is not a proper array section"  "" { target "*-*-*" } 18 }
+
+
+!$acc enter data copyin(x(:)%k)
+! { dg-error "Component to the right of a part reference with nonzero rank must not have the POINTER attribute" "" { target "*-*-*" } 23 }
+! { dg-error ".x. in MAP clause at .1. is not a proper array section"  "" { target "*-*-*" } 23 }
+
+!$acc enter data copyin(x(:)%ll(3))
+! { dg-error "Component to the right of a part reference with nonzero rank must not have the POINTER attribute" "" { target "*-*-*" } 27 }
+! { dg-error ".x. in MAP clause at .1. is not a proper array section"  "" { target "*-*-*" } 27 }
+
+!$acc enter data copyin(x(:)%ll)
+! { dg-error "Component to the right of a part reference with nonzero rank must not have the POINTER attribute" "" { target "*-*-*" } 31 }
+! { dg-error ".x. in MAP clause at .1. is not a proper array section"  "" { target "*-*-*" } 31 }
+end



More information about the Gcc-cvs mailing list