From 87cd572deea464224ca19b727a0fdb4ea1cb3f08 Mon Sep 17 00:00:00 2001
From: Jerry DeLisle <jvdelisle@gcc.gnu.org>
Date: Fri, 15 Dec 2006 19:54:52 +0000
Subject: [PATCH] re PR fortran/30145 (Fortran 90: write statement fails to
 ignore zero-sized array...)

2006-12-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/30145
	* io/transfer.c (transfer_array):  Check for negative extent.

From-SVN: r119942
---
 libgfortran/ChangeLog     | 5 +++++
 libgfortran/io/transfer.c | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index d80cf70f1706..0844d1a6df7c 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,8 @@
+2006-12-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR libfortran/30145
+	* io/transfer.c (transfer_array):  Check for negative extent.
+
 2006-12-13  Richard Guenther  <rguenther@suse.de>
 
 	PR fortran/30115
diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c
index 163557d49b3a..0139380e8218 100644
--- a/libgfortran/io/transfer.c
+++ b/libgfortran/io/transfer.c
@@ -1478,7 +1478,7 @@ transfer_array (st_parameter_dt *dtp, gfc_array_char *desc, int kind,
 
       /* If the extent of even one dimension is zero, then the entire
 	 array section contains zero elements, so we return.  */
-      if (extent[n] == 0)
+      if (extent[n] <= 0)
 	return;
     }
 
-- 
GitLab