diff --git a/src/plugins/rte/visit.ml b/src/plugins/rte/visit.ml index f75e2ce715ce303c7e0a7d2460a7214e280bdd7e..a5e8ad38578f28365e4d918436372992d73386f9 100644 --- a/src/plugins/rte/visit.ml +++ b/src/plugins/rte/visit.ml @@ -108,8 +108,14 @@ class annot_visitor kf flags on_alarm = object (self) method private generate_assertion: 'a. 'a Rte.alarm_gen -> 'a -> unit = fun fgen -> - let stmt = Extlib.the (self#current_stmt) in - let on_alarm ~invalid a = on_alarm stmt ~invalid a in + let curr_stmt = self#current_stmt in + let on_alarm ~invalid a = + match curr_stmt with + | None -> Options.warning ~current:true + "Alarm generated outside any statement:@ %a" + Alarms.pretty a + | Some stmt -> on_alarm stmt ~invalid a + in fgen ~remove_trivial:flags.Flags.remove_trivial ~on_alarm (* Do not visit variable declarations, as no alarm should be emitted here,