Reviewed By: jvillard Differential Revision: D7397133 fbshipit-source-id: e036c04master
							parent
							
								
									722a66d452
								
							
						
					
					
						commit
						a4eac6c2d6
					
				| @ -0,0 +1,51 @@ | |||||||
|  | (* | ||||||
|  |  * Copyright (c) 2017 - present Facebook, Inc. | ||||||
|  |  * All rights reserved. | ||||||
|  |  * | ||||||
|  |  * This source code is licensed under the BSD style license found in the | ||||||
|  |  * LICENSE file in the root directory of this source tree. An additional grant | ||||||
|  |  * of patent rights can be found in the PATENTS file in the same directory. | ||||||
|  |  *) | ||||||
|  | 
 | ||||||
|  | open! IStd | ||||||
|  | open AbsLoc | ||||||
|  | module Dom = BufferOverrunDomain | ||||||
|  | module PO = BufferOverrunProofObligations | ||||||
|  | 
 | ||||||
|  | module Exec : sig | ||||||
|  |   val load_val : Ident.t -> Dom.Val.astate -> Dom.Mem.astate -> Dom.Mem.astate | ||||||
|  | 
 | ||||||
|  |   type decl_local = | ||||||
|  |     Typ.Procname.t -> node_hash:int -> Location.t -> Loc.t -> Typ.t -> inst_num:int | ||||||
|  |     -> dimension:int -> Dom.Mem.astate -> Dom.Mem.astate * int | ||||||
|  | 
 | ||||||
|  |   val decl_local_array : | ||||||
|  |     decl_local:decl_local -> Typ.Procname.t -> node_hash:int -> Location.t -> Loc.t -> Typ.t | ||||||
|  |     -> length:IntLit.t option -> ?stride:int -> inst_num:int -> dimension:int -> Dom.Mem.astate | ||||||
|  |     -> Dom.Mem.astate * int | ||||||
|  | 
 | ||||||
|  |   type decl_sym_val = | ||||||
|  |     Typ.Procname.t -> Tenv.t -> node_hash:int -> Location.t -> depth:int -> Loc.t -> Typ.t | ||||||
|  |     -> Dom.Mem.astate -> Dom.Mem.astate | ||||||
|  | 
 | ||||||
|  |   val decl_sym_arr : | ||||||
|  |     decl_sym_val:decl_sym_val -> Typ.Procname.t -> Tenv.t -> node_hash:int -> Location.t | ||||||
|  |     -> depth:int -> Loc.t -> Typ.t -> ?offset:Itv.t -> ?size:Itv.t -> inst_num:int | ||||||
|  |     -> new_sym_num:Itv.Counter.t -> new_alloc_num:Itv.Counter.t -> Dom.Mem.astate -> Dom.Mem.astate | ||||||
|  | 
 | ||||||
|  |   val init_array_fields : | ||||||
|  |     Tenv.t -> Typ.Procname.t -> node_hash:int -> Typ.t -> PowLoc.t -> ?dyn_length:Exp.t | ||||||
|  |     -> Dom.Mem.astate -> Dom.Mem.astate | ||||||
|  | 
 | ||||||
|  |   val set_dyn_length : Tenv.t -> Typ.t -> PowLoc.t -> Itv.t -> Dom.Mem.astate -> Dom.Mem.astate | ||||||
|  | end | ||||||
|  | 
 | ||||||
|  | module Check : sig | ||||||
|  |   val array_access : | ||||||
|  |     arr:Dom.Val.t -> idx:Dom.Val.t -> is_plus:bool -> Typ.Procname.t -> Location.t | ||||||
|  |     -> PO.ConditionSet.t -> PO.ConditionSet.t | ||||||
|  | 
 | ||||||
|  |   val lindex : | ||||||
|  |     array_exp:Exp.t -> index_exp:Exp.t -> Dom.Mem.astate -> Typ.Procname.t -> Location.t | ||||||
|  |     -> PO.ConditionSet.t -> PO.ConditionSet.t | ||||||
|  | end | ||||||
					Loading…
					
					
				
		Reference in new issue