summaryrefslogtreecommitdiffstats
path: root/generic/tcl.h
diff options
context:
space:
mode:
authorjan.nijtmans <jan.nijtmans@noemail.net>2011-04-21 08:27:52 (GMT)
committerjan.nijtmans <jan.nijtmans@noemail.net>2011-04-21 08:27:52 (GMT)
commit907d92a093bacc82d868a9dbf3a434ff833fdb8d (patch)
tree488cf88073be0a3326790028a949d6385f029143 /generic/tcl.h
parent8bec3b27d29968e776f1f408564341dec68eb7af (diff)
parent5c8e168ce34679150cff92de81ebda79a6739536 (diff)
downloadtcl-907d92a093bacc82d868a9dbf3a434ff833fdb8d.zip
tcl-907d92a093bacc82d868a9dbf3a434ff833fdb8d.tar.gz
tcl-907d92a093bacc82d868a9dbf3a434ff833fdb8d.tar.bz2
fix for [Bug 3288345]: Wrong Tcl_StatBuf used on MinGW.
Make sure that all _WIN32 compilers use exactly the same layout for Tcl_StatBuf - the one used by MSVC6 - in all situations. FossilOrigin-Name: 7fd2f5f049b7a86e52c48fdb0aade75418cca77d
Diffstat (limited to 'generic/tcl.h')
-rw-r--r--generic/tcl.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/generic/tcl.h b/generic/tcl.h
index 61e9a8a..1933ded 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -358,10 +358,12 @@ typedef long LONG;
typedef struct stati64 Tcl_StatBuf;
# define TCL_LL_MODIFIER "L"
# else /* __BORLANDC__ */
-# if (defined(_MSC_VER) && (_MSC_VER < 1400)) || !defined(_M_IX86) || defined(__GNUC__)
+# if defined(_WIN64)
+typedef struct _stat64 Tcl_StatBuf;
+# elif (defined(_MSC_VER) && (_MSC_VER < 1400))
typedef struct _stati64 Tcl_StatBuf;
# else
-typedef struct _stat64 Tcl_StatBuf;
+typedef struct _stat32i64 Tcl_StatBuf;
# endif /* _MSC_VER < 1400 */
# define TCL_LL_MODIFIER "I64"
# endif /* __BORLANDC__ */