Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2015-11-20 20:03:05 +0300
committerCorinna Vinschen <corinna@vinschen.de>2015-11-20 20:03:05 +0300
commit51bf1b81f3c4c7c02d8101f8ab6eb5609892e728 (patch)
treeebae89c9758e456413847d5de99de8444efb7c01
parentb5d8a403eca4b15e4e5a9bc5dd6a85780e6e1d3f (diff)
Make match function globally available to stdlib functions.
* libc/stdlib/strtod.c (match): Move from here... * libc/stdlib/gdtoa-hexnan.c (match): ...to here. * libc/stdlib/mprec.h (match): Declare and add __match define. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
-rw-r--r--newlib/ChangeLog6
-rw-r--r--newlib/libc/stdlib/gdtoa-hexnan.c18
-rw-r--r--newlib/libc/stdlib/mprec.h2
-rw-r--r--newlib/libc/stdlib/strtod.c21
4 files changed, 26 insertions, 21 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index d37a378c8..27e19a1ab 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,5 +1,11 @@
2015-11-20 Corinna Vinschen <corinna@vinschen.de>
+ * libc/stdlib/strtod.c (match): Move from here...
+ * libc/stdlib/gdtoa-hexnan.c (match): ...to here.
+ * libc/stdlib/mprec.h (match): Declare and add __match define.
+
+2015-11-20 Corinna Vinschen <corinna@vinschen.de>
+
* libc/stdlib/wcstold.c (_strtold): Drop unused declaration.
2015-11-19 Yaakov Selkowitz <yselkowi@redhat.com>
diff --git a/newlib/libc/stdlib/gdtoa-hexnan.c b/newlib/libc/stdlib/gdtoa-hexnan.c
index 463000528..24e3783be 100644
--- a/newlib/libc/stdlib/gdtoa-hexnan.c
+++ b/newlib/libc/stdlib/gdtoa-hexnan.c
@@ -44,6 +44,24 @@ THIS SOFTWARE.
#include "gdtoa.h"
#ifdef INFNAN_CHECK
+int
+_DEFUN (match, (sp, t),
+ _CONST char **sp _AND
+ char *t)
+{
+ int c, d;
+ _CONST char *s = *sp;
+
+ while( (d = *t++) !=0) {
+ if ((c = *++s) >= 'A' && c <= 'Z')
+ c += 'a' - 'A';
+ if (c != d)
+ return 0;
+ }
+ *sp = s + 1;
+ return 1;
+}
+
static void
_DEFUN (L_shift, (x, x1, i),
__ULong *x _AND
diff --git a/newlib/libc/stdlib/mprec.h b/newlib/libc/stdlib/mprec.h
index d4732ca8c..8472e7db0 100644
--- a/newlib/libc/stdlib/mprec.h
+++ b/newlib/libc/stdlib/mprec.h
@@ -360,6 +360,7 @@ typedef struct _Bigint _Bigint;
#define mult __multiply
#define pow5mult __pow5mult
#define lshift __lshift
+#define match __match
#define cmp __mcmp
#define diff __mdiff
#define ulp __ulp
@@ -396,6 +397,7 @@ int _EXFUN(hi0bits,(__ULong));
int _EXFUN(lo0bits,(__ULong *));
_Bigint * _EXFUN(d2b,(struct _reent *p, double d, int *e, int *bits));
_Bigint * _EXFUN(lshift,(struct _reent *p, _Bigint *b, int k));
+int _EXFUN(match,(const char**, char*));
_Bigint * _EXFUN(diff,(struct _reent *p, _Bigint *a, _Bigint *b));
int _EXFUN(cmp,(_Bigint *a, _Bigint *b));
int _EXFUN(gethex,(struct _reent *p, _CONST char **sp, _CONST struct FPI *fpi, Long *exp, _Bigint **bp, int sign));
diff --git a/newlib/libc/stdlib/strtod.c b/newlib/libc/stdlib/strtod.c
index 9b064f4a8..433dc7f32 100644
--- a/newlib/libc/stdlib/strtod.c
+++ b/newlib/libc/stdlib/strtod.c
@@ -212,27 +212,6 @@ _DEFUN (ULtod, (L, bits, exp, k),
}
#endif /* !NO_HEX_FP */
-#ifdef INFNAN_CHECK
-static int
-_DEFUN (match, (sp, t),
- _CONST char **sp _AND
- char *t)
-{
- int c, d;
- _CONST char *s = *sp;
-
- while( (d = *t++) !=0) {
- if ((c = *++s) >= 'A' && c <= 'Z')
- c += 'a' - 'A';
- if (c != d)
- return 0;
- }
- *sp = s + 1;
- return 1;
-}
-#endif /* INFNAN_CHECK */
-
-
double
_DEFUN (_strtod_r, (ptr, s00, se),
struct _reent *ptr _AND