[Bug c++/87380] Explicit instantations should use weak symbols on darwin
iains at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Sun Sep 23 10:08:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87380
--- Comment #7 from Iain Sandoe <iains at gcc dot gnu.org> ---
it's been broken a looooong time - even apple-gcc-4.2.1 is broken, I don't have
3.3 anywhere without booting an old machine.
clang produces:
.section __DATA,__data
.globl __ZN1AIiE6memberE ## @_ZN1AIiE6memberE
.weak_definition __ZN1AIiE6memberE
.p2align 2
__ZN1AIiE6memberE:
.long 0 ## 0x0
====
it doesn't *look* like a back-end issue (the weak is missing by the time we get
to varpool_node::assemble_decl) - present in the decl for Linux, missing for
Darwin.
Darwin declares MAKE_DECL_ONE_ONLY() => weak and that should fire up
SUPPORTS_ONE_ONLY.
so... now to figure out where the divergence is.
More information about the Gcc-bugs
mailing list