From a40278c3e39a5ef2a35a0f8c4e6ce359c9af9832 Mon Sep 17 00:00:00 2001 From: Jerry DeLisle <jvdelisle@gcc.gnu.org> 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 <jvdelisle@gcc.gnu.org> 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 fa1f310d6947..947e84cbc6fb 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,11 @@ +2016-10-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + * 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 <rguenther@suse.de> 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 c49f7d2406fe..b4be04579666 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 1e89d384385a..ed03ed8d3f4d 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 040bb3ebe1c2..776f442a4659 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 1f5f742403bf..9640f4f7f9cd 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 <vehre@gcc.gnu.org> diff --git a/gcc/testsuite/gfortran.dg/unlimited_polymorphic_23.f90 b/gcc/testsuite/gfortran.dg/unlimited_polymorphic_23.f90 index 27eff3105327..99b5f6b69625 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 0e5c4d2c0030..d38646ac8b7f 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,6 +1,12 @@ +2016-10-05 Jerry DeLisle <jvdelisle@gcc.gnu.org> + + 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 <jvdelisle@gcc.gnu.org> - 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 <vehre@gcc.gnu.org> diff --git a/libgfortran/io/inquire.c b/libgfortran/io/inquire.c index 7751b8df4db3..7e663130e566 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) -- GitLab