[flang] Emit portability warning for assigned FORMAT use
authorPeter Klausler <pklausler@nvidia.com>
Mon, 14 Nov 2022 17:42:12 +0000 (09:42 -0800)
committerPeter Klausler <pklausler@nvidia.com>
Sun, 4 Dec 2022 00:29:17 +0000 (16:29 -0800)
Emit a portability warning about usage of a deprecated feature
when an I/O data transfer statement uses a scalar integer
variable as an assigned format.

Differential Revision: https://reviews.llvm.org/D139144

flang/lib/Semantics/check-io.cpp

index ee7eb02..349b34d 100644 (file)
@@ -231,6 +231,9 @@ void IoChecker::Enter(const parser::Format &spec) {
               if (!IsVariable(*expr)) {
                 context_.Say(format.source,
                     "Assigned format label must be a scalar variable"_err_en_US);
+              } else if (context_.ShouldWarn(common::LanguageFeature::Assign)) {
+                context_.Say(format.source,
+                    "Assigned format labels are deprecated"_port_en_US);
               }
               return;
             }