diff options
Diffstat (limited to 'gcc/fortran/trans.c')
-rw-r--r-- | gcc/fortran/trans.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c index 8caa625..025abe3 100644 --- a/gcc/fortran/trans.c +++ b/gcc/fortran/trans.c @@ -1829,7 +1829,7 @@ void gfc_set_backend_locus (locus * loc) { gfc_current_backend_file = loc->lb->file; - input_location = loc->lb->location; + input_location = gfc_get_location (loc); } @@ -1839,7 +1839,10 @@ gfc_set_backend_locus (locus * loc) void gfc_restore_backend_locus (locus * loc) { - gfc_set_backend_locus (loc); + /* This only restores the information captured by gfc_save_backend_locus, + intentionally does not use gfc_get_location. */ + input_location = loc->lb->location; + gfc_current_backend_file = loc->lb->file; free (loc->lb); } |