bounds_check_fail_2.f90
来自「用于进行gcc测试」· F90 代码 · 共 40 行
F90
40 行
! { dg-do run }! { dg-options "-fbounds-check" }! { dg-shouldfail "foo" }!! PR 31119module sub_modcontains elemental subroutine set_optional(i,idef,iopt) integer, intent(out) :: i integer, intent(in) :: idef integer, intent(in), optional :: iopt if (present(iopt)) then i = iopt else i = idef end if end subroutine set_optional subroutine sub(ivec) integer , intent(in), optional :: ivec(:) integer :: ivec_(2) call set_optional(ivec_,(/1,2/)) if (any (ivec_ /= (/1,2/))) call abort call set_optional(ivec_,(/1,2/),ivec) if (present (ivec)) then if (any (ivec_ /= ivec)) call abort else if (any (ivec_ /= (/1,2/))) call abort end if end subroutine subend module sub_modprogram main use sub_mod, only: sub call sub() call sub((/4,5/)) call sub((/4/))end program main! { dg-output "Fortran runtime error: Array bound mismatch" }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?