summaryrefslogtreecommitdiffstats
path: root/generic/tcl.h
diff options
context:
space:
mode:
authorjan.nijtmans <jan.nijtmans@noemail.net>2011-04-18 08:38:41 (GMT)
committerjan.nijtmans <jan.nijtmans@noemail.net>2011-04-18 08:38:41 (GMT)
commit4a14dfb5eb23e9beeae5eb48365595225e4689f3 (patch)
tree6b93c93254713506fc554c63aa7f08fa82aba81c /generic/tcl.h
parent5f79439cd4d0ccb913305393ed85b18e65357a55 (diff)
parentbe49ba9beac70f6e9e1b38aa9257a15b5a0a97f0 (diff)
downloadtcl-4a14dfb5eb23e9beeae5eb48365595225e4689f3.zip
tcl-4a14dfb5eb23e9beeae5eb48365595225e4689f3.tar.gz
tcl-4a14dfb5eb23e9beeae5eb48365595225e4689f3.tar.bz2
fix for [Bug 3288345]: Wrong Tcl_StatBuf used on MinGW.
FossilOrigin-Name: 0b739fe1f1ea907b41ed488dde565a723d2af010
Diffstat (limited to 'generic/tcl.h')
-rw-r--r--generic/tcl.h16
1 files changed, 6 insertions, 10 deletions
diff --git a/generic/tcl.h b/generic/tcl.h
index ed63f8f..5e82432 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -373,27 +373,23 @@ 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"
-# else
-# define TCL_LL_MODIFIER "ll"
-# 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"
# else /* __BORLANDC__ */
-# if _MSC_VER < 1400 || !defined(_M_IX86)
+# if (defined(_MSC_VER) && (_MSC_VER < 1400)) || !defined(_M_IX86) || defined(__GNUC__)
typedef struct _stati64 Tcl_StatBuf;
# else
typedef struct _stat64 Tcl_StatBuf;
# endif /* _MSC_VER < 1400 */
# define TCL_LL_MODIFIER "I64"
# endif /* __BORLANDC__ */
+# elif defined(__GNUC__)
+# define TCL_WIDE_INT_TYPE long long
+# define TCL_LL_MODIFIER "ll"
+typedef struct stat Tcl_StatBuf;
# else /* __WIN32__ */
/*
* Don't know what platform it is and configure hasn't discovered what is