[RFC, fortran] Output contained namespaces in module (PR fortran/16861)
Paul Thomas
paulthomas2@wanadoo.fr
Sat Jul 16 06:19:00 GMT 2005
David,
The contained symbols are becoming publically available in with your
patch. In the example below, J is available in QUUS.
Regards
Paul T
module FOO
integer :: I
contains
subroutine BIZ(J)
integer, dimension(I) :: J
J = 0
end subroutine BIZ
end module FOO
PROGRAM QUUS
use FOO
INTEGER :: Z(2) = (/5,6/)
I = 2
call BIZ (Z)
end PROGRAM QUUS
gives
Namespace: A-H: (REAL 4) I-N: (INTEGER 4) O-Z: (REAL 4)
procedure name = foo
symtree: i Ambig 0
symbol i (INTEGER 4)(VARIABLE UNKNOWN-INTENT UNKNOWN-ACCESS
UNKNOWN-PROC)
symtree: foo Ambig 0
symbol foo (UNKNOWN 0)(MODULE UNKNOWN-INTENT UNKNOWN-ACCESS
UNKNOWN-PROC)
symtree: biz Ambig 0
symbol biz (UNKNOWN 0)(PROCEDURE UNKNOWN-INTENT UNKNOWN-ACCESS
MODULE-PROC SUBROUTINE)
Formal arglist: j
CONTAINS
Namespace: A-H: (REAL 4) I-N: (INTEGER 4) O-Z: (REAL 4)
procedure name = biz
symtree: biz Ambig 0 from namespace foo
symtree: j Ambig 0
symbol j (INTEGER 4)(VARIABLE UNKNOWN-INTENT UNKNOWN-ACCESS
UNKNOWN-PROC DIMENSION DUMMY)
Array spec:(1 AS_EXPLICIT 1 foo:i )
ASSIGN biz:j(FULL) 0
Namespace: A-H: (REAL 4) I-N: (INTEGER 4) O-Z: (REAL 4)
symtree: biz Ambig 0
symbol biz (UNKNOWN 0)(PROCEDURE UNKNOWN-INTENT UNKNOWN-ACCESS
MODULE-PROC USE-ASSOC SUBROUTINE)
Formal arglist: j
Formal namespace
Namespace: A-H: (REAL 4) I-N: (INTEGER 4) O-Z: (REAL 4)
procedure name = biz
symtree: j Ambig 0
symbol j (INTEGER 4)(VARIABLE UNKNOWN-INTENT UNKNOWN-ACCESS
UNKNOWN-PROC DIMENSION DUMMY USE-ASSOC)
Array spec:(1 AS_EXPLICIT 1 i )
symtree: i Ambig 0
symbol i (INTEGER 4)(VARIABLE UNKNOWN-INTENT UNKNOWN-ACCESS
UNKNOWN-PROC USE-ASSOC)
symtree: z Ambig 0
symbol z (INTEGER 4)(VARIABLE UNKNOWN-INTENT UNKNOWN-ACCESS
UNKNOWN-PROC DIMENSION)
value: (/ 5 , 6 /)
Array spec:(1 AS_EXPLICIT 1 2 )
symtree: quus Ambig 0
symbol quus (UNKNOWN 0)(PROGRAM UNKNOWN-INTENT UNKNOWN-ACCESS
UNKNOWN-PROC)
ASSIGN i 2
CALL biz ((z(FULL)))
More information about the Fortran
mailing list