[PATCH] D147037: [Clang][ICE] Corrected invalid invalid parameter index on some attributes with invalid indices applied to varargs functions
Erich Keane via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Mar 28 12:51:26 PDT 2023
erichkeane added inline comments.
================
Comment at: clang/lib/Sema/SemaDeclAttr.cpp:3764-3767
if (!checkFunctionOrMethodParameterIndex(S, D, AL, 1, IdxExpr, Idx))
return;
-
+ if (Idx.getASTIndex() >= getFunctionOrMethodNumParams(D))
+ return;
----------------
aaron.ballman wrote:
> Did you look into fixing this within `checkFunctionOrMethodParameterIndex()` instead? That way, all callers of the API get the correct behavior instead of having to find individual attributes to check the logic (I believe there are other attributes with the same underlying problem).
I would also expect any such issue to diagnose. Also, isn't there an off-by-one error here in the case of variadic args?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D147037/new/
https://reviews.llvm.org/D147037
More information about the cfe-commits
mailing list