This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Manually tested under ia64-openvms. Tested under i686-linux, committed on mainline. IVMS is configured for 64bit pointers, but we to use 32bit memory allocation for now to get around some issues in VMS Starlet libraries. There are only four RTL routines that actually allocate new memory. malloc calloc realloc strdup and the 32 bit versions of these routines are used. There are lots of other pointer size dependent routines, and its vital to use the 64 bit versions of these routines as illustrated by this example { char *foo double dd; dd = strtod ("1.0hello", &foo); printf ("%s\n", foo); } If the 32 bit version of strtod() is used and the uninitialized foo pointer has garbage in the high order 32 bits, it will still have that garbage after the return from strtod() and subsequent use of the foo pointer will cause difficulty. 2005-03-17 Doug Rupp <rupp@adacore.com> * Makefile.in: (ia64-hp-*vms*): Use s-crtl-vms64.ads. * 5xcrtl.ads: Renamed to... * s-crtl-vms64.ads: ...this new file
Attachment:
difs.11
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |