[all-commits] [llvm/llvm-project] 23483d: [flang][Semantics] Break recursion on illegal recu...
Eugene Epshteyn via All-commits
all-commits at lists.llvm.org
Fri May 1 09:00:09 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 23483d4944e45c4359f22f9629ca88869fa612d0
https://github.com/llvm/llvm-project/commit/23483d4944e45c4359f22f9629ca88869fa612d0
Author: Eugene Epshteyn <eepshteyn at nvidia.com>
Date: 2026-05-01 (Fri, 01 May 2026)
Changed paths:
M flang/lib/Semantics/check-io.cpp
M flang/test/Semantics/io12.f90
Log Message:
-----------
[flang][Semantics] Break recursion on illegal recursive type in I/O check (#194284)
When an illegal recursive derived type (a non-POINTER/non-ALLOCATABLE
component whose type is the enclosing type itself, prohibited by F2023
C749) is used in an I/O list, the component-walking helpers
FindUnsafeIoDirectComponent() and FindInaccessibleComponent() recursed
through it forever and blew the stack.
The fix involves tracking the derived types currently on the recursion
path in a VisitedSymbolSet to detect loops.
Fixes #192387
Assisted-by: AI
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list