aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Koenig <tkoenig@gcc.gnu.org>2019-05-05 13:53:24 +0000
committerThomas Koenig <tkoenig@gcc.gnu.org>2019-05-05 13:53:24 +0000
commit89d1f77616cd3804969427b8a859d9cfd4bdb27c (patch)
tree37758356095db5ea72d0054492e4912c5ce588a4 /gcc
parentcd173fc8ec958ab40ed797351b907d24a2520cdd (diff)
downloadgcc-89d1f77616cd3804969427b8a859d9cfd4bdb27c.zip
gcc-89d1f77616cd3804969427b8a859d9cfd4bdb27c.tar.gz
gcc-89d1f77616cd3804969427b8a859d9cfd4bdb27c.tar.bz2
re PR fortran/90344 (small code that compiles and runs in 7.3.0 but not 7.4.1)
2019-05-05 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/90344 * gfortran.dg/pr90344.f90: New test. From-SVN: r270882
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/pr90344.f9025
2 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 7dbb850..19d593e 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2019-05-05 Thomas Koenig <tkoenig@gcc.gnu.org>
+
+ PR fortran/90344
+ * gfortran.dg/pr90344.f90: New test
+
2019-05-03 Marc Glisse <marc.glisse@inria.fr>
PR tree-optimization/90269
diff --git a/gcc/testsuite/gfortran.dg/pr90344.f90 b/gcc/testsuite/gfortran.dg/pr90344.f90
new file mode 100644
index 0000000..9d74a40
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/pr90344.f90
@@ -0,0 +1,25 @@
+! { dg-do compile }
+! { dg-additional-options "-ffrontend-optimize" }
+! PR 90344 - this used to ICE.
+! Test case by Urban Jost.
+module M_xterm
+contains
+ elemental function func1(ch) result(res)
+ character,intent(in) :: ch
+ logical :: res
+ res=.true.
+ end function func1
+ elemental function func2(ch) result(res)
+ character,intent(in) :: ch
+ logical :: res
+ res=.false.
+ end function func2
+ pure function s2a(string) RESULT (array)
+ character(len=*),intent(in) :: string
+ character(len=1) :: array(len(string))
+ forall(i=1:len(string)) array(i) = string(i:i)
+ end function s2a
+ subroutine sub1()
+ write(*,*)all(func1(s2a('ABCDEFG')).or.func2(s2a('ABCDEFG')))
+ end subroutine sub1
+end module M_xterm