summaryrefslogtreecommitdiffstats
path: root/generic/tclStrToD.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2021-01-11 08:23:48 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2021-01-11 08:23:48 (GMT)
commitb61dbff448d4ccad302a205fa518de3af09fa7ea (patch)
treeb9879bd057ba95da843216563b8a0234418648a1 /generic/tclStrToD.c
parent4e3cd053dbb7487dfdf2e93f5151d9bdd5f9865e (diff)
downloadtcl-b61dbff448d4ccad302a205fa518de3af09fa7ea.zip
tcl-b61dbff448d4ccad302a205fa518de3af09fa7ea.tar.gz
tcl-b61dbff448d4ccad302a205fa518de3af09fa7ea.tar.bz2
Make Tcl independent from exact definition of TCL_LL_MODIFIER. In tclStrToD.c we need an _exact_ 64-bit type, _at least_ 64-bit is not good enough here.
Diffstat (limited to 'generic/tclStrToD.c')
-rw-r--r--generic/tclStrToD.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/generic/tclStrToD.c b/generic/tclStrToD.c
index 7c1d779..7aee804 100644
--- a/generic/tclStrToD.c
+++ b/generic/tclStrToD.c
@@ -5251,23 +5251,23 @@ TclFormatNaN(
#else
union {
double dv;
- unsigned long long iv;
+ uint64_t iv;
} bitwhack;
bitwhack.dv = value;
if (n770_fp) {
bitwhack.iv = Nokia770Twiddle(bitwhack.iv);
}
- if (bitwhack.iv & (1ULL << 63)) {
- bitwhack.iv &= ~ (1ULL << 63);
+ if (bitwhack.iv & (UINT64_C(1) << 63)) {
+ bitwhack.iv &= ~ (UINT64_C(1) << 63);
*buffer++ = '-';
}
*buffer++ = 'N';
*buffer++ = 'a';
*buffer++ = 'N';
- bitwhack.iv &= ((1ULL) << 51) - 1;
+ bitwhack.iv &= ((UINT64_C(1)) << 51) - 1;
if (bitwhack.iv != 0) {
- sprintf(buffer, "(%" TCL_LL_MODIFIER "x)", bitwhack.iv);
+ sprintf(buffer, "(%" PRIx64 ")", bitwhack.iv);
} else {
*buffer = '\0';
}