struct X {
int x;
}
harness void main() {
if ((new X())[0]) {}
}
[feser@30-93-207 staged-synth]$ sketch -V10 bug.sk
SKETCH version 1.7.6
Benchmark = bug.sk
[1661283968.0950 - DEBUG] Running stage 'parse' -- Parse the program from a file
[ERROR] [SKETCH] Failed with NullPointerException exception; message: Cannot invoke "sketch.compiler.ast.core.typs.Type.promotesTo(sketch.compiler.ast.core.typs.Type, sketch.compiler.ast.core.NameResolver)" because "cond" is null
java.lang.NullPointerException: Cannot invoke "sketch.compiler.ast.core.typs.Type.promotesTo(sketch.compiler.ast.core.typs.Type, sketch.compiler.ast.core.NameResolver)" because "cond" is null
at sketch.compiler.passes.bidirectional.TypeCheck.visitStmtIfThen(TypeCheck.java:1425)
at sketch.compiler.ast.core.stmts.StmtIfThen.accept(StmtIfThen.java:94)
at sketch.compiler.passes.bidirectional.BidirectionalAnalysis.doT(BidirectionalAnalysis.java:218)
at sketch.compiler.passes.bidirectional.BidirectionalAnalysis.procStatement(BidirectionalAnalysis.java:247)
at sketch.compiler.passes.bidirectional.BidirectionalAnalysis.addStatement(BidirectionalAnalysis.java:206)
at sketch.compiler.passes.bidirectional.BidirectionalAnalysis.doStatement(BidirectionalAnalysis.java:212)
at sketch.compiler.ast.core.FEReplacer.visitStmtBlock(FEReplacer.java:525)
at sketch.compiler.passes.lowering.SymbolTableVisitor.visitStmtBlock(SymbolTableVisitor.java:387)
at sketch.compiler.passes.bidirectional.BidirectionalAnalysis.visitStmtBlock(BidirectionalAnalysis.java:823)
at sketch.compiler.ast.core.stmts.StmtBlock.accept(StmtBlock.java:116)
at sketch.compiler.passes.bidirectional.BidirectionalAnalysis.doT(BidirectionalAnalysis.java:225)
at sketch.compiler.passes.bidirectional.BidirectionalAnalysis.procStatement(BidirectionalAnalysis.java:247)
at sketch.compiler.passes.bidirectional.BidirectionalAnalysis.visitFunction(BidirectionalAnalysis.java:733)
at sketch.compiler.ast.core.Function.accept(Function.java:464)
at sketch.compiler.passes.bidirectional.BidirectionalAnalysis.doT(BidirectionalAnalysis.java:225)
at sketch.compiler.passes.bidirectional.BidirectionalAnalysis.doFunction(BidirectionalAnalysis.java:252)
at sketch.compiler.passes.bidirectional.BidirectionalAnalysis.visitPackage(BidirectionalAnalysis.java:1084)
at sketch.compiler.ast.core.Package.accept(Package.java:174)
at sketch.compiler.passes.bidirectional.BidirectionalAnalysis.doT(BidirectionalAnalysis.java:225)
at sketch.compiler.passes.bidirectional.BidirectionalAnalysis.visitProgram(BidirectionalAnalysis.java:774)
at sketch.compiler.ast.core.Program.accept(Program.java:145)
at sketch.compiler.passes.bidirectional.BidirectionalAnalysis.doT(BidirectionalAnalysis.java:225)
at sketch.compiler.passes.bidirectional.BidirectionalAnalysis.doProgram(BidirectionalAnalysis.java:241)
at sketch.compiler.main.seq.SequentialSketchMain.preprocAndSemanticCheck(SequentialSketchMain.java:545)
at sketch.compiler.main.seq.SequentialSketchMain.run(SequentialSketchMain.java:628)
at sketch.compiler.main.seq.SequentialSketchMain.main(SequentialSketchMain.java:701)
Total time = 129