xref: /llvm-project/flang/test/Semantics/image_index01.f90 (revision 8b38970811086b09752a5909d0c17de4d0cd04c3)
1*8b389708SKatherine Rasmussen! RUN: %python %S/test_errors.py %s %flang_fc1
2*8b389708SKatherine Rasmussen! Ensure standard-conforming image_index function references are
3*8b389708SKatherine Rasmussen! accepted, based on the 16.9.107 section of the Fortran 2023 standard
4*8b389708SKatherine Rasmussen
5*8b389708SKatherine Rasmussenprogram image_index_test
6*8b389708SKatherine Rasmussen  use iso_fortran_env, only: team_type
7*8b389708SKatherine Rasmussen  implicit none
8*8b389708SKatherine Rasmussen
9*8b389708SKatherine Rasmussen  integer n, array(1), team_num
10*8b389708SKatherine Rasmussen  integer scalar_coarray[*], array_coarray(1)[*], coarray_corank3[10, 0:9, 0:*]
11*8b389708SKatherine Rasmussen  integer subscripts_corank1(1), subscripts_corank3(3)
12*8b389708SKatherine Rasmussen  type(team_type) :: home, league(2)
13*8b389708SKatherine Rasmussen
14*8b389708SKatherine Rasmussen  !___ standard-conforming statements - IMAGE_INDEX(COARRAY, SUB) ___
15*8b389708SKatherine Rasmussen  n = image_index(scalar_coarray, [1])
16*8b389708SKatherine Rasmussen  n = image_index(scalar_coarray, subscripts_corank1)
17*8b389708SKatherine Rasmussen  n = image_index(array_coarray, [1])
18*8b389708SKatherine Rasmussen  n = image_index(array_coarray, subscripts_corank1)
19*8b389708SKatherine Rasmussen  n = image_index(coarray=scalar_coarray, sub=subscripts_corank1)
20*8b389708SKatherine Rasmussen  n = image_index(coarray_corank3, subscripts_corank3)
21*8b389708SKatherine Rasmussen  n = image_index(sub=subscripts_corank1, coarray=scalar_coarray)
22*8b389708SKatherine Rasmussen
23*8b389708SKatherine Rasmussen  !___ standard-conforming statements - IMAGE_INDEX(COARRAY, SUB, TEAM) ___
24*8b389708SKatherine Rasmussen  n = image_index(scalar_coarray, [1], home)
25*8b389708SKatherine Rasmussen  n = image_index(scalar_coarray, subscripts_corank1, league(1))
26*8b389708SKatherine Rasmussen  n = image_index(array_coarray, [1], home)
27*8b389708SKatherine Rasmussen  n = image_index(array_coarray, subscripts_corank1, league(1))
28*8b389708SKatherine Rasmussen  n = image_index(coarray_corank3, subscripts_corank3, league(1))
29*8b389708SKatherine Rasmussen  n = image_index(coarray=scalar_coarray, sub=subscripts_corank1, team=home)
30*8b389708SKatherine Rasmussen  n = image_index(team=home, sub=[1], coarray=scalar_coarray)
31*8b389708SKatherine Rasmussen
32*8b389708SKatherine Rasmussen  !___ standard-conforming statements - IMAGE_INDEX(COARRAY, SUB, TEAM_NUMBER) ___
33*8b389708SKatherine Rasmussen  n = image_index(scalar_coarray, [1], team_num)
34*8b389708SKatherine Rasmussen  n = image_index(scalar_coarray, subscripts_corank1, team_number=team_num)
35*8b389708SKatherine Rasmussen  n = image_index(array_coarray, [1], team_num)
36*8b389708SKatherine Rasmussen  n = image_index(array_coarray, subscripts_corank1, array(1))
37*8b389708SKatherine Rasmussen  n = image_index(coarray_corank3, subscripts_corank3, team_num)
38*8b389708SKatherine Rasmussen  n = image_index(coarray=scalar_coarray, sub=subscripts_corank1, team_number=team_num)
39*8b389708SKatherine Rasmussen  n = image_index(team_number=team_num, sub=[1], coarray=scalar_coarray)
40*8b389708SKatherine Rasmussen
41*8b389708SKatherine Rasmussenend program image_index_test
42