function_kinds_4.f90
来自「用于进行gcc测试」· F90 代码 · 共 57 行
F90
57 行
! { dg-do run }! Tests the fix for PR34471 in which function KINDs that were! USE associated would cause an error.!! This only needs to be run once.! { dg-options "-O2" }!! Contributed by Tobias Burnus <burnus@gcc.gnu.org>!module m1 integer, parameter :: i1 = 1, i2 = 2end module m1module m2 integer, parameter :: i1 = 8end module m2integer(i1) function three() use m1, only: i2 use m2 ! This provides the function kind three = i1 if(three /= kind(three)) call abort()end function three! At one stage during the development of the patch, this started failing! but was not tested in gfortran.dg. */real (kind(0d0)) function foo () foo = real (kind (foo))end functionprogram mainimplicit none interface integer(8) function three() end function three end interface integer, parameter :: i1 = 4 integer :: i real (kind(0d0)) foo i = one() i = two() if(three() /= 8) call abort() if (int(foo()) /= 8) call abort ()contains integer(i1) function one() ! Host associated kind if (kind(one) /= 4) call abort() one = 1 end function one integer(i1) function two() ! Use associated kind use m1, only: i2 use m2 if (kind(two) /= 8) call abort() two = 1 end function twoend program main! { dg-final { cleanup-modules "m1 m2" } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?