================ @@ -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) { ---------------- efriedma-quic wrote:
I'm not sure you're diagnosing this in the right place; BuildArrayType gets called at the point we parse the type, not the variable, so you can easily avoid the diagnostic using something like the following: ``` typedef float floatarr[0]; __global__ void global_fun() { floatarr array; } ``` https://github.com/llvm/llvm-project/pull/113470 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits