Because throws produce sinks during symbolic execution, we need to treat them as noreturn during our suppress-on-sink analysis as well. This would get a lot less conservative when CFG actually supports exceptions.
Details
Details
Diff Detail
Diff Detail
Event Timeline
Comment Actions
One minor nit, otherwise looks good to me.
lib/StaticAnalyzer/Core/BugReporter.cpp | ||
---|---|---|
3350 | For temporary solutions like this, I prefer to have a FIXME string in the comment. In general, I think it is good to be able to keep track of future tasks by grepping for FIXMEs in the code of the analyzer. |
Comment Actions
Do we have a radar for this? It sounds familiar.
cfe/trunk/lib/StaticAnalyzer/Core/BugReporter.cpp | ||
---|---|---|
3313 ↗ | (On Diff #108029) | Maybe a better name for this would be "treatAsSink"? This way people won't use it as short-hand for whether the block has a no-return element. |
For temporary solutions like this, I prefer to have a FIXME string in the comment. In general, I think it is good to be able to keep track of future tasks by grepping for FIXMEs in the code of the analyzer.