OSDN Git Service

2005-12-17 Steven G. Kargl <kargls@comcast.net>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gfortran.dg / g77 / 970125-0.f
1 c { dg-do compile }
2 c
3 c Following line added on transfer to gfortran testsuite
4 c { dg-excess-errors "" }
5 c
6 C JCB comments:
7 C g77 doesn't accept the added line "integer(kind=7) ..." --
8 C it crashes!
9
10 C It's questionable that g77 DTRT with regarding to passing
11 C %LOC() as an argument (thus by reference) and the new global
12 C analysis.  I need to look into that further; my feeling is that
13 C passing %LOC() as an argument should be treated like passing an
14 C INTEGER(KIND=7) by reference, and no more specially than that
15 C (and that INTEGER(KIND=7) should be permitted as equivalent to
16 C INTEGER(KIND=1), INTEGER(KIND=2), or whatever, depending on the
17 C system's pointer size).
18
19 C The back end *still* has a bug here, which should be fixed,
20 C because, currently, what g77 is passing to it is, IMO, correct.
21
22 C No options:
23 C ../../egcs/gcc/f/info.c:259: failed assertion `ffeinfo_types_[basictype][kindtype] != NULL'
24 C -fno-globals -O:
25 C ../../egcs/gcc/expr.c:7291: Internal compiler error in function expand_expr
26
27 c     Frontend bug fixed by JCB 1998-06-01 com.c &c changes.
28
29         integer i4
30         integer(kind=8) i8
31         integer(kind=8) max4
32         data max4/2147483647/
33         i4 = %loc(i4)
34         i8 = %loc(i8)
35         print *, max4
36         print *, i4, %loc(i4)
37         print *, i8, %loc(i8)
38         call foo(i4, %loc(i4), i8, %loc(i8))
39         end
40         subroutine foo(i4, i4a, i8, i8a)
41         integer(kind=7) i4a, i8a
42         integer(kind=8) i8
43         print *, i4, i4a
44         print *, i8, i8a
45         end