From 066e4a67ef52effcb9b0f469d39627dec082d53e Mon Sep 17 00:00:00 2001 From: Andre Maroneze <andre.maroneze@cea.fr> Date: Mon, 4 Jan 2021 09:15:26 +0100 Subject: [PATCH] [Extlib] replace usage of obsolete functions opt_equal and opt_compare --- bin/migration_scripts/titanium2vanadium.sh | 4 +++- src/kernel_services/abstract_interp/base.ml | 2 +- src/kernel_services/ast_data/alarms.ml | 8 ++++---- src/kernel_services/ast_data/property.ml | 4 ++-- src/kernel_services/ast_queries/cil_datatype.ml | 6 +++--- src/kernel_services/plugin_entry_points/db.ml | 4 ++-- src/plugins/qed/term.ml | 4 ++-- src/plugins/value/domains/gauges/gauges_domain.ml | 6 +++--- src/plugins/value/domains/traces_domain.ml | 2 +- src/plugins/value/gui_files/gui_callstacks_manager.ml | 2 +- src/plugins/value/gui_files/gui_types.ml | 4 ++-- src/plugins/value/partitioning/partition.ml | 2 +- src/plugins/wp/CfgCompiler.ml | 2 +- 13 files changed, 26 insertions(+), 24 deletions(-) diff --git a/bin/migration_scripts/titanium2vanadium.sh b/bin/migration_scripts/titanium2vanadium.sh index 55b1d33d544..bca1c6f0179 100755 --- a/bin/migration_scripts/titanium2vanadium.sh +++ b/bin/migration_scripts/titanium2vanadium.sh @@ -103,7 +103,9 @@ process_file () -e 's/Extlib\.opt_map/Option.map/g' \ -e 's/Extlib\.has_some/Option.is_some/g' \ -e 's/Extlib\.opt_bind/Option.bind/g' \ - -e 's/Extlib\.the \([^~]\)/Option.get \1/g' + -e 's/Extlib\.the \([^~]\)/Option.get \1/g' \ + -e 's/Extlib\.opt_equal/Option.equal/g' \ + -e 's/Extlib\.opt_compare/Option.compare/g' } apply_one_dir () diff --git a/src/kernel_services/abstract_interp/base.ml b/src/kernel_services/abstract_interp/base.ml index 5c57e0dde86..095c1b9cef3 100644 --- a/src/kernel_services/abstract_interp/base.ml +++ b/src/kernel_services/abstract_interp/base.ml @@ -66,7 +66,7 @@ module Validity = Datatype.Make | Unknown (b1, m1, e1), Unknown (b2, m2, e2) -> let c = Int.compare b1 b2 in if c = 0 then - let c = Extlib.opt_compare Int.compare m1 m2 in + let c = Option.compare Int.compare m1 m2 in if c = 0 then Int.compare e1 e2 else c else c | Variable v1, Variable v2 -> diff --git a/src/kernel_services/ast_data/alarms.ml b/src/kernel_services/ast_data/alarms.ml index 0785ae1209c..eefbda4d0b2 100644 --- a/src/kernel_services/ast_data/alarms.ml +++ b/src/kernel_services/ast_data/alarms.ml @@ -138,13 +138,13 @@ module D = if n = 0 then Lval.compare lv1 lv2 else n | Index_out_of_bound(e11, e12), Index_out_of_bound(e21, e22) -> let n = Exp.compare e11 e21 in - if n = 0 then Extlib.opt_compare Exp.compare e12 e22 else n + if n = 0 then Option.compare Exp.compare e12 e22 else n | Invalid_pointer e1, Invalid_pointer e2 -> Exp.compare e1 e2 | Invalid_shift(e1, n1), Invalid_shift(e2, n2) -> let n = Exp.compare e1 e2 in - if n = 0 then Extlib.opt_compare Datatype.Int.compare n1 n2 else n + if n = 0 then Option.compare Datatype.Int.compare n1 n2 else n | Pointer_comparison(e11, e12), Pointer_comparison(e21, e22) -> - let n = Extlib.opt_compare Exp.compare e11 e21 in + let n = Option.compare Exp.compare e11 e21 in if n = 0 then Exp.compare e12 e22 else n | Overflow(s1, e1, n1, b1), Overflow(s2, e2, n2, b2) -> let n = Stdlib.compare s1 s2 in @@ -188,7 +188,7 @@ module D = | Function_pointer (e1, l1), Function_pointer (e2, l2) -> let n = Exp.compare e1 e2 in if n <> 0 then n - else Extlib.opt_compare (Extlib.list_compare Exp.compare) l1 l2 + else Option.compare (Extlib.list_compare Exp.compare) l1 l2 | Invalid_bool lv1, Invalid_bool lv2 -> Lval.compare lv1 lv2 | _, (Division_by_zero _ | Memory_access _ | Index_out_of_bound _ | Invalid_pointer _ | diff --git a/src/kernel_services/ast_data/property.ml b/src/kernel_services/ast_data/property.ml index f647488d6c3..20cfa49ccc1 100644 --- a/src/kernel_services/ast_data/property.ml +++ b/src/kernel_services/ast_data/property.ml @@ -591,7 +591,7 @@ include Datatype.Make_with_collections Kf.equal f1 f2 && Kinstr.equal ki1 ki2 | IPReachable {ir_kf=kf1; ir_kinstr=ki1; ir_program_point=ba1}, IPReachable {ir_kf=kf2; ir_kinstr=ki2; ir_program_point=ba2} -> - Extlib.opt_equal Kf.equal kf1 kf2 && Kinstr.equal ki1 ki2 && ba1 = ba2 + Option.equal Kf.equal kf1 kf2 && Kinstr.equal ki1 ki2 && ba1 = ba2 | IPBehavior {ib_kf=f1; ib_kinstr=k1; ib_active=a1; ib_bhv=b1}, IPBehavior {ib_kf=f2; ib_kinstr=k2; ib_active=a2; ib_bhv=b2} -> Kf.equal f1 f2 @@ -665,7 +665,7 @@ include Datatype.Make_with_collections if n = 0 then Kinstr.compare ki1 ki2 else n | IPReachable {ir_kf=kf1; ir_kinstr=ki1; ir_program_point=ba1}, IPReachable {ir_kf=kf2; ir_kinstr=ki2; ir_program_point=ba2} -> - let n = Extlib.opt_compare Kf.compare kf1 kf2 in + let n = Option.compare Kf.compare kf1 kf2 in if n = 0 then let n = Kinstr.compare ki1 ki2 in if n = 0 then Stdlib.compare ba1 ba2 else n diff --git a/src/kernel_services/ast_queries/cil_datatype.ml b/src/kernel_services/ast_queries/cil_datatype.ml index 003b99cce16..82f5d577838 100644 --- a/src/kernel_services/ast_queries/cil_datatype.ml +++ b/src/kernel_services/ast_queries/cil_datatype.ml @@ -467,9 +467,9 @@ and compare_array_sizes e1o e2o = match i1, i2 with | None, None -> (* inconclusive. do not return 0 *) !compare_exp_struct_eq e1 e2 - | _ -> Extlib.opt_compare Integer.compare i1 i2 + | _ -> Option.compare Integer.compare i1 i2 in - Extlib.opt_compare compare_non_empty_size e1o e2o + Option.compare compare_non_empty_size e1o e2o and compare_type config t1 t2 = if t1 == t2 then 0 @@ -521,7 +521,7 @@ and compare_type config t1 t2 = index_typ a1 - index_typ a2 and compare_arg_list config l1 l2 = - Extlib.opt_compare + Option.compare (compare_list (fun (_n1, t1, l1) (_n2, t2, l2) -> (compare_chain (compare_type config) t1 t2 diff --git a/src/kernel_services/plugin_entry_points/db.ml b/src/kernel_services/plugin_entry_points/db.ml index f602bf07dcb..339744070b2 100644 --- a/src/kernel_services/plugin_entry_points/db.ml +++ b/src/kernel_services/plugin_entry_points/db.ml @@ -211,7 +211,7 @@ module Value = struct (fun l -> if not - (Extlib.opt_equal ListArgs.equal (Some l) (FunArgs.get_option ())) + (Option.equal ListArgs.equal (Some l) (FunArgs.get_option ())) then begin !initial_state_changed (); FunArgs.set l @@ -241,7 +241,7 @@ module Value = struct Db.Value.globals_set_initial_state\" : _ -> unit)" (Datatype.func Cvalue.Model.ty Datatype.unit) (fun state -> - if not (Extlib.opt_equal Cvalue.Model.equal + if not (Option.equal Cvalue.Model.equal (Some state) (VGlobals.get_option ())) then begin diff --git a/src/plugins/qed/term.ml b/src/plugins/qed/term.ml index a2ce1c72e39..cb613d9f70f 100644 --- a/src/plugins/qed/term.ml +++ b/src/plugins/qed/term.ml @@ -641,7 +641,7 @@ struct if a == b then 0 else let cmp = cmp_struct compare a b in if cmp <> 0 then cmp else - Extlib.opt_compare Tau.compare a.tau b.tau + Option.compare Tau.compare a.tau b.tau end @@ -715,7 +715,7 @@ struct | NOT p,NOT q -> p==q | CMP(c,a,b),CMP(c',a',b') -> c=c' && a==a' && b==b' | FUN(f,xs,t) , FUN(g,ys,t') -> Fun.equal f g && Hcons.equal_list (==) xs ys - && Extlib.opt_equal Tau.equal t t' + && Option.equal Tau.equal t t' | _ -> false end) diff --git a/src/plugins/value/domains/gauges/gauges_domain.ml b/src/plugins/value/domains/gauges/gauges_domain.ml index e67fd3a8484..543688032b0 100644 --- a/src/plugins/value/domains/gauges/gauges_domain.ml +++ b/src/plugins/value/domains/gauges/gauges_domain.ml @@ -77,8 +77,8 @@ module G = struct (opt2 fmin bmin1 bmin2, opt2 fmax bmax1 bmax2) let equal (bmin1, bmax1: t) (bmin2, bmax2: t) = - Extlib.opt_equal Integer.equal bmin1 bmin2 && - Extlib.opt_equal Integer.equal bmax1 bmax2 + Option.equal Integer.equal bmin1 bmin2 && + Option.equal Integer.equal bmax1 bmax2 let is_included (bmin1, bmax1: t) (bmin2, bmax2: t) = (match bmin1, bmin2 with @@ -161,7 +161,7 @@ module G = struct widening of Ival. *) let widen ?threshold (min1, max1: t) (min2, max2: t) : t = let widen_unstable_min b1 b2 = - if Extlib.opt_equal Integer.equal b1 b2 then b1 else None + if Option.equal Integer.equal b1 b2 then b1 else None in let widen_unstable_max b1 b2 = match threshold with diff --git a/src/plugins/value/domains/traces_domain.ml b/src/plugins/value/domains/traces_domain.ml index 89dd2edae3a..6006597e3a1 100644 --- a/src/plugins/value/domains/traces_domain.ml +++ b/src/plugins/value/domains/traces_domain.ml @@ -145,7 +145,7 @@ end = struct if c <> 0 then c else let c = Extlib.list_compare ExpStructEq.compare es1 es2 in if c <> 0 then c else - Extlib.opt_compare Lval.compare lv1 lv2 + Option.compare Lval.compare lv1 lv2 | Msg s1, Msg s2 -> String.compare s1 s2 | Loop (stmt1, s1, g1), Loop (stmt2, s2, g2) -> diff --git a/src/plugins/value/gui_files/gui_callstacks_manager.ml b/src/plugins/value/gui_files/gui_callstacks_manager.ml index 03e7da9770d..10331bacd8e 100644 --- a/src/plugins/value/gui_files/gui_callstacks_manager.ml +++ b/src/plugins/value/gui_files/gui_callstacks_manager.ml @@ -428,7 +428,7 @@ module Make (Input: Input) = struct model.hidden_columns <- []; in let start_session loc ~multiple = - if not (multiple && Extlib.opt_equal gui_loc_equal (Some loc) model.loc) + if not (multiple && Option.equal gui_loc_equal (Some loc) model.loc) then begin clear_model (); model.loc <- Some loc; diff --git a/src/plugins/value/gui_files/gui_types.ml b/src/plugins/value/gui_files/gui_types.ml index d8eea3776d2..e6b64d5a8e7 100644 --- a/src/plugins/value/gui_files/gui_types.ml +++ b/src/plugins/value/gui_files/gui_types.ml @@ -148,10 +148,10 @@ module Make (V: Abstractions.Value) = struct | GR_Empty, GR_Empty -> true | GR_Offsm (o1, typ1), GR_Offsm (o2, typ2) -> equal_gui_offsetmap_res o1 o2 && - Extlib.opt_equal Cil_datatype.Typ.equal typ1 typ2 + Option.equal Cil_datatype.Typ.equal typ1 typ2 | GR_Value (v1, typ1), GR_Value (v2, typ2) -> Eval.Flagged_Value.equal V.equal v1 v2 && - Extlib.opt_equal Cil_datatype.Typ.equal typ1 typ2 + Option.equal Cil_datatype.Typ.equal typ1 typ2 | GR_Status s1, GR_Status s2 -> Extlib.compare_basic s1 s2 = 0 | GR_Zone z1, GR_Zone z2 -> Locations.Zone.equal z1 z2 | (GR_Empty | GR_Offsm _ | GR_Value _ | GR_Status _ | GR_Zone _), _ -> false diff --git a/src/plugins/value/partitioning/partition.ml b/src/plugins/value/partitioning/partition.ml index 977dce271f2..f51bc89c5e1 100644 --- a/src/plugins/value/partitioning/partition.ml +++ b/src/plugins/value/partitioning/partition.ml @@ -109,7 +109,7 @@ struct let compare_split (i1,_m1) (i2,_m2) = Integer.compare i1 i2 in - Extlib.opt_compare IntPair.compare k1.ration_stamp k2.ration_stamp + Option.compare IntPair.compare k1.ration_stamp k2.ration_stamp <?> (LoopList.compare, k1.loops, k2.loops) <?> (ExpMap.compare compare_split, k1.static_split, k2.static_split) <?> (ExpMap.compare compare_split, k1.dynamic_split, k2.dynamic_split) diff --git a/src/plugins/wp/CfgCompiler.ml b/src/plugins/wp/CfgCompiler.ml index 1f2ac5926e4..5c445134f3c 100644 --- a/src/plugins/wp/CfgCompiler.ml +++ b/src/plugins/wp/CfgCompiler.ml @@ -814,7 +814,7 @@ struct | Branch (c,n1,n2) -> let n1' = Option.map find n1 in let n2' = Option.map find n2 in - if Extlib.opt_equal Node.equal n1 n1' && Extlib.opt_equal Node.equal n2 n2' + if Option.equal Node.equal n1 n1' && Option.equal Node.equal n2 n2' then Some e else Some (Branch(c,n1',n2')) | Either l -> -- GitLab