mirror of
https://github.com/odin-lang/Odin.git
synced 2026-06-07 02:54:18 +00:00
Add globaldynamic thread_local model (same as the current default)
This commit is contained in:
@@ -4027,6 +4027,7 @@ gb_internal DECL_ATTRIBUTE_PROC(var_decl_attribute) {
|
||||
} else if (ev.kind == ExactValue_String) {
|
||||
String model = ev.value_string;
|
||||
if (model == "default" ||
|
||||
model == "globaldynamic" ||
|
||||
model == "localdynamic" ||
|
||||
model == "initialexec" ||
|
||||
model == "localexec") {
|
||||
@@ -4035,6 +4036,7 @@ gb_internal DECL_ATTRIBUTE_PROC(var_decl_attribute) {
|
||||
ERROR_BLOCK();
|
||||
error(elem, "Invalid thread local model '%.*s'. Valid models:", LIT(model));
|
||||
error_line("\tdefault\n");
|
||||
error_line("\tglobaldynamic\n");
|
||||
error_line("\tlocaldynamic\n");
|
||||
error_line("\tinitialexec\n");
|
||||
error_line("\tlocalexec\n");
|
||||
|
||||
@@ -2628,6 +2628,8 @@ gb_internal bool lb_apply_thread_local_model(LLVMValueRef value, String model) {
|
||||
LLVMThreadLocalMode mode = LLVMGeneralDynamicTLSModel;
|
||||
if (model == "default") {
|
||||
mode = LLVMGeneralDynamicTLSModel;
|
||||
} else if (model == "globaldynamic") {
|
||||
mode = LLVMGeneralDynamicTLSModel;
|
||||
} else if (model == "localdynamic") {
|
||||
mode = LLVMLocalDynamicTLSModel;
|
||||
} else if (model == "initialexec") {
|
||||
|
||||
Reference in New Issue
Block a user