访问文件时出错。通常其原因是文件 权限或因为文件不存在。
消息标识:FTL_IN_FLN_FILE
访问库时出错。通常其原因是文件 权限或因为库不存在。
消息标识:E_LIB_FILE
[dd1:]dd2 格式的维数边界表达式,用于指定 数组的下界和上界 值。它们可以是整数或实数类型的 算术表达式。可以使用 COMMON 语句中定义的常量、符号常量、 形式参数或变量来确定它们的格式。 数组引用以及对自定义函数的引用都不能 在维数边界表达式中使用。dd2 也可以表示为星号。 如果未指定 dd1,则会假设其中一个值。dd1 的值 必须小于或等于 dd2。 示例:由于第一个维数边界大于 第二个维数边界,因此出现错误。 dimension m(5:2)
消息标识:EDECL_NEG_DIM
c f77 EDATA_0_POW_NEG.F -Xlistv3 #define m -5 parameter (z=0**m) print *, z end
消息标识:EDATA_0_POW_NEG
c f77 EDATA_INT_POW_NEG.F -Xlistv3 #define m -5 parameter (z=2**m) print *, z end
消息标识:EDATA_INT_POW_NEG
parameter ( n = 2 / 0 ) end
消息标识:EDATA_DIV_0
real c(2,2) data c(3,2) / 0.0 / end
消息标识:EEXPR_SUBS_BOUNDS_SCR
不能将整数值赋值给字符类型变量。 示例: character j j = 1 end
消息标识:EEXPR_TYPE
示例:由于子例程名不能在算术表达式中使用, 因此出现编译错误。 subroutine jim jim = jim + 1 end
消息标识:EEXPR_TYPE_NONARITH_AOP
示例: if ( 2.55 .and.1.45 .gt.2.99999 ) print *, 3.0 end
消息标识:EEXPR_TYPE_NONLOGICAL
示例: if ( 3 // 6 .eq.0.5 ) print *, 3/6 end
消息标识:EEXPR_TYPE_NONCHAR
示例: if ( (2.5,0.0).gt.(0.0,2.5) ) print *, "Huh?" end
消息标识:EEXPR_COMPARE_COMPLEX
示例: character*10 d24 data d24(24:24) /'a'/
消息标识:EEXPR_SUBS_BOUNDS_STR
示例: call s(0,-2) end subroutine s0(i,j) integer i,j j = abs(j) entry s(i,j) k= i**j c ^ c**** ERR #141:zero raised to a negative power on "s" invocation print *, k end
消息标识:EDATA_0_POW_NEG_E
示例: real x(5) do i=1, 5,0 x(i) = i + 5.0 enddo end
消息标识:EEXEC_DO_ZERO_STEP
include "no_file" C ^ C**** ERR #189:cannot open file "no_file" end
消息标识:ELEX_FILE
用于公共块名的外部符号必须唯一 并且不能与另一个外部符号(例如过程名) 发生冲突。 示例: subroutine f return end common/f/f f=1 end
消息标识:EJUNK_COMMON_GPC
当 GOTO 语句导致跳过某些未标记的语句组时, 将出现此警告消息。 示例: goto 10 print *, i 10 continue end
消息标识:WSTRUCT_NREACH
只有 -Xlistv3 编译选项才会发生这一错误。 当循环增量为伪参数并且相应的实际 参数为零时,会出现该错误。 示例:由于使用作为实际参数的 '0' 来调用 'f2', 因此循环增量 'n3' 对应于 '0'。 call f2(0) end subroutine f(n3) entry f2(n3) do i=1, 2, n3 ! Warning over here C ^ C**** ERR #202:zero loop increment on "f2" invocation print *, i enddo end
消息标识:EEXEC_DO_ZERO_STEP_E
内存地址只能初始化一次。如果对同一个地址 执行多次初始化操作,则最后一次 初始化将覆盖前面的初始化结果,并且 编译器会发出警告消息。 示例: real m(3) /1e+1,1e+2,1e+3/ data m(2) /-1e+2/ end
消息标识:WDATA_OVERLAP
内存地址只能初始化一次。如果对同一个地址 执行多次初始化操作,则最后一次 初始化将覆盖前面的初始化结果,并且 编译器会发出警告消息。 示例: structure /s/ 联合 map real t / 2.55 / endmap map real q / 5.22 / endmap endunion endstructure record /s/ t(5) t(1).q = 2.52 end
消息标识:WDATA_STRUCT_OVERLAP
示例: parameter (zz=0.0**0.0) print *, zz
消息标识:WDATA_0_POW_0
call e(0) call s(1) end subroutine s(i) j = 2/i entry e(i) j = 3/i C**** ERR #217:division by zero on "e" invocation print *, j end
消息标识:EDATA_DIV_0_E
如果由于下边界大于上边界且 步骤大小大于零,或由于下边界小于上边界且 步骤大小小于零, 则不会执行 DO 循环,此时将发出这一警告消息。 示例:由于步骤大小为“1”且下边界“5”已 大于上边界“2”,因此该循环从不被执行。 do i=5,2 print *, i enddo
消息标识:WEXEC_DO_ZERO_ITER
如果修改循环内的 DO 循环变量,则会影响 迭代次数。出现这种情况下时会发出警告消息 。 示例: do j=1,5 j = j+1 enddo end
消息标识:WEXEC_ASSIGN_COUNTER
当位常数中的位数大于 目标变量中的位数时,最左边的位将被截断, 同时将发出一条警告消息。 示例: integer*2 k / z'12345' / end
消息标识:WCON_BIG_BIT
X = 4 .OR. 1
消息标识:WANSI_LOGOP_INT
LOGICAL Z, Z1 Z = .TRUE. Z1 = .NOT.Z Z = Z1 * Z
消息标识:WANSI_NUMOP_LOG
parameter (x=2.5e+255+2.5e-255) print *, x
消息标识:WEXPR_VAL_TOOBIG
C-# E_DUP_MAIN.f: function foo(x) foo = x end C-# E_DUP_MAIN_1.f: function foo(x) C ^ C**** ERR #312:duplicate declaration of "foo", it is declared in file C E_DUP_MAIN.f, line 2 foo = x*x end
消息标识:FDECL_DUP_PROC
program X end program Z C**** ERR #313:duplicate declaration of main program C 参见:"E_DUP_MAIN.f" line #1 end
消息标识:E_DUP_MAIN
subroutine s common /bm/ z common /bl/ a, x C ^ C**** WAR #314:members of common /bl/ not used in this subprogram z = 2.0 end
消息标识:W_NOUSED_COMM
CFILE FDECL_UNUSED_TX.f real a C ^ C**** WAR #315:variable "a" declared but never used end
消息标识:FDECL_UNUSED_TX
print *,f1(10), f(1) end function f(l) f = 3 return entry f1(l) f1=f+l C ^ C**** ERR #316:function "f" may be referenced before set end
消息标识:FREF_UNSET_0
integer arr pointer (p1, arr(10)) arr(1) = 0 C ^ C**** ERR #318:pointer never set for referenced pointer-based array "arr" end
消息标识:F_NO_MEM_0
CFILE F_NO_SET_PNT.f POINTER(CCTPTR, WRK01V) INTEGER*4 CCTPTR CCTPTR=3 C ^ C**** WAR #319:possible suspicious pointer "cctptr" assignment END
消息标识:F_NO_SET_PNT_0
CFILE FDECL_UNUSED_TX.f x = 2.5 C ^ C**** WAR #320:variable "x" set but never referenced end
消息标识:FSET_UNUSED
CFILE FFUN_UNSET.f function foo(j) j=j+1 end C**** ERR #322:"foo" function result is not set
消息标识:FFUN_UNSET
CFILE "EEXEC_CLARG.f" intrinsic sin i = foo (sin(0.0), 0.0) C ^ C**** ERR #323:argument #1 is expression, but dummy argument is function C 参见:"EEXEC_CLARG.f" line #8 print *, i end function foo (sincos, x) external sincos if (sincos(x) .gt.0.0) foo=0 end
消息标识:EEXEC_CLARG
C FILE "EEXEC_CLARGF.f" x = 1 call s(x,s) end subroutine s(x,soo) if ( x.gt.1000 ) return call soo(x,%val(x)) C ^ C**** ERR #324:argument #2 for actual "s" is value, but dummy argument is subroutine C 参见:"EEXEC_CLARGF.f" line #5 call soo(x,*5) 5 print *, x end
消息标识:EEXEC_CLARGF
function foo( x, y ) real x, y external x foo = x(y) end x = foo(y, 5.0) C ^ C**** ERR #325:argument "y" is variable, but dummy argument is function C 参见:"EEXEC_CLARG_ID.f" line #1 end
消息标识:EEXEC_CLARG_ID
CFILE "EEXEC_CLARG_IDF.f" external sin i = foo(sin, 9) print *,i, sin(1) end function sin(z) real z(5) sin = z(1) end function foo(sincos, j) external sincos if (sincos(j) .gt.0.0) foo=0 C ^ C**** ERR #326:argument "j" for actual "sin" is variable, but dummy argument is array C 参见:"EEXEC_CLARG_IDF.f" line #6 end
消息标识:EEXEC_CLARG_IDF
CFILE "EEXEC_NOFUN.f" call s(0.0) x = s(0.1) C ^ C**** ERR #327:subroutine "s" called as function C 参见:"EEXEC_NOFUN.f" line #8 end subroutine s(x) print *, x end
消息标识:EEXEC_NOFUN
CFILE EEXEC_NOFUN.f call z(x) call s (0.0, z) x = s (0.1, z) end subroutine s(x, z) y = z(x) C ^ C**** ERR #328:actual subroutine "z" called as function C 参见:"EEXEC_NOFUN.f" line #14 call z(x) print *, x end subroutine z(x) x = 2.0 end
消息标识:EEXEC_NOFUNF
CFILE "EEXEC_NOSUB.f" call z(x) C ^ C**** ERR #329:function "z" is called as subroutine C 参见:"EEXEC_NOSUB.f" line #9 call s (0.0, z) x = s (0.1, z) end real function z(x) z = -x end
消息标识:EEXEC_NOSUB
CFILE "EEXEC_NOSUB.f" call z(x) x = s (0.1, z) end subroutine s(x, z) call z(x) C ^ C**** ERR #330:actual function "z" called as subroutine C 参见:"EEXEC_NOSUB.f" line #12 print *, x end real function z(x) z = -x end
消息标识:EEXEC_NOSUBF
program p intrinsic cos call s(cos) end subroutine s(f) external f real f call f(3.1415926*0.25) C ^ C**** ERR #331:actual intrinsic "cos" called as subroutine end
消息标识:ECALL_INTR
program p intrinsic cos call s(cos) end subroutine s(f) external f real f print *, f(3,1415926) C ^ C**** ERR #332:bad number of arguments for actual intrinsic "cos" end
消息标识:ENARG_INTR
program p intrinsic cos call s(cos) end subroutine s(f) external f real f print *, f(20) C ^ C**** ERR #333:bad argument #1 for actual intrinsic "cos" end
消息标识:ETYPE_IN_INTR
program p intrinsic cos call s(cos) end subroutine s(f) external f real f i = 3/1415926 print *,f(i) C ^ C**** ERR #334:bad argument "i" for actual intrinsic "cos" end
消息标识:ETYPE_IN_INTR_ID
intrinsic sin call s(sin) call s(sin,x) C ^ C**** ERR #335:various number of arguments to "s" C 参见:"EEXEC_NARG_VAR.f" line #2 end
消息标识:EEXEC_NARG_VAR
call s(x) C ^ C**** WAR #337:undefined subprogram "s" end
消息标识:WFYI_PROC_MISSING
print *, "Hello!" end subroutine s C ^ C**** WAR #338:subroutine "s" never called from program print *, "Bye!" end
消息标识:WFYI_NOACCESS
common /cb/ a(10) a(10) = 0.2 call s end subroutine s common /cb/ a(9) C ^ C**** ERR #339:incompatible lengths for common /cb/ C 参见:"EDCL_LENG_COMMON.f" line #1 do i=1,9 a(i) = 0.1 enddo print *, a end
消息标识:EDCL_LENG_COMMON
blockdata bld common /b/ l,i data i /0/, l /.true./ C ^ C**** WAR #341:in common /b/, "i" set but not referenced in program end program main common /b/ l,i if (l) then l = .not. l end if end
消息标识:WFYI_SET_NOUSE_COM
call s0 end subroutine s1 common /c/a,b,k print *,a,b,k end subroutine s0 common /c/a,j,k C ^ C**** WAR #342:incompatible types for common /c/ at "j" (offset = 4) C 参见:"WFYI_TYPE_COM.f" line #15 a=1.0 j=2 k=3 call s1 end
消息标识:WFYI_TYPE_COM
i = -2 iz = 0 if ( irand(1) .gt.125 ) i = -i if ( irand(1) .gt.125 ) j = iz**i C ^ C**** WAR #345:可能是零的负乘幂 end
消息标识:EDATA_0_POW_NEG_P
a = 3.5 call se (a, 3.0) C ^ C**** ERR #346:argument #2 in "se" call is modified C 参见:"WFYI_ARGLET.f" line #10 print *, a end subroutine soo (x, y) x = y+1 entry se (x, y) y = x+1 end
消息标识:WFYI_ARGLET
a = 3.5 call soo (b, a) call se (a, 3.0) call ss (soo, b, 3.5) call ss (se, 3.0, a) print *,a,b end subroutine soo (x, y) x = y+1 entry se (x, y) y = x+1 end subroutine ss (s, x, y) external s call s (x, y) call s (1.0, y) call s (x, 1.0) C ^ C**** ERR #347:argument #2 for actual "soo" is modified C 参见:"WFYI_ARGLET.f" line #8 C call s (x, 1.0) C ^ C**** ERR #347:argument #2 for actual "se" is modified C 参见:"WFYI_ARGLET.f" line #10 end
消息标识:WFYI_ARGLETF
FUNCTION FCT(I) INTEGER FCT, FC1 IF (I.EQ.1) THEN FCT = I ELSE FCT = FC1(I-1) ENDIF END FUNCTION FC1(I) INTEGER FC1, FCT FC1 = FCT(I) C ^ C**** WAR #348:recursive call for "fct".See dynamic calls: C "WANSI.f" line #6 END
消息标识:WANSI_RECURS
i = 0 call s(i) call se(i) end subroutine s(ii) if ( irand(0) .gt.125 ) ii = 2 entry se(ii) if ( irand(0) .gt.125 ) ii = ii+1 do 1 i=1,10,ii C ^ C**** WAR #350:possibly may be zero loop increment on "s" invocation 1 print *, i end
消息标识:EEXEC_DO_ZERO_STEP_E_P
structure /s1/ logical flag end structure record /s1/ s1(2),v1(1) pointer (p1,v1) p1=loc(s1) call ss1(p1,1) C ^ C**** ERR #351:类型不匹配:argument "p1" in "ss1" call C 参见:"WFYI_TYARG_ID.f" line #13 print *, v1(1).flag end subroutine ss1(p1,ilen) structure /s1/ integer age end structure record /s1/v1(1) pointer (p1,v1) v1(1).age = 16 end
消息标识:WFYI_TYARG_ID
external ss1 call ss(ss1) end subroutine ss(soo) structure /s1/ logical flag end structure record /s1/ s1(2),v1(1) pointer (p1,v1) external soo p1=loc(s1) call soo(p1,1) C ^ C**** ERR #352:类型不匹配:argument "p1" for actual "ss1" C 参见:"WFYI_TYARG_ID_F.f" line #18 print *, v1(1).flag end subroutine ss1(p1,ilen) structure /s1/ integer age end structure record /s1/v1(1) pointer (p1,v1) v1(1).age = 16 end
消息标识:WFYI_TYARG_ID_F
doubleprecision r / 123d+12 / complex cx / ( 34.5, 6.78 ) / x = cx * r
消息标识:WANSI_INCOM_OP
5 GOTO (5,5) 5
消息标识:W_CONST_COND_G
if (.NOT..TRUE.) i=2
消息标识:W_CONST_COND
a=a*0 end
消息标识:WDATA_MUL_0
a=1*a end
消息标识:WDATA_MUL_1
a=a/1 end
消息标识:WDATA_DIV_1
a=a+0 end
消息标识:WDATA_ADD_0
a=a-0 end
消息标识:WDATA_SUB_0
a=a**0 end
消息标识:WDATA_POW_0
i=i**1 i=1**i end
消息标识:WDATA_POW_1
subroutine f common k n1=1 if (k.eq.1) n1=0 do i=1, 2, n1 C ^ C**** WAR #363:可能是零循环增量 print *, i enddo end
消息标识:EEXEC_DO_ZERO_STEP_P
logical l l = .not..false. end
消息标识:WDATA_NOT_CONS
logical l l = l.and..false. end
消息标识:WDATA_AND_FALSE
logical l l = l.and..true. end
消息标识:WDATA_AND_TRUE
logical l l = l.or..false. end
消息标识:WDATA_OR_FALSE
logical l l = l.or..true. end
消息标识:WDATA_OR_TRUE
subroutine g() common k n=-1 if (k.eq.1) n = 0 m=1/n 1 m = n/m C**** WAR #369:possibly may be division by zero on "g1" invocation return entry g1() m=1 if (k.eq.1) m = 0 n=1 goto 1 end C common k read (5,*) k call g() call g1() end
消息标识:EDATA_DIV_0_E_P
program err integer*2 j(2) call s(j,2) C ^ C**** WAR #373:size of actual argument less than size of dummy in "s" C 参见:"E_ARRAY_SIZE.f" line #9 end subroutine s(j,k) integer*2 j(4) print *, j, k end
消息标识:E_ARRAY_SIZE
program err integer*2 j(2) external s call ss(s,j,2) end subroutine s(j,k) integer*2 j(4) print *, j, k end subroutine ss(foo,j,k) external foo integer*2 j(2) call foo(j,k) C ^ C**** WAR #374:size of actual argument less than size of dummy for C actual "s421" end
消息标识:E_ARRAY_SIZE_F
real ar(10) real ar1(25) call ss(ar, ar) C ^ C**** WAR #375:possible incorrect modification of "ar" (arguments #1 and #2) in "ss" call call ss(ar1(10), ar(8)) end subroutine ss(x, y) real x(5), y(20) x(1) = y(1) end
消息标识:WFYI_SECOND_ARG
external acs double precision mm mm = -5.D+00 call s(acs,3.D+00,mm) end subroutine s(dms,mm,nn) external dms double precision mm, nn, ii2 common /bl2/ ii2 ii2 = 3.D+00 call dms(nn,nn) C ^ C**** WAR #376:possible incorrect modification "nn" (arguments #1 and #2) for actual "acs" end subroutine acs(jj,ll) double precision jj,ll,kk,ii2 common /bl2/ ii2 kk = jj * ii2 ll = kk + 1.D+00 end
消息标识:WFYI_SECOND_ARG_F
subroutine sample 4_1 (a, b, c, d) common /s_4/ x a = 1. c = 1. x = 1. print *, a, b, c, d, x end subroutine sample 4 common /s_4/ x call sample 4_1 (1., a, a, x) C ^ C**** WAR #377:possible incorrect sets/uses "x" from common in "sample4_1" call end
消息标识:WFYI_COM_ARG
subroutine AS (a) common /cb/ x a = 1.0 x = 1.0 print *, a, x end subroutine S (DS, a) common /cb/ x call DS (x) C ^ C**** WAR #378:possible incorrect sets/uses "x" from common in actual "as" print *, a end external AS common /cb/ x call S (AS, 1.0) print *, x end
消息标识:WFYI_COM_ARGF
real c(2,2) call s(c,2,2) end subroutine s(d,m,n) real d(m,n) i = 2 if ( irand(1) .gt.1234567 ) i = 3 d(i,2) = 0.0 C ^ C**** WAR #379:subscript expression on "d" possibly may be out of bounds end
消息标识:EEXPR_SUBS_BOUNDS_SCR_P
print *,f1(10), f(1) end function f(l) C**** WAR #380:variable "l" used only in unreached code for entry "f" f = 3 return entry f1(l) f1=f+l end
消息标识:FDECL_UNUSED_E
print *,f1(10), f(1) end function f(l) h = 3 f = h return entry f1(l) f1 = l+1 h = l C ^ C**** WAR #381:variable "h" set but never referenced for entry "f1" end
消息标识:FSET_UNUSED_E
blockdata common /c382/b(5),a,d(2) data (b(i),i=1,5)/1.0,4*2.0/,a/7.77/,d/3.33,-3.33/ end program w382 common /c382/b(5) c ^ c #382:in common /c382/ no variable "a" c See:"W_COM_NONAME.f" line #10 print *, (b(i),i=1,5) end
消息标识:W_COM_NONAME
blockdata common /c383/b(5),a,d(2) data (b(i),i=1,5)/1.0,4*2.0/,a/7.77/,d/3.33,-3.33/ end program w383 common /c383/b(5)a,d(2),z c ^ c #383:in common /c383/ additional variable "a" c See:"W_COM_NONAME.f" line #10 print *, (b(i),i=1,5), z end
消息标识:W_COM_ADDNAME
subroutine gtest integer *2 ,imset(4),imused(4) common /cmm/ imset,imused imset(1)=imused(1) print *,imset end integer *2 ,imset(5),imused(5) common /cmm/ imset,imused C ^ C**** WAR #384:in common /cmm/ incompatible lengths for "imset" C 参见:"W_COM_SIZE.f" line #3 call gtest print *,imset,imused ! iset,iused end
消息标识:W_COM_SIZE
subroutine gtest structure /s/ integer imset(4) real x integer imused(4) endstructure record /s/ is common /cmm/ is is.x=1.0 print *, is.x end subroutine g007 structure /s/ integer imset(4) integer x integer imused(4) endstructure record /s/ is common /cmm/ is C ^ C**** WAR #385:incompatible types in common /cmm/ (at "is.x") C 参见:"W_COM_TYPE.f" line #8 call gtest print *,is.x end
消息标识:W_COM_TYPE
subroutine gtest integer *2 imset(2),imused(4) common /cmm/ imset,imused imset(1)=1 imset(2)=imset(1)+1 print *,imset end integer *2 im(2),imused(4) common /cmm/ im,imused C ^ C**** WAR #386:incompatible names in common /cmm/ (at "im") C 参见:"W_COM_NAME.f" line #3 call gtest print *,im end
消息标识:W_COM_NAME
subroutine s1 common /c/k,j,i integer*4 i,j(2),k print *, i,j(2) end common /c/k,j,i C ^ C**** WAR #387:incompatible layouts in common /c/ (at "j") C 参见:"W_COM_LAYOUT.f" line #2 integer*4 j,k real*4 i(2) i(2) = 2.0 j=int(i(2)) call s1 end
消息标识:W_COM_LAYOUT
subroutine g() common k m=1 if (k.eq.1) m = 0 n=1 goto 1 entry g1() n=-1 if (k.eq.1) n = 0 m=1/n C ^ C**** WAR #388:可能除数为零 1 m = n/m return end common k read (5,*) k call g() call g1() end
消息标识:EDATA_DIV_0_P
S T R U C T U R E /s1/ integer data character*2 age end S T R U C T U R E parameter (len=2) record /s1/ st(len) call ss1(st) C ^ C**** WAR #389:类型不匹配:record "s1", field "s1.data", in "ss1" call C 参见:"WFYI_TYARG_REC.f" line #12 end subroutine ss1(s1) common /c/ len S T R U C T U R E /s1/ character*9 data integer age end structure record /s1/s1(2) external f i=1 s1(i).data = '960904' s1(i).age = 16 end
消息标识:WFYI_TYARG_REC
external f call x(f) end subroutine x(fun) structure /s1/ real a, r end structure record /s1/ rp1(10) external fun real fun r = fun(rp1) C ^ C**** WAR #390:类型不匹配:record "rp1", field "rp1.a", for actual "f" C 参见:"f.f" line #17 print *, r end function f(rp1) structure /s1/ double precision r end structure record /s1/ rp1(10) f = rp1(1).r end
消息标识:WFYI_TYARG_REC_F
CHARACTER *80 FILE INQUIRE (5, NAME=FILE, IOSTAT=IOSTAT) GO TO 700 WRITE (6, 6010) FILE, IOSTAT 6010 FORMAT ( ' ERROR READING FILE "', A, '".',I ) C ^ C**** WAR #391:format "6010" used only in unreached code GO TO 700 700 WRITE (6, *) FILE END
消息标识:FDECL_UNUSED
if (.NOT..TRUE.) i=2 end
消息标识:WSTRUCT_NREACH_L
external soo do i = 1,5 call soo(i) C ^ C**** ERR #394:DO-variable "i" modified in "soo" call C 参见:"E_DOVAR_CH.f" line #6 enddo end subroutine soo(k) k = k+1 end
消息标识:E_DOVAR_CH
external soo call too(soo) end subroutine soo(k) k = k+1 end subroutine too(s,n) do m=2,5 call s(m) C ^ C**** ERR #395:DO-variable "m" modified in actual "soo" C 参见:"E_DOVAR_CH.f" line #5 enddo end
消息标识:E_DOVAR_CH_F
if ( 'abc' .ne.3 ) print *, 1
消息标识:WANSI_NUMOP_CHAR
character str*3 /'adc'/ print *, .not.str(1:2)
消息标识:WANSI_LOGOP_CHAR
structure /s/ 联合 map real*4 i integer j endmap map integer*2 ii/1/ real j /2.87/ C ^ C**** WAR #400:incompatible type of field "j".参见:line 6 endmap endunion endstructure record /s/ x print *, x.j, x.ii, x.i end
消息标识:W_FIELD_TYPE
structure /s/ 联合 map integer*4 i character*5 age endmap map integer*2 ii/1/ character*5 age / "5 yrs" / C ^ C**** WAR #401:various field "age" offset.参见:line 5 endmap endunion endstructure record /s/ x print *, x.i, x.ii, x.age end
消息标识:W_FIELD_OFFSET
structure /ss/ 联合 map integer i /1/ character ch/'*'/ endmap map integer i character*4 ch C ^ C**** WAR #402:various length of field "ch".参见:line 20 endmap endunion endstructure record /ss/ xx print *, xx.i, xx.ch end
消息标识:W_FIELD_SIZE
external f call sss(f) end subroutine ss(foo,x) external foo x = 2.5 entry sss(foo) x = foo(x*x) C ^ C**** ERR #407:inconsistent usage of dummy argument on "sss" invocation end function f(z) f = -z end
消息标识:EINC_US_D_A
call sss(0) end subroutine ss(x) integer x x = 2 entry sss(x) if ( x .gt.1.0 ) print *, x*x C**** WAR #408:statement in logical IF cannot be reached on "sss" invocation end
消息标识:WSTRUCT_NREACH_L_E
call sss(0) end subroutine ss(x) integer x x = 2 entry sss(x) do i=1,x C ^ C**** WAR #409:DO range never executed on "sss" invocation print *, i+x enddo end
消息标识:WEXEC_DO_ZERO_ITER_E
program X end **** WAR #411:主程序不包含可执行语句
消息标识:W_NO_EXEC_ST_MAIN
J = FCT(0) C ^ C**** ERR #412:function "fct" used as real but declared as integer END FUNCTION FCT(I) INTEGER FCT FCT = I END
消息标识:W_TY_DEFFUN
EXTERNAL FCT CALL S(FCT) END SUBROUTINE S(F) C ^ C**** ERR #413:actual function "fct" used as real but declared as integer C 参见:"W_TY_DEFFUNF.f" line #7 J = F(0) END FUNCTION FCT(I) INTEGER FCT FCT = I END
消息标识:W_TY_DEFFUNF
complex cc / (55.0,1.0) / call s(cc*cc,54) C ^ C**** ERR #416:argument #1 is complex, but dummy argument is character C 参见:"E_LTYARG.f" line #4 end subroutine s(st,i) character st*55 print *, st(i:i) end
消息标识:E_LTYARG
CFILE "E_LTYARGF.f" function sincos( x ) real x sincos = sin(x) + cos(x) end function foo(cs, i) integer i external cs if (cs(i*2) .gt.0.0) foo=0 C ^ C**** ERR #417:argument #1 for actual "sincos" is integer, but dummy argument is real C 参见:"E_LTYARGF.f" line #1 end external sincos x = foo(sincos, 2) call soo(*5) call soo(6) 5 print *, x end subroutine soo(*) return 1 end
消息标识:E_LTYARGF
C FILE "E_LTYARG_ID.f" complex cc / (55.0,1.0) / call s(cc,54) C ^ C**** ERR #418:argument "cc" is complex, but dummy argument is character C 参见:"E_LTYARG_ID.f" line #4 end subroutine s(st,i) character st*55 st(55:55)=st(i:i) end
消息标识:E_LTYARG_ID
CFILE EEXEC_CLARGF.f function sincos( x ) real x sincos = sin(x) + cos(x) end function foo(cs, i) integer i external cs if (cs(i) .gt.0.0) foo=0 C ^ C**** ERR #419:argument "i" for actual "sincos" is integer, but dummy argument is real C 参见:"E_LTYARG_IDF.f" line #1 end external sincos x = foo(sincos, 2) end
消息标识:E_LTYARG_IDF
iz = 0 call s(iz) if ( irand(0) .gt.125 ) call se(0) end subroutine s(ii) if ( irand(1) .gt.125 ) ii = 2 entry se(ii) kk = -2 ij = ii if ( irand(0) .gt.125 ) kk = 2 if ( irand(0) .gt.125 ) ij = ii+1 i = ii**kk C ^ C**** WAR #423:possibly may be zero raised to a negative power on "s" invocation print *, i end
消息标识:EDATA_0_POW_NEG_E_P
print *, i C ^ C**** WAR #424:variable "i" is set to zero value by default end
消息标识:E_SET_ZERO_0
CALL SSS(11) CALL SS(10) END SUBROUTINE SS(I) REAL X(10) COMMON /BL/X X(I)=1 ENTRY SSS(I) X(I)=2 C ^ C**** WAR #425:subscript expression on "x" out of bounds on "sss" invocation END
消息标识:EEXPR_SUBS_BOUNDS_E
J=11 IF (IRAND(1).GT.12345) J=J-2 CALL SSS(J) CALL SS(10) END SUBROUTINE SS(I) REAL X(10) COMMON /BL/X X(I)=1 ENTRY SSS(I) X(I)=2 C ^ C**** WAR #426:subscript expression on "x" possibly may be out of bounds C on "sss" invocation END
消息标识:EEXPR_SUBS_BOUNDS_E_P
i = f(i) + i C ^ C**** WAR #427:"i" changed in this statement, via "f" call print *, i end function f(i) i = 3 f = i - 1 end
消息标识:F_SET_FUN_USED
i = f(i) + g(i) C ^ C**** WAR #428:"g" call depended on "f" call in this statement, via "i" print *, i end function f(i) i = 3 f = i - 1 end function g(k) g = -k end
消息标识:F_FUN_INF_FUN
i = f(i) + g(i) C ^ C**** WAR #429:"g" call may be depended on "f" call in this statement, via "i" print *, i end function f(i) if (irand(1).gt.12345) i = 3 f = i - 1 end function g(i) g = 1 - i end
消息标识:F_FUN_INF_FUN_MAYBE
complex c c = .true. end
消息标识:EEXPR_TYPE_LOG_CMPL
complex*16 cc cc = .true. end
消息标识:EEXPR_TYPE_LOG_DCMPL
complex*32 cc cc = .true. end
消息标识:EEXPR_TYPE_LOG_QCMPL
character s parameter ( s = 5.5 ) print *, s end
消息标识:EEXPR_TYPE_NUM_CHAR
structure /ss/ logical l/.true./,l1/.false./ endstructure record /ss/ ll print *, -ll end
消息标识:EEXPR_TYPE_NONARITH_NEG
structure /ss/ logical l/.true./,l1/.false./ endstructure record /ss/ ll print *, (11.gt.ll) end
消息标识:EEXPR_TYPE_NONARITH_CMP
structure /ss/ logical l/.true./,l1/.false./ endstructure record /ss/ ll print *, .not.ll end
消息标识:EEXPR_TYPE_NONLOGICAL_NOT
parameter (k=200) parameter (k1=2**214, k2=-2**(-k)) print *,k,k1,k2 end
消息标识:WEXPR_OVERFLOW1
CFILE "F_PIU_1.f" CALL SB CALL SA END SUBROUTINE SBA INTEGER*4 I COMMON /BL/ I I = I - 10000 C ^ C**** ERR #556:variable "i" in common /bl/ referenced as integer*4 across C sa/sba but set as integer*2 by sa in line #14 for entry sa END SUBROUTINE SA COMMON /BL/ I, J INTEGER*2 I, J IF (IRAND(0).GT.0) RETURN ENTRY SB J = -16383 CALL SBA END
消息标识:F_PIU_1
CFILE "F_PIU_1_P.f" CALL SB CALL SA END SUBROUTINE SBA INTEGER*4 I COMMON /BL/ I I = I - 10000 C ^ C**** WAR #557:possibly variable "i" in common /bl/ referenced as integer*4 C across sa/sba but set as integer*2 by sa in line #14 for C entry sa I = I - 10000 END SUBROUTINE SA COMMON /BL/ I, J INTEGER*2 I, J IF (IRAND(0).GT.0) RETURN ENTRY SB IF (IRAND(0).GT.0) J = -16383 CALL SBA END
消息标识:F_PIU_1_P
INTEGER*2 I/16383/ CALL SBB(I) C ^ C**** ERR #560:variable "i" referenced as integer*4 across MAIN/sbb in line #8 but set as integer*2 by MAIN in line #1 I=I+1 PRINT *,I END SUBROUTINE SBB(I) INTEGER*4 I IF (I.GT.0) I = I - 10000 END
消息标识:F_PIU_3
CFILE "F_PIU_3_P.f" COMMON /BL/ I INTEGER*2 I/16383/ CALL SSS END SUBROUTINE SSS COMMON /BL/ I INTEGER*4 I CALL SBB(I) C ^ C**** WAR #561:possibly variable "i" in common /bl/ referenced as integer*4 across MAIN/sss but set as integer*2 by MAIN in line #2 I=I+1 PRINT *,I END SUBROUTINE SBB(I) INTEGER*4 I IF (IRAND(0).GT.0) I = I - 10000 END
消息标识:F_PIU_3_P
CFILE "F_PIU_4.f" COMMON /BL/ I,J, II INTEGER*2 I, J INTEGER*4 II I = -255*63 J = 1 CALL SBB I=I+1 C ^ C**** ERR #562:variable "i" in common /bl/ referenced as integer*2 but set C as integer*4 by MAIN/sbb in line #16 PRINT *, I, J, II C ^ C**** ERR #562:variable "j" in common /bl/ referenced as integer*2 but set C as integer*4 by MAIN/sbb in line #16 END SUBROUTINE SBB COMMON /BL/ I, II INTEGER*4 I INTEGER*4 II INTEGER*2 M(2) EQUIVALENCE (I,M) I = M(1)+M(2) II = 99 END
消息标识:F_PIU_4
CFILE "F_PIU_4_P.f" COMMON /BL/ I,J INTEGER*2 I, J I = -255*63 J = 1 IF (IRAND(0).GT.12345) CALL SBB PRINT *, I, J C ^ C**** WAR #563:possibly variable "i" in common /bl/ referenced as integer*2 C but set as integer*4 by MAIN/sbb in line #13 PRINT *, I, J C ^ C**** WAR #563:possibly variable "j" in common /bl/ referenced as integer*2 C but set as integer*4 by MAIN/sbb in line #13 END SUBROUTINE SBB COMMON /BL/ I INTEGER*4 I INTEGER*2 M(2) EQUIVALENCE (I,M) IF (IRAND(0).GT.12345) I = M(1)+M(2) END
消息标识:F_PIU_4_P
INTEGER*2 I/16383/ CALL SBB(I) I=I+1 C ^ C**** ERR #570:variable "i" referenced as integer*2 but set as integer*4 in line #8 PRINT *,I END SUBROUTINE SBB(I) INTEGER*4 I IF (I.GT.0) I = I - 10000 END
消息标识:F_PIU_8
COMMON /BL/ I, J INTEGER*2 I/16383/ , J INTEGER *4 K EQUIVALENCE (I, K) IF (IRAND(1).GT.0) K = 16383 IF (IRAND(0).GT.0) CALL SSS PRINT *,I C ^ C**** WAR #571:possibly variable "i" in common /bl/ referenced as integer*2 but set as integer*4 in line #5 END SUBROUTINE SSS COMMON /BL/ I INTEGER*4 I IF (IRAND(0).GT.0) I=I+1 END
消息标识:F_PIU_8_P
POINTER (IP, J) CALL SSE(J) C ^ C**** ERR #580:pointer never set for referenced pointer-based variable "j" by sse in line #13 IP = MALLOC(4) CALL SSS(J) PRINT *, J END SUBROUTINE SSS(J) COMMON /BL/ I I = 0 RETURN ENTRY SSE(J) PRINT *, J END
消息标识:F_NO_MEM_2
POINTER (IP, J) IF ( IRAND(1) .GT.12345 ) IP = MALLOC(4) CALL SSE(J) C ^ C**** WAR #581:possibly pointer never set for referenced pointer-based variable "j" by sse in line #13 IP = MALLOC(4) CALL SSS(J) PRINT *, J END SUBROUTINE SSS(J) COMMON /BL/ I I = 0 RETURN ENTRY SSE(J) PRINT *, J END
消息标识:F_NO_MEM_2_P
y = irand(1) x = f(y) print *, x end real function f(y) if (y.ne.0) f = -y end
消息标识:FFUN_UNSET_PSBL
parameter (i = 2) call soo(i) C ^ C**** ERR #1008:constant "i" is modified in "soo" call C 参见:"E_CONST_CH.f" line #7 end subroutine soo(k) k = k+1 end
消息标识:E_CONST_CH
external soo call too(soo) end subroutine soo(k) k = k+1 end subroutine too(s) parameter (m = 5) call s(m) C ^ C**** ERR #1009:constant "m" is modified in actual "soo" C 参见:"E_CONST_CH.f" line #4 end
消息标识:E_CONST_CH_F
此消息由许可证库产生。
消息标识:LICENSE_ERROR
i2 int*4 from module d058DU 16:D 18:U
消息标识:XREF_WRD_FROM
program locvar7 equivalence (i,k) ^ **** WAR #1082:equivalent variable "k" never referenced by the name i = -1 print *, i end
消息标识:W_NOUSED_EQU
integer i, lbl read *, i if (i .eq.0) 将 10 赋值给 i lbl = i ^ **** WAR #1083:变量“i”的值用法可能错误,因为它可能 be set as integer and as label 参见:"f.f" line #2 参见:"f.f" line #3 10 print *, lbl end
消息标识:W_INT_LBL
integer i, lbl read *, i if (i .eq.0) 将 10 赋值给 i lbl = i ^ **** WAR #1084:变量“i”的值用法可能错误,因为它可能 be set as integer and as format 参见:"f.f" line #2 参见:"f.f" line #3 write(*, fmt=lbl) 10 10 format(i) end
消息标识:W_INT_FMT
integer i, j, lbl assign 20 to i read *, j if (j .eq.0) 将 10 赋值给 i lbl = i ^ **** WAR #1085:变量“i”的值用法可能错误,因为它可能 be set as label and as format 参见:"f.f" line #2 参见:"f.f" line #4 write(*, fmt=lbl) 10 10 format(i) 20 print *, lbl end
消息标识:W_LBL_FMT
program err integer j(6), k read *, k if (k .lt. 4) k = 3 j = 1 call s(j(1:k)) ^ **** WAR #1090:possibly size of actual argument less than size of dummy in "s" 参见:"f.f" line #8 end subroutine s(j) integer j(4) print *, j end
消息标识:E_ARRAY_SIZE_P
program err integer j(6) external s j = 1 call ss(s,j) end subroutine s(j) integer j(4) print *, j end subroutine ss(foo,j) external foo integer j(6), k read *, k if (k .lt. 4) k = 3 call foo(j(1:k)) ^ **** WAR #1091:possibly size of actual argument less than size of dummy for actual "s" 参见:"f.f" line #7 end
消息标识:E_ARRAY_SIZE_F_P
call s(k) print *,k end subroutine s(i,j) integer, optional ::j i = j ^ **** WAR #1092:optional dummy argument "j" is used without checking of its presence end
消息标识:W_OPT_NOT_CHECK