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... |