| ... | @@ -486,17 +486,17 @@ void get_native_target(ZigTarget *target) { | ... | @@ -486,17 +486,17 @@ void get_native_target(ZigTarget *target) { |
| 486 | Error target_parse_archsub(ZigLLVM_ArchType *out_arch, ZigLLVM_SubArchType *out_sub, | 486 | Error target_parse_archsub(ZigLLVM_ArchType *out_arch, ZigLLVM_SubArchType *out_sub, |
| 487 | const char *archsub_ptr, size_t archsub_len) | 487 | const char *archsub_ptr, size_t archsub_len) |
| 488 | { | 488 | { |
| | 489 | *out_arch = ZigLLVM_UnknownArch; |
| | 490 | *out_sub = ZigLLVM_NoSubArch; |
| 489 | for (size_t arch_i = 0; arch_i < array_length(arch_list); arch_i += 1) { | 491 | for (size_t arch_i = 0; arch_i < array_length(arch_list); arch_i += 1) { |
| 490 | ZigLLVM_ArchType arch = arch_list[arch_i]; | 492 | ZigLLVM_ArchType arch = arch_list[arch_i]; |
| 491 | SubArchList sub_arch_list = target_subarch_list(arch); | 493 | SubArchList sub_arch_list = target_subarch_list(arch); |
| 492 | size_t subarch_count = target_subarch_count(sub_arch_list); | 494 | size_t subarch_count = target_subarch_count(sub_arch_list); |
| 493 | if (subarch_count == 0) { | 495 | if (mem_eql_str(archsub_ptr, archsub_len, target_arch_name(arch))) { |
| 494 | if (mem_eql_str(archsub_ptr, archsub_len, target_arch_name(arch))) { | 496 | *out_arch = arch; |
| 495 | *out_arch = arch; | 497 | if (subarch_count == 0) { |
| 496 | *out_sub = ZigLLVM_NoSubArch; | | |
| 497 | return ErrorNone; | 498 | return ErrorNone; |
| 498 | } | 499 | } |
| 499 | continue; | | |
| 500 | } | 500 | } |
| 501 | for (size_t sub_i = 0; sub_i < subarch_count; sub_i += 1) { | 501 | for (size_t sub_i = 0; sub_i < subarch_count; sub_i += 1) { |
| 502 | ZigLLVM_SubArchType sub = target_subarch_enum(sub_arch_list, sub_i); | 502 | ZigLLVM_SubArchType sub = target_subarch_enum(sub_arch_list, sub_i); |