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 + -
显示快捷键?