================
@@ -468,15 +505,49 @@ void DataSharingProcessor::doPrivatize(const 
semantics::Symbol *sym,
   lower::SymbolBox hsb = converter.lookupOneLevelUpSymbol(*sym);
   assert(hsb && "Host symbol box not found");
 
-  mlir::Type symType = hsb.getAddr().getType();
+  mlir::Value privVal = hsb.getAddr();
+  mlir::Type allocType;
+  if (mlir::isa<fir::PointerType>(privVal.getType()))
+    allocType = privVal.getType();
+  else
+    allocType = fir::unwrapRefType(privVal.getType());
----------------
ergawy wrote:

Just a bit easier to read.
```suggestion
  mlir::Type allocType = privVal.getType();
  if (!mlir::isa<fir::PointerType>(allocType))
    allocType = fir::unwrapRefType(allocType);
```

https://github.com/llvm/llvm-project/pull/124019
_______________________________________________
llvm-branch-commits mailing list
llvm-branch-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits

Reply via email to