diff options
author | Valentin Clement (バレンタイン クレメン) <clementval@gmail.com> | 2024-04-19 15:55:24 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-19 15:55:24 -0700 |
commit | c69efcd54879835085cf03a09e1eec28dc80e1d3 (patch) | |
tree | 29d74ab260f8d632ab19eb767a3df8ee4700a625 | |
parent | f433c3b38005701fdc219ae8c01e6af1b8bedba9 (diff) | |
download | llvm-c69efcd54879835085cf03a09e1eec28dc80e1d3.zip llvm-c69efcd54879835085cf03a09e1eec28dc80e1d3.tar.gz llvm-c69efcd54879835085cf03a09e1eec28dc80e1d3.tar.bz2 |
[flang][cuda] Relax assumed size check on object with device attribute (#89466)
Assumed size arrays are apparently allowed with attribute device.
-rw-r--r-- | flang/lib/Semantics/check-declarations.cpp | 5 | ||||
-rw-r--r-- | flang/test/Semantics/cuf03.cuf | 3 |
2 files changed, 1 insertions, 7 deletions
diff --git a/flang/lib/Semantics/check-declarations.cpp b/flang/lib/Semantics/check-declarations.cpp index adbd21d..6fcee96 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 020a172..472d53d 100644 --- a/flang/test/Semantics/cuf03.cuf +++ b/flang/test/Semantics/cuf03.cuf @@ -57,8 +57,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 |