| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
more harm than good. Purged them.
|
| |
| |
| | |
more harm than good. Purged them.
|
| |
| |
| |
| | |
Added some test cases, adapted and backported from 8.5
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
tests that lead to correct result only on 32
bit long systems. [Bug 1341368]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix typo where number before rounding is
compared with smallest integer instead of
number after rounding. This fix does not
change the results of any tests.
* tests/expr.test: Add round() tests
for cases near the min and max int values.
* tests/util.test: Remove pointless
warning code about testobj command.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
[Bug 761471]
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
and added test cases for it.
|
| |
| |
| |
| | |
cases of [Bug 2798543].
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
* tests/expr.test (expr-47.13): a number's square root
is between n<<DIGIT_BIT and n<<DIGIT_BIT+1. [Bug 2143288]
Thanks to Malcolm Boffey (malcolm.boffey@virgin.net) for
the patch.
|
| |
| |
| |
| |
| |
| | |
* tests/expr.test: function and the [::tcl::mathfunc::abs]
command do not return the value of -0, or equivalent values with
more alarming string reps like -1e-350. [Bug 1893815].
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
zero strings passed as the "permissions" argument as octal numbers,
even if Tcl itself no longer parses integers in that way.
* unix/tclUnixFCmd.c: Revise the "-permissions" [file attribute] so
that it interprets leading zero strings as octal numbers, even if Tcl
itself no longer parses integers in that way.
* generic/tclCompExpr.c: Corrections to code that produces
* generic/tclUtil.c: extended "bad octal" error messages.
* tests/cmdAH.test: Test revisions so that tests pass whether or
* tests/cmdIL.test: not Tcl parses leading zero strings as octal.
* tests/compExpr-old.test:
* tests/compExpr.test:
* tests/compile.test:
* tests/expr-old.test:
* tests/expr.test:
* tests/incr.test:
* tests/io.test:
* tests/lindex.test:
* tests/link.test:
* tests/mathop.test:
* tests/parseExpr.test:
* tests/set.test:
* tests/string.test:
* tests/stringComp.test:
|
| |
| |
| |
| |
| |
| |
| | |
* tests/expr.test (expr-23.48-53) integer exponentiation
that results in 32- and 64-bit integer results, avoiding calls to
wide integer exponentiation routines in this common case.
[Bug 1767293]
|
| |
| |
| |
| | |
* tests/expr.test: to *SHIFT operations. [Bug 1770224].
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
* generic/tclParseExpr.c: Exponentiation operator is now
* tests/expr.test: right associative. [Patch 1556802]
|
| |
| |
| |
| |
| | |
* tests/expr.test: the sign of bignums when applying Tcl's
division rules. Thanks to Peter Spjuth. [Bug 1585704]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
global variables ::errorInfo, ::errorCode, ::env and
::tcl_platform: many were relying on the alternative lookup in the
global namespace, that feature is tested specifically in namespace
and variable tests.
The modified testfiles are: apply.test, basic.test, case.test,
cmdIL.test, cmdMZ.test, compExpr-old.test, error.test, eval.test,
event.test, expr.test, fileSystem.test, for.test, http.test,
if.test, incr-old.test, incr.test, interp.test, io.test,
ioCmd.test, load.test, misc.test, namespace.test, parse.test,
parseOld.test, pkg.test, proc-old.test, set.test, switch.test,
tcltest.test, thread.test, var.test, while-old.test, while.test.
|
| |
| |
| |
| |
| |
| |
| |
| | |
* tests/expr.test: calculation done to determine whether a
shift in the (long int) type is possible. The calculation had
literal value "1" where it needed a value "1L" to compute the
correct result. Error detected via testing with the
math::bigfloat package [Bug 1567222]
|
| |
| |
| |
| |
| |
| |
| | |
* 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].
|
| |
| |
| |
| | |
* tests/expr.test: $x**1 as $x**3. [Bug 1555371]
|
| |
| |
| |
| |
| |
| | |
* tests/expr.test: [Bug 1381715] are all new in Tcl 8.5, so
there's really no issue of compatibility with Tcl 8.4 result to
deal with. Fixed by updating tests to expect 8.5 results.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* tests/compExpr.test: with the new expr parser.
* tests/compile.test:
* tests/expr-old.test:
* tests/expr.test:
* tests/for.test:
* tests/if.test:
* tests/parseExpr.test:
* tests/while.test:
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* tests/compExpr.test: that depend on the exact format of the error
* tests/compile.test: messages of the pre-2006-07-05 expression
* tests/expr-old.test: parser. The constraint is on by default (i.e.
* tests/expr.test: those test still fail), but it can be turned
* tests/for.test: off by passing '-constraints newExprParser'
* tests/if.test: to tcltest, which will skip the 196 failing
* tests/parseExpr.test: tests in the testsuite that are caused by
* tests/while.test: the new expression parser error messages.
|
| |
| |
| |
| |
| | |
* tests/expr.test: INST_EXPON that caused [expr 2**64]
to return 0 instead of the same value as [expr 1<<64].
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
that builds a parse tree instead of operating with deep recursion.
This corrects reports of stack-blowing crashes parsing long
expressions [Bug 906201] and replaces a fundamentally O(N^2)
algorithm with an O(N) one [RFE 903765]. The new parser is better
able to generate error messages that clearly report both the nature
and context of the syntax error [Bugs 1029267, 1381715]. For now,
the code for the old parser is still present and can be activated
with a "#define OLD_EXPR_PARSER 1". This is for the sake of a clean
implementation patch, and for ease of benchmarking. The new parser
is non-recursive, so much lighter in stack consumption, but it
does use more heap, so there may be cases where parsing of long
expressions that succeeded with the old parser will lead to out
of memory panics with the new one. There are still more improvements
possible on that point, though significant progress may require
changes to the Tcl_Token specifications documented for the public
Tcl_Parse*() routines.
***POTENTIAL INCOMPATIBILITY*** for any callers that rely on the
exact (usually terrible) error messages generated by the old parser.
This includes a large number of tests in the test suite.
* generic/tclInt.h: Replaced TclParseWhiteSpace() with
* generic/tclParse.c: TclParseAllWhiteSpace() which is what
* generic/tclParseExpr.c: all the callers really needed.
Breaking whitespace runs at newlines is useful only to the command
parsing function, and it can call the file scoped routine
ParseWhiteSpace() to do that.
* tests/expr-old.test: Removed knownBug constraints that masked
* tests/expr.test: failures due to revised error messages.
* tests/parseExpr.test:
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* tests/compExpr.test: to post-TIP-232 world.
* tests/expr-old.test:
* tests/expr.test:
* tests/info.test:
* tests/indexObj.test: Corrected other test errors revealed by
* tests/upvar.test: testing outside the tcltest application.
|
| |
| |
| |
| | |
overflow to use mp_int calculations.
|
| |
| |
| |
| |
| | |
calculations in native types as much as possible, moving to mp_ints
only when necessary.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* tests/execute.test: due to addition of bignums.
* tests/expr-old.test:
* tests/expr.test:
* tests/parseExpr.test:
* tests/platform.test:
* tests/string.test:
|
| | |
|
| |
| |
| |
| | |
shortcoming of Patch 1340260.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
[kennykb-numerics-branch] Resynchronized with the HEAD; at this
checkpoint [-rkennykb-numerics-branch-20051008], the HEAD and
kennykb-numerics-branch contain identical code.
|
| | |
|
| | |
|
| | |
|