diff --git a/flang/tools/f18/f18.cpp b/flang/tools/f18/f18.cpp --- a/flang/tools/f18/f18.cpp +++ b/flang/tools/f18/f18.cpp @@ -639,21 +639,26 @@ if (driver.warnOnNonstandardUsage) { options.features.WarnOnAllNonstandard(); } - if (options.features.IsEnabled(Fortran::common::LanguageFeature::OpenMP)) { - driver.pgf90Args.push_back("-mp"); - } if (isPGF90) { if (!options.features.IsEnabled( Fortran::common::LanguageFeature::BackslashEscapes)) { driver.pgf90Args.push_back( "-Mbackslash"); // yes, this *disables* them in pgf90 } + if (options.features.IsEnabled(Fortran::common::LanguageFeature::OpenMP)) { + driver.pgf90Args.push_back("-mp"); + } + Fortran::parser::useHexadecimalEscapeSequences = false; } else { if (options.features.IsEnabled( Fortran::common::LanguageFeature::BackslashEscapes)) { driver.pgf90Args.push_back("-fbackslash"); } + if (options.features.IsEnabled(Fortran::common::LanguageFeature::OpenMP)) { + driver.pgf90Args.push_back("-fopenmp"); + } + Fortran::parser::useHexadecimalEscapeSequences = true; }