[PATCH] D102280: [analyzer] Engine: fix crash with SEH __leave keyword
Balázs Benics via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri May 14 03:38:02 PDT 2021
steakhal added a comment.
Do you have any good (mature, big enough) open-source projects for these msvc constructs?
================
Comment at: clang/lib/StaticAnalyzer/Core/CoreEngine.cpp:352
+ case Stmt::SEHLeaveStmtClass:
case Stmt::ContinueStmtClass:
----------------
AbbasSabra wrote:
> steakhal wrote:
> > You should probably extend the `ExprEngine.cpp:1312` in a similar fashion.
> isn't it already handled in !!ExprEngine.cpp:1239!!?
Good point.
At the other switch it states, that this leave statement is unsupported. I guess it will stay unsupported for a while because we don't model exceptions at all. Treat my previous comment as resolved.
================
Comment at: clang/test/Analysis/misc-ms-leave.cpp:9
+ __leave; // no-crash
+ } __except (filter()) {
+ }
----------------
I'm curious to see if any statement after the `__leave` is executed. Could you place another warnIfReached there too?
Also, this file could contain all the ms try except constructs. That we might plan to support in the future.
So, a more generic file name would be more future-proof I guess.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D102280/new/
https://reviews.llvm.org/D102280
More information about the cfe-commits
mailing list