This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch, fortran] make fortran dumps more readable
- From: Paul Richard Thomas <paul dot richard dot thomas at gmail dot com>
- To: Thomas Koenig <tkoenig at netcologne dot de>
- Cc: fortran at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- Date: Wed, 3 Nov 2010 13:18:04 +0100
- Subject: Re: [patch, fortran] make fortran dumps more readable
- References: <1288736629.5236.3.camel@linux-fd1f.site>
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