summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2019-04-09 19:21:38 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2019-04-09 19:21:38 (GMT)
commitfbf45e053a5b4a14699f031f09afe7ee67c254ae (patch)
treef5979cf7c21cbbc65a30ec0073b2244e30df76fe /generic
parentbb3ef949858f5fa0190e37b1b7642dc29369e152 (diff)
parent869730bf85067c15e36cab14904da2bda45cb84a (diff)
downloadtcl-fbf45e053a5b4a14699f031f09afe7ee67c254ae.zip
tcl-fbf45e053a5b4a14699f031f09afe7ee67c254ae.tar.gz
tcl-fbf45e053a5b4a14699f031f09afe7ee67c254ae.tar.bz2
Merge 8.7. Complete implementation for MSVC and for UNIX.
Diffstat (limited to 'generic')
-rw-r--r--generic/tclBasic.c2
-rw-r--r--generic/tclBinary.c2
-rw-r--r--generic/tclDictObj.c2
-rw-r--r--generic/tclExecute.c2
-rw-r--r--generic/tclObj.c2
-rw-r--r--generic/tclScan.c2
-rw-r--r--generic/tclStrToD.c2
-rw-r--r--generic/tclStringObj.c2
-rw-r--r--generic/tclStubInit.c52
-rw-r--r--generic/tclTestObj.c2
-rw-r--r--generic/tclTomMathDecls.h150
-rw-r--r--generic/tclTomMathInterface.c2
-rw-r--r--generic/tclUtil.c2
-rw-r--r--generic/tclVar.c2
-rw-r--r--generic/tclZlib.c2
15 files changed, 189 insertions, 39 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c
index 1806557..fc8e05e 100644
--- a/generic/tclBasic.c
+++ b/generic/tclBasic.c
@@ -20,7 +20,7 @@
#include "tclInt.h"
#include "tclOOInt.h"
#include "tclCompile.h"
-#include "tommath.h"
+#include "tclTomMath.h"
#include <math.h>
#include <assert.h>
diff --git a/generic/tclBinary.c b/generic/tclBinary.c
index 1f78d18..329648e 100644
--- a/generic/tclBinary.c
+++ b/generic/tclBinary.c
@@ -12,7 +12,7 @@
*/
#include "tclInt.h"
-#include "tommath.h"
+#include "tclTomMath.h"
#include <math.h>
#include <assert.h>
diff --git a/generic/tclDictObj.c b/generic/tclDictObj.c
index baf96a8..2ae48ca 100644
--- a/generic/tclDictObj.c
+++ b/generic/tclDictObj.c
@@ -11,7 +11,7 @@
*/
#include "tclInt.h"
-#include "tommath.h"
+#include "tclTomMath.h"
#include <assert.h>
/*
diff --git a/generic/tclExecute.c b/generic/tclExecute.c
index 680bdd0..2feee93 100644
--- a/generic/tclExecute.c
+++ b/generic/tclExecute.c
@@ -18,7 +18,7 @@
#include "tclInt.h"
#include "tclCompile.h"
#include "tclOOInt.h"
-#include "tommath.h"
+#include "tclTomMath.h"
#include <math.h>
#include <assert.h>
diff --git a/generic/tclObj.c b/generic/tclObj.c
index f233038..45bff8b 100644
--- a/generic/tclObj.c
+++ b/generic/tclObj.c
@@ -15,7 +15,7 @@
*/
#include "tclInt.h"
-#include "tommath.h"
+#include "tclTomMath.h"
#include <math.h>
#include <assert.h>
diff --git a/generic/tclScan.c b/generic/tclScan.c
index 74ec2da..e2fd9bf 100644
--- a/generic/tclScan.c
+++ b/generic/tclScan.c
@@ -10,7 +10,7 @@
*/
#include "tclInt.h"
-#include "tommath.h"
+#include "tclTomMath.h"
/*
* Flag values used by Tcl_ScanObjCmd.
diff --git a/generic/tclStrToD.c b/generic/tclStrToD.c
index e7cb2c5..346503b 100644
--- a/generic/tclStrToD.c
+++ b/generic/tclStrToD.c
@@ -14,7 +14,7 @@
*/
#include "tclInt.h"
-#include "tommath.h"
+#include "tclTomMath.h"
#include <math.h>
/*
diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c
index 4dd334d..9dde8f0 100644
--- a/generic/tclStringObj.c
+++ b/generic/tclStringObj.c
@@ -35,7 +35,7 @@
*/
#include "tclInt.h"
-#include "tommath.h"
+#include "tclTomMath.h"
#include "tclStringRep.h"
#include "assert.h"
diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c
index 06f251a..5405ec4 100644
--- a/generic/tclStubInit.c
+++ b/generic/tclStubInit.c
@@ -92,8 +92,6 @@
#define TclBN_mp_init_set mp_init_set
#define TclBN_mp_init_set_int mp_init_set_int
#define TclBN_mp_init_size mp_init_size
-#define TclBN_mp_karatsuba_mul mp_karatsuba_mul
-#define TclBN_mp_karatsuba_sqr mp_karatsuba_sqr
#define TclBN_mp_lshd mp_lshd
#define TclBN_mp_mod mp_mod
#define TclBN_mp_mod_2d mp_mod_2d
@@ -121,23 +119,10 @@
#define TclBN_mp_tc_xor mp_tc_xor
#define TclBN_mp_to_unsigned_bin mp_to_unsigned_bin
#define TclBN_mp_to_unsigned_bin_n mp_to_unsigned_bin_n
-#define TclBN_mp_toom_mul mp_toom_mul
-#define TclBN_mp_toom_sqr mp_toom_sqr
#define TclBN_mp_toradix_n mp_toradix_n
#define TclBN_mp_unsigned_bin_size mp_unsigned_bin_size
#define TclBN_mp_xor mp_xor
#define TclBN_mp_zero mp_zero
-#define TclBN_reverse bn_reverse
-#define TclBN_fast_s_mp_mul_digs fast_s_mp_mul_digs
-#define TclBN_fast_s_mp_sqr fast_s_mp_sqr
-#define TclBN_mp_karatsuba_mul mp_karatsuba_mul
-#define TclBN_mp_karatsuba_sqr mp_karatsuba_sqr
-#define TclBN_mp_toom_mul mp_toom_mul
-#define TclBN_mp_toom_sqr mp_toom_sqr
-#define TclBN_s_mp_add s_mp_add
-#define TclBN_s_mp_mul_digs s_mp_mul_digs
-#define TclBN_s_mp_sqr s_mp_sqr
-#define TclBN_s_mp_sub s_mp_sub
#define TclBN_mp_init_set_int mp_init_set_int
#define TclBN_mp_set_int mp_set_int
#define TclBN_mp_cnt_lsb mp_cnt_lsb
@@ -153,6 +138,32 @@
#define TclBN_mp_tc_div_2d mp_tc_div_2d
#define TclBN_mp_get_bit mp_get_bit
+#if !defined(TCL_NO_DEPRECATED) && (!defined(_WIN32) || defined(STATIC_BUILD))
+#define TclBN_reverse bn_reverse
+#define TclBN_fast_s_mp_mul_digs fast_s_mp_mul_digs
+#define TclBN_fast_s_mp_sqr fast_s_mp_sqr
+#define TclBN_mp_karatsuba_mul mp_karatsuba_mul
+#define TclBN_mp_karatsuba_sqr mp_karatsuba_sqr
+#define TclBN_mp_toom_mul mp_toom_mul
+#define TclBN_mp_toom_sqr mp_toom_sqr
+#define TclBN_s_mp_add s_mp_add
+#define TclBN_s_mp_mul_digs s_mp_mul_digs
+#define TclBN_s_mp_sqr s_mp_sqr
+#define TclBN_s_mp_sub s_mp_sub
+#else
+#define TclBN_reverse 0
+#define TclBN_fast_s_mp_mul_digs 0
+#define TclBN_fast_s_mp_sqr 0
+#define TclBN_mp_karatsuba_mul 0
+#define TclBN_mp_karatsuba_sqr 0
+#define TclBN_mp_toom_mul 0
+#define TclBN_mp_toom_sqr 0
+#define TclBN_s_mp_add 0
+#define TclBN_s_mp_mul_digs 0
+#define TclBN_s_mp_sqr 0
+#define TclBN_s_mp_sub 0
+#endif
+
/* See bug 510001: TclSockMinimumBuffers needs plat imp */
#if defined(_WIN64) || defined(TCL_NO_DEPRECATED) || TCL_MAJOR_VERSION > 8
# define TclSockMinimumBuffersOld 0
@@ -510,17 +521,6 @@ static int uniCharNcasecmp(const Tcl_UniChar *ucs, const Tcl_UniChar *uct, unsig
# define TclOldFreeObj 0
# undef Tcl_StringMatch
# define Tcl_StringMatch 0
-# define TclBN_reverse 0
-# define TclBN_fast_s_mp_mul_digs 0
-# define TclBN_fast_s_mp_sqr 0
-# define TclBN_mp_karatsuba_mul 0
-# define TclBN_mp_karatsuba_sqr 0
-# define TclBN_mp_toom_mul 0
-# define TclBN_mp_toom_sqr 0
-# define TclBN_s_mp_add 0
-# define TclBN_s_mp_mul_digs 0
-# define TclBN_s_mp_sqr 0
-# define TclBN_s_mp_sub 0
#else /* TCL_NO_DEPRECATED */
# define Tcl_SeekOld seekOld
# define Tcl_TellOld tellOld
diff --git a/generic/tclTestObj.c b/generic/tclTestObj.c
index a289e32..30af177 100644
--- a/generic/tclTestObj.c
+++ b/generic/tclTestObj.c
@@ -18,7 +18,7 @@
# define USE_TCL_STUBS
#endif
#include "tclInt.h"
-#include "tommath.h"
+#include "tclTomMath.h"
#include "tclStringRep.h"
diff --git a/generic/tclTomMathDecls.h b/generic/tclTomMathDecls.h
index afe704f..048d184 100644
--- a/generic/tclTomMathDecls.h
+++ b/generic/tclTomMathDecls.h
@@ -631,6 +631,156 @@ extern const TclTomMathStubs *tclTomMathStubsPtr;
/* !END!: Do not edit above this line. */
+#if defined(USE_TCL_STUBS)
+#define mp_add \
+ (tclTomMathStubsPtr->tclBN_mp_add) /* 2 */
+#define mp_add_d \
+ (tclTomMathStubsPtr->tclBN_mp_add_d) /* 3 */
+#define mp_and \
+ (tclTomMathStubsPtr->tclBN_mp_and) /* 4 */
+#define mp_clamp \
+ (tclTomMathStubsPtr->tclBN_mp_clamp) /* 5 */
+#define mp_clear \
+ (tclTomMathStubsPtr->tclBN_mp_clear) /* 6 */
+#define mp_clear_multi \
+ (tclTomMathStubsPtr->tclBN_mp_clear_multi) /* 7 */
+#define mp_cmp \
+ (tclTomMathStubsPtr->tclBN_mp_cmp) /* 8 */
+#define mp_cmp_d \
+ (tclTomMathStubsPtr->tclBN_mp_cmp_d) /* 9 */
+#define mp_cmp_mag \
+ (tclTomMathStubsPtr->tclBN_mp_cmp_mag) /* 10 */
+#define mp_copy \
+ (tclTomMathStubsPtr->tclBN_mp_copy) /* 11 */
+#define mp_count_bits \
+ (tclTomMathStubsPtr->tclBN_mp_count_bits) /* 12 */
+#define mp_div \
+ (tclTomMathStubsPtr->tclBN_mp_div) /* 13 */
+#define mp_div_d \
+ (tclTomMathStubsPtr->tclBN_mp_div_d) /* 14 */
+#define mp_div_2 \
+ (tclTomMathStubsPtr->tclBN_mp_div_2) /* 15 */
+#define mp_div_2d \
+ (tclTomMathStubsPtr->tclBN_mp_div_2d) /* 16 */
+#define mp_div_3 \
+ (tclTomMathStubsPtr->tclBN_mp_div_3) /* 17 */
+#define mp_exch \
+ (tclTomMathStubsPtr->tclBN_mp_exch) /* 18 */
+#define mp_expt_d \
+ (tclTomMathStubsPtr->tclBN_mp_expt_d) /* 19 */
+#define mp_grow \
+ (tclTomMathStubsPtr->tclBN_mp_grow) /* 20 */
+#define mp_init \
+ (tclTomMathStubsPtr->tclBN_mp_init) /* 21 */
+#define mp_init_copy \
+ (tclTomMathStubsPtr->tclBN_mp_init_copy) /* 22 */
+#define mp_init_multi \
+ (tclTomMathStubsPtr->tclBN_mp_init_multi) /* 23 */
+#define mp_init_set \
+ (tclTomMathStubsPtr->tclBN_mp_init_set) /* 24 */
+#define mp_init_size \
+ (tclTomMathStubsPtr->tclBN_mp_init_size) /* 25 */
+#define mp_lshd \
+ (tclTomMathStubsPtr->tclBN_mp_lshd) /* 26 */
+#define mp_mod \
+ (tclTomMathStubsPtr->tclBN_mp_mod) /* 27 */
+#define mp_mod_2d \
+ (tclTomMathStubsPtr->tclBN_mp_mod_2d) /* 28 */
+#define mp_mul \
+ (tclTomMathStubsPtr->tclBN_mp_mul) /* 29 */
+#define mp_mul_d \
+ (tclTomMathStubsPtr->tclBN_mp_mul_d) /* 30 */
+#define mp_mul_2 \
+ (tclTomMathStubsPtr->tclBN_mp_mul_2) /* 31 */
+#define mp_mul_2d \
+ (tclTomMathStubsPtr->tclBN_mp_mul_2d) /* 32 */
+#define mp_neg \
+ (tclTomMathStubsPtr->tclBN_mp_neg) /* 33 */
+#define mp_or \
+ (tclTomMathStubsPtr->tclBN_mp_or) /* 34 */
+#define mp_radix_size \
+ (tclTomMathStubsPtr->tclBN_mp_radix_size) /* 35 */
+#define mp_read_radix \
+ (tclTomMathStubsPtr->tclBN_mp_read_radix) /* 36 */
+#define mp_rshd \
+ (tclTomMathStubsPtr->tclBN_mp_rshd) /* 37 */
+#define mp_shrink \
+ (tclTomMathStubsPtr->tclBN_mp_shrink) /* 38 */
+#define mp_set \
+ (tclTomMathStubsPtr->tclBN_mp_set) /* 39 */
+#define mp_sqr \
+ (tclTomMathStubsPtr->tclBN_mp_sqr) /* 40 */
+#define mp_sqrt \
+ (tclTomMathStubsPtr->tclBN_mp_sqrt) /* 41 */
+#define mp_sub \
+ (tclTomMathStubsPtr->tclBN_mp_sub) /* 42 */
+#define mp_sub_d \
+ (tclTomMathStubsPtr->tclBN_mp_sub_d) /* 43 */
+#define mp_to_unsigned_bin \
+ (tclTomMathStubsPtr->tclBN_mp_to_unsigned_bin) /* 44 */
+#define mp_to_unsigned_bin_n \
+ (tclTomMathStubsPtr->tclBN_mp_to_unsigned_bin_n) /* 45 */
+#define mp_toradix_n \
+ (tclTomMathStubsPtr->tclBN_mp_toradix_n) /* 46 */
+#define mp_unsigned_bin_size \
+ (tclTomMathStubsPtr->tclBN_mp_unsigned_bin_size) /* 47 */
+#define mp_xor \
+ (tclTomMathStubsPtr->tclBN_mp_xor) /* 48 */
+#define mp_zero \
+ (tclTomMathStubsPtr->tclBN_mp_zero) /* 49 */
+#define TclBN_reverse \
+ (tclTomMathStubsPtr->tclBN_reverse) /* 50 */
+#define TclBN_fast_s_mp_mul_digs \
+ (tclTomMathStubsPtr->tclBN_fast_s_mp_mul_digs) /* 51 */
+#define TclBN_fast_s_mp_sqr \
+ (tclTomMathStubsPtr->tclBN_fast_s_mp_sqr) /* 52 */
+#define mp_karatsuba_mul \
+ (tclTomMathStubsPtr->tclBN_mp_karatsuba_mul) /* 53 */
+#define mp_karatsuba_sqr \
+ (tclTomMathStubsPtr->tclBN_mp_karatsuba_sqr) /* 54 */
+#define mp_toom_mul \
+ (tclTomMathStubsPtr->tclBN_mp_toom_mul) /* 55 */
+#define mp_toom_sqr \
+ (tclTomMathStubsPtr->tclBN_mp_toom_sqr) /* 56 */
+#define TclBN_s_mp_add \
+ (tclTomMathStubsPtr->tclBN_s_mp_add) /* 57 */
+#define TclBN_s_mp_mul_digs \
+ (tclTomMathStubsPtr->tclBN_s_mp_mul_digs) /* 58 */
+#define TclBN_s_mp_sqr \
+ (tclTomMathStubsPtr->tclBN_s_mp_sqr) /* 59 */
+#define TclBN_s_mp_sub \
+ (tclTomMathStubsPtr->tclBN_s_mp_sub) /* 60 */
+#define mp_init_set_int \
+ (tclTomMathStubsPtr->tclBN_mp_init_set_int) /* 61 */
+#define mp_set_int \
+ (tclTomMathStubsPtr->tclBN_mp_set_int) /* 62 */
+#define mp_cnt_lsb \
+ (tclTomMathStubsPtr->tclBN_mp_cnt_lsb) /* 63 */
+#define mp_expt_d_ex \
+ (tclTomMathStubsPtr->tclBN_mp_expt_d_ex) /* 67 */
+#define mp_set_long_long \
+ (tclTomMathStubsPtr->tclBN_mp_set_long_long) /* 68 */
+#define mp_get_long_long \
+ (tclTomMathStubsPtr->tclBN_mp_get_long_long) /* 69 */
+#define mp_set_long \
+ (tclTomMathStubsPtr->tclBN_mp_set_long) /* 70 */
+#define mp_get_long \
+ (tclTomMathStubsPtr->tclBN_mp_get_long) /* 71 */
+#define mp_get_int \
+ (tclTomMathStubsPtr->tclBN_mp_get_int) /* 72 */
+#define mp_tc_and \
+ (tclTomMathStubsPtr->tclBN_mp_tc_and) /* 73 */
+#define mp_tc_or \
+ (tclTomMathStubsPtr->tclBN_mp_tc_or) /* 74 */
+#define mp_tc_xor \
+ (tclTomMathStubsPtr->tclBN_mp_tc_xor) /* 75 */
+#define mp_tc_div_2d \
+ (tclTomMathStubsPtr->tclBN_mp_tc_div_2d) /* 76 */
+#define mp_get_bit \
+ (tclTomMathStubsPtr->tclBN_mp_get_bit) /* 77 */
+#endif /* defined(USE_TCL_STUBS) */
+
+
#undef TCL_STORAGE_CLASS
#define TCL_STORAGE_CLASS DLLIMPORT
diff --git a/generic/tclTomMathInterface.c b/generic/tclTomMathInterface.c
index 236a8cf..9639565 100644
--- a/generic/tclTomMathInterface.c
+++ b/generic/tclTomMathInterface.c
@@ -13,7 +13,7 @@
*/
#include "tclInt.h"
-#include "tommath.h"
+#include "tclTomMath.h"
MODULE_SCOPE const TclTomMathStubs tclTomMathStubs;
diff --git a/generic/tclUtil.c b/generic/tclUtil.c
index 2889852..3875502 100644
--- a/generic/tclUtil.c
+++ b/generic/tclUtil.c
@@ -15,7 +15,7 @@
#include "tclInt.h"
#include "tclParse.h"
#include "tclStringTrim.h"
-#include "tommath.h"
+#include "tclTomMath.h"
#include <math.h>
/*
diff --git a/generic/tclVar.c b/generic/tclVar.c
index affc848..e400369 100644
--- a/generic/tclVar.c
+++ b/generic/tclVar.c
@@ -736,7 +736,7 @@ TclObjLookupVarEx(
* radical and destructive, so a better idea would be welcome.
*/
- /*
+ /*
* Firstly set cached local var reference (avoid free before set,
* see [45b9faf103f2])
*/
diff --git a/generic/tclZlib.c b/generic/tclZlib.c
index 5a7abec..8dbe807 100644
--- a/generic/tclZlib.c
+++ b/generic/tclZlib.c
@@ -422,7 +422,7 @@ GenerateHeader(
{
Tcl_Obj *value;
int len, result = TCL_ERROR;
- Tcl_WideInt wideValue;
+ Tcl_WideInt wideValue = 0;
const char *valueStr;
Tcl_Encoding latin1enc;
static const char *const types[] = {