[flang-commits] [flang] [flang][cuda] Relax assumed size check on object with device attribute (PR #89466)
via flang-commits
flang-commits at lists.llvm.org
Fri Apr 19 15:40:14 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-flang-semantics
Author: Valentin Clement (バレンタイン クレメン) (clementval)
<details>
<summary>Changes</summary>
Assumed size arrays are apparently allowed with attribute device.
---
Full diff: https://github.com/llvm/llvm-project/pull/89466.diff
2 Files Affected:
- (modified) flang/lib/Semantics/check-declarations.cpp (-5)
- (modified) flang/test/Semantics/cuf03.cuf (+1-2)
``````````diff
diff --git a/flang/lib/Semantics/check-declarations.cpp b/flang/lib/Semantics/check-declarations.cpp
index 875929e90fdd31..c11617599b1986 100644
--- a/flang/lib/Semantics/check-declarations.cpp
+++ b/flang/lib/Semantics/check-declarations.cpp
@@ -948,11 +948,6 @@ void CheckHelper::CheckObjectEntity(
"Component '%s' with ATTRIBUTES(DEVICE) must also be allocatable"_err_en_US,
symbol.name());
}
- if (IsAssumedSizeArray(symbol)) {
- messages_.Say(
- "Object '%s' with ATTRIBUTES(DEVICE) may not be assumed size"_err_en_US,
- symbol.name());
- }
break;
case common::CUDADataAttr::Managed:
if (!IsAutomatic(symbol) && !IsAllocatable(symbol) &&
diff --git a/flang/test/Semantics/cuf03.cuf b/flang/test/Semantics/cuf03.cuf
index 8decb8dcaa0f47..b6f9b80586a8f4 100644
--- a/flang/test/Semantics/cuf03.cuf
+++ b/flang/test/Semantics/cuf03.cuf
@@ -60,8 +60,7 @@ module m
contains
attributes(device) subroutine devsubr(n,da)
integer, intent(in) :: n
- !ERROR: Object 'da' with ATTRIBUTES(DEVICE) may not be assumed size
- real, device :: da(*)
+ real, device :: da(*) ! ok
real, managed :: ma(n) ! ok
!WARNING: Pointer 'dp' may not be associated in a device subprogram
real, device, pointer :: dp
``````````
</details>
https://github.com/llvm/llvm-project/pull/89466
More information about the flang-commits
mailing list