Fix per JCB. Add commentary.
From-SVN: r20178
This commit is contained in:
parent
7eca798618
commit
de5ecc6c4d
1 changed files with 37 additions and 16 deletions
|
@ -1,16 +1,37 @@
|
|||
integer*4 i4
|
||||
integer*8 i8
|
||||
integer*8 max4
|
||||
data max4/2147483647/
|
||||
i4 = %loc(i4)
|
||||
i8 = %loc(i8)
|
||||
print *, max4
|
||||
print *, i4, %loc(i4)
|
||||
print *, i8, %loc(i8)
|
||||
call foo(i4, %loc(i4), i8, %loc(i8))
|
||||
end
|
||||
subroutine foo(i4, i4a, i8, i8a)
|
||||
integer*8 i8
|
||||
print *, i4, i4a
|
||||
print *, i8, i8a
|
||||
end
|
||||
C JCB comments:
|
||||
C g77 doesn't accept the added line "integer(kind=7) ..." --
|
||||
C it crashes!
|
||||
C
|
||||
C It's questionable that g77 DTRT with regarding to passing
|
||||
C %LOC() as an argument (thus by reference) and the new global
|
||||
C analysis. I need to look into that further; my feeling is that
|
||||
C passing %LOC() as an argument should be treated like passing an
|
||||
C INTEGER(KIND=7) by reference, and no more specially than that
|
||||
C (and that INTEGER(KIND=7) should be permitted as equivalent to
|
||||
C INTEGER(KIND=1), INTEGER(KIND=2), or whatever, depending on the
|
||||
C system's pointer size).
|
||||
C
|
||||
C The back end *still* has a bug here, which should be fixed,
|
||||
C because, currently, what g77 is passing to it is, IMO, correct.
|
||||
|
||||
C No options:
|
||||
C ../../egcs/gcc/f/info.c:259: failed assertion `ffeinfo_types_[basictype][kindtype] != NULL'
|
||||
C -fno-globals -O:
|
||||
C ../../egcs/gcc/expr.c:7291: Internal compiler error in function expand_expr
|
||||
integer*4 i4
|
||||
integer*8 i8
|
||||
integer*8 max4
|
||||
data max4/2147483647/
|
||||
i4 = %loc(i4)
|
||||
i8 = %loc(i8)
|
||||
print *, max4
|
||||
print *, i4, %loc(i4)
|
||||
print *, i8, %loc(i8)
|
||||
call foo(i4, %loc(i4), i8, %loc(i8))
|
||||
end
|
||||
subroutine foo(i4, i4a, i8, i8a)
|
||||
integer(kind=7) i4a, i8a
|
||||
integer*8 i8
|
||||
print *, i4, i4a
|
||||
print *, i8, i8a
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue