summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xcompat/zlib/configure3
-rw-r--r--compat/zlib/contrib/infback9/inftree9.c2
-rw-r--r--compat/zlib/contrib/minizip/iowin32.c5
-rw-r--r--compat/zlib/crc32.c8
-rw-r--r--compat/zlib/deflate.h4
-rw-r--r--compat/zlib/inftrees.c2
-rw-r--r--compat/zlib/trees.c6
-rwxr-xr-xcompat/zlib/win32/zlib1.dllbin122880 -> 122880 bytes
-rwxr-xr-xcompat/zlib/win64-arm/zlib1.dllbin95232 -> 95232 bytes
-rwxr-xr-xcompat/zlib/win64/zlib1.dllbin102400 -> 102400 bytes
-rw-r--r--doc/BoolObj.38
-rw-r--r--doc/GetInt.38
-rw-r--r--generic/tcl.decls4
-rw-r--r--generic/tclCompCmdsGR.c3
-rw-r--r--generic/tclCompCmdsSZ.c4
-rw-r--r--generic/tclCompExpr.c3
-rw-r--r--generic/tclDecls.h26
-rw-r--r--generic/tclGet.c8
-rw-r--r--generic/tclObj.c6
-rw-r--r--generic/tclTest.c11
-rwxr-xr-xwin/configure2
-rw-r--r--win/tcl.m42
22 files changed, 50 insertions, 65 deletions
diff --git a/compat/zlib/configure b/compat/zlib/configure
index 52ff4a0..3fa3e86 100755
--- a/compat/zlib/configure
+++ b/compat/zlib/configure
@@ -174,7 +174,10 @@ if test -z "$CC"; then
else
cc=${CROSS_PREFIX}cc
fi
+else
+ cc=${CC}
fi
+
cflags=${CFLAGS-"-O3"}
# to force the asm version use: CFLAGS="-O3 -DASMV" ./configure
case "$cc" in
diff --git a/compat/zlib/contrib/infback9/inftree9.c b/compat/zlib/contrib/infback9/inftree9.c
index 0550606..2175bde 100644
--- a/compat/zlib/contrib/infback9/inftree9.c
+++ b/compat/zlib/contrib/infback9/inftree9.c
@@ -64,7 +64,7 @@ unsigned short FAR *work;
static const unsigned short lext[31] = { /* Length codes 257..285 extra */
128, 128, 128, 128, 128, 128, 128, 128, 129, 129, 129, 129,
130, 130, 130, 130, 131, 131, 131, 131, 132, 132, 132, 132,
- 133, 133, 133, 133, 144, 199, 202};
+ 133, 133, 133, 133, 144, 76, 202};
static const unsigned short dbase[32] = { /* Distance codes 0..31 base */
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49,
65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073,
diff --git a/compat/zlib/contrib/minizip/iowin32.c b/compat/zlib/contrib/minizip/iowin32.c
index 274f39e..7df5251 100644
--- a/compat/zlib/contrib/minizip/iowin32.c
+++ b/compat/zlib/contrib/minizip/iowin32.c
@@ -28,6 +28,11 @@
// see Include/shared/winapifamily.h in the Windows Kit
#if defined(WINAPI_FAMILY_PARTITION) && (!(defined(IOWIN32_USING_WINRT_API)))
+
+#if !defined(WINAPI_FAMILY_ONE_PARTITION)
+#define WINAPI_FAMILY_ONE_PARTITION(PartitionSet, Partition) ((WINAPI_FAMILY & PartitionSet) == Partition)
+#endif
+
#if WINAPI_FAMILY_ONE_PARTITION(WINAPI_FAMILY, WINAPI_PARTITION_APP)
#define IOWIN32_USING_WINRT_API 1
#endif
diff --git a/compat/zlib/crc32.c b/compat/zlib/crc32.c
index a1bdce5..451887b 100644
--- a/compat/zlib/crc32.c
+++ b/compat/zlib/crc32.c
@@ -630,7 +630,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, len)
#endif /* DYNAMIC_CRC_TABLE */
/* Pre-condition the CRC */
- crc ^= 0xffffffff;
+ crc = (~crc) & 0xffffffff;
/* Compute the CRC up to a word boundary. */
while (len && ((z_size_t)buf & 7) != 0) {
@@ -749,7 +749,7 @@ unsigned long ZEXPORT crc32_z(crc, buf, len)
#endif /* DYNAMIC_CRC_TABLE */
/* Pre-condition the CRC */
- crc ^= 0xffffffff;
+ crc = (~crc) & 0xffffffff;
#ifdef W
@@ -1077,7 +1077,7 @@ uLong ZEXPORT crc32_combine64(crc1, crc2, len2)
#ifdef DYNAMIC_CRC_TABLE
once(&made, make_crc_table);
#endif /* DYNAMIC_CRC_TABLE */
- return multmodp(x2nmodp(len2, 3), crc1) ^ crc2;
+ return multmodp(x2nmodp(len2, 3), crc1) ^ (crc2 & 0xffffffff);
}
/* ========================================================================= */
@@ -1112,5 +1112,5 @@ uLong crc32_combine_op(crc1, crc2, op)
uLong crc2;
uLong op;
{
- return multmodp(op, crc1) ^ crc2;
+ return multmodp(op, crc1) ^ (crc2 & 0xffffffff);
}
diff --git a/compat/zlib/deflate.h b/compat/zlib/deflate.h
index 17c2261..1a06cd5 100644
--- a/compat/zlib/deflate.h
+++ b/compat/zlib/deflate.h
@@ -329,8 +329,8 @@ void ZLIB_INTERNAL _tr_stored_block OF((deflate_state *s, charf *buf,
# define _tr_tally_dist(s, distance, length, flush) \
{ uch len = (uch)(length); \
ush dist = (ush)(distance); \
- s->sym_buf[s->sym_next++] = dist; \
- s->sym_buf[s->sym_next++] = dist >> 8; \
+ s->sym_buf[s->sym_next++] = (uch)dist; \
+ s->sym_buf[s->sym_next++] = (uch)(dist >> 8); \
s->sym_buf[s->sym_next++] = len; \
dist--; \
s->dyn_ltree[_length_code[len]+LITERALS+1].Freq++; \
diff --git a/compat/zlib/inftrees.c b/compat/zlib/inftrees.c
index 09462a7..a2f386c 100644
--- a/compat/zlib/inftrees.c
+++ b/compat/zlib/inftrees.c
@@ -62,7 +62,7 @@ unsigned short FAR *work;
35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0};
static const unsigned short lext[31] = { /* Length codes 257..285 extra */
16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,
- 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 199, 202};
+ 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 76, 202};
static const unsigned short dbase[32] = { /* Distance codes 0..29 base */
1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,
257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,
diff --git a/compat/zlib/trees.c b/compat/zlib/trees.c
index f73fd99..8b438cc 100644
--- a/compat/zlib/trees.c
+++ b/compat/zlib/trees.c
@@ -1017,9 +1017,9 @@ int ZLIB_INTERNAL _tr_tally (s, dist, lc)
unsigned dist; /* distance of matched string */
unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */
{
- s->sym_buf[s->sym_next++] = dist;
- s->sym_buf[s->sym_next++] = dist >> 8;
- s->sym_buf[s->sym_next++] = lc;
+ s->sym_buf[s->sym_next++] = (uch)dist;
+ s->sym_buf[s->sym_next++] = (uch)(dist >> 8);
+ s->sym_buf[s->sym_next++] = (uch)lc;
if (dist == 0) {
/* lc is the unmatched char */
s->dyn_ltree[lc].Freq++;
diff --git a/compat/zlib/win32/zlib1.dll b/compat/zlib/win32/zlib1.dll
index 6c45f4d..e87de8c 100755
--- a/compat/zlib/win32/zlib1.dll
+++ b/compat/zlib/win32/zlib1.dll
Binary files differ
diff --git a/compat/zlib/win64-arm/zlib1.dll b/compat/zlib/win64-arm/zlib1.dll
index 161b60f..9025467 100755
--- a/compat/zlib/win64-arm/zlib1.dll
+++ b/compat/zlib/win64-arm/zlib1.dll
Binary files differ
diff --git a/compat/zlib/win64/zlib1.dll b/compat/zlib/win64/zlib1.dll
index 62182ba..c822c70 100755
--- a/compat/zlib/win64/zlib1.dll
+++ b/compat/zlib/win64/zlib1.dll
Binary files differ
diff --git a/doc/BoolObj.3 b/doc/BoolObj.3
index 7dc0233..cc8729e 100644
--- a/doc/BoolObj.3
+++ b/doc/BoolObj.3
@@ -23,7 +23,7 @@ int
\fBTcl_GetBooleanFromObj\fR(\fIinterp, objPtr, intPtr\fR)
.sp
int
-\fBTcl_GetBoolFromObj\fR(\fIinterp, objPtr, flags. boolPtr\fR)
+\fBTcl_GetBoolFromObj\fR(\fIinterp, objPtr, flags. charPtr\fR)
.SH ARGUMENTS
.AS Tcl_Interp intValue in/out
.AP int intValue in
@@ -38,13 +38,13 @@ unless \fIinterp\fR is NULL.
.AP int *intPtr out
Points to place where \fBTcl_GetBooleanFromObj\fR
stores the boolean value (0 or 1) obtained from \fIobjPtr\fR.
-.AP int | short | char | enum | bool *boolPtr out
+.AP char *charPtr out
Points to place where \fBTcl_GetBoolFromObj\fR
stores the boolean value (0 or 1) obtained from \fIobjPtr\fR.
.AP int flags in
-sizeof(*(boolPtr)), possibly combined with TCL_NULL_OK. If TCL_NULL_OK
+0 or TCL_NULL_OK. If TCL_NULL_OK
is used, then the empty string or NULL will result in \fBTcl_GetBoolFromObj\fR
-return TCL_OK, the *boolPtr filled with the value -1;
+return TCL_OK, the *charPtr filled with the value \fB'\exFF'\fR;
.BE
.SH DESCRIPTION
diff --git a/doc/GetInt.3 b/doc/GetInt.3
index c57291c..62e8f51 100644
--- a/doc/GetInt.3
+++ b/doc/GetInt.3
@@ -24,7 +24,7 @@ int
\fBTcl_GetBoolean\fR(\fIinterp, src, intPtr\fR)
.sp
int
-\fBTcl_GetBool\fR(\fIinterp, src, flags, boolPtr\fR)
+\fBTcl_GetBool\fR(\fIinterp, src, flags, charPtr\fR)
.SH ARGUMENTS
.AS Tcl_Interp *doublePtr out
.AP Tcl_Interp *interp in
@@ -36,12 +36,12 @@ Points to place to store integer value converted from \fIsrc\fR.
.AP double *doublePtr out
Points to place to store double-precision floating-point
value converted from \fIsrc\fR.
-.AP int | short | char | enum | bool *boolPtr out
+.AP char *charPtr out
Points to place to store boolean value (0 or 1) value converted from \fIsrc\fR.
.AP int flags in
-sizeof(*(boolPtr)), possibly combined with TCL_NULL_OK. If TCL_NULL_OK
+0 or TCL_NULL_OK. If TCL_NULL_OK
is used, then the empty string or NULL will result in \fBTcl_GetBool\fR
-return TCL_OK, the *boolPtr filled with the value -1;
+return TCL_OK, the *charPtr filled with the value \fB'\exFF'\fR;
.BE
.SH DESCRIPTION
diff --git a/generic/tcl.decls b/generic/tcl.decls
index 2c19545..bb6861b 100644
--- a/generic/tcl.decls
+++ b/generic/tcl.decls
@@ -2457,11 +2457,11 @@ declare 668 {
declare 674 {
int Tcl_GetBool(Tcl_Interp *interp, const char *src, int flags,
- char *boolPtr)
+ char *charPtr)
}
declare 675 {
int Tcl_GetBoolFromObj(Tcl_Interp *interp, Tcl_Obj *objPtr,
- int flags, char *boolPtr)
+ int flags, char *charPtr)
}
diff --git a/generic/tclCompCmdsGR.c b/generic/tclCompCmdsGR.c
index 839fbde..da557a4 100644
--- a/generic/tclCompCmdsGR.c
+++ b/generic/tclCompCmdsGR.c
@@ -17,7 +17,6 @@
#include "tclInt.h"
#include "tclCompile.h"
#include <assert.h>
-#include <stdbool.h>
/*
* Prototypes for procedures defined later in this file:
@@ -186,7 +185,7 @@ TclCompileIfCmd(
const char *word;
int realCond = 1; /* Set to 0 for static conditions:
* "if 0 {..}" */
- bool boolVal; /* Value of static condition. */
+ int boolVal; /* Value of static condition. */
int compileScripts = 1;
/*
diff --git a/generic/tclCompCmdsSZ.c b/generic/tclCompCmdsSZ.c
index fa490a1..cd3bd37 100644
--- a/generic/tclCompCmdsSZ.c
+++ b/generic/tclCompCmdsSZ.c
@@ -18,7 +18,6 @@
#include "tclInt.h"
#include "tclCompile.h"
#include "tclStringTrim.h"
-#include <stdbool.h>
/*
* Prototypes for procedures defined later in this file:
@@ -3760,8 +3759,7 @@ TclCompileWhileCmd(
DefineLineInformation; /* TIP #280 */
Tcl_Token *testTokenPtr, *bodyTokenPtr;
JumpFixup jumpEvalCondFixup;
- int testCodeOffset, bodyCodeOffset, jumpDist, range, code;
- bool boolVal;
+ int testCodeOffset, bodyCodeOffset, jumpDist, range, code, boolVal;
int loopMayEnd = 1; /* This is set to 0 if it is recognized as an
* infinite loop. */
Tcl_Obj *boolObj;
diff --git a/generic/tclCompExpr.c b/generic/tclCompExpr.c
index c245b4e..23d8711 100644
--- a/generic/tclCompExpr.c
+++ b/generic/tclCompExpr.c
@@ -13,7 +13,6 @@
#include "tclInt.h"
#include "tclCompile.h" /* CompileEnv */
-#include <stdbool.h>
/*
* Expression parsing takes place in the routine ParseExpr(). It takes a
@@ -709,7 +708,7 @@ ParseExpr(
*/
if ((NODE_TYPE & lexeme) == 0) {
- bool b;
+ int b;
switch (lexeme) {
case COMMENT:
diff --git a/generic/tclDecls.h b/generic/tclDecls.h
index 79b6ba8..80d0502 100644
--- a/generic/tclDecls.h
+++ b/generic/tclDecls.h
@@ -1972,10 +1972,10 @@ EXTERN int Tcl_UniCharLen(const int *uniStr);
/* Slot 673 is reserved */
/* 674 */
EXTERN int Tcl_GetBool(Tcl_Interp *interp, const char *src,
- int flags, char *boolPtr);
+ int flags, char *charPtr);
/* 675 */
EXTERN int Tcl_GetBoolFromObj(Tcl_Interp *interp,
- Tcl_Obj *objPtr, int flags, char *boolPtr);
+ Tcl_Obj *objPtr, int flags, char *charPtr);
typedef struct {
const struct TclPlatStubs *tclPlatStubs;
@@ -2685,8 +2685,8 @@ typedef struct TclStubs {
void (*reserved671)(void);
void (*reserved672)(void);
void (*reserved673)(void);
- int (*tcl_GetBool) (Tcl_Interp *interp, const char *src, int flags, char *boolPtr); /* 674 */
- int (*tcl_GetBoolFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, int flags, char *boolPtr); /* 675 */
+ int (*tcl_GetBool) (Tcl_Interp *interp, const char *src, int flags, char *charPtr); /* 674 */
+ int (*tcl_GetBoolFromObj) (Tcl_Interp *interp, Tcl_Obj *objPtr, int flags, char *charPtr); /* 675 */
} TclStubs;
extern const TclStubs *tclStubsPtr;
@@ -4272,22 +4272,12 @@ extern const TclStubs *tclStubsPtr;
Tcl_GetUnicodeFromObj(objPtr, (int *)NULL)
#undef Tcl_GetBytesFromObj
#undef Tcl_GetIndexFromObjStruct
-#undef Tcl_GetBoolean
-#undef Tcl_GetBooleanFromObj
#ifdef TCL_NO_DEPRECATED
#undef Tcl_GetStringFromObj
#undef Tcl_GetUnicodeFromObj
#undef Tcl_GetByteArrayFromObj
#endif
#if defined(USE_TCL_STUBS)
-#define Tcl_GetBoolean(interp, objPtr, boolPtr) \
- (sizeof(*(boolPtr)) == sizeof(int) ? tclStubsPtr->tcl_GetBoolean(interp, objPtr, (int *)(boolPtr)) : \
- (sizeof(*(boolPtr)) == sizeof(char) ? tclStubsPtr->tcl_GetBool(interp, objPtr, 0, (char *)(boolPtr)) : \
- (Tcl_Panic("Invalid boolean variable: sizeof() must be 1 or 4"), TCL_ERROR)))
-#define Tcl_GetBooleanFromObj(interp, objPtr, boolPtr) \
- (sizeof(*(boolPtr)) == sizeof(int) ? tclStubsPtr->tcl_GetBooleanFromObj(interp, objPtr, (int *)(boolPtr)) : \
- (sizeof(*(boolPtr)) == sizeof(char) ? tclStubsPtr->tcl_GetBoolFromObj(interp, objPtr, 0, (char *)(boolPtr)) : \
- (Tcl_Panic("Invalid boolean variable: sizeof() must be 1 or 4"), TCL_ERROR)))
#define Tcl_GetBytesFromObj(interp, objPtr, sizePtr) \
(sizeof(*(sizePtr)) <= sizeof(int) ? tclStubsPtr->tclGetBytesFromObj(interp, objPtr, (int *)(sizePtr)) : tclStubsPtr->tcl_GetBytesFromObj(interp, objPtr, (size_t *)(sizePtr)))
#define Tcl_GetIndexFromObjStruct(interp, objPtr, tablePtr, offset, msg, flags, indexPtr) \
@@ -4301,14 +4291,6 @@ extern const TclStubs *tclStubsPtr;
(sizeof(*(sizePtr)) <= sizeof(int) ? tclStubsPtr->tcl_GetUnicodeFromObj(objPtr, (int *)(sizePtr)) : tclStubsPtr->tclGetUnicodeFromObj(objPtr, (size_t *)(sizePtr)))
#endif
#else
-#define Tcl_GetBoolean(interp, objPtr, boolPtr) \
- (sizeof(*(boolPtr)) == sizeof(int) ? (Tcl_GetBoolean)(interp, objPtr, (int *)(boolPtr)) : \
- (sizeof(*(boolPtr)) == sizeof(char) ? (Tcl_GetBool)(interp, objPtr, 0, (char *)(boolPtr)) : \
- (Tcl_Panic("Invalid boolean variable: sizeof() must be 1 or 4"), TCL_ERROR)))
-#define Tcl_GetBooleanFromObj(interp, objPtr, boolPtr) \
- (sizeof(*(boolPtr)) == sizeof(int) ? (Tcl_GetBooleanFromObj)(interp, objPtr, (int *)(boolPtr)) : \
- (sizeof(*(boolPtr)) == sizeof(char) ? (Tcl_GetBoolFromObj)(interp, objPtr, 0, (char *)(boolPtr)) : \
- (Tcl_Panic("Invalid boolean variable: sizeof() must be 1 or 4"), TCL_ERROR)))
#define Tcl_GetBytesFromObj(interp, objPtr, sizePtr) \
(sizeof(*(sizePtr)) <= sizeof(int) ? (TclGetBytesFromObj)(interp, objPtr, (int *)(sizePtr)) : (Tcl_GetBytesFromObj)(interp, objPtr, (size_t *)(sizePtr)))
#define Tcl_GetIndexFromObjStruct(interp, objPtr, tablePtr, offset, msg, flags, indexPtr) \
diff --git a/generic/tclGet.c b/generic/tclGet.c
index a60d3a6..9670450 100644
--- a/generic/tclGet.c
+++ b/generic/tclGet.c
@@ -110,7 +110,7 @@ Tcl_GetDouble(
* string.
*
* Results:
- * The return value is normally TCL_OK; in this case *boolPtr will be set
+ * The return value is normally TCL_OK; in this case *charPtr will be set
* to the 0/1 value equivalent to src. If src is improperly formed then
* TCL_ERROR is returned and an error message will be left in the
* interp's result.
@@ -128,14 +128,14 @@ Tcl_GetBool(
const char *src, /* String containing one of the boolean values
* 1, 0, true, false, yes, no, on, off. */
int flags,
- char *boolPtr) /* Place to store converted result, which will
+ char *charPtr) /* Place to store converted result, which will
* be 0 or 1. */
{
Tcl_Obj obj;
int code;
if ((src == NULL) || (*src == '\0')) {
- return (Tcl_GetBoolFromObj)(interp, NULL, flags, boolPtr);
+ return (Tcl_GetBoolFromObj)(interp, NULL, flags, charPtr);
}
obj.refCount = 1;
obj.bytes = (char *) src;
@@ -147,7 +147,7 @@ Tcl_GetBool(
Tcl_Panic("invalid sharing of Tcl_Obj on C stack");
}
if (code == TCL_OK) {
- (Tcl_GetBoolFromObj)(NULL, &obj, flags, boolPtr);
+ (Tcl_GetBoolFromObj)(NULL, &obj, flags, charPtr);
}
return code;
}
diff --git a/generic/tclObj.c b/generic/tclObj.c
index 7842d0d..f7d9dfc 100644
--- a/generic/tclObj.c
+++ b/generic/tclObj.c
@@ -2161,7 +2161,7 @@ Tcl_GetBoolFromObj(
Tcl_Interp *interp, /* Used for error reporting if not NULL. */
Tcl_Obj *objPtr, /* The object from which to get boolean. */
int flags,
- char *boolPtr) /* Place to store resulting boolean. */
+ char *charPtr) /* Place to store resulting boolean. */
{
int result;
@@ -2206,8 +2206,8 @@ Tcl_GetBoolFromObj(
if (objPtr->typePtr == &tclBignumType) {
result = 1;
boolEnd:
- if (boolPtr != NULL) {
- *boolPtr = result;
+ if (charPtr != NULL) {
+ *charPtr = result;
}
return TCL_OK;
}
diff --git a/generic/tclTest.c b/generic/tclTest.c
index 39364d6..a5e35c1 100644
--- a/generic/tclTest.c
+++ b/generic/tclTest.c
@@ -30,7 +30,6 @@
#endif
#include "tclOO.h"
#include <math.h>
-#include <stdbool.h>
/*
* Required for Testregexp*Cmd
@@ -2263,7 +2262,7 @@ TesteventProc(
Tcl_Obj *command = ev->command;
int result = Tcl_EvalObjEx(interp, command,
TCL_EVAL_GLOBAL | TCL_EVAL_DIRECT);
- bool retval;
+ char retval;
if (result != TCL_OK) {
Tcl_AddErrorInfo(interp,
@@ -2271,8 +2270,8 @@ TesteventProc(
Tcl_BackgroundException(interp, TCL_ERROR);
return 1; /* Avoid looping on errors */
}
- if (Tcl_GetBooleanFromObj(interp, Tcl_GetObjResult(interp),
- &retval) != TCL_OK) {
+ if (Tcl_GetBoolFromObj(interp, Tcl_GetObjResult(interp),
+ 0, &retval) != TCL_OK) {
Tcl_AddErrorInfo(interp,
" (return value from \"testevent\" callback)");
Tcl_BackgroundException(interp, TCL_ERROR);
@@ -5278,7 +5277,7 @@ TestsaveresultCmd(
{
Interp* iPtr = (Interp*) interp;
int result, index;
- bool discard;
+ char discard;
Tcl_SavedResult state;
Tcl_Obj *objPtr;
static const char *const optionStrings[] = {
@@ -5300,7 +5299,7 @@ TestsaveresultCmd(
&index) != TCL_OK) {
return TCL_ERROR;
}
- if (Tcl_GetBooleanFromObj(interp, objv[3], &discard) != TCL_OK) {
+ if (Tcl_GetBoolFromObj(interp, objv[3], 0, &discard) != TCL_OK) {
return TCL_ERROR;
}
diff --git a/win/configure b/win/configure
index 56342c0..ba0007f 100755
--- a/win/configure
+++ b/win/configure
@@ -4107,7 +4107,7 @@ printf "%s\n" "$ac_cv_cross" >&6; }
RC="x86_64-w64-mingw32-windres"
;;
arm64|aarch64)
- CC="aarch64-w64-mingw32-clang"
+ CC="aarch64-w64-mingw32-${CC}"
LD="aarch64-w64-mingw32-ld"
AR="aarch64-w64-mingw32-ar"
RANLIB="aarch64-w64-mingw32-ranlib"
diff --git a/win/tcl.m4 b/win/tcl.m4
index cfc9167..8774b94 100644
--- a/win/tcl.m4
+++ b/win/tcl.m4
@@ -527,7 +527,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
RC="x86_64-w64-mingw32-windres"
;;
arm64|aarch64)
- CC="aarch64-w64-mingw32-clang"
+ CC="aarch64-w64-mingw32-${CC}"
LD="aarch64-w64-mingw32-ld"
AR="aarch64-w64-mingw32-ar"
RANLIB="aarch64-w64-mingw32-ranlib"