[flang] Handle SAVE attribute and statement
As with COMMON blocks, we can't completely check SAVE statements and attributes until the end of the specification part when we have seen full declarations of entities. So when SAVE is specified, add it to one of the two sets in `saveInfo_`. At the end of the specification part, check that those entities can have SAVE applied and set it if it is not already implicitly set (e.g. due to being in a module). Also apply the "global" SAVE if present (i.e. setting it on every applicable entity). Add `IsDummy()` and `IsFuncResult()` to `Symbol` to simplify some of the checks. Also detect attempts to put a function result in a common block. Original-commit: flang-compiler/f18@af19c02baca371ffff13722fa17792a1f26e7bcd Reviewed-on: https://github.com/flang-compiler/f18/pull/298
Loading
Please sign in to comment