From: Mark Eggleston Date: Thu, 4 Jun 2020 04:53:31 +0000 (+0100) Subject: Fortran : ICE in maybe_canonicalize_comparison_1 PR92993 X-Git-Tag: releases/gcc-10.2.0~251 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e4f719b4e1f14016dfc777227e42bd1080245248;p=thirdparty%2Fgcc.git 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 gcc/testsuite/ PR fortran/92993 * gfortran.dg/pr92993.f90: New test. (cherry picked from commit 5dc3986103d8908c802e940dea8f2def3a6989c2) --- diff --git a/gcc/testsuite/gfortran.dg/pr92993.f90 b/gcc/testsuite/gfortran.dg/pr92993.f90 new file mode 100644 index 000000000000..b73355357b5f --- /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 +