assert(var);
void* frame_base = mc_find_frame_base(subprogram, info, cursor);
- xbt_assert((void*)mc_dwarf_resolve_locations(&var->locations, info, cursor, frame_base, NULL, -1) == address,
+ s_mc_location_t location;
+
+ mc_dwarf_resolve_locations(&location,
+ &var->locations, info, cursor, frame_base, NULL, -1);
+
+ xbt_assert(mc_get_location_type(&location)==MC_LOCATION_TYPE_ADDRESS,
+ "Unexpected location type for variable %s of %s", variable, function);
+
+ xbt_assert(location.memory_location == address,
"Bad resolution of local variable %s of %s", variable, function);
}