diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2022-04-27 18:40:18 +0200 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2022-04-27 18:40:18 +0200 |
commit | f6541401407b0d09169fd716ab6d5e02c8d60642 (patch) | |
tree | 9106eb7fa19b42eba4abcd630d50e219f1069c53 | |
parent | a71b107013cbf59d9f98e902bf50cd0e7a119508 (diff) |
Split test to remove failing run time test and add check for ICE.
gcc/testsuite/ChangeLog:
PR fortran/70673
PR fortran/78054
* gfortran.dg/pr70673.f90: Remove invalid statement.
* gfortran.dg/pr70673_2.f90: New test to check that
ICE does not re-appear.
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr70673.f90 | 1 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/pr70673_2.f90 | 25 |
2 files changed, 25 insertions, 1 deletions
diff --git a/gcc/testsuite/gfortran.dg/pr70673.f90 b/gcc/testsuite/gfortran.dg/pr70673.f90 index fa4bd2fe02b..1449130274b 100644 --- a/gcc/testsuite/gfortran.dg/pr70673.f90 +++ b/gcc/testsuite/gfortran.dg/pr70673.f90 @@ -16,7 +16,6 @@ contains a = a(2:3) ! Make sure that temporary creation is not broken. if ((len (a) .ne. 2) .or. (a .ne. "el")) STOP 2 deallocate (a) - a = a ! This would ICE too. end subroutine s end module m diff --git a/gcc/testsuite/gfortran.dg/pr70673_2.f90 b/gcc/testsuite/gfortran.dg/pr70673_2.f90 new file mode 100644 index 00000000000..ba2ce2f2a96 --- /dev/null +++ b/gcc/testsuite/gfortran.dg/pr70673_2.f90 @@ -0,0 +1,25 @@ +! { dg-do compile } +! +! Test the fix for PR70673 +! +! Contributed by David Kinniburgh <davidgkinniburgh@yahoo.co.uk> +! +module m +contains + subroutine s(inp) + character(*), intent(in) :: inp + character(:), allocatable :: a + a = a ! This used to ICE. + a = inp + a = a ! This used to ICE too + if ((len (a) .ne. 5) .or. (a .ne. "hello")) STOP 1 + a = a(2:3) ! Make sure that temporary creation is not broken. + if ((len (a) .ne. 2) .or. (a .ne. "el")) STOP 2 + deallocate (a) + a = a ! This would ICE too. + end subroutine s +end module m + + use m + call s("hello") +end |