aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gfortran.dg/gomp/allocate-4.f9054
-rw-r--r--gcc/testsuite/gfortran.dg/gomp/allocate-5.f9093
-rw-r--r--gcc/testsuite/gfortran.dg/gomp/allocate-6.f90103
-rw-r--r--gcc/testsuite/gfortran.dg/gomp/allocate-7.f90230
-rw-r--r--gcc/testsuite/gfortran.dg/gomp/allocators-1.f9028
-rw-r--r--gcc/testsuite/gfortran.dg/gomp/allocators-2.f9022
6 files changed, 0 insertions, 530 deletions
diff --git a/gcc/testsuite/gfortran.dg/gomp/allocate-4.f90 b/gcc/testsuite/gfortran.dg/gomp/allocate-4.f90
deleted file mode 100644
index a2dcf10..0000000
--- a/gcc/testsuite/gfortran.dg/gomp/allocate-4.f90
+++ /dev/null
@@ -1,54 +0,0 @@
-module my_omp_lib
- use iso_c_binding, only: c_intptr_t
- !use omp_lib
- implicit none
- integer, parameter :: omp_allocator_handle_kind = c_intptr_t
-
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_null_allocator = 0
-
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_default_mem_alloc = 1
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_large_cap_mem_alloc = 2
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_const_mem_alloc = 3
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_high_bw_mem_alloc = 4
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_low_lat_mem_alloc = 5
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_cgroup_mem_alloc = 6
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_pteam_mem_alloc = 7
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_thread_mem_alloc = 8
-end module my_omp_lib
-
-subroutine one(n, my_alloc)
- use my_omp_lib
- implicit none
-integer :: n
-integer(kind=omp_allocator_handle_kind), intent(in) :: my_alloc
-
-!stack variables:
-integer :: a,b,c(n),d(5),e(2)
-!$omp allocate(a) ! { dg-error "Sorry, declarative !.OMP ALLOCATE at .1. not yet supported" }
-!$omp allocate ( b , c ) align ( 32) allocator (my_alloc)
-!$omp allocate (d) align( 128 )
-!$omp allocate( e ) allocator( omp_high_bw_mem_alloc )
-
-!saved vars
-integer, save :: k,l,m(5),r(2)
-!$omp allocate(k) align(16) , allocator (omp_large_cap_mem_alloc)
-!$omp allocate ( l ) allocator (omp_large_cap_mem_alloc) , align ( 32)
-!$omp allocate (m) align( 128 ),allocator( omp_high_bw_mem_alloc )
-!$omp allocate( r ) allocator( omp_high_bw_mem_alloc )
-
-!common /block/
-integer :: q,x,y(2),z(5)
-common /com1/ q,x
-common /com2/ y,z
-!$omp allocate ( / com1/) align( 128 ) allocator( omp_high_bw_mem_alloc )
-!$omp allocate(/com2 / ) allocator( omp_high_bw_mem_alloc )
-end
diff --git a/gcc/testsuite/gfortran.dg/gomp/allocate-5.f90 b/gcc/testsuite/gfortran.dg/gomp/allocate-5.f90
deleted file mode 100644
index bf9c781d..0000000
--- a/gcc/testsuite/gfortran.dg/gomp/allocate-5.f90
+++ /dev/null
@@ -1,93 +0,0 @@
-module my_omp_lib
- use iso_c_binding, only: c_intptr_t
- !use omp_lib
- implicit none
- integer, parameter :: omp_allocator_handle_kind = c_intptr_t
-
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_null_allocator = 0
-
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_default_mem_alloc = 1
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_large_cap_mem_alloc = 2
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_const_mem_alloc = 3
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_high_bw_mem_alloc = 4
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_low_lat_mem_alloc = 5
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_cgroup_mem_alloc = 6
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_pteam_mem_alloc = 7
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_thread_mem_alloc = 8
- type t
- integer :: a
- end type t
-end module my_omp_lib
-
-subroutine zero()
- !$omp assumes absent (allocators)
-
- !$omp assume absent (allocators)
- !$omp end assume
-end
-
-subroutine two(c,x2,y2)
- use my_omp_lib
- implicit none
- integer, allocatable :: a, b(:), c(:,:)
- type(t), allocatable :: x1
- type(t), pointer :: x2(:)
- class(t), allocatable :: y1
- class(t), pointer :: y2(:)
-
- !$omp flush ! some executable statement
- !$omp allocate(a) ! { dg-message "not yet supported" }
- allocate(a,b(4),c(3,4))
- deallocate(a,b,c)
-
- !$omp allocate(x1,y1,x2,y2) ! { dg-message "not yet supported" }
- allocate(x1,y1,x2(5),y2(5))
- deallocate(x1,y1,x2,y2)
-
- !$omp allocate(b,a) align ( 128 ) ! { dg-message "not yet supported" }
- !$omp allocate align ( 64 )
- allocate(a,b(4),c(3,4))
- deallocate(a,b,c)
-end
-
-subroutine three(c)
- use my_omp_lib
- implicit none
- integer :: q
- integer, allocatable :: a, b(:), c(:,:)
-
- call foo() ! executable stmt
- !$omp allocate allocator( omp_large_cap_mem_alloc ) , align(64) ! { dg-message "not yet supported" }
- !$omp allocate(b) allocator( omp_high_bw_mem_alloc )
- !$omp allocate(c) allocator( omp_high_bw_mem_alloc )
- allocate(a,b(4),c(3,4))
- deallocate(a,b,c)
-
- block
- q = 5 ! executable stmt
- !$omp allocate(a) align(64) ! { dg-message "not yet supported" }
- !$omp allocate(b) allocator( omp_high_bw_mem_alloc ), align(32)
- !$omp allocate(c) allocator( omp_thread_mem_alloc )
- allocate(a,b(4),c(3,4))
- deallocate(a,b,c)
- end block
- call inner
-contains
- subroutine inner
- call foo() ! executable stmt
- !$omp allocate(a) align(64) ! { dg-message "not yet supported" }
- !$omp allocate(b) allocator( omp_high_bw_mem_alloc ), align(32)
- !$omp allocate(c) allocator( omp_thread_mem_alloc )
- allocate(a,b(4),c(3,4))
- deallocate(a,b,c)
- end subroutine inner
-end
diff --git a/gcc/testsuite/gfortran.dg/gomp/allocate-6.f90 b/gcc/testsuite/gfortran.dg/gomp/allocate-6.f90
deleted file mode 100644
index 73e5bbc..0000000
--- a/gcc/testsuite/gfortran.dg/gomp/allocate-6.f90
+++ /dev/null
@@ -1,103 +0,0 @@
-module my_omp_lib
- use iso_c_binding, only: c_intptr_t
- !use omp_lib
- implicit none
- integer, parameter :: omp_allocator_handle_kind = c_intptr_t
-
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_null_allocator = 0
-
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_default_mem_alloc = 1
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_large_cap_mem_alloc = 2
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_const_mem_alloc = 3
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_high_bw_mem_alloc = 4
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_low_lat_mem_alloc = 5
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_cgroup_mem_alloc = 6
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_pteam_mem_alloc = 7
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_thread_mem_alloc = 8
- type t
- integer,allocatable :: a
- integer,pointer :: b(:,:)
- end type t
-end module my_omp_lib
-
-subroutine zero()
- !$omp assumes absent (allocate) ! { dg-error "Invalid 'ALLOCATE' directive at .1. in ABSENT clause: declarative, informational and meta directives not permitted" }
-
- !$omp assume absent (allocate) ! { dg-error "Invalid 'ALLOCATE' directive at .1. in ABSENT clause: declarative, informational and meta directives not permitted" }
- !!$omp end assume
-end
-
-subroutine alloc(c,x2,y2)
- use my_omp_lib
- implicit none
- integer, allocatable :: a, b(:), c(:,:)
- type(t) :: x1,x2
- class(t) :: y1,y2
- allocatable :: x1, y1
-
- !$omp flush ! some executable statement
-
- !$omp allocate(x2%a,x2%b,y2%a,y2%b) allocator(omp_pteam_mem_alloc) align(64) ! { dg-error "Sorry, structure-element list item at .1. in ALLOCATE directive is not yet supported" }
- allocate(x2%a,x2%b(3,4),y2%a,y2%b(3,4))
-
- !$omp allocate(b(3)) align ( 64 ) ! { dg-error "Unexpected expression as list item at .1. in ALLOCATE directive" }
- allocate(b(3))
-end
-
-subroutine one(n, my_alloc)
- use my_omp_lib
- implicit none
-integer :: n
-integer(kind=omp_allocator_handle_kind), intent(in) :: my_alloc
-
-integer :: a,b,c(n),d(5),e(2)
-integer, save :: k,l,m(5),r(2)
-integer :: q,x,y(2),z(5)
-common /com1/ q,x
-common /com2/ y,z
-integer, allocatable :: alloc
-integer, pointer :: ptr
-
-!$omp allocate(q) ! { dg-error "'q' at .1. is part of the common block '/com1/' and may only be specificed implicitly via the named common block" }
-
-!$omp allocate(d(:)) ! { dg-error "Unexpected expression as list item at .1. in ALLOCATE directive" }
-!$omp allocate(a) align(4), align(4) ! { dg-error "Duplicated 'align' clause" }
-!$omp allocate( e ) allocator( omp_high_bw_mem_alloc ), align(32),allocator( omp_high_bw_mem_alloc ) ! { dg-error "Duplicated 'allocator' clause" }
-
-!$omp allocate align(32) ! { dg-error "'!.OMP ALLOCATE' directive at .1. must either have a variable argument or, if associated with an ALLOCATE stmt, must be preceded by an executable statement or OpenMP construct" }
-
-!$omp allocate(alloc) align(128) ! { dg-error "'!.OMP ALLOCATE' directive at .1. associated with an ALLOCATE stmt must be preceded by an executable statement or OpenMP construct; note the variables in the list all have the allocatable or pointer attribute" }
-!$omp allocate(ptr) align(128) ! { dg-error "'!.OMP ALLOCATE' directive at .1. associated with an ALLOCATE stmt must be preceded by an executable statement or OpenMP construct; note the variables in the list all have the allocatable or pointer attribute" }
-
-!$omp allocate(e) allocate(omp_thread_mem_alloc) ! { dg-error "Expected ALIGN or ALLOCATOR clause" }
-end
-
-subroutine two()
- integer, allocatable :: a,b,c
-
- call foo()
- !$omp allocate(a)
- a = 5 ! { dg-error "Unexpected assignment at .1.; expected ALLOCATE or !.OMP ALLOCATE statement" }
-
- !$omp allocate ! { dg-error "!.OMP ALLOCATE statements at .1. and .2. have both no list item but only one may" }
- !$omp allocate(b)
- !$omp allocate ! { dg-error "!.OMP ALLOCATE statements at .1. and .2. have both no list item but only one may" }
- allocate(a,b,c)
-
- !$omp allocate
- allocate(a,b,c) ! allocate is no block construct, hence:
- !$omp end allocate ! { dg-error "Unclassifiable OpenMP directive" }
-
- !$omp allocators allocate(align(64) : a, b)
- !$omp allocators allocate(align(128) : c) ! { dg-error "Unexpected !.OMP ALLOCATORS at .1.; expected ALLOCATE statement after !.OMP ALLOCATORS" }
- allocate(a,b,c)
-end
diff --git a/gcc/testsuite/gfortran.dg/gomp/allocate-7.f90 b/gcc/testsuite/gfortran.dg/gomp/allocate-7.f90
deleted file mode 100644
index c46899d..0000000
--- a/gcc/testsuite/gfortran.dg/gomp/allocate-7.f90
+++ /dev/null
@@ -1,230 +0,0 @@
-! { dg-additional-options "-fmax-errors=1000" }
-module my_omp_lib
- use iso_c_binding, only: c_intptr_t
- !use omp_lib
- implicit none
- integer, parameter :: omp_allocator_handle_kind = c_intptr_t
-
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_null_allocator = 0
-
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_default_mem_alloc = 1
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_large_cap_mem_alloc = 2
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_const_mem_alloc = 3
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_high_bw_mem_alloc = 4
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_low_lat_mem_alloc = 5
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_cgroup_mem_alloc = 6
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_pteam_mem_alloc = 7
- integer (kind=omp_allocator_handle_kind), &
- parameter :: omp_thread_mem_alloc = 8
- type t
- integer,allocatable :: a
- integer,pointer :: b(:,:)
- end type t
- integer :: used
-end module my_omp_lib
-
-subroutine one(n, my_alloc)
- use my_omp_lib
- implicit none
-integer :: n
-integer(kind=omp_allocator_handle_kind), intent(in) :: my_alloc
-
-integer :: a,b,c(n),d(5),e(2)
-integer, save :: k,l,m(5),r(2)
-integer :: q,x,y(2),z(5)
-common /com1/ q,x
-common /com2/ y,z
-integer, allocatable :: alloc
-integer, pointer :: ptr
-integer, parameter :: prm=5
-
-!$omp allocate(prm) align(64) ! { dg-error "Argument 'prm' at .1. to declarative !.OMP ALLOCATE directive must be a variable" }
-! { dg-error "Sorry, declarative !.OMP ALLOCATE at .1. not yet supported" "" { target *-*-* } .-1 }
-
-!$omp allocate(used) allocator(omp_pteam_mem_alloc) ! { dg-error "Argument 'used' at .1. to declarative !.OMP ALLOCATE shall be in the same scope as the variable declaration" }
-!$omp allocate(n) allocator(omp_pteam_mem_alloc) ! { dg-error "Unexpected dummy argument 'n' as argument at .1. to declarative !.OMP ALLOCATE" }
-
-!$omp allocate (x) align(128) ! { dg-error "'x' at .1. is part of the common block '/com1/' and may only be specificed implicitly via the named common block" }
-
-!$omp allocate (a, b, a) allocator (omp_pteam_mem_alloc) ! { dg-error "Duplicated variable 'a' in !.OMP ALLOCATE" }
-contains
-
- subroutine inner
- !$omp allocate(a) allocator(omp_pteam_mem_alloc) ! { dg-error "Argument 'a' at .1. to declarative !.OMP ALLOCATE shall be in the same scope as the variable declaration" }
-! { dg-error "Sorry, declarative !.OMP ALLOCATE at .1. not yet supported" "" { target *-*-* } .-1 }
- end
-end
-
-subroutine three(n)
- use my_omp_lib
- implicit none
-integer,value :: n
-integer :: a,b,c(n),d(5),e(2)
-integer, save :: k,l,m(5)
-integer :: q,x,y(2),z(5),r
-common /com4/ y,z
-allocatable :: q
-pointer :: b
-!$omp allocate (c, d) allocator (omp_pteam_mem_alloc)
-! { dg-error "Sorry, declarative !.OMP ALLOCATE at .1. not yet supported" "" { target *-*-* } .-1 }
-!$omp allocate (/com4/) allocator (omp_pteam_mem_alloc)
-!$omp allocate (c) allocator (omp_pteam_mem_alloc) ! { dg-error "Duplicated variable 'c' in !.OMP ALLOCATE" }
-!$omp allocate (/com4/) allocator (omp_pteam_mem_alloc) ! { dg-error "Duplicated common block '/com4/' in !.OMP ALLOCATE" }
-
-!$omp allocate(q,x) ! { dg-error "Unexpected allocatable variable 'q' at .1. in declarative !.OMP ALLOCATE directive" }
-!$omp allocate(b,e) ! { dg-error "Unexpected pointer variable 'b' at .1. in declarative !.OMP ALLOCATE directive" }
-end
-
-subroutine four(n)
- integer :: qq, rr, ss, tt, uu, vv,n
-!$omp allocate (qq) align(3+n) ! { dg-error "ALIGN requires a scalar positive constant integer alignment expression at .1. that is a power of two" }
-! { dg-error "Sorry, declarative !.OMP ALLOCATE at .1. not yet supported" "" { target *-*-* } .-1 }
-!$omp allocate (rr) align([4]) ! { dg-error "ALIGN requires a scalar positive constant integer alignment expression at .1. that is a power of two" }
-!$omp allocate (ss) align([4]) ! { dg-error "ALIGN requires a scalar positive constant integer alignment expression at .1. that is a power of two" }
-!$omp allocate (tt) align(32.0) ! { dg-error "ALIGN requires a scalar positive constant integer alignment expression at .1. that is a power of two" }
-!$omp allocate (uu) align(31) ! { dg-error "ALIGN requires a scalar positive constant integer alignment expression at .1. that is a power of two" }
-end
-
-subroutine five(n,my_alloc)
- use my_omp_lib
- implicit none
- integer :: qq, rr, ss, tt, uu, vv,n
- integer(omp_allocator_handle_kind) :: my_alloc
-!$omp allocate (qq) allocator(3.0) ! { dg-error "Expected integer expression of the 'omp_allocator_handle_kind' kind" }
-! { dg-error "Sorry, declarative !.OMP ALLOCATE at .1. not yet supported" "" { target *-*-* } .-1 }
-!$omp allocate (rr) allocator(3_2) ! { dg-error "Expected integer expression of the 'omp_allocator_handle_kind' kind" }
-!$omp allocate (ss) allocator([omp_pteam_mem_alloc]) ! { dg-error "Expected integer expression of the 'omp_allocator_handle_kind' kind" }
-!$omp allocate (tt) allocator(my_alloc) ! OK
-end
-
-
-subroutine five_SaveAll(n,my_alloc)
- use my_omp_lib
- implicit none
- save
- integer :: qq, rr, ss, tt, uu, vv,n
- integer(omp_allocator_handle_kind) :: my_alloc
-!$omp allocate (qq) allocator(3.0) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item 'qq' at .2. has the SAVE attribute" }
-! { dg-error "Sorry, declarative !.OMP ALLOCATE at .1. not yet supported" "" { target *-*-* } .-1 }
-!$omp allocate (rr) allocator(3_2) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item 'rr' at .2. has the SAVE attribute" }
-!$omp allocate (ss) allocator([omp_pteam_mem_alloc]) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item 'ss' at .2. has the SAVE attribute" }
-!$omp allocate (tt) allocator(my_alloc) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item 'tt' at .2. has the SAVE attribute" }
-end
-
-
-subroutine five_Save(n,my_alloc)
- use my_omp_lib
- implicit none
- integer :: n
- integer, save :: qq, rr, ss, tt, uu, vv
- integer(omp_allocator_handle_kind) :: my_alloc
-!$omp allocate (qq) allocator(3.0) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item 'qq' at .2. has the SAVE attribute" }
-! { dg-error "Sorry, declarative !.OMP ALLOCATE at .1. not yet supported" "" { target *-*-* } .-1 }
-!$omp allocate (rr) allocator(3_2) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item 'rr' at .2. has the SAVE attribute" }
-!$omp allocate (ss) allocator([omp_pteam_mem_alloc]) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item 'ss' at .2. has the SAVE attribute" }
-!$omp allocate (tt) allocator(my_alloc) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item 'tt' at .2. has the SAVE attribute" }
-end
-
-module five_Module
- use my_omp_lib
- implicit none
- integer, save :: qq, rr, ss, tt, uu, vv,n
- integer(omp_allocator_handle_kind) :: my_alloc
-!$omp allocate (qq) allocator(3.0) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item 'qq' at .2. has the SAVE attribute" }
-! { dg-error "Sorry, declarative !.OMP ALLOCATE at .1. not yet supported" "" { target *-*-* } .-1 }
-!$omp allocate (rr) allocator(3_2) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item 'rr' at .2. has the SAVE attribute" }
-!$omp allocate (ss) allocator([omp_pteam_mem_alloc]) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item 'ss' at .2. has the SAVE attribute" }
-!$omp allocate (tt) allocator(my_alloc) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item 'tt' at .2. has the SAVE attribute" }
-end module
-
-program five_program
- use my_omp_lib
- implicit none
- integer, save :: qq, rr, ss, tt, uu, vv,n
- integer(omp_allocator_handle_kind) :: my_alloc
-!$omp allocate (qq) allocator(3.0) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item 'qq' at .2. has the SAVE attribute" }
-! { dg-error "Sorry, declarative !.OMP ALLOCATE at .1. not yet supported" "" { target *-*-* } .-1 }
-!$omp allocate (rr) allocator(3_2) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item 'rr' at .2. has the SAVE attribute" }
-!$omp allocate (ss) allocator([omp_pteam_mem_alloc]) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item 'ss' at .2. has the SAVE attribute" }
-!$omp allocate (tt) allocator(my_alloc) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item 'tt' at .2. has the SAVE attribute" }
-end program
-
-
-
-subroutine six(n,my_alloc)
- use my_omp_lib
- implicit none
- integer :: qq, rr, ss, tt, uu, vv,n
- common /com6qq/ qq
- common /com6rr/ rr
- common /com6ss/ ss
- common /com6tt/ tt
- integer(omp_allocator_handle_kind) :: my_alloc
-
-!$omp allocate (/com6qq/) allocator(3.0) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item '/com6qq/' at .2. has the SAVE attribute" }
-! { dg-error "Sorry, declarative !.OMP ALLOCATE at .1. not yet supported" "" { target *-*-* } .-1 }
-!$omp allocate (/com6rr/) allocator(3_2) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item '/com6rr/' at .2. has the SAVE attribute" }
-!$omp allocate (/com6ss/) allocator([omp_pteam_mem_alloc]) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item '/com6ss/' at .2. has the SAVE attribute" }
-!$omp allocate (/com6tt/) allocator(my_alloc) ! { dg-error "Predefined allocator required in ALLOCATOR clause at .1. as the list item '/com6tt/' at .2. has the SAVE attribute" }
-end
-
-
-subroutine two()
- use my_omp_lib
- implicit none
- integer,allocatable :: qq, rr, ss, tt, uu, vv,n
- integer(omp_allocator_handle_kind) :: my_alloc
-
- call foo()
-!$omp allocate (qq) allocator(3.0) ! { dg-error "Expected integer expression of the 'omp_allocator_handle_kind' kind" }
-allocate(qq)
-!$omp allocate (rr) allocator(3_2) ! { dg-error "Expected integer expression of the 'omp_allocator_handle_kind' kind" }
-allocate(rr)
-!$omp allocate (ss) allocator([omp_pteam_mem_alloc]) ! { dg-error "Expected integer expression of the 'omp_allocator_handle_kind' kind" }
-allocate(ss)
-!$omp allocate (tt) allocator(my_alloc) ! OK
-allocate(tt)
-end
-
-subroutine two_ptr()
- use my_omp_lib
- implicit none
- integer,pointer :: qq, rr, ss, tt, uu, vv,n
- integer(omp_allocator_handle_kind) :: my_alloc
-
- call foo()
-!$omp allocate (qq) align(3+n) ! { dg-error "ALIGN requires a scalar positive constant integer alignment expression at .1." }
-allocate(qq)
-!$omp allocate (rr) align([4]) ! { dg-error "ALIGN requires a scalar positive constant integer alignment expression at .1." }
-allocate(rr)
-!$omp allocate (ss) align([4]) ! { dg-error "ALIGN requires a scalar positive constant integer alignment expression at .1." }
-allocate(ss)
-!$omp allocate (tt) align(32.0) ! { dg-error "ALIGN requires a scalar positive constant integer alignment expression at .1." }
-allocate(tt)
-
-end
-
-subroutine next()
- use my_omp_lib
- implicit none
- integer,allocatable :: qq, rr, ss, tt, uu, vv,n
- integer(omp_allocator_handle_kind) :: my_alloc
-
- !$omp allocate(qq) ! { dg-error "'!.OMP ALLOCATE' directive at .1. associated with an ALLOCATE stmt must be preceded by an executable statement or OpenMP construct; note the variables in the list all have the allocatable or pointer attribute" }
- allocate(qq,rr)
-
- !$omp allocate(uu,tt)
- !$omp allocate(tt) ! { dg-warning "'tt' appears more than once in 'allocate" }
- allocate(uu,tt)
-
- !$omp allocate(uu,vv) ! { dg-error "'uu' specified in 'allocate' at .1. but not in the associated ALLOCATE statement" }
- allocate(vv)
-end
diff --git a/gcc/testsuite/gfortran.dg/gomp/allocators-1.f90 b/gcc/testsuite/gfortran.dg/gomp/allocators-1.f90
deleted file mode 100644
index b39f6d2..0000000
--- a/gcc/testsuite/gfortran.dg/gomp/allocators-1.f90
+++ /dev/null
@@ -1,28 +0,0 @@
-implicit none
-integer, allocatable :: a, b
-integer :: q
-integer :: arr(2)
-
-!$omp allocators allocate(align(64): a)
-block ! { dg-error "expected ALLOCATE statement after !.OMP ALLOCATORS" }
-end block ! { dg-error "Expecting END PROGRAM statement" }
-
-
-!$omp allocators allocate(align(64): a)
- allocate(a, b) ! OK
-!$omp end allocators
-
-!$omp allocators allocate(align(128): b)
- allocate(a, b) ! OK (assuming not allocated)
-
-
-!$omp allocators allocate(align(64): a)
- allocate(a, b, stat=arr) ! { dg-error "Stat-variable at .1. must be a scalar INTEGER variable" }
-!$omp end allocators
-
-
-!$omp allocators allocate(align(64): a)
- allocate(q) ! { dg-error "is neither a data pointer nor an allocatable variable" }
-!$omp end allocators ! { dg-error "Unexpected !.OMP END ALLOCATORS" }
-
-end
diff --git a/gcc/testsuite/gfortran.dg/gomp/allocators-2.f90 b/gcc/testsuite/gfortran.dg/gomp/allocators-2.f90
deleted file mode 100644
index 6fb8087..0000000
--- a/gcc/testsuite/gfortran.dg/gomp/allocators-2.f90
+++ /dev/null
@@ -1,22 +0,0 @@
-implicit none
-integer, allocatable :: a, b
-integer :: q
-integer :: arr(2)
-
-!$omp allocators allocate(align(64): a)
- allocate(a, b) ! OK
-!$omp end allocators
-
-!$omp allocators allocate(align(128): b)
- allocate(a, b) ! OK (assuming not allocated)
-
-
-!$omp allocators allocate(align(62.0): a) ! { dg-error "a scalar positive constant integer alignment expression" }
- allocate(a)
-
-
-!$omp allocators allocate(align(64): a, b) ! { dg-error "'b' specified in 'allocate' at \\(1\\) but not in the associated ALLOCATE statement" }
- allocate(a)
-!$omp end allocators
-
-end