> It's *not* VMS specific! DEC C 6.2 for Unix issues very similar warning.
But it looks like DEC has VMS specific reason to be nervous about the
matter. Consider the following code:
#pragma required_pointer_size save /* Save the previous pointer size */
#pragma required_pointer_size 64 /* Set pointer size to 64 bits */
typedef void *ptr_64; /* Define a 64-bit char pointer */
typedef void (*func_ptr64) ();
#pragma required_pointer_size restore /* Restore the pointer size */
main ()
{ printf ("%d%d%d%d\n",sizeof(void(*)()),sizeof(void *),
sizeof(func_64),sizeof(ptr_64));
}
It prints 4488! I.e. if program is compiled without /POINTER=64
command-line option:-) The worst is that it's possible to have say a
function returning 64-bit pointer in one module declared as function
returning 32-bit pointer in another module and link those modules
together... Well, it might still work as arguments are passed and
results returned through 64-bit register in either case, but the
potential is there. What would definitely break is a pointer to 64-bit
pointer vs. pointer to a 32-bit pointer, huh?
Further references:
http://www.digital.com/info/DTJM05/DTJM05HM.HTM
http://www.digital.com/info/DTJM06/DTJM06HM.HTM
Cheers. Andy.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]