package goblint
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  Static analysis framework for C
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      goblint-2.0.1.tbz
    
    
        
    
  
  
  
    
  
  
    
  
        sha256=dba2b664c7c125687e708e871d83fbfb6ba6d9ee98d235b4850d9a238caa84de
    
    
  sha512=529987cde39691ad9e955000a3603e89c1c8cf14ed5e8b4cd3a7fc26e47d016aff571b472e2329725133c46f8d0cb45a05b88994eeffaa221a4d31b4c543adcd
    
    
  doc/goblint.lib/Goblint_lib/CompareCIL/index.html
Module Goblint_lib.CompareCIL
include module type of struct include CompareAST end
include module type of struct include CompareCFG end
include module type of struct include CompareAST end
val compare_global_type : 
  global_type ->
  global_type ->
  Ppx_deriving_runtime.intval compare_global_identifier : 
  global_identifier ->
  global_identifier ->
  Ppx_deriving_runtime.intmodule StringMap = Goblint_lib.CompareCFG.StringMaptype method_rename_assumption = CompareAST.method_rename_assumption = {original_method_name : string;new_method_name : string;parameter_renames : string StringMap.t;
}type method_rename_assumptions = method_rename_assumption CilMaps.VarinfoMap.ttype rename_mapping = string StringMap.t * method_rename_assumptionsval rename_mapping_aware_name_comparison : 
  string ->
  string ->
  rename_mapping ->
  boolval rename_mapping_to_string : rename_mapping -> stringval identifier_of_global : GoblintCil.global -> global_identifiermodule GlobalMap = Goblint_lib.CompareCFG.GlobalMapval eq_constant : 
  rename_mapping ->
  GoblintCil.constant ->
  GoblintCil.constant ->
  boolval eq_exp2 : rename_mapping -> GoblintCil.exp -> GoblintCil.exp -> boolval eq_exp : GoblintCil.exp -> GoblintCil.exp -> rename_mapping -> boolval eq_lhost : GoblintCil.lhost -> GoblintCil.lhost -> rename_mapping -> boolval global_typ_acc : (GoblintCil.typ * GoblintCil.typ) list refval eq_typ_acc : 
  GoblintCil.typ ->
  GoblintCil.typ ->
  (GoblintCil.typ * GoblintCil.typ) list ->
  rename_mapping ->
  boolval eq_typ : GoblintCil.typ -> GoblintCil.typ -> rename_mapping -> boolval eq_eitems : 
  rename_mapping ->
  (string * GoblintCil.exp * GoblintCil.location) BatOrd.eqval eq_enuminfo : 
  GoblintCil.enuminfo ->
  GoblintCil.enuminfo ->
  rename_mapping ->
  boolval eq_args : 
  rename_mapping ->
  (GoblintCil.typ * GoblintCil.typ) list ->
  (string * GoblintCil.typ * GoblintCil.attributes) BatOrd.eqval eq_attrparam : rename_mapping -> GoblintCil.attrparam BatOrd.eqval eq_attribute : rename_mapping -> GoblintCil.attribute BatOrd.eqval eq_varinfo2 : 
  rename_mapping ->
  GoblintCil.varinfo ->
  GoblintCil.varinfo ->
  boolval eq_varinfo : 
  GoblintCil.varinfo ->
  GoblintCil.varinfo ->
  rename_mapping ->
  boolval eq_compinfo : 
  GoblintCil.compinfo ->
  GoblintCil.compinfo ->
  (GoblintCil.typ * GoblintCil.typ) list ->
  rename_mapping ->
  boolval eq_fieldinfo : 
  GoblintCil.fieldinfo ->
  GoblintCil.fieldinfo ->
  (GoblintCil.typ * GoblintCil.typ) list ->
  rename_mapping ->
  boolval eq_offset : 
  GoblintCil.offset ->
  GoblintCil.offset ->
  rename_mapping ->
  boolval eq_lval : GoblintCil.lval -> GoblintCil.lval -> rename_mapping -> boolval eq_instr : rename_mapping -> GoblintCil.instr -> GoblintCil.instr -> boolval eq_stmtkind : 
  ?cfg_comp:bool ->
  (GoblintCil.stmtkind * GoblintCil.fundec) ->
  (GoblintCil.stmtkind * GoblintCil.fundec) ->
  rename_mapping ->
  boolval eq_stmt : 
  ?cfg_comp:bool ->
  (GoblintCil.stmt * GoblintCil.fundec) ->
  (GoblintCil.stmt * GoblintCil.fundec) ->
  rename_mapping ->
  boolval eq_block : 
  (GoblintCil.block * GoblintCil.fundec) ->
  (GoblintCil.block * GoblintCil.fundec) ->
  rename_mapping ->
  boolval eq_init : GoblintCil.init -> GoblintCil.init -> rename_mapping -> boolval eq_initinfo : 
  GoblintCil.initinfo ->
  GoblintCil.initinfo ->
  rename_mapping ->
  boolval eq_node : 
  (MyCFG.node * GoblintCil.fundec) ->
  (MyCFG.node * GoblintCil.fundec) ->
  boolval eq_edge : MyCFG.edge -> MyCFG.edge -> boolval eq_edge_list : MyCFG.edge list -> MyCFG.edge list -> boolmodule NH = CompareCFG.NHtype biDirectionNodeMap = CompareCFG.biDirectionNodeMap = {node1to2 : MyCFG.node NH.t;node2to1 : MyCFG.node NH.t;
}val compareCfgs : 
  (module MyCFG.CfgForward) ->
  (module MyCFG.CfgForward) ->
  GoblintCil.fundec ->
  GoblintCil.fundec ->
  biDirectionNodeMap * unit NH.tval reexamine : 
  'a ->
  CilType.Fundec.t ->
  biDirectionNodeMap ->
  unit NH.t ->
  (module MyCFG.CfgForward) ->
  (module MyCFG.CfgBidir) ->
  (NH.key * MyCFG.node) Seq.t * NH.key Seq.tval compareFun : 
  (module MyCFG.CfgForward) ->
  (module MyCFG.CfgBidir) ->
  GoblintCil.fundec ->
  GoblintCil.fundec ->
  (NH.key * MyCFG.node) list * NH.key listtype nodes_diff = {unchangedNodes : (MyCFG.node * MyCFG.node) list;primObsoleteNodes : MyCFG.node list;(*primary obsolete nodes -> all obsolete nodes are reachable from these
*)
}For semantically unchanged globals, still keep old and current version of global for resetting current to old.
type changed_global = {old : GoblintCil.global;current : GoblintCil.global;unchangedHeader : bool;diff : nodes_diff option;
}module VarinfoSet : sig ... endtype change_info = {mutable changed : changed_global list;mutable unchanged : unchanged_global list;mutable removed : GoblintCil.global list;mutable added : GoblintCil.global list;mutable exclude_from_rel_destab : VarinfoSet.t;(*Set of functions that are to be force-reanalyzed. These functions are additionally included in the
*)changedfield, among the other changed globals.
}val empty_change_info : unit -> change_infoval unchanged_to_change_status : bool -> change_statusGiven a boolean that indicates whether the code object is identical to the previous version, returns the corresponding change_status
val eqF : 
  GoblintCil.Cil.fundec ->
  GoblintCil.Cil.fundec ->
  (MyCFG.cfg * (MyCFG.cfg * MyCFG.cfg)) option ->
  method_rename_assumptions ->
  change_status * nodes_diff optionval eq_glob : 
  GoblintCil.global ->
  GoblintCil.global ->
  (MyCFG.cfg * (MyCFG.cfg * MyCFG.cfg)) option ->
  method_rename_assumptions ->
  change_status * nodes_diff optionval compareCilFiles : 
  ?eq:
    (GoblintCil.global ->
      GoblintCil.global ->
      (MyCFG.cfg * (MyCFG.cfg * MyCFG.cfg)) option ->
      method_rename_assumptions ->
      change_status * nodes_diff option) ->
  GoblintCil.file ->
  GoblintCil.file ->
  change_infoGiven an (optional) equality function between Cil.globals, an old and a new Cil.file, this function computes a change_info, which describes which globals are changed, unchanged, removed and added.
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >