and that fixed the limit constants problem. There are still more problems. After fixing the limit constants problem I got thisstatic char *right_b_error = "right-shift right operand is out +of bounds"; static char *right_error = "right shift overflows"; #ifndef INT64_MAX #define INT64_MAX _I64_MAX #endif #ifndef INT64_MIN #define INT64_MIN _I64_MIN #endif #ifndef UINT64_MAX #define UINT64_MAX _UI64_MAX #endif #ifndef UINT32_MAX #define UINT32_MAX _UI32_MAX #endif #include "strtoint64.h" #include "isaac64.h"
VC is complaining about these strange constants.Int64.c Int64.xs(254) : error C2059: syntax error : 'bad suffix on number' Int64.xs(254) : error C2146: syntax error : missing ')' before identif +ier 'p63' Int64.xs(254) : error C2144: syntax error : '<Unknown>' should be prec +eded by '< Unknown>' Int64.xs(254) : error C2144: syntax error : '<Unknown>' should be prec +eded by '< Unknown>' Int64.xs(254) : error C2143: syntax error : missing ')' before 'identi +fier' Int64.xs(254) : error C2059: syntax error : 'bad suffix on number' Int64.xs(255) : warning C4244: 'return' : conversion from 'NV' to 'int +64_t', pos sible loss of data Int64.xs(334) : error C2059: syntax error : 'bad suffix on number' Int64.xs(334) : error C2146: syntax error : missing ')' before identif +ier 'p64' Int64.xs(334) : error C2144: syntax error : '<Unknown>' should be prec +eded by '< Unknown>' Int64.xs(334) : error C2144: syntax error : '<Unknown>' should be prec +eded by '< Unknown>' Int64.xs(334) : error C2143: syntax error : missing ')' before 'identi +fier'
This isn't C89. http://msdn.microsoft.com/en-us/library/w9bk1wcy%28v=vs.80%29.aspx http://msdn.microsoft.com/en-us/library/2k2xf226%28v=vs.80%29. So this will never compile on Visual C unless its fixed. I don't know how to fix that myself. So what is 0x1p63 as a normal C literal?if (may_die_on_overflow && ((nv >= 0x1p63) || (nv < -0x1p63))) overflow(aTHX_ out +_of_bounds_error_s); return nv;
In reply to Re^8: supporting quads on 32 bit Perl
by bulk88
in thread supporting quads on 32 bit Perl
by bulk88
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |