diff options
Diffstat (limited to 'win/tclWin32Dll.c')
-rw-r--r-- | win/tclWin32Dll.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/win/tclWin32Dll.c b/win/tclWin32Dll.c index 42a9ace..7c80eea 100644 --- a/win/tclWin32Dll.c +++ b/win/tclWin32Dll.c @@ -9,7 +9,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclWin32Dll.c,v 1.37 2004/06/21 22:05:55 mdejong Exp $ + * RCS: @(#) $Id: tclWin32Dll.c,v 1.38 2004/06/29 10:07:57 vincentdarley Exp $ */ #include "tclWinInt.h" @@ -79,6 +79,14 @@ _except_TclWinCPUID_detach_handler( /* + * VC++ 5.x has no 'cpuid' assembler instruction, so we + * must emulate it + */ +#if defined(_MSC_VER) && ( _MSC_VER <= 1100 ) +#define cpuid __asm __emit 0fh __asm __emit 0a2h +#endif + +/* * The following function tables are used to dispatch to either the * wide-character or multi-byte versions of the operating system calls, * depending on whether the Unicode calls are available. @@ -1181,7 +1189,7 @@ TclWinCPUID( unsigned int index, /* Which CPUID value to retrieve */ push ecx push edx mov eax, regs.dw0 - cpuid + cpuid mov regs.dw0, eax mov regs.dw1, ebx mov regs.dw2, ecx |