diff options
Diffstat (limited to 'src/atomic_ops_stack.c')
-rw-r--r-- | src/atomic_ops_stack.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/atomic_ops_stack.c b/src/atomic_ops_stack.c index 2f03145..dd29848 100644 --- a/src/atomic_ops_stack.c +++ b/src/atomic_ops_stack.c @@ -242,7 +242,13 @@ void AO_stack_push_release(AO_stack_t *list, AO_t *element) AO_t *AO_stack_pop_acquire(AO_stack_t *list) { - AO_t *cptr; +# ifdef __clang__ + AO_t *volatile cptr; + /* Use volatile to workaround a bug in */ + /* clang-1.1/x86 causing test_stack failure. */ +# else + AO_t *cptr; +# endif AO_t next; AO_t cversion; |