let compute_init_value mem vexp =
    match expr mem vexp with
      | Warning(source,reason) ->
          Datalib.Collector.add_warning ~source ~reason
            "Ignored r-value of initializer" ;
          raise SkipInit
      | Result value -> value