[patch, fortran] make fortran dumps more readable
Paul Richard Thomas
paul.richard.thomas@gmail.com
Wed Nov 3 12:18:00 GMT 2010
Dear Thomas,
> OK for trunk if regression-testing turns up nothing (which is really to
> be expected)?
I think that the regression testing is almost unnecessary and that you
can commit as obvious.
Namespace: A-H: (REAL 4) I-N: (INTEGER 4) O-Z: (REAL 4)
procedure name = ret_array_1
symtree: 'a' || symbol: 'a'
type spec : (INTEGER 4)
attributes: (VARIABLE ALLOCATABLE DIMENSION)
Array spec:(2 [0] AS_DEFERRED () () () () )
symtree: 'abort' || symbol: 'abort'
type spec : (UNKNOWN 0)
attributes: (PROCEDURE SUBROUTINE)
symtree: 'any' || symbol: 'any'
type spec : (REAL 4)
attributes: (PROCEDURE FUNCTION IMPLICIT-TYPE)
result: any
symtree: 'b' || symbol: 'b'
type spec : (INTEGER 4)
attributes: (VARIABLE DIMENSION)
Array spec:(1 [0] AS_EXPLICIT 1 2 )
symtree: 'my_transpose'|| symbol: 'my_transpose'
type spec : (INTEGER 4)
attributes: (PROCEDURE INTERNAL-PROC DIMENSION FUNCTION)
Array spec:(2 [0] AS_EXPLICIT 1
obfuscate[[((__ubound[[((my_transpose:x(FULL)) (2) ((arg
not-present)))]]))]] 1 obfuscate[[((__ubound[[((my_transpose:x(FULL))
(1) ((arg not-present)))]]))]] )
result: r
Formal arglist: x
symtree: 'reshape' || symbol: 'reshape'
type spec : (REAL 4)
attributes: (PROCEDURE FUNCTION IMPLICIT-TYPE)
result: reshape
symtree: 'ret_array_1' || symbol: 'ret_array_1'
type spec : (UNKNOWN 0)
attributes: (PROGRAM PUBLIC SUBROUTINE)
symtree: 'sum' || symbol: 'sum'
type spec : (REAL 4)
attributes: (PROCEDURE FUNCTION IMPLICIT-TYPE)
result: sum
symtree: 'test' || symbol: 'test'
type spec : (UNKNOWN 0)
attributes: (PROCEDURE INTERNAL-PROC SUBROUTINE)
Formal arglist: x n
symtree: 'transpose' || symbol: 'transpose'
type spec : (REAL 4)
attributes: (PROCEDURE FUNCTION IMPLICIT-TYPE)
result: transpose
is almost civilized, except for the one array_spec (for
'my_transpose'). Is there something that we can do with that?
I wonder if, for most users, a symbol table like the above is all that
is needed? ie. introduce -fdump-symtrees that is the same as
-fdump-parse-tree but without the code?
I thought that you had forgotten about this patch :-)
Thanks
Paul
>
> Thomas
>
> 2010-10-31 Thomas Koenig <tkoenig@gcc.gnu.org>
> Paul Thomas <pault@gcc.gnu.org>
>
> * dump-parse-tree.c (code_indent): Take label into acount
> when calculating indent.
> (show_typespec): Also display class.
> (show_attr): Add module name to argument.
> Don't show UNKNOWN for flavor, access and save. Don't show
> SAVE_NONE. Don't show INTENT_UNKNOWN. Show module for use
> association. Show intent only for dummy arguments.
> Set length of shown symbol names to minimum of 12.
> Show attributes header.
> (show_symbol): Adjust show_level.
> (show_symtree): Clear up display for ambiguous. Show if symbol
> was imported from namespace.
> (show_code_node): Clear up indenting. Traverse symtree and
> show code directly instead of calling show_namespace.
>
>
--
The knack of flying is learning how to throw yourself at the ground and miss.
--Hitchhikers Guide to the Galaxy
More information about the Fortran
mailing list