usemallocwrap problems on IRIX (was Re: Problem and question)
[email protected] (Ed Allen Smith) Sat, 30 Oct 2004 01:43:41 -0400
| Newsgroups | perl.daily-build |
|---|---|
| Message-ID | <[email protected]> |
Oh, a couple bits of info:
size_t is an unsigned int if the size of a long is 32 bits (the case with
either -o32 or -n32). size_t is an unsigned long if the size of a long is 64
bits (the case with -64). (There isn't any integral (as opposed to floating
- long doubles) type larger than a size_t in a -64 bit compile, in other
words. On the other hand, there is a type larger than a size_t
available with a -n32 bit compile: long
long/__int64_t/__uint64_t/__long_long. Registers are 64 bits with -n32
compliations, as are some types like off_t.) On reading over the p5p
discussion earlier on this flag:
#include <stdio.h>
#include <stdlib.h>
#define WRAP_CHECK(n) ((n) > (size_t) ~0 ? "not " : "")
int main(void)
{
int i = 42;
unsigned u = 42;
printf("%sok, %sok\n", WRAP_CHECK(i), WRAP_CHECK(u));
return 0;
}
The above test program, which had demonstrated a complier bug in the Borland
C++ 5.5.1 complier, returns "ok, ok" on a cc -n32 compile on a (n)32-
machine; ditto on a cc -n32 compile on a 64-bit machine; ditto for cc -64;
ditto for cc -32, for that matter. So that doesn't appear to be it.
-Allen
--
Allen Smith http://cesario.rutgers.edu/easmith/
February 1, 2003 Space Shuttle Columbia
Ad Astra Per Aspera To The Stars Through Asperity