merge from gcc
authorDJ Delorie <dj@redhat.com>
Sun, 22 Jun 2003 00:06:14 +0000 (00:06 +0000)
committerDJ Delorie <dj@redhat.com>
Sun, 22 Jun 2003 00:06:14 +0000 (00:06 +0000)
include/ChangeLog
include/safe-ctype.h
libiberty/ChangeLog
libiberty/safe-ctype.c

index 1e321f470faa9723b41b0960ed2799f6368a171a..d26ba1d4e4442add3613f141c328a284db0f8489 100644 (file)
@@ -1,3 +1,8 @@
+2003-06-21  Zack Weinberg  <zack@codesourcery.com>
+
+       * safe-ctype.h (HC_UNKNOWN, HC_ASCII, HC_EBCDIC, HOST_CHARSET):
+       New #defines.
+
 2003-06-17  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * ansidecl.h: Delete HAVE_LONG_DOUBLE GCC bootstrap support.
index b2ad8490bd0454abadb28f1ad694c6a242bf36f4..c3e154c6f9f97cf1322d640a610d12c041678290 100644 (file)
@@ -37,7 +37,24 @@ Boston, MA 02111-1307, USA.  */
 
 #ifdef isalpha
  #error "safe-ctype.h and ctype.h may not be used simultaneously"
+#endif
+
+/* Determine host character set.  */
+#define HC_UNKNOWN 0
+#define HC_ASCII   1
+#define HC_EBCDIC  2
+
+#if  '\n' == 0x0A && ' ' == 0x20 && '0' == 0x30 \
+   && 'A' == 0x41 && 'a' == 0x61 && '!' == 0x21
+#  define HOST_CHARSET HC_ASCII
 #else
+# if '\n' == 0x15 && ' ' == 0x40 && '0' == 0xF0 \
+   && 'A' == 0xC1 && 'a' == 0x81 && '!' == 0x5A
+#  define HOST_CHARSET HC_EBCDIC
+# else
+#  define HOST_CHARSET HC_UNKNOWN
+# endif
+#endif
 
 /* Categories.  */
 
@@ -99,5 +116,4 @@ extern const unsigned char  _sch_tolower[256];
 #define TOUPPER(c) _sch_toupper[(c) & 0xff]
 #define TOLOWER(c) _sch_tolower[(c) & 0xff]
 
-#endif /* no ctype.h */
 #endif /* SAFE_CTYPE_H */
index 84d4bcdf16f46638dca4c9ce38daffa63f5ad120..b521127cbb0814089f1115e330000f52bb99cf6b 100644 (file)
@@ -1,3 +1,8 @@
+2003-06-21  Zack Weinberg  <zack@codesourcery.com>
+
+       * safe-ctype.c: Separate out EOF==-1 check.  Use HOST_CHARSET
+       for charset determination.
+
 2003-06-19  Dara Hazeghi  <dhazeghi@yahoo.com>
 
        * configure.in: Add check for malloc.h needed by
        free().
 
 2003-06-09  Albert Chin-A-Young  <china@thewrittenword.com>
-       
+
        PR bootstrap/10974
        * physmem.c: Update comment.
        * configure.in: Modify test for _system_configuration for older
        AIX systems.
 
        * config.in, configure: Regenerated.
-       
+
 2003-06-05  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
        PR other/10810
        ANSI_PROTOTYPES.
        * vsprintf.c: Include "ansidecl.h" earlier, rely on
        ANSI_PROTOTYPES and possibly include <stdarg.h>.
-       
+
        * Makefile.in: Regenerate dependencies.
 
 2003-04-15  DJ Delorie  <dj@redhat.com>
 2003-02-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
            Richard Earnshaw  <rearnsha@arm.com>
            Geoffrey Keating  <geoffk@apple.com>
-       
+
        * configure.in: Check for sys/sysctl.h and sysctl.
        * physmem.c: Add support for *bsd and darwin.
        * Makefile.in: Generate depedency for physmem.o.
        * physmem.c (physmem_total, physmem_available): De-ANSI-fy.
        * configure.in (AC_CHECK_FUNCS): Add pstat_getstatic and
        pstat_getdynamic.
-       
+
 2003-02-20  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
        * Makefile.in (CFILES): Add physmem.c.
index 3bac84bf68ac79c156fa6a1ea12ffed330e5a3ec..12d52d3bd889c1038365467dcc0a6d3f8d49fed6 100644 (file)
@@ -33,6 +33,10 @@ Boston, MA 02111-1307, USA.  */
 #include <safe-ctype.h>
 #include <stdio.h>  /* for EOF */
 
+#if EOF != -1
+ #error "<safe-ctype.h> requires EOF == -1"
+#endif
+
 /* Shorthand */
 #define bl _sch_isblank
 #define cn _sch_iscntrl
@@ -64,9 +68,7 @@ Boston, MA 02111-1307, USA.  */
 #define S  (const unsigned short) (nv|sp|bl|pr)        /* space */
 
 /* Are we ASCII? */
-#if '\n' == 0x0A && ' ' == 0x20 && '0' == 0x30 \
-  && 'A' == 0x41 && 'a' == 0x61 && '!' == 0x21 \
-  && EOF == -1
+#if HOST_CHARSET == HC_ASCII
 
 const unsigned short _sch_istable[256] =
 {
@@ -159,5 +161,9 @@ const unsigned char _sch_toupper[256] =
 };
 
 #else
- #error "Unsupported host character set"
-#endif /* not ASCII */
+# if HOST_CHARSET == HC_EBCDIC
+  #error "FIXME: write tables for EBCDIC"
+# else
+  #error "Unrecognized host character set"
+# endif
+#endif