Clean up some bits/select.h headers.
authorUlrich Drepper <drepper@gmail.com>
Sun, 9 Jan 2011 21:49:17 +0000 (16:49 -0500)
committerUlrich Drepper <drepper@gmail.com>
Sun, 9 Jan 2011 21:49:17 +0000 (16:49 -0500)
ChangeLog
bits/select.h
sysdeps/i386/bits/select.h
sysdeps/x86_64/bits/select.h

index 1ce2554..0d73576 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2011-01-09  Ulrich Drepper  <drepper@gmail.com>
+
+       * sysdeps/i386/bits/select.h: Don't use asm code for __FD_SET,
+       __FD_CLR, and __FS_ISSET.  gcc generates better code on its own.
+
+       * sysdeps/x86_64/bits/select.h: Mark value of __FD_SET and __FD_CLR as
+       void.
+       * bits/select.h: Likewise.
+
 2011-01-08  Ulrich Drepper  <drepper@gmail.com>
 
        * po/ja.po: Update from translation team.
index 47e7ded..8a4e537 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2001, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -30,6 +30,8 @@
     for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i)         \
       __FDS_BITS (__arr)[__i] = 0;                                           \
   } while (0)
-#define __FD_SET(d, s)     (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d))
-#define __FD_CLR(d, s)     (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d))
-#define __FD_ISSET(d, s)   ((__FDS_BITS (s)[__FDELT(d)] & __FDMASK(d)) != 0)
+#define __FD_SET(d, s) \
+  ((void) (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d)))
+#define __FD_CLR(d, s) \
+  ((void) (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d)))
+#define __FD_ISSET(d, s)   ((__FDS_BITS (s)[__FDELT (d)] & __FDMASK (d)) != 0)
index 972bfb6..ab9aa3d 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2001, 2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -22,7 +22,6 @@
 
 
 #if defined __GNUC__ && __GNUC__ >= 2
-
 # define __FD_ZERO(fdsp) \
   do {                                                                       \
     int __d0, __d1;                                                          \
                          : "memory");                                        \
   } while (0)
 
-# define __FD_SET(fd, fdsp) \
-  __asm__ __volatile__ ("btsl %1,%0"                                         \
-                       : "=m" (__FDS_BITS (fdsp)[__FDELT (fd)])              \
-                       : "r" (((int) (fd)) % __NFDBITS)                      \
-                       : "cc","memory")
-# define __FD_CLR(fd, fdsp) \
-  __asm__ __volatile__ ("btrl %1,%0"                                         \
-                       : "=m" (__FDS_BITS (fdsp)[__FDELT (fd)])              \
-                       : "r" (((int) (fd)) % __NFDBITS)                      \
-                       : "cc","memory")
-# define __FD_ISSET(fd, fdsp) \
-  (__extension__                                                             \
-   ({register char __result;                                                 \
-     __asm__ __volatile__ ("btl %1,%2 ; setcb %b0"                           \
-                          : "=q" (__result)                                  \
-                          : "r" (((int) (fd)) % __NFDBITS),                  \
-                            "m" (__FDS_BITS (fdsp)[__FDELT (fd)])            \
-                          : "cc");                                           \
-     __result; }))
-
 #else  /* ! GNU CC */
 
 /* We don't use `memset' because this would require a prototype and
     for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i)         \
       __FDS_BITS (__arr)[__i] = 0;                                           \
   } while (0)
-# define __FD_SET(d, set)    (__FDS_BITS (set)[__FDELT (d)] |= __FDMASK (d))
-# define __FD_CLR(d, set)    (__FDS_BITS (set)[__FDELT (d)] &= ~__FDMASK (d))
-# define __FD_ISSET(d, set)  (__FDS_BITS (set)[__FDELT (d)] & __FDMASK (d))
 
 #endif /* GNU CC */
+
+#define __FD_SET(d, set) \
+  ((void) (__FDS_BITS (set)[__FDELT (d)] |= __FDMASK (d)))
+#define __FD_CLR(d, set) \
+  ((void) (__FDS_BITS (set)[__FDELT (d)] &= ~__FDMASK (d)))
+#define __FD_ISSET(d, set) \
+  ((__FDS_BITS (set)[__FDELT (d)] & __FDMASK (d)) != 0)
index 5f31b84..a300d58 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997,1998,1999,2001,2008,2009 Free Software Foundation, Inc.
+/* Copyright (C) 1997-1999,2001,2008,2009,2011 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -56,7 +56,9 @@
 
 #endif /* GNU CC */
 
-#define __FD_SET(d, set)    (__FDS_BITS (set)[__FDELT (d)] |= __FDMASK (d))
-#define __FD_CLR(d, set)    (__FDS_BITS (set)[__FDELT (d)] &= ~__FDMASK (d))
+#define __FD_SET(d, set) \
+  ((void) (__FDS_BITS (set)[__FDELT (d)] |= __FDMASK (d)))
+#define __FD_CLR(d, set) \
+  ((void) (__FDS_BITS (set)[__FDELT (d)] &= ~__FDMASK (d)))
 #define __FD_ISSET(d, set) \
   ((__FDS_BITS (set)[__FDELT (d)] & __FDMASK (d)) != 0)