From 8e4005784d54ce47666f18cf0b81c2903a6bb881 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20Schl=C3=BCter?= Date: Sun, 5 Jun 2005 00:20:58 +0200 Subject: [PATCH] re PR fortran/19195 (gfortran: ICE in final_scan_insn, at final.c:1843) fortran/ 2005-06-04 Tobias Schl"uter Erik Schnetter PR fortran/19195 * trans.c (gfc_get_backend_locus): Remove unnecessary adjustment, remove FIXME comment. testsuite/ 2005-06-04 Tobias Schl"uter PR fortran/19195 * gfortran.dg/debug_1.f90: New test. Co-Authored-By: Erik Schnetter From-SVN: r100603 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/trans.c | 4 ++-- gcc/testsuite/ChangeLog | 3 +++ gcc/testsuite/gfortran.dg/debug_1.f90 | 20 ++++++++++++++++++++ 4 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gfortran.dg/debug_1.f90 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index bc8c7b495f7..27be5f59881 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2005-06-04 Tobias Schl"uter + Erik Schnetter + + * trans.c (gfc_get_backend_locus): Remove unnecessary adjustment, + remove FIXME comment. + 2005-06-04 Tobias Schl"uter * match.c (match_forall_iterator): Don't immediately give error if '=' diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c index c4ae36674de..fe41654f1c9 100644 --- a/gcc/fortran/trans.c +++ b/gcc/fortran/trans.c @@ -437,9 +437,9 @@ gfc_get_backend_locus (locus * loc) { loc->lb = gfc_getmem (sizeof (gfc_linebuf)); #ifdef USE_MAPPED_LOCATION - loc->lb->location = input_location; /* FIXME adjust?? */ + loc->lb->location = input_location; #else - loc->lb->linenum = input_line - 1; + loc->lb->linenum = input_line; #endif loc->lb->file = gfc_current_backend_file; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index db1bea63628..aba8829e76f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,8 @@ 2005-06-04 Tobias Schl"uter + PR fortran/19195 + * gfortran.dg/debug_1.f90: New test. + * gfortran.dg/forall_1.f90: New test. 2005-06-04 Erik Edelmann diff --git a/gcc/testsuite/gfortran.dg/debug_1.f90 b/gcc/testsuite/gfortran.dg/debug_1.f90 new file mode 100644 index 00000000000..808f41c7084 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/debug_1.f90 @@ -0,0 +1,20 @@ +subroutine gfc_debug_bug (n,m,k,ax,bx,c) +! above line must be the first line +! { dg-do compile } +! { dg-options "-g" } +! PR 19195 +! we set line numbers wrongly, which made the compiler choke when emitting +! debug information. + implicit none + integer :: n, m + integer :: k(n+m) + real :: ax(:), bx(n), c(n+m) + + integer :: i + real :: f + + i = k(n) + f = c(n) + f = bx(n) + f = ax(n) +end subroutine gfc_debug_bug