From a29d746377f70d517929830e18c20d7d5128ceab Mon Sep 17 00:00:00 2001 From: Valentin Clement Date: Thu, 9 Mar 2023 16:05:57 +0100 Subject: [PATCH] [flang] Only apply PointerIsAssociatedWith fix for derived-type Only apply the change made in D145604 for derived-type. zero-sized character for example are supposed to give a false result Reviewed By: PeteSteinfeld Differential Revision: https://reviews.llvm.org/D145675 --- flang/runtime/pointer.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/flang/runtime/pointer.cpp b/flang/runtime/pointer.cpp index a0a11e96..216e8c7 100644 --- a/flang/runtime/pointer.cpp +++ b/flang/runtime/pointer.cpp @@ -206,7 +206,8 @@ bool RTNAME(PointerIsAssociatedWith)( if (!target) { return pointer.raw().base_addr != nullptr; } - if (!target->raw().base_addr) { + if (!target->raw().base_addr || + (target->raw().type != CFI_type_struct && target->ElementBytes() == 0)) { return false; } int rank{pointer.rank()}; -- 2.7.4