Op zondag 07-06-2009 om 19:49 uur [tijdzone +0200], schreef Jan Kratochvil: > > Thereafter val_print_array_elements has to evaluate each element, by > > setting object-addres to the right pointer, and then evaluate the > length > > of the string, evaluate the length and copy it to the inferior... > > Yes, this is described in DWARF for DW_OP_push_object_address > This object may correspond to [...] a component of an array > [...] > whose address has been dynamically determined by an earlier > step > during user expression evaluation. > > > > I have this all working, > > Would you submit the patch to integrate it into > archer-jankratochvil-vla? I attached the patch. It always uses the bounds to decide how many elements there are, and when necessary each element in the array is evaluated seperately. To see if this is really neccessary to do, I test if TYPE_DATA_LOCATION_DWARF_BLOCK is set. I doubt if that is ok, but it works for my case. Also pascal_cal_print is adapted so that it does not call check_typedef on the type before it is passed to val_print_array_elements. Not all cases are fixed now, but most are. What do you think of the patch? Joost