From 9a3dc42cc5739730ba68521e31c1ecf9b7266fba Mon Sep 17 00:00:00 2001
From: Virgile Prevosto <virgile.prevosto@m4x.org>
Date: Tue, 5 Mar 2019 08:46:10 +0100
Subject: [PATCH] [typing] also mark address taken in case of StartOf

---
 src/kernel_internals/typing/cabs2cil.ml | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/src/kernel_internals/typing/cabs2cil.ml b/src/kernel_internals/typing/cabs2cil.ml
index 9ee2e6f4abd..b09617ac5eb 100644
--- a/src/kernel_internals/typing/cabs2cil.ml
+++ b/src/kernel_internals/typing/cabs2cil.ml
@@ -1193,15 +1193,12 @@ let mkAddrOfAndMark loc ((b, off) as lval) : exp =
   mkAddrOf ~loc lval
 
 (* Call only on arrays *)
-let mkStartOfAndMark loc ((_b, _off) as lval) : exp =
+let mkStartOfAndMark loc ((b, _off) as lval) : exp =
   (* Mark the vaddrof flag if b is a variable *)
-  (* Do not mark arrays as having their address taken.
-     (match b with
-     | Var vi -> vi.vaddrof <- true
-     | _ -> ());
-  *)
-  let res = new_exp ~loc (StartOf lval) in
-  res
+  (match b with
+   | Var vi -> vi.vaddrof <- true
+   | _ -> ());
+  new_exp ~loc (StartOf lval)
 
 (* Keep a set of self compinfo for composite types *)
 let compInfoNameEnv : (string, compinfo) H.t = H.create 113
-- 
GitLab