------- Additional Comments From tobi at gcc dot gnu dot org 2005-06-04 19:04 ------- It looks like I made a mistake there, the original code had a +1 in gfc_set_backend_locus, as can be seeing by diffing rev 1.4 against rev 1.5. I can't remember what all this was about at the moment, so I don't know what's right.
Index: trans.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/fortran/trans.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -p -r1.4 -r1.5 --- trans.c 14 May 2004 13:00:04 -0000 1.4 +++ trans.c 15 May 2004 17:31:32 -0000 1.5 @@ -414,8 +414,9 @@ gfc_add_block_to_block (stmtblock_t * bl void gfc_get_backend_locus (locus * loc) { - loc->line = input_line - 1; - loc->file = gfc_current_backend_file; + loc->lb = gfc_getmem (sizeof (gfc_linebuf)); + loc->lb->linenum = input_line - 1; + loc->lb->file = gfc_current_backend_file; } @@ -424,9 +425,9 @@ gfc_get_backend_locus (locus * loc) void gfc_set_backend_locus (locus * loc) { - input_line = loc->line + 1; - gfc_current_backend_file = loc->file; - input_filename = loc->file->filename; + input_line = loc->lb->linenum; + gfc_current_backend_file = loc->lb->file; + input_filename = loc->lb->file->filename; } -- What |Removed |Added ---------------------------------------------------------------------------- CC| |tobi at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19195