diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2011-04-18 08:38:41 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2011-04-18 08:38:41 (GMT) |
commit | 0b32f3c0e110a1766217c7540ee8d14ef79df71b (patch) | |
tree | 6b93c93254713506fc554c63aa7f08fa82aba81c /generic/tcl.h | |
parent | 174c06daec1b5f39ec637b65c3e5d3844708355b (diff) | |
parent | ae1e62908f477136ea8d2d65e1c4b8603bccbd05 (diff) | |
download | tcl-0b32f3c0e110a1766217c7540ee8d14ef79df71b.zip tcl-0b32f3c0e110a1766217c7540ee8d14ef79df71b.tar.gz tcl-0b32f3c0e110a1766217c7540ee8d14ef79df71b.tar.bz2 |
fix for [Bug 3288345]: Wrong Tcl_StatBuf used on MinGW.
Diffstat (limited to 'generic/tcl.h')
-rw-r--r-- | generic/tcl.h | 16 |
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 |