diff options
| author | das <das> | 2005-12-15 04:08:33 (GMT) | 
|---|---|---|
| committer | das <das> | 2005-12-15 04:08:33 (GMT) | 
| commit | eee69256b669d580123dbc86d580da7c89fbdcf0 (patch) | |
| tree | 779564ea699a57f98f4e71c4071574b343eb2f1c /generic/tclTest.c | |
| parent | 36eacb401e8d517c750fb1236e6cc6214c6d12e3 (diff) | |
| download | tcl-eee69256b669d580123dbc86d580da7c89fbdcf0.zip tcl-eee69256b669d580123dbc86d580da7c89fbdcf0.tar.gz tcl-eee69256b669d580123dbc86d580da7c89fbdcf0.tar.bz2  | |
	* generic/tclIOUtil.c: workaround gcc warning "comparison is always
	* generic/tclTest.c:   false due to limited range of data type".
Diffstat (limited to 'generic/tclTest.c')
| -rw-r--r-- | generic/tclTest.c | 13 | 
1 files changed, 12 insertions, 1 deletions
diff --git a/generic/tclTest.c b/generic/tclTest.c index dc5269c..db8d558 100644 --- a/generic/tclTest.c +++ b/generic/tclTest.c @@ -14,7 +14,7 @@   * See the file "license.terms" for information on usage and redistribution of   * this file, and for a DISCLAIMER OF ALL WARRANTIES.   * - * RCS: @(#) $Id: tclTest.c,v 1.99 2005/11/04 22:38:38 msofer Exp $ + * RCS: @(#) $Id: tclTest.c,v 1.100 2005/12/15 04:08:33 das Exp $   */  #define TCL_TEST @@ -5127,8 +5127,19 @@ static int PretendTclpStat(path, buf)  #   define OUT_OF_RANGE(x) \  	(((Tcl_WideInt)(x)) < Tcl_LongAsWide(LONG_MIN) || \  	 ((Tcl_WideInt)(x)) > Tcl_LongAsWide(LONG_MAX)) +#if defined(__GNUC__) && __GNUC__ >= 2 +/* + * Workaround gcc warning of "comparison is always false due to limited range of + * data type" in this macro by checking max type size, and when necessary ANDing + * with the complement of ULONG_MAX instead of the comparison: + */ +#   define OUT_OF_URANGE(x) \ +	((((Tcl_WideUInt)(~ (__typeof__(x)) 0)) > (Tcl_WideUInt)ULONG_MAX) && \ +	 (((Tcl_WideUInt)(x)) & ~(Tcl_WideUInt)ULONG_MAX)) +#else  #   define OUT_OF_URANGE(x) \  	(((Tcl_WideUInt)(x)) > (Tcl_WideUInt)ULONG_MAX) +#endif  	/*  	 * Perform the result-buffer overflow check manually.  | 
