[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#25791: address argument to atomic operation must be a pointer to _At
From: |
Andy Wingo |
Subject: |
bug#25791: address argument to atomic operation must be a pointer to _Atomic type with 2.1.7 on macOS |
Date: |
Tue, 14 Mar 2017 13:06:39 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
On Wed 01 Mar 2017 17:43, Andy Wingo <address@hidden> writes:
> On Sun 19 Feb 2017 09:41, ilove zfs <address@hidden> writes:
>
>> On macOS 10.11 and 10.12 building with Xcode 8, guile 2.1.7 fails to
>> compile with several errors saying "address argument to atomic
>> operation must be a pointer to _Atomic type." I
>> can avoid this by setting ac_cv_header_stdatomic_h=no.
>>
>> Build logs here:
>> https://gist.github.com/ilovezfs/b18b7e6160e0a4c5da297cc430961f63
>> https://gist.github.com/57e1513e03ede26dc97c0f63eaad3a98
>>
>> Build failure is
>> ```
>> CC libguile_2.2_la-arrays.lo
>> CC libguile_2.2_la-async.lo
>> In file included from async.c:27:
>> ../libguile/atomics-internal.h:37:10: error: address argument to
>> atomic operation must be a pointer to _Atomic type ('gl_uint32_t *'
>> (aka 'unsigned int *') invalid)
>> return atomic_fetch_sub (loc, arg);
>> ^ ~~~
>> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include/stdatomic.h:149:43:
>> note: expanded from macro 'atomic_fetch_sub'
>> #define atomic_fetch_sub(object, operand) __c11_atomic_fetch_sub(object,
>> operand, __ATOMIC_SEQ_CST)
>> ```
>> and several similar errors.
>>
>> Previously (as of guile 2.1.4) I had been able to work around the issue
>> without setting ac_cv_header_stdatomic_h=no with this patch:
>> https://raw.githubusercontent.com/ilovezfs/formula-patches/d2798a468346a7a28fbcd1c8aa3c1ccd5627b03f/guile/guile-atomic-type.patch
>>
>> However, the patch is no longer sufficient since now void** is one the types
>> needing _Atomic, which isn't allowed.
>
> Any ideas here? Sure would be nice to release a Guile with atomics that
> compiles with clang.
Fixed in 2.1.8 I think.
Andy