gfortran.h (gfc_option_t): Replace dump_parse_tree by dump_fortran_original and add dump_fortran_optimized.

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.

From-SVN: r166091
This commit is contained in:
Thomas Koenig 2010-10-30 15:19:27 +00:00
parent dcedcddb5a
commit 1607a827d1
7 changed files with 68 additions and 13 deletions

View 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

View 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

View 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;

View 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}

View 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

View 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:

View 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)
{