[PATCH] D82425: [SemaCXX] Fix false positive of -Wuninitialized-const-reference in empty function body.
Zequan Wu via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sun Jul 5 12:47:58 PDT 2020
zequanwu marked an inline comment as done.
zequanwu added inline comments.
================
Comment at: clang/lib/Analysis/UninitializedValues.cpp:435
if ((*I)->getType().isConstQualified())
- classify((*I), ConstRefUse);
+ if (!hasTrivialBody(CE))
+ classify((*I), ConstRefUse);
----------------
nick wrote:
> zequanwu wrote:
> > aaron.ballman wrote:
> > > This can be hoisted out of the loop so that we don't have to check the same thing on every argument.
> > The `DeclRefExpr` needs to be set to `Ignore` like `VisitCastExpr` does. Otherwise, it maybe classified to `Init` by `isTrackedVar` in `ClassifyRefs::get`.
> Could not the empty body check be done in `reportConstRefUse`, after `isUninitialized`?
No, `reportConstRefUse` doesn't know if the called function has trivial body or not.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D82425/new/
https://reviews.llvm.org/D82425
More information about the cfe-commits
mailing list