Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 28 May 2002 05:26:16 +0000 (05:26 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 28 May 2002 05:26:16 +0000 (05:26 +0000)
2002-05-27  Alexandre Oliva  <aoliva@redhat.com>

* configure.in (DO_STATIC_NSS): Define if --disable-shared.

2002-05-26  Bruno Haible  <bruno@clisp.org>

* iconvdata/iso-2022-jp.c (BODY for TO_LOOP): Avoid running off the
end of the ISO-8859-7 from idx table.

2002-05-27  Ulrich Drepper  <drepper@redhat.com>

* manual/lang.texi: Fix FLT_EPSILON description [PR libc/3649].

2002-05-24  David S. Miller  <davem@redhat.com>

* string/bits/string2.h (memset): Do not try to optimize when
not _STRING_ARCH_unaligned if GCC will do the right thing.

ChangeLog
configure
configure.in
iconvdata/iso-2022-jp.c
manual/lang.texi
string/bits/string2.h

index 471f60f..e4d2743 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2002-05-27  Alexandre Oliva  <aoliva@redhat.com>
+
+       * configure.in (DO_STATIC_NSS): Define if --disable-shared.
+
+2002-05-26  Bruno Haible  <bruno@clisp.org>
+
+       * iconvdata/iso-2022-jp.c (BODY for TO_LOOP): Avoid running off the
+       end of the ISO-8859-7 from idx table.
+
+2002-05-27  Ulrich Drepper  <drepper@redhat.com>
+
+       * manual/lang.texi: Fix FLT_EPSILON description [PR libc/3649].
+
+2002-05-24  David S. Miller  <davem@redhat.com>
+
+       * string/bits/string2.h (memset): Do not try to optimize when
+       not _STRING_ARCH_unaligned if GCC will do the right thing.
+
 2002-05-21  Isamu Hasegawa  <isamu@yamato.ibm.com>
 
        * posix/regex.c: Define `inline' as a macro into nothing for the
index bb663a7..27f2e23 100755 (executable)
--- a/configure
+++ b/configure
@@ -860,7 +860,7 @@ else
   static_nss=no
 fi
 
-if test x"$static_nss" = xyes; then
+if test x"$static_nss" = xyes || test x"$shared" = xno; then
   cat >> confdefs.h <<\EOF
 #define DO_STATIC_NSS 1
 EOF
index 3501f85..f763792 100644 (file)
@@ -177,7 +177,8 @@ dnl static NSS modules.
 AC_ARG_ENABLE(static-nss, dnl
 [  --enable-static-nss     build static NSS modules [default=no]],
              static_nss=$enableval, static_nss=no)
-if test x"$static_nss" = xyes; then
+dnl Enable static NSS also if we build no shared objects.
+if test x"$static_nss" = xyes || test x"$shared" = xno; then
   AC_DEFINE(DO_STATIC_NSS)
 fi
 
index 5e4ddaa..18a89cd 100644 (file)
@@ -708,25 +708,29 @@ static const cvlist_t conversion_lists[4] =
          }                                                                   \
        else if (set2 == ISO88597_set)                                        \
          {                                                                   \
-           const struct gap *rp = from_idx;                                  \
-                                                                             \
-           while (ch > rp->end)                                              \
-             ++rp;                                                           \
-           if (ch >= rp->start)                                              \
+           if (__builtin_expect (ch < 0xffff, 1))                            \
              {                                                               \
-               unsigned char res = iso88597_from_ucs4[ch - 0xa0 + rp->idx];  \
-               if (res != '\0')                                              \
+               const struct gap *rp = from_idx;                              \
+                                                                             \
+               while (ch > rp->end)                                          \
+                 ++rp;                                                       \
+               if (ch >= rp->start)                                          \
                  {                                                           \
-                   if (__builtin_expect (outptr + 3 > outend, 0))            \
+                   unsigned char res =                                       \
+                     iso88597_from_ucs4[ch - 0xa0 + rp->idx];                \
+                   if (res != '\0')                                          \
                      {                                                       \
-                       result = __GCONV_FULL_OUTPUT;                         \
-                       break;                                                \
-                     }                                                       \
+                       if (__builtin_expect (outptr + 3 > outend, 0))        \
+                         {                                                   \
+                           result = __GCONV_FULL_OUTPUT;                     \
+                           break;                                            \
+                         }                                                   \
                                                                              \
-                   *outptr++ = ESC;                                          \
-                   *outptr++ = 'N';                                          \
-                   *outptr++ = res;                                          \
-                   written = 3;                                              \
+                       *outptr++ = ESC;                                      \
+                       *outptr++ = 'N';                                      \
+                       *outptr++ = res;                                      \
+                       written = 3;                                          \
+                     }                                                       \
                  }                                                           \
              }                                                               \
          }                                                                   \
@@ -817,43 +821,45 @@ static const cvlist_t conversion_lists[4] =
                    }                                                         \
                                                                              \
                  /* Try ISO 8859-7 upper half.  */                           \
-                 {                                                           \
-                   const struct gap *rp = from_idx;                          \
+                 if (__builtin_expect (ch < 0xffff, 1))                      \
+                   {                                                         \
+                     const struct gap *rp = from_idx;                        \
                                                                              \
-                   while (ch > rp->end)                                      \
-                     ++rp;                                                   \
-                   if (ch >= rp->start)                                      \
-                     {                                                       \
-                       unsigned char res =                                   \
-                         iso88597_from_ucs4[ch - 0xa0 + rp->idx];            \
-                       if (res != '\0')                                      \
-                         {                                                   \
-                           if (set2 != ISO88597_set)                         \
-                             {                                               \
-                               if (__builtin_expect (outptr + 3 > outend, 0))\
-                                 {                                           \
-                                   result = __GCONV_FULL_OUTPUT;             \
-                                   break;                                    \
-                                 }                                           \
-                               *outptr++ = ESC;                              \
-                               *outptr++ = '.';                              \
-                               *outptr++ = 'F';                              \
-                               set2 = ISO88597_set;                          \
-                             }                                               \
-                                                                             \
-                           if (__builtin_expect (outptr + 3 > outend, 0))    \
-                             {                                               \
-                               result = __GCONV_FULL_OUTPUT;                 \
-                               break;                                        \
-                             }                                               \
-                           *outptr++ = ESC;                                  \
-                           *outptr++ = 'N';                                  \
-                           *outptr++ = res;                                  \
-                           result = __GCONV_OK;                              \
-                           break;                                            \
-                         }                                                   \
-                     }                                                       \
-                 }                                                           \
+                     while (ch > rp->end)                                    \
+                       ++rp;                                                 \
+                     if (ch >= rp->start)                                    \
+                       {                                                     \
+                         unsigned char res =                                 \
+                           iso88597_from_ucs4[ch - 0xa0 + rp->idx];          \
+                         if (res != '\0')                                    \
+                           {                                                 \
+                             if (set2 != ISO88597_set)                       \
+                               {                                             \
+                                 if (__builtin_expect (outptr + 3 > outend,  \
+                                                       0))                   \
+                                   {                                         \
+                                     result = __GCONV_FULL_OUTPUT;           \
+                                     break;                                  \
+                                   }                                         \
+                                 *outptr++ = ESC;                            \
+                                 *outptr++ = '.';                            \
+                                 *outptr++ = 'F';                            \
+                                 set2 = ISO88597_set;                        \
+                               }                                             \
+                                                                             \
+                             if (__builtin_expect (outptr + 3 > outend, 0))  \
+                               {                                             \
+                                 result = __GCONV_FULL_OUTPUT;               \
+                                 break;                                      \
+                               }                                             \
+                             *outptr++ = ESC;                                \
+                             *outptr++ = 'N';                                \
+                             *outptr++ = res;                                \
+                             result = __GCONV_OK;                            \
+                             break;                                          \
+                           }                                                 \
+                       }                                                     \
+                   }                                                         \
                                                                              \
                  break;                                                      \
                                                                              \
index ecde184..9f5c540 100644 (file)
@@ -1202,7 +1202,7 @@ macro's value is the same as the type it describes.
 @comment ISO
 @item FLT_EPSILON
 
-This is the maximum positive floating point number of type @code{float}
+This is the minimum positive floating point number of type @code{float}
 such that @code{1.0 + FLT_EPSILON != 1.0} is true.  It's supposed to
 be no greater than @code{1E-5}.
 
index da168fa..a02b055 100644 (file)
@@ -178,10 +178,12 @@ __STRING2_COPY_TYPE (8);
                                                                              \
      __s; })
 # else
-#  define memset(s, c, n) \
+#  if ! __GNUC_PREREQ (3, 0)
+#   define memset(s, c, n) \
   (__extension__ (__builtin_constant_p (c) && (c) == '\0'                    \
                  ? ({ void *__s = (s); __bzero (__s, n); __s; })             \
                  : memset (s, c, n)))
+#  endif
 # endif
 
 /* GCC optimizes memset(s, 0, n) but not bzero(s, n).