OSDN Git Service

2010-10-30 Thomas Koenig <tkoenig@gcc.gnu.org>
authortkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 30 Oct 2010 15:19:27 +0000 (15:19 +0000)
committertkoenig <tkoenig@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 30 Oct 2010 15:19:27 +0000 (15:19 +0000)
* gfortran.h (gfc_option_t):  Replace dump_parse_tree by
dump_fortran_original and add dump_fortran_optimized.
* lang.opt: Add fdump-fortran-original and
fdump-fortran-optimized.  Document that fdump-parse-tree is
deprecated.
* gfortran.texi: Add -fdump-fortran-original and
-fdump-fortran-optimized.  -fdump-parse-tree is deprecated.
* frontend-passes.c (gfc_run_passes):  If optimizing and
if gfc_option.dump_fortran_optimized is set, dump the parse tree
after optimization.
* parse.c:  Rename gfc_option.dump_parse_tree to
gfc_option.dump_fortran_original.
* options.c (gfc_init_options):  Rename gfc_option.dump_parse_tree
to gfc_option.dump_fortran_original and handle
gfc_option.dump_fortran_optimize.
(gfc_post_options): Rename gfc_option.dump_parse_tree
to gfc_option.dump_fortran_original.
(gfc_handle_option):  Rename OPT_fdump_parse_tree to
OPT_fdump_fortran_original and gfc_option.dump_parse_tree
to gfc_option.dump_fortran_original.  Handle
OPT_fdump_fortran_optimized.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166091 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/fortran/ChangeLog
gcc/fortran/frontend-passes.c
gcc/fortran/gfortran.h
gcc/fortran/invoke.texi
gcc/fortran/lang.opt
gcc/fortran/options.c
gcc/fortran/parse.c

index 0f783b5..9dae56a 100644 (file)
@@ -1,3 +1,27 @@
+2010-10-30  Thomas Koenig  <tkoenig@gcc.gnu.org>
+
+       * gfortran.h (gfc_option_t):  Replace dump_parse_tree by
+       dump_fortran_original and add dump_fortran_optimized.
+       * lang.opt: Add fdump-fortran-original and
+       fdump-fortran-optimized.  Document that fdump-parse-tree is
+       deprecated.
+       * gfortran.texi: Add -fdump-fortran-original and
+       -fdump-fortran-optimized.  -fdump-parse-tree is deprecated.
+       * frontend-passes.c (gfc_run_passes):  If optimizing and
+       if gfc_option.dump_fortran_optimized is set, dump the parse tree
+       after optimization.
+       * parse.c:  Rename gfc_option.dump_parse_tree to
+       gfc_option.dump_fortran_original.
+       * options.c (gfc_init_options):  Rename gfc_option.dump_parse_tree
+       to gfc_option.dump_fortran_original and handle
+       gfc_option.dump_fortran_optimize.
+       (gfc_post_options): Rename gfc_option.dump_parse_tree
+       to gfc_option.dump_fortran_original.
+       (gfc_handle_option):  Rename OPT_fdump_parse_tree to
+       OPT_fdump_fortran_original and gfc_option.dump_parse_tree
+       to gfc_option.dump_fortran_original.  Handle
+       OPT_fdump_fortran_optimized.
+
 2010-10-30  Janus Weil  <janus@gcc.gnu.org>
 
        PR fortran/44917
index c089302..6cea263 100644 (file)
@@ -42,7 +42,11 @@ void
 gfc_run_passes (gfc_namespace *ns)
 {
   if (optimize)
-    optimize_namespace (ns);
+    {
+      optimize_namespace (ns);
+      if (gfc_option.dump_fortran_optimized)
+       gfc_dump_parse_tree (ns, stdout);
+    }
 }
 
 /* Callback for each gfc_code node invoked through gfc_code_walker
index 33c7ba6..b96dd64 100644 (file)
@@ -2178,7 +2178,8 @@ typedef struct
   int max_continue_fixed;
   int max_continue_free;
   int max_identifier_length;
-  int dump_parse_tree;
+  int dump_fortran_original;
+  int dump_fortran_optimized;
 
   int warn_aliasing;
   int warn_ampersand;
index 9e2bc75..bacab6b 100644 (file)
@@ -143,8 +143,8 @@ and warnings}.
 
 @item Debugging Options
 @xref{Debugging Options,,Options for debugging your program or GNU Fortran}.
-@gccoptlist{-fdump-parse-tree  -ffpe-trap=@var{list} @gol
--fdump-core -fbacktrace}
+@gccoptlist{-fdump-fortran-original  -fdump-fortran-optimized @gol
+-ffpe-trap=@var{list}  -fdump-core -fbacktrace -fdump-parse-tree}
 
 @item Directory Options
 @xref{Directory Options,,Options for directory search}.
@@ -879,10 +879,22 @@ GNU Fortran has various special options that are used for debugging
 either your program or the GNU Fortran compiler.
 
 @table @gcctabopt
-@item -fdump-parse-tree
+@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.
+
+@item -fdump-optimized-tree
+@opindex @code{fdump-fortran-optimized}
+Output the parse tree after front-end optimization.  Only really
+useful for debugging the GNU Fortran compiler itself.
+
 @opindex @code{fdump-parse-tree}
-Output the internal parse tree before starting code generation.  Only
-really useful for debugging the GNU Fortran compiler itself.
+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.
 
 @item -ffpe-trap=@var{list}
 @opindex @code{ffpe-trap=}@var{list}
index f60eaab..6088730 100644 (file)
@@ -358,10 +358,18 @@ fdump-core
 Fortran
 Dump a core file when a runtime error occurs
 
-fdump-parse-tree
+fdump-fortran-original
 Fortran
 Display the code tree after parsing
 
+fdump-fortran-optimized
+Fortran
+Display the code tree after front end optimization
+
+fdump-parse-tree
+Fortran
+Display the code tree after parsing; deprecated option
+
 fexternal-blas
 Fortran
 Specify that an external BLAS library should be used for matmul calls on large-size arrays
index a65a63a..36dd9c8 100644 (file)
@@ -90,7 +90,8 @@ gfc_init_options (unsigned int decoded_options_count,
   gfc_option.flag_max_array_constructor = 65535;
   gfc_option.convert = GFC_CONVERT_NATIVE;
   gfc_option.record_marker = 0;
-  gfc_option.dump_parse_tree = 0;
+  gfc_option.dump_fortran_original = 0;
+  gfc_option.dump_fortran_optimized = 0;
 
   gfc_option.warn_aliasing = 0;
   gfc_option.warn_ampersand = 0;
@@ -270,7 +271,7 @@ gfc_post_options (const char **pfilename)
     gfc_option.rtcheck |= GFC_RTCHECK_BOUNDS;
 
   if (flag_compare_debug)
-    gfc_option.dump_parse_tree = 0;
+    gfc_option.dump_fortran_original = 0;
 
   /* Verify the input file name.  */
   if (!filename || strcmp (filename, "-") == 0)
@@ -686,8 +687,13 @@ gfc_handle_option (size_t scode, const char *arg, int value,
       gfc_option.flag_d_lines = 0;
       break;
 
+    case OPT_fdump_fortran_original:
     case OPT_fdump_parse_tree:
-      gfc_option.dump_parse_tree = value;
+      gfc_option.dump_fortran_original = value;
+      break;
+
+    case OPT_fdump_fortran_optimized:
+      gfc_option.dump_fortran_optimized = value;
       break;
 
     case OPT_ffixed_form:
index 89ffbaf..2e43824 100644 (file)
@@ -4373,7 +4373,7 @@ loop:
   gfc_resolve (gfc_current_ns);
 
   /* Dump the parse tree if requested.  */
-  if (gfc_option.dump_parse_tree)
+  if (gfc_option.dump_fortran_original)
     gfc_dump_parse_tree (gfc_current_ns, stdout);
 
   gfc_get_errors (NULL, &errors);
@@ -4431,7 +4431,7 @@ prog_units:
 
   /* Do the parse tree dump.  */ 
   gfc_current_ns
-       = gfc_option.dump_parse_tree ? gfc_global_ns_list : NULL;
+       = gfc_option.dump_fortran_original ? gfc_global_ns_list : NULL;
 
   for (; gfc_current_ns; gfc_current_ns = gfc_current_ns->sibling)
     {