From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6132 invoked by alias); 12 Apr 2010 11:25:25 -0000 Mailing-List: contact archer-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: List-Id: Received: (qmail 6117 invoked by uid 22791); 12 Apr 2010 11:25:24 -0000 X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_LOW X-Spam-Check-By: sourceware.org Subject: Re: Patch for pascal-dynamic arrays From: Joost van der Sluis To: Jan Kratochvil Cc: Project Archer In-Reply-To: <1257630529.27675.26.camel@wsjoost.cnoc.lan> References: <1252939529.28930.33.camel@wsjoost.cnoc.lan> <20090916154453.GA23913@host0.dyn.jankratochvil.net> <1254326374.2755.14.camel@wsjoost.cnoc.lan> <20091004141705.GA18527@host0.dyn.jankratochvil.net> <1256751286.31305.24.camel@wsjoost.cnoc.lan> <20091030094726.GA29758@host0.dyn.jankratochvil.net> <1257630529.27675.26.camel@wsjoost.cnoc.lan> Content-Type: multipart/mixed; boundary="=-V8LJY5yUhCx+RpvZuN/W" Date: Mon, 12 Apr 2010 11:25:00 -0000 Message-Id: <1271071502.27845.15.camel@wsjoost.cnoc.lan> Mime-Version: 1.0 X-Language-Detected: en X-Spam-Scanned: InterNLnet Mail Scan System V2.03 X-SW-Source: 2010-q2/txt/msg00007.txt.bz2 --=-V8LJY5yUhCx+RpvZuN/W Content-Type: text/plain Content-Transfer-Encoding: 7bit Content-length: 2748 On Sat, 2009-11-07 at 22:48 +0100, Joost van der Sluis wrote: > On Fri, 2009-10-30 at 10:47 +0100, Jan Kratochvil wrote: Some time has passed, and to my suprise one of the problems got solved in the FSF-gdb head. (in cp-valprint.c) I have a new patch now that doesn't cause any regressions on my system, but fixes problems with pascal-dynamic arrays. The patch is attached, the changelog below. Any comments, improvements, suggestions? (patch is against the archer-jankratochvil-vla branch) 2010-04-12 Joost van der Sluis * tekhex.c (move_section_contents): implemented usage of offset parameter, which was always 0 but not anymore due to changes is val_print_array_elements * gdbtypes.c, gdbtypes.h (check_typedef, check_typedef_target) Added check_typedef_target which resolves the target type without doing a full check_typedef, so that the result still can be dynamic * p-valprint.c (pascal_val_print) Do not Handle arrays of integers as strings * p-valprint.c (pascal_val_print) When printing array-elements use the original passed type, and not one which is handled by check_typedef * p-valprint.c (pascal_val_print) Pass the embedded offset as a separate parameter to val_print_array_elements * arrays.exp New tests for arrays in fpc * pascal.exp Added variables fpcversion_major, fpcversion_minor and fpcversion_release with the version of the used compiler * valprint.c, valprint.h (val_print_array_elements) Added the embedded_offset parameter which is needed to calculate the the position of an element in the exterior * valprint.c (get_array_bounds) Use value_lower_bound and value_higher_bound to resolve array bounds * valprint.c (val_print_array_elements) Always calculate the amount of elements in an array by substracting the upper and lower bound * valprint.c (val_print_array_elements) For each element in the array, create a new struct value using value_data_address and check_typedef_target and print it using common_val_print, so that all elements are properly evaluated * value.c, value.h (struct value) Added value_data_address to struct value. Added the functions value_data_address and set_value_data_address * value.c, value.h (set_value_address) Use object_address_get_data to set value_data_addr * value.c, value.h (value_lower_bound, value_upper_bound) Added these functions to get the lower and upper bound of an value struct containing an array * ada-valprint.c (ada_val_print_array): Pass an embedded offset of 0 to val_print_array_elements * c-valprint.c (c_val_print): Pass the embedded offset as a separate parameter to val_print_array_elements * m2-valprint.c (m2_print_array_contents, m2_val_print): Pass the embedded offset as a separate parameter to val_print_array_elements --=-V8LJY5yUhCx+RpvZuN/W Content-Disposition: attachment; filename="dyn_array_patch.tgz" Content-Type: application/x-compressed-tar; name="dyn_array_patch.tgz" Content-Transfer-Encoding: base64 Content-length: 8484 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 eAAA --=-V8LJY5yUhCx+RpvZuN/W--