From a40278c3e39a5ef2a35a0f8c4e6ce359c9af9832 Mon Sep 17 00:00:00 2001 From: Jerry DeLisle Date: Wed, 5 Oct 2016 16:32:24 +0000 Subject: [PATCH] re PR libfortran/77868 (Fail to NULL guard check for internal unit in inquire_via_unit) 2016-10-05 Jerry DeLisle PR fortran/77868 * io/inquire.c (inquire_via_unit): NULL guard the check for internal unit passed into child IO procedure. * gfortran.dg/dtio_15.f90: Fix spaces in dg-do. * gfortran.dg/class_array_20.f03: Likewise. * gfortran.dg/class_array_21.f03: Likewise. * gfortran.dg/finalize_29.f08: Likewise. * gfortran.dg/unlimited_polymorphic_23.f90: Likewise. From-SVN: r240794 --- gcc/testsuite/ChangeLog | 8 ++++++++ gcc/testsuite/gfortran.dg/class_array_20.f03 | 2 +- gcc/testsuite/gfortran.dg/class_array_21.f03 | 2 +- gcc/testsuite/gfortran.dg/dtio_15.f90 | 2 +- gcc/testsuite/gfortran.dg/finalize_29.f08 | 2 +- gcc/testsuite/gfortran.dg/unlimited_polymorphic_23.f90 | 2 +- libgfortran/ChangeLog | 8 +++++++- libgfortran/io/inquire.c | 2 +- 8 files changed, 21 insertions(+), 7 deletions(-) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index fa1f310d694..947e84cbc6f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2016-10-05 Jerry DeLisle + + * gfortran.dg/dtio_15.f90: Fix spaces in dg-do. + * gfortran.dg/class_array_20.f03: Likewise. + * gfortran.dg/class_array_21.f03: Likewise. + * gfortran.dg/finalize_29.f08: Likewise. + * gfortran.dg/unlimited_polymorphic_23.f90: Likewise. + 2016-10-05 Richard Biener PR middle-end/77826 diff --git a/gcc/testsuite/gfortran.dg/class_array_20.f03 b/gcc/testsuite/gfortran.dg/class_array_20.f03 index c49f7d2406f..b4be0457966 100644 --- a/gcc/testsuite/gfortran.dg/class_array_20.f03 +++ b/gcc/testsuite/gfortran.dg/class_array_20.f03 @@ -1,4 +1,4 @@ -! {dg-do run} +! { dg-do run } ! ! Test contributed by Thomas L. Clune via pr60322 ! and Antony Lewis via pr64692 diff --git a/gcc/testsuite/gfortran.dg/class_array_21.f03 b/gcc/testsuite/gfortran.dg/class_array_21.f03 index 1e89d384385..ed03ed8d3f4 100644 --- a/gcc/testsuite/gfortran.dg/class_array_21.f03 +++ b/gcc/testsuite/gfortran.dg/class_array_21.f03 @@ -1,4 +1,4 @@ -! {dg-do run} +! { dg-do run } ! ! Contributed by Andre Vehreschild ! Check more elaborate class array addressing. diff --git a/gcc/testsuite/gfortran.dg/dtio_15.f90 b/gcc/testsuite/gfortran.dg/dtio_15.f90 index 040bb3ebe1c..776f442a465 100644 --- a/gcc/testsuite/gfortran.dg/dtio_15.f90 +++ b/gcc/testsuite/gfortran.dg/dtio_15.f90 @@ -1,4 +1,4 @@ -! {dg-do run } +! { dg-do run } ! Test that inquire of string internal unit in child process errors. module string_m implicit none diff --git a/gcc/testsuite/gfortran.dg/finalize_29.f08 b/gcc/testsuite/gfortran.dg/finalize_29.f08 index 1f5f742403b..9640f4f7f9c 100644 --- a/gcc/testsuite/gfortran.dg/finalize_29.f08 +++ b/gcc/testsuite/gfortran.dg/finalize_29.f08 @@ -1,4 +1,4 @@ -! {dg-do run} +! { dg-do run } ! ! Testcase contributed by Andre Vehreschild diff --git a/gcc/testsuite/gfortran.dg/unlimited_polymorphic_23.f90 b/gcc/testsuite/gfortran.dg/unlimited_polymorphic_23.f90 index 27eff310532..99b5f6b6962 100644 --- a/gcc/testsuite/gfortran.dg/unlimited_polymorphic_23.f90 +++ b/gcc/testsuite/gfortran.dg/unlimited_polymorphic_23.f90 @@ -1,4 +1,4 @@ -! {dg-do run } +! { dg-do run } ! ! Test the fix for PR65024, in which the structure for the 'info' ! component of type 'T' was not being converted into TREE_SSA and diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 0e5c4d2c003..d38646ac8b7 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,6 +1,12 @@ +2016-10-05 Jerry DeLisle + + PR fortran/77868 + * io/inquire.c (inquire_via_unit): NULL guard the check for + internal unit passed into child IO procedure. + 2016-10-04 Jerry DeLisle - io/inquire.c (inquire_via_unit): Add check for internal unit + * io/inquire.c (inquire_via_unit): Add check for internal unit passed into child IO procedure. 2016-10-01 Andre Vehreschild diff --git a/libgfortran/io/inquire.c b/libgfortran/io/inquire.c index 7751b8df4db..7e663130e56 100644 --- a/libgfortran/io/inquire.c +++ b/libgfortran/io/inquire.c @@ -43,7 +43,7 @@ inquire_via_unit (st_parameter_inquire *iqp, gfc_unit * u) if (iqp->common.unit == GFC_INTERNAL_UNIT || iqp->common.unit == GFC_INTERNAL_UNIT4 || - u->internal_unit_kind != 0) + (u != NULL && u->internal_unit_kind != 0)) generate_error (&iqp->common, LIBERROR_INQUIRE_INTERNAL_UNIT, NULL); if ((cf & IOPARM_INQUIRE_HAS_EXIST) != 0) -- 2.30.2