ファイルにアクセス中にエラーが発生しました。 これは通常、ファイルのアクセス権がないか、ファイルが存在しないためです。
メッセージ ID: FTL_IN_FLN_FILE
ライブラリにアクセス中にエラーが発生しました。 これは通常、ライブラリのアクセス権がないか、ライブラリが存在しないためです。
メッセージ ID: E_LIB_FILE
次元結合式は、[dd1:]dd2 の形式で配列の上下限の値を指定します。次元は整数型または実数型の数式で表され、定数、記号定数、形式引数、
あるいは COMMON 文で定義される変数が使用されます。
配列引用とユーザーが定義した関数の引用は、次元結合式では使用できません。dd2 はアスタリスクで置き換えることができます。
dd1 が指定されていない場合は、値として 1 が引き継がれます。dd1 の値は dd2 の値以下でなければなりません。
次の例のようになります。 最初の次元境界が 2 番目の次元境界より大きいために、
エラーが発生しました。
dimension m(5:2)
メッセージ ID: EDECL_NEG_DIM
c f77 EDATA_0_POW_NEG.F -Xlistv3
#define m -5
parameter (z=0**m)
print *, z
end
メッセージ ID: EDATA_0_POW_NEG
c f77 EDATA_INT_POW_NEG.F -Xlistv3
#define m -5
parameter (z=2**m)
print *, z
end
メッセージ ID: EDATA_INT_POW_NEG
parameter ( n = 2 / 0 )
end
メッセージ ID: EDATA_DIV_0
real c(2,2)
data c(3,2) / 0.0 /
end
メッセージ ID: EEXPR_SUBS_BOUNDS_SCR
整数値は character 型の変数に代入することはできません。
次の例のようになります。
character j
j = 1
end
メッセージ ID: EEXPR_TYPE
次のような例になります。 サブルーチン名は算術式で使用できないため、コンパイルエラーが発生しました。
subroutine jim
jim = jim + 1
end
メッセージ ID: EEXPR_TYPE_NONARITH_AOP
次のような例になります。
if ( 2.55 .and. 1.45 .gt. 2.99999 ) print *, 3.0
end
メッセージ ID: EEXPR_TYPE_NONLOGICAL
例:
if ( 3 // 6 .eq. 0.5 ) print *, 3/6
end
メッセージ ID: EEXPR_TYPE_NONCHAR
例:
if ( (2.5,0.0).gt.(0.0,2.5) ) print *, "Huh?"
end
メッセージ ID: EEXPR_COMPARE_COMPLEX
例:
character*10 d24
data d24(24:24) /'a'/
メッセージ ID: 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**** エラー #141: "s" 呼び出しにおいて、0 の負数による累乗があります。
print *, k
end
メッセージ ID: EDATA_0_POW_NEG_E
例:
real x(5)
do i=1, 5,0
x(i) = i + 5.0
enddo
end
メッセージ ID: EEXEC_DO_ZERO_STEP
include "no_file"
C ^
C**** エラー #189: ファイル "no_file" を開けません。
end
メッセージ ID: ELEX_FILE
共通ブロック名に使用される外部記号は、一意で
他の外部記号と衝突しないものにします。たとえば
手続き名などを使用します。
次の例のようになります。
subroutine f
return
end
common/f/f
f=1
end
メッセージ ID: EJUNK_COMMON_GPC
GOTO 文によって文の名前付けされていない群がスキップ
される場合に、この警告が出されます。
次の例のようになります。
goto 10
print *, i
10 continue
end
メッセージ ID: WSTRUCT_NREACH
このエラーは、-Xlistv3 コンパイルオプションで、
ループの増分値が仮引数で、対応する実引数が 0
である場合のみ発生します。
次の例のようになります。 'f2' が実引数を '0' として呼び出されるため、
ループの増分値 'n3' は '0' に対応します。
call f2(0)
end
subroutine f(n3)
entry f2(n3)
do i=1, 2, n3 ! Warning over here
C ^
C**** エラー #202:f2" の呼び出しでループの増分値が 0 です。
print *, i
enddo
end
メッセージ ID: EEXEC_DO_ZERO_STEP_E
メモリー位置は一度だけ初期設定できます。同じアドレスに対して 2
回以上初期設定を行う場合、一番最後に行う初期設定が有効となり、
コンパイラから警告が出されます。
次の例のようになります。
real m(3) /1e+1,1e+2,1e+3/
data m(2) /-1e+2/
end
メッセージ ID: WDATA_OVERLAP
メモリー位置は一度だけ初期設定できます。同じアドレスに対して 2
回以上初期設定を行う場合、一番最後に行う初期設定が有効となり、
コンパイラから警告が出されます。
次の例のようになります。
structure /s/
union
map
real t / 2.55 /
endmap
map
real q / 5.22 /
endmap
endunion
endstructure
record /s/ t(5)
t(1).q = 2.52
end
メッセージ ID: WDATA_STRUCT_OVERLAP
例:
parameter (zz=0.0**0.0)
print *, zz
メッセージ ID: WDATA_0_POW_0
call e(0)
call s(1)
end
subroutine s(i)
j = 2/i
entry e(i)
j = 3/i
C**** エラー #217:"e" の呼び出しで 0 による除算があります。
print *, j
end
メッセージ ID: EDATA_DIV_0_E
下限が上限より大きくステップが 0 より大きいか、
下限が上限より小さくステップが 0 より小さいために
DO ループが実行されない場合に、この警告が出されます。
次の例のようになります。 ステップの大きさが '1' で下限がすでに上限の '2'
より大きい '5' であるため、ループは実行されません。
do i=5,2
print *, i
enddo
メッセージ ID: WEXEC_DO_ZERO_ITER
DO ループ変数がループ内で変更された場合、
繰り返し数に影響します。このとき警告メッ
セージが出されます。
次の例のようになります。
do j=1,5
j = j+1
enddo
end
メッセージ ID: WEXEC_ASSIGN_COUNTER
ビット定数の中のビット数が宛先の変数のビット数よりも大きい場合に、
最も左にあるビットが切り捨てられ、警告が出されます。
次の例のようになります。
integer*2 k / z'12345' /
end
メッセージ ID: WCON_BIG_BIT
X = 4 .OR. 1
メッセージ ID: WANSI_LOGOP_INT
LOGICAL Z, Z1
Z = .TRUE.
Z1 = .NOT. Z
Z = Z1 * Z
メッセージ ID: WANSI_NUMOP_LOG
parameter (x=2.5e+255+2.5e-255)
print *, x
メッセージ ID: 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**** エラー #312: "foo" が二重に宣言されています。
C ファイル E_DUP_MAIN.f の 2 行目で宣言されています。
foo = x
end
メッセージ ID: FDECL_DUP_PROC
program X
end
program Z
C**** エラー #313: 主プログラムが二重に宣言されています。
C "E_DUP_MAIN.f" の 1 行目を参照してください。
end
メッセージ ID: E_DUP_MAIN
subroutine s
common /bm/ z
common /bl/ a, x
C ^
C**** 警告 #314: common /bl/ のメンバーがこの副プログラムでは使用されていません。
z = 2.0
end
メッセージ ID: W_NOUSED_COMM
CFILE FDECL_UNUSED_TX.f
real a
C ^
C**** 警告 #315: 変数 "a" は宣言されていますが使用されていません。
end
メッセージ ID: FDECL_UNUSED_TX
print *,f1(10), f(1)
end
function f(l)
f = 3
return
entry f1(l)
f1=f+l
C ^
C**** エラー #316: 関数 "f" は設定前に参照される可能性があります。
end
メッセージ ID: FREF_UNSET_0
integer arr
pointer (p1, arr(10))
arr(1) = 0
C ^
C**** エラー #318: 参照されているポインタベースの配列 "arr" に対してポインタが設定されていません。
end
メッセージ ID: F_NO_MEM_0
CFILE F_NO_SET_PNT.f
POINTER(CCTPTR, WRK01V)
INTEGER*4 CCTPTR
CCTPTR=3
C ^
C**** 警告 #319: ポインタの "cctptr" 代入には問題のある可能性があります。
END
メッセージ ID: F_NO_SET_PNT_0
CFILE FDECL_UNUSED_TX.f
x = 2.5
C ^
C**** 警告 #320: 変数 "x" は設定されていますが参照されません。
end
メッセージ ID: FSET_UNUSED
CFILE FFUN_UNSET.f
function foo(j)
j=j+1
end
C**** エラー #322: "foo" 関数の結果が設定されていません。
メッセージ ID: FFUN_UNSET
CFILE "EEXEC_CLARG.f"
intrinsic sin
i = foo (sin(0.0), 0.0)
C ^
C**** エラー #323: 第 1 引数は式ですが、仮引数は関数です。
C "EEXEC_CLARG.f" の 8 行目を参照してください。
print *,i
end
function foo (sincos, x)
external sincos
if (sincos(x) .gt. 0.0) foo=0
end
メッセージ ID: 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**** エラー #324: 第 2 実引数 "s" は値ですが、仮引数はサブルーチンです。
C "EEXEC_CLARGF.f" の 5 行目を参照してください。
call soo(x,*5)
5 print *, x
end
メッセージ ID: EEXEC_CLARGF
function foo( x, y )
real x, y
external x
foo = x(y)
end
x = foo(y, 5.0)
C ^
C**** エラー #325: 引数 "y" は変数ですが、仮引数は関数です。
C "EEXEC_CLARG_ID.f" の 1 行目を参照してください。
end
メッセージ ID: 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**** エラー #326: 実引数 "sin" に対する "j" は変数ですが、仮引数は配列です。
EEXEC_CLARG_IDF.f" の 6 行目を参照してください。
end
メッセージ ID: EEXEC_CLARG_IDF
CFILE "EEXEC_NOFUN.f"
call s(0.0)
x = s(0.1)
C ^
C**** エラー #327: サブルーチン "s" が関数として呼び出されています。
C EEXEC_NOFUN.f" の 8 行目を参照してください。
end
subroutine s(x)
print *, x
end
メッセージ ID: 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**** エラー #328: 実引数のサブルーチン "z" が関数として呼び出されています。
C EEXEC_NOFUN.f" の 14 行目を参照してください。
call z(x)
print *, x
end
subroutine z(x)
x = 2.0
end
メッセージ ID: EEXEC_NOFUNF
CFILE "EEXEC_NOSUB.f"
call z(x)
C ^
C**** エラー #329: 関数 "z" がサブルーチンとして呼び出されています。
C EEXEC_NOSUB.f" の 9 行目を参照してください。
call s (0.0, z)
x = s (0.1, z)
end
real function z(x)
z = -x
end
メッセージ ID: EEXEC_NOSUB
CFILE "EEXEC_NOSUB.f"
call z(x)
x = s (0.1, z)
end
subroutine s(x, z)
call z(x)
C ^
C**** エラー #330: 実関数 "z" がサブルーチンとして呼び出されています。
C EEXEC_NOSUB.f" の 12 行目を参照してください。
print *, x
end
real function z(x)
z = -x
end
メッセージ ID: 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**** エラー #331: 実引数の組み込み手続 "cos" がサブルーチンとして呼び出されています。
end
メッセージ ID: ECALL_INTR
program p
intrinsic cos
call s(cos)
end
subroutine s(f)
external f
real f
print *, f(3,1415926)
C ^
C**** エラー #332: 実引数の組み込み手続 "cos" の引数の個数に誤りがあります。
end
メッセージ ID: ENARG_INTR
program p
intrinsic cos
call s(cos)
end
subroutine s(f)
external f
real f
print *, f(20)
C ^
C**** エラー #333: 実際の組み込み "cos" の第 1 引数に誤りがあります。
end
メッセージ ID: 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**** エラー #334: 実際の組み込み "cos" の引数 "i" に誤りがあります。
end
メッセージ ID: ETYPE_IN_INTR_ID
intrinsic sin
call s(sin)
call s(sin,x)
C ^
C**** エラー #335: "s" への引数の個数が一定していません。
C "EEXEC_NARG_VAR.f" の 2 行目を参照してください。
end
メッセージ ID: EEXEC_NARG_VAR
call s(x)
C ^
C**** 警告 #337: 副プログラム "s" が定義されていません。
end
メッセージ ID: WFYI_PROC_MISSING
print *, "Hello!"
end
subroutine s
C ^
C**** 警告 #338: サブルーチン "s" はプログラムから呼び出されません。
print *, "Bye!"
end
メッセージ ID: WFYI_NOACCESS
common /cb/ a(10)
a(10) = 0.2
call s
end
subroutine s
common /cb/ a(9)
C ^
C**** エラー #339: 共通ブロック /cb/ の長さに互換性がありません。
C EDCL_LENG_COMMON.f" の 1 行目を参照してください。
do i=1,9
a(i) = 0.1
enddo
print *, a
end
メッセージ ID: EDCL_LENG_COMMON
blockdata bld
common /b/ l,i
data i /0/, l /.true./
C ^
C**** 警告 #341: 共通ブロック /b/ において、"i" が設定されていますがプログラムで参照されていません。
end
program main
common /b/ l,i
if (l) then
l = .not. l
end if
end
メッセージ ID: 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**** 警告 #342: "j" (オフセット = 4) で、共通ブロック /c/ の型に互換性がありません。
C WFYI_TYPE_COM.f" の 15 行目を参照してください。
a=1.0
j=2
k=3
call s1
end
メッセージ ID: WFYI_TYPE_COM
i = -2
iz = 0
if ( irand(1) .gt. 125 ) i = -i
if ( irand(1) .gt. 125 ) j = iz**i
C ^
C**** 警告 #345: 0 の負数による累乗の可能性があります。
end
メッセージ ID: EDATA_0_POW_NEG_P
a = 3.5
call se (a, 3.0)
C ^
C**** エラー #346: "se" 呼び出しの第 2 引数が変更されています。
C WFYI_ARGLET.f" の 10 行目を参照してください。
print *,a
end
subroutine soo (x, y)
x = y+1
entry se (x, y)
y = x+1
end
メッセージ ID: 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**** エラー #347: 実引数 "soo" に対する第 2 引数が変更されています。
C "WFYI_ARGLET.f" の 8 行目を参照してください。
C call s (x, 1.0)
C
C**** エラー #347: 実引数 "se" に対する第 2 引数が変更されています。
C "WFYI_ARGLET.f" の 10 行目を参照してください。
end
メッセージ ID: 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**** 警告 #348: "fct" の再帰呼び出し。動的呼び出しを参照してください:
C "WANSI.f" の 6 行目
END
メッセージ ID: 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**** 警告 #350: "s" 呼び出しで、ループの増分値が 0 である可能性があります
1 print *, i
end
メッセージ ID: 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**** エラー #351: 型の不一致: "ss1" 呼び出しの引数 "p1"
C "WFYI_TYARG_ID.f" の 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
メッセージ ID: 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**** エラー #352: 型の不一致: 実引数 "ss1" に対する引数 "p1"
C "WFYI_TYARG_ID_F.f" の #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
メッセージ ID: WFYI_TYARG_ID_F
doubleprecision r / 123d+12 /
complex cx / ( 34.5, 6.78 ) /
x = cx * r
メッセージ ID: WANSI_INCOM_OP
5 GOTO (5,5) 5
メッセージ ID: W_CONST_COND_G
if (.NOT..TRUE.) i=2
メッセージ ID: W_CONST_COND
a=a*0
end
メッセージ ID: WDATA_MUL_0
a=1*a
end
メッセージ ID: WDATA_MUL_1
a=a/1
end
メッセージ ID: WDATA_DIV_1
a=a+0
end
メッセージ ID: WDATA_ADD_0
a=a-0
end
メッセージ ID: WDATA_SUB_0
a=a**0
end
メッセージ ID: WDATA_POW_0
i=i**1
i=1**i
end
メッセージ ID: WDATA_POW_1
subroutine f
common k
n1=1
if (k.eq.1) n1=0
do i=1, 2, n1
C ^
C**** 警告 #363: ループの増分値が 0 である可能性があります。
print *, i
enddo
end
メッセージ ID: EEXEC_DO_ZERO_STEP_P
logical l
l = .not..false.
end
メッセージ ID: WDATA_NOT_CONS
logical l
l = l.and..false.
end
メッセージ ID: WDATA_AND_FALSE
logical l
l = l.and..true.
end
メッセージ ID: WDATA_AND_TRUE
logical l
l = l.or..false.
end
メッセージ ID: WDATA_OR_FALSE
logical l
l = l.or..true.
end
メッセージ ID: WDATA_OR_TRUE
subroutine g()
common k
n=-1
if (k.eq.1) n = 0
m=1/n
1 m = n/m
C**** 警告 #369: "g1" 呼び出しで、0 による除算の可能性があります
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
メッセージ ID: EDATA_DIV_0_E_P
program err
integer*2 j(2)
call s(j,2)
C ^
C**** 警告 #373: 実引数のサイズが "s" の仮引数のサイズより小さくなっています。
C "E_ARRAY_SIZE.f" の 9 行目を参照してください。
end
subroutine s(j,k)
integer*2 j(4)
print *, j, k
end
メッセージ ID: 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**** 警告 #374: 実引数のサイズが実際の "s421" の仮引数のサイズより
C 小さくなっています。
end
メッセージ ID: E_ARRAY_SIZE_F
real ar(10)
real ar1(25)
call ss(ar, ar)
C ^
C**** 警告 #375: "ss" 呼び出しで "ar" (第 1 引数と第 2 引数) が不正に変更される可能性があります。
call ss(ar1(10), ar(8))
end
subroutine ss(x, y)
real x(5), y(20)
x(1) = y(1)
end
メッセージ ID: 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**** 警告 #376: 実際の "acs" 呼び出しで、 "nn" (第 1 引数と第 2 引数) が不正に変更される可能性があります。
end
subroutine acs(jj,ll)
double precision jj,ll,kk,ii2
common /bl2/ ii2
kk = jj * ii2
ll = kk + 1.D+00
end
メッセージ ID: 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**** 警告 #377: "sample4_1" 呼び出しで共通ブロックから "x" を不正に設定または使用する可能性があります。
end
メッセージ ID: 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**** 警告 #378: "as" で共通ブロックから "x" を不正に設定または使用する可能性があります。
print *, a
end
external AS
common /cb/ x
call S (AS, 1.0)
print *, x
end
メッセージ ID: 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**** 警告 #379: "d" の添字式が上下限を超えている可能性があります。
end
メッセージ ID: EEXPR_SUBS_BOUNDS_SCR_P
print *,f1(10), f(1)
end
function f(l)
C**** 警告 #380: 変数 "l" が entry "f" に対する到達しないコードの中だけで使用されています。
f = 3
return
entry f1(l)
f1=f+l
end
メッセージ ID: 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**** 警告 #381: 変数 "h" が設定されていますが、entry "f1" に対して参照されていません。
end
メッセージ ID: 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: 共通ブロック /c382/ に変数 "a" がありません。
c "W_COM_NONAME.f" の 10 行目を参照してください。
print *, (b(i),i=1,5)
end
メッセージ ID: 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: 共通ブロック /c383/ に余分な変数 "a" があります。
c "W_COM_NONAME.f" の 10 行目を参照してください。
print *, (b(i),i=1,5), z
end
メッセージ ID: 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**** 警告 #384: 共通ブロック /cmm/ で "imset" の長さに互換性がありません。
C "W_COM_SIZE.f" の 3 行目を参照してください。
call gtest
print *,imset,imused ! iset,iused
end
メッセージ ID: 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**** 警告 #385: 共通ブロック /cmm/ の型の互換性がありません。("is.x" で)
C "W_COM_TYPE.f" の 8 行目を参照してください。
call gtest
print *,is.x
end
メッセージ ID: 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**** 警告 #386: 共通ブロック /cmm/ の名前に互換性がありません ("im" で)
C "W_COM_NAME.f" の 3 行目を参照してください。
call gtest
print *,im
end
メッセージ ID: 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**** 警告 #387: 共通ブロック /c/ の配置に互換性がありません。("j" で)
C "W_COM_LAYOUT.f" の 2 行目を参照してください。
integer*4 j,k
real*4 i(2)
i(2) = 2.0
j=int(i(2))
call s1
end
メッセージ ID: 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**** 警告 #388: 0 による除算の可能性があります。
1 m = n/m
return
end
common k
read (5,*) k
call g()
call g1()
end
メッセージ ID: 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**** 警告 #389: 型の不一致:ss1" 呼び出し中の記録 "s1", 欄 "s1.data"
C "WFYI_TYARG_REC.f" の 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
メッセージ ID: 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**** 警告 #390: 型の不一致: 実引数 "f" の記録 "rp1", 欄 "rp1.a"
C "f.f" の 17 行目を参照してください。
print *, r
end
function f(rp1)
structure /s1/
double precision r
end structure
record /s1/ rp1(10)
f = rp1(1).r
end
メッセージ ID: 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**** 警告 #391: 書式 "6010" は到達しないコードでのみ使用されています。
GO TO 700
700 WRITE (6, *) FILE
END
メッセージ ID: FDECL_UNUSED
if (.NOT..TRUE.) i=2
end
メッセージ ID: WSTRUCT_NREACH_L
external soo
do i = 1,5
call soo(i)
C ^
C**** エラー #394: DO 変数 "i" が "soo" 呼び出しで変更されています。
C "E_DOVAR_CH.f" の 6 行目を参照してください。
enddo
end
subroutine soo(k)
k = k+1
end
メッセージ ID: 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**** エラー #395: DO 変数 "m" が実引数 "soo" で変更されています。
C "E_DOVAR_CH.f" の 5 行目を参照してください。
enddo
end
メッセージ ID: E_DOVAR_CH_F
if ( 'abc' .ne. 3 ) print *, 1
メッセージ ID: WANSI_NUMOP_CHAR
character str*3 /'adc'/
print *, .not.str(1:2)
メッセージ ID: WANSI_LOGOP_CHAR
structure /s/
union
map
real*4 i
integer j
endmap
map
integer*2 ii/1/
real j /2.87/
C ^
C**** 警告 #400: 欄 "j" の型に互換性がありません。6 行目を参照してください。
endmap
endunion
endstructure
record /s/ x
print *, x.j, x.ii, x.i
end
メッセージ ID: W_FIELD_TYPE
structure /s/
union
map
integer*4 i
character*5 age
endmap
map
integer*2 ii/1/
character*5 age / "5 yrs" /
C ^
C**** 警告 #401: 欄 "age" のオフセットが変化しています。5 行目を参照してください。
endmap
endunion
endstructure
record /s/ x
print *, x.i, x.ii, x.age
end
メッセージ ID: W_FIELD_OFFSET
structure /ss/
union
map
integer i /1/
character ch /'*'/
endmap
map
integer i
character*4 ch
C ^
C**** 警告 #402: 欄 "ch" の長さが変化しています。20 行目を参照してください。
endmap
endunion
endstructure
record /ss/ xx
print *, xx.i, xx.ch
end
メッセージ ID: 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**** エラー #407: "sss" の呼び出しで仮引数の使用法が一貫していません。 end
function f(z)
f = -z
end
メッセージ ID: 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**** 警告 #408: "sss" の呼び出しで論理 IF の文に到達できません。
end
メッセージ ID: WSTRUCT_NREACH_L_E
call sss(0)
end
subroutine ss(x)
integer x
x = 2
entry sss(x)
do i=1,x
C ^
C**** 警告 #409: "ss" の呼び出しで DO の範囲は決して実行されません。
print *, i+x
enddo
end
メッセージ ID: WEXEC_DO_ZERO_ITER_E
program X
end
**** 警告 #411: 主プログラムに実行文がありません。
メッセージ ID: W_NO_EXEC_ST_MAIN
J = FCT(0)
C ^
C**** エラー #412: 関数 "fct" は実数として使用されていますが、宣言は整数です。 END
FUNCTION FCT(I)
INTEGER FCT
FCT = I
END
メッセージ ID: W_TY_DEFFUN
EXTERNAL FCT
CALL S(FCT)
END
SUBROUTINE S(F)
C ^
C**** エラー #413: 実関数 "fct" は実数として使用されていますが、宣言は整数です。
C "W_TY_DEFFUNF.f" の 7 行目を参照してください。
J = F(0)
END
FUNCTION FCT(I)
INTEGER FCT
FCT = I
END
メッセージ ID: W_TY_DEFFUNF
complex cc / (55.0,1.0) /
call s(cc*cc,54)
C ^
C**** エラー #416: 第 1 引数は complex 型ですが、仮引数は character 型です。
C "E_LTYARG.f" の 4 行目を参照してください。
end
subroutine s(st,i)
character st*55
print *, st(i:i)
end
メッセージ ID: 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**** エラー #417: 第 1 実引数 "sincos" は整数ですが、仮引数は実数です。
C "E_LTYARGF.f" の 1 行目を参照してください。
end
external sincos
x = foo(sincos, 2)
call soo(*5)
call soo(6)
5 print *, x
end
subroutine soo(*)
return 1
end
メッセージ ID: E_LTYARGF
C FILE "E_LTYARG_ID.f"
complex cc / (55.0,1.0) /
call s(cc,54)
C ^
C**** エラー #418: 引数 "cc" は complex 型ですが、仮引数は character 型です。
C "E_LTYARG_ID.f" の 4 行目を参照してください。
end
subroutine s(st,i)
character st*55
st(55:55)=st(i:i)
end
メッセージ ID: 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**** エラー #419: 実引数 "sincos" に対する引数 "i" は整数ですが、仮引数は実数です。
C "E_LTYARG_IDF.f" の 1 行目を参照してください。
end
external sincos
x = foo(sincos, 2)
end
メッセージ ID: 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**** 警告 #423: "s" 呼び出しで、0 の負数による累乗の可能性があります。
print *, i
end
メッセージ ID: EDATA_0_POW_NEG_E_P
print *, i
C ^
C**** 警告 #424: 変数 "i" はデフォルトで 0 に設定されます。
end
メッセージ ID: 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**** 警告 #425: "x" の添字式が "sss" の呼び出しで上下限を超えています。
END
メッセージ ID: 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**** 警告 #426: "sss" 呼び出しで、"x" の添字式が上下限を超えている可能性
C があります。
END
メッセージ ID: EEXPR_SUBS_BOUNDS_E_P
i = f(i) + i
C ^
C**** 警告 #427:"i" は "f" 呼び出しを通してこの文で変更されました。
print *, i
end
function f(i)
i = 3
f = i - 1
end
メッセージ ID: F_SET_FUN_USED
i = f(i) + g(i)
C ^
C**** 警告 #428:"g" 呼び出しは "i" を通してこの文の "f" 呼び出しに依存します。
print *, i
end
function f(i)
i = 3
f = i - 1
end
function g(k)
g = -k
end
メッセージ ID: F_FUN_INF_FUN
i = f(i) + g(i)
C ^
C**** 警告 #429:"g" 呼び出しは "i" を通してこの文の "f" 呼び出しに依存する可能性があります。
print *, i
end
function f(i)
if (irand(1).gt.12345) i = 3
f = i - 1
end
function g(i)
g = 1 - i
end
メッセージ ID: F_FUN_INF_FUN_MAYBE
complex c
c = .true.
end
メッセージ ID: EEXPR_TYPE_LOG_CMPL
complex*16 cc
cc = .true.
end
メッセージ ID: EEXPR_TYPE_LOG_DCMPL
complex*32 cc
cc = .true.
end
メッセージ ID: EEXPR_TYPE_LOG_QCMPL
character s
parameter ( s = 5.5 )
print *, s
end
メッセージ ID: EEXPR_TYPE_NUM_CHAR
structure /ss/
logical l/.true./,l1/.false./
endstructure
record /ss/ ll
print *, -ll
end
メッセージ ID: EEXPR_TYPE_NONARITH_NEG
structure /ss/
logical l/.true./,l1/.false./
endstructure
record /ss/ ll
print *, (11.gt.ll)
end
メッセージ ID: EEXPR_TYPE_NONARITH_CMP
structure /ss/
logical l/.true./,l1/.false./
endstructure
record /ss/ ll
print *, .not.ll
end
メッセージ ID: EEXPR_TYPE_NONLOGICAL_NOT
parameter (k=200)
parameter (k1=2**214, k2=-2**(-k))
print *,k,k1,k2
end
メッセージ ID: 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**** エラー #556: 共通ブロック /bl/ の変数 "i" は sa/sbb で integer*4 とし
C て参照されていますが、入口 sa に対する 14 行目では sa によって integer*2 として設定されています。
END
SUBROUTINE SA
COMMON /BL/ I, J
INTEGER*2 I, J
IF (IRAND(0).GT.0) RETURN
ENTRY SB
J = -16383
CALL SBA
END
メッセージ ID: 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**** 警告 #557: 共通ブロック /bl/ の変数 "i" は sa/sba の中で integer*4 とし
C て参照される可能性がありますが、入口 sa に対する 14 行目
C では sa によって integer*2 として設定されています。
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
メッセージ ID: F_PIU_1_P
INTEGER*2 I/16383/
CALL SBB(I)
C ^
C**** エラー #560: 変数 "i" は integer*4 として 8 行目の MAIN/sbb 中で参照されていますが、integer*2 として MAIN によって 1 行目で設定されています。
I=I+1
PRINT *,I
END
SUBROUTINE SBB(I)
INTEGER*4 I
IF (I.GT.0) I = I - 10000
END
メッセージ ID: 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**** 警告 #561: 共通ブロック /bl/ の変数 "i" は MAIN/sss の中で integer*4 として参照される可能性がありますが、2 行目では MAIN によって integer*2 として設定されています。
I=I+1
PRINT *,I
END
SUBROUTINE SBB(I)
INTEGER*4 I
IF (IRAND(0).GT.0) I = I - 10000
END
メッセージ ID: 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**** エラー #562: 共通ブロック /bl/ の変数 "i" は integer*2 として参照されて
C いますが、16 行目では MAIN/sbb によって integer*4 として設定されています。
PRINT *, I, J, II
C ^
C**** エラー #562: 共通ブロック /bl/ の変数 "j" は integer*2 として参照されて
C いますが、16 行目では MAIN/sbb によって integer*4 として設定されています。
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
メッセージ ID: 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**** 警告 #563: 共通ブロック /bl/ の変数 "i" は integer*2 として参照される
C 可能性がありますが、13 行目では MAIN/sbb によって integer*4 として設定されています。
PRINT *, I, J
C ^
C**** 警告 #563: 共通ブロック /bl/ の変数 "j" は integer*2 として参照される
C 可能性がありますが、13 行目では MAIN/sbb によって integer*4 として設定されています。
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
メッセージ ID: F_PIU_4_P
INTEGER*2 I/16383/
CALL SBB(I)
I=I+1
C ^
C **** エラー #570: 変数 "i" は integer*2 として参照されていますが、8 行目では integer*4 として設定されています。
PRINT *,I
END
SUBROUTINE SBB(I)
INTEGER*4 I
IF (I.GT.0) I = I - 10000
END
メッセージ ID: 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**** 警告 #571: 共通ブロック /bl/ の変数 "i" は integer*2 として参照される可能性がありますが、5 行目では integer*4 として設定されています。
END
SUBROUTINE SSS
COMMON /BL/ I
INTEGER*4 I
IF (IRAND(0).GT.0) I=I+1
END
メッセージ ID: F_PIU_8_P
POINTER (IP, J)
CALL SSE(J)
C ^
C**** エラー #580: 参照されるポインタベースの変数 "j" に対して、ポインタが 13 行目の sse によって設定されていません。
IP = MALLOC(4)
CALL SSS(J)
PRINT *, J
END
SUBROUTINE SSS(J)
COMMON /BL/ I
I = 0
RETURN
ENTRY SSE(J)
PRINT *, J
END
メッセージ ID: F_NO_MEM_2
POINTER (IP, J)
IF ( IRAND(1) .GT. 12345 ) IP = MALLOC(4)
CALL SSE(J)
C ^
C**** 警告 #581: 参照されるポインタベースの変数 "j" に対して、ポインタが 13 行目の sse によって設定されていない可能性があります。
IP = MALLOC(4)
CALL SSS(J)
PRINT *, J
END
SUBROUTINE SSS(J)
COMMON /BL/ I
I = 0
RETURN
ENTRY SSE(J)
PRINT *, J
END
メッセージ ID: 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
メッセージ ID: FFUN_UNSET_PSBL
parameter (i = 2)
call soo(i)
C ^
C**** エラー #1008: 定数 "i" は "soo" 呼び出しの中で変更されました。
C "E_CONST_CH.f" の 7 行目を参照してください。
end
subroutine soo(k)
k = k+1
end
メッセージ ID: 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**** エラー #1009: 定数 "m" は実引数 "soo" 中で変更されました。
C "E_CONST_CH.f" の 4 行目を参照してください。
end
メッセージ ID: E_CONST_CH_F
このメッセージはライセンスライブラリによって生成されます。
メッセージ ID: LICENSE_ERROR
i2 int*4 from module d058
DU 16:D 18:U
Message ID: XREF_WRD_FROM
program locvar7
equivalence (i,k)
^
**** 警告 #1082: 同等の変数 "k" がその名前でまったく参照されていません。
i=-1
print *,i
end
メッセージ ID: W_NOUSED_EQU
integer i, lbl
read *, i
if (i .eq. 0) assign 10 to i
lbl = i
^
**** 警告 #1083: 変数 "i" の値は整数および文番号として設定される可能性があるため、
使用法が誤っている可能性があります。
"f.f" の 2 行目を参照してください。
"f.f" の 3 行目を参照してください。
10 print *, lbl
end
メッセージ ID: W_INT_LBL
integer i, lbl
read *, i
if (i .eq. 0) assign 10 to i
lbl = i
^
**** 警告 #1084: 変数 "i" の値は整数および書式として設定される可能性があるため、
使用法が誤っている可能性があります。
"f.f" の 2 行目を参照してください。
"f.f" の 3 行目を参照してください。&
write(*, fmt=lbl) 10
10 format(i)
end
メッセージ ID: W_INT_FMT
integer i, j, lbl
assign 20 to i
read *, j
if (j .eq. 0) assign 10 to i
lbl = i
^
**** 警告 #1085: 変数 "i" の値は文番号および書式として設定される可能性があるため、
使用法が誤っている可能性があります。
"f.f" の 2 行目を参照してください。
"f.f" の 4 行目を参照してください。
write(*, fmt=lbl) 10
10 format(i)
20 print *, lbl
end
メッセージ ID: W_LBL_FMT
program err
integer j(6), k
read *, k
if (k .lt. 4) k = 3
j = 1
call s(j(1:k))
^
**** 警告 #1090: 実引数のサイズが "s" 中の仮引数のサイズよりも
小さい可能性があります。
"f.f" の 8 行目を参照してください。
end
subroutine s(j)
integer j(4)
print *, j
end
メッセージ ID: 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))
^
**** 警告 #1091: 実引数のサイズが実際の "s" の仮引数のサイズより
小さい可能性があります。
"f.f" の 7 行目を参照してください。
end
メッセージ ID: E_ARRAY_SIZE_F_P
call s(k)
print *,k
end
subroutine s(i,j)
integer, optional :: j
i = j
^
**** 警告 #1092: 省略可能な仮引数 "j" をその存在を確認せずに使用
しています。
end
メッセージ ID: W_OPT_NOT_CHECK