You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// If the block of passing node is an exceptional successor of Block pred, propagate
// store to the exceptionStores. Currently it doesn't track the label of an
It seems to be trying to check if block is an exceptional successor of pred. But the check is wrong, as ((ExceptionBlock) pred).getSuccessor() will get the non-exceptional successor (getExceptionalSuccessors() should be used instead). Reading the surrounding code, I think the impact of this bug is that in many cases, stores will not get propagated at all along exceptional control-flow edges in the backwards analysis. Not sure if there are tests for this.
The text was updated successfully, but these errors were encountered:
I was looking at the following code:
checker-framework/dataflow/src/main/java/org/checkerframework/dataflow/analysis/BackwardAnalysisImpl.java
Lines 256 to 263 in b256527
It seems to be trying to check if
block
is an exceptional successor ofpred
. But the check is wrong, as((ExceptionBlock) pred).getSuccessor()
will get the non-exceptional successor (getExceptionalSuccessors()
should be used instead). Reading the surrounding code, I think the impact of this bug is that in many cases, stores will not get propagated at all along exceptional control-flow edges in the backwards analysis. Not sure if there are tests for this.The text was updated successfully, but these errors were encountered: