summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2002-02-20 00:35:47 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2002-02-20 00:35:47 (GMT)
commitf2894eb46ef1ffa03050d2664b218a471a0f8e98 (patch)
treec6cdc66408df319e4fce5a4a054a7de252b0977c
parent5aac27662665e33e21c3cf60764cb676fdfe5d19 (diff)
downloadtcl-f2894eb46ef1ffa03050d2664b218a471a0f8e98.zip
tcl-f2894eb46ef1ffa03050d2664b218a471a0f8e98.tar.gz
tcl-f2894eb46ef1ffa03050d2664b218a471a0f8e98.tar.bz2
Made tcl.h better at guessing what is going on with 64-bit types when
configure doesn't tell it explicitly.
-rw-r--r--ChangeLog6
-rw-r--r--generic/tcl.h12
2 files changed, 14 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index f98541d..4c24596 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-02-20 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+
+ * generic/tcl.h: Added code to guess the correct settings for
+ TCL_WIDE_INT_IS_LONG and TCL_WIDE_INT_TYPE when configure doesn't
+ tell us them, as can happen with extensions.
+
2002-02-19 Donal K. Fellows <fellowsd@cs.man.ac.uk>
* doc/format.n: Updated docs to list the specification.
diff --git a/generic/tcl.h b/generic/tcl.h
index 421e289..160990c 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -13,7 +13,7 @@
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tcl.h,v 1.115 2002/02/15 14:28:48 dkf Exp $
+ * RCS: @(#) $Id: tcl.h,v 1.116 2002/02/20 00:35:47 dkf Exp $
*/
#ifndef _TCL
@@ -380,10 +380,14 @@ typedef struct _stati64 Tcl_StatBuf;
# endif /* __BORLANDC__ */
# else /* __WIN32__ */
/*
- * Don't know what platform it is and configure hasn't been run! Assume
- * it has no long long...
+ * Don't know what platform it is and configure hasn't discovered what
+ * is going on for us. Try to guess...
*/
-# define TCL_WIDE_INT_IS_LONG 1
+# if (0x80000000L < 0)
+# define TCL_WIDE_INT_IS_LONG 1
+# else
+# define TCL_WIDE_INT_TYPE long long
+# endif
# endif /* __WIN32__ */
#endif /* !TCL_WIDE_INT_TYPE & !TCL_WIDE_INT_IS_LONG */
#ifdef TCL_WIDE_INT_IS_LONG