diff --git a/doc/eva/examples/parametrizing/pragma-widen-hints.c b/doc/eva/examples/parametrizing/pragma-widen-hints.c
deleted file mode 100644
index 1e829bf9757fb58a22d79318d5dbec16e7e3c4f3..0000000000000000000000000000000000000000
--- a/doc/eva/examples/parametrizing/pragma-widen-hints.c
+++ /dev/null
@@ -1,9 +0,0 @@
-int i,j;
-
-void main(void)
-{
-  int n = 13;
-  /*@ loop pragma WIDEN_HINTS i, 12, 13; */
-  for (i=0; i<n; i++)
-    j = 4 * i + 7;
-}
diff --git a/doc/eva/main.tex b/doc/eva/main.tex
index 507d379936c598fde52ff744f40907bfd039ac1a..76628e4e00deb03c73726dddb65a3185d6edb710 100644
--- a/doc/eva/main.tex
+++ b/doc/eva/main.tex
@@ -3844,28 +3844,6 @@ thresholds.
 Dynamic hints are automatically global; the \lstinline|global| prefix must not
 be applied to them.
 
-\subsubsection*{Deprecated: \texttt{WIDEN\_HINTS} loop pragma}
-
-\begin{important}
-  This syntax has been deprecated in favor of the previous one
-  and it is kept here only for reference.
-\end{important}
-
-The \lstinline|loop widen_hints| annotation above has an obsoleted syntax: \\
-\lstinline|//@ loop pragma WIDEN_HINTS $v_1,\ldots,v_n$, $e_1,\ldots,e_m$ ;|\\
-which serves the same purpose but has a few differences:
-
-\begin{itemize}
-\item it is restricted to loop annotations;
-\item more than one variable ($v_1,\ldots,v_n$) can be specified in a single hint;
-\item if no variables are specified, it works as the special value \lstinline|"all"|,
-  that is, all variables in the loop are affected;
-\item it does not accept the \lstinline|global| label.
-\end{itemize}
-
-Example:
-\csource{examples/parametrizing/pragma-widen-hints.c}
-
 \subsubsection{Loop invariants}
 
 A last technique consists in using the loop invariant construct of ACSL.
@@ -3915,7 +3893,7 @@ within bounds\footnote{And more precisely between \lstinline+t[1]+ and
 \lstinline+t[9]+, since \lstinline+p+
 is incremented before the affectation to \lstinline+*p+.}.
 Thus, this technique is complementary to the use of
-\lstinline+WIDEN_HINTS+, which only accepts integers --- hence not
+\lstinline+widen_hints+, which only accepts integers --- hence not
 \lstinline+&t[N-1]+. Compared to the use
 of \lstinline+-eva-slevel+ or \lstinline+-ulevel+,
 the technique above does not unroll the loop; thus the overall results
diff --git a/src/kernel_internals/parsing/logic_parser.mly b/src/kernel_internals/parsing/logic_parser.mly
index cafa0e96b6bf360f0c103ca51cdb542520381f07..5793c2feb49aabde87b7f8ef4e4ade646c1f5b87 100644
--- a/src/kernel_internals/parsing/logic_parser.mly
+++ b/src/kernel_internals/parsing/logic_parser.mly
@@ -1464,10 +1464,6 @@ loop_pragma:
       (if $3 <> "UNROLL" then
 	 Format.eprintf "Warning: use of deprecated keyword '%s'.\nShould use 'UNROLL' instead.@." $3;
        Unroll_specs $4)
-    else if $3 = "WIDEN_VARIABLES" then
-      Widen_variables $4
-    else if $3 = "WIDEN_HINTS" then
-      Widen_hints $4
     else raise (Not_well_formed (loc $sloc,"Unknown loop pragma")) }
 ;
 
diff --git a/src/kernel_internals/typing/unroll_loops.ml b/src/kernel_internals/typing/unroll_loops.ml
index 4bc1d09e3912cfc2307e68172b2237329b35579d..9a3077594832805d91a225cca66de4852d2434fd 100644
--- a/src/kernel_internals/typing/unroll_loops.ml
+++ b/src/kernel_internals/typing/unroll_loops.ml
@@ -82,7 +82,6 @@ let extract_from_pragmas global_find_init s =
     match a.annot_content with
     | APragma (Loop_pragma (Unroll_specs specs)) ->
       List.fold_left (update_info global_find_init e) info specs
-    | APragma (Loop_pragma _) -> info
     | _ -> assert false (* should have been filtered above. *)
   in
   List.fold_left get_infos empty_info pragmas
diff --git a/src/kernel_services/analysis/logic_deps.ml b/src/kernel_services/analysis/logic_deps.ml
index 874fb84942604f9d0ea8c9a8d6806d6b4926a8e4..65883a64ce26715463f3aa69166f17dff78a4b14 100644
--- a/src/kernel_services/analysis/logic_deps.ml
+++ b/src/kernel_services/analysis/logic_deps.ml
@@ -478,9 +478,7 @@ let get_zone_from_annot a (ki,kf) loop_body_opt results =
   | AVariant (term,_) ->
     (* to preserve the interpretation of the variant *)
     get_zone_from_term (Option.get loop_body_opt) term results
-  | APragma (Loop_pragma (Unroll_specs terms))
-  | APragma (Loop_pragma (Widen_hints terms))
-  | APragma (Loop_pragma (Widen_variables terms)) ->
+  | APragma (Loop_pragma (Unroll_specs terms)) ->
     (* to select the declaration of the variables *)
     List.fold_left
       (fun results term -> {
diff --git a/src/kernel_services/ast_data/cil_types.ml b/src/kernel_services/ast_data/cil_types.ml
index 0b27f448cc4937d02c715c9f40ba63603e12ac99..0ae3f376d5ac98e2a2fb00a3cd2649de377df45c 100644
--- a/src/kernel_services/ast_data/cil_types.ml
+++ b/src/kernel_services/ast_data/cil_types.ml
@@ -1738,8 +1738,6 @@ and behavior = {
 (** Pragmas for the value analysis plugin of Frama-C. *)
 and loop_pragma =
   | Unroll_specs of term list
-  | Widen_hints of term list
-  | Widen_variables of term list
 
 (** Pragmas for the slicing plugin of Frama-C. *)
 and slice_pragma =
diff --git a/src/kernel_services/ast_printing/cil_printer.ml b/src/kernel_services/ast_printing/cil_printer.ml
index a9d7c98103737e6c3f99048062c7ff2a5af3647a..31b287429f816c944a15ba5bd08533f4dcafd02c 100644
--- a/src/kernel_services/ast_printing/cil_printer.ml
+++ b/src/kernel_services/ast_printing/cil_printer.ml
@@ -3164,12 +3164,6 @@ class cil_printer () = object (self)
       (pp_list false self#disjoint_behaviors) disjoint
 
   method private loop_pragma fmt = function
-    | Widen_hints terms ->
-      fprintf fmt "WIDEN_HINTS @[%a@]"
-        (Pretty_utils.pp_list ~sep:",@ " self#term) terms
-    | Widen_variables terms ->
-      fprintf fmt "WIDEN_VARIABLES @[%a@]"
-        (Pretty_utils.pp_list ~sep:",@ " self#term) terms
     | Unroll_specs terms ->
       fprintf fmt "UNROLL @[%a@]"
         (Pretty_utils.pp_list ~sep:",@ " self#term) terms
diff --git a/src/kernel_services/ast_printing/cil_types_debug.ml b/src/kernel_services/ast_printing/cil_types_debug.ml
index bdd64597f8619aa9e107a96a7c81671aebfdff2c..ed13828430d9dd900638e11bcc8df886892228ac 100644
--- a/src/kernel_services/ast_printing/cil_types_debug.ml
+++ b/src/kernel_services/ast_printing/cil_types_debug.ml
@@ -932,10 +932,6 @@ and pp_termination_kind fmt = function
 and pp_loop_pragma fmt = function
   | Unroll_specs(term_list) ->
     Format.fprintf fmt "Unroll_specs(%a)" (pp_list pp_term) term_list
-  | Widen_hints(term_list) ->
-    Format.fprintf fmt "Widen_hints(%a)" (pp_list pp_term) term_list
-  | Widen_variables(term_list) ->
-    Format.fprintf fmt "Widen_variables(%a)" (pp_list pp_term) term_list
 
 and pp_slice_pragma fmt = function
   | SPexpr(term) -> Format.fprintf fmt "SPexpr(%a)" pp_term term
diff --git a/src/kernel_services/ast_printing/logic_print.ml b/src/kernel_services/ast_printing/logic_print.ml
index 9509cb045c44331814e5fa1af17e9fa7769da74f..f0aeef687bad114badea91a4fd70bc0170de689e 100644
--- a/src/kernel_services/ast_printing/logic_print.ml
+++ b/src/kernel_services/ast_printing/logic_print.ml
@@ -453,10 +453,6 @@ let print_spec fmt spec =
 let print_loop_pragma fmt p =
   match p with
     Unroll_specs l -> fprintf fmt "UNROLL@ %a" (pp_list ~sep:",@ " print_lexpr) l
-  | Widen_hints l ->
-    fprintf fmt "WIDEN_HINTS@ %a" (pp_list ~sep:",@ " print_lexpr) l
-  | Widen_variables l ->
-    fprintf fmt "WIDEN_VARIABLES@ %a" (pp_list ~sep:",@ " print_lexpr) l
 
 let print_slice_pragma fmt p =
   match p with
diff --git a/src/kernel_services/ast_queries/ast_diff.ml b/src/kernel_services/ast_queries/ast_diff.ml
index 58fe0aa05cd35e230ab82958356a766b3c2961f3..35206eb8bd56bf238238d2225f58100c2b6d0f43 100644
--- a/src/kernel_services/ast_queries/ast_diff.ml
+++ b/src/kernel_services/ast_queries/ast_diff.ml
@@ -702,11 +702,7 @@ and is_same_variant (v,m) (v',m') env =
 
 and is_same_loop_pragma p p' env =
   match p, p' with
-  | Unroll_specs l, Unroll_specs l'
-  | Widen_hints l, Widen_hints l'
-  | Widen_variables l, Widen_variables l' ->
-    is_same_list is_same_term l l' env
-  | (Unroll_specs _ | Widen_hints _ | Widen_variables _), _ -> false
+  | Unroll_specs l, Unroll_specs l' -> is_same_list is_same_term l l' env
 
 and is_same_slice_pragma p p' env =
   match p, p' with
diff --git a/src/kernel_services/ast_queries/cil.ml b/src/kernel_services/ast_queries/cil.ml
index 891b2fb3a4be7fafa4dad423808b06e8dae0d002..7eb80e74d5a03dbb1bf3bb1771ae9c88a7adc34e 100644
--- a/src/kernel_services/ast_queries/cil.ml
+++ b/src/kernel_services/ast_queries/cil.ml
@@ -2049,10 +2049,6 @@ and childrenLoopPragma vis p =
   match p with
   | Unroll_specs lt -> let lt' = mapNoCopy (visitCilTerm vis) lt in
     if lt' != lt then Unroll_specs lt' else p
-  | Widen_hints lt -> let lt' = mapNoCopy (visitCilTerm vis) lt in
-    if lt' != lt then Widen_hints lt' else p
-  | Widen_variables lt -> let lt' = mapNoCopy (visitCilTerm vis) lt in
-    if lt' != lt then Widen_variables lt' else p
 
 and childrenModelInfo vis m =
   let field_type = visitCilLogicType vis m.mi_field_type in
diff --git a/src/kernel_services/ast_queries/logic_typing.ml b/src/kernel_services/ast_queries/logic_typing.ml
index 3377cdbb68d9e20a77b0aecff2ded641130ea2be..9c5eddcfe4c9e0491a19a30ddcb18c113e06fb6b 100644
--- a/src/kernel_services/ast_queries/logic_typing.ml
+++ b/src/kernel_services/ast_queries/logic_typing.ml
@@ -3632,29 +3632,9 @@ struct
 
   let plain_logic_type loc env t = logic_type (base_ctxt env) loc env t
 
-  (* For Widen_hints and Widen_variables, we check that the arguments of the
-     pragma can be understood later. Keep this code synchronized with
-     src/plugins/eva/utils/widen.ml. *)
   let loop_pragma env p =
-    let accept_int = function
-        { term_node = TConst (Integer _)} -> true | _ -> false
-    in
-    let accept_var = function
-        { term_node = TLval (TVar {lv_origin = Some _}, _)} -> true | _ -> false
-    in
-    (* fail when the translation of [p] does not verify the predicate [accept]*)
-    let term_accept accept p =
-      let t = term env p in
-      if not (accept t) then
-        C.error t.term_loc "invalid pragma '%a'" Cil_printer.pp_term t;
-      t
-    in
     match p with
     | Unroll_specs l -> Cil_types.Unroll_specs (List.map (term env) l)
-    | Widen_variables l -> Cil_types.Widen_variables (List.map (term_accept accept_var) l)
-    | Widen_hints l ->
-      let accept t = accept_int t || accept_var t in
-      Cil_types.Widen_hints (List.map (term_accept accept) l)
 
   let model_annot loc ti =
     let env = Lenv.empty() in
diff --git a/src/kernel_services/ast_queries/logic_utils.ml b/src/kernel_services/ast_queries/logic_utils.ml
index cd74caa5993ca4a66e9c79f9fa9ec10fd9d103d1..6846b6e71144681376f1988aae766b0a4376282a 100644
--- a/src/kernel_services/ast_queries/logic_utils.ml
+++ b/src/kernel_services/ast_queries/logic_utils.ml
@@ -1179,9 +1179,6 @@ let is_same_logic_type_info t1 t2 =
 let is_same_loop_pragma p1 p2 =
   match p1,p2 with
     Unroll_specs l1, Unroll_specs l2 -> is_same_list is_same_term l1 l2
-  | Widen_hints l1, Widen_hints l2 -> is_same_list is_same_term l1 l2
-  | Widen_variables l1, Widen_variables l2 -> is_same_list is_same_term l1 l2
-  | (Unroll_specs _ | Widen_hints _ | Widen_variables _), _ -> false
 
 let is_same_slice_pragma p1 p2 =
   match p1,p2 with
@@ -2302,7 +2299,7 @@ let is_trivial_annotation a =
     -> false
 
 let is_property_pragma = function
-  | Loop_pragma (Unroll_specs _ | Widen_hints _ | Widen_variables _)
+  | Loop_pragma (Unroll_specs _)
   | Slice_pragma (SPexpr _ | SPctrl | SPstmt)
   | Impact_pragma (IPexpr _ | IPstmt) -> false
 (* If at some time a pragma becomes something which should be proven,
diff --git a/src/kernel_services/parsetree/logic_ptree.ml b/src/kernel_services/parsetree/logic_ptree.ml
index 0dfa48308069b1bc63f3554dbec3bb165539da0e..d123c416326462beb7a280287382364b46fe7872 100644
--- a/src/kernel_services/parsetree/logic_ptree.ml
+++ b/src/kernel_services/parsetree/logic_ptree.ml
@@ -323,8 +323,6 @@ type spec = {
 
 type loop_pragma =
   | Unroll_specs of lexpr list
-  | Widen_hints of lexpr list
-  | Widen_variables of lexpr list
 
 (** Pragmas for the slicing plugin of Frama-C. *)
 and slice_pragma =
diff --git a/src/plugins/eva/utils/widen.ml b/src/plugins/eva/utils/widen.ml
index 0394740c78769e2c9e72380ad634fc33ce81575a..f4caa9f5a6efd427cf6b2f9c33305a78ab0900e7 100644
--- a/src/plugins/eva/utils/widen.ml
+++ b/src/plugins/eva/utils/widen.ml
@@ -57,7 +57,7 @@ let update_global_hints new_hints =
   let hints = Widen_type.join (Global_Static_Hints.get ()) new_hints in
   Global_Static_Hints.set hints;
 
-class pragma_widen_visitor init_widen_hints init_enclosing_loops = object(self)
+class widen_visitor init_widen_hints init_enclosing_loops = object(self)
   inherit Visitor.frama_c_inplace
 
   val widen_hints = init_widen_hints
@@ -69,70 +69,17 @@ class pragma_widen_visitor init_widen_hints init_enclosing_loops = object(self)
     then update_global_hints new_hints
     else widen_hints := Widen_type.join new_hints !widen_hints
 
-  method private add_float_thresholds ?base float_thresholds =
-    let new_hints = Widen_type.float_hints None base float_thresholds in
-    if Option.fold ~none:false ~some:Base.is_global base
-    then update_global_hints new_hints
-    else widen_hints := Widen_type.join new_hints !widen_hints
-
   method private add_var_hints ~stmt hints =
     widen_hints := Widen_type.join (Widen_type.var_hints stmt hints) !widen_hints
 
-  method private process_loop_pragma stmt p =
-    match p with
-    | Widen_variables l -> begin
-        let f (lv, lt) t = match t with
-          | { term_node= TLval (TVar {lv_origin = Some vi}, _)} ->
-            (Base.Set.add (Base.of_varinfo vi) lv, lt)
-          | _ -> (lv, t::lt)
-        in
-        match List.fold_left f (Base.Set.empty, []) l with
-        | (var_hints, []) ->
-          (* the annotation is empty or contains only variables *)
-          self#add_var_hints ~stmt var_hints
-        | (_lv, _lt) ->
-          Self.warning ~once:true
-            "could not interpret loop pragma relative to widening variables"
-      end
-    | Widen_hints l -> begin
-        let f (lv, lint, lfloat, lt) t = match t with
-          | { term_node= TLval (TVar { lv_origin = Some vi}, _)} ->
-            (Base.of_varinfo vi :: lv, lint, lfloat, lt)
-          | { term_node= TConst (Integer(v,_))} ->
-            (lv, IntSet.add v lint, lfloat, lt)
-          | _ ->
-            match constFoldTermToReal t.term_node with
-            | Some f -> (lv, lint, FloatSet.add f lfloat, lt)
-            | None -> (lv, lint, lfloat, t::lt)
-        in
-        match List.fold_left f ([], IntSet.empty, FloatSet.empty, []) l with
-        | (vars, int_thresholds, float_thresholds, []) ->
-          (* the annotation is empty or contains only variables *)
-          if vars = [] then begin
-            self#add_int_thresholds int_thresholds;
-            self#add_float_thresholds float_thresholds
-          end else
-            List.iter (fun base ->
-                self#add_int_thresholds ~base int_thresholds;
-                self#add_float_thresholds ~base float_thresholds;
-              ) vars
-        | _ ->
-          Self.warning ~once:true
-            "could not interpret loop pragma relative to widening hint"
-      end
-    | _ -> ()
-
   method! vstmt (s:stmt) =
     match s.skind with
     | Loop (_, bl, _, _, _) -> begin
         (* ZZZ: this code does not handle loops that are created using gotos. We
            could improve this by finding the relevant statements using a
            traversal of the CFG. *)
-        let annot = Annotations.code_annot s in
-        let pragmas = Logic_utils.extract_loop_pragma annot in
-        List.iter (self#process_loop_pragma s) pragmas;
         let new_loop_info = s :: enclosing_loops in
-        let visitor = new pragma_widen_visitor widen_hints new_loop_info in
+        let visitor = new widen_visitor widen_hints new_loop_info in
         ignore (Visitor.visitFramacBlock visitor bl);
         Cil.SkipChildren (* Otherwise the inner statements are visited multiple
                             times needlessly *)
@@ -408,7 +355,7 @@ let compute_global_static_hints () =
 
 let per_function_static_hints fdec =
   let widen_hints = ref Widen_type.empty in
-  let visitor_pragma = new pragma_widen_visitor widen_hints [] in
+  let visitor_pragma = new widen_visitor widen_hints [] in
   ignore (Visitor.visitFramacFunction visitor_pragma fdec);
   let visitor_local = new hints_visitor widen_hints false in
   ignore (Visitor.visitFramacFunction visitor_local fdec);
diff --git a/tests/slicing/loops.i b/tests/slicing/loops.i
index 6b6ffcb301940eff3177b26a0915af06a0d4c488..bd7f5dc7b9a1dfab04bd50d4462e762751469cf9 100644
--- a/tests/slicing/loops.i
+++ b/tests/slicing/loops.i
@@ -173,7 +173,7 @@ int X, Y, Z ;
 void loop (int cond) {
   if (cond) {
     int c = 0 ;
-    /*@ loop pragma WIDEN_HINTS X, 10, 100 ; */ while (1) {
+    while (1) {
       //@ slice pragma ctrl ;
       if (c) {
         X++;
diff --git a/tests/slicing/oracle/adpcm.res.oracle b/tests/slicing/oracle/adpcm.res.oracle
index a8be5b40a15dafe92bf571d5b5369d8f63effbe8..d064224755afa3c264138d1ff4795db2f1dc9feb 100644
--- a/tests/slicing/oracle/adpcm.res.oracle
+++ b/tests/slicing/oracle/adpcm.res.oracle
@@ -1531,6 +1531,7 @@ Slicing project worklist [default] =
 [pdg] computing for function logscl
 [pdg] done for function logscl
 [slicing] applying actions: 3/3...
+[slicing] tests/test/adpcm.c:607: Warning: Dropping unsupported ACSL annotation
 [sparecode] remove unused global declarations from project 'Sliced code tmp'
 [sparecode] removed unused global declarations in new project 'Sliced code'
 /* Generated by Frama-C */
@@ -2070,8 +2071,7 @@ void main(void)
 {
   int i;
   i = 0;
-  /*@ loop pragma UNROLL 11;
-      loop pragma WIDEN_HINTS 32767; */
+  /*@ loop pragma UNROLL 11; */
   while (i < 10) {
     encode_slice_1(test_data[i],test_data[i + 1]);
     i += 2;
diff --git a/tests/slicing/oracle/loops.10.res.oracle b/tests/slicing/oracle/loops.10.res.oracle
index 7ba1874acead31fd20c084a227d3c52fa55f6fac..45eccd8972e154ec7617ee9096d5175e2fc93cac 100644
--- a/tests/slicing/oracle/loops.10.res.oracle
+++ b/tests/slicing/oracle/loops.10.res.oracle
@@ -62,12 +62,10 @@
 [sparecode] remove unused global declarations from project 'Slicing export tmp'
 [sparecode] removed unused global declarations in new project 'Slicing export'
 /* Generated by Frama-C */
-int X;
 void loop_slice_1(void)
 {
   {
     int c;
-    /*@ loop pragma WIDEN_HINTS X, 10, 100; */
     while (1) {
       /*@ slice pragma ctrl; */ ;
       c = 1;
diff --git a/tests/slicing/oracle/loops.12.res.oracle b/tests/slicing/oracle/loops.12.res.oracle
index 2c137bfaa618dedb48af0d5cfed9c4b4ba115d4e..c37d8ec3ed854e405b20549e5ffa1785801170e4 100644
--- a/tests/slicing/oracle/loops.12.res.oracle
+++ b/tests/slicing/oracle/loops.12.res.oracle
@@ -37,14 +37,12 @@
 [sparecode] remove unused global declarations from project 'Slicing export tmp'
 [sparecode] removed unused global declarations in new project 'Slicing export'
 /* Generated by Frama-C */
-int X;
 int Y;
 int Z;
 void loop(int cond)
 {
   if (cond) {
     int c = 0;
-    /*@ loop pragma WIDEN_HINTS X, 10, 100; */
     while (1) {
       /*@ slice pragma ctrl; */ ;
       if (c) Y = Z;
diff --git a/tests/slicing/oracle/loops.13.res.oracle b/tests/slicing/oracle/loops.13.res.oracle
index c9ea2a26e605dedf95cec73b63722fcb776d90a5..19f0f0820f6248d904aa53a0a04e82b6bada7235 100644
--- a/tests/slicing/oracle/loops.13.res.oracle
+++ b/tests/slicing/oracle/loops.13.res.oracle
@@ -37,14 +37,12 @@
 [sparecode] remove unused global declarations from project 'Slicing export tmp'
 [sparecode] removed unused global declarations in new project 'Slicing export'
 /* Generated by Frama-C */
-int X;
 int Y;
 int Z;
 void loop(int cond)
 {
   if (cond) {
     int c = 0;
-    /*@ loop pragma WIDEN_HINTS X, 10, 100; */
     while (1) {
       /*@ slice pragma ctrl; */ ;
       if (c) Y = Z;
diff --git a/tests/slicing/oracle/loops.21.res.oracle b/tests/slicing/oracle/loops.21.res.oracle
index 8636ad07b17046ce79ca5ca1ab0eb519c01bf81c..060ea45f1d6604803fb3050b1fa840d9ee578064 100644
--- a/tests/slicing/oracle/loops.21.res.oracle
+++ b/tests/slicing/oracle/loops.21.res.oracle
@@ -72,7 +72,6 @@ void loop_slice_1(void)
 {
   {
     int c = 0;
-    /*@ loop pragma WIDEN_HINTS X, 10, 100; */
     while (1) {
       /*@ slice pragma ctrl; */ ;
       if (c) Y = Z;
diff --git a/tests/slicing/oracle/loops.22.res.oracle b/tests/slicing/oracle/loops.22.res.oracle
index 3313fbc32d943908d3b6701ed97fdd379ff18096..9b53131b45d7694bd90cdce58f315e9bba6405cb 100644
--- a/tests/slicing/oracle/loops.22.res.oracle
+++ b/tests/slicing/oracle/loops.22.res.oracle
@@ -72,7 +72,6 @@ void loop_slice_1(void)
 {
   {
     int c = 0;
-    /*@ loop pragma WIDEN_HINTS X, 10, 100; */
     while (1) {
       /*@ slice pragma ctrl; */ ;
       if (c) Y = Z;
diff --git a/tests/slicing/oracle/loops.9.res.oracle b/tests/slicing/oracle/loops.9.res.oracle
index a2caa35921cfccd62af77a1b13f943464086f2cd..b5fcf07545c01ddca66358df26b66993a5833357 100644
--- a/tests/slicing/oracle/loops.9.res.oracle
+++ b/tests/slicing/oracle/loops.9.res.oracle
@@ -62,10 +62,8 @@
 [sparecode] remove unused global declarations from project 'Slicing export tmp'
 [sparecode] removed unused global declarations in new project 'Slicing export'
 /* Generated by Frama-C */
-int X;
 void loop_slice_1(void)
 {
-  /*@ loop pragma WIDEN_HINTS X, 10, 100; */
   while (1) 
     /*@ slice pragma ctrl; */ ;
   return;
diff --git a/tests/test/adpcm.c b/tests/test/adpcm.c
index 8fa00fc7aef5f28aa567dede0c341b635f7b14d6..0c8d7e005050cd9ac08c833ebc83666d3bebd5fb 100644
--- a/tests/test/adpcm.c
+++ b/tests/test/adpcm.c
@@ -603,7 +603,7 @@ int compressed[10]={0};
 void main () //(int test_data[10], int compressed[10])
 {
   int i;
-  /*@ loop pragma UNROLL 11; loop pragma WIDEN_HINTS 32767; */   /* Better bounds:    loop invariant detl <= 32064; loop invariant nbh <= 22528; loop invariant nbl <= 18432; */
+  /*@ loop pragma UNROLL 11; loop widen_hints "all", 32767; */   /* Better bounds:    loop invariant detl <= 32064; loop invariant nbh <= 22528; loop invariant nbl <= 18432; */
   for(i = 0 ; i < 10 ; i += 2)
     compressed[i/2] = encode(test_data[i],test_data[i+1]);
 
diff --git a/tests/value/loop_wvar.i b/tests/value/loop_wvar.i
index 892c3948c3b14d244e7ff27e122adeb37a1ed8ad..2e15f918229a722cfc1e1e4b950f24e001241964 100644
--- a/tests/value/loop_wvar.i
+++ b/tests/value/loop_wvar.i
@@ -9,9 +9,6 @@
 void main(void)
 { int n = 13;
   int i,j;
-// ceci était une annotation, mais on ne fait pas moins bien sans
-// maintenant:
-// loop pragma WIDEN_VARIABLES i;
   /*@ loop widen_hints i, 12, 13; */
   for (i=0; i<n; i++)
     {
@@ -35,7 +32,6 @@ void main_err1(void)
 void main_err2(void)
 { int n = 13;
   int i,j;
-  /*@ loop pragma WIDEN_VARIABLES 12; */
   for (i=0; i<n; i++)
     {
       j = 4 * i + 7;
@@ -48,7 +44,7 @@ void main_unhelpful () {
   int next = 0;
   int i;
 
-/*@ loop widen_hints next, 24; */ // This pragma is unhelpful, but used to interfere with the bound for i.
+/*@ loop widen_hints next, 24; */ // This hint is unhelpful, but used to interfere with the bound for i.
   for (i=0;i<30;i++) {
     int vsize = max;
     int vnext = next;
diff --git a/tests/value/oracle/loop_wvar.0.res.oracle b/tests/value/oracle/loop_wvar.0.res.oracle
index 26226e60686687c151d18c486b3720d62240eb42..e68a02c1d640c38b4a50754cf740d29700306e64 100644
--- a/tests/value/oracle/loop_wvar.0.res.oracle
+++ b/tests/value/oracle/loop_wvar.0.res.oracle
@@ -4,7 +4,7 @@
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] loop_wvar.i:16: starting to merge loop iterations
+[eva] loop_wvar.i:13: starting to merge loop iterations
 [eva] Recording results for main
 [eva] Done for function main
 [eva] ====== VALUES COMPUTED ======
@@ -13,14 +13,12 @@
   i ∈ [13..2147483647]
   j ∈ [7..55],3%4 or UNINITIALIZED
 [kernel] Parsing loop_wvar.i (no preprocessing)
-[kernel:annot-error] loop_wvar.i:38: Warning: 
-  invalid pragma '12'. Ignoring loop annotation
 [eva] Analyzing a complete application starting at main
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] loop_wvar.i:16: starting to merge loop iterations
+[eva] loop_wvar.i:13: starting to merge loop iterations
 [eva] Recording results for main
 [eva] Done for function main
 [eva] ====== VALUES COMPUTED ======
diff --git a/tests/value/oracle/loop_wvar.1.res.oracle b/tests/value/oracle/loop_wvar.1.res.oracle
index 2746763959e4c6a93f4fa969b654d2f6782347fb..edafe26a894ece635030e2ddc5c581b4b1e5f0b7 100644
--- a/tests/value/oracle/loop_wvar.1.res.oracle
+++ b/tests/value/oracle/loop_wvar.1.res.oracle
@@ -1,29 +1,27 @@
 [kernel] Parsing loop_wvar.i (no preprocessing)
-[kernel:annot-error] loop_wvar.i:38: Warning: 
-  invalid pragma '12'. Ignoring loop annotation
 [eva] Analyzing a complete application starting at main3
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
 [eva] computing for function main_unhelpful <- main3.
-  Called from loop_wvar.i:84.
-[eva] loop_wvar.i:52: starting to merge loop iterations
-[eva:alarm] loop_wvar.i:57: Warning: 
+  Called from loop_wvar.i:80.
+[eva] loop_wvar.i:48: starting to merge loop iterations
+[eva:alarm] loop_wvar.i:53: Warning: 
   signed overflow. assert next + 1 ≤ 2147483647;
 [eva] Recording results for main_unhelpful
 [eva] Done for function main_unhelpful
 [eva] computing for function main_multiple_hints <- main3.
-  Called from loop_wvar.i:85.
-[eva] loop_wvar.i:71: Frama_C_show_each: {0}, {0}, {0}
-[eva] loop_wvar.i:69: starting to merge loop iterations
-[eva] loop_wvar.i:71: Frama_C_show_each: {0; 1}, {0; 1}, {0; 1}
-[eva] loop_wvar.i:71: Frama_C_show_each: {0; 1; 2}, {0; 1; 2}, {0; 1; 2}
-[eva] loop_wvar.i:71: Frama_C_show_each: [0..9], {0; 1; 2; 3}, {0; 1; 2; 3}
-[eva] loop_wvar.i:71: 
+  Called from loop_wvar.i:81.
+[eva] loop_wvar.i:67: Frama_C_show_each: {0}, {0}, {0}
+[eva] loop_wvar.i:65: starting to merge loop iterations
+[eva] loop_wvar.i:67: Frama_C_show_each: {0; 1}, {0; 1}, {0; 1}
+[eva] loop_wvar.i:67: Frama_C_show_each: {0; 1; 2}, {0; 1; 2}, {0; 1; 2}
+[eva] loop_wvar.i:67: Frama_C_show_each: [0..9], {0; 1; 2; 3}, {0; 1; 2; 3}
+[eva] loop_wvar.i:67: 
   Frama_C_show_each: [0..9], {0; 1; 2; 3; 4}, {0; 1; 2; 3; 4}
-[eva] loop_wvar.i:71: Frama_C_show_each: [0..9], [0..17], [0..11]
-[eva] loop_wvar.i:71: Frama_C_show_each: [0..9], [0..18], [0..12]
+[eva] loop_wvar.i:67: Frama_C_show_each: [0..9], [0..17], [0..11]
+[eva] loop_wvar.i:67: Frama_C_show_each: [0..9], [0..18], [0..12]
 [eva] Recording results for main_multiple_hints
 [eva] Done for function main_multiple_hints
 [eva] Recording results for main3
diff --git a/tests/value/oracle/loop_wvar.2.res.oracle b/tests/value/oracle/loop_wvar.2.res.oracle
index 709713eeae91d6c6eb02365c88d84b047a8a76d1..082af63bc9572d3b7e369c66975f441426ae5a62 100644
--- a/tests/value/oracle/loop_wvar.2.res.oracle
+++ b/tests/value/oracle/loop_wvar.2.res.oracle
@@ -1,12 +1,10 @@
 [kernel] Parsing loop_wvar.i (no preprocessing)
-[kernel:annot-error] loop_wvar.i:38: Warning: 
-  invalid pragma '12'. Ignoring loop annotation
 [eva] Analyzing a complete application starting at main_err1
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] loop_wvar.i:27: starting to merge loop iterations
+[eva] loop_wvar.i:24: starting to merge loop iterations
 [eva] Recording results for main_err1
 [eva] Done for function main_err1
 [eva] ====== VALUES COMPUTED ======
diff --git a/tests/value/oracle/loop_wvar.3.res.oracle b/tests/value/oracle/loop_wvar.3.res.oracle
index 6f76e0e4fa90d798cf3cdd5fc9aefadc926abda5..720baa6ea243d944f3b86c78fcb31a2d5cad0152 100644
--- a/tests/value/oracle/loop_wvar.3.res.oracle
+++ b/tests/value/oracle/loop_wvar.3.res.oracle
@@ -1,12 +1,10 @@
 [kernel] Parsing loop_wvar.i (no preprocessing)
-[kernel:annot-error] loop_wvar.i:38: Warning: 
-  invalid pragma '12'. Ignoring loop annotation
 [eva] Analyzing a complete application starting at main_err2
 [eva] Computing initial state
 [eva] Initial state computed
 [eva:initial-state] Values of globals at initialization
   
-[eva] loop_wvar.i:39: starting to merge loop iterations
+[eva] loop_wvar.i:35: starting to merge loop iterations
 [eva] Recording results for main_err2
 [eva] Done for function main_err2
 [eva] ====== VALUES COMPUTED ======
diff --git a/tests/value/oracle_apron/loop_wvar.1.res.oracle b/tests/value/oracle_apron/loop_wvar.1.res.oracle
index cdc969cce79a93ee24afdb37631ea544a1dee65d..33e7e93d67390e20559632cbd7f5eef7ca1a562c 100644
--- a/tests/value/oracle_apron/loop_wvar.1.res.oracle
+++ b/tests/value/oracle_apron/loop_wvar.1.res.oracle
@@ -1,18 +1,18 @@
-12,13d11
-< [eva:alarm] loop_wvar.i:57: Warning: 
+10,11d9
+< [eva:alarm] loop_wvar.i:53: Warning: 
 <   signed overflow. assert next + 1 ≤ 2147483647;
-25,26c23
-< [eva] loop_wvar.i:71: Frama_C_show_each: [0..9], [0..17], [0..11]
-< [eva] loop_wvar.i:71: Frama_C_show_each: [0..9], [0..18], [0..12]
+23,24c21
+< [eva] loop_wvar.i:67: Frama_C_show_each: [0..9], [0..17], [0..11]
+< [eva] loop_wvar.i:67: Frama_C_show_each: [0..9], [0..18], [0..12]
 ---
-> [eva] loop_wvar.i:71: Frama_C_show_each: [0..9], [0..9], [0..9]
-35,36c32,33
+> [eva] loop_wvar.i:67: Frama_C_show_each: [0..9], [0..9], [0..9]
+33,34c30,31
 <   j ∈ [0..18]
 <   k ∈ [0..12]
 ---
 >   j ∈ [0..17]
 >   k ∈ [0..11]
-39c36
+37c34
 <   next ∈ [0..2147483647]
 ---
 >   next ∈ [0..25]
diff --git a/tests/value/oracle_gauges/loop_wvar.1.res.oracle b/tests/value/oracle_gauges/loop_wvar.1.res.oracle
index 7920ef36bc252e10cd5bd47384f8680831e836bf..6eddd73a4dafcd87f275613ae16dd4413139168e 100644
--- a/tests/value/oracle_gauges/loop_wvar.1.res.oracle
+++ b/tests/value/oracle_gauges/loop_wvar.1.res.oracle
@@ -1,9 +1,9 @@
-25,26c25
-< [eva] loop_wvar.i:71: Frama_C_show_each: [0..9], [0..17], [0..11]
-< [eva] loop_wvar.i:71: Frama_C_show_each: [0..9], [0..18], [0..12]
+23,24c23
+< [eva] loop_wvar.i:67: Frama_C_show_each: [0..9], [0..17], [0..11]
+< [eva] loop_wvar.i:67: Frama_C_show_each: [0..9], [0..18], [0..12]
 ---
-> [eva] loop_wvar.i:71: Frama_C_show_each: [0..9], [0..9], [0..9]
-35,36c34,35
+> [eva] loop_wvar.i:67: Frama_C_show_each: [0..9], [0..9], [0..9]
+33,34c32,33
 <   j ∈ [0..18]
 <   k ∈ [0..12]
 ---
diff --git a/tests/value/oracle_octagon/loop_wvar.1.res.oracle b/tests/value/oracle_octagon/loop_wvar.1.res.oracle
index e88a9b98afba1b6cc723bae582a2c626fd005f55..402004713bdf960e211f87cbb2b622b800ecd27f 100644
--- a/tests/value/oracle_octagon/loop_wvar.1.res.oracle
+++ b/tests/value/oracle_octagon/loop_wvar.1.res.oracle
@@ -1,7 +1,7 @@
-12,13d11
-< [eva:alarm] loop_wvar.i:57: Warning: 
+10,11d9
+< [eva:alarm] loop_wvar.i:53: Warning: 
 <   signed overflow. assert next + 1 ≤ 2147483647;
-39c37
+37c35
 <   next ∈ [0..2147483647]
 ---
 >   next ∈ [0..25]