diff --git a/src/kernel_internals/parsing/logic_preprocess.mli b/src/kernel_internals/parsing/logic_preprocess.mli index 90a5a8540ed25d2c1f4556fec87271f8206374bb..38fecb6f34f5464baef321fa7bdf0ff974a57289 100644 --- a/src/kernel_internals/parsing/logic_preprocess.mli +++ b/src/kernel_internals/parsing/logic_preprocess.mli @@ -33,9 +33,6 @@ (gcc pre-processing differs between .c and .cxx files) @raises Sys_error if the file cannot be opened. - - @modifies Oxygen-20120901: added suffix argument - *) val file: string -> (string -> string -> string) -> string -> diff --git a/src/kernel_services/abstract_interp/int_set.mli b/src/kernel_services/abstract_interp/int_set.mli index d3aac28587ccc2bf78c127d5710a0a4cc4501fba..979dfbe883a48f9d001ff300c38acfe361cec076 100644 --- a/src/kernel_services/abstract_interp/int_set.mli +++ b/src/kernel_services/abstract_interp/int_set.mli @@ -45,9 +45,9 @@ include Datatype.S_with_collections (** Creates the set containing only the given integer. *) val inject_singleton: Integer.t -> t -(** Creates the set with integers [from + k*period] for [k] in {0 ... number-1}. - The resulting set contains [number] integers. There is no verification - about [number], but it should be stritly positive. *) +(** Creates the set with integers [from + k*period] for [k] in + [{0 ... number-1}]. The resulting set contains [number] integers. There is + no verification about [number], but it should be stritly positive. *) val inject_periodic: from:Integer.t -> period:Integer.t -> number:Integer.t -> t (** Creates a set from an integer list. The list must not be empty, and the list diff --git a/src/kernel_services/abstract_interp/lattice_type.mli b/src/kernel_services/abstract_interp/lattice_type.mli index 7ac4e1bf59ab43a80a9a8a6a3a01940e6b7ea085..f5e0608d520c6c801358ff9a8c9a478e7cc45036 100644 --- a/src/kernel_services/abstract_interp/lattice_type.mli +++ b/src/kernel_services/abstract_interp/lattice_type.mli @@ -73,7 +73,7 @@ end Conversely, some functions, suffixed by [_under] assumes that their arguments are under-approximations, and returns a result that under-approximates the concrete operation. The functions [link] and [meet] in - {With_Under_Approximation} are exceptions, that are not suffixed by [_under]. + {!With_Under_Approximation} are exceptions, that are not suffixed by [_under]. Finally, some functions are *exact*, in the sense that they preserve the concretization of the concrete function. Hence, they implement @@ -165,7 +165,7 @@ module type Full_AI_Lattice_with_cardinality = sig end -(** {2 Results of generic functors, in module {!Abstract_interp}. } *) +(** {2 Results of generic functors, in module [Abstract_interp]. } *) (** Generic signature for the base elements of a lattice *) module type Lattice_Value = Datatype.S_with_collections diff --git a/src/kernel_services/analysis/stmts_graph.mli b/src/kernel_services/analysis/stmts_graph.mli index e7e0eeaa9ed6fa757e8e65b6007a930df4d7653a..22bf4c705996d6729079c276c32ec4a9ecdc5b25 100644 --- a/src/kernel_services/analysis/stmts_graph.mli +++ b/src/kernel_services/analysis/stmts_graph.mli @@ -69,17 +69,17 @@ val get_stmt_last_stmts : termination_kind option -> stmt -> stmt list val get_block_last_stmts : termination_kind option -> block -> stmt list (** Find the entry edges that go inside [s] statements, - * meaning that if the pair [(s1,s2)] is in the returned information, - * [s2] is a successor of [s1] and [s2] is in [s] statements, but [s1] is not. - * @since Nitrogen-20111001 - **) + meaning that if the pair [(s1,s2)] is in the returned information, + [s2] is a successor of [s1] and [s2] is in [s] statements, but [s1] is not. + @since Nitrogen-20111001 +*) val get_stmt_in_edges : stmt -> (stmt * stmt) list val get_block_in_edges : block -> (stmt * stmt) list (** Like [get_stmt_in_edges] but for edges going out of [s] statements. - * Similar to [get_all_stmt_last_stmts] but gives the edge information - * instead of just the first statement. - * @since Nitrogen-20111001 + Similar to [get_all_stmt_last_stmts] but gives the edge information + instead of just the first statement. + @since Nitrogen-20111001 *) val get_all_stmt_out_edges : stmt -> (stmt * stmt) list val get_all_block_out_edges : block -> (stmt * stmt) list diff --git a/src/kernel_services/ast_data/cil_types.mli b/src/kernel_services/ast_data/cil_types.mli index 28e7ce49ef681900375afdce3a27b3a91e361f51..5e3bd30bf63a7d4ea8fe48c20011d4c9c2616778 100644 --- a/src/kernel_services/ast_data/cil_types.mli +++ b/src/kernel_services/ast_data/cil_types.mli @@ -340,9 +340,7 @@ and attrparam = one and use {!Cil.copyCompInfo} to copy one (this ensures that a new key is assigned and that the fields have the right pointers to parents.). @plugin development guide - - @since 23.0-Vanadium [cfields] is an option, [None] is used for incomplete - types (in replacement of removed field [cdefined]) *) +*) and compinfo = { mutable cstruct: bool; (** [true] if struct, [false] if union *) @@ -365,7 +363,10 @@ and compinfo = { back to the host compinfo. This means that you should not share fieldinfo's between two compinfo's. - None value means that the type is incomplete. *) + None value means that the type is incomplete. + + @before 23.0-Vanadium this field was not optional + *) mutable cattr: attributes; (** The attributes that are defined at the same time as the composite @@ -787,7 +788,7 @@ and binop = (** Left values (aka Lvalues) are the sublanguage of expressions that can appear at the left of an assignment or as operand to the address-of operator. In C the syntax for lvalues is not always a good indication of the meaning of the - lvalue. For example the C value {v a[0][1][2] v} might involve 1, 2 or 3 + lvalue. For example the C value [a[0][1][2]] might involve 1, 2 or 3 memory reads when used in an expression context, depending on the declared type of the variable [a]. If [a] has type [int \[4\]\[4\]\[4\]] then we have one memory read from somewhere inside the area that stores the array [a]. On @@ -822,7 +823,8 @@ and binop = - {!Cil.removeOffset} and {!Cil.removeOffsetLval} - shrink sequences of offsets. - The following equivalences hold {v + The following equivalences hold + {v Mem(AddrOf(Mem a, aoff)), off = Mem a, aoff + off Mem(AddrOf(Var v, aoff)), off = Var v, aoff + off AddrOf (Mem a, NoOffset) = a @@ -1391,7 +1393,7 @@ and term_node = | Tinter of term list (** intersection of terms. *) | Tcomprehension of term * quantifiers * predicate option - (** set defined in comprehension ({t \{ t[i] | integer i; 0 <= i < 5\}}) *) + (** set defined in comprehension ([{ t[i] | integer i; 0 <= i < 5}]) *) | Trange of term option * term option (** range of integers. *) | Tlet of logic_info * term (** local binding *) diff --git a/src/kernel_services/ast_data/kernel_function.mli b/src/kernel_services/ast_data/kernel_function.mli index 5e1be0e3bc823de0d48cbd0bc8ffaf20230bff12..0c954057a436afbac342fdb608cfb937cf405271 100644 --- a/src/kernel_services/ast_data/kernel_function.mli +++ b/src/kernel_services/ast_data/kernel_function.mli @@ -67,7 +67,7 @@ val find_all_labels: t -> Datatype.String.Set.t val clear_sid_info: unit -> unit (** removes any information related to statements in kernel functions. - ({i.e.} the table used by the function below). + (i.e. the table used by the function below). - Must be called when the Ast has silently changed (e.g. with an in-place visitor) before calling one of the functions below diff --git a/src/kernel_services/ast_data/property.ml b/src/kernel_services/ast_data/property.ml index 16f4828980bb0c648de24f4539b7978aa5735cfb..d45b91734daebbe69d4e15629b11c5587c0a25a1 100644 --- a/src/kernel_services/ast_data/property.ml +++ b/src/kernel_services/ast_data/property.ml @@ -1065,210 +1065,6 @@ let rec pretty_debug fmt = function Cil_types_debug.pp_string io_name pp_other_loc io_loc -(* -------------------------------------------------------------------------- *) -(* --- Legacy Property Names --- *) -(* -------------------------------------------------------------------------- *) - -(* Shall be deprecated *) -module LegacyNames = -struct - - module NamesTbl = - State_builder.Hashtbl(Datatype.String.Hashtbl)(Datatype.Int) - (struct - let name = "PropertyNames" - let dependencies = [ ] - let size = 97 - end) - module IndexTbl = - State_builder.Hashtbl(Hashtbl)(Datatype.String) - (struct - let name = "PropertyIndex" - let dependencies = [ Ast.self; NamesTbl.self; Globals.Functions.self ] - let size = 97 - end) - - let self = IndexTbl.self - - let kf_prefix kf = (Ast_info.Function.get_vi kf.fundec).vname ^ "_" - - let ident_names names = - List.filter (function "" -> true - | _ as n -> '\"' <> (String.get n 0) ) names - - let pp_names fmt l = - let l = ident_names l in - match l with [] -> () - | _ -> Format.fprintf fmt "_%a" - (Pretty_utils.pp_list ~sep:"_" Format.pp_print_string) l - - let pp_code_annot_names fmt ca = - match ca.annot_content with - | AAssert(for_bhv,pred) | AInvariant(for_bhv,_,pred) -> - let named_pred = pred.tp_statement in - let pp_for_bhv fmt l = - match l with - | [] -> () - | _ -> Format.fprintf fmt "_for_%a" - (Pretty_utils.pp_list ~sep:"_" Format.pp_print_string) l - in - Format.fprintf fmt "%a%a" pp_names named_pred.pred_name pp_for_bhv for_bhv - | AVariant(term, _) -> pp_names fmt term.term_name - | _ -> () (* TODO : add some more names ? *) - - let behavior_prefix b = - if Cil.is_default_behavior b then "" - else b.b_name ^ "_" - - let variant_suffix = function - | (_,Some s) -> s.l_var_info.lv_name - | _ -> "" - - let string_of_termination_kind = function - Normal -> "post" - | Exits -> "exit" - | Breaks -> "break" - | Continues -> "continue" - | Returns -> "return" - - let stmt_prefix _s = "stmt_" - - let ki_prefix = function Kglobal -> "" | Kstmt s -> stmt_prefix s - - let extended_loc_prefix = function - | ELContract kf -> kf_prefix kf - | ELStmt (kf,s) -> kf_prefix kf ^ stmt_prefix s - | ELGlob -> "global_" - - let other_loc_prefix = function - | OLContract kf -> kf_prefix kf - | OLStmt (kf,s) -> kf_prefix kf ^ stmt_prefix s - | OLGlob _ -> "global_" - - let predicate_kind_txt pk ki = - let name = match pk with - | PKRequires b -> (behavior_prefix b) ^ "pre" - | PKAssumes b -> (behavior_prefix b) ^ "assume" - | PKEnsures (b, tk) -> (behavior_prefix b) ^ string_of_termination_kind tk - | PKTerminates -> "term" - in - (ki_prefix ki) ^ name - - let active_prefix fmt a = - let print_one a = Format.fprintf fmt "_%s" a in - Datatype.String.Set.iter print_one a - - let rec id_prop_txt p = match p with - | IPPredicate {ip_kind=pk;ip_kf=kf;ip_kinstr=ki;ip_pred=idp} -> - Format.asprintf "%s%s%a" - (kf_prefix kf) (predicate_kind_txt pk ki) - pp_names (Logic_const.pred_of_id_pred idp).pred_name - | IPExtended {ie_ext={ext_name};ie_loc=le} -> - Format.asprintf "%sextended%a" (extended_loc_prefix le) pp_names [ext_name] - | IPCodeAnnot {ica_kf=kf; ica_ca=ca} -> - let name = match ca.annot_content with - | AAssert (_, {tp_kind}) -> Cil_printer.string_of_assert tp_kind - | AInvariant (_,loop,{tp_kind}) -> - let kw = if loop then "invariant" else "loop_invariant" in - Cil_printer.ident_of_predicate ~kw tp_kind - | APragma _ -> "pragma" - | AStmtSpec _ -> "contract" - | AAssigns _ -> "assigns" - | AVariant _ -> "variant" - | AAllocation _ -> "allocates" - | AExtended(_,_,{ext_name}) -> ext_name - in Format.asprintf "%s%s%a" (kf_prefix kf) name pp_code_annot_names ca - | IPComplete {ic_kf=kf; ic_kinstr=ki; ic_active=a; ic_bhvs=lb} -> - let lb = Datatype.String.Set.elements lb in - Format.asprintf "%s%s%acomplete%a" - (kf_prefix kf) (ki_prefix ki) active_prefix a pp_names lb - | IPDisjoint {ic_kf=kf; ic_kinstr=ki; ic_active=a; ic_bhvs=lb} -> - let lb = Datatype.String.Set.elements lb in - Format.asprintf "%s%s%adisjoint%a" - (kf_prefix kf) (ki_prefix ki) active_prefix a pp_names lb - | IPDecrease {id_kf=kf; id_ca=None; id_variant=variant} -> - (kf_prefix kf) ^ "decr" ^ (variant_suffix variant) - | IPDecrease {id_kf=kf; id_variant=variant} -> - (kf_prefix kf) ^ "loop_term" ^ (variant_suffix variant) - | IPAxiomatic {iax_name} -> "axiomatic_" ^ iax_name - | IPLemma {il_name=name; il_pred} -> - Format.asprintf "%s_%s%a" - (Cil_printer.ident_of_lemma il_pred.tp_kind) - name pp_names il_pred.tp_statement.pred_name - | IPTypeInvariant {iti_name; iti_pred} -> - Format.asprintf "type_invariant_%s%a" - iti_name pp_names iti_pred.pred_name - | IPGlobalInvariant {igi_name; igi_pred} -> - Format.asprintf "global_invariant_%s%a" - igi_name pp_names igi_pred.pred_name - | IPAllocation {ial_kf=kf; ial_kinstr=ki; ial_bhv=Id_contract (a,b)} -> - Format.asprintf "%s%s%a%sallocates" - (kf_prefix kf) (ki_prefix ki) active_prefix a (behavior_prefix b) - | IPAllocation {ial_kf=kf; ial_kinstr=Kstmt _; ial_bhv=Id_loop ca} -> - Format.asprintf "%sloop_allocates%a" - (kf_prefix kf) pp_code_annot_names ca - | IPAllocation _ -> assert false - | IPAssigns {ias_kf=kf; ias_kinstr=ki; ias_bhv=Id_contract (a,b)} -> - Format.asprintf "%s%s%a%sassign" - (kf_prefix kf) (ki_prefix ki) active_prefix a (behavior_prefix b) - | IPAssigns {ias_kf=kf; ias_kinstr=Kstmt _; ias_bhv=Id_loop ca} -> - Format.asprintf "%sloop_assign%a" - (kf_prefix kf) pp_code_annot_names ca - | IPAssigns _ -> assert false - | IPFrom {if_from=(out,_)} -> - "from_id_"^(string_of_int (out.it_id)) - | IPReachable _ -> "reachable_stmt" - | IPBehavior {ib_kf=kf; ib_kinstr=ki; ib_active=a; ib_bhv=b} -> - Format.asprintf "%s%s%a%s" - (kf_prefix kf) (ki_prefix ki) active_prefix a b.b_name - | IPPropertyInstance {ii_kf=kf; ii_stmt=stmt; ii_ip=ip} -> - Format.asprintf "specialization_%s_at_%t" (id_prop_txt ip) - (fun fmt -> - Format.fprintf fmt "%a_stmt_%d" Kernel_function.pretty kf stmt.sid) - | IPOther {io_name; io_loc} -> other_loc_prefix io_loc ^ io_name - - (** function used to normalize basename *) - let normalize_basename s = - let is_valid_char_id = function - | 'a'..'z' | 'A' .. 'Z' | '0' .. '9' | '_' -> true - | _ -> false - and is_numeric = function - | '0'..'9' -> true - | _ -> false - in - if s ="" then "property" - else - let s = String.map (fun c -> if not (is_valid_char_id c) then '_' else c) s in - if is_numeric s.[0] then "property_" ^ s else s - - (** returns the name that should be returned by the function [get_prop_name_id] if the given property has [name] as basename. That name is reserved so that [get_prop_name_id prop] can never return an identical name. *) - let reserve_name_id basename = - let basename = normalize_basename basename in - try - let speed_up_start = NamesTbl.find basename in - (* this basename is already reserved *) - let n,unique_name = Extlib.make_unique_name NamesTbl.mem ~sep:"_" ~start:speed_up_start basename - in NamesTbl.replace basename (succ n) ; (* to speed up Extlib.make_unique_name for next time *) - unique_name - with Not_found -> (* first time that basename is reserved *) - NamesTbl.add basename 2 ; - basename - - (** returns the basename of the property. *) - let get_prop_basename ip = normalize_basename (id_prop_txt ip) - - (** returns a unique name identifying the property. - This name is built from the basename of the property. *) - let get_prop_name_id ip = - try IndexTbl.find ip - with Not_found -> (* first time we are asking for a name for that [ip] *) - let basename = get_prop_basename ip in - let unique_name = reserve_name_id basename in - IndexTbl.add ip unique_name ; - unique_name - -end - (* -------------------------------------------------------------------------- *) (* --- Property Names --- *) (* -------------------------------------------------------------------------- *) diff --git a/src/kernel_services/ast_data/property.mli b/src/kernel_services/ast_data/property.mli index 6d9f38b4c4eb2f6c042f597bdbeeab29ebbf9a24..eaf6c8bc0db251ebc066d74efacee36d742d1a6b 100644 --- a/src/kernel_services/ast_data/property.mli +++ b/src/kernel_services/ast_data/property.mli @@ -519,16 +519,6 @@ val source: identified_property -> Filepath.position option (** {2 names} *) (**************************************************************************) - -(** @since 19.0-Potassium deprecated old naming scheme, - to be removed in future versions. *) -module LegacyNames : -sig - val self: State.t - val get_prop_basename: identified_property -> string - val get_prop_name_id: identified_property -> string -end - (** @since Oxygen-20120901 *) module Names : sig diff --git a/src/kernel_services/ast_data/property_status.mli b/src/kernel_services/ast_data/property_status.mli index 1ac60ebf9d079e57ad8f043c645738861fc38da5..3252bc6eaf56fda2255248801eb65f64cddcf8ca 100644 --- a/src/kernel_services/ast_data/property_status.mli +++ b/src/kernel_services/ast_data/property_status.mli @@ -41,14 +41,15 @@ entry point to [s]. It also depends on an explicit set of hypotheses [H] indicating when emitting the property (see function {!emit}). *) type emitted_status = - | True (** for each execution path [ep] from the program entry point to [s], - the formula (/\_{h in H} h) ==> P(ep) is true *) - | False_if_reachable (** for each execution path [ep] from the program entry - point to [s], the formula (/\_{h in H} h) ==> P(ep) - is false *) - | False_and_reachable (** it exists an execution path [ep] from the program - entry point to [s] such that the formula (/\_{h in - H} h) ==> P(ep) is false *) + | True + (** for each execution path [ep] from the program entry point to [s], + the formula [(/\_{h in H} h) ==> P(ep)] is true *) + | False_if_reachable + (** for each execution path [ep] from the program entry point to [s], + the formula [(/\_{h in H} h) ==> P(ep)] is false *) + | False_and_reachable + (** it exists an execution path [ep] from the program entry point to [s] + such that the formula [(/\_{h in H} h) ==> P(ep)] is false *) | Dont_know (** any other case *) module Emitted_status: Datatype.S with type t = emitted_status @@ -68,7 +69,8 @@ val emit: the best status is changed accordingly. One example when [~distinct:true] may be required is when emitting a status for a pre-condition of a function [f] since the status associated to a pre-condition [p] merges all statuses - of [p] at each callsite of the function [f]. @return the kept status. + of [p] at each callsite of the function [f]. + @return the kept status. @raise Inconsistent_emitted_status when emitting False after emitting True or conversely *) diff --git a/src/kernel_services/ast_queries/acsl_extension.mli b/src/kernel_services/ast_queries/acsl_extension.mli index 22f3a198087e98cce8c0f63009ad7da9638a5d04..a651c98bf1f72df4f4ded14dda5d38bdcfaca299 100644 --- a/src/kernel_services/ast_queries/acsl_extension.mli +++ b/src/kernel_services/ast_queries/acsl_extension.mli @@ -93,7 +93,6 @@ type extension_printer = p)]) | [] -> let id = !count in incr count; Ext_id id | _ -> typing_context.error loc "expecting a predicate after keyword FOO" - let () = Acsl_extension.register_behavior "FOO" foo_typer false ] @plugin development guide diff --git a/src/kernel_services/ast_queries/ast_info.mli b/src/kernel_services/ast_queries/ast_info.mli index df6e83336874b7a7fd735a30a60fbf3bb0c214ff..0aa8ba37d6d88ca10c3049d78c8bdb8804905aac 100644 --- a/src/kernel_services/ast_queries/ast_info.mli +++ b/src/kernel_services/ast_queries/ast_info.mli @@ -86,7 +86,7 @@ val behavior_precondition : goal:bool -> funbehavior -> predicate val behavior_postcondition : goal:bool -> funbehavior -> termination_kind -> predicate (** Builds the postcondition from [b_assumes] and [b_post_cond] clauses. - For flag [~goal] see {Ast_info.precondition} above. + For flag [~goal] see {!Ast_info.precondition} above. @before 23.0-Vanadium no [goal] flag. *) diff --git a/src/kernel_services/ast_queries/cil.mli b/src/kernel_services/ast_queries/cil.mli index 9c4c6ca29ca0f8e6119ce1cebd5fdc0a5e367c09..5e1397685e6239e0cca7c3a30ecf880ba7039462 100644 --- a/src/kernel_services/ast_queries/cil.mli +++ b/src/kernel_services/ast_queries/cil.mli @@ -591,8 +591,8 @@ val isVariadicListType: typ -> bool val argsToList: (string * typ * attributes) list option -> (string * typ * attributes) list -(** @since 20.0-Calcium - Obtain the argument lists (non-ghost, ghosts) ([], [] if None) *) +(** Obtain the argument lists (non-ghost, ghosts) ([], [] if None) + @since 20.0-Calcium *) val argsToPairOfLists: (string * typ * attributes) list option -> (string * typ * attributes) list * (string * typ * attributes) list @@ -1526,10 +1526,12 @@ val mk_behavior : ?extended:acsl_extension list -> unit -> Cil_types.behavior -(** @since Carbon-20101201 - returns a dummy behavior with the default name [Cil.default_behavior_name]. +(** returns a dummy behavior with the default name [Cil.default_behavior_name]. invariant: [b_assumes] must always be - empty for behavior named [Cil.default_behavior_name] *) + empty for behavior named [Cil.default_behavior_name] + + @since Carbon-20101201 +*) val default_behavior_name: string (** @since Carbon-20101201 *) @@ -2041,7 +2043,9 @@ val is_empty_funspec: funspec -> bool val is_empty_behavior: funbehavior -> bool (* ************************************************************************* *) -(** {2 ALPHA conversion} has been moved to the Alpha module. *) +(** {2 Renaming} *) + +(** See also the {!Alpha} module for other renaming operations. *) (* ************************************************************************* *) (** Assign unique names to local variables. This might be necessary after you diff --git a/src/kernel_services/ast_queries/cil_builtins.mli b/src/kernel_services/ast_queries/cil_builtins.mli index ebbebbbde4dfe3bb30cb2f4f8eb59d258aafbc16..d48b61b1f898d7e770e539e366bf8ed31b696505 100644 --- a/src/kernel_services/ast_queries/cil_builtins.mli +++ b/src/kernel_services/ast_queries/cil_builtins.mli @@ -49,7 +49,7 @@ open Cil_types (** This module associates the name of a built-in function that might be used during elaboration with the corresponding varinfo. This is done when - parsing ${FRAMAC_SHARE}/libc/__fc_builtins.h, which is always performed + parsing [${FRAMAC_SHARE}/libc/__fc_builtins.h], which is always performed before processing the actual list of files provided on the command line (see {!File.init_from_c_files}). Actual list of such built-ins is managed in {!Cabs2cil}. *) diff --git a/src/kernel_services/ast_queries/cil_const.mli b/src/kernel_services/ast_queries/cil_const.mli index bc7db0a6014b200a8c553af918149ded974959a4..ff5c455d9a7dd4af62a63aa59d3ad991ac3aef30 100644 --- a/src/kernel_services/ast_queries/cil_const.mli +++ b/src/kernel_services/ast_queries/cil_const.mli @@ -74,15 +74,14 @@ val new_raw_id: unit -> int Must not be used for setting vid: use {!set_vid} instead. *) (** Creates a (potentially recursive) composite type. The arguments are: - * (1) a boolean indicating whether it is a struct or a union, (2) the name - * (always non-empty), (3) a function that when given a representation of the - * structure type constructs the type of the fields recursive type (the first - * argument is only useful when some fields need to refer to the type of the - * structure itself), and (4) an optional list of attributes to be associated - * with the composite type, "None" means that the struct is incomplete. - * - * @since 23.0-Vanadium the 4th parameter is a function that returns an option. - **) + (1) a boolean indicating whether it is a struct or a union, (2) the name + (always non-empty), (3) a function that when given a representation of the + structure type constructs the type of the fields recursive type (the first + argument is only useful when some fields need to refer to the type of the + structure itself), and (4) an optional list of attributes to be associated + with the composite type, "None" means that the struct is incomplete. + @since 23.0-Vanadium the 4th parameter is a function that returns an option. +*) val mkCompInfo: bool -> (* whether it is a struct or a union *) string -> (* name of the composite type; cannot be empty *) ?norig:string -> (* original name of the composite type, empty when anonymous *) diff --git a/src/kernel_services/ast_queries/logic_const.mli b/src/kernel_services/ast_queries/logic_const.mli index 079f6b4965744b235d14b2573614777c369deb01..2a7d97c98f428e97ff7f5cbba534aa74270a7f91 100644 --- a/src/kernel_services/ast_queries/logic_const.mli +++ b/src/kernel_services/ast_queries/logic_const.mli @@ -252,7 +252,7 @@ val is_set_type: logic_type -> bool (** [set_conversion ty1 ty2] returns a set type as soon as [ty1] and/or [ty2] is a set. Elements have type [ty1], or the type of the elements of [ty1] if - it is itself a set-type ({i.e.} we do not build set of sets that way). + it is itself a set-type (i.e. we do not build set of sets that way). *) val set_conversion: logic_type -> logic_type -> logic_type diff --git a/src/kernel_services/cmdline_parameters/cmdline.mli b/src/kernel_services/cmdline_parameters/cmdline.mli index 572ee38ca0221df19644f0e79d27e961e1b6d87e..b30852478e34e2fdafdaeb776ec461b80a1a478c 100644 --- a/src/kernel_services/cmdline_parameters/cmdline.mli +++ b/src/kernel_services/cmdline_parameters/cmdline.mli @@ -309,7 +309,7 @@ val add_aliases: option name [orig]. If [visible] is set to false, the aliases do not appear in help messages. If [deprecated] is set to true, the use of the aliases emits a warning. - @Invalid_argument if an alias name is the empty string + @raise Invalid_argument if an alias name is the empty string @since Carbon-20110201 @before 22.0-Titanium no [visible] and [deprecated] arguments. *) diff --git a/src/kernel_services/parsetree/logic_ptree.mli b/src/kernel_services/parsetree/logic_ptree.mli index 545f1cc5147c6b1775d3ebe31e3704ee5312346c..85d47d3a0901577bd83b3853d7cfe94fcb5ec3a9 100644 --- a/src/kernel_services/parsetree/logic_ptree.mli +++ b/src/kernel_services/parsetree/logic_ptree.mli @@ -97,8 +97,8 @@ and lexpr_node = | PLconstant of constant (** a constant. *) | PLunop of unop * lexpr (** unary operator. *) | PLbinop of lexpr * binop * lexpr (** binary operator. *) - | PLdot of lexpr * string (** field access ({t a.x}) *) - | PLarrow of lexpr * string (** field access ({t a->x})*) + | PLdot of lexpr * string (** field access ([a.x]) *) + | PLarrow of lexpr * string (** field access ([a->x])*) | PLarrget of lexpr * lexpr (** array access. *) | PLold of lexpr (** expression refers to pre-state of a function. *) | PLat of lexpr * string (** expression refers to a given program point. *) @@ -148,7 +148,7 @@ and lexpr_node = (* tsets *) | PLcomprehension of lexpr * quantifiers * lexpr option (** set of expression defined in comprehension - ({t \{ e | integer i; P(i)\}})*) + ([{ e | integer i; P(i)}])*) | PLset of lexpr list (** sets of elements. *) | PLunion of lexpr list diff --git a/src/kernel_services/plugin_entry_points/log.mli b/src/kernel_services/plugin_entry_points/log.mli index b2a2b5289f63e294a7aed91fb6c023545f0609f7..a44b6b4ae22032c9aedd987c3bf90d05d71c1e68 100644 --- a/src/kernel_services/plugin_entry_points/log.mli +++ b/src/kernel_services/plugin_entry_points/log.mli @@ -61,9 +61,9 @@ type ('a,'b) pretty_aborter = ?current:bool -> ?source:Filepath.position -> ?echo:bool -> ?append:(Format.formatter -> unit) -> ('a,formatter,unit,'b) format4 -> 'a -(** @since Beryllium-20090601-beta1 - Same as {!Log.pretty_printer} except that channels having this type +(** Same as {!Log.pretty_printer} except that channels having this type denote a fatal error aborting Frama-C. + @since Beryllium-20090601-beta1 *) (* -------------------------------------------------------------------------- *) @@ -87,7 +87,7 @@ exception FeatureRequest of Filepath.position option * string * string You may catch [FeatureRequest(s,p,r)] to support degenerated behavior. The (optional) source location is s, the responsible plugin is 'p' and the feature request is 'r'. - @modified 23.0-Vanadium added source location. + @before 23.0-Vanadium there was no source location *) (* -------------------------------------------------------------------------- *) @@ -210,7 +210,7 @@ module type Messages = sig If the exception is not caught, Frama-C displays a feature-request message to the user. @since Beryllium-20090901 - @modified 23.0-Vanadium added current and source arguments. + @before 23.0-Vanadium there was no [current] and [source] arguments. *) val deprecated: string -> now:string -> ('a -> 'b) -> ('a -> 'b) @@ -223,22 +223,22 @@ module type Messages = sig val with_result : (event option -> 'b) -> ('a,'b) pretty_aborter (** [with_result f fmt] calls [f] in the same condition as [logwith]. @since Beryllium-20090601-beta1 - @modified 18.0-Argon the argument of the continuation is optionnal *) + *) val with_warning : (event option -> 'b) -> ('a,'b) pretty_aborter (** [with_warning f fmt] calls [f] in the same condition as [logwith]. @since Beryllium-20090601-beta1 - @modified 18.0-Argon the argument of the continuation is optionnal *) + *) val with_error : (event option -> 'b) -> ('a,'b) pretty_aborter (** [with_error f fmt] calls [f] in the same condition as [logwith]. @since Beryllium-20090601-beta1 - @modified 18.0-Argon the argument of the continuation is optionnal *) + *) val with_failure : (event option -> 'b) -> ('a,'b) pretty_aborter (** [with_failure f fmt] calls [f] in the same condition as [logwith]. @since Beryllium-20090601-beta1 - @modified 18.0-Argon the argument of the continuation is optionnal *) + *) val log : ?kind:kind -> ?verbose:int -> ?debug:int -> 'a pretty_printer (** Generic log routine. The default kind is [Result]. Use cases (with @@ -480,7 +480,7 @@ val print_delayed : (Format.formatter -> unit) -> unit val set_current_source : (unit -> Filepath.position) -> unit (* Forward reference to the function returning the current location, used when [~current:true] is set on printers. Currently set - in {Cil}. Not for the casual user. *) + in {!Cil}. Not for the casual user. *) val check_not_yet: (event -> bool) ref (* Checks whether a message been emitted already, in which case it is diff --git a/src/libraries/datatype/descr.mli b/src/libraries/datatype/descr.mli index 7a03c2a3417fcd28076a5c602eefbaf7c352508a..f55a48f9b835838debbbcae414b104d2e414da5e 100644 --- a/src/libraries/datatype/descr.mli +++ b/src/libraries/datatype/descr.mli @@ -107,7 +107,7 @@ val of_structural: 'a Type.t -> Structural_descr.t -> 'a t ensures safety. @since Carbon-20101201 *) -(** {3 Builders mapping {!Unmarshal}'s transformers} *) +(** {3 Builders mapping [Unmarshal]'s transformers} *) val dependent_pair: 'a t -> ('a -> 'b t) -> ('a * 'b) t (** Similar to {!Unmarshal.Dependent_pair}, but safe. diff --git a/src/libraries/project/state_builder.mli b/src/libraries/project/state_builder.mli index 15b0fe12ff2369fe4cfc40107615e50341db6023..c3a630b794a3869907eeaf8819e7a541622ae9f3 100644 --- a/src/libraries/project/state_builder.mli +++ b/src/libraries/project/state_builder.mli @@ -236,7 +236,7 @@ module type Weak_hashtbl = sig val find: data -> data (** [find x] returns an instance of [x] found in table. - @Raise Not_found if there is no such element. + @raise Not_found if there is no such element. @since Boron-20100401 *) val find_all: data -> data list @@ -545,7 +545,9 @@ module States: sig (** iterates a function [f] over all registered states. Arguments of [f] are its name, its type value, its value for the given project ([Project.current ()] by default) and a boolean which indicates if it is - already computed. @since Fluorine-20130401 *) + already computed. + @since Fluorine-20130401 + *) val fold: ?prj:Project.t -> diff --git a/src/libraries/stdlib/extlib.mli b/src/libraries/stdlib/extlib.mli index 6eac85cefbcefc87840ff81837a86325286a7e01..d736864c0c471948fc67fd8160f565624b8ccdd7 100644 --- a/src/libraries/stdlib/extlib.mli +++ b/src/libraries/stdlib/extlib.mli @@ -224,7 +224,8 @@ val opt_map2: ('a -> 'b -> 'c) -> 'a option -> 'b option -> 'c option (* ************************************************************************* *) val xor: bool -> bool -> bool -(** exclusive-or. @since Oxygen-20120901 *) +(** exclusive-or. + @since Oxygen-20120901 *) (* ************************************************************************* *) (** {2 Strings} *) diff --git a/src/libraries/utils/bitvector.mli b/src/libraries/utils/bitvector.mli index 63346ddbde8c182fd7429030c128cfd3d8859e36..50664e713e87bfb30dd7cd09267a89b196fd3e77 100644 --- a/src/libraries/utils/bitvector.mli +++ b/src/libraries/utils/bitvector.mli @@ -54,8 +54,9 @@ val equal: t -> t -> bool val compare: t -> t -> int val hash: t -> int -(** {2 Bitwise Binary Operations} - The first argument is the size of the vectors. *) +(** {2 Bitwise Binary Operations} *) + +(** The first argument is the size of the vectors. *) val bnot: int -> t -> t val band: int -> t -> t -> t @@ -63,8 +64,9 @@ val bor: int -> t -> t -> t val bxor: int -> t -> t -> t (* bitwise difference *) val beq: int -> t -> t -> t (* bitwise equivalence/equality *) -(** {2 Generic Bitwise Operations}. - Prefer using these rather than create intermediary bitvectors. *) +(** {2 Generic Bitwise Operations}. *) + +(** Prefer using these rather than create intermediary bitvectors. *) val bitwise_op2: int -> (int -> int -> int) -> t -> t -> t val bitwise_op3: int -> (int -> int -> int -> int) -> t -> t -> t -> t diff --git a/src/libraries/utils/command.mli b/src/libraries/utils/command.mli index 7863d6e262e83a8fdd1feff875263fdf6b727809..ac22f67cbcf9734c2c2764b87b0d536a517b3ba5 100644 --- a/src/libraries/utils/command.mli +++ b/src/libraries/utils/command.mli @@ -80,7 +80,7 @@ val full_command : -> stdout:Unix.file_descr -> stderr:Unix.file_descr -> Unix.process_status -(** Same arguments as {Unix.create_process} but returns only when +(** Same arguments as {!Unix.create_process} but returns only when execution is complete. @raise Sys_error when a system error occurs *) @@ -96,7 +96,7 @@ val full_command_async : -> stdout:Unix.file_descr -> stderr:Unix.file_descr -> (unit -> process_result) -(** Same arguments as {Unix.create_process}. +(** Same arguments as {!Unix.create_process}. @return a function to call to check if the process execution is complete. You must call this function until it returns a Result @@ -108,7 +108,7 @@ val command_async : ?stderr:Buffer.t -> string -> string array -> (unit -> process_result) -(** Same arguments as {Unix.create_process}. +(** Same arguments as {!Unix.create_process}. @return a function to call to check if the process execution is complete. You must call this function until it returns a Result @@ -123,7 +123,7 @@ val command : ?stderr:Buffer.t -> string -> string array -> Unix.process_status -(** Same arguments as {Unix.create_process}. +(** Same arguments as {!Unix.create_process}. When this function returns, the stdout and stderr of the child process will be filled into the arguments buffer. @raise Sys_error when a system error occurs diff --git a/src/libraries/utils/json.mli b/src/libraries/utils/json.mli index ba4179ae57c7f7e8cdfea47694125949ee2bf92e..c203bb97be8e812d4e66344dc3b4a551f3b605a7 100644 --- a/src/libraries/utils/json.mli +++ b/src/libraries/utils/json.mli @@ -66,7 +66,9 @@ val of_list : t list -> t val of_array : t array -> t val of_fields : (string * t) list -> t -(** {2 Parsers} Parsing raise [Error] in case of error. *) +(** {2 Parsers} *) + +(** Parsing raise [Error] in case of error. *) val load_lexbuf : Lexing.lexbuf -> t (** Consumes the entire buffer. *) @@ -80,7 +82,9 @@ val load_string : string -> t val load_file : string -> t (** May also raise system exception. *) -(** {2 Printers} Printers use formatting unless [~pretty:false]. *) +(** {2 Printers} *) + +(** Printers use formatting unless [~pretty:false]. *) val save_string : ?pretty:bool -> t -> string val save_buffer : ?pretty:bool -> Buffer.t -> t -> unit @@ -88,9 +92,9 @@ val save_channel : ?pretty:bool -> out_channel -> t -> unit val save_formatter : ?pretty:bool -> Format.formatter -> t -> unit val save_file : ?pretty:bool -> string -> t -> unit -(** {2 Accessors} - Accessors raise exception [Invalid_argument] in case of wrong - format. *) +(** {2 Accessors} *) + +(** Accessors raise exception [Invalid_argument] in case of wrong format. *) val bool : t -> bool (** Extract [True] and [False] only. diff --git a/src/plugins/e-acsl/src/analyses/typing.mli b/src/plugins/e-acsl/src/analyses/typing.mli index 0b91ab6a295cf8ffe3e6abe5c739a73d04845372..c65f3cc8dcb357ab351b70b97d5b8f0bd2ea2f6f 100644 --- a/src/plugins/e-acsl/src/analyses/typing.mli +++ b/src/plugins/e-acsl/src/analyses/typing.mli @@ -72,7 +72,7 @@ val gmpz: number_ty val rational: number_ty val nan: number_ty -(** {3 Useful operations over {!number_ty}} *) +(** {3 Useful operations over [number_ty]} *) exception Not_a_number val typ_of_number_ty: number_ty -> typ diff --git a/src/plugins/e-acsl/src/libraries/functions.mli b/src/plugins/e-acsl/src/libraries/functions.mli index 01132f08a85a466222da30e5995ea7cae9e64caf..97667d9b1942dfa59e92ffc2082984f840663a21 100644 --- a/src/plugins/e-acsl/src/libraries/functions.mli +++ b/src/plugins/e-acsl/src/libraries/functions.mli @@ -34,7 +34,7 @@ val instrument: kernel_function -> bool (** @return [true] iff the given function must be instrumented. *) (* ************************************************************************** *) -(** {2 RTL} Operations on function belonging to the runtime library of E-ACSL *) +(** {2 RTL Operations on function belonging to the runtime library of E-ACSL} *) (* ************************************************************************** *) module RTL: sig @@ -67,7 +67,7 @@ module RTL: sig end (* Rtl *) (* ************************************************************************** *) -(** {2 Libc} Operations on functions belonging to standard library *) +(** {2 Libc Operations on functions belonging to standard library} *) (* ************************************************************************** *) module Libc: sig @@ -133,7 +133,7 @@ module Libc: sig end (* Libc *) (* ************************************************************************** *) -(** {2 Concurrency} Operations concerning the support of concurrency *) +(** {2 Concurrency Operations concerning the support of concurrency} *) (* ************************************************************************** *) module Concurrency: sig diff --git a/src/plugins/gui/design.mli b/src/plugins/gui/design.mli index e833a41927ad1ad20372d8e3bd8e03ef4ad81347..f920b516f972b307c8ec3a04529c79c0d8dceb6a 100644 --- a/src/plugins/gui/design.mli +++ b/src/plugins/gui/design.mli @@ -190,11 +190,12 @@ class type main_window_extension_points = object updated. *) method redisplay : unit -> unit - (** @since Nitrogen-20111001 - Force to redisplay the current displayed buffer. + (** Force to redisplay the current displayed buffer. Plugins should call this method whenever they have changed the globals. For example whenever a plugin adds an annotation, the buffers need - to be redisplayed. *) + to be redisplayed. + @since Nitrogen-20111001 + *) method protect : cancelable:bool -> ?parent:GWindow.window_skel -> (unit -> unit) -> unit diff --git a/src/plugins/gui/gtk_helper.mli b/src/plugins/gui/gtk_helper.mli index 8cf09cb23d1d209f0371b51cd673904114e636a8..5c225e6121c522ee0115173988ddfea33e608466 100644 --- a/src/plugins/gui/gtk_helper.mli +++ b/src/plugins/gui/gtk_helper.mli @@ -98,7 +98,7 @@ module Configuration: sig (** Sets a ConfigInt *) val find_bool : ?default:bool -> string -> bool - (** Same as {find_int}. *) + (** Same as {!find_int}. *) val use_bool: string -> (bool -> unit) -> unit (** Same as {!use_int}. *) diff --git a/src/plugins/pdg/annot.mli b/src/plugins/pdg/annot.mli index 9004f92ddb798d6bd04ce0e75cd59ec7385156b4..8aa296375843ddb909c61cba30f6b76014ea6c3e 100644 --- a/src/plugins/pdg/annot.mli +++ b/src/plugins/pdg/annot.mli @@ -21,10 +21,8 @@ (**************************************************************************) (** All these functions find the nodes needed for various kind of annotations. - * - * @raise Kernel_function.No_Definition on annotations for function declarations. - * - * *) + @raise Kernel_function.No_Definition on annotations for function declarations. +*) (** [data_info] is composed of [(node,z_part) list, undef_loc)] * and correspond to data dependencies nodes. diff --git a/src/plugins/pdg/ctrlDpds.mli b/src/plugins/pdg/ctrlDpds.mli index 0f00964488be915457a868a2c9c7088c464e1879..184bc56aedc5c90716d4315c068076d963600496 100644 --- a/src/plugins/pdg/ctrlDpds.mli +++ b/src/plugins/pdg/ctrlDpds.mli @@ -35,7 +35,7 @@ val get_if_controlled_stmts : t -> Cil_types.stmt -> Cil_datatype.Stmt.Hptset.t * on the given jump statement. This statement can be a [goto] of course, * but also a [break], a [continue], or even a loop because CIL transformations make them of the form {v while(true) body; v} which is equivalent to - {v L : body ; goto L; v} + [L : body ; goto L;] * *) val get_jump_controlled_stmts : t -> Cil_types.stmt -> Cil_datatype.Stmt.Hptset.t val get_loop_controlled_stmts : t -> Cil_types.stmt -> Cil_datatype.Stmt.Hptset.t diff --git a/src/plugins/scope/defs.mli b/src/plugins/scope/defs.mli index 862112df114382e986d990583aab1b07dd5a2356..9bc750e6cdf6687b3e74e0027048e705beb6e8f2 100644 --- a/src/plugins/scope/defs.mli +++ b/src/plugins/scope/defs.mli @@ -33,5 +33,5 @@ val get_defs_with_type : val compute_with_def_type_zone: Cil_types.kernel_function -> Cil_types.stmt -> Locations.Zone.t -> ((bool * bool) Cil_datatype.Stmt.Map.t * Locations.Zone.t option) option -(** This function is similar to {get_defs_with_type}, except +(** This function is similar to {!get_defs_with_type}, except that it receives a zone as argument, instead of an l-value *) diff --git a/src/plugins/server/request.mli b/src/plugins/server/request.mli index 58cfd275a8cd0b598f4d65c8cd37cbe0d1a48549..88fc306b942848e18f0e401a5bbd79f58a68a1ff 100644 --- a/src/plugins/server/request.mli +++ b/src/plugins/server/request.mli @@ -170,25 +170,21 @@ val register_sig : For named input parameters: [ - API: Input JSON OCaml Getter ----------------------------------------------------------------------- Request.param { f: a } 'a (* might raise an exception *) Request.param ~default { f: a? } 'a (* defined by default *) Request.param_opt { f: a? } 'a option - ] For named output parameters: [ - API: Input JSON OCaml Setter ---------------------------------------------------------------------- Request.result { f: a } 'a (* shall be set by process *) Request.result ~default { f: a } 'a (* defined by default *) Request.result_opt { f: a? } 'a option - ] *) diff --git a/src/plugins/slicing/fct_slice.mli b/src/plugins/slicing/fct_slice.mli index b05520e7f73f19e64f0c4652c31bf54f0ce85523..6ea3a114edbdc847d41731dc0d04e4ec1dd20157 100644 --- a/src/plugins/slicing/fct_slice.mli +++ b/src/plugins/slicing/fct_slice.mli @@ -34,9 +34,9 @@ val is_src_fun_visible : Cil_types.kernel_function -> bool (** - * @raise SlicingTypes.ExternalFunction if the function has no source code, - * because there cannot be any slice for it. - * @raise SlicingTypes.NoPdg when there is no PDG for the function. + @raise SlicingTypes.ExternalFunction if the function has no source code, + because there cannot be any slice for it. + @raise SlicingTypes.NoPdg when there is no PDG for the function. *) val make_new_ff : fct_info -> bool -> fct_slice * criterion list diff --git a/src/plugins/slicing/slicingMarks.mli b/src/plugins/slicing/slicingMarks.mli index 7081adb36a8ea736d374db098096bece3413a312..d398c3967fdaec9c47b1e2aa9a4cbd5fc79a47af 100644 --- a/src/plugins/slicing/slicingMarks.mli +++ b/src/plugins/slicing/slicingMarks.mli @@ -40,7 +40,7 @@ val merge_marks : sl_mark list -> sl_mark val inter_marks : sl_mark list -> sl_mark (** [combine_marks] add a new information to the old value. - * @return (new_mark, is_new) + @return (new_mark, is_new) where [is_new=true] if the new mark is not included in the old one. *) val combine_marks : sl_mark -> sl_mark -> (sl_mark * sl_mark) diff --git a/src/plugins/sparecode/Sparecode.mli b/src/plugins/sparecode/Sparecode.mli index 2f2b503634d6963779eee23c1ec856c8e0aa4222..66d9defb721368dfb49a801fd1f7b1af3a1fad7b 100644 --- a/src/plugins/sparecode/Sparecode.mli +++ b/src/plugins/sparecode/Sparecode.mli @@ -27,16 +27,16 @@ module Register: sig val get: select_annot:bool -> select_slice_pragma:bool -> Project.t (** Remove in each function what isn't used to compute its outputs, - * or its annotations when [select_annot] is true, - * or its slicing pragmas when [select_slice_pragmas] is true. - * @return a new project where the sparecode has been removed. + or its annotations when [select_annot] is true, + or its slicing pragmas when [select_slice_pragmas] is true. + @return a new project where the sparecode has been removed. *) val rm_unused_globals : ?new_proj_name:string -> ?project:Project.t -> unit -> Project.t (** Remove unused global types and variables from the given project - * (the current one if no project given). - * The source project is not modified. - * The result is in the returned new project. + (the current one if no project given). + The source project is not modified. + The result is in the returned new project. * *) end diff --git a/src/plugins/value/domains/abstract_domain.mli b/src/plugins/value/domains/abstract_domain.mli index 346c82aff7689261fb4e1536c91660a51ed19f35..e8536eb1f6e16c262d723f096cf919917e47eb29 100644 --- a/src/plugins/value/domains/abstract_domain.mli +++ b/src/plugins/value/domains/abstract_domain.mli @@ -385,7 +385,7 @@ module type S = sig (** {3 Transfer Functions } *) (** Transfer functions from the result of evaluations. - See {eval.mli} for more details about valuation. *) + See {!Eval} for more details about valuation. *) include Transfer with type state := t and type value := value and type location := location diff --git a/src/plugins/value/domains/cvalue/builtins.mli b/src/plugins/value/domains/cvalue/builtins.mli index b68cb238a08660b37f23a8ba88b178bd601fd56c..3b53316a23cae6666507edafc9fa73385839c680 100644 --- a/src/plugins/value/domains/cvalue/builtins.mli +++ b/src/plugins/value/domains/cvalue/builtins.mli @@ -33,7 +33,7 @@ exception Outside_builtin_possibilities (* Signature of a builtin: type of the result, and type of the arguments. *) type builtin_type = unit -> typ * typ list -(** Can the results of a builtin be cached? See {eval.mli} for more details.*) +(** Can the results of a builtin be cached? See {!Eval} for more details.*) type cacheable = Eval.cacheable = Cacheable | NoCache | NoCacheCallers type full_result = { diff --git a/src/plugins/value/domains/cvalue/builtins_float.mli b/src/plugins/value/domains/cvalue/builtins_float.mli index 78eb47efe8504d555207339fc4e54a646006f87c..55070f88b547f56c8172d13b53d1ab3e875e01da 100644 --- a/src/plugins/value/domains/cvalue/builtins_float.mli +++ b/src/plugins/value/domains/cvalue/builtins_float.mli @@ -23,7 +23,7 @@ (** Builtins for standard floating-point functions. Nothing is exported, all the builtins are registered through - {Builtins.register_builtin} *) + {!Builtins.register_builtin} *) (* diff --git a/src/plugins/value/domains/cvalue/builtins_memory.mli b/src/plugins/value/domains/cvalue/builtins_memory.mli index 8a23693e43a9cb320f79aa37dab4b0ed403c71fe..692267d6696d5be14cb722010614c1fd537e8736 100644 --- a/src/plugins/value/domains/cvalue/builtins_memory.mli +++ b/src/plugins/value/domains/cvalue/builtins_memory.mli @@ -21,7 +21,7 @@ (**************************************************************************) (** Nothing is exported, all the builtins are registered through - {Builtins.register_builtin} *) + {!Builtins.register_builtin} *) (* diff --git a/src/plugins/value/engine/abstractions.mli b/src/plugins/value/engine/abstractions.mli index c8f03be0c01f42a72c661500e9e0b3a11e6af28a..141676192e40af40e5e36714274f7c37ec356058 100644 --- a/src/plugins/value/engine/abstractions.mli +++ b/src/plugins/value/engine/abstractions.mli @@ -25,9 +25,9 @@ (** {2 Registration of abstractions.} *) (** Dynamic registration of the abstractions to be used in an Eva analysis: - - value abstractions, detailed in the {Abstract_value} signature; - - location abstractions, detailed in the {Abstract_location} signature; - - state abstractions, or abstract domains, detailed in {Abstract_domain}. + - value abstractions, detailed in the {!Abstract_value} signature; + - location abstractions, detailed in the {!Abstract_location} signature; + - state abstractions, or abstract domains, detailed in {!Abstract_domain}. *) (** Module types of value abstractions: either a single leaf module, or diff --git a/src/plugins/value/engine/evaluation.mli b/src/plugins/value/engine/evaluation.mli index f894bb7f648fe18d8147e1ac83453af6d48749ce..591dbf95b4735d08beb6707d22e0555cbc2b6047 100644 --- a/src/plugins/value/engine/evaluation.mli +++ b/src/plugins/value/engine/evaluation.mli @@ -41,7 +41,7 @@ module type S = sig (** Results of an evaluation: the results of all intermediate calculation (the value of each expression and the location of each lvalue) are cached here. - See {eval.mli} for more details. *) + See {!Eval} for more details. *) module Valuation : Valuation with type value = value and type origin = origin and type loc = loc diff --git a/src/plugins/value/utils/abstract.mli b/src/plugins/value/utils/abstract.mli index 1e27948b1c37c0546a37129c71fb4d92d8636232..ed27dd24987432dd38800278ff203a6fa0ea2f7b 100644 --- a/src/plugins/value/utils/abstract.mli +++ b/src/plugins/value/utils/abstract.mli @@ -34,7 +34,7 @@ several times the same leaf module. *) (** Key and structure for abstract values. - See {structure.mli} for more details. *) + See {!Structure} for more details. *) module Value : sig include Structure.Shape with type 'a key = 'a Structure.Key_Value.key @@ -54,7 +54,7 @@ module Value : sig end (** Key and structure for abstract locations. - See {structure.mli} for more details. *) + See {!Structure} for more details. *) module Location : sig include Structure.Shape with type 'a key = 'a Structure.Key_Location.key @@ -74,7 +74,7 @@ module Location : sig end (** Key and structure for abstract domains. - See {structure.mli} for more details. *) + See {!Structure} for more details. *) module Domain : sig include Structure.Shape with type 'a key = 'a Structure.Key_Domain.key diff --git a/src/plugins/value/utils/eva_dynamic.mli b/src/plugins/value/utils/eva_dynamic.mli index 4da1b6c1d7b4e276ffc6e5143c7e9c941acf8827..a51a71a5651e8a6cea0b78a18f017bbea5f0071e 100644 --- a/src/plugins/value/utils/eva_dynamic.mli +++ b/src/plugins/value/utils/eva_dynamic.mli @@ -20,7 +20,7 @@ (* *) (**************************************************************************) -(** Access to other plugins API via {Dynamic.get}. *) +(** Access to other plugins API via {!Dynamic.get}. *) module Callgraph: sig (** Iterates over all functions in the callgraph in reverse order, i.e. from diff --git a/src/plugins/value/values/cvalue_backward.mli b/src/plugins/value/values/cvalue_backward.mli index 37be4507ddeacf37901419d6f6d7aba847184d8e..82d5eef2a3f17f69ab9ca60216bcc095774d72f4 100644 --- a/src/plugins/value/values/cvalue_backward.mli +++ b/src/plugins/value/values/cvalue_backward.mli @@ -25,7 +25,7 @@ open Cvalue open Cil_types -(** See !{abstract_value.mli} for details about backward operations. *) +(** See {!Abstract_value} for details about backward operations. *) (** This function tries to reduce the argument values of a binary operation, given its result. diff --git a/src/plugins/wp/Lang.mli b/src/plugins/wp/Lang.mli index f93ec5f6fb1128aec68241983a17994bf6166476..0543fe9195f382d71ea56a1cc5721ec033d3ab6b 100644 --- a/src/plugins/wp/Lang.mli +++ b/src/plugins/wp/Lang.mli @@ -31,7 +31,7 @@ open Qed.Logic type library = string -(** {2 Naming} Unique identifiers. *) +(** {2 Naming - Unique identifiers} *) val comp_id : compinfo -> string val comp_init_id : compinfo -> string @@ -558,7 +558,7 @@ end module N: sig - (** simpler notation for writing {!F.term} and {F.pred} *) + (** simpler notation for writing {!F.term} and {!F.pred} *) val ( + ): F.binop (** {! F.p_add } *) diff --git a/src/plugins/wp/ctypes.mli b/src/plugins/wp/ctypes.mli index 559768c449dd3041f13f98809fc657779f1dc6e7..d0dd621be61ad0c176bac679a6f4432424022a1a 100644 --- a/src/plugins/wp/ctypes.mli +++ b/src/plugins/wp/ctypes.mli @@ -92,10 +92,10 @@ val c_ptr : unit -> c_int (** Returns the type of pointers *) val c_int : ikind -> c_int -(** Conforms to {Cil.theMachine} *) +(** Conforms to {!Cil.theMachine} *) val c_float : fkind -> c_float -(** Conforms to {Cil.theMachine} *) +(** Conforms to {!Cil.theMachine} *) val object_of : typ -> c_object