summaryrefslogtreecommitdiff
path: root/gcc/fortran/parse.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-12-05 20:50:56 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2007-12-05 20:50:56 +0100
commit60332588d6194a8636748a484f102d8b36eef80d (patch)
treecab5c222f0441c84dd8b90bf0301cd07c43d705d /gcc/fortran/parse.c
parentbce623434fce35c3d515224b70e08d03fabce691 (diff)
downloadgcc-60332588d6194a8636748a484f102d8b36eef80d.tar.gz
re PR debug/33739 (Failure of gfortran.dg/literal_character_constant_1_*.F with -m64 -g on Darwin)
PR debug/33739 * gfortran.h (gfc_file): Remove included_by field, add sibling and down. (gfc_start_source_files, gfc_end_source_files): New prototypes. * parse.c (gfc_parse_file): Call gfc_start_source_files and gfc_end_source_files instead of calling the debugging hooks directly. * error.c (show_locus): Use up field instead of included_by. * scanner.c (change_file, gfc_start_source_files, gfc_end_source_files): New functions. (gfc_advance_line): Call change_file instead of calling debug hooks directly. (get_file): Set up rather than included_by. Initialize down and sibling. (preprocessor_line, load_file): Don't set up field here. * gfortran.dg/debug_2.f: New test. From-SVN: r130629
Diffstat (limited to 'gcc/fortran/parse.c')
-rw-r--r--gcc/fortran/parse.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c
index 3e20b78fba2..c941b4e5d29 100644
--- a/gcc/fortran/parse.c
+++ b/gcc/fortran/parse.c
@@ -3289,10 +3289,7 @@ gfc_parse_file (void)
gfc_statement st;
locus prog_locus;
- /* If the debugger wants the name of the main source file,
- we give it. */
- if (debug_hooks->start_end_main_source_file)
- (*debug_hooks->start_source_file) (0, gfc_source_file);
+ gfc_start_source_files ();
top.state = COMP_NONE;
top.sym = NULL;
@@ -3404,9 +3401,7 @@ loop:
goto loop;
done:
- if (debug_hooks->start_end_main_source_file)
- (*debug_hooks->end_source_file) (0);
-
+ gfc_end_source_files ();
return SUCCESS;
duplicate_main: