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
63 lines
2.0 KiB
Fortran
63 lines
2.0 KiB
Fortran
! Copyright 2019-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/> .
|
|
|
|
module container
|
|
implicit none
|
|
integer :: a
|
|
contains
|
|
subroutine print_from_module()
|
|
print *, "hello."
|
|
end subroutine
|
|
end module
|
|
|
|
program contains_keyword
|
|
use container
|
|
implicit none
|
|
integer :: program_i, program_j
|
|
program_j = 12 ! pre_init
|
|
program_i = 7
|
|
program_j = increment(program_j) ! pre_increment
|
|
program_i = increment_program_global() ! pre_increment_program_global
|
|
call subroutine_to_call()
|
|
call step() ! pre_step
|
|
call hidden_variable()
|
|
call print_from_module()
|
|
print '(I2)', program_j, program_i ! post_init
|
|
|
|
contains
|
|
subroutine subroutine_to_call()
|
|
print *, "called"
|
|
end subroutine
|
|
integer function increment(i)
|
|
integer :: i
|
|
increment = i + 1
|
|
print *, i ! post_increment
|
|
end function
|
|
integer function increment_program_global()
|
|
increment_program_global = program_i + 1
|
|
! Need to put in a dummy print here to break on as on some systems the
|
|
! variables leave scope at "end function", but on others they do not.
|
|
print *, program_i ! post_increment_global
|
|
end function
|
|
subroutine step()
|
|
print '(A)', "step" ! post_step
|
|
end subroutine
|
|
subroutine hidden_variable()
|
|
integer :: program_i
|
|
program_i = 30
|
|
print *, program_i ! post_hidden
|
|
end subroutine
|
|
end program contains_keyword
|