authorgravatar for benjamin.feng@glassdoor.comBenjamin Feng <benjamin.feng@glassdoor.com> 2019-12-06 16:03:15-06:00
committergravatar for benjamin.feng@glassdoor.comBenjamin Feng <benjamin.feng@glassdoor.com> 2019-12-06 17:27:11-06:00
loge91522b875b72cc3990fd4086a331ab63ac70dc8
tree6c3fac3674bf4835c336d735a64c6575aaeec218
parent5a004ed834b62a15ebf1649856580baeb68501fa

Add back comptime check for wasm


1 files changed, 7 insertions(+), 1 deletions(-)

lib/std/heap.zig+7-1
...@@ -252,6 +252,12 @@ extern fn @"llvm.wasm.memory.size.i32"(u32) u32;...@@ -252,6 +252,12 @@ extern fn @"llvm.wasm.memory.size.i32"(u32) u32;
252extern fn @"llvm.wasm.memory.grow.i32"(u32, u32) i32;252extern fn @"llvm.wasm.memory.grow.i32"(u32, u32) i32;
253253
254const WasmPageAllocator = struct {254const WasmPageAllocator = struct {
255 comptime {
256 if (!std.Target.current.isWasm()) {
257 @compileError("WasmPageAllocator is only available for wasm32 arch");
258 }
259 }
260
255 const PageStatus = enum(u1) {261 const PageStatus = enum(u1) {
256 used = 0,262 used = 0,
257 free = 1,263 free = 1,
...@@ -797,7 +803,7 @@ test "c_allocator" {...@@ -797,7 +803,7 @@ test "c_allocator" {
797}803}
798804
799test "WasmPageAllocator internals" {805test "WasmPageAllocator internals" {
800 if (std.Target.current.isWasm()) {806 if (comptime std.Target.current.isWasm()) {
801 const none_free = WasmPageAllocator.PageStatus.none_free;807 const none_free = WasmPageAllocator.PageStatus.none_free;
802 std.debug.assert(none_free == WasmPageAllocator.conventional.data[0]); // Passes if this test runs first808 std.debug.assert(none_free == WasmPageAllocator.conventional.data[0]); // Passes if this test runs first
803 std.debug.assert(!WasmPageAllocator.extended.isInitialized()); // Passes if this test runs first809 std.debug.assert(!WasmPageAllocator.extended.isInitialized()); // Passes if this test runs first