Re: Optimization for ..._MULTIPLY_LONG on more systems
| From: | Matt Wilmas | Date: | Fri, 10 Nov 2006 04:42:11 +0000 |
| Subject: | Re: Optimization for ..._MULTIPLY_LONG on more systems | ||
| References: | 1 2 3 4 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-26450@lists.php.net to get a copy of this message | ||
----- Original Message -----
From: "Stanislav Malyshev"
Sent: Thursday, November 09, 2006
> > Did it not work for you as-is on Windows...? It did for me, since it
seems
> > there's already a typedef for __int64 -> long long. I'd wondered the
same,
>
> I think some VC versions on windows don't know "long long" but do know
> __int64, but I don't remember from the top of my head which version, but
> I think maybe VC6 might have a problem with that. Otherwise looks fine,
> so if adjusted for VC6 it's OK.
I forgot to mention that I had seen this in main/config.w32.h:
/* MSVC.6/NET don't allow 'long long' or know 'intmax_t' */
#define SIZEOF_LONG_LONG_INT 0
#define SIZEOF_LONG_LONG 8 /* defined as __int64 */
SIZEOF_LONG_LONG was changed from 0 to 8 in v1.86 and the comment about
__int64 added. So, I also assumed "long long" could be used as-is because
of that. Why have SIZEOF as 8 if it's unusable...? It was changed to fix
Bug #34052, I know, but I wouldn't think it was just a "hack" to make it
non-zero -- especially with the __int64 comment.
But anyway, I'll leave it to the experts if the patch needs tweaking. ;-)
Matt