diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2020-05-23 19:01:43 +0200 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2020-05-23 19:01:43 +0200 |
commit | 8df7ee67f6fdc780e9453f2baa8d1bf62c000761 (patch) | |
tree | 015a612d02b3a3e1cfc3b9ee97c08d8643d8e5a8 /gcc/fortran | |
parent | 584d52b088f9fcf78704b504c3f1f07e17c1cded (diff) | |
download | gcc-8df7ee67f6fdc780e9453f2baa8d1bf62c000761.zip gcc-8df7ee67f6fdc780e9453f2baa8d1bf62c000761.tar.gz gcc-8df7ee67f6fdc780e9453f2baa8d1bf62c000761.tar.bz2 |
Fixes a hang on an invalid ID in a WAIT statement.
gcc/fortran/ChangeLog:
2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/95191
* libgfortran.h (libgfortran_error_codes): Add
LIBERROR_BAD_WAIT_ID.
libgfortran/ChangeLog:
2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/95191
* io/async.c (async_wait_id): Generate error if ID is higher
than the highest current ID.
* runtime/error.c (translate_error): Handle LIBERROR_BAD_WAIT_ID.
libgomp/ChangeLog:
2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/95191
* testsuite/libgomp.fortran/async_io_9.f90: New test.
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/libgfortran.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index fb0e47c..55d5dae 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org> + + PR libfortran/95191 + * libgfortran.h (libgfortran_error_codes): Add + LIBERROR_BAD_WAIT_ID. + 2020-05-20 Mark Eggleston <markeggleston@gcc.gnu.org> PR fortran/39695 diff --git a/gcc/fortran/libgfortran.h b/gcc/fortran/libgfortran.h index d097caa..6a9139c 100644 --- a/gcc/fortran/libgfortran.h +++ b/gcc/fortran/libgfortran.h @@ -124,6 +124,7 @@ typedef enum LIBERROR_SHORT_RECORD, LIBERROR_CORRUPT_FILE, LIBERROR_INQUIRE_INTERNAL_UNIT, /* Must be different from STAT_STOPPED_IMAGE. */ + LIBERROR_BAD_WAIT_ID, LIBERROR_LAST /* Not a real error, the last error # + 1. */ } libgfortran_error_codes; |