let rec check_indir_label label d = match d with
| F.D1null | F.D1addr _ -> ()
| F.D1var (None, _v) -> (* TODO: this might be incorrect !*) ()
(* unsupported "indirect access at %a based on logical variable '%a' ?"
Clabels.pretty label pp_var v *)
| F.D1var (Some (_, l), _) ->
if label = l then ()
else unsupported "indirect access at %a of data at %a"
Clabels.pretty label Clabels.pretty l
| F.D1base e | F.D1indir e | F.D1proj (e, _) | F.D1depl (e, _)
| F.D1shift (e, _)
| F.D1mu (e, _, _) | F.D1muI (e, _, _)
| F.D1muRange (e, _) | F.D1muIrange (e, _)
-> check_indir_label label e