Fixes a hang on an invalid ID in a WAIT statement.
authorThomas Koenig <tkoenig@gcc.gnu.org>
Sat, 23 May 2020 17:01:43 +0000 (19:01 +0200)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Sat, 23 May 2020 17:01:43 +0000 (19:01 +0200)
commit8df7ee67f6fdc780e9453f2baa8d1bf62c000761
tree015a612d02b3a3e1cfc3b9ee97c08d8643d8e5a8
parent584d52b088f9fcf78704b504c3f1f07e17c1cded
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.
gcc/fortran/ChangeLog
gcc/fortran/libgfortran.h
libgfortran/ChangeLog
libgfortran/io/async.c
libgfortran/runtime/error.c
libgomp/ChangeLog
libgomp/testsuite/libgomp.fortran/async_io_9.f90 [new file with mode: 0644]