diff --git a/infer/src/backend/inferprint.ml b/infer/src/backend/inferprint.ml index d7a6022fb..972aa0ccc 100644 --- a/infer/src/backend/inferprint.ml +++ b/infer/src/backend/inferprint.ml @@ -975,9 +975,11 @@ let process_summary filters linereader stats (top_proc_set: Procname.Set.t) (fna let error_filter error_desc error_name = let always_report () = Localise.error_desc_extract_tag_value error_desc "always_report" = "true" in + (!Config.write_html || not (Localise.equal error_name Localise.skip_function)) && (filters.Inferconfig.path_filter summary.Specs.attributes.ProcAttributes.loc.Location.file || always_report ()) && - filters.Inferconfig.error_filter error_name && filters.Inferconfig.proc_filter proc_name in + filters.Inferconfig.error_filter error_name && + filters.Inferconfig.proc_filter proc_name in do_outf procs_csv (fun outf -> ProcsCsv.pp_summary top_proc_set outf.fmt summary); do_outf calls_csv (fun outf -> CallsCsv.pp_calls outf.fmt summary); do_outf procs_xml (fun outf -> ProcsXml.pp_proc top_proc_set outf.fmt summary); diff --git a/infer/src/backend/localise.ml b/infer/src/backend/localise.ml index f790981e6..0c906a603 100644 --- a/infer/src/backend/localise.ml +++ b/infer/src/backend/localise.ml @@ -29,6 +29,9 @@ let to_string s = s (** compare two localised strings *) let compare (s1: string) (s2: string) = Pervasives.compare s1 s2 +let equal s1 s2 = + compare s1 s2 = 0 + let context_leak = "CONTEXT_LEAK" let analysis_stops = "ANALYSIS_STOPS" let array_out_of_bounds_l1 = "ARRAY_OUT_OF_BOUNDS_L1" diff --git a/infer/src/backend/localise.mli b/infer/src/backend/localise.mli index 87279630f..85f3b4bca 100644 --- a/infer/src/backend/localise.mli +++ b/infer/src/backend/localise.mli @@ -27,6 +27,8 @@ val to_string : t -> string (** compare two localised strings *) val compare : t -> t -> int +val equal : t -> t -> bool + val context_leak : t val analysis_stops : t val array_out_of_bounds_l1 : t