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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |lto
                 CC|                            |jason at gcc dot gnu.org,
                   |                            |jsm28 at gcc dot gnu.org
          Component|middle-end                  |c++

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Well, clearly C++ atomic_int (aka atomic<int>) and C atomic_int (aka _Atomic
int)
do not inter-operate.

It might be possible that you are lucky for the x86_64 ABI but certainly
TBAA will not treat things like aggregate copies of C++ atomic_int as
possibly clobbering a C _Atomic int.

I'm not sure what standards bodies thought on this issue but it looks hard
to apply a workaround to LTO (the types would need to share TYPE_CANONICAL
which is impossible at the moment as one is a plain INTEGER_TYPE and one
is a RECORD_TYPE).

Reply via email to