diff --git a/parsing_c/control_flow_c_build.ml b/parsing_c/control_flow_c_build.ml index b500ed00bab9239817f9e8250a06fcd4a6a3bf76..19254ec9af21b3074a9ad272aa79b1a8961a3134 100644 --- a/parsing_c/control_flow_c_build.ml +++ b/parsing_c/control_flow_c_build.ml @@ -1562,8 +1562,15 @@ let deadcode_detection (g : Control_flow_c.cflow) = | x -> (match Control_flow_c.extract_fullstatement node with | Some st -> - let ii = Ast_c.get_ii_st_take_care st in - raise (Error (DeadCode (Some (pinfo_of_ii ii)))) + let ii = Ast_c.get_ii_st_take_care st in + let loc = + try Some (pinfo_of_ii ii) + with _ -> + begin + Printf.eprintf "dead code problem in: %s\n" (Dumper.dump st); + None + end in + raise (Error (DeadCode loc)) | _ -> pr2 "CFG: orphan nodes, maybe something weird happened" ) )