summaryrefslogtreecommitdiffstats
path: root/generic/tclStrToD.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2006-06-21 03:10:38 (GMT)
committerdgp <dgp@users.sourceforge.net>2006-06-21 03:10:38 (GMT)
commit91cc250daf9aa5acf716c0ca9bf549d6425721ad (patch)
tree30cb949d48ee47880f9006db35d4132ddddcdcfa /generic/tclStrToD.c
parent641e35486f4483506ffcdba37e016ce03ddc3f9a (diff)
downloadtcl-91cc250daf9aa5acf716c0ca9bf549d6425721ad.zip
tcl-91cc250daf9aa5acf716c0ca9bf549d6425721ad.tar.gz
tcl-91cc250daf9aa5acf716c0ca9bf549d6425721ad.tar.bz2
* generic/tclIOUtil.c: Changed default configuration to
* generic/tclInt.decls: #undef USE_OBSOLETE_FS_HOOKS which disables * generic/tclTest.c: access to the Tcl 8.3 internal routines for hooking into filesystem operations. Everyone ought to have migrated to Tcl_Filesystems by now. ***POTENTIAL INCOMPATIBILITY*** for any code still stuck in the pre-Tcl_Filesystem era. * generic/tclIntDecls.h: make genstubs * generic/tclStubInit.c: * generic/tclStrToD.c: Removed dead code that permitted disabling of recognition of the new 0b and 0o numeric formats. * generic/tclExecute.c: Removed dead code that implemented alternative * generic/tclObj.c: design where numeric values did not automatically narrow to the smallest Tcl_ObjType required to hold them.
Diffstat (limited to 'generic/tclStrToD.c')
-rwxr-xr-xgeneric/tclStrToD.c29
1 files changed, 3 insertions, 26 deletions
diff --git a/generic/tclStrToD.c b/generic/tclStrToD.c
index 369dab9..5b7993c 100755
--- a/generic/tclStrToD.c
+++ b/generic/tclStrToD.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: tclStrToD.c,v 1.22 2006/04/26 13:42:43 dgp Exp $
+ * RCS: @(#) $Id: tclStrToD.c,v 1.23 2006/06/21 03:10:39 dgp Exp $
*
*----------------------------------------------------------------------
*/
@@ -29,19 +29,12 @@
#include <tommath.h>
/*
- * Define TIP_114_FORMATS to accept 0b and 0o for binary and octal strings.
- * Define KILL_OCTAL as well as TIP_114_FORMATS to suppress interpretation of
- * numbers with leading zero as octal. (Ceterum censeo: numeros octonarios
- * delendos esse.)
+ * Define KILL_OCTAL to suppress interpretation of numbers with leading zero
+ * as octal. (Ceterum censeo: numeros octonarios delendos esse.)
*/
-#define TIP_114_FORMATS
#undef KILL_OCTAL
-#ifndef TIP_114_FORMATS
-#undef KILL_OCTAL
-#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
@@ -262,9 +255,7 @@ TclParseNumber(
{
enum State {
INITIAL, SIGNUM, ZERO, ZERO_X,
-#ifdef TIP_114_FORMATS
ZERO_O, ZERO_B, BINARY,
-#endif
HEXADECIMAL, OCTAL, BAD_OCTAL, DECIMAL,
LEADING_RADIX_POINT, FRACTION,
EXPONENT_START, EXPONENT_SIGNUM, EXPONENT,
@@ -310,9 +301,7 @@ TclParseNumber(
char d = 0; /* Last hexadecimal digit scanned; initialized
* to avoid a compiler warning. */
int shift = 0; /* Amount to shift when accumulating binary */
-#ifdef TIP_114_FORMATS
int explicitOctal = 0;
-#endif
#define ALL_BITS (~(Tcl_WideUInt)0)
#define MOST_BITS (ALL_BITS >> 1)
@@ -411,7 +400,6 @@ TclParseNumber(
if (flags & TCL_PARSE_HEXADECIMAL_ONLY) {
goto zerox;
}
-#ifdef TIP_114_FORMATS
if (flags & TCL_PARSE_SCAN_PREFIXES) {
goto zeroo;
}
@@ -427,7 +415,6 @@ TclParseNumber(
#ifdef KILL_OCTAL
goto decimal;
#endif
-#endif
/* FALLTHROUGH */
case OCTAL:
@@ -440,10 +427,8 @@ TclParseNumber(
acceptState = state;
acceptPoint = p;
acceptLen = len;
-#ifdef TIP_114_FORMATS
/* FALLTHROUGH */
case ZERO_O:
-#endif
zeroo:
if (c == '0') {
++numTrailZeros;
@@ -495,7 +480,6 @@ TclParseNumber(
/* FALLTHROUGH */
case BAD_OCTAL:
-#ifdef TIP_114_FORMATS
if (explicitOctal) {
/*
* No forgiveness for bad digits in explicitly octal
@@ -504,7 +488,6 @@ TclParseNumber(
goto endgame;
}
-#endif
if (flags & TCL_PARSE_INTEGER_ONLY) {
/*
* No seeking floating point when parsing only integer.
@@ -604,7 +587,6 @@ TclParseNumber(
state = HEXADECIMAL;
break;
-#ifdef TIP_114_FORMATS
case BINARY:
acceptState = state;
acceptPoint = p;
@@ -644,7 +626,6 @@ TclParseNumber(
numTrailZeros = 0;
state = BINARY;
break;
-#endif
case DECIMAL:
/*
@@ -928,10 +909,8 @@ TclParseNumber(
case SIGNUM:
case BAD_OCTAL:
case ZERO_X:
-#ifdef TIP_114_FORMATS
case ZERO_O:
case ZERO_B:
-#endif
case LEADING_RADIX_POINT:
case EXPONENT_START:
case EXPONENT_SIGNUM:
@@ -948,7 +927,6 @@ TclParseNumber(
Tcl_Panic("TclParseNumber: bad acceptState %d parsing '%s'",
acceptState, bytes);
-#ifdef TIP_114_FORMATS
case BINARY:
shift = numTrailZeros;
if (!significandOverflow && significandWide != 0 &&
@@ -965,7 +943,6 @@ TclParseNumber(
}
}
goto returnInteger;
-#endif
case HEXADECIMAL:
/*