]> git.ipfire.org Git - thirdparty/gcc.git/commit
Fix compile failure on systems not supporting gthreads.
authorThomas Koenig <tkoenig@gcc.gnu.org>
Thu, 8 Jan 2026 20:35:27 +0000 (21:35 +0100)
committerThomas Koenig <tkoenig@gcc.gnu.org>
Thu, 8 Jan 2026 20:40:24 +0000 (21:40 +0100)
commitd5964a270de33349ff137b1835046e65ec81fa1e
tree9664646334a222df9132be851c1ca54e7b7fecff
parent25c8599ad467f73953a6c4b838b1122c4803b1a1
Fix compile failure on systems not supporting gthreads.

I just realized that it is possible to run a check by #undef - ing
 __GTHREADS_CXX0X in async.h.  Doing so promptly found another syntax
 error, which this version of the patch fixes.

PR libfortran/123446
PR libfortran/119136

libgfortran/ChangeLog:

* 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.
libgfortran/io/async.h
libgfortran/io/io.h
libgfortran/io/unit.c