[gcc/devel/omp/gcc-9] re PR fortran/91785 (ICE in check_assumed_size_reference, at fortran/resolve.c:1601)

Tobias Burnus burnus@gcc.gnu.org
Thu Mar 5 14:06:00 GMT 2020


https://gcc.gnu.org/g:4e58c9a2c75ca2b5466b9e6eb87d86b148553ba4

commit 4e58c9a2c75ca2b5466b9e6eb87d86b148553ba4
Author: Steven G. Kargl <kargl@gcc.gnu.org>
Date:   Sat Oct 5 03:55:05 2019 +0000

    re PR fortran/91785 (ICE in check_assumed_size_reference, at fortran/resolve.c:1601)
    
    2019-10-04  Steven G. Kargl  <kargl@gcc.gnu.org>
    
    	PR fortran/91785
    	* primary.c (gfc_match_varspec): Ensure an inquiry parameter has
    	it locus set.
    
    2019-10-04  Steven G. Kargl  <kargl@gcc.gnu.org>
    
    	PR fortran/91785
    	* gfortran.dg/pr91785.f90: New test.
    
    From-SVN: r276619

Diff:
---
 gcc/fortran/ChangeLog                 | 6 ++++++
 gcc/fortran/primary.c                 | 2 ++
 gcc/testsuite/ChangeLog               | 5 +++++
 gcc/testsuite/gfortran.dg/pr91785.f90 | 8 ++++++++
 4 files changed, 21 insertions(+)

diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 7e7e24c..8f2509c 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2019-10-04  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/91785
+	* primary.c (gfc_match_varspec): Ensure an inquiry parameter has
+	it locus set.
+
 2019-10-01  Steven G. Kargl  <kargl@gcc.gnu.org>
 
 	PR fortran/91864
diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c
index a69f71a..8408e9c 100644
--- a/gcc/fortran/primary.c
+++ b/gcc/fortran/primary.c
@@ -2293,6 +2293,8 @@ gfc_match_varspec (gfc_expr *primary, int equiv_flag, bool sub_flag,
 
       if (tmp && tmp->type == REF_INQUIRY)
 	{
+	  if (!primary->where.lb || !primary->where.nextc)
+	    primary->where = gfc_current_locus;
 	  gfc_simplify_expr (primary, 0);
 
 	  if (primary->expr_type == EXPR_CONSTANT)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index fb7965f..27851ee 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2019-10-04  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+	PR fortran/91785
+	* gfortran.dg/pr91785.f90: New test.
+
 2019-10-04  Dragan Mladjenovic <dmladjenovic@wavecomp.com>
 
 	Backport from mainline	
diff --git a/gcc/testsuite/gfortran.dg/pr91785.f90 b/gcc/testsuite/gfortran.dg/pr91785.f90
new file mode 100644
index 0000000..fb3d964
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr91785.f90
@@ -0,0 +1,8 @@
+! { dg-do compile }
+! PR fortran/91785
+! Code contributed by Gerhard Steinmetz
+program p
+   complex :: a(*)   ! { dg-error "Assumed size array at" }
+   real :: b(2)
+   b = a%im          ! { dg-error "upper bound in the last dimension" }
+end



More information about the Gcc-cvs mailing list