Avoid warnings in CPU_* macros when using const bitsets.
authorUlrich Drepper <drepper@redhat.com>
Thu, 19 Nov 2009 18:03:46 +0000 (10:03 -0800)
committerUlrich Drepper <drepper@redhat.com>
Thu, 19 Nov 2009 18:03:46 +0000 (10:03 -0800)
ChangeLog
sysdeps/unix/sysv/linux/bits/sched.h

index bf57a52..9dda77f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2009-11-19  Ulrich Drepper  <drepper@redhat.com>
 
+       [BZ #10918]
+       * sysdeps/unix/sysv/linux/bits/sched.h (__CPU_ISSET_S): Use __const
+       in cast to not throw away const-ness of parameters.
+       (__CPU_EQUAL_S): Likewise.
+       (__CPU_OP_S): Likewise.
+
        * sysdeps/unix/sysv/linux/sh/bits/fcntl.h: Introduce new symbol
        F_OWNER_PGRP and mark F_OWNER_GID obsolete.  The kernel people made
        this gratuitous change and we have to keep compatibility.
index 95d05b4..18269a9 100644 (file)
@@ -1,6 +1,6 @@
 /* Definitions of constants and data structure for POSIX 1003.1b-1993
    scheduling interface.
-   Copyright (C) 1996-1999,2001-2003,2005,2006,2007,2008
+   Copyright (C) 1996-1999,2001-2003,2005,2006,2007,2008,2009
    Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
@@ -154,7 +154,7 @@ typedef struct
   (__extension__                                                             \
    ({ size_t __cpu = (cpu);                                                  \
       __cpu < 8 * (setsize)                                                  \
-      ? ((((__cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]             \
+      ? ((((__const __cpu_mask *) ((cpusetp)->__bits))[__CPUELT (__cpu)]      \
          & __CPUMASK (__cpu))) != 0                                          \
       : 0; }))
 
@@ -167,8 +167,8 @@ typedef struct
 # else
 #  define __CPU_EQUAL_S(setsize, cpusetp1, cpusetp2) \
   (__extension__                                                             \
-   ({ __cpu_mask *__arr1 = (cpusetp1)->__bits;                               \
-      __cpu_mask *__arr2 = (cpusetp2)->__bits;                               \
+   ({ __const __cpu_mask *__arr1 = (cpusetp1)->__bits;                       \
+      __const __cpu_mask *__arr2 = (cpusetp2)->__bits;                       \
       size_t __imax = (setsize) / sizeof (__cpu_mask);                       \
       size_t __i;                                                            \
       for (__i = 0; __i < __imax; ++__i)                                     \
@@ -180,8 +180,8 @@ typedef struct
 # define __CPU_OP_S(setsize, destset, srcset1, srcset2, op) \
   (__extension__                                                             \
    ({ cpu_set_t *__dest = (destset);                                         \
-      __cpu_mask *__arr1 = (srcset1)->__bits;                                \
-      __cpu_mask *__arr2 = (srcset2)->__bits;                                \
+      __const __cpu_mask *__arr1 = (srcset1)->__bits;                        \
+      __const __cpu_mask *__arr2 = (srcset2)->__bits;                        \
       size_t __imax = (setsize) / sizeof (__cpu_mask);                       \
       size_t __i;                                                            \
       for (__i = 0; __i < __imax; ++__i)                                     \