From 90f5dc58a45745965ad96fa8abd246687c0e43e0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20B=C3=BChler?= <david.buhler@cea.fr>
Date: Fri, 17 May 2019 14:39:12 +0200
Subject: [PATCH] [rte] Do not visit variable declarations; fixes a crash.

---
 src/plugins/rte/visit.ml | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/plugins/rte/visit.ml b/src/plugins/rte/visit.ml
index 664c6cce892..f75e2ce715c 100644
--- a/src/plugins/rte/visit.ml
+++ b/src/plugins/rte/visit.ml
@@ -112,6 +112,11 @@ class annot_visitor kf flags on_alarm = object (self)
       let on_alarm ~invalid a = 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,
+     and there is no statement to emit an alarm anyway ([generate_assertion]
+     or [Alarms.register] would then crash). *)
+  method !vvdec _ = Cil.SkipChildren
+
   method! vstmt s = match s.skind with
     | UnspecifiedSequence l ->
       (* UnspecifiedSequences may contain lvals for side-effects, that
-- 
GitLab