summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authordgp <dgp@noemail.net>2006-09-19 16:31:56 (GMT)
committerdgp <dgp@noemail.net>2006-09-19 16:31:56 (GMT)
commit862f66c15b16e4d17b07c58c766ad02069b4d53c (patch)
treec638d86665b7e5069974821aa3c8c4d3beaddc35 /tests
parent4817e9c6e8a374a6cb441dceba14b853265d43a3 (diff)
downloadtcl-862f66c15b16e4d17b07c58c766ad02069b4d53c.zip
tcl-862f66c15b16e4d17b07c58c766ad02069b4d53c.tar.gz
tcl-862f66c15b16e4d17b07c58c766ad02069b4d53c.tar.bz2
* generic/tclExecute.c (INST_EXPON): Native type overflow detection
* tests/expr.test: was completely broken. Falling back on use of bignums for all non-trivial ** calculations until native-type-constrained special cases can be done carefully and correctly. [Bug 1561260]. FossilOrigin-Name: adcaa18a0d0cb480b3b872222c2cf5c63a4460a2
Diffstat (limited to 'tests')
-rw-r--r--tests/expr.test8
1 files changed, 7 insertions, 1 deletions
diff --git a/tests/expr.test b/tests/expr.test
index a26dc63..20ab38b 100644
--- a/tests/expr.test
+++ b/tests/expr.test
@@ -10,7 +10,7 @@
# See the file "license.terms" for information on usage and redistribution
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
#
-# RCS: @(#) $Id: expr.test,v 1.60 2006/09/11 04:54:12 dgp Exp $
+# RCS: @(#) $Id: expr.test,v 1.61 2006/09/19 16:31:57 dgp Exp $
if {[lsearch [namespace children] ::tcltest] == -1} {
package require tcltest 2.1
@@ -974,6 +974,12 @@ test expr-23.42 {INST_EXPON: overflow to big integer} {expr 4**32} [expr 1<<64]
test expr-23.43 {INST_EXPON: overflow to big integer} {expr 16**16} [expr 1<<64]
test expr-23.44 {INST_EXPON: overflow to big integer} {expr 256**8} [expr 1<<64]
test expr-23.45 {INST_EXPON: Bug 1555371} {expr 2**1} 2
+test expr-23.46 {INST_EXPON: Bug 1561260} -body {
+ expr 5**28
+} -match glob -result *5
+test expr-23.47 {INST_EXPON: Bug 1561260} {
+ expr 2**32*5**32
+} 1[string repeat 0 32]
# Some compilers get this wrong; ensure that we work around it correctly
test expr-24.1 {expr edge cases; shifting} {expr int(5)>>32} 0