summaryrefslogtreecommitdiffstats
path: root/win
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2021-01-08 21:07:57 (GMT)
committerdgp <dgp@users.sourceforge.net>2021-01-08 21:07:57 (GMT)
commit8229cd730444707ecef238b9678a5c8d779554f0 (patch)
tree28dbb787f28e59d75da785125db09451de89b1ff /win
parentdb51032d33e94c96859a874ec838558620720a09 (diff)
parent4e3cd053dbb7487dfdf2e93f5151d9bdd5f9865e (diff)
downloadtcl-8229cd730444707ecef238b9678a5c8d779554f0.zip
tcl-8229cd730444707ecef238b9678a5c8d779554f0.tar.gz
tcl-8229cd730444707ecef238b9678a5c8d779554f0.tar.bz2
Merge 8.7 (resolve conflicts)
Diffstat (limited to 'win')
-rwxr-xr-xwin/configure8
-rw-r--r--win/configure.ac2
-rw-r--r--win/nmakehlp.c9
-rw-r--r--win/tcl.m48
-rw-r--r--win/tclWin32Dll.c14
-rw-r--r--win/tclWinChan.c16
-rw-r--r--win/tclWinFile.c19
-rw-r--r--win/tclWinInit.c17
-rw-r--r--win/tclWinInt.h10
-rw-r--r--win/tclWinPipe.c4
-rw-r--r--win/tclWinPort.h44
-rw-r--r--win/tclWinThrd.c4
-rw-r--r--win/tclWinTime.c92
-rw-r--r--win/tclsh.exe.manifest.in2
14 files changed, 83 insertions, 166 deletions
diff --git a/win/configure b/win/configure
index 49c195b..dc7155b 100755
--- a/win/configure
+++ b/win/configure
@@ -4338,7 +4338,7 @@ printf "%s\n" "using shared flags" >&6; }
CFLAGS_WARNING="${CFLAGS_WARNING} -Wno-format"
;;
*)
- CFLAGS_WARNING="${CFLAGS_WARNING} -Wc++-compat -fextended-identifiers -Wdeclaration-after-statement"
+ CFLAGS_WARNING="${CFLAGS_WARNING} -Wc++-compat -fextended-identifiers"
;;
esac
@@ -4399,9 +4399,9 @@ else $as_nop
fi
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
if test "$tcl_win_64bit" = "yes" ; then
- do64bit=amd64
- MACHINE="AMD64"
- { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Using 64-bit $MACHINE mode" >&5
+ do64bit=amd64
+ MACHINE="AMD64"
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: Using 64-bit $MACHINE mode" >&5
printf "%s\n" " Using 64-bit $MACHINE mode" >&6; }
fi
;;
diff --git a/win/configure.ac b/win/configure.ac
index c38ac85..ae970a6 100644
--- a/win/configure.ac
+++ b/win/configure.ac
@@ -463,7 +463,7 @@ AC_SUBST(RC_DEFINE)
AC_SUBST(RC_DEFINES)
AC_SUBST(RES)
-AC_CONFIG_FILES(Makefile tclConfig.sh tclsh.exe.manifest)
+AC_CONFIG_FILES([Makefile tclConfig.sh tclsh.exe.manifest])
AC_OUTPUT
dnl Local Variables:
diff --git a/win/nmakehlp.c b/win/nmakehlp.c
index 7536ede..972e8b9 100644
--- a/win/nmakehlp.c
+++ b/win/nmakehlp.c
@@ -19,15 +19,6 @@
#include <stdio.h>
#include <math.h>
-/*
- * This library is required for x64 builds with _some_ versions of MSVC
- */
-#if defined(_M_IA64) || defined(_M_AMD64)
-#if _MSC_VER >= 1400 && _MSC_VER < 1500
-#pragma comment(lib, "bufferoverflowU")
-#endif
-#endif
-
/* ISO hack for dumb VC++ */
#ifdef _MSC_VER
#define snprintf _snprintf
diff --git a/win/tcl.m4 b/win/tcl.m4
index 1ecfa7d..b353898 100644
--- a/win/tcl.m4
+++ b/win/tcl.m4
@@ -673,7 +673,7 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
CFLAGS_WARNING="${CFLAGS_WARNING} -Wno-format"
;;
*)
- CFLAGS_WARNING="${CFLAGS_WARNING} -Wc++-compat -fextended-identifiers -Wdeclaration-after-statement"
+ CFLAGS_WARNING="${CFLAGS_WARNING} -Wc++-compat -fextended-identifiers"
;;
esac
@@ -717,9 +717,9 @@ AC_DEFUN([SC_CONFIG_CFLAGS], [
[tcl_win_64bit=no]
)
if test "$tcl_win_64bit" = "yes" ; then
- do64bit=amd64
- MACHINE="AMD64"
- AC_MSG_RESULT([ Using 64-bit $MACHINE mode])
+ do64bit=amd64
+ MACHINE="AMD64"
+ AC_MSG_RESULT([ Using 64-bit $MACHINE mode])
fi
;;
esac
diff --git a/win/tclWin32Dll.c b/win/tclWin32Dll.c
index 8f32e61..752bf8e 100644
--- a/win/tclWin32Dll.c
+++ b/win/tclWin32Dll.c
@@ -25,14 +25,6 @@
static HINSTANCE hInstance; /* HINSTANCE of this DLL. */
/*
- * VC++ 5.x has no 'cpuid' assembler instruction, so we must emulate it
- */
-
-#if defined(_MSC_VER) && (_MSC_VER <= 1100) && defined (_M_IX86)
-#define cpuid __asm __emit 0fh __asm __emit 0a2h
-#endif
-
-/*
* The following declaration is for the VC++ DLL entry point.
*/
@@ -185,12 +177,12 @@ TclWinInit(
GetVersionExW(&os);
/*
- * We no longer support Win32s or Win9x or Windows CE, so just in case
- * someone manages to get a runtime there, make sure they know that.
+ * We no longer support Win32s or Win9x or Windows CE or Windows XP, so just
+ * in case someone manages to get a runtime there, make sure they know that.
*/
if (os.dwPlatformId != VER_PLATFORM_WIN32_NT) {
- Tcl_Panic("Windows NT is the only supported platform");
+ Tcl_Panic("Windows 7 is the minimum supported platform");
}
}
diff --git a/win/tclWinChan.c b/win/tclWinChan.c
index 48f25e7..e8b3051 100644
--- a/win/tclWinChan.c
+++ b/win/tclWinChan.c
@@ -85,14 +85,14 @@ static int FileInputProc(ClientData instanceData, char *buf,
int toRead, int *errorCode);
static int FileOutputProc(ClientData instanceData,
const char *buf, int toWrite, int *errorCode);
-static Tcl_WideInt FileWideSeekProc(ClientData instanceData,
- Tcl_WideInt offset, int mode, int *errorCode);
+static long long FileWideSeekProc(ClientData instanceData,
+ long long offset, int mode, int *errorCode);
static void FileSetupProc(ClientData clientData, int flags);
static void FileWatchProc(ClientData instanceData, int mask);
static void FileThreadActionProc(ClientData instanceData,
int action);
static int FileTruncateProc(ClientData instanceData,
- Tcl_WideInt length);
+ long long length);
static DWORD FileGetType(HANDLE handle);
static int NativeIsComPort(const WCHAR *nativeName);
@@ -459,10 +459,10 @@ FileCloseProc(
*----------------------------------------------------------------------
*/
-static Tcl_WideInt
+static long long
FileWideSeekProc(
ClientData instanceData, /* File state. */
- Tcl_WideInt offset, /* Offset to seek to. */
+ long long offset, /* Offset to seek to. */
int mode, /* Relative to where should we seek? */
int *errorCodePtr) /* To store error code. */
{
@@ -491,8 +491,8 @@ FileWideSeekProc(
return -1;
}
}
- return (((Tcl_WideInt)((unsigned)newPos))
- | ((Tcl_WideInt)newPosHigh << 32));
+ return (((long long)((unsigned)newPos))
+ | ((long long)newPosHigh << 32));
}
/*
@@ -514,7 +514,7 @@ FileWideSeekProc(
static int
FileTruncateProc(
ClientData instanceData, /* File state. */
- Tcl_WideInt length) /* Length to truncate at. */
+ long long length) /* Length to truncate at. */
{
FileInfo *infoPtr = (FileInfo *)instanceData;
LONG newPos, newPosHigh, oldPos, oldPosHigh;
diff --git a/win/tclWinFile.c b/win/tclWinFile.c
index d843b51..fbd49dc 100644
--- a/win/tclWinFile.c
+++ b/win/tclWinFile.c
@@ -29,7 +29,7 @@
*/
#define POSIX_EPOCH_AS_FILETIME \
- ((Tcl_WideInt) 116444736 * (Tcl_WideInt) 1000000000)
+ ((long long) 116444736 * (long long) 1000000000)
/*
* Declarations for 'link' related information. This information should come
@@ -264,12 +264,7 @@ WinLink(
TclWinConvertError(GetLastError());
} else if (linkAction & TCL_CREATE_SYMBOLIC_LINK) {
- if (!tclWinProcs.createSymbolicLink) {
- /*
- * Can't symlink files.
- */
- Tcl_SetErrno(EINVAL);
- } else if (tclWinProcs.createSymbolicLink(linkSourcePath, linkTargetPath,
+ if (CreateSymbolicLinkW(linkSourcePath, linkTargetPath,
0x2 /* SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE */)) {
/*
* Success!
@@ -2088,8 +2083,8 @@ NativeStat(
statPtr->st_ctime = ToCTime(data.ftCreationTime);
}
attr = data.dwFileAttributes;
- statPtr->st_size = ((Tcl_WideInt) data.nFileSizeLow) |
- (((Tcl_WideInt) data.nFileSizeHigh) << 32);
+ statPtr->st_size = ((long long) data.nFileSizeLow) |
+ (((long long) data.nFileSizeHigh) << 32);
/*
* On Unix, for directories, nlink apparently depends on the number of
@@ -2136,8 +2131,8 @@ NativeStat(
attr = data.dwFileAttributes;
- statPtr->st_size = ((Tcl_WideInt) data.nFileSizeLow) |
- (((Tcl_WideInt) data.nFileSizeHigh) << 32);
+ statPtr->st_size = ((long long) data.nFileSizeLow) |
+ (((long long) data.nFileSizeHigh) << 32);
statPtr->st_atime = ToCTime(data.ftLastAccessTime);
statPtr->st_mtime = ToCTime(data.ftLastWriteTime);
statPtr->st_ctime = ToCTime(data.ftCreationTime);
@@ -2299,7 +2294,7 @@ ToCTime(
convertedTime.HighPart = (LONG) fileTime.dwHighDateTime;
return (__time64_t) ((convertedTime.QuadPart -
- (Tcl_WideInt) POSIX_EPOCH_AS_FILETIME) / (Tcl_WideInt) 10000000);
+ (long long) POSIX_EPOCH_AS_FILETIME) / (long long) 10000000);
}
/*
diff --git a/win/tclWinInit.c b/win/tclWinInit.c
index 7a4208f..e67e0cb 100644
--- a/win/tclWinInit.c
+++ b/win/tclWinInit.c
@@ -78,11 +78,6 @@ typedef struct {
/*
- * Windows version dependend functions
- */
-TclWinProcs tclWinProcs;
-
-/*
* The following arrays contain the human readable strings for the
* processor values.
*/
@@ -131,7 +126,6 @@ TclpInitPlatform(void)
{
WSADATA wsaData;
WORD wVersionRequested = MAKEWORD(2, 2);
- HMODULE handle;
tclPlatform = TCL_PLATFORM_WINDOWS;
@@ -150,17 +144,6 @@ TclpInitPlatform(void)
TclWinInit(GetModuleHandleW(NULL));
#endif
-
- /*
- * Fill available functions depending on windows version
- */
- handle = GetModuleHandleW(L"KERNEL32");
- tclWinProcs.cancelSynchronousIo =
- (BOOL (WINAPI *)(HANDLE))(void *)GetProcAddress(handle,
- "CancelSynchronousIo");
- tclWinProcs.createSymbolicLink =
- (BOOLEAN (WINAPI *)(LPCWSTR, LPCWSTR, DWORD))(void *)GetProcAddress(handle,
- "CreateSymbolicLinkW");
}
/*
diff --git a/win/tclWinInt.h b/win/tclWinInt.h
index 1a9c62b..d3d6680 100644
--- a/win/tclWinInt.h
+++ b/win/tclWinInt.h
@@ -32,16 +32,6 @@ typedef struct TCLEXCEPTION_REGISTRATION {
#endif
/*
- * Windows version dependend functions
- */
-typedef struct TclWinProcs {
- BOOL (WINAPI *cancelSynchronousIo)(HANDLE);
- BOOLEAN (WINAPI *createSymbolicLink)(LPCWSTR, LPCWSTR, DWORD);
-} TclWinProcs;
-
-MODULE_SCOPE TclWinProcs tclWinProcs;
-
-/*
* Declarations of functions that are not accessible by way of the
* stubs table.
*/
diff --git a/win/tclWinPipe.c b/win/tclWinPipe.c
index 2dc0bc9..5971b81 100644
--- a/win/tclWinPipe.c
+++ b/win/tclWinPipe.c
@@ -3575,9 +3575,7 @@ TclPipeThreadStop(
* Cancel all sync-IO of this thread (may be blocked there).
*/
- if (tclWinProcs.cancelSynchronousIo) {
- tclWinProcs.cancelSynchronousIo(hThread);
- }
+ CancelSynchronousIo(hThread);
/*
* Wait at most 20 milliseconds for the reader thread to close
diff --git a/win/tclWinPort.h b/win/tclWinPort.h
index 78559f5..cf530b4 100644
--- a/win/tclWinPort.h
+++ b/win/tclWinPort.h
@@ -26,14 +26,14 @@
/*
* We must specify the lower version we intend to support.
*
- * WINVER = 0x0501 means Windows XP and above
+ * WINVER = 0x0601 means Windows 7 and above
*/
#ifndef WINVER
-# define WINVER 0x0501
+# define WINVER 0x0601
#endif
#ifndef _WIN32_WINNT
-# define _WIN32_WINNT 0x0501
+# define _WIN32_WINNT 0x0601
#endif
#define WIN32_LEAN_AND_MEAN
@@ -111,11 +111,7 @@ typedef DWORD_PTR * PDWORD_PTR;
#ifndef __MWERKS__
#include <sys/stat.h>
#include <sys/timeb.h>
-# ifdef __BORLANDC__
-# include <utime.h>
-# else
-# include <sys/utime.h>
-# endif /* __BORLANDC__ */
+#include <sys/utime.h>
#endif /* __MWERKS__ */
/*
@@ -454,47 +450,21 @@ typedef DWORD_PTR * PDWORD_PTR;
#if defined(_MSC_VER) || defined(__MSVCRT__)
# define environ _environ
-# if defined(_MSC_VER) && (_MSC_VER < 1600)
-# define hypot _hypot
-# endif
# define exception _exception
# undef EDEADLOCK
-# if defined(_MSC_VER) && (_MSC_VER >= 1700)
+# if defined(_MSC_VER)
# define timezone _timezone
# endif
#endif /* _MSC_VER || __MSVCRT__ */
-/*
- * Borland's timezone and environ functions.
- */
-
-#ifdef __BORLANDC__
-# define timezone _timezone
-# define environ _environ
-#endif /* __BORLANDC__ */
-
-#ifdef __WATCOMC__
-# if !defined(__CHAR_SIGNED__)
-# error "You must use the -j switch to ensure char is signed."
-# endif
-#endif
-
-
-/*
- * MSVC 8.0 started to mark many standard C library functions depreciated
- * including the *printf family and others. Tell it to shut up.
- * (_MSC_VER is 1200 for VC6, 1300 or 1310 for vc7.net, 1400 for 8.0)
- */
#if defined(_MSC_VER)
# pragma warning(disable:4146)
# pragma warning(disable:4244)
#if !defined(_WIN64)
# pragma warning(disable:4305)
#endif
-# if _MSC_VER >= 1400
-# pragma warning(disable:4267)
-# pragma warning(disable:4996)
-# endif
+# pragma warning(disable:4267)
+# pragma warning(disable:4996)
#endif
/*
diff --git a/win/tclWinThrd.c b/win/tclWinThrd.c
index d86a3c5..0bffe21 100644
--- a/win/tclWinThrd.c
+++ b/win/tclWinThrd.c
@@ -222,7 +222,7 @@ TclpThreadCreate(
* on WIN64 sizeof void* != sizeof unsigned
*/
-#if defined(_MSC_VER) || defined(__MSVCRT__) || defined(__BORLANDC__)
+#if defined(_MSC_VER) || defined(__MSVCRT__)
tHandle = (HANDLE) _beginthreadex(NULL, (unsigned) stackSize,
(Tcl_ThreadCreateProc*) TclWinThreadStart, winThreadPtr,
0, (unsigned *)idPtr);
@@ -300,7 +300,7 @@ TclpThreadExit(
TclSignalExitThread(Tcl_GetCurrentThread(), status);
LeaveCriticalSection(&joinLock);
-#if defined(_MSC_VER) || defined(__MSVCRT__) || defined(__BORLANDC__)
+#if defined(_MSC_VER) || defined(__MSVCRT__)
_endthreadex((unsigned) status);
#else
ExitThread((DWORD) status);
diff --git a/win/tclWinTime.c b/win/tclWinTime.c
index 7f35a97..3c52451 100644
--- a/win/tclWinTime.c
+++ b/win/tclWinTime.c
@@ -58,9 +58,9 @@ typedef struct {
* Data used in developing the estimate of performance counter frequency
*/
- Tcl_WideUInt fileTimeSample[SAMPLES];
+ unsigned long long fileTimeSample[SAMPLES];
/* Last 64 samples of system time. */
- Tcl_WideInt perfCounterSample[SAMPLES];
+ long long perfCounterSample[SAMPLES];
/* Last 64 samples of performance counter. */
int sampleNo; /* Current sample number. */
} TimeInfo;
@@ -74,11 +74,11 @@ static TimeInfo timeInfo = {
(HANDLE) NULL,
(HANDLE) NULL,
#if defined(HAVE_CAST_TO_UNION) && !defined(__cplusplus)
- (LARGE_INTEGER) (Tcl_WideInt) 0,
+ (LARGE_INTEGER) (long long) 0,
(ULARGE_INTEGER) (DWORDLONG) 0,
- (LARGE_INTEGER) (Tcl_WideInt) 0,
- (LARGE_INTEGER) (Tcl_WideInt) 0,
- (LARGE_INTEGER) (Tcl_WideInt) 0,
+ (LARGE_INTEGER) (long long) 0,
+ (LARGE_INTEGER) (long long) 0,
+ (LARGE_INTEGER) (long long) 0,
#else
{0, 0},
{0, 0},
@@ -109,13 +109,13 @@ static struct {
static void StopCalibration(ClientData clientData);
static DWORD WINAPI CalibrationThread(LPVOID arg);
static void UpdateTimeEachSecond(void);
-static void ResetCounterSamples(Tcl_WideUInt fileTime,
- Tcl_WideInt perfCounter, Tcl_WideInt perfFreq);
-static Tcl_WideInt AccumulateSample(Tcl_WideInt perfCounter,
- Tcl_WideUInt fileTime);
+static void ResetCounterSamples(unsigned long long fileTime,
+ long long perfCounter, long long perfFreq);
+static long long AccumulateSample(long long perfCounter,
+ unsigned long long fileTime);
static void NativeScaleTime(Tcl_Time* timebuf,
ClientData clientData);
-static Tcl_WideInt NativeGetMicroseconds(void);
+static long long NativeGetMicroseconds(void);
static void NativeGetTime(Tcl_Time* timebuf,
ClientData clientData);
@@ -147,7 +147,7 @@ ClientData tclTimeClientData = NULL;
Tcl_WideUInt
TclpGetSeconds(void)
{
- Tcl_WideInt usecSincePosixEpoch;
+ long long usecSincePosixEpoch;
/* Try to use high resolution timer */
if ( tclGetTimeProcPtr == NativeGetTime
@@ -184,7 +184,7 @@ TclpGetSeconds(void)
Tcl_WideUInt
TclpGetClicks(void)
{
- Tcl_WideInt usecSincePosixEpoch;
+ long long usecSincePosixEpoch;
/* Try to use high resolution timer */
if ( tclGetTimeProcPtr == NativeGetTime
@@ -223,7 +223,7 @@ TclpGetClicks(void)
*----------------------------------------------------------------------
*/
-Tcl_WideInt
+long long
TclpGetWideClicks(void)
{
LARGE_INTEGER curCounter;
@@ -249,7 +249,7 @@ TclpGetWideClicks(void)
}
if (wideClick.perfCounter) {
if (QueryPerformanceCounter(&curCounter)) {
- return (Tcl_WideInt)curCounter.QuadPart;
+ return (long long)curCounter.QuadPart;
}
/* fallback using microseconds */
wideClick.perfCounter = 0;
@@ -304,10 +304,10 @@ TclpWideClickInMicrosec(void)
*----------------------------------------------------------------------
*/
-Tcl_WideInt
+long long
TclpGetMicroseconds(void)
{
- Tcl_WideInt usecSincePosixEpoch;
+ long long usecSincePosixEpoch;
/* Try to use high resolution timer */
if ( tclGetTimeProcPtr == NativeGetTime
@@ -323,7 +323,7 @@ TclpGetMicroseconds(void)
Tcl_Time now;
tclGetTimeProcPtr(&now, tclTimeClientData); /* Tcl_GetTime inlined */
- return (((Tcl_WideInt)now.sec) * 1000000) + now.usec;
+ return (((long long)now.sec) * 1000000) + now.usec;
}
}
@@ -353,7 +353,7 @@ void
Tcl_GetTime(
Tcl_Time *timePtr) /* Location to store time information. */
{
- Tcl_WideInt usecSincePosixEpoch;
+ long long usecSincePosixEpoch;
/* Try to use high resolution timer */
if ( tclGetTimeProcPtr == NativeGetTime
@@ -416,7 +416,7 @@ NativeScaleTime(
*----------------------------------------------------------------------
*/
-static inline Tcl_WideInt
+static inline long long
NativeCalc100NsTicks(
ULONGLONG fileTimeLastCall,
LONGLONG perfCounterLastCall,
@@ -427,7 +427,7 @@ NativeCalc100NsTicks(
((curCounter - perfCounterLastCall) * 10000000 / curCounterFreq);
}
-static Tcl_WideInt
+static long long
NativeGetMicroseconds(void)
{
/*
@@ -479,10 +479,10 @@ NativeGetMicroseconds(void)
/*
* The following lines would do an exact match on crystal
* frequency:
- * && timeInfo.nominalFreq.QuadPart != (Tcl_WideInt)1193182
- * && timeInfo.nominalFreq.QuadPart != (Tcl_WideInt)3579545
+ * && timeInfo.nominalFreq.QuadPart != (long long)1193182
+ * && timeInfo.nominalFreq.QuadPart != (long long)3579545
*/
- && timeInfo.nominalFreq.QuadPart > (Tcl_WideInt) 15000000){
+ && timeInfo.nominalFreq.QuadPart > (long long) 15000000){
/*
* As an exception, if every logical processor on the system
* is on the same chip, we use the performance counter anyway,
@@ -623,7 +623,7 @@ NativeGetTime(
Tcl_Time *timePtr,
TCL_UNUSED(ClientData))
{
- Tcl_WideInt usecSincePosixEpoch;
+ long long usecSincePosixEpoch;
/*
* Try to use high resolution timer.
@@ -785,12 +785,12 @@ UpdateTimeEachSecond(void)
static LARGE_INTEGER lastFileTime; /* File time of the previous calibration */
LARGE_INTEGER curFileTime; /* File time at the time this callback was
* scheduled. */
- Tcl_WideInt estFreq; /* Estimated perf counter frequency. */
- Tcl_WideInt vt0; /* Tcl time right now. */
- Tcl_WideInt vt1; /* Tcl time one second from now. */
- Tcl_WideInt tdiff; /* Difference between system clock and Tcl
+ long long estFreq; /* Estimated perf counter frequency. */
+ long long vt0; /* Tcl time right now. */
+ long long vt1; /* Tcl time one second from now. */
+ long long tdiff; /* Difference between system clock and Tcl
* time. */
- Tcl_WideInt driftFreq; /* Frequency needed to drift virtual time into
+ long long driftFreq; /* Frequency needed to drift virtual time into
* step over 1 second. */
/*
@@ -842,7 +842,7 @@ UpdateTimeEachSecond(void)
*/
estFreq = AccumulateSample(curPerfCounter.QuadPart,
- (Tcl_WideUInt) curFileTime.QuadPart);
+ (unsigned long long) curFileTime.QuadPart);
/*
* We want to adjust things so that time appears to be continuous.
@@ -907,7 +907,7 @@ UpdateTimeEachSecond(void)
* new calibrated values) and do a small adjustment (short time freeze)
*/
LARGE_INTEGER newPerfCounter;
- Tcl_WideInt nt0, nt1;
+ long long nt0, nt1;
QueryPerformanceCounter(&newPerfCounter);
nt0 = NativeCalc100NsTicks(timeInfo.fileTimeLastCall.QuadPart,
@@ -967,9 +967,9 @@ UpdateTimeEachSecond(void)
static void
ResetCounterSamples(
- Tcl_WideUInt fileTime, /* Current file time */
- Tcl_WideInt perfCounter, /* Current performance counter */
- Tcl_WideInt perfFreq) /* Target performance frequency */
+ unsigned long long fileTime, /* Current file time */
+ long long perfCounter, /* Current performance counter */
+ long long perfFreq) /* Target performance frequency */
{
int i;
for (i=SAMPLES-1 ; i>=0 ; --i) {
@@ -1007,20 +1007,20 @@ ResetCounterSamples(
* case).
*/
-static Tcl_WideInt
+static long long
AccumulateSample(
- Tcl_WideInt perfCounter,
- Tcl_WideUInt fileTime)
+ long long perfCounter,
+ unsigned long long fileTime)
{
- Tcl_WideUInt workFTSample; /* File time sample being removed from or
+ unsigned long long workFTSample; /* File time sample being removed from or
* added to the circular buffer. */
- Tcl_WideInt workPCSample; /* Performance counter sample being removed
+ long long workPCSample; /* Performance counter sample being removed
* from or added to the circular buffer. */
- Tcl_WideUInt lastFTSample; /* Last file time sample recorded */
- Tcl_WideInt lastPCSample; /* Last performance counter sample recorded */
- Tcl_WideInt FTdiff; /* Difference between last FT and current */
- Tcl_WideInt PCdiff; /* Difference between last PC and current */
- Tcl_WideInt estFreq; /* Estimated performance counter frequency */
+ unsigned long long lastFTSample; /* Last file time sample recorded */
+ long long lastPCSample; /* Last performance counter sample recorded */
+ long long FTdiff; /* Difference between last FT and current */
+ long long PCdiff; /* Difference between last PC and current */
+ long long estFreq; /* Estimated performance counter frequency */
/*
* Test for jumps and reset the samples if we have one.
@@ -1054,7 +1054,7 @@ AccumulateSample(
estFreq = 10000000 * (perfCounter - workPCSample)
/ (fileTime - workFTSample);
timeInfo.perfCounterSample[timeInfo.sampleNo] = perfCounter;
- timeInfo.fileTimeSample[timeInfo.sampleNo] = (Tcl_WideInt) fileTime;
+ timeInfo.fileTimeSample[timeInfo.sampleNo] = (long long) fileTime;
/*
* Advance the sample number.
diff --git a/win/tclsh.exe.manifest.in b/win/tclsh.exe.manifest.in
index 8b06fce..dd8a7c5 100644
--- a/win/tclsh.exe.manifest.in
+++ b/win/tclsh.exe.manifest.in
@@ -28,8 +28,6 @@
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
- <!-- Windows Vista -->
- <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
</application>
</compatibility>
<asmv3:application>