aboutsummaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorPaul Brook <paul@codesourcery.com>2004-08-31 23:43:21 +0000
committerPaul Brook <pbrook@gcc.gnu.org>2004-08-31 23:43:21 +0000
commit244fada7d093f23e27bbb8af97d99bb9a876e9b0 (patch)
treeac565ec762faca9922dc3c698e1b3b01925bef82 /libgfortran
parenta0ca8e0c48cbda3a4f82d32b0d6659f0f82085e9 (diff)
downloadgcc-244fada7d093f23e27bbb8af97d99bb9a876e9b0.zip
gcc-244fada7d093f23e27bbb8af97d99bb9a876e9b0.tar.gz
gcc-244fada7d093f23e27bbb8af97d99bb9a876e9b0.tar.bz2
error.c (generate_error): Set both iostat and library_return.
* runtime/error.c (generate_error): Set both iostat and library_return. testsuite/ * gfortran.dg/eof_2.f90: New test. From-SVN: r86852
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/ChangeLog5
-rw-r--r--libgfortran/runtime/error.c13
2 files changed, 12 insertions, 6 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 50ad7a6..891c74e 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,8 @@
+2004-09-01 Paul Brook <paul@codesourcery.com>
+
+ * runtime/error.c (generate_error): Set both iostat and
+ library_return.
+
2004-08-31 Paul Brook <paul@codesourcery.com>
PR libfortran/16805
diff --git a/libgfortran/runtime/error.c b/libgfortran/runtime/error.c
index 74670b5..5eb5b0b 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 */