summaryrefslogtreecommitdiffstats
path: root/generic/tcl.h
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2011-04-21 08:49:52 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2011-04-21 08:49:52 (GMT)
commit00ffa6c31944e0537fefd0dd70ca3aded31e6336 (patch)
tree170c82b377323ccaaa1d7543c9ca9c75ff3bf2c4 /generic/tcl.h
parent95c1b15bcdb4d087a64ead65b5b133d07513d5c8 (diff)
parent7d0a560d355159a6a8013f1edc7aedea37e7cf73 (diff)
downloadtcl-00ffa6c31944e0537fefd0dd70ca3aded31e6336.zip
tcl-00ffa6c31944e0537fefd0dd70ca3aded31e6336.tar.gz
tcl-00ffa6c31944e0537fefd0dd70ca3aded31e6336.tar.bz2
fix for [Bug 3288345]: Wrong Tcl_StatBufused 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 5e82432..73a8932 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -379,10 +379,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__ */