Avoid warnings in CPU_* macros when using const bitsets.

This commit is contained in:
Ulrich Drepper 2009-11-19 10:03:46 -08:00
parent c6e7f16c53
commit 03ebadd9ea
2 changed files with 12 additions and 6 deletions

View File

@ -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.

View 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) \