[clang] [Clang/AMDGPU] Zero sized arrays not allowed in HIP device code. (PR #113470)
Eli Friedman via cfe-commits
cfe-commits at lists.llvm.org
Wed Oct 30 16:59:16 PDT 2024
================
@@ -8714,6 +8714,21 @@ void Sema::CheckVariableDeclarationType(VarDecl *NewVD) {
}
}
+ // zero sized static arrays are not allowed in HIP device functions
+ if (LangOpts.CUDAIsDevice && LangOpts.HIP) {
+ if (FunctionDecl *FD = getCurFunctionDecl();
+ FD &&
+ (FD->hasAttr<CUDADeviceAttr>() || FD->hasAttr<CUDAGlobalAttr>())) {
+ if (QualType NextTy = NewVD->getType(); NextTy->isArrayType()) {
+ if (const ConstantArrayType *ArrayT =
+ getASTContext().getAsConstantArrayType(NextTy);
----------------
efriedma-quic wrote:
```suggestion
if (const ConstantArrayType *ArrayT =
getASTContext().getAsConstantArrayType(T);
```
https://github.com/llvm/llvm-project/pull/113470
More information about the cfe-commits
mailing list