[flang-commits] [flang] Fix #222168: reject DATA-style initializer on EXTERNAL/INTRINSIC (PR #222256)

Adarsh Mishra via flang-commits flang-commits at lists.llvm.org
Tue Sep 22 07:28:38 PDT 2026


================
@@ -266,7 +266,13 @@ void DataChecker::Leave(const parser::EntityDecl &decl) {
         std::get_if<std::list<common::Indirection<parser::DataStmtValue>>>(
             &init->u)};
     if (name && list && !exprAnalyzer_.context().HasError(*name)) {
-      AccumulateDataInitializations(inits_, exprAnalyzer_, *name, *list);
+      if (IsProcedure(*name) && !IsProcedurePointer(*name)) {
----------------
Adarsh-Me wrote:

Applied verbatim in 5c3d2c83c, so the guard now records both halves of the reasoning: a procedure name is not a data-stmt-object under F2023 C880 / R842, and procedure pointer initialization stays on the existing path as the extension in 8.6.7.

https://github.com/llvm/llvm-project/pull/222256


More information about the flang-commits mailing list