[all-commits] [llvm/llvm-project] d1e4a2: [flang] Fix spurious error with separate module pr...
Peter Klausler via All-commits
all-commits at lists.llvm.org
Wed Sep 4 10:55:08 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: d1e4a2d300f7c0c6b681ddf719132c81d348aaab
https://github.com/llvm/llvm-project/commit/d1e4a2d300f7c0c6b681ddf719132c81d348aaab
Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
Date: 2024-09-04 (Wed, 04 Sep 2024)
Changed paths:
M flang/include/flang/Semantics/expression.h
M flang/include/flang/Semantics/semantics.h
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/semantics.cpp
A flang/test/Semantics/smp-proc-ref.f90
Log Message:
-----------
[flang] Fix spurious error with separate module procedures (#106768)
When the implementation of one SMP apparently references another in what
might be a specification expression, semantics may need to resolve it as
a forward reference, and to allow for the replacement of a
SubprogramNameDetails place-holding symbol with the final
SubprogramDetails symbol. Otherwise, as in the bug report below,
confusing error messages may result.
(The reference in question isn't really in the specification part of a
subprogram, but due to the syntactic ambiguity between the array element
assignment statement and a statement function definition, it appears to
be so at the time that the reference is processed.)
I needed to make DumpSymbols() available via SemanticsContext to analyze
this bug, and left that new API in place to make things easier next
time.
Fixes https://github.com/llvm/llvm-project/issues/106705.
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