summaryrefslogtreecommitdiffstats
path: root/generic/tcl.h
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2021-01-08 09:37:25 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2021-01-08 09:37:25 (GMT)
commitf09dcac7855bb4d75a3ca3b44b9d5ce188260bff (patch)
tree2f902d8a9af2864c706770cb5609a8a956076a4c /generic/tcl.h
parent6b7dec8d6a72719ff9684fa6c71ec40b2637d8ba (diff)
downloadtcl-f09dcac7855bb4d75a3ca3b44b9d5ce188260bff.zip
tcl-f09dcac7855bb4d75a3ca3b44b9d5ce188260bff.tar.gz
tcl-f09dcac7855bb4d75a3ca3b44b9d5ce188260bff.tar.bz2
Omit -Wdeclaration-after-statement from CFLAGS: No longer needed since we stopped support for MSVC 6++
Change Tcl_WideInt -> long long in various places: Tcl_WideInt could be a 128-bit type, we don't want that everywhere.
Diffstat (limited to 'generic/tcl.h')
-rw-r--r--generic/tcl.h36
1 files changed, 16 insertions, 20 deletions
diff --git a/generic/tcl.h b/generic/tcl.h
index dfd025f..08e656d 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -360,24 +360,16 @@ typedef long LONG;
* sprintf(...,"%" TCL_LL_MODIFIER "d",...).
*/
-#if !defined(TCL_WIDE_INT_TYPE) && !defined(TCL_WIDE_INT_IS_LONG)
-# ifdef _WIN32
-# if defined(_WIN32) && (!defined(__USE_MINGW_ANSI_STDIO) || !__USE_MINGW_ANSI_STDIO)
-# define TCL_LL_MODIFIER "I64"
-# else
-# define TCL_LL_MODIFIER "ll"
-# endif
-# elif !defined(__GNUC__)
+#if !defined(TCL_WIDE_INT_TYPE) && !defined(TCL_WIDE_INT_IS_LONG) && !defined(_WIN32) && !defined(__GNUC__)
/*
* Don't know what platform it is and configure hasn't discovered what is
* going on for us. Try to guess...
*/
-# include <limits.h>
-# if defined(LLONG_MAX) && (LLONG_MAX == LONG_MAX)
-# define TCL_WIDE_INT_IS_LONG 1
-# endif
-# endif /* !__GNUC__ */
-#endif /* !TCL_WIDE_INT_TYPE & !TCL_WIDE_INT_IS_LONG */
+# include <limits.h>
+# if defined(LLONG_MAX) && (LLONG_MAX == LONG_MAX)
+# define TCL_WIDE_INT_IS_LONG 1
+# endif
+#endif
#ifndef TCL_WIDE_INT_TYPE
# define TCL_WIDE_INT_TYPE long long
@@ -387,7 +379,11 @@ typedef TCL_WIDE_INT_TYPE Tcl_WideInt;
typedef unsigned TCL_WIDE_INT_TYPE Tcl_WideUInt;
#ifndef TCL_LL_MODIFIER
-# define TCL_LL_MODIFIER "ll"
+# if defined(_WIN32) && (!defined(__USE_MINGW_ANSI_STDIO) || !__USE_MINGW_ANSI_STDIO)
+# define TCL_LL_MODIFIER "I64"
+# else
+# define TCL_LL_MODIFIER "ll"
+# endif
#endif /* !TCL_LL_MODIFIER */
#ifndef TCL_Z_MODIFIER
# if defined(__GNUC__) && !defined(_WIN32)
@@ -955,7 +951,7 @@ typedef struct Tcl_DString {
* 64-bit integers).
*/
-#define TCL_INTEGER_SPACE 24
+#define TCL_INTEGER_SPACE (3*(int)sizeof(Tcl_WideInt))
/*
* Flag values passed to Tcl_ConvertElement.
@@ -1443,8 +1439,8 @@ typedef int (Tcl_DriverGetHandleProc) (ClientData instanceData,
typedef int (Tcl_DriverFlushProc) (ClientData instanceData);
typedef int (Tcl_DriverHandlerProc) (ClientData instanceData,
int interestMask);
-typedef Tcl_WideInt (Tcl_DriverWideSeekProc) (ClientData instanceData,
- Tcl_WideInt offset, int mode, int *errorCodePtr);
+typedef long long (Tcl_DriverWideSeekProc) (ClientData instanceData,
+ long long offset, int mode, int *errorCodePtr);
/*
* TIP #218, Channel Thread Actions
*/
@@ -1453,8 +1449,8 @@ typedef void (Tcl_DriverThreadActionProc) (ClientData instanceData,
/*
* TIP #208, File Truncation (etc.)
*/
-typedef int (Tcl_DriverTruncateProc) (ClientData instanceData,
- Tcl_WideInt length);
+typedef int (Tcl_DriverTruncateProc) (void *instanceData,
+ long long length);
/*
* struct Tcl_ChannelType: