[PATCH] D150352: [clang][dataflow] Don't analyze templated declarations.
Martin Böhme via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon May 15 00:50:03 PDT 2023
mboehme added inline comments.
================
Comment at: clang/unittests/Analysis/FlowSensitive/TransferTest.cpp:2537
-TEST(TransferTest, DerefDependentPtr) {
std::string Code = R"(
----------------
mboehme wrote:
> gribozavr2 wrote:
> > This `DerefDependentPtr` test was originally added in https://reviews.llvm.org/D117567 and re-landed in https://github.com/llvm/llvm-project/commit/acd4b0359097dd8ad166d569a4566879e82a2793
> >
> > Could you try to revert the effects of those commits? Specifically:
> >
> > - remove reference skipping from the transfer function for `UO_Deref` (and the comment),
> >
> > - remove the `-fno-delayed-template-parsing` flag from `clang/unittests/Analysis/FlowSensitive/TransferTest.cpp`.
> Thanks for pointing this out! Done.
> - remove the `-fno-delayed-template-parsing` flag from `clang/unittests/Analysis/FlowSensitive/TransferTest.cpp`.
I've re-added this because removing it causes tests to fail on Windows.
`-fnodelayed-template-parsing` is the default everywhere except on Windows, so setting it explicitly makes tests on Windows behave the same as on other platforms. I've added a comment explaining this.
The reason that `-fnodelayed-template-parsing` was causing the tests to fail is that `checkDataflow()` only looks as function declarations that have a body, and late-parsed templated functions don't have bodies.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D150352/new/
https://reviews.llvm.org/D150352
More information about the cfe-commits
mailing list