summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2011-04-18 07:10:34 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2011-04-18 07:10:34 (GMT)
commita6a5cd0c448ed7eab1edf7e9812853b9111593d5 (patch)
treed088cd4c05b5459eb855ae3a28d5dbb3ec1ebddb
parentcb46d8443010d208077152c70a8d11ea8f10ba9e (diff)
downloadtcl-a6a5cd0c448ed7eab1edf7e9812853b9111593d5.zip
tcl-a6a5cd0c448ed7eab1edf7e9812853b9111593d5.tar.gz
tcl-a6a5cd0c448ed7eab1edf7e9812853b9111593d5.tar.bz2
fix for [Bug 3288345]: Wrong Tcl_StatBuf used on MinGW.
-rw-r--r--ChangeLog5
-rw-r--r--generic/tcl.h19
2 files changed, 12 insertions, 12 deletions
diff --git a/ChangeLog b/ChangeLog
index 2ff7fc6..87720e0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-04-18 Jan Nijtmans <nijtmans@users.sf.net>
+
+ * generic/tcl.h: fix for [Bug 3288345]: Wrong Tcl_StatBuf
+ used on MinGW.
+
2011-04-13 Miguel Sofer <msofer@users.sf.net>
* generic/tclVar.c: fix for [Bug 2662380], crash caused by
diff --git a/generic/tcl.h b/generic/tcl.h
index 245293e..a98b685 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -372,24 +372,14 @@ typedef long LONG;
*/
#if !defined(TCL_WIDE_INT_TYPE)&&!defined(TCL_WIDE_INT_IS_LONG)
-# if defined(__GNUC__)
-# define TCL_WIDE_INT_TYPE long long
-# if defined(__WIN32__) && !defined(__CYGWIN__)
-# define TCL_LL_MODIFIER "I64"
-# define TCL_LL_MODIFIER_SIZE 3
-# else
-# define TCL_LL_MODIFIER "ll"
-# define TCL_LL_MODIFIER_SIZE 2
-# endif
-typedef struct stat Tcl_StatBuf;
-# elif defined(__WIN32__)
+# if defined(__WIN32__)
# define TCL_WIDE_INT_TYPE __int64
# ifdef __BORLANDC__
typedef struct stati64 Tcl_StatBuf;
# define TCL_LL_MODIFIER "L"
# define TCL_LL_MODIFIER_SIZE 1
# else /* __BORLANDC__ */
-# if _MSC_VER < 1400 || !defined(_M_IX86)
+# if (defined(_MSC_VER) && (_MSC_VER < 1400)) || !defined(_M_IX86)
typedef struct _stati64 Tcl_StatBuf;
# else
typedef struct _stat64 Tcl_StatBuf;
@@ -397,6 +387,11 @@ typedef struct _stat64 Tcl_StatBuf;
# define TCL_LL_MODIFIER "I64"
# define TCL_LL_MODIFIER_SIZE 3
# endif /* __BORLANDC__ */
+# elif defined(__GNUC__)
+# define TCL_WIDE_INT_TYPE long long
+# define TCL_LL_MODIFIER "ll"
+# define TCL_LL_MODIFIER_SIZE 2
+typedef struct stat Tcl_StatBuf;
# else /* __WIN32__ */
/*
* Don't know what platform it is and configure hasn't discovered what