Tcl Source Code

Check-in [ff495c9305]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix gcc warnings, mingw build and extraneous prototype defs used in debug
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | tip-726-plus
Files: files | file ages | folders
SHA3-256: ff495c9305df36d9c6196ede5558edb90ba54d6f1b68365dece30271019ed3be
User & Date: apnadkarni 2025-07-26 05:00:04.973
Context
2025-07-26
05:26
Fix test loading for mingw which uses tclsh, not tcltest for tests Leaf check-in: b4f4002e9e user: apnadkarni tags: tip-726-plus
05:00
Fix gcc warnings, mingw build and extraneous prototype defs used in debug check-in: ff495c9305 user: apnadkarni tags: tip-726-plus
2025-07-25
17:55
Remove unicode toXXXX commands as no longer needed for confirming equivalence with string toXXXX check-in: 30a02828fc user: apnadkarni tags: tip-726-plus
Changes
Unified Diff Ignore Whitespace Patch
Changes to generic/tclCmdMZ.c.
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523

    /*
     * When entering here, result == 1 and failat == 0.
     */

    switch (index) {
    case STR_IS_ALNUM:
	int Tcl_UniCharIsAlnum(int ch);
	chcomp = Tcl_UniCharIsAlnum;
	break;
    case STR_IS_ALPHA:
	int Tcl_UniCharIsAlpha(int ch);
	chcomp = Tcl_UniCharIsAlpha;
	break;
    case STR_IS_ASCII:
	chcomp = UniCharIsAscii;
	break;
    case STR_IS_BOOL:
    case STR_IS_TRUE:







<



<







5505
5506
5507
5508
5509
5510
5511

5512
5513
5514

5515
5516
5517
5518
5519
5520
5521

    /*
     * When entering here, result == 1 and failat == 0.
     */

    switch (index) {
    case STR_IS_ALNUM:

	chcomp = Tcl_UniCharIsAlnum;
	break;
    case STR_IS_ALPHA:

	chcomp = Tcl_UniCharIsAlpha;
	break;
    case STR_IS_ASCII:
	chcomp = UniCharIsAscii;
	break;
    case STR_IS_BOOL:
    case STR_IS_TRUE:
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
	    }
	} else if ((objPtr->internalRep.wideValue != 0)
		? (index == STR_IS_FALSE) : (index == STR_IS_TRUE)) {
	    result = 0;
	}
	break;
    case STR_IS_CONTROL:
	int Tcl_UniCharIsControl(int ch);
	chcomp = Tcl_UniCharIsControl;
	break;
    case STR_IS_DICT: {
	int dresult;
	Tcl_Size dsize;

	dresult = Tcl_DictObjSize(interp, objPtr, &dsize);







<







5530
5531
5532
5533
5534
5535
5536

5537
5538
5539
5540
5541
5542
5543
	    }
	} else if ((objPtr->internalRep.wideValue != 0)
		? (index == STR_IS_FALSE) : (index == STR_IS_TRUE)) {
	    result = 0;
	}
	break;
    case STR_IS_CONTROL:

	chcomp = Tcl_UniCharIsControl;
	break;
    case STR_IS_DICT: {
	int dresult;
	Tcl_Size dsize;

	dresult = Tcl_DictObjSize(interp, objPtr, &dsize);
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
		    break;
		}
	    }
	}
	break;
    }
    case STR_IS_DIGIT:
	int Tcl_UniCharIsDigit(int ch);
	chcomp = Tcl_UniCharIsDigit;
	break;

    case STR_IS_DOUBLE: {
	if (TclHasInternalRep(objPtr, &tclDoubleType) ||
		TclHasInternalRep(objPtr, &tclIntType) ||
		TclHasInternalRep(objPtr, &tclBignumType)) {







<







5582
5583
5584
5585
5586
5587
5588

5589
5590
5591
5592
5593
5594
5595
		    break;
		}
	    }
	}
	break;
    }
    case STR_IS_DIGIT:

	chcomp = Tcl_UniCharIsDigit;
	break;

    case STR_IS_DOUBLE: {
	if (TclHasInternalRep(objPtr, &tclDoubleType) ||
		TclHasInternalRep(objPtr, &tclIntType) ||
		TclHasInternalRep(objPtr, &tclBignumType)) {
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
		result = 0;
		TclFreeInternalRep(objPtr);
	    }
	}
	break;
    }
    case STR_IS_GRAPH:
	int Tcl_UniCharIsGraph(int ch);
	chcomp = Tcl_UniCharIsGraph;
	break;
    case STR_IS_INT:
    case STR_IS_ENTIER:
	if (TclHasInternalRep(objPtr, &tclIntType) ||
		TclHasInternalRep(objPtr, &tclBignumType)) {
	    break;







<







5613
5614
5615
5616
5617
5618
5619

5620
5621
5622
5623
5624
5625
5626
		result = 0;
		TclFreeInternalRep(objPtr);
	    }
	}
	break;
    }
    case STR_IS_GRAPH:

	chcomp = Tcl_UniCharIsGraph;
	break;
    case STR_IS_INT:
    case STR_IS_ENTIER:
	if (TclHasInternalRep(objPtr, &tclIntType) ||
		TclHasInternalRep(objPtr, &tclBignumType)) {
	    break;
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
		    break;
		}
	    }
	}
	result = 0;
	break;
    case STR_IS_LOWER:
	int Tcl_UniCharIsLower(int ch);
	chcomp = Tcl_UniCharIsLower;
	break;
    case STR_IS_PRINT:
	int Tcl_UniCharIsPrint(int ch);
	chcomp = Tcl_UniCharIsPrint;
	break;
    case STR_IS_PUNCT:
	int Tcl_UniCharIsPunct(int ch);
	chcomp = Tcl_UniCharIsPunct;
	break;
    case STR_IS_SPACE:
	int Tcl_UniCharIsSpace(int ch);
	chcomp = Tcl_UniCharIsSpace;
	break;
    case STR_IS_UPPER:
	int Tcl_UniCharIsUpper(int ch);
	chcomp = Tcl_UniCharIsUpper;
	break;
    case STR_IS_WORD:
	int Tcl_UniCharIsWordChar(int ch);
	chcomp = Tcl_UniCharIsWordChar;
	break;
    case STR_IS_XDIGIT:
	chcomp = UniCharIsHexDigit;
	break;
    default:
	TCL_UNREACHABLE();







<



<



<



<



<



<







5764
5765
5766
5767
5768
5769
5770

5771
5772
5773

5774
5775
5776

5777
5778
5779

5780
5781
5782

5783
5784
5785

5786
5787
5788
5789
5790
5791
5792
		    break;
		}
	    }
	}
	result = 0;
	break;
    case STR_IS_LOWER:

	chcomp = Tcl_UniCharIsLower;
	break;
    case STR_IS_PRINT:

	chcomp = Tcl_UniCharIsPrint;
	break;
    case STR_IS_PUNCT:

	chcomp = Tcl_UniCharIsPunct;
	break;
    case STR_IS_SPACE:

	chcomp = Tcl_UniCharIsSpace;
	break;
    case STR_IS_UPPER:

	chcomp = Tcl_UniCharIsUpper;
	break;
    case STR_IS_WORD:

	chcomp = Tcl_UniCharIsWordChar;
	break;
    case STR_IS_XDIGIT:
	chcomp = UniCharIsHexDigit;
	break;
    default:
	TCL_UNREACHABLE();
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
 *	A standard Tcl result.
 *
 * Side effects:
 *	Stores the normalized string in the interpreter result.
 */
static int
TclUnicodeCategoryCmd(
    void *clientData,		/* TCL_{NFC,NFD,NFKC,NFKD} */
    Tcl_Interp *interp,		/* Current interpreter. */
    int objc,			/* Number of arguments. */
    Tcl_Obj *const objv[])	/* Argument objects. */
{
    if (objc != 2) {
	Tcl_WrongNumArgs(interp, 1, objv,
		"str");







|







5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
 *	A standard Tcl result.
 *
 * Side effects:
 *	Stores the normalized string in the interpreter result.
 */
static int
TclUnicodeCategoryCmd(
    TCL_UNUSED(void *),
    Tcl_Interp *interp,		/* Current interpreter. */
    int objc,			/* Number of arguments. */
    Tcl_Obj *const objv[])	/* Argument objects. */
{
    if (objc != 2) {
	Tcl_WrongNumArgs(interp, 1, objv,
		"str");
Changes to unix/Makefile.in.
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
#--------------------------------------------------------------------------

STUB_CC_SWITCHES = -I"${BUILD_DIR}" -I${UNIX_DIR} -I${GENERIC_DIR} -I${TOMMATH_DIR} \
	${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \
	${AC_FLAGS} ${ENV_FLAGS} ${EXTRA_CFLAGS} @EXTRA_CC_SWITCHES@ \
	${NO_DEPRECATED_FLAGS} -DMP_FIXED_CUTOFFS

CC_SWITCHES = $(STUB_CC_SWITCHES) -DBUILD_tcl

APP_CC_SWITCHES = $(STUB_CC_SWITCHES) @EXTRA_APP_CC_SWITCHES@

LIBS		= @TCL_LIBS@

DEPEND_SWITCHES	= ${CFLAGS} -I${UNIX_DIR} -I${GENERIC_DIR} \
	${AC_FLAGS} ${EXTRA_CFLAGS} @EXTRA_CC_SWITCHES@







|







278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
#--------------------------------------------------------------------------

STUB_CC_SWITCHES = -I"${BUILD_DIR}" -I${UNIX_DIR} -I${GENERIC_DIR} -I${TOMMATH_DIR} \
	${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \
	${AC_FLAGS} ${ENV_FLAGS} ${EXTRA_CFLAGS} @EXTRA_CC_SWITCHES@ \
	${NO_DEPRECATED_FLAGS} -DMP_FIXED_CUTOFFS

CC_SWITCHES = $(STUB_CC_SWITCHES) -DBUILD_tcl -DUTF8PROC_STATIC

APP_CC_SWITCHES = $(STUB_CC_SWITCHES) @EXTRA_APP_CC_SWITCHES@

LIBS		= @TCL_LIBS@

DEPEND_SWITCHES	= ${CFLAGS} -I${UNIX_DIR} -I${GENERIC_DIR} \
	${AC_FLAGS} ${EXTRA_CFLAGS} @EXTRA_CC_SWITCHES@
Changes to win/Makefile.in.
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
CFLAGS_OPTIMIZE	= @CFLAGS_OPTIMIZE@

# To change the compiler switches, for example to change from optimization to
# debugging symbols, change the following line:
#CFLAGS =		$(CFLAGS_DEBUG)
#CFLAGS =		$(CFLAGS_OPTIMIZE)
#CFLAGS =		$(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE)
CFLAGS =		@CFLAGS@ @CFLAGS_DEFAULT@ -DMP_FIXED_CUTOFFS -D__USE_MINGW_ANSI_STDIO=0

# To compile without backward compatibility and deprecated code uncomment the
# following
NO_DEPRECATED_FLAGS	=
#NO_DEPRECATED_FLAGS	= -DTCL_NO_DEPRECATED

# To enable compilation debugging reverse the comment characters on one of the







|







81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
CFLAGS_OPTIMIZE	= @CFLAGS_OPTIMIZE@

# To change the compiler switches, for example to change from optimization to
# debugging symbols, change the following line:
#CFLAGS =		$(CFLAGS_DEBUG)
#CFLAGS =		$(CFLAGS_OPTIMIZE)
#CFLAGS =		$(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE)
CFLAGS =		@CFLAGS@ @CFLAGS_DEFAULT@ -DMP_FIXED_CUTOFFS -DUTF8PROC_STATIC -D__USE_MINGW_ANSI_STDIO=0

# To compile without backward compatibility and deprecated code uncomment the
# following
NO_DEPRECATED_FLAGS	=
#NO_DEPRECATED_FLAGS	= -DTCL_NO_DEPRECATED

# To enable compilation debugging reverse the comment characters on one of the
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697

# TIP #430, ZipFS Support
tclZipfs.${OBJEXT}: $(GENERIC_DIR)/tclZipfs.c
	$(CC) -c $(CC_SWITCHES) -DBUILD_tcl \
	$(ZLIB_INCLUDE) -I$(MINIZIP_DIR_NATIVE)  @DEPARG@ $(CC_OBJNAME)

utf8proc.${OBJEXT}: $(UTF8PROC_DIR)/utf8proc.c
	$(CC) -c $(CC_SWITCHES) -DUNICODE -D_UNICODE -DUTF8PROC_EXPORTS @DEPARG@ $(CC_OBJNAME)

# TIP #59, embedding of configuration information into the binary library.
#
# Part of Tcl's configuration information are the paths where it was installed
# and where it will look for its libraries (which can be different). We derive
# this information from the variables which can be overridden by the user. As
# every path can be configured separately we do not remember one general







|







683
684
685
686
687
688
689
690
691
692
693
694
695
696
697

# TIP #430, ZipFS Support
tclZipfs.${OBJEXT}: $(GENERIC_DIR)/tclZipfs.c
	$(CC) -c $(CC_SWITCHES) -DBUILD_tcl \
	$(ZLIB_INCLUDE) -I$(MINIZIP_DIR_NATIVE)  @DEPARG@ $(CC_OBJNAME)

utf8proc.${OBJEXT}: $(UTF8PROC_DIR)/utf8proc.c
	$(CC) -c $(CC_SWITCHES) -DUNICODE -D_UNICODE -DUTF8PROC_STATIC @DEPARG@ $(CC_OBJNAME)

# TIP #59, embedding of configuration information into the binary library.
#
# Part of Tcl's configuration information are the paths where it was installed
# and where it will look for its libraries (which can be different). We derive
# this information from the variables which can be overridden by the user. As
# every path can be configured separately we do not remember one general