diff options
Diffstat (limited to 'flang/lib/Lower/OpenMP/DataSharingProcessor.cpp')
-rw-r--r-- | flang/lib/Lower/OpenMP/DataSharingProcessor.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/flang/lib/Lower/OpenMP/DataSharingProcessor.cpp b/flang/lib/Lower/OpenMP/DataSharingProcessor.cpp index cd31253..9dfdbd8 100644 --- a/flang/lib/Lower/OpenMP/DataSharingProcessor.cpp +++ b/flang/lib/Lower/OpenMP/DataSharingProcessor.cpp @@ -126,7 +126,8 @@ void DataSharingProcessor::cloneSymbol(const semantics::Symbol *sym) { assert(sb); mlir::Value addr = sb.getAddr(); assert(addr); - return hlfir::mayHaveAllocatableComponent(addr.getType()); + return !fir::isPointerType(addr.getType()) && + hlfir::mayHaveAllocatableComponent(addr.getType()); }; if (needInitClone()) { |