From 26a793abbb54ee0671de379bbf42242ad88be5c8 Mon Sep 17 00:00:00 2001 From: Ivan Maidanski Date: Fri, 29 Mar 2013 08:50:51 +0400 Subject: [PATCH] Fix generalized fetch_and_add function * src/atomic_ops/generalize-small.template (AO_XSIZE_fetch_and_add): Do not use AO_EXPECT_FALSE (since defined only in v7.3+). * src/atomic_ops/generalize-small.h: Regenerate. --- src/atomic_ops/generalize-small.h | 9 +++------ src/atomic_ops/generalize-small.template | 3 +-- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/atomic_ops/generalize-small.h b/src/atomic_ops/generalize-small.h index de94843..a54da20 100644 --- a/src/atomic_ops/generalize-small.h +++ b/src/atomic_ops/generalize-small.h @@ -216,8 +216,7 @@ { old = *addr; } - while (AO_EXPECT_FALSE(!AO_char_compare_and_swap(addr, old, - old + incr))); + while (!AO_char_compare_and_swap(addr, old, old + incr)); return old; } # define AO_HAVE_char_fetch_and_add @@ -816,8 +815,7 @@ { old = *addr; } - while (AO_EXPECT_FALSE(!AO_short_compare_and_swap(addr, old, - old + incr))); + while (!AO_short_compare_and_swap(addr, old, old + incr)); return old; } # define AO_HAVE_short_fetch_and_add @@ -1416,8 +1414,7 @@ { old = *addr; } - while (AO_EXPECT_FALSE(!AO_int_compare_and_swap(addr, old, - old + incr))); + while (!AO_int_compare_and_swap(addr, old, old + incr)); return old; } # define AO_HAVE_int_fetch_and_add diff --git a/src/atomic_ops/generalize-small.template b/src/atomic_ops/generalize-small.template index b9c05db..a66988e 100644 --- a/src/atomic_ops/generalize-small.template +++ b/src/atomic_ops/generalize-small.template @@ -216,8 +216,7 @@ { old = *addr; } - while (AO_EXPECT_FALSE(!AO_XSIZE_compare_and_swap(addr, old, - old + incr))); + while (!AO_XSIZE_compare_and_swap(addr, old, old + incr)); return old; } # define AO_HAVE_XSIZE_fetch_and_add -- 2.40.0