diff mbox series

Fixed: "required ftruncate or chsize support not present" in gfortran testsuite

Message ID 201905230221.x4N2LDjI017124@ignucius.se.axis.com
State New
Headers show
Series Fixed: "required ftruncate or chsize support not present" in gfortran testsuite | expand

Commit Message

Hans-Peter Nilsson May 23, 2019, 2:21 a.m. UTC
There was a regression for gfortran.dg/fmt_en.f90 for cris-elf
that on inspection was due to it having acquired a truncation
call through the runtime.  I updated that and the new tests that
had "Fortran runtime error: required ftruncate or chsize support
not present" messages in gfortran.log, ran past cris-elf and
committed as obvious.  See also
<https://gcc.gnu.org/ml/gcc-patches/2008-05/msg00975.html> from
which I copy-pasted most of this message.  (Yep, 11 years ago.)

gcc/testsuite:
	* gfortran.dg/dec_io_1.f90, gfortran.dg/dtio_1.f90,
	gfortran.dg/dtio_12.f90, gfortran.dg/fmt_en.f90,
	gfortran.dg/namelist_89.f90: Gate test on effective_target
	fd_truncate.


brgds, H-P

Comments

Janne Blomqvist May 23, 2019, 8:43 p.m. UTC | #1
On Thu, May 23, 2019 at 5:21 AM Hans-Peter Nilsson
<hans-peter.nilsson@axis.com> wrote:
>
> There was a regression for gfortran.dg/fmt_en.f90 for cris-elf
> that on inspection was due to it having acquired a truncation
> call through the runtime.  I updated that and the new tests that
> had "Fortran runtime error: required ftruncate or chsize support
> not present" messages in gfortran.log, ran past cris-elf and
> committed as obvious.  See also
> <https://gcc.gnu.org/ml/gcc-patches/2008-05/msg00975.html> from
> which I copy-pasted most of this message.  (Yep, 11 years ago.)
>
> gcc/testsuite:
>         * gfortran.dg/dec_io_1.f90, gfortran.dg/dtio_1.f90,
>         gfortran.dg/dtio_12.f90, gfortran.dg/fmt_en.f90,
>         gfortran.dg/namelist_89.f90: Gate test on effective_target
>         fd_truncate.
>
> diff --git gcc/testsuite/gfortran.dg/dec_io_1.f90 gcc/testsuite/gfortran.dg/dec_io_1.f90
> index 2edc427..58daf30 100644
> --- gcc/testsuite/gfortran.dg/dec_io_1.f90
> +++ gcc/testsuite/gfortran.dg/dec_io_1.f90
> @@ -1,4 +1,4 @@
> -! { dg-do run }
> +! { dg-do run { target fd_truncate } }
>  ! { dg-options "-fdec" }
>  !
>  ! Run-time tests for values of DEC I/O parameters (doesn't test functionality).
> diff --git gcc/testsuite/gfortran.dg/dtio_1.f90 gcc/testsuite/gfortran.dg/dtio_1.f90
> index c6f17d9..b168d30 100644
> --- gcc/testsuite/gfortran.dg/dtio_1.f90
> +++ gcc/testsuite/gfortran.dg/dtio_1.f90
> @@ -1,4 +1,4 @@
> -! { dg-do run  }
> +! { dg-do run { target fd_truncate } }
>  !
>  ! Functional test of User Defined Derived Type IO, Formatted WRITE/READ
>  !
> diff --git gcc/testsuite/gfortran.dg/dtio_12.f90 gcc/testsuite/gfortran.dg/dtio_12.f90
> index 54b10cb..ac6d9e7 100644
> --- gcc/testsuite/gfortran.dg/dtio_12.f90
> +++ gcc/testsuite/gfortran.dg/dtio_12.f90
> @@ -1,4 +1,4 @@
> -! { dg-do run }
> +! { dg-do run { target fd_truncate } }
>  !
>  ! Test the fix for PR77657 in which the DTIO subroutine was not found,
>  ! which led to an error in attempting to link to the abstract interface.
> diff --git gcc/testsuite/gfortran.dg/fmt_en.f90 gcc/testsuite/gfortran.dg/fmt_en.f90
> index b3597e4..89011b3 100644
> --- gcc/testsuite/gfortran.dg/fmt_en.f90
> +++ gcc/testsuite/gfortran.dg/fmt_en.f90
> @@ -1,4 +1,4 @@
> -! { dg-do run }
> +! { dg-do run { target fd_truncate } }
>  ! PR60128 Invalid outputs with EN descriptors
>  ! Test case provided by Walt Brainerd.
>  program pr60128
> diff --git gcc/testsuite/gfortran.dg/namelist_89.f90 gcc/testsuite/gfortran.dg/namelist_89.f90
> index fbb7143..91f64fe 100644
> --- gcc/testsuite/gfortran.dg/namelist_89.f90
> +++ gcc/testsuite/gfortran.dg/namelist_89.f90
> @@ -1,4 +1,4 @@
> -! { dg-do run }
> +! { dg-do run { target fd_truncate } }
>  ! PR69456 Namelist value with trailing sign is ignored without error
>  implicit none
>  integer :: ios

Do you know which commit caused this? Was it something recent? Based
on a quick look, at least for fmt_en this shouldn't happen..

Since this seems to happen semi-regularly, would it be possible to do
something at the dejagnu level, e.g. to fail a test that uses
ftruncate/chsize even though it's not marked with target fd_truncate.
Hard to see how that could be verified without running testcases under
strace or something like that.
diff mbox series

Patch

diff --git gcc/testsuite/gfortran.dg/dec_io_1.f90 gcc/testsuite/gfortran.dg/dec_io_1.f90
index 2edc427..58daf30 100644
--- gcc/testsuite/gfortran.dg/dec_io_1.f90
+++ gcc/testsuite/gfortran.dg/dec_io_1.f90
@@ -1,4 +1,4 @@ 
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
 ! { dg-options "-fdec" }
 !
 ! Run-time tests for values of DEC I/O parameters (doesn't test functionality).
diff --git gcc/testsuite/gfortran.dg/dtio_1.f90 gcc/testsuite/gfortran.dg/dtio_1.f90
index c6f17d9..b168d30 100644
--- gcc/testsuite/gfortran.dg/dtio_1.f90
+++ gcc/testsuite/gfortran.dg/dtio_1.f90
@@ -1,4 +1,4 @@ 
-! { dg-do run  }
+! { dg-do run { target fd_truncate } }
 !
 ! Functional test of User Defined Derived Type IO, Formatted WRITE/READ
 !
diff --git gcc/testsuite/gfortran.dg/dtio_12.f90 gcc/testsuite/gfortran.dg/dtio_12.f90
index 54b10cb..ac6d9e7 100644
--- gcc/testsuite/gfortran.dg/dtio_12.f90
+++ gcc/testsuite/gfortran.dg/dtio_12.f90
@@ -1,4 +1,4 @@ 
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
 !
 ! Test the fix for PR77657 in which the DTIO subroutine was not found,
 ! which led to an error in attempting to link to the abstract interface.
diff --git gcc/testsuite/gfortran.dg/fmt_en.f90 gcc/testsuite/gfortran.dg/fmt_en.f90
index b3597e4..89011b3 100644
--- gcc/testsuite/gfortran.dg/fmt_en.f90
+++ gcc/testsuite/gfortran.dg/fmt_en.f90
@@ -1,4 +1,4 @@ 
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
 ! PR60128 Invalid outputs with EN descriptors
 ! Test case provided by Walt Brainerd.
 program pr60128
diff --git gcc/testsuite/gfortran.dg/namelist_89.f90 gcc/testsuite/gfortran.dg/namelist_89.f90
index fbb7143..91f64fe 100644
--- gcc/testsuite/gfortran.dg/namelist_89.f90
+++ gcc/testsuite/gfortran.dg/namelist_89.f90
@@ -1,4 +1,4 @@ 
-! { dg-do run }
+! { dg-do run { target fd_truncate } }
 ! PR69456 Namelist value with trailing sign is ignored without error
 implicit none
 integer :: ios