aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.dg/pr98016.f90
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2020-12-05 14:14:19 +0000
committerPaul Thomas <pault@gcc.gnu.org>2020-12-05 14:14:19 +0000
commit7ae210d5db5eb96989b2f639e65678b5597e61f0 (patch)
treec9c644de187e048169a2817be36d4bdc6c4e9668 /gcc/testsuite/gfortran.dg/pr98016.f90
parent1352bc88a0525743c952197fb2db6e4f8c091cde (diff)
downloadgcc-7ae210d5db5eb96989b2f639e65678b5597e61f0.zip
gcc-7ae210d5db5eb96989b2f639e65678b5597e61f0.tar.gz
gcc-7ae210d5db5eb96989b2f639e65678b5597e61f0.tar.bz2
Fortran: flag formal argument before resolving an array spec [PR98016].
2020-12-05 Paul Thomas <pault@gcc.gnu.org> gcc/fortran PR fortran/98016 * resolve.c (resolve_symbol): Set formal_arg_flag before resolving an array spec and restore value afterwards. gcc/testsuite/ PR fortran/98016 * gfortran.dg/pr98016.f90: New test.
Diffstat (limited to 'gcc/testsuite/gfortran.dg/pr98016.f90')
-rw-r--r--gcc/testsuite/gfortran.dg/pr98016.f9019
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/pr98016.f90 b/gcc/testsuite/gfortran.dg/pr98016.f90
new file mode 100644
index 0000000..71df67e
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr98016.f90
@@ -0,0 +1,19 @@
+! { dg-do compile }
+!
+! Fix for PR98016 - Used to fail with Error: Variable ā€˜nā€™ cannot appear in the
+! expression at (1) for line 16. Workaround was to declare y to be real.
+!
+! Posted by Juergen Reuter <juergen.reuter@desy.de>
+!
+program is_it_valid
+ dimension y(3)
+ n=3
+ y=func(1.0)
+ print *, y
+ stop
+contains
+ function func(x) result (y)
+ dimension y(n)
+ y=x
+ end function
+end