Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Please, add these reviewers for your upcoming [analyzer] patches.
Inline a couple of nits.
Nice to see some fixes for visual c++ stuff.
clang/lib/StaticAnalyzer/Core/CoreEngine.cpp | ||
---|---|---|
352 | You should probably extend the ExprEngine.cpp:1312 in a similar fashion. | |
clang/test/Analysis/misc-ms-leave.cpp | ||
13 | If it crashed previously at this statement, please put there a // no-crash comment. | |
17 | I guess you could simply use the clang_analyzer_warnIfReached() here. |
Please, add these reviewers for your upcoming [analyzer] patches.
Thanks, I was planning to add reviewers after making sure that the pre-checks are green.
Nice to see some fixes for visual c++ stuff.
Thanks for the quick review!
clang/lib/StaticAnalyzer/Core/CoreEngine.cpp | ||
---|---|---|
352 | isn't it already handled in ExprEngine.cpp:1239? |
Do you have any good (mature, big enough) open-source projects for these msvc constructs?
clang/lib/StaticAnalyzer/Core/CoreEngine.cpp | ||
---|---|---|
352 | Good point. | |
clang/test/Analysis/misc-ms-leave.cpp | ||
9 | 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. |
Updating D102280: [analyzer] rename test file + make sure that statements after "__leave" are not reached
https://github.com/microsoft/winfile and https://github.com/chakra-core/ChakraCore seem to be using SEH but not heavily.
Well, and how can I build them on Linux xD
I tried mingw64, but failed :D
How do you use clang exactly?
Well, and how can I build them on Linux xD
Ah, I don't think they are meant to be built on Linux :D Especially if they rely on Window specific features like SEH. If they do they will disable these features on Linux build.
How do you use clang exactly?
I work on the C++ static analyzer at sonarsource and we use Clang front-end. We rely on CSA for some of our rules. So for these projects, we build them on windows. We extract the compilation command from the windows build and we map them to an equivalent clang command before running the analysis.
Is it a requirement for you to build them on Linux? Maybe you can try to build them on windows with clang-cl?
It is a hard requirement. I'm gonna think more about this in the far future I guess. Thanks for the insight though.
You should probably extend the ExprEngine.cpp:1312 in a similar fashion.