summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2002-01-24 20:34:49 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2002-01-24 20:34:49 (GMT)
commit2720d411cf7260e87ce6e6e641a576c57ef3e046 (patch)
tree16f082aba4b3ed3d112ea9b328975688754dcb94
parentcb09c58ac476c67cd1208b8cdc82cd5351f74f14 (diff)
downloadtcl-dkf_64bit_support_branch.zip
tcl-dkf_64bit_support_branch.tar.gz
tcl-dkf_64bit_support_branch.tar.bz2
Added test for meaning of tcl_platform(wordSize) dkf_64bit_support_branch
-rw-r--r--ChangeLog5
-rw-r--r--tests/platform.test11
2 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index b3b1b45..1300d0f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2002-01-24 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+
+ * tests/platform.test (platform-2.1): Added test to make sure that
+ the meaning of tcl_platform(wordSize) is what I think it is.
+
2001-12-02 Donal K. Fellows <fellowsd@cs.man.ac.uk>
* tests/platform.test (platform-1.1):
diff --git a/tests/platform.test b/tests/platform.test
index 288cc72..19001ee 100644
--- a/tests/platform.test
+++ b/tests/platform.test
@@ -25,6 +25,17 @@ test platform-1.1 {TclpSetVariables: tcl_platform} {
set result
} {byteOrder machine os osVersion platform user wordSize}
+# Test assumes twos-complement arithmetic, which is true of virtually
+# everything these days. Note that this does *not* use wide(), and
+# this is intentional since that could make Tcl's numbers wider than
+# the machine-integer on some platforms...
+test platform-2.1 {tcl_platform(wordSize) indicates size of native word} {
+ set result [expr {1 << (8 * $tcl_platform(wordSize) - 1)}]
+ # Result must be the largest bit in a machine word, which this checks
+ # without assuming how wide the word really is
+ list [expr {$result < 0}] [expr {$result ^ ($result - 1)}]
+} {1 -1}
+
# cleanup
::tcltest::cleanupTests
return