initialization_1.f90
来自「用于进行gcc测试」· F90 代码 · 共 40 行
F90
40 行
!==================initialization_1.f90======================! { dg-do compile }! Tests fix for PR25018 in which an ICE resulted from using a! variable in a parameter initialization expression. In the course! of developing the fix, various other constraints and limitations! were tested.!! Contributed by Paul Thomas <pault@gcc.gnu.org>!module const! The next line is the original error real(8), parameter :: g = - sqrt(2._8) * Gf ! { dg-error "not been declared or is a variable" }contains subroutine foo(ch1, x, y) character(*) :: ch1! This is OK because it is a restricted expression. character(len(ch1)) :: ch2 real(8) :: x (1:2, *) real(8) :: y (0:,:) integer :: i real :: z(2, 2)! However, this gives a warning because it is an initialization expression. integer :: l1 = len (ch1) ! { dg-warning "Assumed character length variable" }! These are warnings because they are gfortran extensions. integer :: m3 = size (x, 1) ! { dg-error "Assumed size array" } integer :: m4(2) = shape (z)! This does not depend on non-constant properties. real(8) :: big = huge (x) end subroutine foo end module const! { dg-final { cleanup-modules "const" } }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?