diff options
author | pbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-31 23:43:21 +0000 |
---|---|---|
committer | pbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-08-31 23:43:21 +0000 |
commit | 4cab09cbef13e739ccaa7cd33eeba7ee66de109f (patch) | |
tree | ac565ec762faca9922dc3c698e1b3b01925bef82 /libgfortran/runtime | |
parent | 153536dfc5a467f1f39b337175d2ced9d367b69c (diff) | |
download | ppe42-gcc-4cab09cbef13e739ccaa7cd33eeba7ee66de109f.tar.gz ppe42-gcc-4cab09cbef13e739ccaa7cd33eeba7ee66de109f.zip |
* runtime/error.c (generate_error): Set both iostat and
library_return.
testsuite/
* gfortran.dg/eof_2.f90: New test.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86852 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran/runtime')
-rw-r--r-- | libgfortran/runtime/error.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/libgfortran/runtime/error.c b/libgfortran/runtime/error.c index 74670b56d28..5eb5b0bb31e 100644 --- a/libgfortran/runtime/error.c +++ b/libgfortran/runtime/error.c @@ -445,13 +445,11 @@ translate_error (int code) void generate_error (int family, const char *message) { - + /* Set the error status. */ if (ioparm.iostat != NULL) - { - *ioparm.iostat = family; - return; - } + *ioparm.iostat = family; + /* Report status back to the compiler. */ switch (family) { case ERROR_EOR: @@ -468,10 +466,13 @@ generate_error (int family, const char *message) default: ioparm.library_return = LIBRARY_ERROR; + if (ioparm.err != 0) + return; break; } - if (ioparm.err != 0) + /* Return if the user supplied an iostat variable. */ + if (ioparm.iostat != NULL) return; /* Terminate the program */ |