bool debugResolveNames{false};
bool debugSemantics{false};
bool measureTree{false};
+ bool unparseTypedExprsToPGF90{false};
std::vector<std::string> pgf90Args;
const char *prefix{nullptr};
};
Unparse(tmpSource, parseTree, driver.encoding, true /*capitalize*/,
options.features.IsEnabled(
Fortran::parser::LanguageFeature::BackslashEscapes),
- nullptr /* action before each statement */, &unparseExpression);
+ nullptr /* action before each statement */,
+ driver.unparseTypedExprsToPGF90 ? &unparseExpression : nullptr);
Fortran::evaluate::formatForPGF90 = false;
}
driver.dumpUnparse = true;
} else if (arg == "-funparse-with-symbols") {
driver.dumpUnparseWithSymbols = true;
+ } else if (arg == "-funparse-typed-exprs-to-pgf90") {
+ driver.unparseTypedExprsToPGF90 = true;
} else if (arg == "-fparse-only") {
driver.parseOnly = true;
} else if (arg == "-c") {