From f276cd9c8ac77d769abc116cfc9dfca8e651fb62 Mon Sep 17 00:00:00 2001 From: Virgile Prevosto <virgile.prevosto@m4x.org> Date: Thu, 7 Jan 2021 17:29:02 +0100 Subject: [PATCH] [variadic] only emit "untransformed" message for builtins that are variadic. --- .../tests/erroneous/oracle/variadic-builtin.res.oracle | 2 ++ .../tests/known/oracle/printf_garbled_mix.res.oracle | 2 -- src/plugins/variadic/translate.ml | 6 ++++-- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/plugins/variadic/tests/erroneous/oracle/variadic-builtin.res.oracle b/src/plugins/variadic/tests/erroneous/oracle/variadic-builtin.res.oracle index 348e8c477da..a5caa303321 100644 --- a/src/plugins/variadic/tests/erroneous/oracle/variadic-builtin.res.oracle +++ b/src/plugins/variadic/tests/erroneous/oracle/variadic-builtin.res.oracle @@ -1,3 +1,5 @@ +[variadic] tests/erroneous/variadic-builtin.i:1: + Declaration of variadic function Frama_C_show_each_warning. [variadic] tests/erroneous/variadic-builtin.i:1: Variadic builtin Frama_C_show_each_warning left untransformed. [kernel] tests/erroneous/variadic-builtin.i:6: Plug-in variadic aborted: unimplemented feature. diff --git a/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle b/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle index 3cecd8f9b1e..3ba86d9da3a 100644 --- a/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle +++ b/src/plugins/variadic/tests/known/oracle/printf_garbled_mix.res.oracle @@ -14,8 +14,6 @@ Declaration of variadic function sscanf. [variadic] FRAMAC_SHARE/libc/stdio.h:541: Declaration of variadic function dprintf. -[variadic] tests/known/printf_garbled_mix.c:8: - Variadic builtin Frama_C_show_each_nb_printed left untransformed. [variadic] tests/known/printf_garbled_mix.c:7: Translating call to printf to a call to the specialized version printf_va_1. [eva] Analyzing a complete application starting at main diff --git a/src/plugins/variadic/translate.ml b/src/plugins/variadic/translate.ml index 46f76bbce8e..b2bbd04dbb1 100644 --- a/src/plugins/variadic/translate.ml +++ b/src/plugins/variadic/translate.ml @@ -89,8 +89,10 @@ let translate_variadics (file : file) = method! vglob glob = begin match glob with | GFunDecl(_, vi, _) when is_framac_builtin vi -> - Self.result ~level:2 ~current:true - "Variadic builtin %s left untransformed." vi.vname; + if Classify.classify env vi <> None then begin + Self.result ~level:2 ~current:true + "Variadic builtin %s left untransformed." vi.vname; + end; Cil.SkipChildren | GFunDecl(_, vi, _) -> -- GitLab