| ! { dg-do run } |
| ! { dg-additional-sources bind-c-contiguous-1.c } |
| ! { dg-additional-options "-fcheck=all" } |
| ! { dg-prune-output "command-line option '-fcheck=.*' is valid for Fortran but not for C" } |
| |
| ! Fortran demands that with bind(C), the callee ensure that for |
| ! * 'contiguous' |
| ! * len=* with explicit/assumed-size arrays |
| ! noncontiguous actual arguments are handled. |
| ! (in without bind(C) in gfortran, caller handles the copy in/out |
| |
| ! Additionally, for a bind(C) callee, a Fortran-written caller |
| ! has to ensure the same (for contiguous + len=* to explicit-/assumed-size arrays) |
| |
| module m |
| use iso_c_binding, only: c_intptr_t, c_bool, c_loc, c_int |
| implicit none (type, external) |
| |
| type, bind(C) :: loc_t |
| integer(c_intptr_t) :: x, y, z |
| end type loc_t |
| |
| interface |
| type(loc_t) function char_assumed_size_c (xx, yy, zz, n, num) bind(C) |
| import :: loc_t, c_bool, c_int |
| integer(c_int), value :: n, num |
| character(len=*) :: xx(*), yy(n:*), zz(6:6, 3:n, 3:*) |
| end function |
| |
| type(loc_t) function char_assumed_size_in_c (xx, yy, zz, n, num) bind(C) |
| import :: loc_t, c_bool, c_int |
| integer(c_int), value :: n, num |
| character(len=*), intent(in) :: xx(*), yy(n:*), zz(6:6, 3:n, 3:*) |
| end function |
| |
| type(loc_t) function char_expl_size_c (xx, yy, zz, n, num) bind(c) |
| import :: loc_t, c_bool, c_int |
| integer(c_int), value :: n, num |
| character(len=*) :: xx(n), yy(n:n+3), zz(6:6, 3:n, 3:n+3) |
| end function |
| |
| type(loc_t) function char_expl_size_in_c (xx, yy, zz, n, num) bind(c) |
| import :: loc_t, c_bool, c_int |
| integer(c_int), value :: n, num |
| character(len=*), intent(in) :: xx(n), yy(n:n+3), zz(6:6, 3:n, 3:n+3) |
| end function |
| |
| type(loc_t) function char_assumed_rank_c (xx, yy, zz, k, num) bind(c) |
| import :: loc_t, c_bool, c_int |
| integer, value :: k, num |
| character(len=*) :: xx(..) |
| character(len=3) :: yy(..) |
| character(len=k) :: zz(..) |
| end function |
| |
| type(loc_t) function char_assumed_rank_in_c (xx, yy, zz, k, num) bind(c) |
| import :: loc_t, c_bool, c_int |
| integer, value :: k, num |
| character(len=*), intent(in) :: xx(..) |
| character(len=3), intent(in) :: yy(..) |
| character(len=k), intent(in) :: zz(..) |
| end function |
| |
| type(loc_t) function char_assumed_rank_cont_c (xx, yy, zz, k, num) bind(c) |
| import :: loc_t, c_bool, c_int |
| integer, value :: k, num |
| character(len=*), contiguous :: xx(..) |
| character(len=3), contiguous :: yy(..) |
| character(len=k), contiguous :: zz(..) |
| end function |
| |
| type(loc_t) function char_assumed_rank_cont_in_c (xx, yy, zz, k, num) bind(c) |
| import :: loc_t, c_bool, c_int |
| integer, value :: k, num |
| character(len=*), contiguous, intent(in) :: xx(..) |
| character(len=3), contiguous, intent(in) :: yy(..) |
| character(len=k), contiguous, intent(in) :: zz(..) |
| end function |
| |
| type(loc_t) function char_assumed_shape_c (xx, yy, zz, k, num) bind(c) |
| import :: loc_t, c_bool, c_int |
| integer, value :: k, num |
| character(len=*) :: xx(:) |
| character(len=3) :: yy(5:) |
| character(len=k) :: zz(-k:) |
| end function |
| |
| type(loc_t) function char_assumed_shape_in_c (xx, yy, zz, k, num) bind(c) |
| import :: loc_t, c_bool, c_int |
| integer, value :: k, num |
| character(len=*), intent(in) :: xx(:) |
| character(len=3), intent(in) :: yy(5:) |
| character(len=k), intent(in) :: zz(-k:) |
| end function |
| |
| type(loc_t) function char_assumed_shape_cont_c (xx, yy, zz, k, num) bind(c) |
| import :: loc_t, c_bool, c_int |
| integer, value :: k, num |
| character(len=*), contiguous :: xx(:) |
| character(len=3), contiguous :: yy(5:) |
| character(len=k), contiguous :: zz(-k:) |
| end function |
| |
| type(loc_t) function char_assumed_shape_cont_in_c (xx, yy, zz, k, num) bind(c) |
| import :: loc_t, c_bool, c_int |
| integer, value :: k, num |
| character(len=*), contiguous, intent(in) :: xx(:) |
| character(len=3), contiguous, intent(in) :: yy(5:) |
| character(len=k), contiguous, intent(in) :: zz(-k:) |
| end function |
| end interface |
| |
| contains |
| |
| type(loc_t) function char_assumed_size_f (xx, yy, zz, n, num) bind(c) result(res) |
| integer, value :: num, n |
| character(len=*) :: xx(*), yy(n:*), zz(6:6, 3:n, 3:*) |
| print *, xx(1:3) |
| if (3 /= len(xx)) error stop 1 |
| if (3 /= len(yy)) error stop 1 |
| if (3 /= len(zz)) error stop 1 |
| if (1 /= lbound(xx,dim=1)) error stop 1 |
| if (3 /= lbound(yy,dim=1)) error stop 1 |
| if (6 /= lbound(zz,dim=1)) error stop 1 |
| if (3 /= lbound(zz,dim=2)) error stop 1 |
| if (3 /= lbound(zz,dim=3)) error stop 1 |
| if (1 /= size(zz,dim=1)) error stop 1 |
| if (1 /= size(zz,dim=2)) error stop 1 |
| if (6 /= ubound(zz,dim=1)) error stop 1 |
| if (3 /= ubound(zz,dim=2)) error stop 1 |
| if (num == 1) then |
| if (xx(1) /= "abc") error stop 2 |
| if (xx(2) /= "ghi") error stop 3 |
| if (xx(3) /= "nop") error stop 4 |
| if (yy(3) /= "abc") error stop 2 |
| if (yy(4) /= "ghi") error stop 3 |
| if (yy(5) /= "nop") error stop 4 |
| if (zz(6,n,3) /= "abc") error stop 2 |
| if (zz(6,n,4) /= "ghi") error stop 3 |
| if (zz(6,n,5) /= "nop") error stop 4 |
| else if (num == 2) then |
| if (xx(1) /= "def") error stop 2 |
| if (xx(2) /= "ghi") error stop 3 |
| if (xx(3) /= "jlm") error stop 4 |
| if (yy(3) /= "def") error stop 2 |
| if (yy(4) /= "ghi") error stop 3 |
| if (yy(5) /= "jlm") error stop 4 |
| if (zz(6,n,3) /= "def") error stop 2 |
| if (zz(6,n,4) /= "ghi") error stop 3 |
| if (zz(6,n,5) /= "jlm") error stop 4 |
| else |
| error stop 8 |
| endif |
| xx(1) = "ABC" |
| xx(2) = "DEF" |
| xx(3) = "GHI" |
| yy(3) = "ABC" |
| yy(4) = "DEF" |
| yy(5) = "GHI" |
| zz(6,n,3) = "ABC" |
| zz(6,n,4) = "DEF" |
| zz(6,n,5) = "GHI" |
| res%x = %loc(xx) ! { dg-warning "Legacy Extension" } |
| res%y = %loc(yy) ! { dg-warning "Legacy Extension" } |
| res%z = %loc(zz) ! { dg-warning "Legacy Extension" } |
| end |
| |
| type(loc_t) function char_assumed_size_in_f (xx, yy, zz, n, num) bind(c) result(res) |
| integer, value :: num, n |
| character(len=*) :: xx(*), yy(n:*), zz(6:6, 3:n, 3:*) |
| intent(in) :: xx, yy, zz |
| print *, xx(1:3) |
| if (3 /= len(xx)) error stop 1 |
| if (3 /= len(yy)) error stop 1 |
| if (3 /= len(zz)) error stop 1 |
| if (1 /= lbound(xx,dim=1)) error stop 1 |
| if (3 /= lbound(yy,dim=1)) error stop 1 |
| if (6 /= lbound(zz,dim=1)) error stop 1 |
| if (3 /= lbound(zz,dim=2)) error stop 1 |
| if (3 /= lbound(zz,dim=3)) error stop 1 |
| if (1 /= size(zz,dim=1)) error stop 1 |
| if (1 /= size(zz,dim=2)) error stop 1 |
| if (6 /= ubound(zz,dim=1)) error stop 1 |
| if (3 /= ubound(zz,dim=2)) error stop 1 |
| if (num == 1) then |
| if (xx(1) /= "abc") error stop 2 |
| if (xx(2) /= "ghi") error stop 3 |
| if (xx(3) /= "nop") error stop 4 |
| if (yy(3) /= "abc") error stop 2 |
| if (yy(4) /= "ghi") error stop 3 |
| if (yy(5) /= "nop") error stop 4 |
| if (zz(6,n,3) /= "abc") error stop 2 |
| if (zz(6,n,4) /= "ghi") error stop 3 |
| if (zz(6,n,5) /= "nop") error stop 4 |
| else if (num == 2) then |
| if (xx(1) /= "def") error stop 2 |
| if (xx(2) /= "ghi") error stop 3 |
| if (xx(3) /= "jlm") error stop 4 |
| if (yy(3) /= "def") error stop 2 |
| if (yy(4) /= "ghi") error stop 3 |
| if (yy(5) /= "jlm") error stop 4 |
| if (zz(6,n,3) /= "def") error stop 2 |
| if (zz(6,n,4) /= "ghi") error stop 3 |
| if (zz(6,n,5) /= "jlm") error stop 4 |
| else |
| error stop 8 |
| endif |
| res%x = %loc(xx) ! { dg-warning "Legacy Extension" } |
| res%y = %loc(yy) ! { dg-warning "Legacy Extension" } |
| res%z = %loc(zz) ! { dg-warning "Legacy Extension" } if (num == 1) then |
| end |
| |
| type(loc_t) function char_expl_size_f (xx, yy, zz, n, num) bind(c) result(res) |
| integer, value :: num, n |
| character(len=*) :: xx(n), yy(n:n+2), zz(6:6, 3:n, 3:n+2) |
| print *, xx(1:3) |
| if (3 /= len(xx)) error stop 1 |
| if (3 /= len(yy)) error stop 1 |
| if (3 /= len(zz)) error stop 1 |
| if (1 /= lbound(xx,dim=1)) error stop 1 |
| if (3 /= lbound(yy,dim=1)) error stop 1 |
| if (6 /= lbound(zz,dim=1)) error stop 1 |
| if (3 /= lbound(zz,dim=2)) error stop 1 |
| if (3 /= lbound(zz,dim=3)) error stop 1 |
| if (3 /= size(xx,dim=1)) error stop 1 |
| if (3 /= size(yy,dim=1)) error stop 1 |
| if (1 /= size(zz,dim=1)) error stop 1 |
| if (1 /= size(zz,dim=2)) error stop 1 |
| if (3 /= size(zz,dim=3)) error stop 1 |
| if (3 /= ubound(xx,dim=1)) error stop 1 |
| if (5 /= ubound(yy,dim=1)) error stop 1 |
| if (6 /= ubound(zz,dim=1)) error stop 1 |
| if (3 /= ubound(zz,dim=2)) error stop 1 |
| if (5 /= ubound(zz,dim=3)) error stop 1 |
| if (num == 1) then |
| if (xx(1) /= "abc") error stop 2 |
| if (xx(2) /= "ghi") error stop 3 |
| if (xx(3) /= "nop") error stop 4 |
| if (yy(3) /= "abc") error stop 2 |
| if (yy(4) /= "ghi") error stop 3 |
| if (yy(5) /= "nop") error stop 4 |
| if (zz(6,n,3) /= "abc") error stop 2 |
| if (zz(6,n,4) /= "ghi") error stop 3 |
| if (zz(6,n,5) /= "nop") error stop 4 |
| else if (num == 2) then |
| if (xx(1) /= "def") error stop 2 |
| if (xx(2) /= "ghi") error stop 3 |
| if (xx(3) /= "jlm") error stop 4 |
| if (yy(3) /= "def") error stop 2 |
| if (yy(4) /= "ghi") error stop 3 |
| if (yy(5) /= "jlm") error stop 4 |
| if (zz(6,n,3) /= "def") error stop 2 |
| if (zz(6,n,4) /= "ghi") error stop 3 |
| if (zz(6,n,5) /= "jlm") error stop 4 |
| else |
| error stop 8 |
| endif |
| xx(1) = "ABC" |
| xx(2) = "DEF" |
| xx(3) = "GHI" |
| yy(3) = "ABC" |
| yy(4) = "DEF" |
| yy(5) = "GHI" |
| zz(6,n,3) = "ABC" |
| zz(6,n,4) = "DEF" |
| zz(6,n,5) = "GHI" |
| res%x = %loc(xx) ! { dg-warning "Legacy Extension" } |
| res%y = %loc(yy) ! { dg-warning "Legacy Extension" } |
| res%z = %loc(zz) ! { dg-warning "Legacy Extension" } |
| end |
| |
| type(loc_t) function char_expl_size_in_f (xx, yy, zz, n, num) bind(c) result(res) |
| integer, value :: num, n |
| character(len=*) :: xx(n), yy(n:n+2), zz(6:6, 3:n, 3:n+2) |
| intent(in) :: xx, yy, zz |
| print *, xx(1:3) |
| if (3 /= len(xx)) error stop 1 |
| if (3 /= len(yy)) error stop 1 |
| if (3 /= len(zz)) error stop 1 |
| if (1 /= lbound(xx,dim=1)) error stop 1 |
| if (3 /= lbound(yy,dim=1)) error stop 1 |
| if (6 /= lbound(zz,dim=1)) error stop 1 |
| if (3 /= lbound(zz,dim=2)) error stop 1 |
| if (3 /= lbound(zz,dim=3)) error stop 1 |
| if (3 /= size(xx,dim=1)) error stop 1 |
| if (3 /= size(yy,dim=1)) error stop 1 |
| if (1 /= size(zz,dim=1)) error stop 1 |
| if (1 /= size(zz,dim=2)) error stop 1 |
| if (3 /= size(zz,dim=3)) error stop 1 |
| if (3 /= ubound(xx,dim=1)) error stop 1 |
| if (5 /= ubound(yy,dim=1)) error stop 1 |
| if (6 /= ubound(zz,dim=1)) error stop 1 |
| if (3 /= ubound(zz,dim=2)) error stop 1 |
| if (5 /= ubound(zz,dim=3)) error stop 1 |
| if (num == 1) then |
| if (xx(1) /= "abc") error stop 2 |
| if (xx(2) /= "ghi") error stop 3 |
| if (xx(3) /= "nop") error stop 4 |
| if (yy(3) /= "abc") error stop 2 |
| if (yy(4) /= "ghi") error stop 3 |
| if (yy(5) /= "nop") error stop 4 |
| if (zz(6,n,3) /= "abc") error stop 2 |
| if (zz(6,n,4) /= "ghi") error stop 3 |
| if (zz(6,n,5) /= "nop") error stop 4 |
| else if (num == 2) then |
| if (xx(1) /= "def") error stop 2 |
| if (xx(2) /= "ghi") error stop 3 |
| if (xx(3) /= "jlm") error stop 4 |
| if (yy(3) /= "def") error stop 2 |
| if (yy(4) /= "ghi") error stop 3 |
| if (yy(5) /= "jlm") error stop 4 |
| if (zz(6,n,3) /= "def") error stop 2 |
| if (zz(6,n,4) /= "ghi") error stop 3 |
| if (zz(6,n,5) /= "jlm") error stop 4 |
| else |
| error stop 8 |
| endif |
| res%x = %loc(xx) ! { dg-warning "Legacy Extension" } |
| res%y = %loc(yy) ! { dg-warning "Legacy Extension" } |
| res%z = %loc(zz) ! { dg-warning "Legacy Extension" } |
| end |
| |
| |
| type(loc_t) function char_assumed_rank_f (xx, yy, zz, k, num) bind(c) result(res) |
| integer, value :: num, k |
| character(len=*) :: xx(..) |
| character(len=3) :: yy(..) |
| character(len=k) :: zz(..) |
| if (3 /= len(xx)) error stop 40 |
| if (3 /= len(yy)) error stop 40 |
| if (3 /= len(zz)) error stop 40 |
| if (3 /= size(xx)) error stop 41 |
| if (3 /= size(yy)) error stop 41 |
| if (3 /= size(zz)) error stop 41 |
| if (1 /= rank(xx)) error stop 49 |
| if (1 /= rank(yy)) error stop 49 |
| if (1 /= rank(zz)) error stop 49 |
| if (1 /= lbound(xx, dim=1)) stop 49 |
| if (1 /= lbound(yy, dim=1)) stop 49 |
| if (1 /= lbound(zz, dim=1)) stop 49 |
| if (3 /= ubound(xx, dim=1)) stop 49 |
| if (3 /= ubound(yy, dim=1)) stop 49 |
| if (3 /= ubound(zz, dim=1)) stop 49 |
| if (num == 1) then |
| if (is_contiguous (xx)) error stop 49 |
| if (is_contiguous (yy)) error stop 49 |
| if (is_contiguous (zz)) error stop 49 |
| else if (num == 2) then |
| if (.not. is_contiguous (xx)) error stop 49 |
| if (.not. is_contiguous (yy)) error stop 49 |
| if (.not. is_contiguous (zz)) error stop 49 |
| else |
| error stop 48 |
| end if |
| select rank (xx) |
| rank (1) |
| print *, xx(1:3) |
| if (num == 1) then |
| if (xx(1) /= "abc") error stop 42 |
| if (xx(2) /= "ghi") error stop 43 |
| if (xx(3) /= "nop") error stop 44 |
| else if (num == 2) then |
| if (xx(1) /= "def") error stop 45 |
| if (xx(2) /= "ghi") error stop 46 |
| if (xx(3) /= "jlm") error stop 47 |
| else |
| error stop 48 |
| endif |
| xx(1) = "ABC" |
| xx(2) = "DEF" |
| xx(3) = "GHI" |
| res%x = get_loc (xx) |
| rank default |
| error stop 99 |
| end select |
| select rank (yy) |
| rank (1) |
| print *, yy(1:3) |
| if (num == 1) then |
| if (yy(1) /= "abc") error stop 42 |
| if (yy(2) /= "ghi") error stop 43 |
| if (yy(3) /= "nop") error stop 44 |
| else if (num == 2) then |
| if (yy(1) /= "def") error stop 45 |
| if (yy(2) /= "ghi") error stop 46 |
| if (yy(3) /= "jlm") error stop 47 |
| else |
| error stop 48 |
| endif |
| yy(1) = "ABC" |
| yy(2) = "DEF" |
| yy(3) = "GHI" |
| res%y = get_loc (yy) |
| rank default |
| error stop 99 |
| end select |
| select rank (zz) |
| rank (1) |
| print *, zz(1:3) |
| if (num == 1) then |
| if (zz(1) /= "abc") error stop 42 |
| if (zz(2) /= "ghi") error stop 43 |
| if (zz(3) /= "nop") error stop 44 |
| else if (num == 2) then |
| if (zz(1) /= "def") error stop 45 |
| if (zz(2) /= "ghi") error stop 46 |
| if (zz(3) /= "jlm") error stop 47 |
| else |
| error stop 48 |
| endif |
| zz(1) = "ABC" |
| zz(2) = "DEF" |
| zz(3) = "GHI" |
| res%z = get_loc (zz) |
| rank default |
| error stop 99 |
| end select |
| contains |
| integer (c_intptr_t) function get_loc (arg) |
| character(len=*), target :: arg(:) |
| ! %loc does copy in/out if not simply contiguous |
| ! extra func needed because of 'target' attribute |
| get_loc = transfer (c_loc(arg), res%x) |
| end |
| end |
| |
| type(loc_t) function char_assumed_rank_in_f (xx, yy, zz, k, num) bind(c) result(res) |
| integer, value :: num, k |
| character(len=*) :: xx(..) |
| character(len=3) :: yy(..) |
| character(len=k) :: zz(..) |
| intent(in) :: xx, yy, zz |
| if (3 /= size(yy)) error stop 50 |
| if (3 /= len(yy)) error stop 51 |
| if (1 /= rank(yy)) error stop 59 |
| if (1 /= lbound(xx, dim=1)) stop 49 |
| if (1 /= lbound(yy, dim=1)) stop 49 |
| if (1 /= lbound(zz, dim=1)) stop 49 |
| if (3 /= ubound(xx, dim=1)) stop 49 |
| if (3 /= ubound(yy, dim=1)) stop 49 |
| if (3 /= ubound(zz, dim=1)) stop 49 |
| if (num == 1) then |
| if (is_contiguous (xx)) error stop 59 |
| if (is_contiguous (yy)) error stop 59 |
| if (is_contiguous (zz)) error stop 59 |
| else if (num == 2) then |
| if (.not. is_contiguous (xx)) error stop 59 |
| if (.not. is_contiguous (yy)) error stop 59 |
| if (.not. is_contiguous (zz)) error stop 59 |
| else |
| error stop 48 |
| end if |
| select rank (xx) |
| rank (1) |
| print *, xx(1:3) |
| if (num == 1) then |
| if (xx(1) /= "abc") error stop 52 |
| if (xx(2) /= "ghi") error stop 53 |
| if (xx(3) /= "nop") error stop 54 |
| else if (num == 2) then |
| if (xx(1) /= "def") error stop 55 |
| if (xx(2) /= "ghi") error stop 56 |
| if (xx(3) /= "jlm") error stop 57 |
| else |
| error stop 58 |
| endif |
| res%x = get_loc(xx) |
| rank default |
| error stop 99 |
| end select |
| select rank (yy) |
| rank (1) |
| print *, yy(1:3) |
| if (num == 1) then |
| if (yy(1) /= "abc") error stop 52 |
| if (yy(2) /= "ghi") error stop 53 |
| if (yy(3) /= "nop") error stop 54 |
| else if (num == 2) then |
| if (yy(1) /= "def") error stop 55 |
| if (yy(2) /= "ghi") error stop 56 |
| if (yy(3) /= "jlm") error stop 57 |
| else |
| error stop 58 |
| endif |
| res%y = get_loc(yy) |
| rank default |
| error stop 99 |
| end select |
| select rank (zz) |
| rank (1) |
| print *, zz(1:3) |
| if (num == 1) then |
| if (zz(1) /= "abc") error stop 52 |
| if (zz(2) /= "ghi") error stop 53 |
| if (zz(3) /= "nop") error stop 54 |
| else if (num == 2) then |
| if (zz(1) /= "def") error stop 55 |
| if (zz(2) /= "ghi") error stop 56 |
| if (zz(3) /= "jlm") error stop 57 |
| else |
| error stop 58 |
| endif |
| res%z = get_loc(zz) |
| rank default |
| error stop 99 |
| end select |
| contains |
| integer (c_intptr_t) function get_loc (arg) |
| character(len=*), target :: arg(:) |
| ! %loc does copy in/out if not simply contiguous |
| ! extra func needed because of 'target' attribute |
| get_loc = transfer (c_loc(arg), res%x) |
| end |
| end |
| |
| |
| |
| type(loc_t) function char_assumed_rank_cont_f (xx, yy, zz, k, num) bind(c) result(res) |
| integer, value :: num, k |
| character(len=*) :: xx(..) |
| character(len=3) :: yy(..) |
| character(len=k) :: zz(..) |
| contiguous :: xx, yy, zz |
| if (3 /= len(xx)) error stop 60 |
| if (3 /= len(yy)) error stop 60 |
| if (3 /= len(zz)) error stop 60 |
| if (3 /= size(xx)) error stop 61 |
| if (3 /= size(yy)) error stop 61 |
| if (3 /= size(zz)) error stop 61 |
| if (1 /= rank(xx)) error stop 69 |
| if (1 /= rank(yy)) error stop 69 |
| if (1 /= rank(zz)) error stop 69 |
| if (1 /= lbound(xx, dim=1)) stop 49 |
| if (1 /= lbound(yy, dim=1)) stop 49 |
| if (1 /= lbound(zz, dim=1)) stop 49 |
| if (3 /= ubound(xx, dim=1)) stop 49 |
| if (3 /= ubound(yy, dim=1)) stop 49 |
| if (3 /= ubound(zz, dim=1)) stop 49 |
| select rank (xx) |
| rank (1) |
| print *, xx(1:3) |
| if (num == 1) then |
| if (xx(1) /= "abc") error stop 62 |
| if (xx(2) /= "ghi") error stop 63 |
| if (xx(3) /= "nop") error stop 64 |
| else if (num == 2) then |
| if (xx(1) /= "def") error stop 65 |
| if (xx(2) /= "ghi") error stop 66 |
| if (xx(3) /= "jlm") error stop 67 |
| else |
| error stop 68 |
| endif |
| xx(1) = "ABC" |
| xx(2) = "DEF" |
| xx(3) = "GHI" |
| res%x = %loc(xx) ! { dg-warning "Legacy Extension" } |
| rank default |
| error stop 99 |
| end select |
| select rank (yy) |
| rank (1) |
| print *, yy(1:3) |
| if (num == 1) then |
| if (yy(1) /= "abc") error stop 62 |
| if (yy(2) /= "ghi") error stop 63 |
| if (yy(3) /= "nop") error stop 64 |
| else if (num == 2) then |
| if (yy(1) /= "def") error stop 65 |
| if (yy(2) /= "ghi") error stop 66 |
| if (yy(3) /= "jlm") error stop 67 |
| else |
| error stop 68 |
| endif |
| yy(1) = "ABC" |
| yy(2) = "DEF" |
| yy(3) = "GHI" |
| res%y = %loc(yy) ! { dg-warning "Legacy Extension" } |
| rank default |
| error stop 99 |
| end select |
| select rank (zz) |
| rank (1) |
| print *, zz(1:3) |
| if (num == 1) then |
| if (zz(1) /= "abc") error stop 62 |
| if (zz(2) /= "ghi") error stop 63 |
| if (zz(3) /= "nop") error stop 64 |
| else if (num == 2) then |
| if (zz(1) /= "def") error stop 65 |
| if (zz(2) /= "ghi") error stop 66 |
| if (zz(3) /= "jlm") error stop 67 |
| else |
| error stop 68 |
| endif |
| zz(1) = "ABC" |
| zz(2) = "DEF" |
| zz(3) = "GHI" |
| res%z = %loc(zz) ! { dg-warning "Legacy Extension" } |
| rank default |
| error stop 99 |
| end select |
| end |
| |
| type(loc_t) function char_assumed_rank_cont_in_f (xx, yy, zz, k, num) bind(c) result(res) |
| integer, value :: num, k |
| character(len=*) :: xx(..) |
| character(len=3) :: yy(..) |
| character(len=k) :: zz(..) |
| intent(in) :: xx, yy, zz |
| contiguous :: xx, yy, zz |
| if (3 /= size(xx)) error stop 30 |
| if (3 /= size(yy)) error stop 30 |
| if (3 /= size(zz)) error stop 30 |
| if (3 /= len(xx)) error stop 31 |
| if (3 /= len(yy)) error stop 31 |
| if (3 /= len(zz)) error stop 31 |
| if (1 /= rank(xx)) error stop 69 |
| if (1 /= rank(yy)) error stop 69 |
| if (1 /= rank(zz)) error stop 69 |
| if (1 /= lbound(xx, dim=1)) stop 49 |
| if (1 /= lbound(yy, dim=1)) stop 49 |
| if (1 /= lbound(zz, dim=1)) stop 49 |
| if (3 /= ubound(xx, dim=1)) stop 49 |
| if (3 /= ubound(yy, dim=1)) stop 49 |
| if (3 /= ubound(zz, dim=1)) stop 49 |
| select rank (xx) |
| rank (1) |
| print *, xx(1:3) |
| if (num == 1) then |
| if (xx(1) /= "abc") error stop 62 |
| if (xx(2) /= "ghi") error stop 63 |
| if (xx(3) /= "nop") error stop 64 |
| else if (num == 2) then |
| if (xx(1) /= "def") error stop 65 |
| if (xx(2) /= "ghi") error stop 66 |
| if (xx(3) /= "jlm") error stop 67 |
| else |
| error stop 68 |
| endif |
| res%x = %loc(xx) ! { dg-warning "Legacy Extension" } |
| rank default |
| error stop 99 |
| end select |
| select rank (yy) |
| rank (1) |
| print *, yy(1:3) |
| if (num == 1) then |
| if (yy(1) /= "abc") error stop 62 |
| if (yy(2) /= "ghi") error stop 63 |
| if (yy(3) /= "nop") error stop 64 |
| else if (num == 2) then |
| if (yy(1) /= "def") error stop 65 |
| if (yy(2) /= "ghi") error stop 66 |
| if (yy(3) /= "jlm") error stop 67 |
| else |
| error stop 68 |
| endif |
| res%y = %loc(yy) ! { dg-warning "Legacy Extension" } |
| rank default |
| error stop 99 |
| end select |
| select rank (zz) |
| rank (1) |
| print *, zz(1:3) |
| if (num == 1) then |
| if (zz(1) /= "abc") error stop 62 |
| if (zz(2) /= "ghi") error stop 63 |
| if (zz(3) /= "nop") error stop 64 |
| else if (num == 2) then |
| if (zz(1) /= "def") error stop 65 |
| if (zz(2) /= "ghi") error stop 66 |
| if (zz(3) /= "jlm") error stop 67 |
| else |
| error stop 68 |
| endif |
| res%z = %loc(zz) ! { dg-warning "Legacy Extension" } |
| rank default |
| error stop 99 |
| end select |
| end |
| |
| type(loc_t) function char_assumed_shape_f (xx, yy, zz, k, num) bind(c) result(res) |
| integer, value :: num, k |
| character(len=*) :: xx(:) |
| character(len=3) :: yy(5:) |
| character(len=k) :: zz(-k:) |
| print *, xx(1:3) |
| if (3 /= len(xx)) error stop 70 |
| if (3 /= len(yy)) error stop 70 |
| if (3 /= len(zz)) error stop 70 |
| if (3 /= size(xx)) error stop 71 |
| if (3 /= size(yy)) error stop 71 |
| if (3 /= size(zz)) error stop 71 |
| if (1 /= lbound(xx, dim=1)) stop 49 |
| if (5 /= lbound(yy, dim=1)) stop 49 |
| if (-k /= lbound(zz, dim=1)) stop 49 |
| if (3 /= ubound(xx, dim=1)) stop 49 |
| if (7 /= ubound(yy, dim=1)) stop 49 |
| if (-k+2 /= ubound(zz, dim=1)) stop 49 |
| if (num == 1) then |
| if (is_contiguous (xx)) error stop 79 |
| if (is_contiguous (yy)) error stop 79 |
| if (is_contiguous (zz)) error stop 79 |
| if (xx(1) /= "abc") error stop 72 |
| if (xx(2) /= "ghi") error stop 73 |
| if (xx(3) /= "nop") error stop 74 |
| if (yy(5) /= "abc") error stop 72 |
| if (yy(6) /= "ghi") error stop 73 |
| if (yy(7) /= "nop") error stop 74 |
| if (zz(-k) /= "abc") error stop 72 |
| if (zz(-k+1) /= "ghi") error stop 73 |
| if (zz(-k+2) /= "nop") error stop 74 |
| else if (num == 2) then |
| if (.not.is_contiguous (xx)) error stop 79 |
| if (.not.is_contiguous (yy)) error stop 79 |
| if (.not.is_contiguous (zz)) error stop 79 |
| if (xx(1) /= "def") error stop 72 |
| if (xx(2) /= "ghi") error stop 73 |
| if (xx(3) /= "jlm") error stop 74 |
| if (yy(5) /= "def") error stop 72 |
| if (yy(6) /= "ghi") error stop 73 |
| if (yy(7) /= "jlm") error stop 74 |
| if (zz(-k) /= "def") error stop 72 |
| if (zz(-k+1) /= "ghi") error stop 73 |
| if (zz(-k+2) /= "jlm") error stop 74 |
| else |
| error stop 78 |
| endif |
| xx(1) = "ABC" |
| xx(2) = "DEF" |
| xx(3) = "GHI" |
| yy(5) = "ABC" |
| yy(6) = "DEF" |
| yy(7) = "GHI" |
| zz(-k) = "ABC" |
| zz(-k+1) = "DEF" |
| zz(-k+2) = "GHI" |
| res%x = get_loc(xx) |
| res%y = get_loc(yy) |
| res%z = get_loc(zz) |
| contains |
| integer (c_intptr_t) function get_loc (arg) |
| character(len=*), target :: arg(:) |
| ! %loc does copy in/out if not simply contiguous |
| ! extra func needed because of 'target' attribute |
| get_loc = transfer (c_loc(arg), res%x) |
| end |
| end |
| |
| type(loc_t) function char_assumed_shape_in_f (xx, yy, zz, k, num) bind(c) result(res) |
| integer, value :: num, k |
| character(len=*) :: xx(:) |
| character(len=3) :: yy(5:) |
| character(len=k) :: zz(-k:) |
| intent(in) :: xx, yy, zz |
| print *, xx(1:3) |
| if (3 /= size(xx)) error stop 80 |
| if (3 /= size(yy)) error stop 80 |
| if (3 /= size(zz)) error stop 80 |
| if (3 /= len(xx)) error stop 81 |
| if (3 /= len(yy)) error stop 81 |
| if (3 /= len(zz)) error stop 81 |
| if (1 /= lbound(xx, dim=1)) stop 49 |
| if (5 /= lbound(yy, dim=1)) stop 49 |
| if (-k /= lbound(zz, dim=1)) stop 49 |
| if (3 /= ubound(xx, dim=1)) stop 49 |
| if (7 /= ubound(yy, dim=1)) stop 49 |
| if (-k+2 /= ubound(zz, dim=1)) stop 49 |
| if (num == 1) then |
| if (is_contiguous (xx)) error stop 89 |
| if (is_contiguous (yy)) error stop 89 |
| if (is_contiguous (zz)) error stop 89 |
| if (xx(1) /= "abc") error stop 82 |
| if (xx(2) /= "ghi") error stop 83 |
| if (xx(3) /= "nop") error stop 84 |
| if (yy(5) /= "abc") error stop 82 |
| if (yy(6) /= "ghi") error stop 83 |
| if (yy(7) /= "nop") error stop 84 |
| if (zz(-k) /= "abc") error stop 82 |
| if (zz(-k+1) /= "ghi") error stop 83 |
| if (zz(-k+2) /= "nop") error stop 84 |
| else if (num == 2) then |
| if (.not.is_contiguous (xx)) error stop 89 |
| if (.not.is_contiguous (yy)) error stop 89 |
| if (.not.is_contiguous (zz)) error stop 89 |
| if (xx(1) /= "def") error stop 85 |
| if (xx(2) /= "ghi") error stop 86 |
| if (xx(3) /= "jlm") error stop 87 |
| if (yy(5) /= "def") error stop 85 |
| if (yy(6) /= "ghi") error stop 86 |
| if (yy(7) /= "jlm") error stop 87 |
| if (zz(-k) /= "def") error stop 85 |
| if (zz(-k+1) /= "ghi") error stop 86 |
| if (zz(-k+2) /= "jlm") error stop 87 |
| else |
| error stop 88 |
| endif |
| res%x = get_loc(xx) |
| res%y = get_loc(yy) |
| res%z = get_loc(zz) |
| contains |
| integer (c_intptr_t) function get_loc (arg) |
| character(len=*), target :: arg(:) |
| ! %loc does copy in/out if not simply contiguous |
| ! extra func needed because of 'target' attribute |
| get_loc = transfer (c_loc(arg), res%x) |
| end |
| end |
| |
| |
| |
| type(loc_t) function char_assumed_shape_cont_f (xx, yy, zz, k, num) bind(c) result(res) |
| integer, value :: num, k |
| character(len=*) :: xx(:) |
| character(len=3) :: yy(5:) |
| character(len=k) :: zz(-k:) |
| contiguous :: xx, yy, zz |
| print *, xx(1:3) |
| if (3 /= len(xx)) error stop 90 |
| if (3 /= len(yy)) error stop 90 |
| if (3 /= len(zz)) error stop 90 |
| if (3 /= size(xx)) error stop 91 |
| if (3 /= size(yy)) error stop 91 |
| if (3 /= size(zz)) error stop 91 |
| if (1 /= lbound(xx, dim=1)) stop 49 |
| if (5 /= lbound(yy, dim=1)) stop 49 |
| if (-k /= lbound(zz, dim=1)) stop 49 |
| if (3 /= ubound(xx, dim=1)) stop 49 |
| if (7 /= ubound(yy, dim=1)) stop 49 |
| if (-k+2 /= ubound(zz, dim=1)) stop 49 |
| if (num == 1) then |
| if (xx(1) /= "abc") error stop 92 |
| if (xx(2) /= "ghi") error stop 93 |
| if (xx(3) /= "nop") error stop 94 |
| if (yy(5) /= "abc") error stop 92 |
| if (yy(6) /= "ghi") error stop 93 |
| if (yy(7) /= "nop") error stop 94 |
| if (zz(-k) /= "abc") error stop 92 |
| if (zz(-k+1) /= "ghi") error stop 93 |
| if (zz(-k+2) /= "nop") error stop 94 |
| else if (num == 2) then |
| if (xx(1) /= "def") error stop 92 |
| if (xx(2) /= "ghi") error stop 93 |
| if (xx(3) /= "jlm") error stop 94 |
| if (yy(5) /= "def") error stop 92 |
| if (yy(6) /= "ghi") error stop 93 |
| if (yy(7) /= "jlm") error stop 94 |
| if (zz(-k) /= "def") error stop 92 |
| if (zz(-k+1) /= "ghi") error stop 93 |
| if (zz(-k+2) /= "jlm") error stop 94 |
| else |
| error stop 98 |
| endif |
| xx(1) = "ABC" |
| xx(2) = "DEF" |
| xx(3) = "GHI" |
| yy(5) = "ABC" |
| yy(6) = "DEF" |
| yy(7) = "GHI" |
| zz(-k) = "ABC" |
| zz(-k+1) = "DEF" |
| zz(-k+2) = "GHI" |
| res%x = %loc(xx) ! { dg-warning "Legacy Extension" } |
| res%y = %loc(yy) ! { dg-warning "Legacy Extension" } |
| res%z = %loc(zz) ! { dg-warning "Legacy Extension" } |
| end |
| |
| type(loc_t) function char_assumed_shape_cont_in_f (xx, yy, zz, k, num) bind(c) result(res) |
| integer, value :: num, k |
| character(len=*) :: xx(:) |
| character(len=3) :: yy(5:) |
| character(len=k) :: zz(-k:) |
| intent(in) :: xx, yy, zz |
| contiguous :: xx, yy, zz |
| print *, xx(1:3) |
| if (3 /= size(xx)) error stop 100 |
| if (3 /= size(yy)) error stop 100 |
| if (3 /= size(zz)) error stop 100 |
| if (3 /= len(xx)) error stop 101 |
| if (3 /= len(yy)) error stop 101 |
| if (3 /= len(zz)) error stop 101 |
| if (1 /= lbound(xx, dim=1)) stop 49 |
| if (5 /= lbound(yy, dim=1)) stop 49 |
| if (-k /= lbound(zz, dim=1)) stop 49 |
| if (3 /= ubound(xx, dim=1)) stop 49 |
| if (7 /= ubound(yy, dim=1)) stop 49 |
| if (-k+2 /= ubound(zz, dim=1)) stop 49 |
| if (num == 1) then |
| if (xx(1) /= "abc") error stop 102 |
| if (xx(2) /= "ghi") error stop 103 |
| if (xx(3) /= "nop") error stop 104 |
| if (yy(5) /= "abc") error stop 102 |
| if (yy(6) /= "ghi") error stop 103 |
| if (yy(7) /= "nop") error stop 104 |
| if (zz(-k) /= "abc") error stop 102 |
| if (zz(-k+1) /= "ghi") error stop 103 |
| if (zz(-k+2) /= "nop") error stop 104 |
| else if (num == 2) then |
| if (xx(1) /= "def") error stop 105 |
| if (xx(2) /= "ghi") error stop 106 |
| if (xx(3) /= "jlm") error stop 107 |
| if (yy(5) /= "def") error stop 105 |
| if (yy(6) /= "ghi") error stop 106 |
| if (yy(7) /= "jlm") error stop 107 |
| if (zz(-k) /= "def") error stop 105 |
| if (zz(-k+1) /= "ghi") error stop 106 |
| if (zz(-k+2) /= "jlm") error stop 107 |
| else |
| error stop 108 |
| endif |
| res%x = %loc(xx) ! { dg-warning "Legacy Extension" } |
| res%y = %loc(yy) ! { dg-warning "Legacy Extension" } |
| res%z = %loc(zz) ! { dg-warning "Legacy Extension" } |
| end |
| |
| end module |
| |
| |
| use m |
| implicit none (type, external) |
| character(len=3) :: a(6), a2(6), a3(6), a_init(6) |
| type(loc_t) :: loc3 |
| |
| a_init = ['abc', 'def', 'ghi', 'jlm', 'nop', 'qrs'] |
| |
| ! -- Fortran: assumed size |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_size_f (a(::2), a2(::2), a3(::2), size(a(::2)), num=1) ! NOTE: run-time copy-in warning |
| if (loc3%x == %loc(a)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a2 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a3 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_size_f (a(2:4), a2(2:4), a3(2:4), size(a(2:4)), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a2 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a3 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_size_in_f (a(::2), a2(::2), a3(::2), size(a(::2)), num=1) ! NOTE: run-time copy-in warning |
| if (loc3%x == %loc(a)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 56 |
| if (any (a2 /= a_init)) error stop 58 |
| if (any (a3 /= a_init)) error stop 58 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_size_in_f (a(2:4), a2(2:4), a3(2:4), size(a(2:4)), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 58 |
| if (any (a2 /= a_init)) error stop 58 |
| if (any (a3 /= a_init)) error stop 58 |
| |
| ! -- Fortran: explicit shape |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_expl_size_f (a(::2), a2(::2), a3(::2), size(a(::2)), num=1) ! NOTE: run-time copy-in warning |
| if (loc3%x == %loc(a)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a2 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a3 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_expl_size_f (a(2:4), a2(2:4), a3(2:4), size(a(::2)), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a2 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a3 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_expl_size_in_f (a(::2), a2(::2), a3(::2), size(a(::2)), num=1) ! NOTE: run-time copy-in warning |
| if (loc3%x == %loc(a)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 56 |
| if (any (a2 /= a_init)) error stop 58 |
| if (any (a3 /= a_init)) error stop 58 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_expl_size_in_f (a(2:4), a2(2:4), a3(2:4), size(a(::2)), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 58 |
| if (any (a2 /= a_init)) error stop 58 |
| if (any (a3 /= a_init)) error stop 58 |
| |
| ! -- Fortran: assumed rank |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_rank_f (a(::2), a2(::2), a3(::2), len(a), num=1) |
| if (loc3%x /= %loc(a)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a2 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a3 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_rank_f (a(2:4), a2(2:4), a3(2:4), len(a), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a2 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a3 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_rank_in_f (a(::2), a2(::2), a3(::2), len(a), num=1) |
| if (loc3%x /= %loc(a)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 56 |
| if (any (a2 /= a_init)) error stop 56 |
| if (any (a3 /= a_init)) error stop 56 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_rank_in_f (a(2:4), a2(2:4), a3(2:4), len(a), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 58 |
| if (any (a2 /= a_init)) error stop 58 |
| if (any (a3 /= a_init)) error stop 58 |
| |
| ! -- Fortran: assumed rank contiguous |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_rank_cont_f (a(::2), a2(::2), a3(::2), len(a), num=1) ! NOTE: run-time copy-in warning |
| if (loc3%x == %loc(a)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a2 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a3 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_rank_cont_f (a(2:4), a2(2:4), a3(2:4), len(a), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a2 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a3 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_rank_cont_in_f (a(::2), a2(::2), a3(::2), len(a), num=1) ! NOTE: run-time copy-in warning |
| if (loc3%x == %loc(a)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 56 |
| if (any (a2 /= a_init)) error stop 56 |
| if (any (a3 /= a_init)) error stop 56 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_rank_cont_in_f (a(2:4), a2(2:4), a3(2:4), len(a), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 58 |
| if (any (a2 /= a_init)) error stop 58 |
| if (any (a3 /= a_init)) error stop 58 |
| |
| ! -- Fortran: assumed shape |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_shape_f (a(::2), a2(::2), a3(::2), len(a), num=1) |
| if (loc3%x /= %loc(a)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a2 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a3 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_shape_f (a(2:4), a2(2:4), a3(2:4), len(a), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a2 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a3 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_shape_in_f (a(::2), a2(::2), a3(::2), len(a), num=1) |
| if (loc3%x /= %loc(a)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 56 |
| if (any (a2 /= a_init)) error stop 56 |
| if (any (a3 /= a_init)) error stop 56 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_shape_in_f (a(2:4), a2(2:4), a3(2:4), len(a), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 58 |
| if (any (a2 /= a_init)) error stop 58 |
| if (any (a3 /= a_init)) error stop 58 |
| |
| ! -- Fortran: assumed shape contiguous |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_shape_cont_f (a(::2), a2(::2), a3(::2), len(a), num=1) ! NOTE: run-time copy-in warning |
| if (loc3%x == %loc(a)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a2 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a3 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_shape_cont_f (a(2:4), a2(2:4), a3(2:4), len(a), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a2 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a3 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_shape_cont_in_f (a(::2), a2(::2), a3(::2), len(a), num=1) ! NOTE: run-time copy-in warning |
| if (loc3%x == %loc(a)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 56 |
| if (any (a2 /= a_init)) error stop 56 |
| if (any (a3 /= a_init)) error stop 56 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_shape_cont_in_f (a(2:4), a2(2:4), a3(2:4), len(a), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 58 |
| if (any (a2 /= a_init)) error stop 58 |
| if (any (a3 /= a_init)) error stop 58 |
| |
| |
| ! --- character - call C directly -- |
| |
| ! -- C: assumed size |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_size_c (a(::2), a2(::2), a3(::2), size(a(::2)), num=1) ! NOTE: run-time copy-in warning |
| if (loc3%x == %loc(a)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a2 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a3 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_size_c (a(2:4), a2(2:4), a3(2:4), size(a(2:4)), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a2 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a3 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_size_in_c (a(::2), a2(::2), a3(::2), size(a(::2)), num=1) ! NOTE: run-time copy-in warning |
| if (loc3%x == %loc(a)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 56 |
| if (any (a2 /= a_init)) error stop 58 |
| if (any (a3 /= a_init)) error stop 58 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_size_in_c (a(2:4), a2(2:4), a3(2:4), size(a(2:4)), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 58 |
| if (any (a2 /= a_init)) error stop 58 |
| if (any (a3 /= a_init)) error stop 58 |
| |
| ! -- C: explicit shape |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_expl_size_c (a(::2), a2(::2), a3(::2), size(a(::2)), num=1) ! NOTE: run-time copy-in warning |
| if (loc3%x == %loc(a)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a2 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a3 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_expl_size_c (a(2:4), a2(2:4), a3(2:4), size(a(::2)), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a2 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a3 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_expl_size_in_c (a(::2), a2(::2), a3(::2), size(a(::2)), num=1) ! NOTE: run-time copy-in warning |
| if (loc3%x == %loc(a)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 56 |
| if (any (a2 /= a_init)) error stop 58 |
| if (any (a3 /= a_init)) error stop 58 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_expl_size_in_c (a(2:4), a2(2:4), a3(2:4), size(a(::2)), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 58 |
| if (any (a2 /= a_init)) error stop 58 |
| if (any (a3 /= a_init)) error stop 58 |
| |
| ! -- C: assumed rank |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_rank_c (a(::2), a2(::2), a3(::2), len(a), num=1) |
| if (loc3%x /= %loc(a)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a2 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a3 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_rank_c (a(2:4), a2(2:4), a3(2:4), len(a), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a2 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a3 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_rank_in_c (a(::2), a2(::2), a3(::2), len(a), num=1) |
| if (loc3%x /= %loc(a)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 56 |
| if (any (a2 /= a_init)) error stop 56 |
| if (any (a3 /= a_init)) error stop 56 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_rank_in_c (a(2:4), a2(2:4), a3(2:4), len(a), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 58 |
| if (any (a2 /= a_init)) error stop 58 |
| if (any (a3 /= a_init)) error stop 58 |
| |
| ! -- C: assumed rank contiguous |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_rank_cont_c (a(::2), a2(::2), a3(::2), len(a), num=1) ! NOTE: run-time copy-in warning |
| if (loc3%x == %loc(a)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a2 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a3 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_rank_cont_c (a(2:4), a2(2:4), a3(2:4), len(a), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a2 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a3 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_rank_cont_in_c (a(::2), a2(::2), a3(::2), len(a), num=1) ! NOTE: run-time copy-in warning |
| if (loc3%x == %loc(a)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 56 |
| if (any (a2 /= a_init)) error stop 56 |
| if (any (a3 /= a_init)) error stop 56 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_rank_cont_in_c (a(2:4), a2(2:4), a3(2:4), len(a), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 58 |
| if (any (a2 /= a_init)) error stop 58 |
| if (any (a3 /= a_init)) error stop 58 |
| |
| ! -- C: assumed shape |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_shape_c (a(::2), a2(::2), a3(::2), len(a), num=1) |
| if (loc3%x /= %loc(a)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a2 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a3 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_shape_c (a(2:4), a2(2:4), a3(2:4), len(a), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a2 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a3 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_shape_in_c (a(::2), a2(::2), a3(::2), len(a), num=1) |
| if (loc3%x /= %loc(a)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 56 |
| if (any (a2 /= a_init)) error stop 56 |
| if (any (a3 /= a_init)) error stop 56 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_shape_in_c (a(2:4), a2(2:4), a3(2:4), len(a), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 58 |
| if (any (a2 /= a_init)) error stop 58 |
| if (any (a3 /= a_init)) error stop 58 |
| |
| ! -- C: assumed shape contiguous |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_shape_cont_c (a(::2), a2(::2), a3(::2), len(a), num=1) ! NOTE: run-time copy-in warning |
| if (loc3%x == %loc(a)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 51 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a2 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| if (any (a3 /= ['ABC', 'def', 'DEF', 'jlm', 'GHI', 'qrs'])) error stop 52 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_shape_cont_c (a(2:4), a2(2:4), a3(2:4), len(a), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3(2))) error stop 53 ! { dg-warning "Legacy Extension" } |
| if (any (a /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a2 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| if (any (a3 /= ['abc', 'ABC', 'DEF', 'GHI', 'nop', 'qrs'])) error stop 54 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_shape_cont_in_c (a(::2), a2(::2), a3(::2), len(a), num=1) ! NOTE: run-time copy-in warning |
| if (loc3%x == %loc(a)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%y == %loc(a2)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (loc3%z == %loc(a3)) error stop 55 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 56 |
| if (any (a2 /= a_init)) error stop 56 |
| if (any (a3 /= a_init)) error stop 56 |
| |
| a = a_init; a2 = a_init; a3 = a_init |
| loc3 = char_assumed_shape_cont_in_c (a(2:4), a2(2:4), a3(2:4), len(a), num=2) |
| if (loc3%x /= %loc(a(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%y /= %loc(a2(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (loc3%z /= %loc(a3(2))) error stop 57 ! { dg-warning "Legacy Extension" } |
| if (any (a /= a_init)) error stop 58 |
| if (any (a2 /= a_init)) error stop 58 |
| if (any (a3 /= a_init)) error stop 58 |
| end |
| |
| |
| ! { dg-output "At line 928 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'xx' of procedure 'char_assumed_size_f'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 928 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'yy' of procedure 'char_assumed_size_f'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 928 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'zz' of procedure 'char_assumed_size_f'(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output "At line 946 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'xx' of procedure 'char_assumed_size_in_f'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 946 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'yy' of procedure 'char_assumed_size_in_f'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 946 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'zz' of procedure 'char_assumed_size_in_f'(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output "At line 965 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'xx' of procedure 'char_expl_size_f'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 965 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'yy' of procedure 'char_expl_size_f'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 965 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'zz' of procedure 'char_expl_size_f'(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output "At line 983 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'xx' of procedure 'char_expl_size_in_f'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 983 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'yy' of procedure 'char_expl_size_in_f'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 983 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'zz' of procedure 'char_expl_size_in_f'(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1039 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'xx' of procedure 'char_assumed_rank_cont_f'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1039 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'yy' of procedure 'char_assumed_rank_cont_f'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1039 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'zz' of procedure 'char_assumed_rank_cont_f'(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1057 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'xx' of procedure 'char_assumed_rank_cont_in_f'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1057 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'yy' of procedure 'char_assumed_rank_cont_in_f'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1057 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'zz' of procedure 'char_assumed_rank_cont_in_f'(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1113 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'xx' of procedure 'char_assumed_shape_cont_f'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1113 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'yy' of procedure 'char_assumed_shape_cont_f'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1113 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'zz' of procedure 'char_assumed_shape_cont_f'(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1131 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'xx' of procedure 'char_assumed_shape_cont_in_f'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1131 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'yy' of procedure 'char_assumed_shape_cont_in_f'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1131 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'zz' of procedure 'char_assumed_shape_cont_in_f'(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1153 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'xx' of procedure 'char_assumed_size_c'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1153 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'yy' of procedure 'char_assumed_size_c'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1153 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'zz' of procedure 'char_assumed_size_c'(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1171 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'xx' of procedure 'char_assumed_size_in_c'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1171 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'yy' of procedure 'char_assumed_size_in_c'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1171 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'zz' of procedure 'char_assumed_size_in_c'(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1190 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'xx' of procedure 'char_expl_size_c'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1190 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'yy' of procedure 'char_expl_size_c'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1190 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'zz' of procedure 'char_expl_size_c'(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1208 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'xx' of procedure 'char_expl_size_in_c'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1208 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'yy' of procedure 'char_expl_size_in_c'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1208 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'zz' of procedure 'char_expl_size_in_c'(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1264 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'xx' of procedure 'char_assumed_rank_cont_c'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1264 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'yy' of procedure 'char_assumed_rank_cont_c'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1264 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'zz' of procedure 'char_assumed_rank_cont_c'(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1282 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'xx' of procedure 'char_assumed_rank_cont_in_c'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1282 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'yy' of procedure 'char_assumed_rank_cont_in_c'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1282 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'zz' of procedure 'char_assumed_rank_cont_in_c'(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1338 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'xx' of procedure 'char_assumed_shape_cont_c'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1338 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'yy' of procedure 'char_assumed_shape_cont_c'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1338 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'zz' of procedure 'char_assumed_shape_cont_c'(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1356 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'xx' of procedure 'char_assumed_shape_cont_in_c'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1356 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'yy' of procedure 'char_assumed_shape_cont_in_c'(\n|\r\n|\r)" }" |
| ! { dg-output "At line 1356 of file .*bind-c-contiguous-1.f90(\n|\r\n|\r)" }" |
| ! { dg-output "Fortran runtime warning: An array temporary was created for argument 'zz' of procedure 'char_assumed_shape_cont_in_c'(\n|\r\n|\r)" }" |
| ! { dg-output " abcghinop(\n|\r\n|\r)" }" |
| ! { dg-output " defghijlm(\n|\r\n|\r)" }" |