LLVM fork for squiid.
https://github.com/llvm/llvm-project/
a29678ddb6
When a derived type is use-associated with a rename, like `use m, only: t2 => t1` we need to record in the `DerivedTypeSpec` both the local-name in this scope and the symbol for the derived type. In most cases we need to work the the type symbol and its `DerivedTypeDetails`, but when writing the type to the module file we need the local-name. The name of the type symbol may be hidden or not use-associated. When analyzing a `parser::Name` we don't want to follow use-associations because we could end up with the wrong name in a `DataRef` (i.e. the use-name rather than the local-name). But that means that `GetNamedConstantValue()` does have to follow them or named constants won't always be folded. Fixes flang-compiler/f18#729. Original-commit: flang-compiler/f18@50d8921c69 Reviewed-on: https://github.com/flang-compiler/f18/pull/740 |
||
---|---|---|
flang |