diff options
author | dgp <dgp@users.sourceforge.net> | 2021-01-15 22:01:20 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2021-01-15 22:01:20 (GMT) |
commit | 120e20626993d6ea54626bd97ee13d70363534fb (patch) | |
tree | a6b727ed88237449e74b519f1a7f56847fd86831 /generic | |
parent | 3d5d443c72f5b384643fecf9bdaa1c20800261bd (diff) | |
parent | dbd3f823aa0643083cc896c944c8188782f84153 (diff) | |
download | tcl-120e20626993d6ea54626bd97ee13d70363534fb.zip tcl-120e20626993d6ea54626bd97ee13d70363534fb.tar.gz tcl-120e20626993d6ea54626bd97ee13d70363534fb.tar.bz2 |
merge 8.7
Diffstat (limited to 'generic')
-rw-r--r-- | generic/regc_lex.c | 2 | ||||
-rw-r--r-- | generic/tclStrToD.c | 25 | ||||
-rw-r--r-- | generic/tclStubInit.c | 3 | ||||
-rw-r--r-- | generic/tclTomMath.decls | 4 | ||||
-rw-r--r-- | generic/tclTomMathDecls.h | 12 |
5 files changed, 32 insertions, 14 deletions
diff --git a/generic/regc_lex.c b/generic/regc_lex.c index 2914cbb..2c0ddeb 100644 --- a/generic/regc_lex.c +++ b/generic/regc_lex.c @@ -1005,7 +1005,7 @@ brenext( if (LASTTYPE(EMPTY) || LASTTYPE('(') || LASTTYPE('^')) { RETV(PLAIN, c); } - RET('*'); + RETV('*', 1); break; case CHR('['): if (HAVE(6) && *(v->now+0) == CHR('[') && diff --git a/generic/tclStrToD.c b/generic/tclStrToD.c index 7aee804..b213bed 100644 --- a/generic/tclStrToD.c +++ b/generic/tclStrToD.c @@ -22,6 +22,11 @@ #define copysign _copysign #endif +#ifndef PRIx64 +# define PRIx64 TCL_LL_MODIFIER "x" +#endif + + /* * This code supports (at least hypothetically), IBM, Cray, VAX and IEEE-754 * floating point; of these, only IEEE-754 can represent NaN. IEEE-754 can be @@ -899,12 +904,14 @@ TclParseNumber( under = 0; state = BINARY; break; - } else if (c == '_' && !(flags & TCL_PARSE_NO_UNDERSCORE)) { - /* Ignore numeric "white space" */ - under = 1; - break; + } else if (c == '_' && !(flags & TCL_PARSE_NO_UNDERSCORE)) { + /* Ignore numeric "white space" */ + under = 1; + break; } else if (c != '1') { goto endgame; + } else { + under = 0; } if (objPtr != NULL) { shift = numTrailZeros + 1; @@ -944,11 +951,11 @@ TclParseNumber( under = 0; numTrailZeros++; } else if ( ! isdigit(UCHAR(c))) { - if (c == '_' && !(flags & TCL_PARSE_NO_UNDERSCORE)) { - /* Ignore numeric "white space" */ - under = 1; - break; - } + if (c == '_' && !(flags & TCL_PARSE_NO_UNDERSCORE)) { + /* Ignore numeric "white space" */ + under = 1; + break; + } goto endgame; } under = 0; diff --git a/generic/tclStubInit.c b/generic/tclStubInit.c index 6bd6e53..e29330b 100644 --- a/generic/tclStubInit.c +++ b/generic/tclStubInit.c @@ -138,6 +138,7 @@ static void uniCodePanic(void) { #define TclBN_mp_to_radix mp_to_radix #define TclBN_mp_to_ubin mp_to_ubin #define TclBN_mp_ubin_size mp_ubin_size +#define TclBN_mp_unpack mp_unpack #define TclBN_mp_xor mp_xor #define TclBN_mp_zero mp_zero #define TclBN_s_mp_add s_mp_add @@ -1199,7 +1200,7 @@ const TclTomMathStubs tclTomMathStubs = { TclBN_mp_set_u64, /* 68 */ TclBN_mp_get_mag_u64, /* 69 */ TclBN_mp_set_i64, /* 70 */ - 0, /* 71 */ + TclBN_mp_unpack, /* 71 */ 0, /* 72 */ TclBN_mp_tc_and, /* 73 */ TclBN_mp_tc_or, /* 74 */ diff --git a/generic/tclTomMath.decls b/generic/tclTomMath.decls index 9d6eb1c..5ea16f1 100644 --- a/generic/tclTomMath.decls +++ b/generic/tclTomMath.decls @@ -244,6 +244,10 @@ declare 69 { declare 70 { void TclBN_mp_set_i64(mp_int *a, int64_t i) } +declare 71 { + mp_err MP_WUR TclBN_mp_unpack(mp_int *rop, size_t count, mp_order order, size_t size, + mp_endian endian, size_t nails, const void *op) +} # Added in libtommath 1.1.0 declare 73 {deprecated {merged with mp_and}} { diff --git a/generic/tclTomMathDecls.h b/generic/tclTomMathDecls.h index 1427e8b..4c1505f 100644 --- a/generic/tclTomMathDecls.h +++ b/generic/tclTomMathDecls.h @@ -141,6 +141,7 @@ MODULE_SCOPE mp_err TclBN_s_mp_sub_d(const mp_int *a, mp_digit b, mp_int *c); #define mp_to_radix TclBN_mp_to_radix #define mp_to_ubin TclBN_mp_to_ubin #define mp_ubin_size TclBN_mp_ubin_size +#define mp_unpack TclBN_mp_unpack #define mp_xor TclBN_mp_xor #define mp_zero TclBN_mp_zero #define s_mp_add TclBN_s_mp_add @@ -379,7 +380,11 @@ EXTERN void TclBN_mp_set_u64(mp_int *a, uint64_t i); EXTERN uint64_t TclBN_mp_get_mag_u64(const mp_int *a) MP_WUR; /* 70 */ EXTERN void TclBN_mp_set_i64(mp_int *a, int64_t i); -/* Slot 71 is reserved */ +/* 71 */ +EXTERN mp_err TclBN_mp_unpack(mp_int *rop, size_t count, + mp_order order, size_t size, + mp_endian endian, size_t nails, + const void *op) MP_WUR; /* Slot 72 is reserved */ /* 73 */ TCL_DEPRECATED("merged with mp_and") @@ -482,7 +487,7 @@ typedef struct TclTomMathStubs { void (*tclBN_mp_set_u64) (mp_int *a, uint64_t i); /* 68 */ uint64_t (*tclBN_mp_get_mag_u64) (const mp_int *a) MP_WUR; /* 69 */ void (*tclBN_mp_set_i64) (mp_int *a, int64_t i); /* 70 */ - void (*reserved71)(void); + mp_err (*tclBN_mp_unpack) (mp_int *rop, size_t count, mp_order order, size_t size, mp_endian endian, size_t nails, const void *op) MP_WUR; /* 71 */ void (*reserved72)(void); TCL_DEPRECATED_API("merged with mp_and") mp_err (*tclBN_mp_tc_and) (const mp_int *a, const mp_int *b, mp_int *c); /* 73 */ TCL_DEPRECATED_API("merged with mp_or") mp_err (*tclBN_mp_tc_or) (const mp_int *a, const mp_int *b, mp_int *c); /* 74 */ @@ -648,7 +653,8 @@ extern const TclTomMathStubs *tclTomMathStubsPtr; (tclTomMathStubsPtr->tclBN_mp_get_mag_u64) /* 69 */ #define TclBN_mp_set_i64 \ (tclTomMathStubsPtr->tclBN_mp_set_i64) /* 70 */ -/* Slot 71 is reserved */ +#define TclBN_mp_unpack \ + (tclTomMathStubsPtr->tclBN_mp_unpack) /* 71 */ /* Slot 72 is reserved */ #define TclBN_mp_tc_and \ (tclTomMathStubsPtr->tclBN_mp_tc_and) /* 73 */ |