aboutsummaryrefslogtreecommitdiff
path: root/lib/std
diff options
context:
space:
mode:
authorDavid Rubin <daviru007@icloud.com>2024-03-14 02:44:24 -0700
committerDavid Rubin <daviru007@icloud.com>2024-05-11 02:17:11 -0700
commit2be3033acda53389cac9f3e9a8ca0a3d41348eef (patch)
treeaf1a41562ca6ed1f7758c55d625d444509834241 /lib/std
parent28df64cba45595a201f8c2312656922a8c28a67c (diff)
downloadzig-2be3033acda53389cac9f3e9a8ca0a3d41348eef.tar.gz
zig-2be3033acda53389cac9f3e9a8ca0a3d41348eef.zip
riscv: implement basic branching
we use a code offset map in Emit.zig to pre-compute what byte offset each MIR instruction is at. this is important because they can be of different size
Diffstat (limited to 'lib/std')
-rw-r--r--lib/std/builtin.zig8
1 files changed, 2 insertions, 6 deletions
diff --git a/lib/std/builtin.zig b/lib/std/builtin.zig
index b28e17e38b..3fb9494305 100644
--- a/lib/std/builtin.zig
+++ b/lib/std/builtin.zig
@@ -759,11 +759,6 @@ else
pub fn default_panic(msg: []const u8, error_return_trace: ?*StackTrace, ret_addr: ?usize) noreturn {
@setCold(true);
- // stage2_riscv64 backend doesn't support loops yet.
- if (builtin.zig_backend == .stage2_riscv64) {
- unreachable;
- }
-
// For backends that cannot handle the language features depended on by the
// default panic handler, we have a simpler panic handler:
if (builtin.zig_backend == .stage2_wasm or
@@ -772,7 +767,8 @@ pub fn default_panic(msg: []const u8, error_return_trace: ?*StackTrace, ret_addr
builtin.zig_backend == .stage2_x86 or
(builtin.zig_backend == .stage2_x86_64 and (builtin.target.ofmt != .elf and builtin.target.ofmt != .macho)) or
builtin.zig_backend == .stage2_sparc64 or
- builtin.zig_backend == .stage2_spirv64)
+ builtin.zig_backend == .stage2_spirv64 or
+ builtin.zig_backend == .stage2_riscv64)
{
while (true) {
@breakpoint();