diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-01-03 16:50:29 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-03 16:50:29 -0500 |
| commit | 81fa31c05456facea1d1963a1e7f665351fb248d (patch) | |
| tree | 8ea6dba0c5b8ec9e8ba9cdff48189da68c198dfd /src/Sema.zig | |
| parent | 850b053ea6b7d6f0f5e0e8dbcf37080ca012024f (diff) | |
| parent | d94303be2bcee33e7efba22a186fd06eaa809707 (diff) | |
| download | zig-81fa31c05456facea1d1963a1e7f665351fb248d.tar.gz zig-81fa31c05456facea1d1963a1e7f665351fb248d.zip | |
Merge pull request #10451 from ziglang/cache-mode
stage2: introduce CacheMode
Diffstat (limited to 'src/Sema.zig')
| -rw-r--r-- | src/Sema.zig | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/src/Sema.zig b/src/Sema.zig index 5ba1e555a7..1b9af88bb1 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -14680,11 +14680,11 @@ fn resolvePeerTypes( instructions: []Air.Inst.Ref, candidate_srcs: Module.PeerTypeCandidateSrc, ) !Type { - if (instructions.len == 0) - return Type.initTag(.noreturn); - - if (instructions.len == 1) - return sema.typeOf(instructions[0]); + switch (instructions.len) { + 0 => return Type.initTag(.noreturn), + 1 => return sema.typeOf(instructions[0]), + else => {}, + } const target = sema.mod.getTarget(); @@ -14714,13 +14714,14 @@ fn resolvePeerTypes( continue; }, .Int => { - if (chosen_ty.isSignedInt() == candidate_ty.isSignedInt()) { - if (chosen_ty.intInfo(target).bits < candidate_ty.intInfo(target).bits) { - chosen = candidate; - chosen_i = candidate_i + 1; - } - continue; + const chosen_info = chosen_ty.intInfo(target); + const candidate_info = candidate_ty.intInfo(target); + + if (chosen_info.bits < candidate_info.bits) { + chosen = candidate; + chosen_i = candidate_i + 1; } + continue; }, .Pointer => if (chosen_ty.ptrSize() == .C) continue, else => {}, |
