[flang][driver] Add options for unparsing
This patch adds the following compiler frontend driver options:
- -fdebug-unparse (f18 spelling: -funparse)
- -fdebug-unparse-with-symbols (f18 spelling: -funparse-with-symbols)
The new driver will only accept the new spelling. f18 will accept both
the original and the new spelling.
A new base class for frontend actions is added: PrescanAndSemaAction.
This is added to reduce code duplication that otherwise these new
options would lead to. Implementation from
is moved to:
This implementation is now shared between:
All tests that don't require other yet unimplemented options are
updated. This way flang-new -fc1 is used instead of f18 when
FLANG_BUILD_NEW_DRIVER is set to On. In order to facilitate this,
%flang_fc1 is added in the LIT configuration (lit.cfg.py).
asFortran from f18.cpp is duplicated as getBasicAsFortran in
FrontendOptions.cpp. At this stage it's hard to find a good place to
share this method. I suggest that we revisit this once a switch from
f18 to flang-new is complete.
Differential Revision: https://reviews.llvm.org/D96483