2026-01-13 Jerry DeLisle PR libfortran/123012 * io/list_read.c (read_character): Add new check after get_string and provide better comments. 2026-01-11 Jerry DeLisle PR libfortran/123012 * io/list_read.c (read_character): Add new check when no quate is provided and the character string is digits only. 2026-01-09 Thomas Koenig * io/io.h: Change type of self to intptr_t. * io/async.h (LOCK_UNIT): Cast __gthread_self () to intptr_t. (TRYLOCK_UNIT): Likewise. (OWN_THREAD_ID): Likewise. 2026-01-08 Thomas Koenig * io/async.h: DEBUG_ASYNC needs gtreads support. (LOCK_UNIT): Only lock when there is pthreads support and it is active. Otherwise, just set unit->self to 1. (UNLOCK_UNIT): Only unlock when there is pthreads support and it is active. Otherwise, just set unit->self to 0. (TRYLOCK_UNIT): Only try locking when thee is pthreads support and it is active. Otherwise, return unit->self. (OWN_THREAD_ID): New macro. * io/io.h: gfc_unit's self is an int when there is no gthreads support. * io/unit.c (check_for_recursive): Check for equality of unit which locked to OWN_THREAD_ID. 2026-01-06 Thomas Koenig * io/async.h (UNLOCK_UNIT): New macro. (TRYLOCK_UNIT): New macro. (LOCK_UNIT): New macro. * io/io.h: Delete prototype for unused stash_internal_unit. (check_for_recursive): Add prototype for this new function. * io/transfer.c (data_transfer_init): Add call to new check_for_recursive. * io/unit.c (delete_unit): Fix comment. (check_for_recursive): Add new function. (init_units): Use new macros. (close_unit_1): Likewise. (unlock_unit): Likewise. * io/unix.c (flush_all_units_1): Likewise. (flush_all_units): Likewise. * runtime/error.c (translate_error): : Add translation for "Recursive I/O not allowed runtime error message. 2026-01-03 Jerry DeLisle Revert: 2026-01-03 Jerry DeLisle PR libfortran/119136 * io/io.h: Delete prototype for unused stash_internal_unit. (check_for_recursive): Add prototype for this new function. * io/transfer.c (data_transfer_init): Add call to new check_for_recursive. * io/unit.c (delete_unit): Fix comment. (check_for_recursive): Add new function. * runtime/error.c (translate_error): Add translation for "Recursive I/O not allowed runtime error message. 2026-01-01 Jerry DeLisle PR libfortran/119136 * io/io.h: Delete prototype for unused stash_internal_unit. (check_for_recursive): Add prototype for this new function. * io/transfer.c (data_transfer_init): Add call to new check_for_recursive. * io/unit.c (delete_unit): Fix comment. (check_for_recursive): Add new function. * runtime/error.c (translate_error): Add translation for "Recursive I/O not allowed runtime error message. Copyright (C) 2026 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.