Landing: d84a302d4f0a

Project / Subsystem

gcc / fortran

Date

2026-06-06

Author

Jerry DeLisle

Commit

d84a302d4f0a440aa602f9688d339532a21c81a1

Source

github

Perf win

No

Breaking

No

All attributes

project
gcc
subsystem
fortran
patch_id
commit_hash
d84a302d4f0a440aa602f9688d339532a21c81a1
source_type
github
headline
Fortran: Fixes wrong code in DO CONCURRENT with ASSOCIATE blocks
tldr
GCC's Fortran compiler fixes a code generation error in DO CONCURRENT constructs that involve ASSOCIATE blocks and inline type-spec iterators.
author
Jerry DeLisle
outcome
committed
performance_win
false
breaking_change
false
series_id
series_parts
[]
tags
  • fortran
  • bugfix
  • parallel-programming
  • code-generation
discussion_id_link
bugzilla_pr
date
2026-06-06T00:00:00.000Z

This commit resolves a code generation bug in GCC’s Fortran compiler where DO CONCURRENT constructs containing ASSOCIATE blocks referencing inline type-spec iterators would produce incorrect code. The replace_in_code_recursive function previously lacked a case for EXEC_BLOCK (associate constructs), causing it to silently skip over both the ASSOCIATE selector expressions and its body during iterator replacements. The fix adds handling for EXEC_BLOCK, ensuring proper iteration over selector expressions and correct recursion into the body’s namespace to replace shadow iterator references.