http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60286

Tobias Burnus <burnus at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code
                 CC|                            |burnus at gcc dot gnu.org,
                   |                            |jvdelisle at gcc dot gnu.org

--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Something like this should do.

(Requires more updates in the file, e.g. also for READ=, READWRITE= - and for
the "YES" / yes  cleanup.)

--- a/libgfortran/io/inquire.c
+++ b/libgfortran/io/inquire.c
@@ -33 +33 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not,
see
-static const char undefined[] = "UNDEFINED";
+static const char yes[] = "YES", no[] = "NO", undefined[] = "UNDEFINED";
@@ -133 +133 @@ inquire_via_unit (st_parameter_inquire *iqp, gfc_unit * u)
-        p = "NO";
+        p = no;
@@ -136 +136 @@ inquire_via_unit (st_parameter_inquire *iqp, gfc_unit * u)
-        p = "YES";
+        p = yes;
@@ -510 +510,7 @@ inquire_via_unit (st_parameter_inquire *iqp, gfc_unit * u)
-      p = (u == NULL) ? inquire_write (NULL, 0) :
+      if (u && u->unit_number == options.stdin_unit)
+    p = no;
+      else if (u
+           && (u->unit_number == options.stdout_unit
+           || u->unit_number == options.stderr_unit))
+    p = yes;
+      else if (u)
@@ -511,0 +518,2 @@ inquire_via_unit (st_parameter_inquire *iqp, gfc_unit * u)
+      else
+    inquire_write (NULL, 0) :

Reply via email to