aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias Schlüter <tobias.schlueter@physik.uni-muenchen.de>2005-06-05 00:20:58 +0200
committerTobias Schlüter <tobi@gcc.gnu.org>2005-06-05 00:20:58 +0200
commit8e4005784d54ce47666f18cf0b81c2903a6bb881 (patch)
treed45ab7551809470c6d8d84fd340c42040c5300a0
parent579e4a82ecac7f9204f505c69d4e9551421324db (diff)
downloadgcc-8e4005784d54ce47666f18cf0b81c2903a6bb881.zip
gcc-8e4005784d54ce47666f18cf0b81c2903a6bb881.tar.gz
gcc-8e4005784d54ce47666f18cf0b81c2903a6bb881.tar.bz2
re PR fortran/19195 (gfortran: ICE in final_scan_insn, at final.c:1843)
fortran/ 2005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> Erik Schnetter <schnetter@aei.mpg.de> PR fortran/19195 * trans.c (gfc_get_backend_locus): Remove unnecessary adjustment, remove FIXME comment. testsuite/ 2005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de> PR fortran/19195 * gfortran.dg/debug_1.f90: New test. Co-Authored-By: Erik Schnetter <schnetter@aei.mpg.de> From-SVN: r100603
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/trans.c4
-rw-r--r--gcc/testsuite/ChangeLog3
-rw-r--r--gcc/testsuite/gfortran.dg/debug_1.f9020
4 files changed, 31 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index bc8c7b4..27be5f5 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,4 +1,10 @@
2005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+ Erik Schnetter <schnetter@aei.mpg.de>
+
+ * trans.c (gfc_get_backend_locus): Remove unnecessary adjustment,
+ remove FIXME comment.
+
+2005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
* match.c (match_forall_iterator): Don't immediately give error if '='
is not followed by an expression.
diff --git a/gcc/fortran/trans.c b/gcc/fortran/trans.c
index c4ae366..fe41654 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 db1bea6..aba8829 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,8 @@
2005-06-04 Tobias Schl"uter <tobias.schlueter@physik.uni-muenchen.de>
+ PR fortran/19195
+ * gfortran.dg/debug_1.f90: New test.
+
* gfortran.dg/forall_1.f90: New test.
2005-06-04 Erik Edelmann <erik.edelmann@iki.fi>
diff --git a/gcc/testsuite/gfortran.dg/debug_1.f90 b/gcc/testsuite/gfortran.dg/debug_1.f90
new file mode 100644
index 0000000..808f41c
--- /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