Skip to content

Empty functions marked noreturn cause crash #951

@just-max

Description

@just-max
#include <stdnoreturn.h>

noreturn void foo() {
  // empty
}

...
Backtrace
Fatal error: exception Failure("hd")
Raised at Stdlib.failwith in file "stdlib.ml", line 29, characters 17-33
Called from Goblint_lib__CfgTools.createCFG.(fun) in file "src/framework/cfgTools.ml", line 229, characters 39-66
Called from Stdlib__List.iter in file "list.ml", line 110, characters 12-15
Called from GoblintCil__Cil.iterGlobals in file "src/cil.ml", line 5651, characters 2-29
Called from Goblint_lib__CfgTools.createCFG in file "src/framework/cfgTools.ml", line 218, characters 2-1023
Called from Goblint_lib__CfgTools.createCFG in file "src/framework/cfgTools.ml" (inlined), line 453, characters 16-49
Called from Goblint_lib__CfgTools.getCFG in file "src/framework/cfgTools.ml", line 580, characters 19-33
Called from Goblint_lib__Control.compute_cfg in file "src/framework/control.ml", line 704, characters 19-39
Called from Goblint_lib__Control.analyze in file "src/framework/control.ml", line 710, characters 21-37
Called from Goblint_lib__Maingoblint.do_analyze.control_analyze in file "src/maingoblint.ml", line 460, characters 10-46
Re-raised at Goblint_lib__Maingoblint.do_analyze.control_analyze in file "src/maingoblint.ml", line 473, characters 8-49
Called from Dune__exe__Goblint.main in file "src/goblint.ml", line 62, characters 6-35
Called from Stdlib.at_exit.new_exit in file "stdlib.ml", line 560, characters 59-63
Called from Stdlib.do_at_exit in file "stdlib.ml" (inlined), line 566, characters 20-61
Called from Std_exit in file "std_exit.ml", line 18, characters 8-20

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions