| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
leak detection and patch by Eric Melbardis.
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCmdIL.c:
* generic/tclCompCmds.c:
* generic/tclDictObj.c:
* generic/tclExecute.c:
* generic/tclLiteral.c:
* generic/tclParseExpr.c:
* generic/tclScan.c:
* generic/tclUtil.c:
* generic/tclVar.c:
|
|
|
|
|
| |
fixed faulty peephole optimisation that can cause crashes
[Bug 1331475]
|
|
|
|
|
| |
avoid using bignums to perform int multiplies. The improvement
shows up most dramatically in tclbench's matrix.bench.
|
|
|
|
| |
INST_INCR_SCALAR1_IMM opcode.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* tools/man2tcl.c:
* unix/tcl.m4:
* unix/tclConfig.h.in:
* win/configure.in:
* unix/configure: autoconf-2.59
* win/configure:
|
|
|
|
|
| |
optimizations for empty string values. We avoid cost of a call to
TclParseNumber just to tell us an empty string isn't a number.
|
| |
|
|
|
|
| |
added missing "break" to a switch that broke wide XOR operations.
|
|
|
|
|
|
| |
* generic/tclInt.h: Restored HEAD to the NO_WIDE_TYPE
configuration until some breakage in the #undef NO_WIDE_TYPE
configuration is corrected.
|
| |
|
| |
|
|
|
|
|
|
|
| |
* generic/tclExecute.c:
* generic/tclStrToD.c:
* generic/tclStringObj.c: initialise variables to avoid compiler
warnings ([Bug 1320818] among others).
|
|
|
|
|
|
| |
[kennykb-numerics-branch] Resynchronized with the HEAD; at this
checkpoint [-rkennykb-numerics-branch-20051008], the HEAD and
kennykb-numerics-branch contain identical code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tclCkalloc.c: TclFormatToErrorInfo.
* generic/tclCmdMZ.c:
* generic/tclExecute.c:
* generic/tclIORChan.c:
* generic/tclMain.c:
* generic/tclProc.c:
* generic/tclTimer.c:
* generic/tclUtil.c:
* unix/tclUnixFCmd.c
* unix/configure: autoconf-2.59
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
support "*" fields and needed to interpret precision limits on
%s conversions as a maximum number of bytes, not Tcl_UniChars, to
take from the (char *) argument.
* generic/tclBasic.c: Updated several callers to use
* generic/tclCkalloc.c: TclFormatToErrorInfo() and/or
* generic/tclCmdAH.c: TclObjPrintf().
* generic/tclCmdIL.c:
* generic/tclCmdMZ.c:
* generic/tclDictObj.c:
* generic/tclExecute.c:
* generic/tclIORChan.c:
* generic/tclIOUtil.c:
* generic/tclNamesp.c:
* generic/tclProc.c:
|
| |
|
|
|
|
| |
warnings for uninitialised variables.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reimplement long and wide type integer division
and modulus operations so that the smallest
and largest integer values are handled properly.
The divide operation is more efficient since
it no longer does a modulus or negation and
only checks for a remainder when the quotient
will be a negative number. The modulus operation
is now a bit more complex because of a number of
special cases dealing with the smallest and
largest integers.
* tests/expr.test: Add test cases for division
and modulus operations on the smallest and
largest integer values for 32 and 64 bit types.
[Patch 1230205]
|
|
|
|
|
|
|
|
|
|
|
| |
When parsing an integer operand for a unary
minus expression operator, check for a wide
integer that is actually LONG_MIN. If found,
convert it back to a long int type.
* tests/expr.test: Add constraint for 32bit
long int type and 64bit wide int type. Add
tests that parse the smallest/largest long int
and wide int values.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tcl_ExprBooleanObj.
* generic/tclCmdMZ.c ([string is boolean/true/false]): Rewrite
dropping string-based Tcl_GetBoolean call, so that internal reps
are kept for subsequent quick boolean operations.
* generic/tclExecute.c: Dropped most special handling of the
"boolean" Tcl_ObjType, since that type should now be rarely
encountered.
* doc/BoolObj.3: Rewrite of documentation dropping many details
about the internals of Tcl_Objs. Shorter documentation focuses on
the function and use of the routines.
|
|
|
|
|
|
| |
* generic/tclBinary.c: It's believed this has not been working
* generic/tclExecute.c: in a long time. Tcl needs math.h.
* unix/Makefile.in: [RFE 1200680].
|
| |
|
|
|
|
| |
'i**0' for i>0 [Bug 1198892]
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
it into agreement with its docs. Further investigation reveals it
was the docs that were incorrect.
* doc/BoolObj.3: Corrections to the documentation of
Tcl_GetBooleanFromObj to bring it into agreement with what this
public interface has always done, including noting the difference
in function between Tcl_GetBooleanFromObj and Tcl_GetBoolean.
* generic/tclGet.c: Revised Tcl_GetBoolean to no longer be a
wrapper around Tcl_GetBooleanFromObj (different function!).
* generic/tclObj.c: Removed TclGetTruthValueFromObj routine
that was added yesterday. Revisions so that only
Tcl_GetBoolean-approved values get the "boolean" Tcl_ObjType.
This retains the fix for [Bug 1187123].
* generic/tclInt.h: Revert most recent change.
* generic/tclBasic.c:
* generic/tclCompCmds.c:
* generic/tclDictObj.c:
* generic/tclExecute.c:
* tests/obj.test:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tcl_GetFoo() routines into wrappers around Tcl_GetFooFromObj().
Reduces code duplication, and the resulting potential for inconsistency.
* generic/tclObj.c: Several changes:
- Fixed Tcl_GetBooleanFromObj to agree with its documentation and
with Tcl_GetBoolean, accepting only "0" and "1" and not other
numeric strings. [Bug 1187123]
- Added new private routine TclGetTruthValueFromObj to perform
the more permissive conversion of numeric values to boolean
that is needed by the [expr] machinery.
* generic/tclInt.h (TclGetTruthValueFromObj): New routine.
* generic/tclExecute.c: Updated callers to call new routine.
* tests/obj.test: Corrected bad tests that actually expected
values like "47" and "0xac" to be accepted as booleans.
|
|
|
|
| |
compile with TCL_COMPILE_DEBUG.
|
| |
|
| |
|
|
|
|
|
|
|
| |
* generic/tclUtil.c (TclGetIntForIndex): intreps of numeric types
with simpler calls of Tcl_GetIntFromObj and Tcl_GetLongFromObj,
now that those routines are better behaved wrt shimmering.
[Patch 1177219]
|
| |
|
|
|
|
|
|
|
|
| |
calls at list creation (from 2 to 1), (b) reduce the cost of handling empty
lists (we now never create a list internal rep for them), (c) allow
refcounting of the list internal rep. The latter permits insuring that the
pointers returned by Tcl_ListObjGetElements remain valid even if the object
shimmers away from its original list type. This is [Patch 1158008]
|
| |
|
|
|
|
|
| |
* generic/tclInt.h: ExecEnv now stores two Tcl_Obj* pointing to
the constants "0" and "1", for use by TEBC.
|
|
|
|
|
|
|
|
|
| |
* generic/tclInt.h:
* generic/tclObj.c:
* generic/tclStringObj.c: defined new internal macros for creating
and setting frequently used obj types (int,long, wideInt, double,
string). Changed TEBC to use eg 'TclNewIntObj(objPtr, i)' to avoid
the function call in 'objPtr = Tcl_NewIntObj(i)'
|
|
|
|
| |
"test and branch" with "compute index into table"
|
|
|
|
| |
obj ref passed to TRACE_WITH_OBJ).
|
|
|
|
|
| |
fixed the peephole opt in INST_POP so that it is not used when
TCL_COMPILE_DEBUG is defined.
|
|
|
|
| |
left behind in prior code reorganization.
|
|
|
|
| |
the TclRegisterNewLiteral macro [Patch 1090905]
|