================
@@ -2259,6 +2259,17 @@ QualType Sema::BuildArrayType(QualType T,
ArraySizeModifier ASM,
isSFINAEContext() ? diag::err_typecheck_zero_array_size
: diag::ext_typecheck_zero_array_size)
<< 0 << ArraySize->getSourceRange();
+
+ // zero sized static arrays are not allowed in HIP device functions
+ if (LangOpts.HIP && LangOpts.CUDAIsDevice) {
+ auto *FD = dyn_cast_or_null<FunctionDecl>(CurContext);
+ if (FD && (FD->hasAttr<CUDADeviceAttr>() ||
+ FD->hasAttr<CUDAGlobalAttr>())) {
----------------
tbaederr wrote:
```suggestion
if (const auto FD = dyn_cast_if_present(...);FD &&
(FD->hasAttr<CUDADeviceAttr>() ||
FD->hasAttr<CUDAGlobalAttr>())) {
```
https://github.com/llvm/llvm-project/pull/113470
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits