public inbox for fortran@gcc.gnu.org
 help / color / mirror / Atom feed
* [patch, fortran, committed] Small -fdump-fortran-original fixes, plus documentation update
@ 2017-10-08 12:57 Thomas Koenig
  2017-10-08 13:15 ` Paul Richard Thomas
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Koenig @ 2017-10-08 12:57 UTC (permalink / raw)
  To: fortran, gcc-patches

[-- Attachment #1: Type: text/plain, Size: 724 bytes --]

Hello world,

I have committed a few small fixes for -fdump-fortran-original and
friends.

Since there was interest on c.l.f from somebdoy who actually wanted to
use the dump for something useful, I have also clarified in the docs
that this is something that is not guaranteed to work between releases.

Regards

	Thomas

2017-10-08  Thomas Koenig  <tkoenig@gcc.gnu.org>

         * dump_prase_tree (show_symbol): Output list of variables in
         NAMELIST.
         (show_code_node): Add new line for ELSE and END DO for DO
         CONCURRENT.
         * invoke.texi: Document that the output of
         -fdump-fortran-original, -fdump-fortran-optimized and
         -fdump-parse-tree is unsable and may lead to ICEs.

[-- Attachment #2: p2.diff --]
[-- Type: text/x-patch, Size: 3134 bytes --]

Index: dump-parse-tree.c
===================================================================
--- dump-parse-tree.c	(Revision 253381)
+++ dump-parse-tree.c	(Arbeitskopie)
@@ -967,8 +967,17 @@ show_symbol (gfc_symbol *sym)
       show_indent ();
       fputs ("PDT parameters", dumpfile);
       show_actual_arglist (sym->param_list);
+    }
 
+  if (sym->attr.flavor == FL_NAMELIST)
+    {
+      gfc_namelist *nl;
+      show_indent ();
+      fputs ("variables : ", dumpfile);
+      for (nl = sym->namelist; nl; nl = nl->next)
+	fprintf (dumpfile, " %s",nl->sym->name);
     }
+
   --show_level;
 }
 
@@ -1979,8 +1988,8 @@ show_code_node (int level, gfc_code *c)
       d = d->block;
       for (; d; d = d->block)
 	{
+	  fputs("\n", dumpfile);
 	  code_indent (level, 0);
-
 	  if (d->expr1 == NULL)
 	    fputs ("ELSE", dumpfile);
 	  else
@@ -2170,9 +2179,12 @@ show_code_node (int level, gfc_code *c)
             fputc (',', dumpfile);
         }
       show_expr (c->expr1);
+      ++show_level;
 
       show_code (level + 1, c->block->next);
+      --show_level;
       code_indent (level, c->label1);
+      show_indent ();
       fputs ("END DO", dumpfile);
       break;
 
Index: invoke.texi
===================================================================
--- invoke.texi	(Revision 253377)
+++ invoke.texi	(Arbeitskopie)
@@ -1120,20 +1120,28 @@ either your program or the GNU Fortran compiler.
 @item -fdump-fortran-original
 @opindex @code{fdump-fortran-original}
 Output the internal parse tree after translating the source program
-into internal representation.  Only really useful for debugging the
-GNU Fortran compiler itself.
+into internal representation.  This option is mostly useful for
+debugging the GNU Fortran compiler itself. The output generated by
+this option might change between releases. This option may also
+generate internal compiler errors for features which have only
+recently been added.
 
 @item -fdump-fortran-optimized
 @opindex @code{fdump-fortran-optimized}
-Output the parse tree after front-end optimization.  Only really
-useful for debugging the GNU Fortran compiler itself.
+Output the parse tree after front-end optimization.  Mostly useful for
+debugging the GNU Fortran compiler itself. The output generated by
+this option might change between releases.  This option may also
+generate internal compiler errors for features which have only
+recently been added.
 
 @item -fdump-parse-tree
 @opindex @code{fdump-parse-tree}
 Output the internal parse tree after translating the source program
-into internal representation.  Only really useful for debugging the
-GNU Fortran compiler itself.  This option is deprecated; use
-@code{-fdump-fortran-original} instead.
+into internal representation.  Mostly useful for debugging the GNU
+Fortran compiler itself. The output generated by this option might
+change between releases. This option may also generate internal
+compiler errors for features which have only recently been added. This
+option is deprecated; use @code{-fdump-fortran-original} instead.
 
 @item -ffpe-trap=@var{list}
 @opindex @code{ffpe-trap=}@var{list}

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2017-10-08 14:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-10-08 12:57 [patch, fortran, committed] Small -fdump-fortran-original fixes, plus documentation update Thomas Koenig
2017-10-08 13:15 ` Paul Richard Thomas
2017-10-08 14:18   ` Thomas Koenig
2017-10-08 14:46   ` Mikael Morin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).