diff options
author | dgp <dgp@users.sourceforge.net> | 2006-09-19 16:31:56 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2006-09-19 16:31:56 (GMT) |
commit | 5c8f1e3833d8c8fa8b70890bb850e7b0e87467ce (patch) | |
tree | c638d86665b7e5069974821aa3c8c4d3beaddc35 /tests | |
parent | cef8ab3d9470f2813b77dbcc19daa8e55fac98a2 (diff) | |
download | tcl-5c8f1e3833d8c8fa8b70890bb850e7b0e87467ce.zip tcl-5c8f1e3833d8c8fa8b70890bb850e7b0e87467ce.tar.gz tcl-5c8f1e3833d8c8fa8b70890bb850e7b0e87467ce.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].
Diffstat (limited to 'tests')
-rw-r--r-- | tests/expr.test | 8 |
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 |