From a6a5cd0c448ed7eab1edf7e9812853b9111593d5 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Mon, 18 Apr 2011 07:10:34 +0000 Subject: fix for [Bug 3288345]: Wrong Tcl_StatBuf used on MinGW. --- ChangeLog | 5 +++++ generic/tcl.h | 19 +++++++------------ 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2ff7fc6..87720e0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2011-04-18 Jan Nijtmans + + * generic/tcl.h: fix for [Bug 3288345]: Wrong Tcl_StatBuf + used on MinGW. + 2011-04-13 Miguel Sofer * generic/tclVar.c: fix for [Bug 2662380], crash caused by diff --git a/generic/tcl.h b/generic/tcl.h index 245293e..a98b685 100644 --- a/generic/tcl.h +++ b/generic/tcl.h @@ -372,24 +372,14 @@ 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" -# define TCL_LL_MODIFIER_SIZE 3 -# else -# define TCL_LL_MODIFIER "ll" -# define TCL_LL_MODIFIER_SIZE 2 -# 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" # define TCL_LL_MODIFIER_SIZE 1 # else /* __BORLANDC__ */ -# if _MSC_VER < 1400 || !defined(_M_IX86) +# if (defined(_MSC_VER) && (_MSC_VER < 1400)) || !defined(_M_IX86) typedef struct _stati64 Tcl_StatBuf; # else typedef struct _stat64 Tcl_StatBuf; @@ -397,6 +387,11 @@ typedef struct _stat64 Tcl_StatBuf; # define TCL_LL_MODIFIER "I64" # define TCL_LL_MODIFIER_SIZE 3 # endif /* __BORLANDC__ */ +# elif defined(__GNUC__) +# define TCL_WIDE_INT_TYPE long long +# define TCL_LL_MODIFIER "ll" +# define TCL_LL_MODIFIER_SIZE 2 +typedef struct stat Tcl_StatBuf; # else /* __WIN32__ */ /* * Don't know what platform it is and configure hasn't discovered what -- cgit v0.12