Tcl Source Code

View Ticket
Login
Ticket UUID: 1e15ed10213b7f948cd2302a8f8eaabc44ef4b27
Title: obj.test failures
Type: Bug Version: trunk
Submitter: emiliano Created on: 2014-02-18 21:34:57
Subsystem: 47. Bytecode Compiler Assigned To: dgp
Priority: 7 High Severity: Important
Status: Closed Last Modified: 2014-09-14 18:24:06
Resolution: Duplicate Closed By: dgp
    Closed on: 2014-09-14 18:24:06
Description:
Some tests in obj.test show failures on a 32 bit platform.
See http://pastebin.com/PQ1rhFKR

kbk on the tclers chat concluded is a compilation bug.

Testing in the shell (make shell)

% proc foo {x} {
    set class integer
    return [list [string is integer $x] [string is $class $x]]
}
% foo 0x80000000
0 1
User Comments: dgp added on 2014-09-14 18:24:06:
This ticket is a duplicate of

http://core.tcl.tk/tcl/info/e663138a06

Already fixed.

dkf added on 2014-09-14 11:08:50:

I don't have any platforms that I can test this on any more.


dkf added on 2014-09-14 10:45:29:

Contents of pastebin:

Warning: tclOOStubInit.c may be out of date.
Developers may want to run "make genstubs" to regenerate.
This warning can be safely ignored, do not report as a bug!
LD_LIBRARY_PATH=`pwd`:  TCLLIBPATH="/home/emiliano/src/fossil/tcl/unix/pkgs"  TCL_LIBRARY="/home/emiliano/src/fossil/tcl/library" ./tcltest /home/emiliano/src/fossil/tcl/tests/all.tcl -file obj.test
Tests running in interp:  /storage/progs/src/fossil/tcl/unix/tcltest
Tests located in:  /storage/progs/src/fossil/tcl/tests
Tests running in:  /storage/progs/src/fossil/tcl/unix
Temporary files stored in /storage/progs/src/fossil/tcl/unix
Test files run in separate interpreters
Running tests that match:  *
Skipping test files that match:  l.*.test
Only running test files that match:  obj.test
Tests began at Tue Feb 18 17:52:25 ART 2014
obj.test


==== obj-33.1 integer overflow on input FAILED
==== Contents of test case:

    set x 0x8000; append x 0000
    list [string is integer $x] [expr { wide($x) }]

---- Result was:
0 2147483648
---- Result should have been (exact matching):
1 2147483648
==== obj-33.1 FAILED



==== obj-33.2 integer overflow on input FAILED
==== Contents of test case:

    set x 0xffff; append x ffff
    list [string is integer $x] [expr { wide($x) }]

---- Result was:
0 4294967295
---- Result should have been (exact matching):
1 4294967295
==== obj-33.2 FAILED



==== obj-33.5 integer overflow on input FAILED
==== Contents of test case:

    set x -0x8000; append x 0001
    list [string is integer $x] [expr { wide($x) }]

---- Result was:
0 -2147483649
---- Result should have been (exact matching):
1 -2147483649
==== obj-33.5 FAILED



==== obj-33.6 integer overflow on input FAILED
==== Contents of test case:

    set x -0xffff; append x ffff
    list [string is integer $x] [expr { wide($x) }]

---- Result was:
0 -4294967295
---- Result should have been (exact matching):
1 -4294967295
==== obj-33.6 FAILED


Tests ended at Tue Feb 18 17:52:26 ART 2014
all.tcl:	Total	90	Passed	86	Skipped	0	Failed	4
Sourced 1 Test Files.
Files with failing tests: obj.test