[clang] Diagnose misuse of the cleanup attribute (PR #80040)
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Wed Feb 7 06:33:44 PST 2024
================
@@ -3780,6 +3780,30 @@ static void handleCleanupAttr(Sema &S, Decl *D, const ParsedAttr &AL) {
<< NI.getName() << ParamTy << Ty;
return;
}
+ VarDecl *VD = cast<VarDecl>(D);
+ // Create a reference to the variable declaration. This is a fake/dummy
+ // reference.
+ DeclRefExpr *VariableReference = DeclRefExpr::Create(
+ S.Context, NestedNameSpecifierLoc{}, SourceLocation{Loc}, VD, false,
----------------
erichkeane wrote:
Also note, Loc is the location of the attribute itself, and is probably not what you want to make the location here. I would THINK we want the diagnostic to point to the function instead... WDYT?
https://github.com/llvm/llvm-project/pull/80040
More information about the cfe-commits
mailing list