aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Eggleston <markeggleston@gcc.gnu.org>2020-06-04 05:53:31 +0100
committerMark Eggleston <markeggleston@gcc.gnu.org>2020-06-08 11:17:40 +0100
commit5dc3986103d8908c802e940dea8f2def3a6989c2 (patch)
treeb4e50e98b627acb2d07c40f398cbe5da3d800630 /gcc
parent8be374e02761c9d63d2753d71e4bd4874a1577b1 (diff)
downloadgcc-5dc3986103d8908c802e940dea8f2def3a6989c2.zip
gcc-5dc3986103d8908c802e940dea8f2def3a6989c2.tar.gz
gcc-5dc3986103d8908c802e940dea8f2def3a6989c2.tar.bz2
Fortran : ICE in maybe_canonicalize_comparison_1 PR92993
This issue has been fixed by PR94090. Add test case to ensure that this does not re-occur. 2020-06-08 Mark Eggleston <markeggleston@gcc.gnu.org> gcc/testsuite/ PR fortran/92993 * gfortran.dg/pr92993.f90: New test.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/gfortran.dg/pr92993.f9021
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/gfortran.dg/pr92993.f90 b/gcc/testsuite/gfortran.dg/pr92993.f90
new file mode 100644
index 0000000..b733553
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr92993.f90
@@ -0,0 +1,21 @@
+! { dg-do compile }
+!
+! Original by G. Steinmetz
+
+function f(x)
+ integer, intent(in) :: x
+ integer :: f
+ f = x
+end
+
+program p
+ interface
+ function f(x) ! { dg-error "POINTER attribute mismatch in function result" }
+ integer, intent(in) :: x
+ integer, pointer :: f
+ end
+ end interface
+ integer :: a(2) = [1, 2]
+ if ( a(2) .ne. f(a(2)) ) stop 1
+end
+