[flang] Pass -Mnobackslash to pgf90 unless f18 -fbackslash is used.
authorpeter klausler <pklausler@nvidia.com>
Thu, 19 Jul 2018 22:50:39 +0000 (15:50 -0700)
committerpeter klausler <pklausler@nvidia.com>
Thu, 19 Jul 2018 22:50:39 +0000 (15:50 -0700)
Original-commit: flang-compiler/f18@df5058ff976dc7c5b8e0450a13a9ac345cd098d1
Reviewed-on: https://github.com/flang-compiler/f18/pull/133

flang/tools/f18/f18.cc

index 9cd2afc..7a4eb45 100644 (file)
@@ -349,7 +349,6 @@ int main(int argc, char *const argv[]) {
     } else if (arg == "-Mbackslash") {
       options.features.Enable(
           Fortran::parser::LanguageFeature::BackslashEscapes, false);
-      driver.pgf90Args.push_back(arg);
     } else if (arg == "-Mnobackslash") {
       options.features.Enable(
           Fortran::parser::LanguageFeature::BackslashEscapes);
@@ -369,7 +368,6 @@ int main(int argc, char *const argv[]) {
     } else if (arg == "-fno-backslash") {
       options.features.Enable(
           Fortran::parser::LanguageFeature::BackslashEscapes, false);
-      driver.pgf90Args.push_back("-Mbackslash");
     } else if (arg == "-fdebug-dump-provenance") {
       driver.dumpProvenance = true;
     } else if (arg == "-fdebug-dump-parse-tree") {
@@ -453,6 +451,9 @@ int main(int argc, char *const argv[]) {
   if (options.isStrictlyStandard) {
     options.features.WarnOnAllNonstandard();
   }
+  if (!options.features.IsEnabled(Fortran::parser::LanguageFeature::BackslashEscapes)) {
+    driver.pgf90Args.push_back("-Mbackslash");
+  }
 
   if (!anyFiles) {
     driver.measureTree = true;