LLVM fork for squiid.
https://github.com/llvm/llvm-project/
51fe223916
When the name of a statement function was previously declared, we weren't correctly recognizing it as a statement function. E.g. ``` integer :: f, i f(i) = i + 1 ``` `f` was entered in the symbol table with `EntityDetails` and the `parser::Name` on the first line was resolved to that symbol. On the second line we replaced the symbol for `f` in the scope with a subprogram symbol, but that didn't change the symbol in the first `parser::Name`. The fix requires: 1. don't erase the original symbol for `f`, just replace its details 2. when we erase the symbol for `f` in the subprogram scope, don't unresolve it Original-commit: flang-compiler/f18@31212686ea |
||
---|---|---|
flang |