Thread-local variables with DECL_COMMON trigger an internal compiler error on targets that use emulated TLS without register_common, when we attempt to expand a call to the NULL register_common, with testcases as simple as gcc.dg/tls/emutls-2.c. The documentation states that, on such targets, common variables would fall back to explicitly initialized. This patch rearranges the code that deals with initialization of common and non-common variables, complementing code that is already in place to detect register_common-less targets. for gcc/ChangeLog * tree-emutls.c (new_emutls_decl, emutls_common_1): Complete handling of register_common-less targets. for gcc/testsuite/ChangeLog * gcc.dg/tls/emutls-3.c: New, combining emutls-2.c and thr-init-2.c into an execution test with explicitly common variables.
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
alias-1.c | Loading commit data... | |
alpha-1.c | Loading commit data... | |
asm-1.c | Loading commit data... | |
debug-1.c | Loading commit data... | |
diag-1.c | Loading commit data... | |
diag-2.c | Loading commit data... | |
diag-3.c | Loading commit data... | |
diag-4.c | Loading commit data... | |
diag-5.c | Loading commit data... | |
diag-6.c | Loading commit data... | |
emutls-1.c | Loading commit data... | |
emutls-2.c | Loading commit data... | |
emutls-3.c | Loading commit data... | |
init-1.c | Loading commit data... | |
nonpic-1.c | Loading commit data... | |
opt-1.c | Loading commit data... | |
opt-10.c | Loading commit data... | |
opt-11.c | Loading commit data... | |
opt-12.c | Loading commit data... | |
opt-13.c | Loading commit data... | |
opt-14.c | Loading commit data... | |
opt-15.c | Loading commit data... | |
opt-2.c | Loading commit data... | |
opt-3.c | Loading commit data... | |
opt-4.c | Loading commit data... | |
opt-5.c | Loading commit data... | |
opt-6.c | Loading commit data... | |
opt-7.c | Loading commit data... | |
opt-8.c | Loading commit data... | |
opt-9.c | Loading commit data... | |
pic-1.c | Loading commit data... | |
pie-1.c | Loading commit data... | |
pr24428-2.c | Loading commit data... | |
pr24428.c | Loading commit data... | |
pr42894.c | Loading commit data... | |
pr45870.c | Loading commit data... | |
pr47715-1.c | Loading commit data... | |
pr47715-2.c | Loading commit data... | |
pr47715-3.c | Loading commit data... | |
pr47715-4.c | Loading commit data... | |
pr47715-5.c | Loading commit data... | |
pr58595.c | Loading commit data... | |
pr66470.c | Loading commit data... | |
pr78796.c | Loading commit data... | |
pr82095.c | Loading commit data... | |
pr83945.c | Loading commit data... | |
section-1.c | Loading commit data... | |
section-2.c | Loading commit data... | |
struct-1.c | Loading commit data... | |
thr-cse-1.c | Loading commit data... | |
thr-init-1.c | Loading commit data... | |
thr-init-2.c | Loading commit data... | |
tls.exp | Loading commit data... | |
trivial.c | Loading commit data... |