Fix ICE: in function_and_variable_visibility, at ipa-visibility.c:795 [PR99466]
authorIain Buclaw <ibuclaw@gdcproject.org>
Sat, 13 Mar 2021 16:05:52 +0000 (17:05 +0100)
committerIain Buclaw <ibuclaw@gdcproject.org>
Fri, 26 Mar 2021 15:14:18 +0000 (16:14 +0100)
commit8f5e18db259c8a9790feb1d73bb0348182264f15
tree20b071e888a2c7ea308314634156fe7b95a69919
parent433b6b12dfa5ef109a5d8d40e7b3695dcb749e58
Fix ICE: in function_and_variable_visibility, at ipa-visibility.c:795 [PR99466]

In get_emutls_init_templ_addr, only thread-local declarations that were
DECL_ONE_ONLY would have a public initializer symbol, ignoring variables
that were declared with __attribute__((weak)).

gcc/ChangeLog:

PR ipa/99466
* tree-emutls.c (get_emutls_init_templ_addr): Mark initializer of weak
TLS declarations as public.

gcc/testsuite/ChangeLog:

PR ipa/99466
* gcc.dg/tls/pr99466-1.c: New test.
* gcc.dg/tls/pr99466-2.c: New test.
gcc/testsuite/gcc.dg/tls/pr99466-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tls/pr99466-2.c [new file with mode: 0644]
gcc/tree-emutls.c