summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormdejong <mdejong>2003-01-17 22:10:43 (GMT)
committermdejong <mdejong>2003-01-17 22:10:43 (GMT)
commit02e1cf97bd71fea4171adaed0ccfd7f19ffdbbaf (patch)
tree085cdf2c0f42298669aee6e92da1b6b48abf7bf2
parent9355455bbbdf3472b04c9f8f101a2ad35164baa7 (diff)
downloadtcl-02e1cf97bd71fea4171adaed0ccfd7f19ffdbbaf.zip
tcl-02e1cf97bd71fea4171adaed0ccfd7f19ffdbbaf.tar.gz
tcl-02e1cf97bd71fea4171adaed0ccfd7f19ffdbbaf.tar.bz2
* generic/tcl.h: Revert earlier change that
defined TCL_WIDE_INT_TYPE as long long and TCL_LL_MODIFIER as L when compiling with mingw. This change ended up causing some test case failures when compiling with mingw. * generic/tclObj.c (UpdateStringOfWideInt): Describe the warning generated by mingw and why it needs to be ignored so that someone is not tempted to "fix" this problem again in the future.
-rw-r--r--ChangeLog13
-rw-r--r--generic/tcl.h4
-rw-r--r--generic/tclObj.c8
3 files changed, 22 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 8f3c070..3d3cdd5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2003-01-17 Mo DeJong <mdejong@users.sourceforge.net>
+
+ * generic/tcl.h: Revert earlier change that
+ defined TCL_WIDE_INT_TYPE as long long and
+ TCL_LL_MODIFIER as L when compiling with
+ mingw. This change ended up causing some
+ test case failures when compiling with mingw.
+ * generic/tclObj.c (UpdateStringOfWideInt):
+ Describe the warning generated by mingw and
+ why it needs to be ignored so that someone
+ is not tempted to "fix" this problem again
+ in the future.
+
2003-01-16 Vince Darley <vincentdarley@users.sourceforge.net>
* generic/tclStringObj.c: Tcl_SetObjLength fix for when
diff --git a/generic/tcl.h b/generic/tcl.h
index 7a6fd2a..0c60153 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -13,7 +13,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tcl.h,v 1.150 2003/01/14 02:06:10 mdejong Exp $
+ * RCS: @(#) $Id: tcl.h,v 1.151 2003/01/17 22:10:56 mdejong Exp $
*/
#ifndef _TCL
@@ -353,7 +353,7 @@ typedef long LONG;
*/
#if !defined(TCL_WIDE_INT_TYPE)&&!defined(TCL_WIDE_INT_IS_LONG)
-# if defined(__CYGWIN__) || defined(__MINGW32__)
+# if defined(__CYGWIN__)
# define TCL_WIDE_INT_TYPE long long
# define TCL_LL_MODIFIER "L"
typedef struct stat Tcl_StatBuf;
diff --git a/generic/tclObj.c b/generic/tclObj.c
index 8200cf3..f9cee12 100644
--- a/generic/tclObj.c
+++ b/generic/tclObj.c
@@ -11,7 +11,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclObj.c,v 1.41 2002/11/19 02:34:50 hobbs Exp $
+ * RCS: @(#) $Id: tclObj.c,v 1.42 2003/01/17 22:11:02 mdejong Exp $
*/
#include "tclInt.h"
@@ -2257,6 +2257,12 @@ UpdateStringOfWideInt(objPtr)
register unsigned len;
register Tcl_WideInt wideVal = objPtr->internalRep.wideValue;
+ /*
+ * Note that sprintf will generate a compiler warning under
+ * Mingw claiming %I64 is an unknown format specifier.
+ * Just ignore this warning. We can't use %L as the format
+ * specifier since that gets printed as a 32 bit value.
+ */
sprintf(buffer, "%" TCL_LL_MODIFIER "d", wideVal);
len = strlen(buffer);
objPtr->bytes = ckalloc((unsigned) len + 1);