Tcl Source Code

Check-in [b43de757cc]
Login

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

Overview
Comment:Fix [1e48483c8b]: Use of non-standard C code in TCLBOOLWARNING
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | core-8-branch
Files: files | file ages | folders
SHA3-256: b43de757cc5b788211e7a22c5652cae3c9e0520923de2c7756e149b291deba70
User & Date: jan.nijtmans 2024-04-26 12:59:06
Context
2024-04-27
11:58
This construct doens't work on MSVC check-in: 4f36f76a21 user: jan.nijtmans tags: core-8-branch
2024-04-26
13:00
Fix [1e48483c8b]: Use of non-standard C code in TCLBOOLWARNING check-in: 4ed9ffe536 user: jan.nijtmans tags: trunk, main
12:59
Fix [1e48483c8b]: Use of non-standard C code in TCLBOOLWARNING check-in: b43de757cc user: jan.nijtmans tags: core-8-branch
12:29
Slightly better Closed-Leaf check-in: c0bdbd9536 user: jan.nijtmans tags: bug-1e48483c8b
2024-04-25
14:59
Fix for [ef23a85ac6]: Tcl_PanicProc - Tcl9 & NaviServer. check-in: 0753949a8d user: jan.nijtmans tags: core-8-branch
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to generic/tclDecls.h.

4345
4346
4347
4348
4349
4350
4351


4352
4353
4354
4355
4356
4357
4358
4359
#define Tcl_GetString(objPtr) \
	Tcl_GetStringFromObj(objPtr, NULL)
#define Tcl_GetUnicode(objPtr) \
	Tcl_GetUnicodeFromObj(objPtr, NULL)
#undef Tcl_GetIndexFromObjStruct
#undef Tcl_GetBooleanFromObj
#undef Tcl_GetBoolean


#ifdef __GNUC__
	/* If this gives: "error: size of array ‘_boolVar’ is negative", it means that sizeof(*boolPtr)>sizeof(int), which is not allowed */
#   define TCLBOOLWARNING(boolPtr) ({__attribute__((unused)) char _bool_Var[sizeof(*(boolPtr)) > sizeof(int) ? -1 : 1];}),
#else
#   define TCLBOOLWARNING(boolPtr)
#endif
#if defined(USE_TCL_STUBS)
#define Tcl_GetIndexFromObjStruct(interp, objPtr, tablePtr, offset, msg, flags, indexPtr) \







>
>
|







4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
#define Tcl_GetString(objPtr) \
	Tcl_GetStringFromObj(objPtr, NULL)
#define Tcl_GetUnicode(objPtr) \
	Tcl_GetUnicodeFromObj(objPtr, NULL)
#undef Tcl_GetIndexFromObjStruct
#undef Tcl_GetBooleanFromObj
#undef Tcl_GetBoolean
#if !defined(__cplusplus) && !defined(BUILD_tcl) && !defined(BUILD_tk)
#	define TCLBOOLWARNING(boolPtr) (void)(sizeof(struct {_Static_assert(sizeof(*(boolPtr)) <= sizeof(int), "sizeof(boolPtr) too large");int dummy;})),
#elif defined(__GNUC__)
	/* If this gives: "error: size of array ‘_boolVar’ is negative", it means that sizeof(*boolPtr)>sizeof(int), which is not allowed */
#   define TCLBOOLWARNING(boolPtr) ({__attribute__((unused)) char _bool_Var[sizeof(*(boolPtr)) > sizeof(int) ? -1 : 1];}),
#else
#   define TCLBOOLWARNING(boolPtr)
#endif
#if defined(USE_TCL_STUBS)
#define Tcl_GetIndexFromObjStruct(interp, objPtr, tablePtr, offset, msg, flags, indexPtr) \