This patch adds a new option for the new Flang driver:
-fno-analyzed-objects-for-unparse. The semantics are similar to
-funparse-typed-exprs-to-f18-fc from f18. For consistency, the
latter is replaced with -fno-analyzed-objects-for-unparse.
The new option controls the behaviour of the unparser (i.e. the action
corresponding to -fdebug-unparse). The default behaviour is to use the
analyzed objects when unparsing. The new flag can be used to turn this
off, so that the original parse-tree objects are used. The analyzed
objects are generated during the semantic checks [1].
This patch also updates the semantics of
-fno-analyzed-objects-for-unparse/-funparse-typed-exprs-to-f18-fc
in f18, so that this flag is always taken into account when Unparse
is used (this way the semantics in f18 and flang-new are identical).
The added test file is based on example from Peter Steinfeld.
[1] https://github.com/llvm/llvm-project/blob/main/flang/docs/Semantics.md