From 914fc57c13b141305cd0111a6686684e40276ee1 Mon Sep 17 00:00:00 2001 From: Nathan Braswell Date: Thu, 28 Apr 2016 19:22:23 -0400 Subject: [PATCH] Change over everything to sizeof intrinsic --- captain.sh | 2 +- stdlib/mem.krak | 13 +------------ stdlib/serialize.krak | 4 ++-- stdlib/string.krak | 2 +- 4 files changed, 5 insertions(+), 16 deletions(-) diff --git a/captain.sh b/captain.sh index d297fa8..5779d52 100755 --- a/captain.sh +++ b/captain.sh @@ -1,7 +1,7 @@ #!/bin/bash kraken="kraken" -bootstrap_commits=(cf46fb13afe66ba475db9725e9269c9c1cd3bbc3 2cd43e5a217318c70097334b3598d2924f64b362) +bootstrap_commits=(cf46fb13afe66ba475db9725e9269c9c1cd3bbc3 2cd43e5a217318c70097334b3598d2924f64b362 2051f54b559ac5edf67277d4f1134aca2cb9215d) # Echo version string to a file included by kraken.krak # There is a default version string in the file in case kraken is not built with captain diff --git a/stdlib/mem.krak b/stdlib/mem.krak index c3ed1c8..a471c5c 100644 --- a/stdlib/mem.krak +++ b/stdlib/mem.krak @@ -30,19 +30,8 @@ fun free(memPtr: *T): void { } } -fun sizeof(): int { - var testObj: *T; - var result: int; - __if_comp__ __C__ { - simple_passthrough(testObj = testObj : result = result:) """ - int result = sizeof(*testObj); - """ - } - return result; -} - fun new(count: int): *T { - return malloc( sizeof() * count ); + return malloc( #sizeof * count ); } fun new(): *T { diff --git a/stdlib/serialize.krak b/stdlib/serialize.krak index 3838fbe..47d71b7 100644 --- a/stdlib/serialize.krak +++ b/stdlib/serialize.krak @@ -9,7 +9,7 @@ fun serialize(it: T): vector::vector { fun serialize(it: T): vector::vector { var char_data = (&it) cast *char var toRet = vector::vector() - for (var i = 0; i < mem::sizeof(); i++;) + for (var i = 0; i < #sizeof; i++;) toRet.add(char_data[i]) return toRet } @@ -19,7 +19,7 @@ fun unserialize(it: ref vector::vector): T { return unserialize(it, 0).first } fun unserialize(it: ref vector::vector, pos: int): util::pair { - return util::make_pair(*(it.getBackingMemory()+pos) cast *T, pos + mem::sizeof()) + return util::make_pair(*(it.getBackingMemory()+pos) cast *T, pos + #sizeof) } fun unserialize(it: ref vector::vector, pos: int): util::pair { var toRet: T diff --git a/stdlib/string.krak b/stdlib/string.krak index 2f1d532..9a0ac5c 100644 --- a/stdlib/string.krak +++ b/stdlib/string.krak @@ -4,7 +4,7 @@ import mem import serialize fun to_string(in: int): string { - var dest = mem::new(mem::sizeof() * 8) + var dest = mem::new(#sizeof * 8) defer mem::delete(dest) __if_comp__ __C__ { simple_passthrough(dest = dest, in = in::) """