[flang-commits] [flang] [Flang][OpenMP] Fix DEFAULT(NONE) check for Cray pointers in nested OpenMP directives (PR #190764)

Urvi Rav via flang-commits flang-commits at lists.llvm.org
Sun Apr 12 23:25:00 PDT 2026


================
@@ -2773,27 +2777,34 @@ void OmpAttributeVisitor::CreateImplicitSymbols(
     LLVM_DEBUG(llvm::dbgs()
         << "HasStaticStorageDuration(" << symbol->name() << "):\n");
 
-    if ((checkDefaultNone = checkDefaultNone |
-                (dsa.none() &&
-                    dirContext.defaultDSA == Symbol::Flag::OmpNone))) {
+    const Symbol *crayPtr = nullptr;
+    Symbol::Flags crayPtrDSA;
+    if (symbol->GetUltimate().test(Symbol::Flag::CrayPointee)) {
+      std::string crayPtrName{
+          semantics::GetCrayPointer(*symbol).name().ToString()};
+      crayPtr = currScope().FindSymbol(crayPtrName);
+      initSymbolDSA(crayPtr, crayPtrDSA);
----------------
ravurvi20 wrote:

Yes, this will crash if `FindSymbol` returns null. I have updated the logic.

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


More information about the flang-commits mailing list