summaryrefslogtreecommitdiffstats
path: root/generic
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)
commit7d0a560d355159a6a8013f1edc7aedea37e7cf73 (patch)
tree488cf88073be0a3326790028a949d6385f029143 /generic
parent7f792b880aa3a8d14f800a2f2bf5af2df9fe36da (diff)
parent81582f76e6fa7e328f9ae6c92cf756e569565818 (diff)
downloadtcl-7d0a560d355159a6a8013f1edc7aedea37e7cf73.zip
tcl-7d0a560d355159a6a8013f1edc7aedea37e7cf73.tar.gz
tcl-7d0a560d355159a6a8013f1edc7aedea37e7cf73.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')
-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__ */