Undefined identifier causes NPE
The following program causes the following exception with --smg-ldv
, but not with --default
. The problem is a
under switch.
int main()
{
switch (a) {
case 0:
}
return 0;
}
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "org.sosy_lab.cpachecker.cfa.ast.c.CSimpleDeclaration.getQualifiedName()" because the return value of "org.sosy_lab.cpachecker.cfa.ast.c.CIdExpression.getDeclaration()" is null
at org.sosy_lab.cpachecker.util.variableclassification.VariablesCollectingVisitor.visit(VariablesCollectingVisitor.java:132)
at org.sosy_lab.cpachecker.util.variableclassification.VariablesCollectingVisitor.visit(VariablesCollectingVisitor.java:1)
at org.sosy_lab.cpachecker.cfa.ast.c.CIdExpression.accept(CIdExpression.java:49)
at org.sosy_lab.cpachecker.util.variableclassification.VariablesCollectingVisitor.visit(VariablesCollectingVisitor.java:67)
at org.sosy_lab.cpachecker.util.variableclassification.VariablesCollectingVisitor.visit(VariablesCollectingVisitor.java:1)
at org.sosy_lab.cpachecker.cfa.ast.c.CBinaryExpression.accept(CBinaryExpression.java:43)
at org.sosy_lab.cpachecker.util.variableclassification.VariableClassificationBuilder.handleEdge(VariableClassificationBuilder.java:478)
at org.sosy_lab.cpachecker.util.variableclassification.VariableClassificationBuilder.collectVars(VariableClassificationBuilder.java:411)
at org.sosy_lab.cpachecker.util.variableclassification.VariableClassificationBuilder.build(VariableClassificationBuilder.java:183)
at org.sosy_lab.cpachecker.cfa.CFACreator.createCFA(CFACreator.java:638)
at org.sosy_lab.cpachecker.cfa.CFACreator.parseFileAndCreateCFA(CFACreator.java:507)
at org.sosy_lab.cpachecker.core.CPAchecker.parse(CPAchecker.java:432)
at org.sosy_lab.cpachecker.core.CPAchecker.run(CPAchecker.java:306)
at org.sosy_lab.cpachecker.cmdline.CPAMain.main(CPAMain.java:172)
Expected behavior:
Undefined identifier a found, first referenced in line 11 (CheckBindingVisitor.visit, WARNING)
Error: Parsing failed (Invalid C code because of undefined identifiers mentioned above.) (CFABuilder.createCFA, SEVERE)