mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-27 23:22:09 +00:00
BUILD: fd: fix a build warning on the DWCAS
Ilya reported in issue #1816 a build warning on armhf (promoted to error here since -Werror): src/fd.c: In function fd_rm_from_fd_list: src/fd.c:209:87: error: passing argument 3 of __ha_cas_dw discards volatile qualifier from pointer target type [-Werror=discarded-array-qualifiers] 209 | unlikely(!_HA_ATOMIC_DWCAS(((long *)&fdtab[fd].update), (uint32_t *)&cur_list.u32, &next_list.u32)) | ^~~~~~~~~~~~~~ This happens only on such an architecture because the DWCAS requires the pointer not the value, and gcc seems to be needlessly picky about reading a const from a volatile! This may safely be backported to older versions.
This commit is contained in:
parent
da9f258759
commit
85af760704
2
src/fd.c
2
src/fd.c
@ -206,7 +206,7 @@ lock_self:
|
||||
#ifdef HA_CAS_IS_8B
|
||||
unlikely(!_HA_ATOMIC_CAS(((uint64_t *)&fdtab[fd].update), (uint64_t *)&cur_list.u64, next_list.u64))
|
||||
#else
|
||||
unlikely(!_HA_ATOMIC_DWCAS(((long *)&fdtab[fd].update), (uint32_t *)&cur_list.u32, &next_list.u32))
|
||||
unlikely(!_HA_ATOMIC_DWCAS(((long *)&fdtab[fd].update), (uint32_t *)&cur_list.u32, (const uint32_t *)&next_list.u32))
|
||||
#endif
|
||||
);
|
||||
next = cur_list.ent.next;
|
||||
|
Loading…
Reference in New Issue
Block a user