summaryrefslogtreecommitdiffstats
path: root/generic/tcl.h
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2011-04-21 08:27:52 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2011-04-21 08:27:52 (GMT)
commit96b29a9142faa15c73000f00d2eaa63fd0fb3054 (patch)
tree488cf88073be0a3326790028a949d6385f029143 /generic/tcl.h
parent45705463bf3ecc383fc2a1f3e6fc82f8bc1962d5 (diff)
parentfbf4c9eb49f2ba409bbfa02714bb0bceb8ea0fe7 (diff)
downloadtcl-96b29a9142faa15c73000f00d2eaa63fd0fb3054.zip
tcl-96b29a9142faa15c73000f00d2eaa63fd0fb3054.tar.gz
tcl-96b29a9142faa15c73000f00d2eaa63fd0fb3054.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.
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__ */