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

c     Frontend bug fixed by JCB 1998-06-01 com.c &c changes.

        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
