[Bug bootstrap/89864] [9 regression] gcc fails to build/bootstrap with XCode 10.2

iains at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Apr 4 09:43:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89864

--- Comment #22 from Iain Sandoe <iains at gcc dot gnu.org> ---
(In reply to Erik Schnetter from comment #21)
> https://gcc.gnu.org/ml/gcc-patches/2019-04/msg00162.html

Additional to the comments on list.

Perhaps this is just unfixable :(

I suspect that Apple will want to re-release the SDK, and the best real fix is
to use the SDK from  the previous Xcode command line tools (you can still use
the latest tools from XC10.2 - just install the older version somewhere and
then use --with-sysroot= and/or --sysroot=)

(a) there's no guarantee that _Atomic u_long has the same size or alignment as
volatile u_long.

C11: 6.2.5 Types
...
27 ... The size, representation, and alignment of an atomic type need not be
the same as those of the corresponding unqualified type.
...

.. although it *probably* is for simple types for which there are direct atomic
ops.

(b) If we hack around it with "volatile" (assuming that the type happens to
have the same size and alignment), this will silently fail in any case it's
used.

(c) the <atomic> header is only available from C++11, AFAIR, and GCC is
supposed to be boot-strappable with C++98.  Iff Apple were to elect to declare
that the OS *requires* C++11 to operate, then we should fix the configuration
for Darwin to ensure that this is enforced.

(d) In any case, is there any guarantee that the representation of the u_long
as a C++ atomic is the same size and align as its C11 counterpart? (I've not
checked this).


More information about the Gcc-bugs mailing list