* 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
+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
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
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;
@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}.
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}
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
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;
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)
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:
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);
/* 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)
{