CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
82 lines
2.3 KiB
Fortran
82 lines
2.3 KiB
Fortran
! Copyright 2015-2024 Free Software Foundation, Inc.
|
|
!
|
|
! This program is free software; you can redistribute it and/or modify
|
|
! it under the terms of the GNU General Public License as published by
|
|
! the Free Software Foundation; either version 3 of the License, or
|
|
! (at your option) any later version.
|
|
!
|
|
! This program is distributed in the hope that it will be useful,
|
|
! but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
! GNU General Public License for more details.
|
|
!
|
|
! You should have received a copy of the GNU General Public License
|
|
! along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
!
|
|
! Original file written by Jakub Jelinek <jakub@redhat.com> and
|
|
! Jan Kratochvil <jan.kratochvil@redhat.com>.
|
|
! Modified for the GDB testcases by Keven Boell <keven.boell@intel.com>.
|
|
|
|
subroutine foo (array1, array2)
|
|
integer :: array1 (:, :)
|
|
real :: array2 (:, :, :)
|
|
|
|
array1(:,:) = 5 ! not-filled
|
|
array1(1, 1) = 30
|
|
|
|
array2(:,:,:) = 6 ! array1-filled
|
|
array2(:,:,:) = 3
|
|
array2(1,1,1) = 30
|
|
array2(3,3,3) = 90 ! array2-almost-filled
|
|
end subroutine
|
|
|
|
subroutine bar (array1, array2)
|
|
integer :: array1 (*)
|
|
integer :: array2 (4:9, 10:*)
|
|
|
|
array1(5:10) = 1311
|
|
array1(7) = 1
|
|
array1(100) = 100
|
|
array2(4,10) = array1(7)
|
|
array2(4,100) = array1(7)
|
|
return ! end-of-bar
|
|
end subroutine
|
|
|
|
program vla_sub
|
|
interface
|
|
subroutine foo (array1, array2)
|
|
integer :: array1 (:, :)
|
|
real :: array2 (:, :, :)
|
|
end subroutine
|
|
end interface
|
|
interface
|
|
subroutine bar (array1, array2)
|
|
integer :: array1 (*)
|
|
integer :: array2 (4:9, 10:*)
|
|
end subroutine
|
|
end interface
|
|
|
|
real, allocatable :: vla1 (:, :, :)
|
|
integer, allocatable :: vla2 (:, :)
|
|
|
|
! used for subroutine
|
|
integer :: sub_arr1(42, 42)
|
|
real :: sub_arr2(42, 42, 42)
|
|
integer :: sub_arr3(42)
|
|
|
|
sub_arr1(:,:) = 1 ! vla2-deallocated
|
|
sub_arr2(:,:,:) = 2
|
|
sub_arr3(:) = 3
|
|
|
|
call foo(sub_arr1, sub_arr2)
|
|
call foo(sub_arr1(5:10, 5:10), sub_arr2(10:15,10:15,10:15))
|
|
|
|
allocate (vla1 (10,10,10))
|
|
allocate (vla2 (20,20))
|
|
vla1(:,:,:) = 1311
|
|
vla2(:,:) = 42
|
|
call foo(vla2, vla1)
|
|
|
|
call bar(sub_arr3, sub_arr1)
|
|
end program vla_sub
|