From 689d6be2a7fbc94f65bb3fc21a33dc33d15eb510 Mon Sep 17 00:00:00 2001 From: Jan Rochel <jan.rochel@cea.fr> Date: Thu, 6 Apr 2023 18:18:34 +0200 Subject: [PATCH] [alias] more compact pretty printing --- src/plugins/alias/abstract_state.ml | 117 ++-- src/plugins/alias/abstract_state.mli | 2 +- src/plugins/alias/analysis.ml | 32 +- src/plugins/alias/simplified.ml | 6 +- .../tests/basic/oracle/addrof.res.oracle | 26 +- .../tests/basic/oracle/assignment1.res.oracle | 27 +- .../tests/basic/oracle/assignment2.res.oracle | 31 +- .../tests/basic/oracle/assignment3.res.oracle | 21 +- .../tests/basic/oracle/assignment4.res.oracle | 31 +- .../tests/basic/oracle/assignment5.res.oracle | 31 +- .../alias/tests/basic/oracle/cast1.res.oracle | 27 +- .../basic/oracle/conditional1.res.oracle | 24 +- .../basic/oracle/conditional2.res.oracle | 33 +- .../basic/oracle/conditional3.res.oracle | 64 +- .../tests/basic/oracle/function1.res.oracle | 48 +- .../tests/basic/oracle/function2.res.oracle | 200 ++---- .../tests/basic/oracle/function3.res.oracle | 42 +- .../tests/basic/oracle/function4.res.oracle | 24 +- .../tests/basic/oracle/function5.res.oracle | 30 +- .../tests/basic/oracle/globctr.res.oracle | 27 +- .../alias/tests/basic/oracle/loop.res.oracle | 24 +- .../tests/basic/oracle/steensgaard.res.oracle | 28 +- .../tests/basic/oracle/switch1.res.oracle | 27 +- .../tests/basic/oracle/switch2.res.oracle | 30 +- .../tests/basic/oracle/while_for1.res.oracle | 189 ++---- .../tests/basic/oracle/while_for2.res.oracle | 18 +- .../tests/basic/oracle/while_for3.res.oracle | 27 +- .../fixed_bugs/oracle/union_vmap.res.oracle | 19 +- .../tests/offsets/oracle/array1.res.oracle | 24 +- .../tests/offsets/oracle/array2.res.oracle | 18 +- .../tests/offsets/oracle/array3.res.oracle | 190 ++---- .../tests/offsets/oracle/collapse1.res.oracle | 30 +- .../tests/offsets/oracle/collapse2.res.oracle | 24 +- .../tests/offsets/oracle/collapse3.res.oracle | 24 +- .../tests/offsets/oracle/nested1.res.oracle | 243 +++---- .../tests/offsets/oracle/nested2.res.oracle | 209 ++---- .../offsets/oracle/structure1.res.oracle | 24 +- .../offsets/oracle/structure2.res.oracle | 20 +- .../offsets/oracle/structure3.res.oracle | 43 +- .../offsets/oracle/structure4.res.oracle | 194 ++---- .../offsets/oracle/structure5.res.oracle | 219 +++---- .../real_world/oracle/example1.res.oracle | 590 ++++++----------- .../real_world/oracle/example2.res.oracle | 608 +++++++----------- 43 files changed, 1280 insertions(+), 2385 deletions(-) diff --git a/src/plugins/alias/abstract_state.ml b/src/plugins/alias/abstract_state.ml index 1dfce6cfd29..22ca8d84cc1 100644 --- a/src/plugins/alias/abstract_state.ml +++ b/src/plugins/alias/abstract_state.ml @@ -96,10 +96,13 @@ struct m let pretty fmt (m:t) = + let is_first = ref true in LMap.iter (fun lv mo -> OMap.iter - (fun o v -> let lv = Lval.addOffsetLval o lv in Format.fprintf fmt "(lval=%a -> id=%d)@." Lval.pretty lv v) + (fun o v -> let lv = Lval.addOffsetLval o lv in + if !is_first then is_first := false else Format.fprintf fmt "@;<3>"; + Format.fprintf fmt "@ @[%a:%d@]" Lval.pretty lv v) mo ) m @@ -236,27 +239,36 @@ let get_lval_set = find_lset (* printing functions *) let print_debug fmt (x:t) = - Format.fprintf fmt "@[<hov 2>List of edges: @."; - G.iter_edges (fun v1 v2 -> Format.fprintf fmt "%d → %d@." v1 v2) x.graph; - Format.fprintf fmt "@]@."; - Format.fprintf fmt "@[<hov 2>LMap: @."; + Format.fprintf fmt "@[<v>"; + Format.fprintf fmt "@[Edges:"; + G.iter_edges (fun v1 v2 -> Format.fprintf fmt "@;<3 2>@[%d → %d@]" v1 v2) x.graph; + Format.fprintf fmt "@]@;<6>"; + Format.fprintf fmt "@[LMap:@;<3 2>"; LLMap.pretty fmt x.lmap; - Format.fprintf fmt "@]@."; - Format.fprintf fmt "@[<hov 2>VMap: @."; - VMap.iter (fun v ls -> Format.fprintf fmt "id=%d → lset=%a@." v LSet.pretty ls) x.vmap; - Format.fprintf fmt "@]@." + Format.fprintf fmt "@]@;<6>"; + Format.fprintf fmt "@[VMap:@;<2>"; + VMap.iter (fun v ls -> Format.fprintf fmt "@;<2 2>@[%d:%a@]" v LSet.pretty ls) x.vmap; + Format.fprintf fmt "@]"; + Format.fprintf fmt "@]" let print_graph fmt (x:t) = + let is_first = ref true in let print_edge v1 v2 = - Format.fprintf fmt "%d:%a -> %d:%a@." - v1 LSet.pretty (VMap.find v1 x.vmap) - v2 LSet.pretty (VMap.find v2 x.vmap) + if !is_first then is_first := false else Format.fprintf fmt "@;<3>"; + let print_node v fmt lset = Format.fprintf fmt "%d:%a" v LSet.pretty lset in + Format.fprintf fmt "@[%a@] → @[%a@]" + (print_node v1) (VMap.find v1 x.vmap) + (print_node v2) (VMap.find v2 x.vmap) in - G.iter_edges print_edge x.graph + if G.nb_edges x.graph = 0 + then Format.fprintf fmt "<empty>" + else G.iter_edges print_edge x.graph let print_aliases fmt (x:t) = + let is_first = ref true in let print_alias_set _ set_lv = - Format.fprintf fmt "@[<hov 2>%a@] are aliased@." LSet.pretty set_lv + if !is_first then is_first := false else Format.fprintf fmt "@;<2>"; + LSet.pretty fmt set_lv in let alias_set_of_vertex i _ = let aliases = aliases_of_vertex i x in @@ -388,7 +400,7 @@ let find_all_aliases_of_offset (lv1: Lval.t) (x: t) : LSet.t = in Options.debug ~level:9 "decompose_lval %a : [@[<hov 2>" Lval.pretty lv1; List.iter (fun (x, o) -> Options.debug ~level:9 " (%a,%a) " Lval.pretty x Offset.pretty o) list_of_lval_to_be_searched; - Options.debug ~level:9 "@]]@."; + Options.debug ~level:9 "@]]"; let list_of_aliases : (LSet.t*offset) list = List.map f_map list_of_lval_to_be_searched in @@ -413,7 +425,7 @@ let create_vertex_simple (lv:Lval.t) (x:t) : V.t * t = (* find all the alias of lv (because of offset) *) let set_of_aliases : LSet.t = find_all_aliases_of_offset lv x in (* add all these aliases *) - Options.debug ~level:9 "all_aliases of %a : %a @." Lval.pretty lv LSet.pretty set_of_aliases; + Options.debug ~level:9 "all_aliases of %a : %a " Lval.pretty lv LSet.pretty set_of_aliases; let new_lmap = LSet.fold (fun lv acc -> assert (not (LLMap.mem lv x.lmap)); LLMap.add lv new_v acc) @@ -469,7 +481,7 @@ let diff_offset (lv1:Lval.t) (lv2:Lval.t) = in the graph. If it is present, there will be bugs *) let rec create_vertex_lval (blv:Lval.t) (x:t) : V.t * t = assert (not (LLMap.mem blv x.lmap)); - Options.debug ~level:9 "creating a vertex for %a@." Lval.pretty blv; + Options.debug ~level:9 "creating a vertex for %a" Lval.pretty blv; match blv with | BNone -> Options.fatal "Should not happen: create_vertex_lval %a" Lval.pretty blv @@ -519,7 +531,7 @@ and find_or_create_vertex (lv:Lval.t) (x:t) : V.t * t = (* for any predecessor, find all its aliases and then look for potential existing vertex *) let f_fold_lmap lvx vx acc = let set_aliases = VMap.find vx x.vmap in - Options.debug ~level:9 "looking for aliases of %a in set %a@." Lval.pretty lv LSet.pretty set_aliases; + Options.debug ~level:9 "looking for aliases of %a in set %a" Lval.pretty lv LSet.pretty set_aliases; if LSet.cardinal set_aliases > 1 then let off = diff_offset lvx lv in @@ -544,7 +556,7 @@ and find_or_create_vertex (lv:Lval.t) (x:t) : V.t * t = map_predecessors VSet.empty in - Options.debug ~level:9 "found aliases of %a : %a@." Lval.pretty lv VSet.pretty vset_res; + Options.debug ~level:9 "found aliases of %a : %a" Lval.pretty lv VSet.pretty vset_res; if VSet.is_empty vset_res then create_vertex_lval lv x else @@ -637,16 +649,16 @@ let rec join_without_check (x:t) (v1:V.t) (v2:V.t) : t = (* since the recursive version of join, unify, unify2 and merge may break the invariants *) let join (x:t) (v1:V.t) (v2:V.t) : t = - Options.debug ~level:7 "graph before join(%d,%d) @.%a@." v1 v2 print_debug x; + Options.debug ~level:7 "graph before join(%d,%d):@;<2>@[%a@]" v1 v2 print_debug x; assert_invariants x; let res = join_without_check x v1 v2 in - Options.debug ~level:7 "graph after join(%d,%d) @.%a@." v1 v2 print_debug res; + Options.debug ~level:7 "graph after join(%d,%d):@;<2>@[%a@]" v1 v2 print_debug res; begin try assert_invariants res with Assert_failure _ -> Options.debug "join(%d,%d) failed" v1 v2; - Options.debug "graph before join(%d,%d) @.%a@." v1 v2 print_debug x; - Options.debug "graph after join(%d,%d) @.%a@." v1 v2 print_debug res; + Options.debug "graph before join(%d,%d):@;<2>@[%a@]" v1 v2 print_debug x; + Options.debug "graph after join(%d,%d):@;<2>@[ %a@]" v1 v2 print_debug res; assert_invariants res end; res @@ -654,15 +666,15 @@ let join (x:t) (v1:V.t) (v2:V.t) : t = let merge_set (x:t) (vs:VSet.t) : V.t * t = let v0 = VSet.choose vs in if VSet.cardinal vs < 2 then v0, x else begin - Options.debug ~level:7 "graph before merge_set %a @.%a@." VSet.pretty vs print_debug x; + Options.debug ~level:7 "graph before merge_set %a:@;<2>@[%a@]" VSet.pretty vs print_debug x; assert (G.mem_vertex x.graph v0); let result = VSet.fold (fun v acc -> merge acc v0 v) vs x in - Options.debug ~level:7 "graph after merge_set %a @.%a@." VSet.pretty vs print_debug result; + Options.debug ~level:7 "graph after merge_set %a:@;<2>@[%a@]" VSet.pretty vs print_debug result; v0, result end let rec join_succs (x:t) v = - Options.debug ~level:8 "joining successors of %d@." v; + Options.debug ~level:8 "joining successors of %d" v; if not @@ G.mem_vertex x.graph v then x else match G.succ x.graph v with | [] | [_] -> x @@ -733,7 +745,7 @@ let is_included (a1:t) (a2:t) = (* tests if a1 is included in a2, at least as the nodes with lval *) assert_invariants a1; assert_invariants a2; - Options.debug ~level:8 "testing equal @.%a@. AND à .%a@." (pretty ~debug:true) a1 (pretty ~debug:true) a2; + Options.debug ~level:8 "testing equal %a AND à .%a" (pretty ~debug:true) a1 (pretty ~debug:true) a2; try let iter_lmap (lv:Lval.t) (v1:V.t): unit = let v2 : V.t = try LLMap.find lv a2.lmap with Not_found -> raise Not_included in @@ -773,7 +785,7 @@ let is_empty s = let shift (a : t) : t = assert_invariants a; if is_empty a then a else - let () = Options.debug ~level:8 "before shift: node_counter=%d@.%a@." !node_counter print_debug a in + let () = Options.debug ~level:8 "before shift: node_counter=%d@.%a" !node_counter print_debug a in let max_idx = G.fold_vertex max a.graph 0 in let min_idx = G.fold_vertex min a.graph max_idx in let offset = !node_counter - min_idx in @@ -783,13 +795,12 @@ let shift (a : t) : t = in let {graph; lmap; vmap} = a in node_counter := max_idx + offset + 1; - let () = Options.debug ~level:8 "node_counter after shift: %d@." !node_counter in let result = {graph = G.map_vertex shift graph; lmap = LLMap.map shift lmap; vmap = shift_vmap (fun (key, l) -> (shift key, l)) vmap} in - let () = Options.debug ~level:8 "after shift: node_counter=%d@.%a@." !node_counter print_debug result in + let () = Options.debug ~level:8 "after shift: node_counter=%d@.%a" !node_counter print_debug result in assert_invariants result; result @@ -828,10 +839,10 @@ let union (a1:t) (a2:t) :t = assert_invariants a1; assert_invariants a2; - Options.debug ~level:4 "Union: First graph:@.%a@." print_graph a1; - Options.debug ~level:5 "Union: First graph:@.%a@." print_debug a1; - Options.debug ~level:4 "Union: Second graph:@.%a@." print_graph a2; - Options.debug ~level:5 "Union: Second graph:@.%a@." print_debug a2; + Options.debug ~level:4 "Union: First graph:%a" print_graph a1; + Options.debug ~level:5 "Union: First graph:%a" print_debug a1; + Options.debug ~level:4 "Union: Second graph:%a" print_graph a2; + Options.debug ~level:5 "Union: Second graph:%a" print_debug a2; let new_graph = G.fold_vertex (fun v2 g -> G.add_vertex g v2) @@ -856,7 +867,7 @@ let union (a1:t) (a2:t) :t = let new_lmap = LLMap.union a1.lmap a2.lmap in Options.debug ~level:7 "Union: sets to be joined:@["; VMap.iter (fun _ set -> Options.debug ~level:7 "%a" VSet.pretty set) sets_to_be_joined; - Options.debug ~level:7 "@]@."; + Options.debug ~level:7 "@]"; let new_a = {graph = new_graph; lmap = new_lmap; vmap = new_vmap} in let merged_nodes, new_a = VMap.fold @@ -865,18 +876,18 @@ let union (a1:t) (a2:t) :t = ([], new_a) in let new_a = List.fold_left join_succs new_a merged_nodes in - Options.debug ~level:4 "Union: Result graph:@.%a@." print_graph new_a; - Options.debug ~level:5 "Union: Result graph:@.%a@." print_debug new_a; + Options.debug ~level:4 "Union: Result graph:%a" print_graph new_a; + Options.debug ~level:5 "Union: Result graph:%a" print_debug new_a; begin try assert_invariants new_a with Assert_failure _ -> Options.debug "union failed"; - Options.debug "Union: First graph:@.%a@." print_graph a1; - Options.debug "Union: First graph:@.%a@." print_debug a1; - Options.debug "Union: Second graph:@.%a@." print_graph a2; - Options.debug "Union: Second graph:@.%a@." print_debug a2; - Options.debug "Union: Result graph:@.%a@." print_graph new_a; - Options.debug "Union: Result graph:@.%a@." print_debug new_a; + Options.debug "Union: First graph:%a" print_graph a1; + Options.debug "Union: First graph:%a" print_debug a1; + Options.debug "Union: Second graph:%a" print_graph a2; + Options.debug "Union: Second graph:%a" print_debug a2; + Options.debug "Union: Result graph:%a" print_graph new_a; + Options.debug "Union: Result graph:%a" print_debug new_a; assert_invariants new_a end; new_a @@ -909,8 +920,8 @@ let make_summary (s: t option) (kf: kernel_function) = None, _ | _, BNone -> s | Some s, lv -> let _, new_s = find_or_create_vertex lv s in - (* Format.printf "DEBUG: new state BEFORE finding %a:@.%a@." Lval.pretty lv (pretty ~debug:true) s; *) - (* Format.printf "DEBUG: new state AFTER finding %a:@.%a@." Lval.pretty lv (pretty ~debug:true) new_s; *) + (* Format.printf "DEBUG: new state BEFORE finding %a:%a" Lval.pretty lv (pretty ~debug:true) s; *) + (* Format.printf "DEBUG: new state AFTER finding %a:%a" Lval.pretty lv (pretty ~debug:true) new_s; *) Some new_s end in @@ -922,24 +933,26 @@ let make_summary (s: t option) (kf: kernel_function) = } -let pretty_summary ?(debug=false) ?(function_name="") fmt s = +let pretty_summary ?(debug=false) fmt s = let print_list_lval fmt (l: lval list) = List.iter (fun x -> Format.fprintf fmt "%a " Cil_datatype.Lval.pretty x) l in let print_option pp fmt x = match x with | Some x -> pp fmt x - | None -> Format.fprintf fmt "<None>" + | None -> Format.fprintf fmt "<none>" in match s.state with - None -> if debug then Format.fprintf fmt "@Summary of function %s is not in the table @." function_name - | Some s when is_empty s -> if debug then Format.fprintf fmt "@Summary of function %s is empty @." function_name + | None -> if debug then Format.fprintf fmt "not found" + | Some s when is_empty s -> if debug then Format.fprintf fmt "empty" | _ -> begin - Format.fprintf fmt "@[<hov 2>Summary of function %s: @." function_name; (* Format.fprintf fmt "state not empty"; *) - Format.fprintf fmt "formals: %a locals : %a return expression: %a @.State: @[<hov 2>%a@] " print_list_lval s.formals print_list_lval s.locals (print_option Exp.pretty) s.return (print_option (pretty ~debug)) s.state; - Format.fprintf fmt "@]@." + Format.fprintf fmt "@[formals: @[%a@]@;<3>locals: @[%a@]@;<3>returns: @[%a@]@;<3>state: @[%a@] " + print_list_lval s.formals + print_list_lval s.locals + (print_option Exp.pretty) s.return + (print_option @@ pretty ~debug) s.state; end (* the algorithm: diff --git a/src/plugins/alias/abstract_state.mli b/src/plugins/alias/abstract_state.mli index c046771e438..41dfadfeec3 100644 --- a/src/plugins/alias/abstract_state.mli +++ b/src/plugins/alias/abstract_state.mli @@ -123,7 +123,7 @@ type summary val make_summary : t option -> kernel_function -> summary (** pretty printer *) -val pretty_summary : ?debug:bool -> ?function_name:string -> Format.formatter -> summary -> unit +val pretty_summary : ?debug:bool -> Format.formatter -> summary -> unit (** [call a res args s] computes the abstract state after the instruction res=f(args), with f summarized by [s]. [a] is the abstract state before the call *) diff --git a/src/plugins/alias/analysis.ml b/src/plugins/alias/analysis.ml index e2d27fc9555..7d3613d0036 100644 --- a/src/plugins/alias/analysis.ml +++ b/src/plugins/alias/analysis.ml @@ -155,15 +155,15 @@ let analyse_instr (s:stmt) (i:instr) (a:Abstract_state.t option) : Abstract_sta let pp_abstract_state_opt ?(debug=false) fmt v = match v with - | None -> Format.fprintf fmt "<Bot>" + | None -> Format.fprintf fmt "⊥" | Some a -> Abstract_state.pretty ~debug fmt a let do_instr (s:stmt) (i:instr) (a:Abstract_state.t option) : Abstract_state.t option = - Options.feedback ~level:3 "analysing instruction: %a" Printer.pp_stmt s; + Options.feedback ~level:3 "@[analysing instruction:@ %a@]" Printer.pp_stmt s; let result = analyse_instr s i a in - Options.feedback ~level:3 "May-aliases at the end of instruction: %a@.%a@." + Options.feedback ~level:3 "@[May-aliases after instruction@;<2>@[%a@]@;<2>are@;<2>@[%a@]@]" Printer.pp_stmt s (pp_abstract_state_opt ~debug:false) result; - Options.debug ~level:3 "May-alias graph at the end of instruction: %a@.%a@." + Options.debug ~level:3 "@[May-alias graph after instruction@;<2>@[%a@]@;<2>is@;<4>@[%a@]@]" Printer.pp_stmt s (pp_abstract_state_opt ~debug:true) result; result @@ -247,10 +247,10 @@ let analyse_function (kf:kernel_function) = let doFunction (kf:kernel_function) = let final_state = analyse_function kf in let level = if Kernel_function.is_main kf then 1 else 2 in - Options.feedback ~level "May-aliases at the end of function %a:@.%a@." + Options.feedback ~level "@[May-aliases at the end of function %a:@ @[%a@]" Kernel_function.pretty kf (pp_abstract_state_opt ~debug:false) final_state; - Options.debug ~level "May-alias graph at the end of function %a:@.%a@." + Options.debug ~level "May-alias graph at the end of function %a:@;<4>@[%a@]" Kernel_function.pretty kf (pp_abstract_state_opt ~debug:true) final_state; let result = @@ -260,10 +260,9 @@ let doFunction (kf:kernel_function) = | _ -> begin let summary = Abstract_state.make_summary final_state kf in - let function_name = Kernel_function.get_name kf in - Options.debug ~level:2 "Summary of function %a:@.%a@." + Options.debug ~level:2 "Summary of function %a:@ @[%a@]" Kernel_function.pretty kf - (Abstract_state.pretty_summary ~debug:false ~function_name) summary; + (Abstract_state.pretty_summary ~debug:false) summary; Some summary end in @@ -312,15 +311,16 @@ let compute () = | None -> Format.fprintf fmt "<Bot>" | Some a -> Abstract_state.pretty ~debug:(Options.DebugTable.get()) fmt a in - Format.fprintf fmt "Before statement %a :@.@[<hov 2> %a@]@." print_key k print_value v + Format.fprintf fmt "Before statement %a :@[<hov 2> %a@]" print_key k print_value v in - let print_function_table_elt fmt kf s :unit = - let function_name = - Kernel_function.get_name kf - in + let print_function_table_elt fmt kf s : unit = + let function_name = Kernel_function.get_name kf in match s with - None -> Options.debug "function %s -> None@." function_name - | Some s -> Abstract_state.pretty_summary ~debug:(Options.DebugTable.get()) ~function_name fmt s + | None -> Options.debug "function %s -> None" function_name + | Some s -> + Format.fprintf fmt "Summary of function %s:@;<5 2>@[%a@]@." + function_name + (Abstract_state.pretty_summary ~debug:(Options.DebugTable.get())) s in if Options.ShowStmtTable.get() then Stmt_table.iter (print_stmt_table_elt Format.std_formatter); diff --git a/src/plugins/alias/simplified.ml b/src/plugins/alias/simplified.ml index 1f112950961..4ee158e677e 100644 --- a/src/plugins/alias/simplified.ml +++ b/src/plugins/alias/simplified.ml @@ -184,7 +184,7 @@ struct Format.fprintf fmt " %a -> %a" f_key k f_val v ) m; - Format.fprintf fmt " @]}@." + Format.fprintf fmt " @]}" let pretty f fmt m = print Simplified_lval.pretty f fmt m end @@ -195,7 +195,7 @@ struct let print (f_elt: Format.formatter -> elt -> unit) fmt (m: t) = let is_first = ref true in - Format.fprintf fmt "{@[<hov 2>"; + Format.fprintf fmt "{@["; iter (fun e -> if !is_first then @@ -205,7 +205,7 @@ struct Format.fprintf fmt "%a" f_elt e ) m; - Format.fprintf fmt "@]}@?" + Format.fprintf fmt "@]}" let pretty fmt s = print Simplified_lval.pretty fmt s diff --git a/src/plugins/alias/tests/basic/oracle/addrof.res.oracle b/src/plugins/alias/tests/basic/oracle/addrof.res.oracle index 1bd037d387d..8b2b579be28 100644 --- a/src/plugins/alias/tests/basic/oracle/addrof.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/addrof.res.oracle @@ -1,25 +1,15 @@ [kernel] Parsing addrof.c (with preprocessing) [alias] analysing function: main [alias] analysing instruction: a = & x; -[alias] May-aliases at the end of instruction: a = & x; - {*a, x} are aliased +[alias] May-aliases after instruction a = & x; are {*a, x} [alias] analysing instruction: b = & y; -[alias] May-aliases at the end of instruction: b = & y; - {*a, x} are aliased - {*b, y} are aliased +[alias] May-aliases after instruction b = & y; are {*a, x} {*b, y} [alias] analysing instruction: y = & z; -[alias] May-aliases at the end of instruction: y = & z; - {*a, x} are aliased - {*b, y} are aliased - {*(*b), *y, z} are aliased +[alias] May-aliases after instruction y = & z; are + {*a, x} {*b, y} {*(*b), *y, z} [alias] analysing instruction: *y = x; -[alias] May-aliases at the end of instruction: *y = x; - {*(*b), *a, *y, x} are aliased - {*b, a, y} are aliased +[alias] May-aliases after instruction *y = x; are {*(*b), *a, *y, x} {*b, a, y} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {*b, a, y} are aliased - {*(*b), *a, *y, x, z} are aliased -[alias] May-aliases at the end of function main: - {*b, a, y} are aliased - {*(*b), *a, *y, x, z} are aliased +[alias] May-aliases after instruction __retres = 0; are + {*b, a, y} {*(*b), *a, *y, x, z} +[alias] May-aliases at the end of function main: {*b, a, y} {*(*b), *a, *y, x, z} diff --git a/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle index 35feff272aa..b3522cdd4e0 100644 --- a/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/assignment1.res.oracle @@ -2,31 +2,22 @@ [alias] analysing function: main [alias] analysing instruction: int *a = (int *)0; [alias:unsafe-cast] assignment1.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *a = (int *)0; - <none> +[alias] May-aliases after instruction int *a = (int *)0; are <none> [alias] analysing instruction: int *b = (int *)0; [alias:unsafe-cast] assignment1.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *b = (int *)0; - <none> +[alias] May-aliases after instruction int *b = (int *)0; are <none> [alias] analysing instruction: int *c = (int *)0; [alias:unsafe-cast] assignment1.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *c = (int *)0; - <none> +[alias] May-aliases after instruction int *c = (int *)0; are <none> [alias] analysing instruction: int *d = (int *)0; [alias:unsafe-cast] assignment1.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *d = (int *)0; - <none> +[alias] May-aliases after instruction int *d = (int *)0; are <none> [alias] analysing instruction: a = b; -[alias] May-aliases at the end of instruction: a = b; - {a, b} are aliased +[alias] May-aliases after instruction a = b; are {a, b} [alias] analysing instruction: b = c; -[alias] May-aliases at the end of instruction: b = c; - {a, b, c} are aliased +[alias] May-aliases after instruction b = c; are {a, b, c} [alias] analysing instruction: a = d; -[alias] May-aliases at the end of instruction: a = d; - {a, b, c, d} are aliased +[alias] May-aliases after instruction a = d; are {a, b, c, d} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a, b, c, d} are aliased -[alias] May-aliases at the end of function main: - {a, b, c, d} are aliased +[alias] May-aliases after instruction __retres = 0; are {a, b, c, d} +[alias] May-aliases at the end of function main: {a, b, c, d} diff --git a/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle index 0752c920750..3b9e86290c5 100644 --- a/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/assignment2.res.oracle @@ -2,35 +2,22 @@ [alias] analysing function: main [alias] analysing instruction: int **a = (int **)0; [alias:unsafe-cast] assignment2.c:8: Warning: unsafe cast from int to int ** -[alias] May-aliases at the end of instruction: int **a = (int **)0; - <none> +[alias] May-aliases after instruction int **a = (int **)0; are <none> [alias] analysing instruction: int *b = (int *)0; [alias:unsafe-cast] assignment2.c:8: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *b = (int *)0; - <none> +[alias] May-aliases after instruction int *b = (int *)0; are <none> [alias] analysing instruction: int **c = (int **)0; [alias:unsafe-cast] assignment2.c:8: Warning: unsafe cast from int to int ** -[alias] May-aliases at the end of instruction: int **c = (int **)0; - <none> +[alias] May-aliases after instruction int **c = (int **)0; are <none> [alias] analysing instruction: int *d = (int *)0; [alias:unsafe-cast] assignment2.c:8: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *d = (int *)0; - <none> +[alias] May-aliases after instruction int *d = (int *)0; are <none> [alias] analysing instruction: *a = b; -[alias] May-aliases at the end of instruction: *a = b; - {*a, b} are aliased +[alias] May-aliases after instruction *a = b; are {*a, b} [alias] analysing instruction: *c = d; -[alias] May-aliases at the end of instruction: *c = d; - {*a, b} are aliased - {*c, d} are aliased +[alias] May-aliases after instruction *c = d; are {*a, b} {*c, d} [alias] analysing instruction: a = c; -[alias] May-aliases at the end of instruction: a = c; - {a, c} are aliased - {*a, *c, b, d} are aliased +[alias] May-aliases after instruction a = c; are {a, c} {*a, *c, b, d} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a, c} are aliased - {*a, *c, b, d} are aliased -[alias] May-aliases at the end of function main: - {a, c} are aliased - {*a, *c, b, d} are aliased +[alias] May-aliases after instruction __retres = 0; are {a, c} {*a, *c, b, d} +[alias] May-aliases at the end of function main: {a, c} {*a, *c, b, d} diff --git a/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle index 7c4c81fba2c..12ea8d48056 100644 --- a/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/assignment3.res.oracle @@ -2,23 +2,16 @@ [alias] analysing function: main [alias] analysing instruction: int *a = (int *)0; [alias:unsafe-cast] assignment3.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *a = (int *)0; - <none> +[alias] May-aliases after instruction int *a = (int *)0; are <none> [alias] analysing instruction: int b = 0; -[alias] May-aliases at the end of instruction: int b = 0; - <none> +[alias] May-aliases after instruction int b = 0; are <none> [alias] analysing instruction: int *c = (int *)0; [alias:unsafe-cast] assignment3.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *c = (int *)0; - <none> +[alias] May-aliases after instruction int *c = (int *)0; are <none> [alias] analysing instruction: a = & b; -[alias] May-aliases at the end of instruction: a = & b; - <none> +[alias] May-aliases after instruction a = & b; are <none> [alias] analysing instruction: c = & b; -[alias] May-aliases at the end of instruction: c = & b; - {a, c} are aliased +[alias] May-aliases after instruction c = & b; are {a, c} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a, c} are aliased -[alias] May-aliases at the end of function main: - {a, c} are aliased +[alias] May-aliases after instruction __retres = 0; are {a, c} +[alias] May-aliases at the end of function main: {a, c} diff --git a/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle index 511454fecf5..f85c245dc1c 100644 --- a/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/assignment4.res.oracle @@ -2,35 +2,22 @@ [alias] analysing function: main [alias] analysing instruction: int **a = (int **)0; [alias:unsafe-cast] assignment4.c:8: Warning: unsafe cast from int to int ** -[alias] May-aliases at the end of instruction: int **a = (int **)0; - <none> +[alias] May-aliases after instruction int **a = (int **)0; are <none> [alias] analysing instruction: int *b = (int *)0; [alias:unsafe-cast] assignment4.c:8: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *b = (int *)0; - <none> +[alias] May-aliases after instruction int *b = (int *)0; are <none> [alias] analysing instruction: int **c = (int **)0; [alias:unsafe-cast] assignment4.c:8: Warning: unsafe cast from int to int ** -[alias] May-aliases at the end of instruction: int **c = (int **)0; - <none> +[alias] May-aliases after instruction int **c = (int **)0; are <none> [alias] analysing instruction: int *d = (int *)0; [alias:unsafe-cast] assignment4.c:8: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *d = (int *)0; - <none> +[alias] May-aliases after instruction int *d = (int *)0; are <none> [alias] analysing instruction: *a = b; -[alias] May-aliases at the end of instruction: *a = b; - {*a, b} are aliased +[alias] May-aliases after instruction *a = b; are {*a, b} [alias] analysing instruction: *c = d; -[alias] May-aliases at the end of instruction: *c = d; - {*a, b} are aliased - {*c, d} are aliased +[alias] May-aliases after instruction *c = d; are {*a, b} {*c, d} [alias] analysing instruction: b = d; -[alias] May-aliases at the end of instruction: b = d; - {a, c} are aliased - {*a, *c, b, d} are aliased +[alias] May-aliases after instruction b = d; are {a, c} {*a, *c, b, d} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a, c} are aliased - {*a, *c, b, d} are aliased -[alias] May-aliases at the end of function main: - {a, c} are aliased - {*a, *c, b, d} are aliased +[alias] May-aliases after instruction __retres = 0; are {a, c} {*a, *c, b, d} +[alias] May-aliases at the end of function main: {a, c} {*a, *c, b, d} diff --git a/src/plugins/alias/tests/basic/oracle/assignment5.res.oracle b/src/plugins/alias/tests/basic/oracle/assignment5.res.oracle index 694d63e0307..d669aaccb4e 100644 --- a/src/plugins/alias/tests/basic/oracle/assignment5.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/assignment5.res.oracle @@ -2,35 +2,22 @@ [alias] analysing function: main [alias] analysing instruction: int ***a = (int ***)0; [alias:unsafe-cast] assignment5.c:7: Warning: unsafe cast from int to int *** -[alias] May-aliases at the end of instruction: int ***a = (int ***)0; - <none> +[alias] May-aliases after instruction int ***a = (int ***)0; are <none> [alias] analysing instruction: int **b = (int **)0; [alias:unsafe-cast] assignment5.c:7: Warning: unsafe cast from int to int ** -[alias] May-aliases at the end of instruction: int **b = (int **)0; - <none> +[alias] May-aliases after instruction int **b = (int **)0; are <none> [alias] analysing instruction: int *c = (int *)0; [alias:unsafe-cast] assignment5.c:7: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *c = (int *)0; - <none> +[alias] May-aliases after instruction int *c = (int *)0; are <none> [alias] analysing instruction: int *d = (int *)0; [alias:unsafe-cast] assignment5.c:7: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *d = (int *)0; - <none> +[alias] May-aliases after instruction int *d = (int *)0; are <none> [alias] analysing instruction: *a = b; -[alias] May-aliases at the end of instruction: *a = b; - {*a, b} are aliased +[alias] May-aliases after instruction *a = b; are {*a, b} [alias] analysing instruction: *b = c; -[alias] May-aliases at the end of instruction: *b = c; - {*a, b} are aliased - {*(*a), *b, c} are aliased +[alias] May-aliases after instruction *b = c; are {*a, b} {*(*a), *b, c} [alias] analysing instruction: d = *(*a); -[alias] May-aliases at the end of instruction: d = *(*a); - {*a, b} are aliased - {*(*a), *b, c, d} are aliased +[alias] May-aliases after instruction d = *(*a); are {*a, b} {*(*a), *b, c, d} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {*a, b} are aliased - {*(*a), *b, c, d} are aliased -[alias] May-aliases at the end of function main: - {*a, b} are aliased - {*(*a), *b, c, d} are aliased +[alias] May-aliases after instruction __retres = 0; are {*a, b} {*(*a), *b, c, d} +[alias] May-aliases at the end of function main: {*a, b} {*(*a), *b, c, d} diff --git a/src/plugins/alias/tests/basic/oracle/cast1.res.oracle b/src/plugins/alias/tests/basic/oracle/cast1.res.oracle index 66df1e6f0e9..0f17af6ac7e 100644 --- a/src/plugins/alias/tests/basic/oracle/cast1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/cast1.res.oracle @@ -2,33 +2,22 @@ [alias] analysing function: main [alias] analysing instruction: int *a = (int *)0; [alias:unsafe-cast] cast1.c:8: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *a = (int *)0; - <none> +[alias] May-aliases after instruction int *a = (int *)0; are <none> [alias] analysing instruction: int *b = (int *)0; [alias:unsafe-cast] cast1.c:8: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *b = (int *)0; - <none> +[alias] May-aliases after instruction int *b = (int *)0; are <none> [alias] analysing instruction: float *c = (float *)0; [alias:unsafe-cast] cast1.c:9: Warning: unsafe cast from int to float * -[alias] May-aliases at the end of instruction: float *c = (float *)0; - <none> +[alias] May-aliases after instruction float *c = (float *)0; are <none> [alias] analysing instruction: float *d = (float *)0; [alias:unsafe-cast] cast1.c:9: Warning: unsafe cast from int to float * -[alias] May-aliases at the end of instruction: float *d = (float *)0; - <none> +[alias] May-aliases after instruction float *d = (float *)0; are <none> [alias] analysing instruction: a = (int *)c; [alias:unsafe-cast] cast1.c:10: Warning: unsafe cast from float * to int * -[alias] May-aliases at the end of instruction: a = (int *)c; - {a, c} are aliased +[alias] May-aliases after instruction a = (int *)c; are {a, c} [alias] analysing instruction: d = (float *)b; [alias:unsafe-cast] cast1.c:11: Warning: unsafe cast from int * to float * -[alias] May-aliases at the end of instruction: d = (float *)b; - {a, c} are aliased - {b, d} are aliased +[alias] May-aliases after instruction d = (float *)b; are {a, c} {b, d} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a, c} are aliased - {b, d} are aliased -[alias] May-aliases at the end of function main: - {a, c} are aliased - {b, d} are aliased +[alias] May-aliases after instruction __retres = 0; are {a, c} {b, d} +[alias] May-aliases at the end of function main: {a, c} {b, d} diff --git a/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle b/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle index 9b38a767a32..bc8f602898d 100644 --- a/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/conditional1.res.oracle @@ -2,27 +2,19 @@ [alias] analysing function: main [alias] analysing instruction: int *a = (int *)0; [alias:unsafe-cast] conditional1.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *a = (int *)0; - <none> +[alias] May-aliases after instruction int *a = (int *)0; are <none> [alias] analysing instruction: int *b = (int *)0; [alias:unsafe-cast] conditional1.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *b = (int *)0; - <none> +[alias] May-aliases after instruction int *b = (int *)0; are <none> [alias] analysing instruction: int *c = (int *)0; [alias:unsafe-cast] conditional1.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *c = (int *)0; - <none> +[alias] May-aliases after instruction int *c = (int *)0; are <none> [alias] analysing instruction: a = b; -[alias] May-aliases at the end of instruction: a = b; - {a, b} are aliased +[alias] May-aliases after instruction a = b; are {a, b} [alias] analysing instruction: a = c; -[alias] May-aliases at the end of instruction: a = c; - {a, c} are aliased +[alias] May-aliases after instruction a = c; are {a, c} [alias] analysing instruction: *a = 4; -[alias] May-aliases at the end of instruction: *a = 4; - {a, b, c} are aliased +[alias] May-aliases after instruction *a = 4; are {a, b, c} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a, b, c} are aliased -[alias] May-aliases at the end of function main: - {a, b, c} are aliased +[alias] May-aliases after instruction __retres = 0; are {a, b, c} +[alias] May-aliases at the end of function main: {a, b, c} diff --git a/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle b/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle index 9d42e210d8c..6088f9fb04d 100644 --- a/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/conditional2.res.oracle @@ -1,32 +1,19 @@ [kernel] Parsing conditional2.c (with preprocessing) [alias] analysing function: main [alias] analysing instruction: b = & c; -[alias] May-aliases at the end of instruction: b = & c; - {*b, c} are aliased +[alias] May-aliases after instruction b = & c; are {*b, c} [alias] analysing instruction: c = & d; -[alias] May-aliases at the end of instruction: c = & d; - {*b, c} are aliased - {*(*b), *c, d} are aliased +[alias] May-aliases after instruction c = & d; are {*b, c} {*(*b), *c, d} [alias] analysing instruction: d = & e; -[alias] May-aliases at the end of instruction: d = & e; - {*b, c} are aliased - {*(*b), *c, d} are aliased +[alias] May-aliases after instruction d = & e; are {*b, c} {*(*b), *c, d} [alias] analysing instruction: a = b; -[alias] May-aliases at the end of instruction: a = b; - {*a, *b, c} are aliased - {*(*a), *(*b), *c, d} are aliased - {a, b} are aliased +[alias] May-aliases after instruction a = b; are + {*a, *b, c} {*(*a), *(*b), *c, d} {a, b} [alias] analysing instruction: a = & c; -[alias] May-aliases at the end of instruction: a = & c; - {*a, *b, c} are aliased - {*(*a), *(*b), *c, d} are aliased - {a, b} are aliased +[alias] May-aliases after instruction a = & c; are + {*a, *b, c} {*(*a), *(*b), *c, d} {a, b} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {*a, *b, c} are aliased - {*(*a), *(*b), *c, d} are aliased - {a, b} are aliased +[alias] May-aliases after instruction __retres = 0; are + {*a, *b, c} {*(*a), *(*b), *c, d} {a, b} [alias] May-aliases at the end of function main: - {*a, *b, c} are aliased - {*(*a), *(*b), *c, d} are aliased - {a, b} are aliased + {*a, *b, c} {*(*a), *(*b), *c, d} {a, b} diff --git a/src/plugins/alias/tests/basic/oracle/conditional3.res.oracle b/src/plugins/alias/tests/basic/oracle/conditional3.res.oracle index ae89a264580..19088629ddb 100644 --- a/src/plugins/alias/tests/basic/oracle/conditional3.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/conditional3.res.oracle @@ -1,55 +1,35 @@ [kernel] Parsing conditional3.c (with preprocessing) [alias] analysing function: main [alias] analysing instruction: a = b; -[alias] May-aliases at the end of instruction: a = b; - {a, b} are aliased +[alias] May-aliases after instruction a = b; are {a, b} [alias] analysing instruction: b = & i; -[alias] May-aliases at the end of instruction: b = & i; - {a, b} are aliased - {*a, *b, i} are aliased +[alias] May-aliases after instruction b = & i; are {a, b} {*a, *b, i} [alias] analysing instruction: i = & x; -[alias] May-aliases at the end of instruction: i = & x; - {a, b} are aliased - {*a, *b, i} are aliased - {*(*a), *(*b), *i, x} are aliased +[alias] May-aliases after instruction i = & x; are + {a, b} {*a, *b, i} {*(*a), *(*b), *i, x} [alias] analysing instruction: x = & t; -[alias] May-aliases at the end of instruction: x = & t; - {a, b} are aliased - {*a, *b, i} are aliased - {*(*a), *(*b), *i, x} are aliased - {*(*(*a)), *(*(*b)), *(*i), *x, t} are aliased +[alias] May-aliases after instruction x = & t; are + {a, b} {*a, *b, i} {*(*a), *(*b), *i, x} + {*(*(*a)), *(*(*b)), *(*i), *x, t} [alias] analysing instruction: a = c; -[alias] May-aliases at the end of instruction: a = c; - {a, c} are aliased +[alias] May-aliases after instruction a = c; are {a, c} [alias] analysing instruction: c = & j; -[alias] May-aliases at the end of instruction: c = & j; - {a, c} are aliased - {*a, *c, j} are aliased +[alias] May-aliases after instruction c = & j; are {a, c} {*a, *c, j} [alias] analysing instruction: j = & y; -[alias] May-aliases at the end of instruction: j = & y; - {a, c} are aliased - {*a, *c, j} are aliased - {*(*a), *(*c), *j, y} are aliased +[alias] May-aliases after instruction j = & y; are + {a, c} {*a, *c, j} {*(*a), *(*c), *j, y} [alias] analysing instruction: y = & u; -[alias] May-aliases at the end of instruction: y = & u; - {a, c} are aliased - {*a, *c, j} are aliased - {*(*a), *(*c), *j, y} are aliased - {*(*(*a)), *(*(*c)), *(*j), *y, u} are aliased +[alias] May-aliases after instruction y = & u; are + {a, c} {*a, *c, j} {*(*a), *(*c), *j, y} + {*(*(*a)), *(*(*c)), *(*j), *y, u} [alias] analysing instruction: p = 0; -[alias] May-aliases at the end of instruction: p = 0; - {a, b, c} are aliased - {*a, *b, *c, i, j} are aliased - {*(*a), *(*b), *(*c), *i, *j, x, y} are aliased - {*(*(*a)), *(*(*b)), *(*(*c)), *(*i), *(*j), *x, *y, t, u} are aliased +[alias] May-aliases after instruction p = 0; are + {a, b, c} {*a, *b, *c, i, j} {*(*a), *(*b), *(*c), *i, *j, x, y} + {*(*(*a)), *(*(*b)), *(*(*c)), *(*i), *(*j), *x, *y, t, u} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a, b, c} are aliased - {*a, *b, *c, i, j} are aliased - {*(*a), *(*b), *(*c), *i, *j, x, y} are aliased - {*(*(*a)), *(*(*b)), *(*(*c)), *(*i), *(*j), *x, *y, t, u} are aliased +[alias] May-aliases after instruction __retres = 0; are + {a, b, c} {*a, *b, *c, i, j} {*(*a), *(*b), *(*c), *i, *j, x, y} + {*(*(*a)), *(*(*b)), *(*(*c)), *(*i), *(*j), *x, *y, t, u} [alias] May-aliases at the end of function main: - {a, b, c} are aliased - {*a, *b, *c, i, j} are aliased - {*(*a), *(*b), *(*c), *i, *j, x, y} are aliased - {*(*(*a)), *(*(*b)), *(*(*c)), *(*i), *(*j), *x, *y, t, u} are aliased + {a, b, c} {*a, *b, *c, i, j} {*(*a), *(*b), *(*c), *i, *j, x, y} + {*(*(*a)), *(*(*b)), *(*(*c)), *(*i), *(*j), *x, *y, t, u} diff --git a/src/plugins/alias/tests/basic/oracle/function1.res.oracle b/src/plugins/alias/tests/basic/oracle/function1.res.oracle index 0158b97495e..dc6162c6bfe 100644 --- a/src/plugins/alias/tests/basic/oracle/function1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/function1.res.oracle @@ -2,53 +2,35 @@ [alias] analysing function: main [alias] analysing instruction: int *a = (int *)0; [alias:unsafe-cast] function1.c:16: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *a = (int *)0; - <none> +[alias] May-aliases after instruction int *a = (int *)0; are <none> [alias] analysing instruction: int *b = (int *)0; [alias:unsafe-cast] function1.c:16: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *b = (int *)0; - <none> +[alias] May-aliases after instruction int *b = (int *)0; are <none> [alias] analysing instruction: int *c = (int *)0; [alias:unsafe-cast] function1.c:16: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *c = (int *)0; - <none> +[alias] May-aliases after instruction int *c = (int *)0; are <none> [alias] analysing instruction: int *d = (int *)0; [alias:unsafe-cast] function1.c:16: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *d = (int *)0; - <none> +[alias] May-aliases after instruction int *d = (int *)0; are <none> [alias] analysing instruction: swap(a,b); [alias] analysing function: swap [alias] analysing instruction: int *z = (int *)0; [alias:unsafe-cast] function1.c:7: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *z = (int *)0; - <none> +[alias] May-aliases after instruction int *z = (int *)0; are <none> [alias] analysing instruction: z = x; -[alias] May-aliases at the end of instruction: z = x; - {x, z} are aliased +[alias] May-aliases after instruction z = x; are {x, z} [alias] analysing instruction: x = y; -[alias] May-aliases at the end of instruction: x = y; - {x, y, z} are aliased +[alias] May-aliases after instruction x = y; are {x, y, z} [alias] analysing instruction: y = z; -[alias] May-aliases at the end of instruction: y = z; - {x, y, z} are aliased -[alias] May-aliases at the end of function swap: - {x, y, z} are aliased -[alias] May-aliases at the end of instruction: swap(a,b); - {a, b} are aliased +[alias] May-aliases after instruction y = z; are {x, y, z} +[alias] May-aliases at the end of function swap: {x, y, z} +[alias] May-aliases after instruction swap(a,b); are {a, b} [alias] analysing instruction: swap(c,d); -[alias] May-aliases at the end of instruction: swap(c,d); - {a, b} are aliased - {c, d} are aliased +[alias] May-aliases after instruction swap(c,d); are {a, b} {c, d} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a, b} are aliased - {c, d} are aliased -[alias] May-aliases at the end of function main: - {a, b} are aliased - {c, d} are aliased +[alias] May-aliases after instruction __retres = 0; are {a, b} {c, d} +[alias] May-aliases at the end of function main: {a, b} {c, d} [alias] analysing function: swap [alias] analysing instruction: int *z = (int *)0; -[alias] May-aliases at the end of instruction: int *z = (int *)0; - <none> -[alias] May-aliases at the end of function swap: - {x, y, z} are aliased +[alias] May-aliases after instruction int *z = (int *)0; are <none> +[alias] May-aliases at the end of function swap: {x, y, z} diff --git a/src/plugins/alias/tests/basic/oracle/function2.res.oracle b/src/plugins/alias/tests/basic/oracle/function2.res.oracle index 48b64d74e02..1e2c3d8e7fc 100644 --- a/src/plugins/alias/tests/basic/oracle/function2.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/function2.res.oracle @@ -1,205 +1,139 @@ [kernel] Parsing function2.c (with preprocessing) [alias] analysing function: _Exit -[alias] May-aliases at the end of function _Exit: - <Bot> +[alias] May-aliases at the end of function _Exit: ⊥ [alias] analysing function: abort -[alias] May-aliases at the end of function abort: - <Bot> +[alias] May-aliases at the end of function abort: ⊥ [alias] analysing function: abs -[alias] May-aliases at the end of function abs: - <Bot> +[alias] May-aliases at the end of function abs: ⊥ [alias] analysing function: at_quick_exit -[alias] May-aliases at the end of function at_quick_exit: - <Bot> +[alias] May-aliases at the end of function at_quick_exit: ⊥ [alias] analysing function: atexit -[alias] May-aliases at the end of function atexit: - <Bot> +[alias] May-aliases at the end of function atexit: ⊥ [alias] analysing function: atof -[alias] May-aliases at the end of function atof: - <Bot> +[alias] May-aliases at the end of function atof: ⊥ [alias] analysing function: atoi -[alias] May-aliases at the end of function atoi: - <Bot> +[alias] May-aliases at the end of function atoi: ⊥ [alias] analysing function: atol -[alias] May-aliases at the end of function atol: - <Bot> +[alias] May-aliases at the end of function atol: ⊥ [alias] analysing function: atoll -[alias] May-aliases at the end of function atoll: - <Bot> +[alias] May-aliases at the end of function atoll: ⊥ [alias] analysing function: bsearch -[alias] May-aliases at the end of function bsearch: - <Bot> +[alias] May-aliases at the end of function bsearch: ⊥ [alias] analysing function: calloc -[alias] May-aliases at the end of function calloc: - <Bot> +[alias] May-aliases at the end of function calloc: ⊥ [alias] analysing function: div -[alias] May-aliases at the end of function div: - <Bot> +[alias] May-aliases at the end of function div: ⊥ [alias] analysing function: drand48 -[alias] May-aliases at the end of function drand48: - <Bot> +[alias] May-aliases at the end of function drand48: ⊥ [alias] analysing function: erand48 -[alias] May-aliases at the end of function erand48: - <Bot> +[alias] May-aliases at the end of function erand48: ⊥ [alias] analysing function: exit -[alias] May-aliases at the end of function exit: - <Bot> +[alias] May-aliases at the end of function exit: ⊥ [alias] analysing function: free -[alias] May-aliases at the end of function free: - <Bot> +[alias] May-aliases at the end of function free: ⊥ [alias] analysing function: getenv -[alias] May-aliases at the end of function getenv: - <Bot> +[alias] May-aliases at the end of function getenv: ⊥ [alias] analysing function: jrand48 -[alias] May-aliases at the end of function jrand48: - <Bot> +[alias] May-aliases at the end of function jrand48: ⊥ [alias] analysing function: labs -[alias] May-aliases at the end of function labs: - <Bot> +[alias] May-aliases at the end of function labs: ⊥ [alias] analysing function: lcong48 -[alias] May-aliases at the end of function lcong48: - <Bot> +[alias] May-aliases at the end of function lcong48: ⊥ [alias] analysing function: ldiv -[alias] May-aliases at the end of function ldiv: - <Bot> +[alias] May-aliases at the end of function ldiv: ⊥ [alias] analysing function: llabs -[alias] May-aliases at the end of function llabs: - <Bot> +[alias] May-aliases at the end of function llabs: ⊥ [alias] analysing function: lldiv -[alias] May-aliases at the end of function lldiv: - <Bot> +[alias] May-aliases at the end of function lldiv: ⊥ [alias] analysing function: lrand48 -[alias] May-aliases at the end of function lrand48: - <Bot> +[alias] May-aliases at the end of function lrand48: ⊥ [alias] analysing function: main [alias] analysing instruction: int *a = (int *)0; [alias:unsafe-cast] function2.c:14: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *a = (int *)0; - <none> +[alias] May-aliases after instruction int *a = (int *)0; are <none> [alias] analysing instruction: int *b = (int *)0; [alias:unsafe-cast] function2.c:14: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *b = (int *)0; - <none> +[alias] May-aliases after instruction int *b = (int *)0; are <none> [alias] analysing instruction: a = my_malloc(2); [alias] analysing function: my_malloc [alias] analysing instruction: int *res = (int *)0; [alias:unsafe-cast] function2.c:7: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *res = (int *)0; - <none> +[alias] May-aliases after instruction int *res = (int *)0; are <none> [alias] analysing instruction: res = (int *)malloc((size_t)size); -[alias] May-aliases at the end of instruction: res = (int *)malloc((size_t)size); - <none> -[alias] May-aliases at the end of function my_malloc: - <none> -[alias] May-aliases at the end of instruction: a = my_malloc(2); +[alias] May-aliases after instruction res = (int *)malloc((size_t)size); are <none> +[alias] May-aliases at the end of function my_malloc: <none> +[alias] May-aliases after instruction a = my_malloc(2); are <none> [alias] analysing instruction: b = my_malloc(3); -[alias] May-aliases at the end of instruction: b = my_malloc(3); - <none> +[alias] May-aliases after instruction b = my_malloc(3); are <none> [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - <none> -[alias] May-aliases at the end of function main: - <none> +[alias] May-aliases after instruction __retres = 0; are <none> +[alias] May-aliases at the end of function main: <none> [alias] analysing function: malloc -[alias] May-aliases at the end of function malloc: - <Bot> +[alias] May-aliases at the end of function malloc: ⊥ [alias] analysing function: mblen -[alias] May-aliases at the end of function mblen: - <Bot> +[alias] May-aliases at the end of function mblen: ⊥ [alias] analysing function: mbstowcs -[alias] May-aliases at the end of function mbstowcs: - <Bot> +[alias] May-aliases at the end of function mbstowcs: ⊥ [alias] analysing function: mbtowc -[alias] May-aliases at the end of function mbtowc: - <Bot> +[alias] May-aliases at the end of function mbtowc: ⊥ [alias] analysing function: mkstemp -[alias] May-aliases at the end of function mkstemp: - <Bot> +[alias] May-aliases at the end of function mkstemp: ⊥ [alias] analysing function: mkstemps -[alias] May-aliases at the end of function mkstemps: - <Bot> +[alias] May-aliases at the end of function mkstemps: ⊥ [alias] analysing function: mrand48 -[alias] May-aliases at the end of function mrand48: - <Bot> +[alias] May-aliases at the end of function mrand48: ⊥ [alias] analysing function: my_malloc [alias] analysing instruction: int *res = (int *)0; -[alias] May-aliases at the end of instruction: int *res = (int *)0; - <none> -[alias] May-aliases at the end of function my_malloc: - <none> +[alias] May-aliases after instruction int *res = (int *)0; are <none> +[alias] May-aliases at the end of function my_malloc: <none> [alias] analysing function: nrand48 -[alias] May-aliases at the end of function nrand48: - <Bot> +[alias] May-aliases at the end of function nrand48: ⊥ [alias] analysing function: posix_memalign -[alias] May-aliases at the end of function posix_memalign: - <Bot> +[alias] May-aliases at the end of function posix_memalign: ⊥ [alias] analysing function: putenv -[alias] May-aliases at the end of function putenv: - <Bot> +[alias] May-aliases at the end of function putenv: ⊥ [alias] analysing function: qsort -[alias] May-aliases at the end of function qsort: - <Bot> +[alias] May-aliases at the end of function qsort: ⊥ [alias] analysing function: quick_exit -[alias] May-aliases at the end of function quick_exit: - <Bot> +[alias] May-aliases at the end of function quick_exit: ⊥ [alias] analysing function: rand -[alias] May-aliases at the end of function rand: - <Bot> +[alias] May-aliases at the end of function rand: ⊥ [alias] analysing function: random -[alias] May-aliases at the end of function random: - <Bot> +[alias] May-aliases at the end of function random: ⊥ [alias] analysing function: realloc -[alias] May-aliases at the end of function realloc: - <Bot> +[alias] May-aliases at the end of function realloc: ⊥ [alias] analysing function: reallocarray -[alias] May-aliases at the end of function reallocarray: - <Bot> +[alias] May-aliases at the end of function reallocarray: ⊥ [alias] analysing function: seed48 -[alias] May-aliases at the end of function seed48: - <Bot> +[alias] May-aliases at the end of function seed48: ⊥ [alias] analysing function: setenv -[alias] May-aliases at the end of function setenv: - <Bot> +[alias] May-aliases at the end of function setenv: ⊥ [alias] analysing function: srand -[alias] May-aliases at the end of function srand: - <Bot> +[alias] May-aliases at the end of function srand: ⊥ [alias] analysing function: srand48 -[alias] May-aliases at the end of function srand48: - <Bot> +[alias] May-aliases at the end of function srand48: ⊥ [alias] analysing function: srandom -[alias] May-aliases at the end of function srandom: - <Bot> +[alias] May-aliases at the end of function srandom: ⊥ [alias] analysing function: strtod -[alias] May-aliases at the end of function strtod: - <Bot> +[alias] May-aliases at the end of function strtod: ⊥ [alias] analysing function: strtof -[alias] May-aliases at the end of function strtof: - <Bot> +[alias] May-aliases at the end of function strtof: ⊥ [alias] analysing function: strtol -[alias] May-aliases at the end of function strtol: - <Bot> +[alias] May-aliases at the end of function strtol: ⊥ [alias] analysing function: strtold -[alias] May-aliases at the end of function strtold: - <Bot> +[alias] May-aliases at the end of function strtold: ⊥ [alias] analysing function: strtoll -[alias] May-aliases at the end of function strtoll: - <Bot> +[alias] May-aliases at the end of function strtoll: ⊥ [alias] analysing function: strtoul -[alias] May-aliases at the end of function strtoul: - <Bot> +[alias] May-aliases at the end of function strtoul: ⊥ [alias] analysing function: strtoull -[alias] May-aliases at the end of function strtoull: - <Bot> +[alias] May-aliases at the end of function strtoull: ⊥ [alias] analysing function: system -[alias] May-aliases at the end of function system: - <Bot> +[alias] May-aliases at the end of function system: ⊥ [alias] analysing function: unsetenv -[alias] May-aliases at the end of function unsetenv: - <Bot> +[alias] May-aliases at the end of function unsetenv: ⊥ [alias] analysing function: wcstombs -[alias] May-aliases at the end of function wcstombs: - <Bot> +[alias] May-aliases at the end of function wcstombs: ⊥ [alias] analysing function: wctomb -[alias] May-aliases at the end of function wctomb: - <Bot> +[alias] May-aliases at the end of function wctomb: ⊥ diff --git a/src/plugins/alias/tests/basic/oracle/function3.res.oracle b/src/plugins/alias/tests/basic/oracle/function3.res.oracle index d61cfa89c47..eba69e81d45 100644 --- a/src/plugins/alias/tests/basic/oracle/function3.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/function3.res.oracle @@ -1,48 +1,32 @@ [kernel] Parsing function3.c (with preprocessing) [alias] analysing function: f1 [alias] analysing instruction: int *tmp = x; -[alias] May-aliases at the end of instruction: int *tmp = x; - {x, tmp} are aliased +[alias] May-aliases after instruction int *tmp = x; are {x, tmp} [alias] analysing instruction: x = y; -[alias] May-aliases at the end of instruction: x = y; - {x, y, tmp} are aliased +[alias] May-aliases after instruction x = y; are {x, y, tmp} [alias] analysing instruction: y = tmp; -[alias] May-aliases at the end of instruction: y = tmp; - {x, y, tmp} are aliased +[alias] May-aliases after instruction y = tmp; are {x, y, tmp} [alias] analysing instruction: __retres = (void *)0; [alias:unsafe-cast] function3.c:14: Warning: unsafe cast from int to void * -[alias] May-aliases at the end of instruction: __retres = (void *)0; - {x, y, tmp} are aliased -[alias] May-aliases at the end of function f1: - {x, y, tmp} are aliased +[alias] May-aliases after instruction __retres = (void *)0; are {x, y, tmp} +[alias] May-aliases at the end of function f1: {x, y, tmp} [alias] analysing function: main [alias] analysing instruction: int *a = (int *)0; [alias:unsafe-cast] function3.c:19: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *a = (int *)0; - <none> +[alias] May-aliases after instruction int *a = (int *)0; are <none> [alias] analysing instruction: int *b = (int *)0; [alias:unsafe-cast] function3.c:19: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *b = (int *)0; - <none> +[alias] May-aliases after instruction int *b = (int *)0; are <none> [alias] analysing instruction: int *c = (int *)0; [alias:unsafe-cast] function3.c:19: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *c = (int *)0; - <none> +[alias] May-aliases after instruction int *c = (int *)0; are <none> [alias] analysing instruction: int *d = (int *)0; [alias:unsafe-cast] function3.c:19: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *d = (int *)0; - <none> +[alias] May-aliases after instruction int *d = (int *)0; are <none> [alias] analysing instruction: f1(a,b); -[alias] May-aliases at the end of instruction: f1(a,b); - {a, b} are aliased +[alias] May-aliases after instruction f1(a,b); are {a, b} [alias] analysing instruction: f1(c,d); -[alias] May-aliases at the end of instruction: f1(c,d); - {a, b} are aliased - {c, d} are aliased +[alias] May-aliases after instruction f1(c,d); are {a, b} {c, d} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a, b} are aliased - {c, d} are aliased -[alias] May-aliases at the end of function main: - {a, b} are aliased - {c, d} are aliased +[alias] May-aliases after instruction __retres = 0; are {a, b} {c, d} +[alias] May-aliases at the end of function main: {a, b} {c, d} diff --git a/src/plugins/alias/tests/basic/oracle/function4.res.oracle b/src/plugins/alias/tests/basic/oracle/function4.res.oracle index ee692419b85..9cd4facfea6 100644 --- a/src/plugins/alias/tests/basic/oracle/function4.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/function4.res.oracle @@ -1,27 +1,19 @@ [kernel] Parsing function4.c (with preprocessing) [alias] analysing function: addr -[alias] May-aliases at the end of function addr: - <none> +[alias] May-aliases at the end of function addr: <none> [alias] analysing function: main [alias] analysing instruction: int *a = (int *)0; [alias:unsafe-cast] function4.c:11: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *a = (int *)0; - <none> +[alias] May-aliases after instruction int *a = (int *)0; are <none> [alias] analysing instruction: int *b = (int *)0; [alias:unsafe-cast] function4.c:11: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *b = (int *)0; - <none> +[alias] May-aliases after instruction int *b = (int *)0; are <none> [alias] analysing instruction: int c = 0; -[alias] May-aliases at the end of instruction: int c = 0; - <none> +[alias] May-aliases after instruction int c = 0; are <none> [alias] analysing instruction: a = addr(& c); -[alias] May-aliases at the end of instruction: a = addr(& c); - {a, &c} are aliased +[alias] May-aliases after instruction a = addr(& c); are {a, &c} [alias] analysing instruction: b = & c; -[alias] May-aliases at the end of instruction: b = & c; - {a, b} are aliased +[alias] May-aliases after instruction b = & c; are {a, b} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a, b} are aliased -[alias] May-aliases at the end of function main: - {a, b} are aliased +[alias] May-aliases after instruction __retres = 0; are {a, b} +[alias] May-aliases at the end of function main: {a, b} diff --git a/src/plugins/alias/tests/basic/oracle/function5.res.oracle b/src/plugins/alias/tests/basic/oracle/function5.res.oracle index c496bb34f2e..ed152049176 100644 --- a/src/plugins/alias/tests/basic/oracle/function5.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/function5.res.oracle @@ -1,34 +1,24 @@ [kernel] Parsing function5.c (with preprocessing) [alias] analysing function: choice [alias] analysing instruction: int c = 0; -[alias] May-aliases at the end of instruction: int c = 0; - <none> +[alias] May-aliases after instruction int c = 0; are <none> [alias] analysing instruction: __retres = x; -[alias] May-aliases at the end of instruction: __retres = x; - {x, __retres} are aliased +[alias] May-aliases after instruction __retres = x; are {x, __retres} [alias] analysing instruction: __retres = y; -[alias] May-aliases at the end of instruction: __retres = y; - {y, __retres} are aliased -[alias] May-aliases at the end of function choice: - {x, y, __retres} are aliased +[alias] May-aliases after instruction __retres = y; are {y, __retres} +[alias] May-aliases at the end of function choice: {x, y, __retres} [alias] analysing function: main [alias] analysing instruction: int *a = (int *)0; [alias:unsafe-cast] function5.c:16: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *a = (int *)0; - <none> +[alias] May-aliases after instruction int *a = (int *)0; are <none> [alias] analysing instruction: int *b = (int *)0; [alias:unsafe-cast] function5.c:16: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *b = (int *)0; - <none> +[alias] May-aliases after instruction int *b = (int *)0; are <none> [alias] analysing instruction: int *c = (int *)0; [alias:unsafe-cast] function5.c:16: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *c = (int *)0; - <none> +[alias] May-aliases after instruction int *c = (int *)0; are <none> [alias] analysing instruction: c = choice(a,b); -[alias] May-aliases at the end of instruction: c = choice(a,b); - {a, b, c} are aliased +[alias] May-aliases after instruction c = choice(a,b); are {a, b, c} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a, b, c} are aliased -[alias] May-aliases at the end of function main: - {a, b, c} are aliased +[alias] May-aliases after instruction __retres = 0; are {a, b, c} +[alias] May-aliases at the end of function main: {a, b, c} diff --git a/src/plugins/alias/tests/basic/oracle/globctr.res.oracle b/src/plugins/alias/tests/basic/oracle/globctr.res.oracle index 17c4dd29081..289f531e104 100644 --- a/src/plugins/alias/tests/basic/oracle/globctr.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/globctr.res.oracle @@ -1,30 +1,21 @@ [kernel] Parsing globctr.c (with preprocessing) [alias] analysing function: f [alias] analysing instruction: int y = 0; -[alias] May-aliases at the end of instruction: int y = 0; - <none> +[alias] May-aliases after instruction int y = 0; are <none> [alias] analysing instruction: *x = y; -[alias] May-aliases at the end of instruction: *x = y; - <none> -[alias] May-aliases at the end of function f: - <none> +[alias] May-aliases after instruction *x = y; are <none> +[alias] May-aliases at the end of function f: <none> [alias] analysing function: main [alias] analysing instruction: int *a = (int *)0; [alias:unsafe-cast] globctr.c:8: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *a = (int *)0; - <none> +[alias] May-aliases after instruction int *a = (int *)0; are <none> [alias] analysing instruction: int *b = (int *)0; [alias:unsafe-cast] globctr.c:8: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *b = (int *)0; - <none> +[alias] May-aliases after instruction int *b = (int *)0; are <none> [alias] analysing instruction: f(a); -[alias] May-aliases at the end of instruction: f(a); - <none> +[alias] May-aliases after instruction f(a); are <none> [alias] analysing instruction: f(b); -[alias] May-aliases at the end of instruction: f(b); - <none> +[alias] May-aliases after instruction f(b); are <none> [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - <none> -[alias] May-aliases at the end of function main: - <none> +[alias] May-aliases after instruction __retres = 0; are <none> +[alias] May-aliases at the end of function main: <none> diff --git a/src/plugins/alias/tests/basic/oracle/loop.res.oracle b/src/plugins/alias/tests/basic/oracle/loop.res.oracle index 1d41d498ffd..9ef827f6daf 100644 --- a/src/plugins/alias/tests/basic/oracle/loop.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/loop.res.oracle @@ -1,27 +1,19 @@ [kernel] Parsing loop.c (with preprocessing) [alias] analysing function: main [alias] analysing instruction: int l[1] = {0}; -[alias] May-aliases at the end of instruction: int l[1] = {0}; - <none> +[alias] May-aliases after instruction int l[1] = {0}; are <none> [alias] analysing instruction: int *n_0 = & l[1]; -[alias] May-aliases at the end of instruction: int *n_0 = & l[1]; - <none> +[alias] May-aliases after instruction int *n_0 = & l[1]; are <none> [alias] analysing instruction: n_0 = & l[1] + 0; -[alias] May-aliases at the end of instruction: n_0 = & l[1] + 0; - <none> +[alias] May-aliases after instruction n_0 = & l[1] + 0; are <none> [alias] analysing instruction: int w = 0; -[alias] May-aliases at the end of instruction: int w = 0; - <none> +[alias] May-aliases after instruction int w = 0; are <none> [alias] analysing instruction: l[0] = *(& l[1] + 0); -[alias] May-aliases at the end of instruction: l[0] = *(& l[1] + 0); - <none> +[alias] May-aliases after instruction l[0] = *(& l[1] + 0); are <none> [alias] analysing instruction: int l[1] = {0}; -[alias] May-aliases at the end of instruction: int l[1] = {0}; - <none> +[alias] May-aliases after instruction int l[1] = {0}; are <none> [alias] analysing instruction: int *n_0 = & l[1]; -[alias] May-aliases at the end of instruction: int *n_0 = & l[1]; - <none> +[alias] May-aliases after instruction int *n_0 = & l[1]; are <none> [alias:no-return] loop.c:4: Warning: function main does not return; analysis may be unsound -[alias] May-aliases at the end of function main: - <none> +[alias] May-aliases at the end of function main: <none> diff --git a/src/plugins/alias/tests/basic/oracle/steensgaard.res.oracle b/src/plugins/alias/tests/basic/oracle/steensgaard.res.oracle index 62e77694dee..7b9c15f79cb 100644 --- a/src/plugins/alias/tests/basic/oracle/steensgaard.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/steensgaard.res.oracle @@ -1,29 +1,17 @@ [kernel] Parsing steensgaard.c (with preprocessing) [alias] analysing function: main [alias] analysing instruction: a = & x; -[alias] May-aliases at the end of instruction: a = & x; - <none> +[alias] May-aliases after instruction a = & x; are <none> [alias] analysing instruction: b = & y; -[alias] May-aliases at the end of instruction: b = & y; - {*b, y} are aliased +[alias] May-aliases after instruction b = & y; are {*b, y} [alias] analysing instruction: y = & z; -[alias] May-aliases at the end of instruction: y = & z; - {*b, y} are aliased +[alias] May-aliases after instruction y = & z; are {*b, y} [alias] analysing instruction: y = & x; -[alias] May-aliases at the end of instruction: y = & x; - {*b, a, y} are aliased +[alias] May-aliases after instruction y = & x; are {*b, a, y} [alias] analysing instruction: c = & y; -[alias] May-aliases at the end of instruction: c = & y; - {*b, *c, a, y} are aliased - {b, c} are aliased +[alias] May-aliases after instruction c = & y; are {*b, *c, a, y} {b, c} [alias] analysing instruction: *y = 4; -[alias] May-aliases at the end of instruction: *y = 4; - {*b, *c, a, y} are aliased - {b, c} are aliased +[alias] May-aliases after instruction *y = 4; are {*b, *c, a, y} {b, c} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {*b, *c, a, y} are aliased - {b, c} are aliased -[alias] May-aliases at the end of function main: - {*b, *c, a, y} are aliased - {b, c} are aliased +[alias] May-aliases after instruction __retres = 0; are {*b, *c, a, y} {b, c} +[alias] May-aliases at the end of function main: {*b, *c, a, y} {b, c} diff --git a/src/plugins/alias/tests/basic/oracle/switch1.res.oracle b/src/plugins/alias/tests/basic/oracle/switch1.res.oracle index c1202c16d1d..e686d1150e5 100644 --- a/src/plugins/alias/tests/basic/oracle/switch1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/switch1.res.oracle @@ -2,31 +2,22 @@ [alias] analysing function: main [alias] analysing instruction: int *a = (int *)0; [alias:unsafe-cast] switch1.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *a = (int *)0; - <none> +[alias] May-aliases after instruction int *a = (int *)0; are <none> [alias] analysing instruction: int *b = (int *)0; [alias:unsafe-cast] switch1.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *b = (int *)0; - <none> +[alias] May-aliases after instruction int *b = (int *)0; are <none> [alias] analysing instruction: int *c = (int *)0; [alias:unsafe-cast] switch1.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *c = (int *)0; - <none> +[alias] May-aliases after instruction int *c = (int *)0; are <none> [alias] analysing instruction: int *d = (int *)0; [alias:unsafe-cast] switch1.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *d = (int *)0; - <none> +[alias] May-aliases after instruction int *d = (int *)0; are <none> [alias] analysing instruction: int e = 0; -[alias] May-aliases at the end of instruction: int e = 0; - <none> +[alias] May-aliases after instruction int e = 0; are <none> [alias] analysing instruction: case 1: a = d; -[alias] May-aliases at the end of instruction: case 1: a = d; - {a, d} are aliased +[alias] May-aliases after instruction case 1: a = d; are {a, d} [alias] analysing instruction: case 2: b = d; -[alias] May-aliases at the end of instruction: case 2: b = d; - {b, d} are aliased +[alias] May-aliases after instruction case 2: b = d; are {b, d} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a, b, d} are aliased -[alias] May-aliases at the end of function main: - {a, b, d} are aliased +[alias] May-aliases after instruction __retres = 0; are {a, b, d} +[alias] May-aliases at the end of function main: {a, b, d} diff --git a/src/plugins/alias/tests/basic/oracle/switch2.res.oracle b/src/plugins/alias/tests/basic/oracle/switch2.res.oracle index 0a1a041476a..de2c4211a54 100644 --- a/src/plugins/alias/tests/basic/oracle/switch2.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/switch2.res.oracle @@ -2,34 +2,24 @@ [alias] analysing function: main [alias] analysing instruction: int *a = (int *)0; [alias:unsafe-cast] switch2.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *a = (int *)0; - <none> +[alias] May-aliases after instruction int *a = (int *)0; are <none> [alias] analysing instruction: int *b = (int *)0; [alias:unsafe-cast] switch2.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *b = (int *)0; - <none> +[alias] May-aliases after instruction int *b = (int *)0; are <none> [alias] analysing instruction: int *c = (int *)0; [alias:unsafe-cast] switch2.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *c = (int *)0; - <none> +[alias] May-aliases after instruction int *c = (int *)0; are <none> [alias] analysing instruction: int *d = (int *)0; [alias:unsafe-cast] switch2.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *d = (int *)0; - <none> +[alias] May-aliases after instruction int *d = (int *)0; are <none> [alias] analysing instruction: int e = 0; -[alias] May-aliases at the end of instruction: int e = 0; - <none> +[alias] May-aliases after instruction int e = 0; are <none> [alias] analysing instruction: case 1: a = d; -[alias] May-aliases at the end of instruction: case 1: a = d; - {a, d} are aliased +[alias] May-aliases after instruction case 1: a = d; are {a, d} [alias] analysing instruction: case 2: b = d; -[alias] May-aliases at the end of instruction: case 2: b = d; - {b, d} are aliased +[alias] May-aliases after instruction case 2: b = d; are {b, d} [alias] analysing instruction: default: c = d; -[alias] May-aliases at the end of instruction: default: c = d; - {c, d} are aliased +[alias] May-aliases after instruction default: c = d; are {c, d} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a, b, c, d} are aliased -[alias] May-aliases at the end of function main: - {a, b, c, d} are aliased +[alias] May-aliases after instruction __retres = 0; are {a, b, c, d} +[alias] May-aliases at the end of function main: {a, b, c, d} diff --git a/src/plugins/alias/tests/basic/oracle/while_for1.res.oracle b/src/plugins/alias/tests/basic/oracle/while_for1.res.oracle index 7115798d025..9171437b55a 100644 --- a/src/plugins/alias/tests/basic/oracle/while_for1.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/while_for1.res.oracle @@ -1,191 +1,128 @@ [kernel] Parsing while_for1.c (with preprocessing) [alias] analysing function: _Exit -[alias] May-aliases at the end of function _Exit: - <Bot> +[alias] May-aliases at the end of function _Exit: ⊥ [alias] analysing function: abort -[alias] May-aliases at the end of function abort: - <Bot> +[alias] May-aliases at the end of function abort: ⊥ [alias] analysing function: abs -[alias] May-aliases at the end of function abs: - <Bot> +[alias] May-aliases at the end of function abs: ⊥ [alias] analysing function: at_quick_exit -[alias] May-aliases at the end of function at_quick_exit: - <Bot> +[alias] May-aliases at the end of function at_quick_exit: ⊥ [alias] analysing function: atexit -[alias] May-aliases at the end of function atexit: - <Bot> +[alias] May-aliases at the end of function atexit: ⊥ [alias] analysing function: atof -[alias] May-aliases at the end of function atof: - <Bot> +[alias] May-aliases at the end of function atof: ⊥ [alias] analysing function: atoi -[alias] May-aliases at the end of function atoi: - <Bot> +[alias] May-aliases at the end of function atoi: ⊥ [alias] analysing function: atol -[alias] May-aliases at the end of function atol: - <Bot> +[alias] May-aliases at the end of function atol: ⊥ [alias] analysing function: atoll -[alias] May-aliases at the end of function atoll: - <Bot> +[alias] May-aliases at the end of function atoll: ⊥ [alias] analysing function: bsearch -[alias] May-aliases at the end of function bsearch: - <Bot> +[alias] May-aliases at the end of function bsearch: ⊥ [alias] analysing function: calloc -[alias] May-aliases at the end of function calloc: - <Bot> +[alias] May-aliases at the end of function calloc: ⊥ [alias] analysing function: div -[alias] May-aliases at the end of function div: - <Bot> +[alias] May-aliases at the end of function div: ⊥ [alias] analysing function: drand48 -[alias] May-aliases at the end of function drand48: - <Bot> +[alias] May-aliases at the end of function drand48: ⊥ [alias] analysing function: erand48 -[alias] May-aliases at the end of function erand48: - <Bot> +[alias] May-aliases at the end of function erand48: ⊥ [alias] analysing function: exit -[alias] May-aliases at the end of function exit: - <Bot> +[alias] May-aliases at the end of function exit: ⊥ [alias] analysing function: free -[alias] May-aliases at the end of function free: - <Bot> +[alias] May-aliases at the end of function free: ⊥ [alias] analysing function: getenv -[alias] May-aliases at the end of function getenv: - <Bot> +[alias] May-aliases at the end of function getenv: ⊥ [alias] analysing function: jrand48 -[alias] May-aliases at the end of function jrand48: - <Bot> +[alias] May-aliases at the end of function jrand48: ⊥ [alias] analysing function: labs -[alias] May-aliases at the end of function labs: - <Bot> +[alias] May-aliases at the end of function labs: ⊥ [alias] analysing function: lcong48 -[alias] May-aliases at the end of function lcong48: - <Bot> +[alias] May-aliases at the end of function lcong48: ⊥ [alias] analysing function: ldiv -[alias] May-aliases at the end of function ldiv: - <Bot> +[alias] May-aliases at the end of function ldiv: ⊥ [alias] analysing function: llabs -[alias] May-aliases at the end of function llabs: - <Bot> +[alias] May-aliases at the end of function llabs: ⊥ [alias] analysing function: lldiv -[alias] May-aliases at the end of function lldiv: - <Bot> +[alias] May-aliases at the end of function lldiv: ⊥ [alias] analysing function: lrand48 -[alias] May-aliases at the end of function lrand48: - <Bot> +[alias] May-aliases at the end of function lrand48: ⊥ [alias] analysing function: main [alias] analysing instruction: int *s = (int *)0; [alias:unsafe-cast] while_for1.c:8: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *s = (int *)0; - <none> +[alias] May-aliases after instruction int *s = (int *)0; are <none> [alias] analysing instruction: int idx = 0; -[alias] May-aliases at the end of instruction: int idx = 0; - <none> +[alias] May-aliases after instruction int idx = 0; are <none> [alias] analysing instruction: s = (int *)malloc((size_t)idx); -[alias] May-aliases at the end of instruction: s = (int *)malloc((size_t)idx); - <none> +[alias] May-aliases after instruction s = (int *)malloc((size_t)idx); are <none> [alias] analysing instruction: idx ++; -[alias] May-aliases at the end of instruction: idx ++; - <none> +[alias] May-aliases after instruction idx ++; are <none> [alias] analysing instruction: s = (int *)malloc((size_t)idx); -[alias] May-aliases at the end of instruction: s = (int *)malloc((size_t)idx); - <none> +[alias] May-aliases after instruction s = (int *)malloc((size_t)idx); are <none> [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - <none> -[alias] May-aliases at the end of function main: - <none> +[alias] May-aliases after instruction __retres = 0; are <none> +[alias] May-aliases at the end of function main: <none> [alias] analysing function: malloc -[alias] May-aliases at the end of function malloc: - <Bot> +[alias] May-aliases at the end of function malloc: ⊥ [alias] analysing function: mblen -[alias] May-aliases at the end of function mblen: - <Bot> +[alias] May-aliases at the end of function mblen: ⊥ [alias] analysing function: mbstowcs -[alias] May-aliases at the end of function mbstowcs: - <Bot> +[alias] May-aliases at the end of function mbstowcs: ⊥ [alias] analysing function: mbtowc -[alias] May-aliases at the end of function mbtowc: - <Bot> +[alias] May-aliases at the end of function mbtowc: ⊥ [alias] analysing function: mkstemp -[alias] May-aliases at the end of function mkstemp: - <Bot> +[alias] May-aliases at the end of function mkstemp: ⊥ [alias] analysing function: mkstemps -[alias] May-aliases at the end of function mkstemps: - <Bot> +[alias] May-aliases at the end of function mkstemps: ⊥ [alias] analysing function: mrand48 -[alias] May-aliases at the end of function mrand48: - <Bot> +[alias] May-aliases at the end of function mrand48: ⊥ [alias] analysing function: nrand48 -[alias] May-aliases at the end of function nrand48: - <Bot> +[alias] May-aliases at the end of function nrand48: ⊥ [alias] analysing function: posix_memalign -[alias] May-aliases at the end of function posix_memalign: - <Bot> +[alias] May-aliases at the end of function posix_memalign: ⊥ [alias] analysing function: putenv -[alias] May-aliases at the end of function putenv: - <Bot> +[alias] May-aliases at the end of function putenv: ⊥ [alias] analysing function: qsort -[alias] May-aliases at the end of function qsort: - <Bot> +[alias] May-aliases at the end of function qsort: ⊥ [alias] analysing function: quick_exit -[alias] May-aliases at the end of function quick_exit: - <Bot> +[alias] May-aliases at the end of function quick_exit: ⊥ [alias] analysing function: rand -[alias] May-aliases at the end of function rand: - <Bot> +[alias] May-aliases at the end of function rand: ⊥ [alias] analysing function: random -[alias] May-aliases at the end of function random: - <Bot> +[alias] May-aliases at the end of function random: ⊥ [alias] analysing function: realloc -[alias] May-aliases at the end of function realloc: - <Bot> +[alias] May-aliases at the end of function realloc: ⊥ [alias] analysing function: reallocarray -[alias] May-aliases at the end of function reallocarray: - <Bot> +[alias] May-aliases at the end of function reallocarray: ⊥ [alias] analysing function: seed48 -[alias] May-aliases at the end of function seed48: - <Bot> +[alias] May-aliases at the end of function seed48: ⊥ [alias] analysing function: setenv -[alias] May-aliases at the end of function setenv: - <Bot> +[alias] May-aliases at the end of function setenv: ⊥ [alias] analysing function: srand -[alias] May-aliases at the end of function srand: - <Bot> +[alias] May-aliases at the end of function srand: ⊥ [alias] analysing function: srand48 -[alias] May-aliases at the end of function srand48: - <Bot> +[alias] May-aliases at the end of function srand48: ⊥ [alias] analysing function: srandom -[alias] May-aliases at the end of function srandom: - <Bot> +[alias] May-aliases at the end of function srandom: ⊥ [alias] analysing function: strtod -[alias] May-aliases at the end of function strtod: - <Bot> +[alias] May-aliases at the end of function strtod: ⊥ [alias] analysing function: strtof -[alias] May-aliases at the end of function strtof: - <Bot> +[alias] May-aliases at the end of function strtof: ⊥ [alias] analysing function: strtol -[alias] May-aliases at the end of function strtol: - <Bot> +[alias] May-aliases at the end of function strtol: ⊥ [alias] analysing function: strtold -[alias] May-aliases at the end of function strtold: - <Bot> +[alias] May-aliases at the end of function strtold: ⊥ [alias] analysing function: strtoll -[alias] May-aliases at the end of function strtoll: - <Bot> +[alias] May-aliases at the end of function strtoll: ⊥ [alias] analysing function: strtoul -[alias] May-aliases at the end of function strtoul: - <Bot> +[alias] May-aliases at the end of function strtoul: ⊥ [alias] analysing function: strtoull -[alias] May-aliases at the end of function strtoull: - <Bot> +[alias] May-aliases at the end of function strtoull: ⊥ [alias] analysing function: system -[alias] May-aliases at the end of function system: - <Bot> +[alias] May-aliases at the end of function system: ⊥ [alias] analysing function: unsetenv -[alias] May-aliases at the end of function unsetenv: - <Bot> +[alias] May-aliases at the end of function unsetenv: ⊥ [alias] analysing function: wcstombs -[alias] May-aliases at the end of function wcstombs: - <Bot> +[alias] May-aliases at the end of function wcstombs: ⊥ [alias] analysing function: wctomb -[alias] May-aliases at the end of function wctomb: - <Bot> +[alias] May-aliases at the end of function wctomb: ⊥ diff --git a/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle b/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle index 6c08aec861c..f50bde9af67 100644 --- a/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/while_for2.res.oracle @@ -2,21 +2,15 @@ [alias] analysing function: main [alias] analysing instruction: int *a = (int *)0; [alias:unsafe-cast] while_for2.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *a = (int *)0; - <none> +[alias] May-aliases after instruction int *a = (int *)0; are <none> [alias] analysing instruction: int *b = (int *)0; [alias:unsafe-cast] while_for2.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *b = (int *)0; - <none> +[alias] May-aliases after instruction int *b = (int *)0; are <none> [alias] analysing instruction: int *c = (int *)0; [alias:unsafe-cast] while_for2.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *c = (int *)0; - <none> +[alias] May-aliases after instruction int *c = (int *)0; are <none> [alias] analysing instruction: a = b; -[alias] May-aliases at the end of instruction: a = b; - {a, b} are aliased +[alias] May-aliases after instruction a = b; are {a, b} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a, b} are aliased -[alias] May-aliases at the end of function main: - {a, b} are aliased +[alias] May-aliases after instruction __retres = 0; are {a, b} +[alias] May-aliases at the end of function main: {a, b} diff --git a/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle b/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle index b3c5b194e25..3cb15611351 100644 --- a/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle +++ b/src/plugins/alias/tests/basic/oracle/while_for3.res.oracle @@ -2,30 +2,21 @@ [alias] analysing function: main [alias] analysing instruction: int *a = (int *)0; [alias:unsafe-cast] while_for3.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *a = (int *)0; - <none> +[alias] May-aliases after instruction int *a = (int *)0; are <none> [alias] analysing instruction: int *b = (int *)0; [alias:unsafe-cast] while_for3.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *b = (int *)0; - <none> +[alias] May-aliases after instruction int *b = (int *)0; are <none> [alias] analysing instruction: int *c = (int *)0; [alias:unsafe-cast] while_for3.c:6: Warning: unsafe cast from int to int * -[alias] May-aliases at the end of instruction: int *c = (int *)0; - <none> +[alias] May-aliases after instruction int *c = (int *)0; are <none> [alias] analysing instruction: int i = 0; -[alias] May-aliases at the end of instruction: int i = 0; - <none> +[alias] May-aliases after instruction int i = 0; are <none> [alias] analysing instruction: a = b; -[alias] May-aliases at the end of instruction: a = b; - {a, b} are aliased +[alias] May-aliases after instruction a = b; are {a, b} [alias] analysing instruction: __Cont: i ++; -[alias] May-aliases at the end of instruction: __Cont: i ++; - {a, b} are aliased +[alias] May-aliases after instruction __Cont: i ++; are {a, b} [alias] analysing instruction: a = b; -[alias] May-aliases at the end of instruction: a = b; - {a, b} are aliased +[alias] May-aliases after instruction a = b; are {a, b} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a, b} are aliased -[alias] May-aliases at the end of function main: - {a, b} are aliased +[alias] May-aliases after instruction __retres = 0; are {a, b} +[alias] May-aliases at the end of function main: {a, b} diff --git a/src/plugins/alias/tests/fixed_bugs/oracle/union_vmap.res.oracle b/src/plugins/alias/tests/fixed_bugs/oracle/union_vmap.res.oracle index 57c8847db39..606169550d1 100644 --- a/src/plugins/alias/tests/fixed_bugs/oracle/union_vmap.res.oracle +++ b/src/plugins/alias/tests/fixed_bugs/oracle/union_vmap.res.oracle @@ -2,25 +2,20 @@ [alias] analysing function: CPS_ParseKey [alias] analysing instruction: char *s2 = CPS_SplitWord((char *)"a"); [alias] analysing function: CPS_SplitWord -[alias] May-aliases at the end of function CPS_SplitWord: - <none> +[alias] May-aliases at the end of function CPS_SplitWord: <none> [alias:unsafe-cast] union_vmap.c:11: Warning: unsafe cast from char const * to char * -[alias] May-aliases at the end of instruction: char *s2 = CPS_SplitWord((char *)"a"); +[alias] May-aliases after instruction char *s2 = CPS_SplitWord((char *)"a"); are <none> [alias] analysing instruction: char *s3 = CPS_SplitWord((char *)"b"); [alias:unsafe-cast] union_vmap.c:12: Warning: unsafe cast from char const * to char * -[alias] May-aliases at the end of instruction: char *s3 = CPS_SplitWord((char *)"b"); +[alias] May-aliases after instruction char *s3 = CPS_SplitWord((char *)"b"); are <none> [alias] analysing instruction: *key = s3; -[alias] May-aliases at the end of instruction: *key = s3; - {*key, s3} are aliased +[alias] May-aliases after instruction *key = s3; are {*key, s3} [alias] analysing instruction: *key = s2; -[alias] May-aliases at the end of instruction: *key = s2; - {*key, s2} are aliased -[alias] May-aliases at the end of function CPS_ParseKey: - {*key, s2, s3} are aliased +[alias] May-aliases after instruction *key = s2; are {*key, s2} +[alias] May-aliases at the end of function CPS_ParseKey: {*key, s2, s3} [alias] analysing function: CPS_SplitWord -[alias] May-aliases at the end of function CPS_SplitWord: - <none> +[alias] May-aliases at the end of function CPS_SplitWord: <none> diff --git a/src/plugins/alias/tests/offsets/oracle/array1.res.oracle b/src/plugins/alias/tests/offsets/oracle/array1.res.oracle index 3f8f04ebf18..d6bdf7ba016 100644 --- a/src/plugins/alias/tests/offsets/oracle/array1.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/array1.res.oracle @@ -1,25 +1,17 @@ [kernel] Parsing array1.c (with preprocessing) [alias] analysing function: main [alias] analysing instruction: tab[0] = 0; -[alias] May-aliases at the end of instruction: tab[0] = 0; - <none> +[alias] May-aliases after instruction tab[0] = 0; are <none> [alias] analysing instruction: tab[1] = 1; -[alias] May-aliases at the end of instruction: tab[1] = 1; - <none> +[alias] May-aliases after instruction tab[1] = 1; are <none> [alias] analysing instruction: tab[2] = tab[1] + 1; -[alias] May-aliases at the end of instruction: tab[2] = tab[1] + 1; - <none> +[alias] May-aliases after instruction tab[2] = tab[1] + 1; are <none> [alias] analysing instruction: int *x = & tab[1]; -[alias] May-aliases at the end of instruction: int *x = & tab[1]; - <none> +[alias] May-aliases after instruction int *x = & tab[1]; are <none> [alias] analysing instruction: int *y = & tab[2]; -[alias] May-aliases at the end of instruction: int *y = & tab[2]; - {x, y} are aliased +[alias] May-aliases after instruction int *y = & tab[2]; are {x, y} [alias] analysing instruction: tab[3] = *x + *y; -[alias] May-aliases at the end of instruction: tab[3] = *x + *y; - {x, y} are aliased +[alias] May-aliases after instruction tab[3] = *x + *y; are {x, y} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {x, y} are aliased -[alias] May-aliases at the end of function main: - {x, y} are aliased +[alias] May-aliases after instruction __retres = 0; are {x, y} +[alias] May-aliases at the end of function main: {x, y} diff --git a/src/plugins/alias/tests/offsets/oracle/array2.res.oracle b/src/plugins/alias/tests/offsets/oracle/array2.res.oracle index d06aacf760b..69f16a022f8 100644 --- a/src/plugins/alias/tests/offsets/oracle/array2.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/array2.res.oracle @@ -1,19 +1,13 @@ [kernel] Parsing array2.c (with preprocessing) [alias] analysing function: main [alias] analysing instruction: mat[0][0] = 0; -[alias] May-aliases at the end of instruction: mat[0][0] = 0; - <none> +[alias] May-aliases after instruction mat[0][0] = 0; are <none> [alias] analysing instruction: mat[0][1] = 1; -[alias] May-aliases at the end of instruction: mat[0][1] = 1; - <none> +[alias] May-aliases after instruction mat[0][1] = 1; are <none> [alias] analysing instruction: *x = mat[1]; -[alias] May-aliases at the end of instruction: *x = mat[1]; - <none> +[alias] May-aliases after instruction *x = mat[1]; are <none> [alias] analysing instruction: *y = *(*(x + 0)); -[alias] May-aliases at the end of instruction: *y = *(*(x + 0)); - <none> +[alias] May-aliases after instruction *y = *(*(x + 0)); are <none> [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - <none> -[alias] May-aliases at the end of function main: - <none> +[alias] May-aliases after instruction __retres = 0; are <none> +[alias] May-aliases at the end of function main: <none> diff --git a/src/plugins/alias/tests/offsets/oracle/array3.res.oracle b/src/plugins/alias/tests/offsets/oracle/array3.res.oracle index 906a7e049b4..6b6a66a4677 100644 --- a/src/plugins/alias/tests/offsets/oracle/array3.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/array3.res.oracle @@ -1,189 +1,127 @@ [kernel] Parsing array3.c (with preprocessing) [alias] analysing function: _Exit -[alias] May-aliases at the end of function _Exit: - <Bot> +[alias] May-aliases at the end of function _Exit: ⊥ [alias] analysing function: abort -[alias] May-aliases at the end of function abort: - <Bot> +[alias] May-aliases at the end of function abort: ⊥ [alias] analysing function: abs -[alias] May-aliases at the end of function abs: - <Bot> +[alias] May-aliases at the end of function abs: ⊥ [alias] analysing function: at_quick_exit -[alias] May-aliases at the end of function at_quick_exit: - <Bot> +[alias] May-aliases at the end of function at_quick_exit: ⊥ [alias] analysing function: atexit -[alias] May-aliases at the end of function atexit: - <Bot> +[alias] May-aliases at the end of function atexit: ⊥ [alias] analysing function: atof -[alias] May-aliases at the end of function atof: - <Bot> +[alias] May-aliases at the end of function atof: ⊥ [alias] analysing function: atoi -[alias] May-aliases at the end of function atoi: - <Bot> +[alias] May-aliases at the end of function atoi: ⊥ [alias] analysing function: atol -[alias] May-aliases at the end of function atol: - <Bot> +[alias] May-aliases at the end of function atol: ⊥ [alias] analysing function: atoll -[alias] May-aliases at the end of function atoll: - <Bot> +[alias] May-aliases at the end of function atoll: ⊥ [alias] analysing function: bsearch -[alias] May-aliases at the end of function bsearch: - <Bot> +[alias] May-aliases at the end of function bsearch: ⊥ [alias] analysing function: calloc -[alias] May-aliases at the end of function calloc: - <Bot> +[alias] May-aliases at the end of function calloc: ⊥ [alias] analysing function: div -[alias] May-aliases at the end of function div: - <Bot> +[alias] May-aliases at the end of function div: ⊥ [alias] analysing function: drand48 -[alias] May-aliases at the end of function drand48: - <Bot> +[alias] May-aliases at the end of function drand48: ⊥ [alias] analysing function: erand48 -[alias] May-aliases at the end of function erand48: - <Bot> +[alias] May-aliases at the end of function erand48: ⊥ [alias] analysing function: exit -[alias] May-aliases at the end of function exit: - <Bot> +[alias] May-aliases at the end of function exit: ⊥ [alias] analysing function: free -[alias] May-aliases at the end of function free: - <Bot> +[alias] May-aliases at the end of function free: ⊥ [alias] analysing function: getenv -[alias] May-aliases at the end of function getenv: - <Bot> +[alias] May-aliases at the end of function getenv: ⊥ [alias] analysing function: jrand48 -[alias] May-aliases at the end of function jrand48: - <Bot> +[alias] May-aliases at the end of function jrand48: ⊥ [alias] analysing function: labs -[alias] May-aliases at the end of function labs: - <Bot> +[alias] May-aliases at the end of function labs: ⊥ [alias] analysing function: lcong48 -[alias] May-aliases at the end of function lcong48: - <Bot> +[alias] May-aliases at the end of function lcong48: ⊥ [alias] analysing function: ldiv -[alias] May-aliases at the end of function ldiv: - <Bot> +[alias] May-aliases at the end of function ldiv: ⊥ [alias] analysing function: llabs -[alias] May-aliases at the end of function llabs: - <Bot> +[alias] May-aliases at the end of function llabs: ⊥ [alias] analysing function: lldiv -[alias] May-aliases at the end of function lldiv: - <Bot> +[alias] May-aliases at the end of function lldiv: ⊥ [alias] analysing function: lrand48 -[alias] May-aliases at the end of function lrand48: - <Bot> +[alias] May-aliases at the end of function lrand48: ⊥ [alias] analysing function: main [alias] analysing instruction: int *x = malloc((unsigned long)4 * sizeof(int)); -[alias] May-aliases at the end of instruction: int *x = - malloc((unsigned long)4 * sizeof(int)); - <none> +[alias] May-aliases after instruction + int *x = malloc((unsigned long)4 * sizeof(int)); are <none> [alias] analysing instruction: int *y = malloc((unsigned long)4 * sizeof(int)); -[alias] May-aliases at the end of instruction: int *y = - malloc((unsigned long)4 * sizeof(int)); - <none> +[alias] May-aliases after instruction + int *y = malloc((unsigned long)4 * sizeof(int)); are <none> [alias] analysing instruction: x = mat[0]; -[alias] May-aliases at the end of instruction: x = mat[0]; - <none> +[alias] May-aliases after instruction x = mat[0]; are <none> [alias] analysing instruction: y = mat[1]; -[alias] May-aliases at the end of instruction: y = mat[1]; - {x, y} are aliased +[alias] May-aliases after instruction y = mat[1]; are {x, y} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {x, y} are aliased -[alias] May-aliases at the end of function main: - {x, y} are aliased +[alias] May-aliases after instruction __retres = 0; are {x, y} +[alias] May-aliases at the end of function main: {x, y} [alias] analysing function: malloc -[alias] May-aliases at the end of function malloc: - <Bot> +[alias] May-aliases at the end of function malloc: ⊥ [alias] analysing function: mblen -[alias] May-aliases at the end of function mblen: - <Bot> +[alias] May-aliases at the end of function mblen: ⊥ [alias] analysing function: mbstowcs -[alias] May-aliases at the end of function mbstowcs: - <Bot> +[alias] May-aliases at the end of function mbstowcs: ⊥ [alias] analysing function: mbtowc -[alias] May-aliases at the end of function mbtowc: - <Bot> +[alias] May-aliases at the end of function mbtowc: ⊥ [alias] analysing function: mkstemp -[alias] May-aliases at the end of function mkstemp: - <Bot> +[alias] May-aliases at the end of function mkstemp: ⊥ [alias] analysing function: mkstemps -[alias] May-aliases at the end of function mkstemps: - <Bot> +[alias] May-aliases at the end of function mkstemps: ⊥ [alias] analysing function: mrand48 -[alias] May-aliases at the end of function mrand48: - <Bot> +[alias] May-aliases at the end of function mrand48: ⊥ [alias] analysing function: nrand48 -[alias] May-aliases at the end of function nrand48: - <Bot> +[alias] May-aliases at the end of function nrand48: ⊥ [alias] analysing function: posix_memalign -[alias] May-aliases at the end of function posix_memalign: - <Bot> +[alias] May-aliases at the end of function posix_memalign: ⊥ [alias] analysing function: putenv -[alias] May-aliases at the end of function putenv: - <Bot> +[alias] May-aliases at the end of function putenv: ⊥ [alias] analysing function: qsort -[alias] May-aliases at the end of function qsort: - <Bot> +[alias] May-aliases at the end of function qsort: ⊥ [alias] analysing function: quick_exit -[alias] May-aliases at the end of function quick_exit: - <Bot> +[alias] May-aliases at the end of function quick_exit: ⊥ [alias] analysing function: rand -[alias] May-aliases at the end of function rand: - <Bot> +[alias] May-aliases at the end of function rand: ⊥ [alias] analysing function: random -[alias] May-aliases at the end of function random: - <Bot> +[alias] May-aliases at the end of function random: ⊥ [alias] analysing function: realloc -[alias] May-aliases at the end of function realloc: - <Bot> +[alias] May-aliases at the end of function realloc: ⊥ [alias] analysing function: reallocarray -[alias] May-aliases at the end of function reallocarray: - <Bot> +[alias] May-aliases at the end of function reallocarray: ⊥ [alias] analysing function: seed48 -[alias] May-aliases at the end of function seed48: - <Bot> +[alias] May-aliases at the end of function seed48: ⊥ [alias] analysing function: setenv -[alias] May-aliases at the end of function setenv: - <Bot> +[alias] May-aliases at the end of function setenv: ⊥ [alias] analysing function: srand -[alias] May-aliases at the end of function srand: - <Bot> +[alias] May-aliases at the end of function srand: ⊥ [alias] analysing function: srand48 -[alias] May-aliases at the end of function srand48: - <Bot> +[alias] May-aliases at the end of function srand48: ⊥ [alias] analysing function: srandom -[alias] May-aliases at the end of function srandom: - <Bot> +[alias] May-aliases at the end of function srandom: ⊥ [alias] analysing function: strtod -[alias] May-aliases at the end of function strtod: - <Bot> +[alias] May-aliases at the end of function strtod: ⊥ [alias] analysing function: strtof -[alias] May-aliases at the end of function strtof: - <Bot> +[alias] May-aliases at the end of function strtof: ⊥ [alias] analysing function: strtol -[alias] May-aliases at the end of function strtol: - <Bot> +[alias] May-aliases at the end of function strtol: ⊥ [alias] analysing function: strtold -[alias] May-aliases at the end of function strtold: - <Bot> +[alias] May-aliases at the end of function strtold: ⊥ [alias] analysing function: strtoll -[alias] May-aliases at the end of function strtoll: - <Bot> +[alias] May-aliases at the end of function strtoll: ⊥ [alias] analysing function: strtoul -[alias] May-aliases at the end of function strtoul: - <Bot> +[alias] May-aliases at the end of function strtoul: ⊥ [alias] analysing function: strtoull -[alias] May-aliases at the end of function strtoull: - <Bot> +[alias] May-aliases at the end of function strtoull: ⊥ [alias] analysing function: system -[alias] May-aliases at the end of function system: - <Bot> +[alias] May-aliases at the end of function system: ⊥ [alias] analysing function: unsetenv -[alias] May-aliases at the end of function unsetenv: - <Bot> +[alias] May-aliases at the end of function unsetenv: ⊥ [alias] analysing function: wcstombs -[alias] May-aliases at the end of function wcstombs: - <Bot> +[alias] May-aliases at the end of function wcstombs: ⊥ [alias] analysing function: wctomb -[alias] May-aliases at the end of function wctomb: - <Bot> +[alias] May-aliases at the end of function wctomb: ⊥ diff --git a/src/plugins/alias/tests/offsets/oracle/collapse1.res.oracle b/src/plugins/alias/tests/offsets/oracle/collapse1.res.oracle index 6f29399b235..a118ff4e251 100644 --- a/src/plugins/alias/tests/offsets/oracle/collapse1.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/collapse1.res.oracle @@ -1,31 +1,21 @@ [kernel] Parsing collapse1.c (with preprocessing) [alias] analysing function: main [alias] analysing instruction: tab[0] = 0; -[alias] May-aliases at the end of instruction: tab[0] = 0; - <none> +[alias] May-aliases after instruction tab[0] = 0; are <none> [alias] analysing instruction: tab[1] = 1; -[alias] May-aliases at the end of instruction: tab[1] = 1; - <none> +[alias] May-aliases after instruction tab[1] = 1; are <none> [alias] analysing instruction: tab[2] = tab[1] + 1; -[alias] May-aliases at the end of instruction: tab[2] = tab[1] + 1; - <none> +[alias] May-aliases after instruction tab[2] = tab[1] + 1; are <none> [alias] analysing instruction: int x = 0; -[alias] May-aliases at the end of instruction: int x = 0; - <none> +[alias] May-aliases after instruction int x = 0; are <none> [alias] analysing instruction: int i = 0; -[alias] May-aliases at the end of instruction: int i = 0; - <none> +[alias] May-aliases after instruction int i = 0; are <none> [alias] analysing instruction: x = tab[i]; -[alias] May-aliases at the end of instruction: x = tab[i]; - <none> +[alias] May-aliases after instruction x = tab[i]; are <none> [alias] analysing instruction: i ++; -[alias] May-aliases at the end of instruction: i ++; - <none> +[alias] May-aliases after instruction i ++; are <none> [alias] analysing instruction: x = tab[i]; -[alias] May-aliases at the end of instruction: x = tab[i]; - <none> +[alias] May-aliases after instruction x = tab[i]; are <none> [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - <none> -[alias] May-aliases at the end of function main: - <none> +[alias] May-aliases after instruction __retres = 0; are <none> +[alias] May-aliases at the end of function main: <none> diff --git a/src/plugins/alias/tests/offsets/oracle/collapse2.res.oracle b/src/plugins/alias/tests/offsets/oracle/collapse2.res.oracle index 5aa489b0697..34b8bd11975 100644 --- a/src/plugins/alias/tests/offsets/oracle/collapse2.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/collapse2.res.oracle @@ -1,25 +1,17 @@ [kernel] Parsing collapse2.c (with preprocessing) [alias] analysing function: main [alias] analysing instruction: mat[0][0] = 0; -[alias] May-aliases at the end of instruction: mat[0][0] = 0; - <none> +[alias] May-aliases after instruction mat[0][0] = 0; are <none> [alias] analysing instruction: mat[0][1] = 1; -[alias] May-aliases at the end of instruction: mat[0][1] = 1; - <none> +[alias] May-aliases after instruction mat[0][1] = 1; are <none> [alias] analysing instruction: int i = 2; -[alias] May-aliases at the end of instruction: int i = 2; - <none> +[alias] May-aliases after instruction int i = 2; are <none> [alias] analysing instruction: mat[1][i] = i; -[alias] May-aliases at the end of instruction: mat[1][i] = i; - <none> +[alias] May-aliases after instruction mat[1][i] = i; are <none> [alias] analysing instruction: i ++; -[alias] May-aliases at the end of instruction: i ++; - <none> +[alias] May-aliases after instruction i ++; are <none> [alias] analysing instruction: mat[1][i] = 2; -[alias] May-aliases at the end of instruction: mat[1][i] = 2; - <none> +[alias] May-aliases after instruction mat[1][i] = 2; are <none> [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - <none> -[alias] May-aliases at the end of function main: - <none> +[alias] May-aliases after instruction __retres = 0; are <none> +[alias] May-aliases at the end of function main: <none> diff --git a/src/plugins/alias/tests/offsets/oracle/collapse3.res.oracle b/src/plugins/alias/tests/offsets/oracle/collapse3.res.oracle index cc02a1b6694..4193c3f90a2 100644 --- a/src/plugins/alias/tests/offsets/oracle/collapse3.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/collapse3.res.oracle @@ -1,25 +1,17 @@ [kernel] Parsing collapse3.c (with preprocessing) [alias] analysing function: main [alias] analysing instruction: mat[0][0] = 0; -[alias] May-aliases at the end of instruction: mat[0][0] = 0; - <none> +[alias] May-aliases after instruction mat[0][0] = 0; are <none> [alias] analysing instruction: mat[0][1] = 1; -[alias] May-aliases at the end of instruction: mat[0][1] = 1; - <none> +[alias] May-aliases after instruction mat[0][1] = 1; are <none> [alias] analysing instruction: int i = 2; -[alias] May-aliases at the end of instruction: int i = 2; - <none> +[alias] May-aliases after instruction int i = 2; are <none> [alias] analysing instruction: mat[i][1] = i; -[alias] May-aliases at the end of instruction: mat[i][1] = i; - <none> +[alias] May-aliases after instruction mat[i][1] = i; are <none> [alias] analysing instruction: i ++; -[alias] May-aliases at the end of instruction: i ++; - <none> +[alias] May-aliases after instruction i ++; are <none> [alias] analysing instruction: mat[i][1] = 2; -[alias] May-aliases at the end of instruction: mat[i][1] = 2; - <none> +[alias] May-aliases after instruction mat[i][1] = 2; are <none> [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - <none> -[alias] May-aliases at the end of function main: - <none> +[alias] May-aliases after instruction __retres = 0; are <none> +[alias] May-aliases at the end of function main: <none> diff --git a/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle b/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle index 9e0ad0d28c8..e26a96622dd 100644 --- a/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/nested1.res.oracle @@ -1,247 +1,168 @@ [kernel] Parsing nested1.c (with preprocessing) [alias] analysing function: _Exit -[alias] May-aliases at the end of function _Exit: - <Bot> +[alias] May-aliases at the end of function _Exit: ⊥ [alias] analysing function: abort -[alias] May-aliases at the end of function abort: - <Bot> +[alias] May-aliases at the end of function abort: ⊥ [alias] analysing function: abs -[alias] May-aliases at the end of function abs: - <Bot> +[alias] May-aliases at the end of function abs: ⊥ [alias] analysing function: at_quick_exit -[alias] May-aliases at the end of function at_quick_exit: - <Bot> +[alias] May-aliases at the end of function at_quick_exit: ⊥ [alias] analysing function: atexit -[alias] May-aliases at the end of function atexit: - <Bot> +[alias] May-aliases at the end of function atexit: ⊥ [alias] analysing function: atof -[alias] May-aliases at the end of function atof: - <Bot> +[alias] May-aliases at the end of function atof: ⊥ [alias] analysing function: atoi -[alias] May-aliases at the end of function atoi: - <Bot> +[alias] May-aliases at the end of function atoi: ⊥ [alias] analysing function: atol -[alias] May-aliases at the end of function atol: - <Bot> +[alias] May-aliases at the end of function atol: ⊥ [alias] analysing function: atoll -[alias] May-aliases at the end of function atoll: - <Bot> +[alias] May-aliases at the end of function atoll: ⊥ [alias] analysing function: bsearch -[alias] May-aliases at the end of function bsearch: - <Bot> +[alias] May-aliases at the end of function bsearch: ⊥ [alias] analysing function: calloc -[alias] May-aliases at the end of function calloc: - <Bot> +[alias] May-aliases at the end of function calloc: ⊥ [alias] analysing function: div -[alias] May-aliases at the end of function div: - <Bot> +[alias] May-aliases at the end of function div: ⊥ [alias] analysing function: drand48 -[alias] May-aliases at the end of function drand48: - <Bot> +[alias] May-aliases at the end of function drand48: ⊥ [alias] analysing function: erand48 -[alias] May-aliases at the end of function erand48: - <Bot> +[alias] May-aliases at the end of function erand48: ⊥ [alias] analysing function: exit -[alias] May-aliases at the end of function exit: - <Bot> +[alias] May-aliases at the end of function exit: ⊥ [alias] analysing function: free -[alias] May-aliases at the end of function free: - <Bot> +[alias] May-aliases at the end of function free: ⊥ [alias] analysing function: getenv -[alias] May-aliases at the end of function getenv: - <Bot> +[alias] May-aliases at the end of function getenv: ⊥ [alias] analysing function: jrand48 -[alias] May-aliases at the end of function jrand48: - <Bot> +[alias] May-aliases at the end of function jrand48: ⊥ [alias] analysing function: labs -[alias] May-aliases at the end of function labs: - <Bot> +[alias] May-aliases at the end of function labs: ⊥ [alias] analysing function: lcong48 -[alias] May-aliases at the end of function lcong48: - <Bot> +[alias] May-aliases at the end of function lcong48: ⊥ [alias] analysing function: ldiv -[alias] May-aliases at the end of function ldiv: - <Bot> +[alias] May-aliases at the end of function ldiv: ⊥ [alias] analysing function: llabs -[alias] May-aliases at the end of function llabs: - <Bot> +[alias] May-aliases at the end of function llabs: ⊥ [alias] analysing function: lldiv -[alias] May-aliases at the end of function lldiv: - <Bot> +[alias] May-aliases at the end of function lldiv: ⊥ [alias] analysing function: lrand48 -[alias] May-aliases at the end of function lrand48: - <Bot> +[alias] May-aliases at the end of function lrand48: ⊥ [alias] analysing function: main [alias] analysing instruction: st_1_t x1 = {.a = 0, .b = 1}; -[alias] May-aliases at the end of instruction: st_1_t x1 = {.a = 0, .b = 1}; - <none> +[alias] May-aliases after instruction st_1_t x1 = {.a = 0, .b = 1}; are <none> [alias] analysing instruction: st_1_t x2 = {.a = 1, .b = 2}; -[alias] May-aliases at the end of instruction: st_1_t x2 = {.a = 1, .b = 2}; - <none> +[alias] May-aliases after instruction st_1_t x2 = {.a = 1, .b = 2}; are <none> [alias] analysing instruction: tab_y[0] = & x1; -[alias] May-aliases at the end of instruction: tab_y[0] = & x1; - <none> +[alias] May-aliases after instruction tab_y[0] = & x1; are <none> [alias] analysing instruction: tab_y[1] = & x2; -[alias] May-aliases at the end of instruction: tab_y[1] = & x2; - <none> +[alias] May-aliases after instruction tab_y[1] = & x2; are <none> [alias] analysing instruction: st_2_t *z1 = malloc(sizeof(st_2_t)); -[alias] May-aliases at the end of instruction: st_2_t *z1 = malloc(sizeof(st_2_t)); +[alias] May-aliases after instruction st_2_t *z1 = malloc(sizeof(st_2_t)); are <none> [alias] analysing instruction: st_2_t *z2 = malloc(sizeof(st_2_t)); -[alias] May-aliases at the end of instruction: st_2_t *z2 = malloc(sizeof(st_2_t)); +[alias] May-aliases after instruction st_2_t *z2 = malloc(sizeof(st_2_t)); are <none> [alias] analysing instruction: st_3_t *t = malloc(sizeof(st_3_t)); -[alias] May-aliases at the end of instruction: st_3_t *t = malloc(sizeof(st_3_t)); +[alias] May-aliases after instruction st_3_t *t = malloc(sizeof(st_3_t)); are <none> [alias] analysing instruction: int *a = malloc(sizeof(int)); -[alias] May-aliases at the end of instruction: int *a = malloc(sizeof(int)); - <none> +[alias] May-aliases after instruction int *a = malloc(sizeof(int)); are <none> [alias] analysing instruction: int *b = malloc(sizeof(int)); -[alias] May-aliases at the end of instruction: int *b = malloc(sizeof(int)); - <none> +[alias] May-aliases after instruction int *b = malloc(sizeof(int)); are <none> [alias] analysing instruction: *a = 0; -[alias] May-aliases at the end of instruction: *a = 0; - <none> +[alias] May-aliases after instruction *a = 0; are <none> [alias] analysing instruction: *b = 5; -[alias] May-aliases at the end of instruction: *b = 5; - <none> +[alias] May-aliases after instruction *b = 5; are <none> [alias] analysing instruction: z1->s = (struct struct_1_t *)tab_y[0]; [alias:unsafe-cast] nested1.c:47: Warning: unsafe cast from st_1_t * to struct struct_1_t * -[alias] May-aliases at the end of instruction: z1->s = (struct struct_1_t *)tab_y[0]; - {z1->s, tab_y[0]} are aliased +[alias] May-aliases after instruction z1->s = (struct struct_1_t *)tab_y[0]; are + {z1->s, tab_y[0]} [alias] analysing instruction: z2->s = (struct struct_1_t *)tab_y[1]; [alias:unsafe-cast] nested1.c:48: Warning: unsafe cast from st_1_t * to struct struct_1_t * -[alias] May-aliases at the end of instruction: z2->s = (struct struct_1_t *)tab_y[1]; - {z1->s, z2->s, tab_y[0]} are aliased +[alias] May-aliases after instruction z2->s = (struct struct_1_t *)tab_y[1]; are + {z1->s, z2->s, tab_y[0]} [alias] analysing instruction: z1->c = a; -[alias] May-aliases at the end of instruction: z1->c = a; - {z1->s, z2->s, tab_y[0]} are aliased - {z1->c, a} are aliased +[alias] May-aliases after instruction z1->c = a; are + {z1->s, z2->s, tab_y[0]} {z1->c, a} [alias] analysing instruction: z2->c = b; -[alias] May-aliases at the end of instruction: z2->c = b; - {z1->s, z2->s, tab_y[0]} are aliased - {z1->c, a} are aliased - {z2->c, b} are aliased +[alias] May-aliases after instruction z2->c = b; are + {z1->s, z2->s, tab_y[0]} {z1->c, a} {z2->c, b} [alias] analysing instruction: t->t = (struct struct_2_t *)z1; [alias:unsafe-cast] nested1.c:51: Warning: unsafe cast from st_2_t * to struct struct_2_t * -[alias] May-aliases at the end of instruction: t->t = (struct struct_2_t *)z1; - {z1->s, z2->s, tab_y[0]} are aliased - {t->t, z1} are aliased - {z1->c, a} are aliased - {z2->c, b} are aliased +[alias] May-aliases after instruction t->t = (struct struct_2_t *)z1; are + {z1->s, z2->s, tab_y[0]} {t->t, z1} {z1->c, a} {z2->c, b} [alias] analysing instruction: t->d = a; -[alias] May-aliases at the end of instruction: t->d = a; - {z1->s, z2->s, tab_y[0]} are aliased - {t->t, z1} are aliased - {z1->c, t->d, a} are aliased - {z2->c, b} are aliased +[alias] May-aliases after instruction t->d = a; are + {z1->s, z2->s, tab_y[0]} {t->t, z1} {z1->c, t->d, a} {z2->c, b} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {z1->s, z2->s, tab_y[0]} are aliased - {t->t, z1} are aliased - {z1->c, t->d, a} are aliased - {z2->c, b} are aliased +[alias] May-aliases after instruction __retres = 0; are + {z1->s, z2->s, tab_y[0]} {t->t, z1} {z1->c, t->d, a} {z2->c, b} [alias] May-aliases at the end of function main: - {z1->s, z2->s, tab_y[0]} are aliased - {t->t, z1} are aliased - {z1->c, t->d, a} are aliased - {z2->c, b} are aliased + {z1->s, z2->s, tab_y[0]} {t->t, z1} {z1->c, t->d, a} {z2->c, b} [alias] analysing function: malloc -[alias] May-aliases at the end of function malloc: - <Bot> +[alias] May-aliases at the end of function malloc: ⊥ [alias] analysing function: mblen -[alias] May-aliases at the end of function mblen: - <Bot> +[alias] May-aliases at the end of function mblen: ⊥ [alias] analysing function: mbstowcs -[alias] May-aliases at the end of function mbstowcs: - <Bot> +[alias] May-aliases at the end of function mbstowcs: ⊥ [alias] analysing function: mbtowc -[alias] May-aliases at the end of function mbtowc: - <Bot> +[alias] May-aliases at the end of function mbtowc: ⊥ [alias] analysing function: mkstemp -[alias] May-aliases at the end of function mkstemp: - <Bot> +[alias] May-aliases at the end of function mkstemp: ⊥ [alias] analysing function: mkstemps -[alias] May-aliases at the end of function mkstemps: - <Bot> +[alias] May-aliases at the end of function mkstemps: ⊥ [alias] analysing function: mrand48 -[alias] May-aliases at the end of function mrand48: - <Bot> +[alias] May-aliases at the end of function mrand48: ⊥ [alias] analysing function: nrand48 -[alias] May-aliases at the end of function nrand48: - <Bot> +[alias] May-aliases at the end of function nrand48: ⊥ [alias] analysing function: posix_memalign -[alias] May-aliases at the end of function posix_memalign: - <Bot> +[alias] May-aliases at the end of function posix_memalign: ⊥ [alias] analysing function: putenv -[alias] May-aliases at the end of function putenv: - <Bot> +[alias] May-aliases at the end of function putenv: ⊥ [alias] analysing function: qsort -[alias] May-aliases at the end of function qsort: - <Bot> +[alias] May-aliases at the end of function qsort: ⊥ [alias] analysing function: quick_exit -[alias] May-aliases at the end of function quick_exit: - <Bot> +[alias] May-aliases at the end of function quick_exit: ⊥ [alias] analysing function: rand -[alias] May-aliases at the end of function rand: - <Bot> +[alias] May-aliases at the end of function rand: ⊥ [alias] analysing function: random -[alias] May-aliases at the end of function random: - <Bot> +[alias] May-aliases at the end of function random: ⊥ [alias] analysing function: realloc -[alias] May-aliases at the end of function realloc: - <Bot> +[alias] May-aliases at the end of function realloc: ⊥ [alias] analysing function: reallocarray -[alias] May-aliases at the end of function reallocarray: - <Bot> +[alias] May-aliases at the end of function reallocarray: ⊥ [alias] analysing function: seed48 -[alias] May-aliases at the end of function seed48: - <Bot> +[alias] May-aliases at the end of function seed48: ⊥ [alias] analysing function: setenv -[alias] May-aliases at the end of function setenv: - <Bot> +[alias] May-aliases at the end of function setenv: ⊥ [alias] analysing function: srand -[alias] May-aliases at the end of function srand: - <Bot> +[alias] May-aliases at the end of function srand: ⊥ [alias] analysing function: srand48 -[alias] May-aliases at the end of function srand48: - <Bot> +[alias] May-aliases at the end of function srand48: ⊥ [alias] analysing function: srandom -[alias] May-aliases at the end of function srandom: - <Bot> +[alias] May-aliases at the end of function srandom: ⊥ [alias] analysing function: strtod -[alias] May-aliases at the end of function strtod: - <Bot> +[alias] May-aliases at the end of function strtod: ⊥ [alias] analysing function: strtof -[alias] May-aliases at the end of function strtof: - <Bot> +[alias] May-aliases at the end of function strtof: ⊥ [alias] analysing function: strtol -[alias] May-aliases at the end of function strtol: - <Bot> +[alias] May-aliases at the end of function strtol: ⊥ [alias] analysing function: strtold -[alias] May-aliases at the end of function strtold: - <Bot> +[alias] May-aliases at the end of function strtold: ⊥ [alias] analysing function: strtoll -[alias] May-aliases at the end of function strtoll: - <Bot> +[alias] May-aliases at the end of function strtoll: ⊥ [alias] analysing function: strtoul -[alias] May-aliases at the end of function strtoul: - <Bot> +[alias] May-aliases at the end of function strtoul: ⊥ [alias] analysing function: strtoull -[alias] May-aliases at the end of function strtoull: - <Bot> +[alias] May-aliases at the end of function strtoull: ⊥ [alias] analysing function: system -[alias] May-aliases at the end of function system: - <Bot> +[alias] May-aliases at the end of function system: ⊥ [alias] analysing function: unsetenv -[alias] May-aliases at the end of function unsetenv: - <Bot> +[alias] May-aliases at the end of function unsetenv: ⊥ [alias] analysing function: wcstombs -[alias] May-aliases at the end of function wcstombs: - <Bot> +[alias] May-aliases at the end of function wcstombs: ⊥ [alias] analysing function: wctomb -[alias] May-aliases at the end of function wctomb: - <Bot> +[alias] May-aliases at the end of function wctomb: ⊥ diff --git a/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle b/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle index 2ca416be7fc..7167c4aebae 100644 --- a/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/nested2.res.oracle @@ -1,218 +1,151 @@ [kernel] Parsing nested2.c (with preprocessing) [alias] analysing function: _Exit -[alias] May-aliases at the end of function _Exit: - <Bot> +[alias] May-aliases at the end of function _Exit: ⊥ [alias] analysing function: abort -[alias] May-aliases at the end of function abort: - <Bot> +[alias] May-aliases at the end of function abort: ⊥ [alias] analysing function: abs -[alias] May-aliases at the end of function abs: - <Bot> +[alias] May-aliases at the end of function abs: ⊥ [alias] analysing function: at_quick_exit -[alias] May-aliases at the end of function at_quick_exit: - <Bot> +[alias] May-aliases at the end of function at_quick_exit: ⊥ [alias] analysing function: atexit -[alias] May-aliases at the end of function atexit: - <Bot> +[alias] May-aliases at the end of function atexit: ⊥ [alias] analysing function: atof -[alias] May-aliases at the end of function atof: - <Bot> +[alias] May-aliases at the end of function atof: ⊥ [alias] analysing function: atoi -[alias] May-aliases at the end of function atoi: - <Bot> +[alias] May-aliases at the end of function atoi: ⊥ [alias] analysing function: atol -[alias] May-aliases at the end of function atol: - <Bot> +[alias] May-aliases at the end of function atol: ⊥ [alias] analysing function: atoll -[alias] May-aliases at the end of function atoll: - <Bot> +[alias] May-aliases at the end of function atoll: ⊥ [alias] analysing function: bsearch -[alias] May-aliases at the end of function bsearch: - <Bot> +[alias] May-aliases at the end of function bsearch: ⊥ [alias] analysing function: calloc -[alias] May-aliases at the end of function calloc: - <Bot> +[alias] May-aliases at the end of function calloc: ⊥ [alias] analysing function: div -[alias] May-aliases at the end of function div: - <Bot> +[alias] May-aliases at the end of function div: ⊥ [alias] analysing function: drand48 -[alias] May-aliases at the end of function drand48: - <Bot> +[alias] May-aliases at the end of function drand48: ⊥ [alias] analysing function: erand48 -[alias] May-aliases at the end of function erand48: - <Bot> +[alias] May-aliases at the end of function erand48: ⊥ [alias] analysing function: exit -[alias] May-aliases at the end of function exit: - <Bot> +[alias] May-aliases at the end of function exit: ⊥ [alias] analysing function: free -[alias] May-aliases at the end of function free: - <Bot> +[alias] May-aliases at the end of function free: ⊥ [alias] analysing function: getenv -[alias] May-aliases at the end of function getenv: - <Bot> +[alias] May-aliases at the end of function getenv: ⊥ [alias] analysing function: jrand48 -[alias] May-aliases at the end of function jrand48: - <Bot> +[alias] May-aliases at the end of function jrand48: ⊥ [alias] analysing function: labs -[alias] May-aliases at the end of function labs: - <Bot> +[alias] May-aliases at the end of function labs: ⊥ [alias] analysing function: lcong48 -[alias] May-aliases at the end of function lcong48: - <Bot> +[alias] May-aliases at the end of function lcong48: ⊥ [alias] analysing function: ldiv -[alias] May-aliases at the end of function ldiv: - <Bot> +[alias] May-aliases at the end of function ldiv: ⊥ [alias] analysing function: llabs -[alias] May-aliases at the end of function llabs: - <Bot> +[alias] May-aliases at the end of function llabs: ⊥ [alias] analysing function: lldiv -[alias] May-aliases at the end of function lldiv: - <Bot> +[alias] May-aliases at the end of function lldiv: ⊥ [alias] analysing function: lrand48 -[alias] May-aliases at the end of function lrand48: - <Bot> +[alias] May-aliases at the end of function lrand48: ⊥ [alias] analysing function: main [alias] analysing instruction: st_1_t x1 = {.a = 0, .b = 1}; -[alias] May-aliases at the end of instruction: st_1_t x1 = {.a = 0, .b = 1}; - <none> +[alias] May-aliases after instruction st_1_t x1 = {.a = 0, .b = 1}; are <none> [alias] analysing instruction: st_1_t x2 = {.a = 2, .b = 3}; -[alias] May-aliases at the end of instruction: st_1_t x2 = {.a = 2, .b = 3}; - <none> +[alias] May-aliases after instruction st_1_t x2 = {.a = 2, .b = 3}; are <none> [alias] analysing instruction: st_2_t *z1 = malloc(sizeof(st_2_t)); -[alias] May-aliases at the end of instruction: st_2_t *z1 = malloc(sizeof(st_2_t)); +[alias] May-aliases after instruction st_2_t *z1 = malloc(sizeof(st_2_t)); are <none> [alias] analysing instruction: st_3_t *t = malloc(sizeof(st_3_t)); -[alias] May-aliases at the end of instruction: st_3_t *t = malloc(sizeof(st_3_t)); +[alias] May-aliases after instruction st_3_t *t = malloc(sizeof(st_3_t)); are <none> [alias] analysing instruction: int *a = malloc(sizeof(int)); -[alias] May-aliases at the end of instruction: int *a = malloc(sizeof(int)); - <none> +[alias] May-aliases after instruction int *a = malloc(sizeof(int)); are <none> [alias] analysing instruction: *a = 0; -[alias] May-aliases at the end of instruction: *a = 0; - <none> +[alias] May-aliases after instruction *a = 0; are <none> [alias] analysing instruction: z1->s[0] = (struct struct_1_t *)(& x1); [alias:unsafe-cast] nested2.c:42: Warning: unsafe cast from st_1_t * to struct struct_1_t * -[alias] May-aliases at the end of instruction: z1->s[0] = (struct struct_1_t *)(& x1); +[alias] May-aliases after instruction z1->s[0] = (struct struct_1_t *)(& x1); are <none> [alias] analysing instruction: z1->s[1] = (struct struct_1_t *)(& x2); [alias:unsafe-cast] nested2.c:43: Warning: unsafe cast from st_1_t * to struct struct_1_t * -[alias] May-aliases at the end of instruction: z1->s[1] = (struct struct_1_t *)(& x2); +[alias] May-aliases after instruction z1->s[1] = (struct struct_1_t *)(& x2); are <none> [alias] analysing instruction: z1->c = a; -[alias] May-aliases at the end of instruction: z1->c = a; - {z1->c, a} are aliased +[alias] May-aliases after instruction z1->c = a; are {z1->c, a} [alias] analysing instruction: t->t = (struct struct_2_t *)z1; [alias:unsafe-cast] nested2.c:45: Warning: unsafe cast from st_2_t * to struct struct_2_t * -[alias] May-aliases at the end of instruction: t->t = (struct struct_2_t *)z1; - {t->t, z1} are aliased - {z1->c, a} are aliased +[alias] May-aliases after instruction t->t = (struct struct_2_t *)z1; are + {t->t, z1} {z1->c, a} [alias] analysing instruction: t->d = a; -[alias] May-aliases at the end of instruction: t->d = a; - {t->t, z1} are aliased - {z1->c, t->d, a} are aliased +[alias] May-aliases after instruction t->d = a; are {t->t, z1} {z1->c, t->d, a} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {t->t, z1} are aliased - {z1->c, t->d, a} are aliased -[alias] May-aliases at the end of function main: - {t->t, z1} are aliased - {z1->c, t->d, a} are aliased +[alias] May-aliases after instruction __retres = 0; are + {t->t, z1} {z1->c, t->d, a} +[alias] May-aliases at the end of function main: {t->t, z1} {z1->c, t->d, a} [alias] analysing function: malloc -[alias] May-aliases at the end of function malloc: - <Bot> +[alias] May-aliases at the end of function malloc: ⊥ [alias] analysing function: mblen -[alias] May-aliases at the end of function mblen: - <Bot> +[alias] May-aliases at the end of function mblen: ⊥ [alias] analysing function: mbstowcs -[alias] May-aliases at the end of function mbstowcs: - <Bot> +[alias] May-aliases at the end of function mbstowcs: ⊥ [alias] analysing function: mbtowc -[alias] May-aliases at the end of function mbtowc: - <Bot> +[alias] May-aliases at the end of function mbtowc: ⊥ [alias] analysing function: mkstemp -[alias] May-aliases at the end of function mkstemp: - <Bot> +[alias] May-aliases at the end of function mkstemp: ⊥ [alias] analysing function: mkstemps -[alias] May-aliases at the end of function mkstemps: - <Bot> +[alias] May-aliases at the end of function mkstemps: ⊥ [alias] analysing function: mrand48 -[alias] May-aliases at the end of function mrand48: - <Bot> +[alias] May-aliases at the end of function mrand48: ⊥ [alias] analysing function: nrand48 -[alias] May-aliases at the end of function nrand48: - <Bot> +[alias] May-aliases at the end of function nrand48: ⊥ [alias] analysing function: posix_memalign -[alias] May-aliases at the end of function posix_memalign: - <Bot> +[alias] May-aliases at the end of function posix_memalign: ⊥ [alias] analysing function: putenv -[alias] May-aliases at the end of function putenv: - <Bot> +[alias] May-aliases at the end of function putenv: ⊥ [alias] analysing function: qsort -[alias] May-aliases at the end of function qsort: - <Bot> +[alias] May-aliases at the end of function qsort: ⊥ [alias] analysing function: quick_exit -[alias] May-aliases at the end of function quick_exit: - <Bot> +[alias] May-aliases at the end of function quick_exit: ⊥ [alias] analysing function: rand -[alias] May-aliases at the end of function rand: - <Bot> +[alias] May-aliases at the end of function rand: ⊥ [alias] analysing function: random -[alias] May-aliases at the end of function random: - <Bot> +[alias] May-aliases at the end of function random: ⊥ [alias] analysing function: realloc -[alias] May-aliases at the end of function realloc: - <Bot> +[alias] May-aliases at the end of function realloc: ⊥ [alias] analysing function: reallocarray -[alias] May-aliases at the end of function reallocarray: - <Bot> +[alias] May-aliases at the end of function reallocarray: ⊥ [alias] analysing function: seed48 -[alias] May-aliases at the end of function seed48: - <Bot> +[alias] May-aliases at the end of function seed48: ⊥ [alias] analysing function: setenv -[alias] May-aliases at the end of function setenv: - <Bot> +[alias] May-aliases at the end of function setenv: ⊥ [alias] analysing function: srand -[alias] May-aliases at the end of function srand: - <Bot> +[alias] May-aliases at the end of function srand: ⊥ [alias] analysing function: srand48 -[alias] May-aliases at the end of function srand48: - <Bot> +[alias] May-aliases at the end of function srand48: ⊥ [alias] analysing function: srandom -[alias] May-aliases at the end of function srandom: - <Bot> +[alias] May-aliases at the end of function srandom: ⊥ [alias] analysing function: strtod -[alias] May-aliases at the end of function strtod: - <Bot> +[alias] May-aliases at the end of function strtod: ⊥ [alias] analysing function: strtof -[alias] May-aliases at the end of function strtof: - <Bot> +[alias] May-aliases at the end of function strtof: ⊥ [alias] analysing function: strtol -[alias] May-aliases at the end of function strtol: - <Bot> +[alias] May-aliases at the end of function strtol: ⊥ [alias] analysing function: strtold -[alias] May-aliases at the end of function strtold: - <Bot> +[alias] May-aliases at the end of function strtold: ⊥ [alias] analysing function: strtoll -[alias] May-aliases at the end of function strtoll: - <Bot> +[alias] May-aliases at the end of function strtoll: ⊥ [alias] analysing function: strtoul -[alias] May-aliases at the end of function strtoul: - <Bot> +[alias] May-aliases at the end of function strtoul: ⊥ [alias] analysing function: strtoull -[alias] May-aliases at the end of function strtoull: - <Bot> +[alias] May-aliases at the end of function strtoull: ⊥ [alias] analysing function: system -[alias] May-aliases at the end of function system: - <Bot> +[alias] May-aliases at the end of function system: ⊥ [alias] analysing function: unsetenv -[alias] May-aliases at the end of function unsetenv: - <Bot> +[alias] May-aliases at the end of function unsetenv: ⊥ [alias] analysing function: wcstombs -[alias] May-aliases at the end of function wcstombs: - <Bot> +[alias] May-aliases at the end of function wcstombs: ⊥ [alias] analysing function: wctomb -[alias] May-aliases at the end of function wctomb: - <Bot> +[alias] May-aliases at the end of function wctomb: ⊥ diff --git a/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle index ca2b271f23e..6fab8c1f99d 100644 --- a/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/structure1.res.oracle @@ -1,27 +1,19 @@ [kernel] Parsing structure1.c (with preprocessing) [alias] analysing function: main [alias] analysing instruction: st_1_t x = {.a = 0, .b = 1}; -[alias] May-aliases at the end of instruction: st_1_t x = {.a = 0, .b = 1}; - <none> +[alias] May-aliases after instruction st_1_t x = {.a = 0, .b = 1}; are <none> [alias] analysing instruction: st_2_t y = {.a = 3, .c = 4}; -[alias] May-aliases at the end of instruction: st_2_t y = {.a = 3, .c = 4}; - <none> +[alias] May-aliases after instruction st_2_t y = {.a = 3, .c = 4}; are <none> [alias] analysing instruction: st_1_t *p_x = & x; -[alias] May-aliases at the end of instruction: st_1_t *p_x = & x; - <none> +[alias] May-aliases after instruction st_1_t *p_x = & x; are <none> [alias] analysing instruction: st_2_t *p_y = & y; -[alias] May-aliases at the end of instruction: st_2_t *p_y = & y; - <none> +[alias] May-aliases after instruction st_2_t *p_y = & y; are <none> [alias] analysing instruction: p_x->a = 3; -[alias] May-aliases at the end of instruction: p_x->a = 3; - <none> +[alias] May-aliases after instruction p_x->a = 3; are <none> [alias] analysing instruction: p_x = (st_1_t *)p_y; [alias:unsafe-cast] structure1.c:28: Warning: unsafe cast from st_2_t * to st_1_t * -[alias] May-aliases at the end of instruction: p_x = (st_1_t *)p_y; - {p_x, p_y} are aliased +[alias] May-aliases after instruction p_x = (st_1_t *)p_y; are {p_x, p_y} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {p_x, p_y} are aliased -[alias] May-aliases at the end of function main: - {p_x, p_y} are aliased +[alias] May-aliases after instruction __retres = 0; are {p_x, p_y} +[alias] May-aliases at the end of function main: {p_x, p_y} diff --git a/src/plugins/alias/tests/offsets/oracle/structure2.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure2.res.oracle index be92c249a6a..2b2f7ecd4e5 100644 --- a/src/plugins/alias/tests/offsets/oracle/structure2.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/structure2.res.oracle @@ -1,25 +1,19 @@ [kernel] Parsing structure2.c (with preprocessing) [alias] analysing function: main [alias] analysing instruction: st_1_t x1 = {.a = 0, .b = 1}; -[alias] May-aliases at the end of instruction: st_1_t x1 = {.a = 0, .b = 1}; - <none> +[alias] May-aliases after instruction st_1_t x1 = {.a = 0, .b = 1}; are <none> [alias] analysing instruction: st_1_t x2 = {.a = 1, .b = 2}; -[alias] May-aliases at the end of instruction: st_1_t x2 = {.a = 1, .b = 2}; - <none> +[alias] May-aliases after instruction st_1_t x2 = {.a = 1, .b = 2}; are <none> [alias] analysing instruction: st_2_t y = {.s = (struct struct_1_t *)(& x1), .c = 4}; [alias:unsafe-cast] structure2.c:21: Warning: unsafe cast from st_1_t * to struct struct_1_t * -[alias] May-aliases at the end of instruction: st_2_t y = - {.s = (struct struct_1_t *)(& x1), - .c = 4}; - <none> +[alias] May-aliases after instruction + st_2_t y = {.s = (struct struct_1_t *)(& x1), .c = 4}; are <none> [alias] analysing instruction: y.s = (struct struct_1_t *)(& x2); [alias:unsafe-cast] structure2.c:23: Warning: unsafe cast from st_1_t * to struct struct_1_t * -[alias] May-aliases at the end of instruction: y.s = (struct struct_1_t *)(& x2); +[alias] May-aliases after instruction y.s = (struct struct_1_t *)(& x2); are <none> [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - <none> -[alias] May-aliases at the end of function main: - <none> +[alias] May-aliases after instruction __retres = 0; are <none> +[alias] May-aliases at the end of function main: <none> diff --git a/src/plugins/alias/tests/offsets/oracle/structure3.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure3.res.oracle index cf1fbc3b1b7..7ec86d402cb 100644 --- a/src/plugins/alias/tests/offsets/oracle/structure3.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/structure3.res.oracle @@ -1,44 +1,33 @@ [kernel] Parsing structure3.c (with preprocessing) [alias] analysing function: main [alias] analysing instruction: st_1_t x1 = {.a = 0, .b = 1}; -[alias] May-aliases at the end of instruction: st_1_t x1 = {.a = 0, .b = 1}; - <none> +[alias] May-aliases after instruction st_1_t x1 = {.a = 0, .b = 1}; are <none> [alias] analysing instruction: st_1_t x2 = {.a = 1, .b = 2}; -[alias] May-aliases at the end of instruction: st_1_t x2 = {.a = 1, .b = 2}; - <none> -[alias] analysing instruction: st_2_t y1 = - {.s = (struct struct_1_t *)(& x1), .c = 3}; +[alias] May-aliases after instruction st_1_t x2 = {.a = 1, .b = 2}; are <none> +[alias] analysing instruction: + st_2_t y1 = {.s = (struct struct_1_t *)(& x1), .c = 3}; [alias:unsafe-cast] structure3.c:31: Warning: unsafe cast from st_1_t * to struct struct_1_t * -[alias] May-aliases at the end of instruction: st_2_t y1 = - {.s = (struct struct_1_t *)(& x1), - .c = 3}; - <none> -[alias] analysing instruction: st_2_t y2 = - {.s = (struct struct_1_t *)(& x2), .c = 4}; +[alias] May-aliases after instruction + st_2_t y1 = {.s = (struct struct_1_t *)(& x1), .c = 3}; are <none> +[alias] analysing instruction: + st_2_t y2 = {.s = (struct struct_1_t *)(& x2), .c = 4}; [alias:unsafe-cast] structure3.c:32: Warning: unsafe cast from st_1_t * to struct struct_1_t * -[alias] May-aliases at the end of instruction: st_2_t y2 = - {.s = (struct struct_1_t *)(& x2), - .c = 4}; - <none> +[alias] May-aliases after instruction + st_2_t y2 = {.s = (struct struct_1_t *)(& x2), .c = 4}; are <none> [alias] analysing instruction: st_3_t z = {.t = (struct struct_2_t *)(& y1), .d = 5}; [alias:unsafe-cast] structure3.c:33: Warning: unsafe cast from st_2_t * to struct struct_2_t * -[alias] May-aliases at the end of instruction: st_3_t z = - {.t = (struct struct_2_t *)(& y1), - .d = 5}; - <none> +[alias] May-aliases after instruction + st_3_t z = {.t = (struct struct_2_t *)(& y1), .d = 5}; are <none> [alias] analysing instruction: z.t = (struct struct_2_t *)(& y2); [alias:unsafe-cast] structure3.c:35: Warning: unsafe cast from st_2_t * to struct struct_2_t * -[alias] May-aliases at the end of instruction: z.t = (struct struct_2_t *)(& y2); +[alias] May-aliases after instruction z.t = (struct struct_2_t *)(& y2); are <none> [alias] analysing instruction: y1.c = z.d; -[alias] May-aliases at the end of instruction: y1.c = z.d; - <none> +[alias] May-aliases after instruction y1.c = z.d; are <none> [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - <none> -[alias] May-aliases at the end of function main: - <none> +[alias] May-aliases after instruction __retres = 0; are <none> +[alias] May-aliases at the end of function main: <none> diff --git a/src/plugins/alias/tests/offsets/oracle/structure4.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure4.res.oracle index bf3fc7084f7..17d462a32e0 100644 --- a/src/plugins/alias/tests/offsets/oracle/structure4.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/structure4.res.oracle @@ -1,198 +1,136 @@ [kernel] Parsing structure4.c (with preprocessing) [alias] analysing function: _Exit -[alias] May-aliases at the end of function _Exit: - <Bot> +[alias] May-aliases at the end of function _Exit: ⊥ [alias] analysing function: abort -[alias] May-aliases at the end of function abort: - <Bot> +[alias] May-aliases at the end of function abort: ⊥ [alias] analysing function: abs -[alias] May-aliases at the end of function abs: - <Bot> +[alias] May-aliases at the end of function abs: ⊥ [alias] analysing function: at_quick_exit -[alias] May-aliases at the end of function at_quick_exit: - <Bot> +[alias] May-aliases at the end of function at_quick_exit: ⊥ [alias] analysing function: atexit -[alias] May-aliases at the end of function atexit: - <Bot> +[alias] May-aliases at the end of function atexit: ⊥ [alias] analysing function: atof -[alias] May-aliases at the end of function atof: - <Bot> +[alias] May-aliases at the end of function atof: ⊥ [alias] analysing function: atoi -[alias] May-aliases at the end of function atoi: - <Bot> +[alias] May-aliases at the end of function atoi: ⊥ [alias] analysing function: atol -[alias] May-aliases at the end of function atol: - <Bot> +[alias] May-aliases at the end of function atol: ⊥ [alias] analysing function: atoll -[alias] May-aliases at the end of function atoll: - <Bot> +[alias] May-aliases at the end of function atoll: ⊥ [alias] analysing function: bsearch -[alias] May-aliases at the end of function bsearch: - <Bot> +[alias] May-aliases at the end of function bsearch: ⊥ [alias] analysing function: calloc -[alias] May-aliases at the end of function calloc: - <Bot> +[alias] May-aliases at the end of function calloc: ⊥ [alias] analysing function: div -[alias] May-aliases at the end of function div: - <Bot> +[alias] May-aliases at the end of function div: ⊥ [alias] analysing function: drand48 -[alias] May-aliases at the end of function drand48: - <Bot> +[alias] May-aliases at the end of function drand48: ⊥ [alias] analysing function: erand48 -[alias] May-aliases at the end of function erand48: - <Bot> +[alias] May-aliases at the end of function erand48: ⊥ [alias] analysing function: exit -[alias] May-aliases at the end of function exit: - <Bot> +[alias] May-aliases at the end of function exit: ⊥ [alias] analysing function: free -[alias] May-aliases at the end of function free: - <Bot> +[alias] May-aliases at the end of function free: ⊥ [alias] analysing function: getenv -[alias] May-aliases at the end of function getenv: - <Bot> +[alias] May-aliases at the end of function getenv: ⊥ [alias] analysing function: jrand48 -[alias] May-aliases at the end of function jrand48: - <Bot> +[alias] May-aliases at the end of function jrand48: ⊥ [alias] analysing function: labs -[alias] May-aliases at the end of function labs: - <Bot> +[alias] May-aliases at the end of function labs: ⊥ [alias] analysing function: lcong48 -[alias] May-aliases at the end of function lcong48: - <Bot> +[alias] May-aliases at the end of function lcong48: ⊥ [alias] analysing function: ldiv -[alias] May-aliases at the end of function ldiv: - <Bot> +[alias] May-aliases at the end of function ldiv: ⊥ [alias] analysing function: llabs -[alias] May-aliases at the end of function llabs: - <Bot> +[alias] May-aliases at the end of function llabs: ⊥ [alias] analysing function: lldiv -[alias] May-aliases at the end of function lldiv: - <Bot> +[alias] May-aliases at the end of function lldiv: ⊥ [alias] analysing function: lrand48 -[alias] May-aliases at the end of function lrand48: - <Bot> +[alias] May-aliases at the end of function lrand48: ⊥ [alias] analysing function: main [alias] analysing instruction: st_1_t x1 = {.a = 0, .b = 1}; -[alias] May-aliases at the end of instruction: st_1_t x1 = {.a = 0, .b = 1}; - <none> +[alias] May-aliases after instruction st_1_t x1 = {.a = 0, .b = 1}; are <none> [alias] analysing instruction: st_1_t x2 = {.a = 1, .b = 2}; -[alias] May-aliases at the end of instruction: st_1_t x2 = {.a = 1, .b = 2}; - <none> +[alias] May-aliases after instruction st_1_t x2 = {.a = 1, .b = 2}; are <none> [alias] analysing instruction: st_1_t *y1 = malloc(sizeof(st_1_t)); -[alias] May-aliases at the end of instruction: st_1_t *y1 = malloc(sizeof(st_1_t)); +[alias] May-aliases after instruction st_1_t *y1 = malloc(sizeof(st_1_t)); are <none> [alias] analysing instruction: st_2_t *z = malloc(sizeof(st_2_t)); -[alias] May-aliases at the end of instruction: st_2_t *z = malloc(sizeof(st_2_t)); +[alias] May-aliases after instruction st_2_t *z = malloc(sizeof(st_2_t)); are <none> [alias] analysing instruction: y1 = & x1; -[alias] May-aliases at the end of instruction: y1 = & x1; - <none> +[alias] May-aliases after instruction y1 = & x1; are <none> [alias] analysing instruction: z->s = (struct struct_1_t *)y1; [alias:unsafe-cast] structure4.c:37: Warning: unsafe cast from st_1_t * to struct struct_1_t * -[alias] May-aliases at the end of instruction: z->s = (struct struct_1_t *)y1; - {z->s, y1} are aliased +[alias] May-aliases after instruction z->s = (struct struct_1_t *)y1; are + {z->s, y1} [alias] analysing instruction: z->c = 6; -[alias] May-aliases at the end of instruction: z->c = 6; - {z->s, y1} are aliased +[alias] May-aliases after instruction z->c = 6; are {z->s, y1} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {z->s, y1} are aliased -[alias] May-aliases at the end of function main: - {z->s, y1} are aliased +[alias] May-aliases after instruction __retres = 0; are {z->s, y1} +[alias] May-aliases at the end of function main: {z->s, y1} [alias] analysing function: malloc -[alias] May-aliases at the end of function malloc: - <Bot> +[alias] May-aliases at the end of function malloc: ⊥ [alias] analysing function: mblen -[alias] May-aliases at the end of function mblen: - <Bot> +[alias] May-aliases at the end of function mblen: ⊥ [alias] analysing function: mbstowcs -[alias] May-aliases at the end of function mbstowcs: - <Bot> +[alias] May-aliases at the end of function mbstowcs: ⊥ [alias] analysing function: mbtowc -[alias] May-aliases at the end of function mbtowc: - <Bot> +[alias] May-aliases at the end of function mbtowc: ⊥ [alias] analysing function: mkstemp -[alias] May-aliases at the end of function mkstemp: - <Bot> +[alias] May-aliases at the end of function mkstemp: ⊥ [alias] analysing function: mkstemps -[alias] May-aliases at the end of function mkstemps: - <Bot> +[alias] May-aliases at the end of function mkstemps: ⊥ [alias] analysing function: mrand48 -[alias] May-aliases at the end of function mrand48: - <Bot> +[alias] May-aliases at the end of function mrand48: ⊥ [alias] analysing function: nrand48 -[alias] May-aliases at the end of function nrand48: - <Bot> +[alias] May-aliases at the end of function nrand48: ⊥ [alias] analysing function: posix_memalign -[alias] May-aliases at the end of function posix_memalign: - <Bot> +[alias] May-aliases at the end of function posix_memalign: ⊥ [alias] analysing function: putenv -[alias] May-aliases at the end of function putenv: - <Bot> +[alias] May-aliases at the end of function putenv: ⊥ [alias] analysing function: qsort -[alias] May-aliases at the end of function qsort: - <Bot> +[alias] May-aliases at the end of function qsort: ⊥ [alias] analysing function: quick_exit -[alias] May-aliases at the end of function quick_exit: - <Bot> +[alias] May-aliases at the end of function quick_exit: ⊥ [alias] analysing function: rand -[alias] May-aliases at the end of function rand: - <Bot> +[alias] May-aliases at the end of function rand: ⊥ [alias] analysing function: random -[alias] May-aliases at the end of function random: - <Bot> +[alias] May-aliases at the end of function random: ⊥ [alias] analysing function: realloc -[alias] May-aliases at the end of function realloc: - <Bot> +[alias] May-aliases at the end of function realloc: ⊥ [alias] analysing function: reallocarray -[alias] May-aliases at the end of function reallocarray: - <Bot> +[alias] May-aliases at the end of function reallocarray: ⊥ [alias] analysing function: seed48 -[alias] May-aliases at the end of function seed48: - <Bot> +[alias] May-aliases at the end of function seed48: ⊥ [alias] analysing function: setenv -[alias] May-aliases at the end of function setenv: - <Bot> +[alias] May-aliases at the end of function setenv: ⊥ [alias] analysing function: srand -[alias] May-aliases at the end of function srand: - <Bot> +[alias] May-aliases at the end of function srand: ⊥ [alias] analysing function: srand48 -[alias] May-aliases at the end of function srand48: - <Bot> +[alias] May-aliases at the end of function srand48: ⊥ [alias] analysing function: srandom -[alias] May-aliases at the end of function srandom: - <Bot> +[alias] May-aliases at the end of function srandom: ⊥ [alias] analysing function: strtod -[alias] May-aliases at the end of function strtod: - <Bot> +[alias] May-aliases at the end of function strtod: ⊥ [alias] analysing function: strtof -[alias] May-aliases at the end of function strtof: - <Bot> +[alias] May-aliases at the end of function strtof: ⊥ [alias] analysing function: strtol -[alias] May-aliases at the end of function strtol: - <Bot> +[alias] May-aliases at the end of function strtol: ⊥ [alias] analysing function: strtold -[alias] May-aliases at the end of function strtold: - <Bot> +[alias] May-aliases at the end of function strtold: ⊥ [alias] analysing function: strtoll -[alias] May-aliases at the end of function strtoll: - <Bot> +[alias] May-aliases at the end of function strtoll: ⊥ [alias] analysing function: strtoul -[alias] May-aliases at the end of function strtoul: - <Bot> +[alias] May-aliases at the end of function strtoul: ⊥ [alias] analysing function: strtoull -[alias] May-aliases at the end of function strtoull: - <Bot> +[alias] May-aliases at the end of function strtoull: ⊥ [alias] analysing function: system -[alias] May-aliases at the end of function system: - <Bot> +[alias] May-aliases at the end of function system: ⊥ [alias] analysing function: unsetenv -[alias] May-aliases at the end of function unsetenv: - <Bot> +[alias] May-aliases at the end of function unsetenv: ⊥ [alias] analysing function: wcstombs -[alias] May-aliases at the end of function wcstombs: - <Bot> +[alias] May-aliases at the end of function wcstombs: ⊥ [alias] analysing function: wctomb -[alias] May-aliases at the end of function wctomb: - <Bot> +[alias] May-aliases at the end of function wctomb: ⊥ diff --git a/src/plugins/alias/tests/offsets/oracle/structure5.res.oracle b/src/plugins/alias/tests/offsets/oracle/structure5.res.oracle index 135933b7245..6ab3b847890 100644 --- a/src/plugins/alias/tests/offsets/oracle/structure5.res.oracle +++ b/src/plugins/alias/tests/offsets/oracle/structure5.res.oracle @@ -1,224 +1,153 @@ [kernel] Parsing structure5.c (with preprocessing) [alias] analysing function: _Exit -[alias] May-aliases at the end of function _Exit: - <Bot> +[alias] May-aliases at the end of function _Exit: ⊥ [alias] analysing function: abort -[alias] May-aliases at the end of function abort: - <Bot> +[alias] May-aliases at the end of function abort: ⊥ [alias] analysing function: abs -[alias] May-aliases at the end of function abs: - <Bot> +[alias] May-aliases at the end of function abs: ⊥ [alias] analysing function: at_quick_exit -[alias] May-aliases at the end of function at_quick_exit: - <Bot> +[alias] May-aliases at the end of function at_quick_exit: ⊥ [alias] analysing function: atexit -[alias] May-aliases at the end of function atexit: - <Bot> +[alias] May-aliases at the end of function atexit: ⊥ [alias] analysing function: atof -[alias] May-aliases at the end of function atof: - <Bot> +[alias] May-aliases at the end of function atof: ⊥ [alias] analysing function: atoi -[alias] May-aliases at the end of function atoi: - <Bot> +[alias] May-aliases at the end of function atoi: ⊥ [alias] analysing function: atol -[alias] May-aliases at the end of function atol: - <Bot> +[alias] May-aliases at the end of function atol: ⊥ [alias] analysing function: atoll -[alias] May-aliases at the end of function atoll: - <Bot> +[alias] May-aliases at the end of function atoll: ⊥ [alias] analysing function: bsearch -[alias] May-aliases at the end of function bsearch: - <Bot> +[alias] May-aliases at the end of function bsearch: ⊥ [alias] analysing function: calloc -[alias] May-aliases at the end of function calloc: - <Bot> +[alias] May-aliases at the end of function calloc: ⊥ [alias] analysing function: div -[alias] May-aliases at the end of function div: - <Bot> +[alias] May-aliases at the end of function div: ⊥ [alias] analysing function: drand48 -[alias] May-aliases at the end of function drand48: - <Bot> +[alias] May-aliases at the end of function drand48: ⊥ [alias] analysing function: erand48 -[alias] May-aliases at the end of function erand48: - <Bot> +[alias] May-aliases at the end of function erand48: ⊥ [alias] analysing function: exit -[alias] May-aliases at the end of function exit: - <Bot> +[alias] May-aliases at the end of function exit: ⊥ [alias] analysing function: free -[alias] May-aliases at the end of function free: - <Bot> +[alias] May-aliases at the end of function free: ⊥ [alias] analysing function: getenv -[alias] May-aliases at the end of function getenv: - <Bot> +[alias] May-aliases at the end of function getenv: ⊥ [alias] analysing function: jrand48 -[alias] May-aliases at the end of function jrand48: - <Bot> +[alias] May-aliases at the end of function jrand48: ⊥ [alias] analysing function: labs -[alias] May-aliases at the end of function labs: - <Bot> +[alias] May-aliases at the end of function labs: ⊥ [alias] analysing function: lcong48 -[alias] May-aliases at the end of function lcong48: - <Bot> +[alias] May-aliases at the end of function lcong48: ⊥ [alias] analysing function: ldiv -[alias] May-aliases at the end of function ldiv: - <Bot> +[alias] May-aliases at the end of function ldiv: ⊥ [alias] analysing function: llabs -[alias] May-aliases at the end of function llabs: - <Bot> +[alias] May-aliases at the end of function llabs: ⊥ [alias] analysing function: lldiv -[alias] May-aliases at the end of function lldiv: - <Bot> +[alias] May-aliases at the end of function lldiv: ⊥ [alias] analysing function: lrand48 -[alias] May-aliases at the end of function lrand48: - <Bot> +[alias] May-aliases at the end of function lrand48: ⊥ [alias] analysing function: main [alias] analysing instruction: st_1_t x1 = {.a = 0, .b = 1}; -[alias] May-aliases at the end of instruction: st_1_t x1 = {.a = 0, .b = 1}; - <none> +[alias] May-aliases after instruction st_1_t x1 = {.a = 0, .b = 1}; are <none> [alias] analysing instruction: st_1_t x2 = {.a = 1, .b = 2}; -[alias] May-aliases at the end of instruction: st_1_t x2 = {.a = 1, .b = 2}; - <none> +[alias] May-aliases after instruction st_1_t x2 = {.a = 1, .b = 2}; are <none> [alias] analysing instruction: st_1_t *y1 = malloc(sizeof(st_1_t)); -[alias] May-aliases at the end of instruction: st_1_t *y1 = malloc(sizeof(st_1_t)); +[alias] May-aliases after instruction st_1_t *y1 = malloc(sizeof(st_1_t)); are <none> [alias] analysing instruction: st_2_t *z = malloc(sizeof(st_2_t)); -[alias] May-aliases at the end of instruction: st_2_t *z = malloc(sizeof(st_2_t)); +[alias] May-aliases after instruction st_2_t *z = malloc(sizeof(st_2_t)); are <none> [alias] analysing instruction: st_3_t *t = malloc(sizeof(st_3_t)); -[alias] May-aliases at the end of instruction: st_3_t *t = malloc(sizeof(st_3_t)); +[alias] May-aliases after instruction st_3_t *t = malloc(sizeof(st_3_t)); are <none> [alias] analysing instruction: int *a = malloc(sizeof(int)); -[alias] May-aliases at the end of instruction: int *a = malloc(sizeof(int)); - <none> +[alias] May-aliases after instruction int *a = malloc(sizeof(int)); are <none> [alias] analysing instruction: *a = 0; -[alias] May-aliases at the end of instruction: *a = 0; - <none> +[alias] May-aliases after instruction *a = 0; are <none> [alias] analysing instruction: y1 = & x1; -[alias] May-aliases at the end of instruction: y1 = & x1; - <none> +[alias] May-aliases after instruction y1 = & x1; are <none> [alias] analysing instruction: z->s = (struct struct_1_t *)y1; [alias:unsafe-cast] structure5.c:41: Warning: unsafe cast from st_1_t * to struct struct_1_t * -[alias] May-aliases at the end of instruction: z->s = (struct struct_1_t *)y1; - {z->s, y1} are aliased +[alias] May-aliases after instruction z->s = (struct struct_1_t *)y1; are + {z->s, y1} [alias] analysing instruction: z->c = a; -[alias] May-aliases at the end of instruction: z->c = a; - {z->s, y1} are aliased - {z->c, a} are aliased +[alias] May-aliases after instruction z->c = a; are {z->s, y1} {z->c, a} [alias] analysing instruction: t->t = (struct struct_2_t *)z; [alias:unsafe-cast] structure5.c:43: Warning: unsafe cast from st_2_t * to struct struct_2_t * -[alias] May-aliases at the end of instruction: t->t = (struct struct_2_t *)z; - {z->s, y1} are aliased - {t->t, z} are aliased - {z->c, a} are aliased +[alias] May-aliases after instruction t->t = (struct struct_2_t *)z; are + {z->s, y1} {t->t, z} {z->c, a} [alias] analysing instruction: t->d = a; -[alias] May-aliases at the end of instruction: t->d = a; - {z->s, y1} are aliased - {t->t, z} are aliased - {z->c, t->d, a} are aliased +[alias] May-aliases after instruction t->d = a; are + {z->s, y1} {t->t, z} {z->c, t->d, a} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {z->s, y1} are aliased - {t->t, z} are aliased - {z->c, t->d, a} are aliased +[alias] May-aliases after instruction __retres = 0; are + {z->s, y1} {t->t, z} {z->c, t->d, a} [alias] May-aliases at the end of function main: - {z->s, y1} are aliased - {t->t, z} are aliased - {z->c, t->d, a} are aliased + {z->s, y1} {t->t, z} {z->c, t->d, a} [alias] analysing function: malloc -[alias] May-aliases at the end of function malloc: - <Bot> +[alias] May-aliases at the end of function malloc: ⊥ [alias] analysing function: mblen -[alias] May-aliases at the end of function mblen: - <Bot> +[alias] May-aliases at the end of function mblen: ⊥ [alias] analysing function: mbstowcs -[alias] May-aliases at the end of function mbstowcs: - <Bot> +[alias] May-aliases at the end of function mbstowcs: ⊥ [alias] analysing function: mbtowc -[alias] May-aliases at the end of function mbtowc: - <Bot> +[alias] May-aliases at the end of function mbtowc: ⊥ [alias] analysing function: mkstemp -[alias] May-aliases at the end of function mkstemp: - <Bot> +[alias] May-aliases at the end of function mkstemp: ⊥ [alias] analysing function: mkstemps -[alias] May-aliases at the end of function mkstemps: - <Bot> +[alias] May-aliases at the end of function mkstemps: ⊥ [alias] analysing function: mrand48 -[alias] May-aliases at the end of function mrand48: - <Bot> +[alias] May-aliases at the end of function mrand48: ⊥ [alias] analysing function: nrand48 -[alias] May-aliases at the end of function nrand48: - <Bot> +[alias] May-aliases at the end of function nrand48: ⊥ [alias] analysing function: posix_memalign -[alias] May-aliases at the end of function posix_memalign: - <Bot> +[alias] May-aliases at the end of function posix_memalign: ⊥ [alias] analysing function: putenv -[alias] May-aliases at the end of function putenv: - <Bot> +[alias] May-aliases at the end of function putenv: ⊥ [alias] analysing function: qsort -[alias] May-aliases at the end of function qsort: - <Bot> +[alias] May-aliases at the end of function qsort: ⊥ [alias] analysing function: quick_exit -[alias] May-aliases at the end of function quick_exit: - <Bot> +[alias] May-aliases at the end of function quick_exit: ⊥ [alias] analysing function: rand -[alias] May-aliases at the end of function rand: - <Bot> +[alias] May-aliases at the end of function rand: ⊥ [alias] analysing function: random -[alias] May-aliases at the end of function random: - <Bot> +[alias] May-aliases at the end of function random: ⊥ [alias] analysing function: realloc -[alias] May-aliases at the end of function realloc: - <Bot> +[alias] May-aliases at the end of function realloc: ⊥ [alias] analysing function: reallocarray -[alias] May-aliases at the end of function reallocarray: - <Bot> +[alias] May-aliases at the end of function reallocarray: ⊥ [alias] analysing function: seed48 -[alias] May-aliases at the end of function seed48: - <Bot> +[alias] May-aliases at the end of function seed48: ⊥ [alias] analysing function: setenv -[alias] May-aliases at the end of function setenv: - <Bot> +[alias] May-aliases at the end of function setenv: ⊥ [alias] analysing function: srand -[alias] May-aliases at the end of function srand: - <Bot> +[alias] May-aliases at the end of function srand: ⊥ [alias] analysing function: srand48 -[alias] May-aliases at the end of function srand48: - <Bot> +[alias] May-aliases at the end of function srand48: ⊥ [alias] analysing function: srandom -[alias] May-aliases at the end of function srandom: - <Bot> +[alias] May-aliases at the end of function srandom: ⊥ [alias] analysing function: strtod -[alias] May-aliases at the end of function strtod: - <Bot> +[alias] May-aliases at the end of function strtod: ⊥ [alias] analysing function: strtof -[alias] May-aliases at the end of function strtof: - <Bot> +[alias] May-aliases at the end of function strtof: ⊥ [alias] analysing function: strtol -[alias] May-aliases at the end of function strtol: - <Bot> +[alias] May-aliases at the end of function strtol: ⊥ [alias] analysing function: strtold -[alias] May-aliases at the end of function strtold: - <Bot> +[alias] May-aliases at the end of function strtold: ⊥ [alias] analysing function: strtoll -[alias] May-aliases at the end of function strtoll: - <Bot> +[alias] May-aliases at the end of function strtoll: ⊥ [alias] analysing function: strtoul -[alias] May-aliases at the end of function strtoul: - <Bot> +[alias] May-aliases at the end of function strtoul: ⊥ [alias] analysing function: strtoull -[alias] May-aliases at the end of function strtoull: - <Bot> +[alias] May-aliases at the end of function strtoull: ⊥ [alias] analysing function: system -[alias] May-aliases at the end of function system: - <Bot> +[alias] May-aliases at the end of function system: ⊥ [alias] analysing function: unsetenv -[alias] May-aliases at the end of function unsetenv: - <Bot> +[alias] May-aliases at the end of function unsetenv: ⊥ [alias] analysing function: wcstombs -[alias] May-aliases at the end of function wcstombs: - <Bot> +[alias] May-aliases at the end of function wcstombs: ⊥ [alias] analysing function: wctomb -[alias] May-aliases at the end of function wctomb: - <Bot> +[alias] May-aliases at the end of function wctomb: ⊥ diff --git a/src/plugins/alias/tests/real_world/oracle/example1.res.oracle b/src/plugins/alias/tests/real_world/oracle/example1.res.oracle index 5ad479692b0..cf4d456e4fa 100644 --- a/src/plugins/alias/tests/real_world/oracle/example1.res.oracle +++ b/src/plugins/alias/tests/real_world/oracle/example1.res.oracle @@ -1,565 +1,395 @@ [kernel] Parsing example1.c (with preprocessing) [alias] analysing function: _Exit -[alias] May-aliases at the end of function _Exit: - <Bot> +[alias] May-aliases at the end of function _Exit: ⊥ [alias] analysing function: __fc_fpclassify -[alias] May-aliases at the end of function __fc_fpclassify: - <Bot> +[alias] May-aliases at the end of function __fc_fpclassify: ⊥ [alias] analysing function: __fc_fpclassifyf -[alias] May-aliases at the end of function __fc_fpclassifyf: - <Bot> +[alias] May-aliases at the end of function __fc_fpclassifyf: ⊥ [alias] analysing function: __fc_infinity -[alias] May-aliases at the end of function __fc_infinity: - <Bot> +[alias] May-aliases at the end of function __fc_infinity: ⊥ [alias] analysing function: __fc_nan -[alias] May-aliases at the end of function __fc_nan: - <Bot> +[alias] May-aliases at the end of function __fc_nan: ⊥ [alias] analysing function: __finite -[alias] May-aliases at the end of function __finite: - <Bot> +[alias] May-aliases at the end of function __finite: ⊥ [alias] analysing function: __finitef -[alias] May-aliases at the end of function __finitef: - <Bot> +[alias] May-aliases at the end of function __finitef: ⊥ [alias] analysing function: abort -[alias] May-aliases at the end of function abort: - <Bot> +[alias] May-aliases at the end of function abort: ⊥ [alias] analysing function: abs -[alias] May-aliases at the end of function abs: - <Bot> +[alias] May-aliases at the end of function abs: ⊥ [alias] analysing function: acos -[alias] May-aliases at the end of function acos: - <Bot> +[alias] May-aliases at the end of function acos: ⊥ [alias] analysing function: acosf -[alias] May-aliases at the end of function acosf: - <Bot> +[alias] May-aliases at the end of function acosf: ⊥ [alias] analysing function: acosh -[alias] May-aliases at the end of function acosh: - <Bot> +[alias] May-aliases at the end of function acosh: ⊥ [alias] analysing function: acoshf -[alias] May-aliases at the end of function acoshf: - <Bot> +[alias] May-aliases at the end of function acoshf: ⊥ [alias] analysing function: acoshl -[alias] May-aliases at the end of function acoshl: - <Bot> +[alias] May-aliases at the end of function acoshl: ⊥ [alias] analysing function: acosl -[alias] May-aliases at the end of function acosl: - <Bot> +[alias] May-aliases at the end of function acosl: ⊥ [alias] analysing function: asin -[alias] May-aliases at the end of function asin: - <Bot> +[alias] May-aliases at the end of function asin: ⊥ [alias] analysing function: asinf -[alias] May-aliases at the end of function asinf: - <Bot> +[alias] May-aliases at the end of function asinf: ⊥ [alias] analysing function: asinl -[alias] May-aliases at the end of function asinl: - <Bot> +[alias] May-aliases at the end of function asinl: ⊥ [alias] analysing function: at_quick_exit -[alias] May-aliases at the end of function at_quick_exit: - <Bot> +[alias] May-aliases at the end of function at_quick_exit: ⊥ [alias] analysing function: atan -[alias] May-aliases at the end of function atan: - <Bot> +[alias] May-aliases at the end of function atan: ⊥ [alias] analysing function: atan2 -[alias] May-aliases at the end of function atan2: - <Bot> +[alias] May-aliases at the end of function atan2: ⊥ [alias] analysing function: atan2f -[alias] May-aliases at the end of function atan2f: - <Bot> +[alias] May-aliases at the end of function atan2f: ⊥ [alias] analysing function: atan2l -[alias] May-aliases at the end of function atan2l: - <Bot> +[alias] May-aliases at the end of function atan2l: ⊥ [alias] analysing function: atanf -[alias] May-aliases at the end of function atanf: - <Bot> +[alias] May-aliases at the end of function atanf: ⊥ [alias] analysing function: atanl -[alias] May-aliases at the end of function atanl: - <Bot> +[alias] May-aliases at the end of function atanl: ⊥ [alias] analysing function: atexit -[alias] May-aliases at the end of function atexit: - <Bot> +[alias] May-aliases at the end of function atexit: ⊥ [alias] analysing function: atof -[alias] May-aliases at the end of function atof: - <Bot> +[alias] May-aliases at the end of function atof: ⊥ [alias] analysing function: atoi -[alias] May-aliases at the end of function atoi: - <Bot> +[alias] May-aliases at the end of function atoi: ⊥ [alias] analysing function: atol -[alias] May-aliases at the end of function atol: - <Bot> +[alias] May-aliases at the end of function atol: ⊥ [alias] analysing function: atoll -[alias] May-aliases at the end of function atoll: - <Bot> +[alias] May-aliases at the end of function atoll: ⊥ [alias] analysing function: bsearch -[alias] May-aliases at the end of function bsearch: - <Bot> +[alias] May-aliases at the end of function bsearch: ⊥ [alias] analysing function: calloc -[alias] May-aliases at the end of function calloc: - <Bot> +[alias] May-aliases at the end of function calloc: ⊥ [alias] analysing function: ceil -[alias] May-aliases at the end of function ceil: - <Bot> +[alias] May-aliases at the end of function ceil: ⊥ [alias] analysing function: ceilf -[alias] May-aliases at the end of function ceilf: - <Bot> +[alias] May-aliases at the end of function ceilf: ⊥ [alias] analysing function: ceill -[alias] May-aliases at the end of function ceill: - <Bot> +[alias] May-aliases at the end of function ceill: ⊥ [alias] analysing function: cos -[alias] May-aliases at the end of function cos: - <Bot> +[alias] May-aliases at the end of function cos: ⊥ [alias] analysing function: cosf -[alias] May-aliases at the end of function cosf: - <Bot> +[alias] May-aliases at the end of function cosf: ⊥ [alias] analysing function: cosl -[alias] May-aliases at the end of function cosl: - <Bot> +[alias] May-aliases at the end of function cosl: ⊥ [alias] analysing function: div -[alias] May-aliases at the end of function div: - <Bot> +[alias] May-aliases at the end of function div: ⊥ [alias] analysing function: drand48 -[alias] May-aliases at the end of function drand48: - <Bot> +[alias] May-aliases at the end of function drand48: ⊥ [alias] analysing function: erand48 -[alias] May-aliases at the end of function erand48: - <Bot> +[alias] May-aliases at the end of function erand48: ⊥ [alias] analysing function: exit -[alias] May-aliases at the end of function exit: - <Bot> +[alias] May-aliases at the end of function exit: ⊥ [alias] analysing function: exp -[alias] May-aliases at the end of function exp: - <Bot> +[alias] May-aliases at the end of function exp: ⊥ [alias] analysing function: expf -[alias] May-aliases at the end of function expf: - <Bot> +[alias] May-aliases at the end of function expf: ⊥ [alias] analysing function: f1 [alias] analysing instruction: ty *tmp = x; -[alias] May-aliases at the end of instruction: ty *tmp = x; - {x, tmp} are aliased -[alias] analysing instruction: idata = (double *)malloc((unsigned long)10 * sizeof(double)); -[alias] May-aliases at the end of instruction: idata = (double *)malloc((unsigned long)10 * sizeof(double)); - {x, tmp} are aliased +[alias] May-aliases after instruction ty *tmp = x; are {x, tmp} +[alias] analysing instruction: + idata = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases after instruction + idata = (double *)malloc((unsigned long)10 * sizeof(double)); are {x, tmp} [alias] analysing instruction: idata = tmp->t2[*(tmp->n2)]; -[alias] May-aliases at the end of instruction: idata = tmp->t2[*(tmp->n2)]; - {x, tmp} are aliased +[alias] May-aliases after instruction idata = tmp->t2[*(tmp->n2)]; are {x, tmp} [alias] analysing instruction: odata = tmp->t1[*(tmp->n1)]; -[alias] May-aliases at the end of instruction: odata = tmp->t1[*(tmp->n1)]; - {x, tmp} are aliased +[alias] May-aliases after instruction odata = tmp->t1[*(tmp->n1)]; are {x, tmp} [alias] analysing instruction: idx = 0; -[alias] May-aliases at the end of instruction: idx = 0; - {x, tmp} are aliased +[alias] May-aliases after instruction idx = 0; are {x, tmp} [alias] analysing instruction: tmp_1 = sin(*(idata + idx)); [alias] analysing function: sin -[alias] May-aliases at the end of function sin: - <Bot> +[alias] May-aliases at the end of function sin: ⊥ [alias:undefined:fn] example1.c:45: Warning: function sin has no definition -[alias] May-aliases at the end of instruction: tmp_1 = sin(*(idata + idx)); - {x, tmp} are aliased +[alias] May-aliases after instruction tmp_1 = sin(*(idata + idx)); are {x, tmp} [alias] analysing instruction: *(odata + idx) = 0.5 * tmp_1; -[alias] May-aliases at the end of instruction: *(odata + idx) = 0.5 * tmp_1; - {x, tmp} are aliased +[alias] May-aliases after instruction *(odata + idx) = 0.5 * tmp_1; are {x, tmp} [alias] analysing instruction: idx ++; -[alias] May-aliases at the end of instruction: idx ++; - {x, tmp} are aliased +[alias] May-aliases after instruction idx ++; are {x, tmp} [alias] analysing instruction: swap(tmp->n1); [alias] analysing function: swap [alias] analysing instruction: *n = 0; -[alias] May-aliases at the end of instruction: *n = 0; - <none> +[alias] May-aliases after instruction *n = 0; are <none> [alias] analysing instruction: (*n) ++; -[alias] May-aliases at the end of instruction: (*n) ++; - <none> -[alias] May-aliases at the end of function swap: - <none> -[alias] May-aliases at the end of instruction: swap(tmp->n1); - {x, tmp} are aliased +[alias] May-aliases after instruction (*n) ++; are <none> +[alias] May-aliases at the end of function swap: <none> +[alias] May-aliases after instruction swap(tmp->n1); are {x, tmp} [alias] analysing instruction: idata = tmp->t2[*(tmp->n2)]; -[alias] May-aliases at the end of instruction: idata = tmp->t2[*(tmp->n2)]; - {x, tmp} are aliased +[alias] May-aliases after instruction idata = tmp->t2[*(tmp->n2)]; are {x, tmp} [alias] analysing instruction: odata = tmp->t1[*(tmp->n1)]; -[alias] May-aliases at the end of instruction: odata = tmp->t1[*(tmp->n1)]; - {x, tmp} are aliased +[alias] May-aliases after instruction odata = tmp->t1[*(tmp->n1)]; are {x, tmp} [alias:no-return] example1.c:29: Warning: function f1 does not return; analysis may be unsound -[alias] May-aliases at the end of function f1: - <none> +[alias] May-aliases at the end of function f1: <none> [alias] analysing function: f2 [alias] analysing instruction: ty *tmp = x; -[alias] May-aliases at the end of instruction: ty *tmp = x; - {x, tmp} are aliased -[alias] analysing instruction: idata = (double *)malloc((unsigned long)10 * sizeof(double)); -[alias] May-aliases at the end of instruction: idata = (double *)malloc((unsigned long)10 * sizeof(double)); - {x, tmp} are aliased +[alias] May-aliases after instruction ty *tmp = x; are {x, tmp} +[alias] analysing instruction: + idata = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases after instruction + idata = (double *)malloc((unsigned long)10 * sizeof(double)); are {x, tmp} [alias] analysing instruction: idata = tmp->t1[*(tmp->n1)]; -[alias] May-aliases at the end of instruction: idata = tmp->t1[*(tmp->n1)]; - {x, tmp} are aliased +[alias] May-aliases after instruction idata = tmp->t1[*(tmp->n1)]; are {x, tmp} [alias] analysing instruction: odata = tmp->t2[*(tmp->n2)]; -[alias] May-aliases at the end of instruction: odata = tmp->t2[*(tmp->n2)]; - {x, tmp} are aliased +[alias] May-aliases after instruction odata = tmp->t2[*(tmp->n2)]; are {x, tmp} [alias] analysing instruction: idx = 0; -[alias] May-aliases at the end of instruction: idx = 0; - {x, tmp} are aliased -[alias] analysing instruction: *(odata + idx) = (double)3 * *(idata + idx) + (double)1; -[alias] May-aliases at the end of instruction: *(odata + idx) = (double)3 * *( - idata + idx) + (double)1; - {x, tmp} are aliased +[alias] May-aliases after instruction idx = 0; are {x, tmp} +[alias] analysing instruction: + *(odata + idx) = (double)3 * *(idata + idx) + (double)1; +[alias] May-aliases after instruction + *(odata + idx) = (double)3 * *(idata + idx) + (double)1; are {x, tmp} [alias] analysing instruction: idx ++; -[alias] May-aliases at the end of instruction: idx ++; - {x, tmp} are aliased +[alias] May-aliases after instruction idx ++; are {x, tmp} [alias] analysing instruction: swap(tmp->n2); -[alias] May-aliases at the end of instruction: swap(tmp->n2); - {x, tmp} are aliased +[alias] May-aliases after instruction swap(tmp->n2); are {x, tmp} [alias] analysing instruction: idata = tmp->t1[*(tmp->n1)]; -[alias] May-aliases at the end of instruction: idata = tmp->t1[*(tmp->n1)]; - {x, tmp} are aliased +[alias] May-aliases after instruction idata = tmp->t1[*(tmp->n1)]; are {x, tmp} [alias] analysing instruction: odata = tmp->t2[*(tmp->n2)]; -[alias] May-aliases at the end of instruction: odata = tmp->t2[*(tmp->n2)]; - {x, tmp} are aliased +[alias] May-aliases after instruction odata = tmp->t2[*(tmp->n2)]; are {x, tmp} [alias:no-return] example1.c:53: Warning: function f2 does not return; analysis may be unsound -[alias] May-aliases at the end of function f2: - <none> +[alias] May-aliases at the end of function f2: <none> [alias] analysing function: fabs -[alias] May-aliases at the end of function fabs: - <Bot> +[alias] May-aliases at the end of function fabs: ⊥ [alias] analysing function: fabsf -[alias] May-aliases at the end of function fabsf: - <Bot> +[alias] May-aliases at the end of function fabsf: ⊥ [alias] analysing function: fabsl -[alias] May-aliases at the end of function fabsl: - <Bot> +[alias] May-aliases at the end of function fabsl: ⊥ [alias] analysing function: floor -[alias] May-aliases at the end of function floor: - <Bot> +[alias] May-aliases at the end of function floor: ⊥ [alias] analysing function: floorf -[alias] May-aliases at the end of function floorf: - <Bot> +[alias] May-aliases at the end of function floorf: ⊥ [alias] analysing function: floorl -[alias] May-aliases at the end of function floorl: - <Bot> +[alias] May-aliases at the end of function floorl: ⊥ [alias] analysing function: fmod -[alias] May-aliases at the end of function fmod: - <Bot> +[alias] May-aliases at the end of function fmod: ⊥ [alias] analysing function: fmodf -[alias] May-aliases at the end of function fmodf: - <Bot> +[alias] May-aliases at the end of function fmodf: ⊥ [alias] analysing function: free -[alias] May-aliases at the end of function free: - <Bot> +[alias] May-aliases at the end of function free: ⊥ [alias] analysing function: frexp -[alias] May-aliases at the end of function frexp: - <Bot> +[alias] May-aliases at the end of function frexp: ⊥ [alias] analysing function: frexpf -[alias] May-aliases at the end of function frexpf: - <Bot> +[alias] May-aliases at the end of function frexpf: ⊥ [alias] analysing function: frexpl -[alias] May-aliases at the end of function frexpl: - <Bot> +[alias] May-aliases at the end of function frexpl: ⊥ [alias] analysing function: getenv -[alias] May-aliases at the end of function getenv: - <Bot> +[alias] May-aliases at the end of function getenv: ⊥ [alias] analysing function: jrand48 -[alias] May-aliases at the end of function jrand48: - <Bot> +[alias] May-aliases at the end of function jrand48: ⊥ [alias] analysing function: labs -[alias] May-aliases at the end of function labs: - <Bot> +[alias] May-aliases at the end of function labs: ⊥ [alias] analysing function: lcong48 -[alias] May-aliases at the end of function lcong48: - <Bot> +[alias] May-aliases at the end of function lcong48: ⊥ [alias] analysing function: ldexp -[alias] May-aliases at the end of function ldexp: - <Bot> +[alias] May-aliases at the end of function ldexp: ⊥ [alias] analysing function: ldexpf -[alias] May-aliases at the end of function ldexpf: - <Bot> +[alias] May-aliases at the end of function ldexpf: ⊥ [alias] analysing function: ldiv -[alias] May-aliases at the end of function ldiv: - <Bot> +[alias] May-aliases at the end of function ldiv: ⊥ [alias] analysing function: llabs -[alias] May-aliases at the end of function llabs: - <Bot> +[alias] May-aliases at the end of function llabs: ⊥ [alias] analysing function: lldiv -[alias] May-aliases at the end of function lldiv: - <Bot> +[alias] May-aliases at the end of function lldiv: ⊥ [alias] analysing function: log -[alias] May-aliases at the end of function log: - <Bot> +[alias] May-aliases at the end of function log: ⊥ [alias] analysing function: log10 -[alias] May-aliases at the end of function log10: - <Bot> +[alias] May-aliases at the end of function log10: ⊥ [alias] analysing function: log10f -[alias] May-aliases at the end of function log10f: - <Bot> +[alias] May-aliases at the end of function log10f: ⊥ [alias] analysing function: log10l -[alias] May-aliases at the end of function log10l: - <Bot> +[alias] May-aliases at the end of function log10l: ⊥ [alias] analysing function: log2 -[alias] May-aliases at the end of function log2: - <Bot> +[alias] May-aliases at the end of function log2: ⊥ [alias] analysing function: log2f -[alias] May-aliases at the end of function log2f: - <Bot> +[alias] May-aliases at the end of function log2f: ⊥ [alias] analysing function: log2l -[alias] May-aliases at the end of function log2l: - <Bot> +[alias] May-aliases at the end of function log2l: ⊥ [alias] analysing function: logf -[alias] May-aliases at the end of function logf: - <Bot> +[alias] May-aliases at the end of function logf: ⊥ [alias] analysing function: logl -[alias] May-aliases at the end of function logl: - <Bot> +[alias] May-aliases at the end of function logl: ⊥ [alias] analysing function: lrand48 -[alias] May-aliases at the end of function lrand48: - <Bot> +[alias] May-aliases at the end of function lrand48: ⊥ [alias] analysing function: main [alias] analysing instruction: a = (ty *)malloc(sizeof(ty)); -[alias] May-aliases at the end of instruction: a = (ty *)malloc(sizeof(ty)); - <none> +[alias] May-aliases after instruction a = (ty *)malloc(sizeof(ty)); are <none> [alias] analysing instruction: b = (ty *)malloc(sizeof(ty)); -[alias] May-aliases at the end of instruction: b = (ty *)malloc(sizeof(ty)); - <none> +[alias] May-aliases after instruction b = (ty *)malloc(sizeof(ty)); are <none> [alias] analysing instruction: i = 0; -[alias] May-aliases at the end of instruction: i = 0; +[alias] May-aliases after instruction i = 0; are <none> +[alias] analysing instruction: + a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases after instruction + a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); are <none> -[alias] analysing instruction: a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); -[alias] May-aliases at the end of instruction: a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); - <none> -[alias] analysing instruction: a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); -[alias] May-aliases at the end of instruction: a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] analysing instruction: + a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases after instruction + a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); are <none> [alias] analysing instruction: i ++; -[alias] May-aliases at the end of instruction: i ++; - <none> -[alias] analysing instruction: a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); -[alias] May-aliases at the end of instruction: a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases after instruction i ++; are <none> +[alias] analysing instruction: + a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases after instruction + a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); are <none> -[alias] analysing instruction: a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); -[alias] May-aliases at the end of instruction: a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] analysing instruction: + a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases after instruction + a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); are <none> [alias] analysing instruction: a->n1 = (int *)malloc(sizeof(int)); -[alias] May-aliases at the end of instruction: a->n1 = (int *)malloc(sizeof(int)); +[alias] May-aliases after instruction a->n1 = (int *)malloc(sizeof(int)); are <none> [alias] analysing instruction: a->n2 = (int *)malloc(sizeof(int)); -[alias] May-aliases at the end of instruction: a->n2 = (int *)malloc(sizeof(int)); +[alias] May-aliases after instruction a->n2 = (int *)malloc(sizeof(int)); are <none> [alias] analysing instruction: *(a->n1) = 1; -[alias] May-aliases at the end of instruction: *(a->n1) = 1; - <none> +[alias] May-aliases after instruction *(a->n1) = 1; are <none> [alias] analysing instruction: *(a->n2) = 1; -[alias] May-aliases at the end of instruction: *(a->n2) = 1; - <none> +[alias] May-aliases after instruction *(a->n2) = 1; are <none> [alias] analysing instruction: i = 0; -[alias] May-aliases at the end of instruction: i = 0; - <none> +[alias] May-aliases after instruction i = 0; are <none> [alias] analysing instruction: b->t1[i] = a->t1[i]; -[alias] May-aliases at the end of instruction: b->t1[i] = a->t1[i]; - {a->t1[0], b->t1[0]} are aliased +[alias] May-aliases after instruction b->t1[i] = a->t1[i]; are + {a->t1[0], b->t1[0]} [alias] analysing instruction: b->t2[i] = a->t2[i]; -[alias] May-aliases at the end of instruction: b->t2[i] = a->t2[i]; - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased +[alias] May-aliases after instruction b->t2[i] = a->t2[i]; are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} [alias] analysing instruction: i ++; -[alias] May-aliases at the end of instruction: i ++; - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased +[alias] May-aliases after instruction i ++; are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} [alias] analysing instruction: b->t1[i] = a->t1[i]; -[alias] May-aliases at the end of instruction: b->t1[i] = a->t1[i]; - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased +[alias] May-aliases after instruction b->t1[i] = a->t1[i]; are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} [alias] analysing instruction: b->t2[i] = a->t2[i]; -[alias] May-aliases at the end of instruction: b->t2[i] = a->t2[i]; - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased +[alias] May-aliases after instruction b->t2[i] = a->t2[i]; are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} [alias] analysing instruction: b->n1 = a->n1; -[alias] May-aliases at the end of instruction: b->n1 = a->n1; - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased - {a->n1, b->n1} are aliased +[alias] May-aliases after instruction b->n1 = a->n1; are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} [alias] analysing instruction: b->n2 = a->n2; -[alias] May-aliases at the end of instruction: b->n2 = a->n2; - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased - {a->n1, b->n1} are aliased - {a->n2, b->n2} are aliased +[alias] May-aliases after instruction b->n2 = a->n2; are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} [alias] analysing instruction: f1(a); -[alias] May-aliases at the end of instruction: f1(a); - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased - {a->n1, b->n1} are aliased - {a->n2, b->n2} are aliased +[alias] May-aliases after instruction f1(a); are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} [alias] analysing instruction: f2(b); -[alias] May-aliases at the end of instruction: f2(b); - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased - {a->n1, b->n1} are aliased - {a->n2, b->n2} are aliased +[alias] May-aliases after instruction f2(b); are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased - {a->n1, b->n1} are aliased - {a->n2, b->n2} are aliased +[alias] May-aliases after instruction __retres = 0; are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} [alias] May-aliases at the end of function main: - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased - {a->n1, b->n1} are aliased - {a->n2, b->n2} are aliased + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} [alias] analysing function: malloc -[alias] May-aliases at the end of function malloc: - <Bot> +[alias] May-aliases at the end of function malloc: ⊥ [alias] analysing function: mblen -[alias] May-aliases at the end of function mblen: - <Bot> +[alias] May-aliases at the end of function mblen: ⊥ [alias] analysing function: mbstowcs -[alias] May-aliases at the end of function mbstowcs: - <Bot> +[alias] May-aliases at the end of function mbstowcs: ⊥ [alias] analysing function: mbtowc -[alias] May-aliases at the end of function mbtowc: - <Bot> +[alias] May-aliases at the end of function mbtowc: ⊥ [alias] analysing function: mkstemp -[alias] May-aliases at the end of function mkstemp: - <Bot> +[alias] May-aliases at the end of function mkstemp: ⊥ [alias] analysing function: mkstemps -[alias] May-aliases at the end of function mkstemps: - <Bot> +[alias] May-aliases at the end of function mkstemps: ⊥ [alias] analysing function: mrand48 -[alias] May-aliases at the end of function mrand48: - <Bot> +[alias] May-aliases at the end of function mrand48: ⊥ [alias] analysing function: nan -[alias] May-aliases at the end of function nan: - <Bot> +[alias] May-aliases at the end of function nan: ⊥ [alias] analysing function: nanf -[alias] May-aliases at the end of function nanf: - <Bot> +[alias] May-aliases at the end of function nanf: ⊥ [alias] analysing function: nanl -[alias] May-aliases at the end of function nanl: - <Bot> +[alias] May-aliases at the end of function nanl: ⊥ [alias] analysing function: nrand48 -[alias] May-aliases at the end of function nrand48: - <Bot> +[alias] May-aliases at the end of function nrand48: ⊥ [alias] analysing function: posix_memalign -[alias] May-aliases at the end of function posix_memalign: - <Bot> +[alias] May-aliases at the end of function posix_memalign: ⊥ [alias] analysing function: pow -[alias] May-aliases at the end of function pow: - <Bot> +[alias] May-aliases at the end of function pow: ⊥ [alias] analysing function: powf -[alias] May-aliases at the end of function powf: - <Bot> +[alias] May-aliases at the end of function powf: ⊥ [alias] analysing function: putenv -[alias] May-aliases at the end of function putenv: - <Bot> +[alias] May-aliases at the end of function putenv: ⊥ [alias] analysing function: qsort -[alias] May-aliases at the end of function qsort: - <Bot> +[alias] May-aliases at the end of function qsort: ⊥ [alias] analysing function: quick_exit -[alias] May-aliases at the end of function quick_exit: - <Bot> +[alias] May-aliases at the end of function quick_exit: ⊥ [alias] analysing function: rand -[alias] May-aliases at the end of function rand: - <Bot> +[alias] May-aliases at the end of function rand: ⊥ [alias] analysing function: random -[alias] May-aliases at the end of function random: - <Bot> +[alias] May-aliases at the end of function random: ⊥ [alias] analysing function: realloc -[alias] May-aliases at the end of function realloc: - <Bot> +[alias] May-aliases at the end of function realloc: ⊥ [alias] analysing function: reallocarray -[alias] May-aliases at the end of function reallocarray: - <Bot> +[alias] May-aliases at the end of function reallocarray: ⊥ [alias] analysing function: round -[alias] May-aliases at the end of function round: - <Bot> +[alias] May-aliases at the end of function round: ⊥ [alias] analysing function: roundf -[alias] May-aliases at the end of function roundf: - <Bot> +[alias] May-aliases at the end of function roundf: ⊥ [alias] analysing function: roundl -[alias] May-aliases at the end of function roundl: - <Bot> +[alias] May-aliases at the end of function roundl: ⊥ [alias] analysing function: seed48 -[alias] May-aliases at the end of function seed48: - <Bot> +[alias] May-aliases at the end of function seed48: ⊥ [alias] analysing function: setenv -[alias] May-aliases at the end of function setenv: - <Bot> +[alias] May-aliases at the end of function setenv: ⊥ [alias] analysing function: sin -[alias] May-aliases at the end of function sin: - <Bot> +[alias] May-aliases at the end of function sin: ⊥ [alias] analysing function: sinf -[alias] May-aliases at the end of function sinf: - <Bot> +[alias] May-aliases at the end of function sinf: ⊥ [alias] analysing function: sinl -[alias] May-aliases at the end of function sinl: - <Bot> +[alias] May-aliases at the end of function sinl: ⊥ [alias] analysing function: sqrt -[alias] May-aliases at the end of function sqrt: - <Bot> +[alias] May-aliases at the end of function sqrt: ⊥ [alias] analysing function: sqrtf -[alias] May-aliases at the end of function sqrtf: - <Bot> +[alias] May-aliases at the end of function sqrtf: ⊥ [alias] analysing function: sqrtl -[alias] May-aliases at the end of function sqrtl: - <Bot> +[alias] May-aliases at the end of function sqrtl: ⊥ [alias] analysing function: srand -[alias] May-aliases at the end of function srand: - <Bot> +[alias] May-aliases at the end of function srand: ⊥ [alias] analysing function: srand48 -[alias] May-aliases at the end of function srand48: - <Bot> +[alias] May-aliases at the end of function srand48: ⊥ [alias] analysing function: srandom -[alias] May-aliases at the end of function srandom: - <Bot> +[alias] May-aliases at the end of function srandom: ⊥ [alias] analysing function: strtod -[alias] May-aliases at the end of function strtod: - <Bot> +[alias] May-aliases at the end of function strtod: ⊥ [alias] analysing function: strtof -[alias] May-aliases at the end of function strtof: - <Bot> +[alias] May-aliases at the end of function strtof: ⊥ [alias] analysing function: strtol -[alias] May-aliases at the end of function strtol: - <Bot> +[alias] May-aliases at the end of function strtol: ⊥ [alias] analysing function: strtold -[alias] May-aliases at the end of function strtold: - <Bot> +[alias] May-aliases at the end of function strtold: ⊥ [alias] analysing function: strtoll -[alias] May-aliases at the end of function strtoll: - <Bot> +[alias] May-aliases at the end of function strtoll: ⊥ [alias] analysing function: strtoul -[alias] May-aliases at the end of function strtoul: - <Bot> +[alias] May-aliases at the end of function strtoul: ⊥ [alias] analysing function: strtoull -[alias] May-aliases at the end of function strtoull: - <Bot> +[alias] May-aliases at the end of function strtoull: ⊥ [alias] analysing function: swap -[alias] May-aliases at the end of function swap: - <none> +[alias] May-aliases at the end of function swap: <none> [alias] analysing function: system -[alias] May-aliases at the end of function system: - <Bot> +[alias] May-aliases at the end of function system: ⊥ [alias] analysing function: tan -[alias] May-aliases at the end of function tan: - <Bot> +[alias] May-aliases at the end of function tan: ⊥ [alias] analysing function: tanf -[alias] May-aliases at the end of function tanf: - <Bot> +[alias] May-aliases at the end of function tanf: ⊥ [alias] analysing function: tanl -[alias] May-aliases at the end of function tanl: - <Bot> +[alias] May-aliases at the end of function tanl: ⊥ [alias] analysing function: trunc -[alias] May-aliases at the end of function trunc: - <Bot> +[alias] May-aliases at the end of function trunc: ⊥ [alias] analysing function: truncf -[alias] May-aliases at the end of function truncf: - <Bot> +[alias] May-aliases at the end of function truncf: ⊥ [alias] analysing function: truncl -[alias] May-aliases at the end of function truncl: - <Bot> +[alias] May-aliases at the end of function truncl: ⊥ [alias] analysing function: unsetenv -[alias] May-aliases at the end of function unsetenv: - <Bot> +[alias] May-aliases at the end of function unsetenv: ⊥ [alias] analysing function: wcstombs -[alias] May-aliases at the end of function wcstombs: - <Bot> +[alias] May-aliases at the end of function wcstombs: ⊥ [alias] analysing function: wctomb -[alias] May-aliases at the end of function wctomb: - <Bot> +[alias] May-aliases at the end of function wctomb: ⊥ diff --git a/src/plugins/alias/tests/real_world/oracle/example2.res.oracle b/src/plugins/alias/tests/real_world/oracle/example2.res.oracle index a0a1d67eef9..e3fe810395c 100644 --- a/src/plugins/alias/tests/real_world/oracle/example2.res.oracle +++ b/src/plugins/alias/tests/real_world/oracle/example2.res.oracle @@ -1,581 +1,405 @@ [kernel] Parsing example2.c (with preprocessing) [alias] analysing function: _Exit -[alias] May-aliases at the end of function _Exit: - <Bot> +[alias] May-aliases at the end of function _Exit: ⊥ [alias] analysing function: __fc_fpclassify -[alias] May-aliases at the end of function __fc_fpclassify: - <Bot> +[alias] May-aliases at the end of function __fc_fpclassify: ⊥ [alias] analysing function: __fc_fpclassifyf -[alias] May-aliases at the end of function __fc_fpclassifyf: - <Bot> +[alias] May-aliases at the end of function __fc_fpclassifyf: ⊥ [alias] analysing function: __fc_infinity -[alias] May-aliases at the end of function __fc_infinity: - <Bot> +[alias] May-aliases at the end of function __fc_infinity: ⊥ [alias] analysing function: __fc_nan -[alias] May-aliases at the end of function __fc_nan: - <Bot> +[alias] May-aliases at the end of function __fc_nan: ⊥ [alias] analysing function: __finite -[alias] May-aliases at the end of function __finite: - <Bot> +[alias] May-aliases at the end of function __finite: ⊥ [alias] analysing function: __finitef -[alias] May-aliases at the end of function __finitef: - <Bot> +[alias] May-aliases at the end of function __finitef: ⊥ [alias] analysing function: abort -[alias] May-aliases at the end of function abort: - <Bot> +[alias] May-aliases at the end of function abort: ⊥ [alias] analysing function: abs -[alias] May-aliases at the end of function abs: - <Bot> +[alias] May-aliases at the end of function abs: ⊥ [alias] analysing function: acos -[alias] May-aliases at the end of function acos: - <Bot> +[alias] May-aliases at the end of function acos: ⊥ [alias] analysing function: acosf -[alias] May-aliases at the end of function acosf: - <Bot> +[alias] May-aliases at the end of function acosf: ⊥ [alias] analysing function: acosh -[alias] May-aliases at the end of function acosh: - <Bot> +[alias] May-aliases at the end of function acosh: ⊥ [alias] analysing function: acoshf -[alias] May-aliases at the end of function acoshf: - <Bot> +[alias] May-aliases at the end of function acoshf: ⊥ [alias] analysing function: acoshl -[alias] May-aliases at the end of function acoshl: - <Bot> +[alias] May-aliases at the end of function acoshl: ⊥ [alias] analysing function: acosl -[alias] May-aliases at the end of function acosl: - <Bot> +[alias] May-aliases at the end of function acosl: ⊥ [alias] analysing function: asin -[alias] May-aliases at the end of function asin: - <Bot> +[alias] May-aliases at the end of function asin: ⊥ [alias] analysing function: asinf -[alias] May-aliases at the end of function asinf: - <Bot> +[alias] May-aliases at the end of function asinf: ⊥ [alias] analysing function: asinl -[alias] May-aliases at the end of function asinl: - <Bot> +[alias] May-aliases at the end of function asinl: ⊥ [alias] analysing function: at_quick_exit -[alias] May-aliases at the end of function at_quick_exit: - <Bot> +[alias] May-aliases at the end of function at_quick_exit: ⊥ [alias] analysing function: atan -[alias] May-aliases at the end of function atan: - <Bot> +[alias] May-aliases at the end of function atan: ⊥ [alias] analysing function: atan2 -[alias] May-aliases at the end of function atan2: - <Bot> +[alias] May-aliases at the end of function atan2: ⊥ [alias] analysing function: atan2f -[alias] May-aliases at the end of function atan2f: - <Bot> +[alias] May-aliases at the end of function atan2f: ⊥ [alias] analysing function: atan2l -[alias] May-aliases at the end of function atan2l: - <Bot> +[alias] May-aliases at the end of function atan2l: ⊥ [alias] analysing function: atanf -[alias] May-aliases at the end of function atanf: - <Bot> +[alias] May-aliases at the end of function atanf: ⊥ [alias] analysing function: atanl -[alias] May-aliases at the end of function atanl: - <Bot> +[alias] May-aliases at the end of function atanl: ⊥ [alias] analysing function: atexit -[alias] May-aliases at the end of function atexit: - <Bot> +[alias] May-aliases at the end of function atexit: ⊥ [alias] analysing function: atof -[alias] May-aliases at the end of function atof: - <Bot> +[alias] May-aliases at the end of function atof: ⊥ [alias] analysing function: atoi -[alias] May-aliases at the end of function atoi: - <Bot> +[alias] May-aliases at the end of function atoi: ⊥ [alias] analysing function: atol -[alias] May-aliases at the end of function atol: - <Bot> +[alias] May-aliases at the end of function atol: ⊥ [alias] analysing function: atoll -[alias] May-aliases at the end of function atoll: - <Bot> +[alias] May-aliases at the end of function atoll: ⊥ [alias] analysing function: bsearch -[alias] May-aliases at the end of function bsearch: - <Bot> +[alias] May-aliases at the end of function bsearch: ⊥ [alias] analysing function: calloc -[alias] May-aliases at the end of function calloc: - <Bot> +[alias] May-aliases at the end of function calloc: ⊥ [alias] analysing function: ceil -[alias] May-aliases at the end of function ceil: - <Bot> +[alias] May-aliases at the end of function ceil: ⊥ [alias] analysing function: ceilf -[alias] May-aliases at the end of function ceilf: - <Bot> +[alias] May-aliases at the end of function ceilf: ⊥ [alias] analysing function: ceill -[alias] May-aliases at the end of function ceill: - <Bot> +[alias] May-aliases at the end of function ceill: ⊥ [alias] analysing function: cos -[alias] May-aliases at the end of function cos: - <Bot> +[alias] May-aliases at the end of function cos: ⊥ [alias] analysing function: cosf -[alias] May-aliases at the end of function cosf: - <Bot> +[alias] May-aliases at the end of function cosf: ⊥ [alias] analysing function: cosl -[alias] May-aliases at the end of function cosl: - <Bot> +[alias] May-aliases at the end of function cosl: ⊥ [alias] analysing function: div -[alias] May-aliases at the end of function div: - <Bot> +[alias] May-aliases at the end of function div: ⊥ [alias] analysing function: drand48 -[alias] May-aliases at the end of function drand48: - <Bot> +[alias] May-aliases at the end of function drand48: ⊥ [alias] analysing function: erand48 -[alias] May-aliases at the end of function erand48: - <Bot> +[alias] May-aliases at the end of function erand48: ⊥ [alias] analysing function: exit -[alias] May-aliases at the end of function exit: - <Bot> +[alias] May-aliases at the end of function exit: ⊥ [alias] analysing function: exp -[alias] May-aliases at the end of function exp: - <Bot> +[alias] May-aliases at the end of function exp: ⊥ [alias] analysing function: expf -[alias] May-aliases at the end of function expf: - <Bot> +[alias] May-aliases at the end of function expf: ⊥ [alias] analysing function: f1 [alias] analysing instruction: ty *tmp = x; -[alias] May-aliases at the end of instruction: ty *tmp = x; - {x, tmp} are aliased -[alias] analysing instruction: idata = (double *)malloc((unsigned long)10 * sizeof(double)); -[alias] May-aliases at the end of instruction: idata = (double *)malloc((unsigned long)10 * sizeof(double)); - {x, tmp} are aliased +[alias] May-aliases after instruction ty *tmp = x; are {x, tmp} +[alias] analysing instruction: + idata = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases after instruction + idata = (double *)malloc((unsigned long)10 * sizeof(double)); are {x, tmp} [alias] analysing instruction: int i = 0; -[alias] May-aliases at the end of instruction: int i = 0; - {x, tmp} are aliased +[alias] May-aliases after instruction int i = 0; are {x, tmp} [alias] analysing instruction: idata = tmp->t2[*(tmp->n2)]; -[alias] May-aliases at the end of instruction: idata = tmp->t2[*(tmp->n2)]; - {x, tmp} are aliased +[alias] May-aliases after instruction idata = tmp->t2[*(tmp->n2)]; are {x, tmp} [alias] analysing instruction: odata = tmp->t1[*(tmp->n1)]; -[alias] May-aliases at the end of instruction: odata = tmp->t1[*(tmp->n1)]; - {x, tmp} are aliased +[alias] May-aliases after instruction odata = tmp->t1[*(tmp->n1)]; are {x, tmp} [alias] analysing instruction: idx = 0; -[alias] May-aliases at the end of instruction: idx = 0; - {x, tmp} are aliased +[alias] May-aliases after instruction idx = 0; are {x, tmp} [alias] analysing instruction: tmp_1 = sin(*(idata + idx)); [alias] analysing function: sin -[alias] May-aliases at the end of function sin: - <Bot> +[alias] May-aliases at the end of function sin: ⊥ [alias:undefined:fn] example2.c:45: Warning: function sin has no definition -[alias] May-aliases at the end of instruction: tmp_1 = sin(*(idata + idx)); - {x, tmp} are aliased +[alias] May-aliases after instruction tmp_1 = sin(*(idata + idx)); are {x, tmp} [alias] analysing instruction: *(odata + idx) = 0.5 * tmp_1; -[alias] May-aliases at the end of instruction: *(odata + idx) = 0.5 * tmp_1; - {x, tmp} are aliased +[alias] May-aliases after instruction *(odata + idx) = 0.5 * tmp_1; are {x, tmp} [alias] analysing instruction: idx ++; -[alias] May-aliases at the end of instruction: idx ++; - {x, tmp} are aliased +[alias] May-aliases after instruction idx ++; are {x, tmp} [alias] analysing instruction: swap(tmp->n1); [alias] analysing function: swap [alias] analysing instruction: *n = 0; -[alias] May-aliases at the end of instruction: *n = 0; - <none> +[alias] May-aliases after instruction *n = 0; are <none> [alias] analysing instruction: (*n) ++; -[alias] May-aliases at the end of instruction: (*n) ++; - <none> -[alias] May-aliases at the end of function swap: - <none> -[alias] May-aliases at the end of instruction: swap(tmp->n1); - {x, tmp} are aliased +[alias] May-aliases after instruction (*n) ++; are <none> +[alias] May-aliases at the end of function swap: <none> +[alias] May-aliases after instruction swap(tmp->n1); are {x, tmp} [alias] analysing instruction: i ++; -[alias] May-aliases at the end of instruction: i ++; - {x, tmp} are aliased +[alias] May-aliases after instruction i ++; are {x, tmp} [alias] analysing instruction: idata = tmp->t2[*(tmp->n2)]; -[alias] May-aliases at the end of instruction: idata = tmp->t2[*(tmp->n2)]; - {x, tmp} are aliased +[alias] May-aliases after instruction idata = tmp->t2[*(tmp->n2)]; are {x, tmp} [alias] analysing instruction: odata = tmp->t1[*(tmp->n1)]; -[alias] May-aliases at the end of instruction: odata = tmp->t1[*(tmp->n1)]; - {x, tmp} are aliased +[alias] May-aliases after instruction odata = tmp->t1[*(tmp->n1)]; are {x, tmp} [alias] analysing instruction: __retres = (void *)0; [alias:unsafe-cast] example2.c:49: Warning: unsafe cast from int to void * -[alias] May-aliases at the end of instruction: __retres = (void *)0; - {x, tmp} are aliased -[alias] May-aliases at the end of function f1: - {x, tmp} are aliased +[alias] May-aliases after instruction __retres = (void *)0; are {x, tmp} +[alias] May-aliases at the end of function f1: {x, tmp} [alias] analysing function: f2 [alias] analysing instruction: ty *tmp = x; -[alias] May-aliases at the end of instruction: ty *tmp = x; - {x, tmp} are aliased -[alias] analysing instruction: idata = (double *)malloc((unsigned long)10 * sizeof(double)); -[alias] May-aliases at the end of instruction: idata = (double *)malloc((unsigned long)10 * sizeof(double)); - {x, tmp} are aliased +[alias] May-aliases after instruction ty *tmp = x; are {x, tmp} +[alias] analysing instruction: + idata = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases after instruction + idata = (double *)malloc((unsigned long)10 * sizeof(double)); are {x, tmp} [alias] analysing instruction: int i = 0; -[alias] May-aliases at the end of instruction: int i = 0; - {x, tmp} are aliased +[alias] May-aliases after instruction int i = 0; are {x, tmp} [alias] analysing instruction: idata = tmp->t1[*(tmp->n1)]; -[alias] May-aliases at the end of instruction: idata = tmp->t1[*(tmp->n1)]; - {x, tmp} are aliased +[alias] May-aliases after instruction idata = tmp->t1[*(tmp->n1)]; are {x, tmp} [alias] analysing instruction: odata = tmp->t2[*(tmp->n2)]; -[alias] May-aliases at the end of instruction: odata = tmp->t2[*(tmp->n2)]; - {x, tmp} are aliased +[alias] May-aliases after instruction odata = tmp->t2[*(tmp->n2)]; are {x, tmp} [alias] analysing instruction: idx = 0; -[alias] May-aliases at the end of instruction: idx = 0; - {x, tmp} are aliased -[alias] analysing instruction: *(odata + idx) = (double)3 * *(idata + idx) + (double)1; -[alias] May-aliases at the end of instruction: *(odata + idx) = (double)3 * *( - idata + idx) + (double)1; - {x, tmp} are aliased +[alias] May-aliases after instruction idx = 0; are {x, tmp} +[alias] analysing instruction: + *(odata + idx) = (double)3 * *(idata + idx) + (double)1; +[alias] May-aliases after instruction + *(odata + idx) = (double)3 * *(idata + idx) + (double)1; are {x, tmp} [alias] analysing instruction: idx ++; -[alias] May-aliases at the end of instruction: idx ++; - {x, tmp} are aliased +[alias] May-aliases after instruction idx ++; are {x, tmp} [alias] analysing instruction: swap(tmp->n2); -[alias] May-aliases at the end of instruction: swap(tmp->n2); - {x, tmp} are aliased +[alias] May-aliases after instruction swap(tmp->n2); are {x, tmp} [alias] analysing instruction: i ++; -[alias] May-aliases at the end of instruction: i ++; - {x, tmp} are aliased +[alias] May-aliases after instruction i ++; are {x, tmp} [alias] analysing instruction: idata = tmp->t1[*(tmp->n1)]; -[alias] May-aliases at the end of instruction: idata = tmp->t1[*(tmp->n1)]; - {x, tmp} are aliased +[alias] May-aliases after instruction idata = tmp->t1[*(tmp->n1)]; are {x, tmp} [alias] analysing instruction: odata = tmp->t2[*(tmp->n2)]; -[alias] May-aliases at the end of instruction: odata = tmp->t2[*(tmp->n2)]; - {x, tmp} are aliased +[alias] May-aliases after instruction odata = tmp->t2[*(tmp->n2)]; are {x, tmp} [alias] analysing instruction: __retres = (void *)0; [alias:unsafe-cast] example2.c:74: Warning: unsafe cast from int to void * -[alias] May-aliases at the end of instruction: __retres = (void *)0; - {x, tmp} are aliased -[alias] May-aliases at the end of function f2: - {x, tmp} are aliased +[alias] May-aliases after instruction __retres = (void *)0; are {x, tmp} +[alias] May-aliases at the end of function f2: {x, tmp} [alias] analysing function: fabs -[alias] May-aliases at the end of function fabs: - <Bot> +[alias] May-aliases at the end of function fabs: ⊥ [alias] analysing function: fabsf -[alias] May-aliases at the end of function fabsf: - <Bot> +[alias] May-aliases at the end of function fabsf: ⊥ [alias] analysing function: fabsl -[alias] May-aliases at the end of function fabsl: - <Bot> +[alias] May-aliases at the end of function fabsl: ⊥ [alias] analysing function: floor -[alias] May-aliases at the end of function floor: - <Bot> +[alias] May-aliases at the end of function floor: ⊥ [alias] analysing function: floorf -[alias] May-aliases at the end of function floorf: - <Bot> +[alias] May-aliases at the end of function floorf: ⊥ [alias] analysing function: floorl -[alias] May-aliases at the end of function floorl: - <Bot> +[alias] May-aliases at the end of function floorl: ⊥ [alias] analysing function: fmod -[alias] May-aliases at the end of function fmod: - <Bot> +[alias] May-aliases at the end of function fmod: ⊥ [alias] analysing function: fmodf -[alias] May-aliases at the end of function fmodf: - <Bot> +[alias] May-aliases at the end of function fmodf: ⊥ [alias] analysing function: free -[alias] May-aliases at the end of function free: - <Bot> +[alias] May-aliases at the end of function free: ⊥ [alias] analysing function: frexp -[alias] May-aliases at the end of function frexp: - <Bot> +[alias] May-aliases at the end of function frexp: ⊥ [alias] analysing function: frexpf -[alias] May-aliases at the end of function frexpf: - <Bot> +[alias] May-aliases at the end of function frexpf: ⊥ [alias] analysing function: frexpl -[alias] May-aliases at the end of function frexpl: - <Bot> +[alias] May-aliases at the end of function frexpl: ⊥ [alias] analysing function: getenv -[alias] May-aliases at the end of function getenv: - <Bot> +[alias] May-aliases at the end of function getenv: ⊥ [alias] analysing function: jrand48 -[alias] May-aliases at the end of function jrand48: - <Bot> +[alias] May-aliases at the end of function jrand48: ⊥ [alias] analysing function: labs -[alias] May-aliases at the end of function labs: - <Bot> +[alias] May-aliases at the end of function labs: ⊥ [alias] analysing function: lcong48 -[alias] May-aliases at the end of function lcong48: - <Bot> +[alias] May-aliases at the end of function lcong48: ⊥ [alias] analysing function: ldexp -[alias] May-aliases at the end of function ldexp: - <Bot> +[alias] May-aliases at the end of function ldexp: ⊥ [alias] analysing function: ldexpf -[alias] May-aliases at the end of function ldexpf: - <Bot> +[alias] May-aliases at the end of function ldexpf: ⊥ [alias] analysing function: ldiv -[alias] May-aliases at the end of function ldiv: - <Bot> +[alias] May-aliases at the end of function ldiv: ⊥ [alias] analysing function: llabs -[alias] May-aliases at the end of function llabs: - <Bot> +[alias] May-aliases at the end of function llabs: ⊥ [alias] analysing function: lldiv -[alias] May-aliases at the end of function lldiv: - <Bot> +[alias] May-aliases at the end of function lldiv: ⊥ [alias] analysing function: log -[alias] May-aliases at the end of function log: - <Bot> +[alias] May-aliases at the end of function log: ⊥ [alias] analysing function: log10 -[alias] May-aliases at the end of function log10: - <Bot> +[alias] May-aliases at the end of function log10: ⊥ [alias] analysing function: log10f -[alias] May-aliases at the end of function log10f: - <Bot> +[alias] May-aliases at the end of function log10f: ⊥ [alias] analysing function: log10l -[alias] May-aliases at the end of function log10l: - <Bot> +[alias] May-aliases at the end of function log10l: ⊥ [alias] analysing function: log2 -[alias] May-aliases at the end of function log2: - <Bot> +[alias] May-aliases at the end of function log2: ⊥ [alias] analysing function: log2f -[alias] May-aliases at the end of function log2f: - <Bot> +[alias] May-aliases at the end of function log2f: ⊥ [alias] analysing function: log2l -[alias] May-aliases at the end of function log2l: - <Bot> +[alias] May-aliases at the end of function log2l: ⊥ [alias] analysing function: logf -[alias] May-aliases at the end of function logf: - <Bot> +[alias] May-aliases at the end of function logf: ⊥ [alias] analysing function: logl -[alias] May-aliases at the end of function logl: - <Bot> +[alias] May-aliases at the end of function logl: ⊥ [alias] analysing function: lrand48 -[alias] May-aliases at the end of function lrand48: - <Bot> +[alias] May-aliases at the end of function lrand48: ⊥ [alias] analysing function: main [alias] analysing instruction: a = (ty *)malloc(sizeof(ty)); -[alias] May-aliases at the end of instruction: a = (ty *)malloc(sizeof(ty)); - <none> +[alias] May-aliases after instruction a = (ty *)malloc(sizeof(ty)); are <none> [alias] analysing instruction: b = (ty *)malloc(sizeof(ty)); -[alias] May-aliases at the end of instruction: b = (ty *)malloc(sizeof(ty)); - <none> +[alias] May-aliases after instruction b = (ty *)malloc(sizeof(ty)); are <none> [alias] analysing instruction: i = 0; -[alias] May-aliases at the end of instruction: i = 0; - <none> -[alias] analysing instruction: a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); -[alias] May-aliases at the end of instruction: a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases after instruction i = 0; are <none> +[alias] analysing instruction: + a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases after instruction + a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); are <none> -[alias] analysing instruction: a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); -[alias] May-aliases at the end of instruction: a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] analysing instruction: + a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases after instruction + a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); are <none> [alias] analysing instruction: i ++; -[alias] May-aliases at the end of instruction: i ++; +[alias] May-aliases after instruction i ++; are <none> +[alias] analysing instruction: + a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases after instruction + a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); are <none> -[alias] analysing instruction: a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); -[alias] May-aliases at the end of instruction: a->t1[i] = (double *)malloc((unsigned long)10 * sizeof(double)); - <none> -[alias] analysing instruction: a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); -[alias] May-aliases at the end of instruction: a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] analysing instruction: + a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); +[alias] May-aliases after instruction + a->t2[i] = (double *)malloc((unsigned long)10 * sizeof(double)); are <none> [alias] analysing instruction: a->n1 = (int *)malloc(sizeof(int)); -[alias] May-aliases at the end of instruction: a->n1 = (int *)malloc(sizeof(int)); +[alias] May-aliases after instruction a->n1 = (int *)malloc(sizeof(int)); are <none> [alias] analysing instruction: a->n2 = (int *)malloc(sizeof(int)); -[alias] May-aliases at the end of instruction: a->n2 = (int *)malloc(sizeof(int)); +[alias] May-aliases after instruction a->n2 = (int *)malloc(sizeof(int)); are <none> [alias] analysing instruction: *(a->n1) = 1; -[alias] May-aliases at the end of instruction: *(a->n1) = 1; - <none> +[alias] May-aliases after instruction *(a->n1) = 1; are <none> [alias] analysing instruction: *(a->n2) = 1; -[alias] May-aliases at the end of instruction: *(a->n2) = 1; - <none> +[alias] May-aliases after instruction *(a->n2) = 1; are <none> [alias] analysing instruction: i = 0; -[alias] May-aliases at the end of instruction: i = 0; - <none> +[alias] May-aliases after instruction i = 0; are <none> [alias] analysing instruction: b->t1[i] = a->t1[i]; -[alias] May-aliases at the end of instruction: b->t1[i] = a->t1[i]; - {a->t1[0], b->t1[0]} are aliased +[alias] May-aliases after instruction b->t1[i] = a->t1[i]; are + {a->t1[0], b->t1[0]} [alias] analysing instruction: b->t2[i] = a->t2[i]; -[alias] May-aliases at the end of instruction: b->t2[i] = a->t2[i]; - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased +[alias] May-aliases after instruction b->t2[i] = a->t2[i]; are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} [alias] analysing instruction: i ++; -[alias] May-aliases at the end of instruction: i ++; - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased +[alias] May-aliases after instruction i ++; are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} [alias] analysing instruction: b->t1[i] = a->t1[i]; -[alias] May-aliases at the end of instruction: b->t1[i] = a->t1[i]; - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased +[alias] May-aliases after instruction b->t1[i] = a->t1[i]; are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} [alias] analysing instruction: b->t2[i] = a->t2[i]; -[alias] May-aliases at the end of instruction: b->t2[i] = a->t2[i]; - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased +[alias] May-aliases after instruction b->t2[i] = a->t2[i]; are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} [alias] analysing instruction: b->n1 = a->n1; -[alias] May-aliases at the end of instruction: b->n1 = a->n1; - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased - {a->n1, b->n1} are aliased +[alias] May-aliases after instruction b->n1 = a->n1; are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} [alias] analysing instruction: b->n2 = a->n2; -[alias] May-aliases at the end of instruction: b->n2 = a->n2; - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased - {a->n1, b->n1} are aliased - {a->n2, b->n2} are aliased +[alias] May-aliases after instruction b->n2 = a->n2; are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} [alias] analysing instruction: f1(a); -[alias] May-aliases at the end of instruction: f1(a); - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased - {a->n1, b->n1} are aliased - {a->n2, b->n2} are aliased +[alias] May-aliases after instruction f1(a); are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} [alias] analysing instruction: f2(b); -[alias] May-aliases at the end of instruction: f2(b); - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased - {a->n1, b->n1} are aliased - {a->n2, b->n2} are aliased +[alias] May-aliases after instruction f2(b); are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} [alias] analysing instruction: __retres = 0; -[alias] May-aliases at the end of instruction: __retres = 0; - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased - {a->n1, b->n1} are aliased - {a->n2, b->n2} are aliased +[alias] May-aliases after instruction __retres = 0; are + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} [alias] May-aliases at the end of function main: - {a->t1[0], b->t1[0]} are aliased - {a->t2[0], b->t2[0]} are aliased - {a->n1, b->n1} are aliased - {a->n2, b->n2} are aliased + {a->t1[0], b->t1[0]} {a->t2[0], b->t2[0]} {a->n1, b->n1} {a->n2, b->n2} [alias] analysing function: malloc -[alias] May-aliases at the end of function malloc: - <Bot> +[alias] May-aliases at the end of function malloc: ⊥ [alias] analysing function: mblen -[alias] May-aliases at the end of function mblen: - <Bot> +[alias] May-aliases at the end of function mblen: ⊥ [alias] analysing function: mbstowcs -[alias] May-aliases at the end of function mbstowcs: - <Bot> +[alias] May-aliases at the end of function mbstowcs: ⊥ [alias] analysing function: mbtowc -[alias] May-aliases at the end of function mbtowc: - <Bot> +[alias] May-aliases at the end of function mbtowc: ⊥ [alias] analysing function: mkstemp -[alias] May-aliases at the end of function mkstemp: - <Bot> +[alias] May-aliases at the end of function mkstemp: ⊥ [alias] analysing function: mkstemps -[alias] May-aliases at the end of function mkstemps: - <Bot> +[alias] May-aliases at the end of function mkstemps: ⊥ [alias] analysing function: mrand48 -[alias] May-aliases at the end of function mrand48: - <Bot> +[alias] May-aliases at the end of function mrand48: ⊥ [alias] analysing function: nan -[alias] May-aliases at the end of function nan: - <Bot> +[alias] May-aliases at the end of function nan: ⊥ [alias] analysing function: nanf -[alias] May-aliases at the end of function nanf: - <Bot> +[alias] May-aliases at the end of function nanf: ⊥ [alias] analysing function: nanl -[alias] May-aliases at the end of function nanl: - <Bot> +[alias] May-aliases at the end of function nanl: ⊥ [alias] analysing function: nrand48 -[alias] May-aliases at the end of function nrand48: - <Bot> +[alias] May-aliases at the end of function nrand48: ⊥ [alias] analysing function: posix_memalign -[alias] May-aliases at the end of function posix_memalign: - <Bot> +[alias] May-aliases at the end of function posix_memalign: ⊥ [alias] analysing function: pow -[alias] May-aliases at the end of function pow: - <Bot> +[alias] May-aliases at the end of function pow: ⊥ [alias] analysing function: powf -[alias] May-aliases at the end of function powf: - <Bot> +[alias] May-aliases at the end of function powf: ⊥ [alias] analysing function: putenv -[alias] May-aliases at the end of function putenv: - <Bot> +[alias] May-aliases at the end of function putenv: ⊥ [alias] analysing function: qsort -[alias] May-aliases at the end of function qsort: - <Bot> +[alias] May-aliases at the end of function qsort: ⊥ [alias] analysing function: quick_exit -[alias] May-aliases at the end of function quick_exit: - <Bot> +[alias] May-aliases at the end of function quick_exit: ⊥ [alias] analysing function: rand -[alias] May-aliases at the end of function rand: - <Bot> +[alias] May-aliases at the end of function rand: ⊥ [alias] analysing function: random -[alias] May-aliases at the end of function random: - <Bot> +[alias] May-aliases at the end of function random: ⊥ [alias] analysing function: realloc -[alias] May-aliases at the end of function realloc: - <Bot> +[alias] May-aliases at the end of function realloc: ⊥ [alias] analysing function: reallocarray -[alias] May-aliases at the end of function reallocarray: - <Bot> +[alias] May-aliases at the end of function reallocarray: ⊥ [alias] analysing function: round -[alias] May-aliases at the end of function round: - <Bot> +[alias] May-aliases at the end of function round: ⊥ [alias] analysing function: roundf -[alias] May-aliases at the end of function roundf: - <Bot> +[alias] May-aliases at the end of function roundf: ⊥ [alias] analysing function: roundl -[alias] May-aliases at the end of function roundl: - <Bot> +[alias] May-aliases at the end of function roundl: ⊥ [alias] analysing function: seed48 -[alias] May-aliases at the end of function seed48: - <Bot> +[alias] May-aliases at the end of function seed48: ⊥ [alias] analysing function: setenv -[alias] May-aliases at the end of function setenv: - <Bot> +[alias] May-aliases at the end of function setenv: ⊥ [alias] analysing function: sin -[alias] May-aliases at the end of function sin: - <Bot> +[alias] May-aliases at the end of function sin: ⊥ [alias] analysing function: sinf -[alias] May-aliases at the end of function sinf: - <Bot> +[alias] May-aliases at the end of function sinf: ⊥ [alias] analysing function: sinl -[alias] May-aliases at the end of function sinl: - <Bot> +[alias] May-aliases at the end of function sinl: ⊥ [alias] analysing function: sqrt -[alias] May-aliases at the end of function sqrt: - <Bot> +[alias] May-aliases at the end of function sqrt: ⊥ [alias] analysing function: sqrtf -[alias] May-aliases at the end of function sqrtf: - <Bot> +[alias] May-aliases at the end of function sqrtf: ⊥ [alias] analysing function: sqrtl -[alias] May-aliases at the end of function sqrtl: - <Bot> +[alias] May-aliases at the end of function sqrtl: ⊥ [alias] analysing function: srand -[alias] May-aliases at the end of function srand: - <Bot> +[alias] May-aliases at the end of function srand: ⊥ [alias] analysing function: srand48 -[alias] May-aliases at the end of function srand48: - <Bot> +[alias] May-aliases at the end of function srand48: ⊥ [alias] analysing function: srandom -[alias] May-aliases at the end of function srandom: - <Bot> +[alias] May-aliases at the end of function srandom: ⊥ [alias] analysing function: strtod -[alias] May-aliases at the end of function strtod: - <Bot> +[alias] May-aliases at the end of function strtod: ⊥ [alias] analysing function: strtof -[alias] May-aliases at the end of function strtof: - <Bot> +[alias] May-aliases at the end of function strtof: ⊥ [alias] analysing function: strtol -[alias] May-aliases at the end of function strtol: - <Bot> +[alias] May-aliases at the end of function strtol: ⊥ [alias] analysing function: strtold -[alias] May-aliases at the end of function strtold: - <Bot> +[alias] May-aliases at the end of function strtold: ⊥ [alias] analysing function: strtoll -[alias] May-aliases at the end of function strtoll: - <Bot> +[alias] May-aliases at the end of function strtoll: ⊥ [alias] analysing function: strtoul -[alias] May-aliases at the end of function strtoul: - <Bot> +[alias] May-aliases at the end of function strtoul: ⊥ [alias] analysing function: strtoull -[alias] May-aliases at the end of function strtoull: - <Bot> +[alias] May-aliases at the end of function strtoull: ⊥ [alias] analysing function: swap -[alias] May-aliases at the end of function swap: - <none> +[alias] May-aliases at the end of function swap: <none> [alias] analysing function: system -[alias] May-aliases at the end of function system: - <Bot> +[alias] May-aliases at the end of function system: ⊥ [alias] analysing function: tan -[alias] May-aliases at the end of function tan: - <Bot> +[alias] May-aliases at the end of function tan: ⊥ [alias] analysing function: tanf -[alias] May-aliases at the end of function tanf: - <Bot> +[alias] May-aliases at the end of function tanf: ⊥ [alias] analysing function: tanl -[alias] May-aliases at the end of function tanl: - <Bot> +[alias] May-aliases at the end of function tanl: ⊥ [alias] analysing function: trunc -[alias] May-aliases at the end of function trunc: - <Bot> +[alias] May-aliases at the end of function trunc: ⊥ [alias] analysing function: truncf -[alias] May-aliases at the end of function truncf: - <Bot> +[alias] May-aliases at the end of function truncf: ⊥ [alias] analysing function: truncl -[alias] May-aliases at the end of function truncl: - <Bot> +[alias] May-aliases at the end of function truncl: ⊥ [alias] analysing function: unsetenv -[alias] May-aliases at the end of function unsetenv: - <Bot> +[alias] May-aliases at the end of function unsetenv: ⊥ [alias] analysing function: wcstombs -[alias] May-aliases at the end of function wcstombs: - <Bot> +[alias] May-aliases at the end of function wcstombs: ⊥ [alias] analysing function: wctomb -[alias] May-aliases at the end of function wctomb: - <Bot> +[alias] May-aliases at the end of function wctomb: ⊥ -- GitLab