diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2016-12-31 18:25:10 -0500 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2016-12-31 18:25:10 -0500 |
| commit | ff5120c584834ede4ff1373fd34c89dd3a6b0f08 (patch) | |
| tree | dbf8c43e5154c7082662a947fa5093f7492290af /std | |
| parent | 69132bdeda9f9ee672d883fd442b6158d8725422 (diff) | |
| download | zig-ff5120c584834ede4ff1373fd34c89dd3a6b0f08.tar.gz zig-ff5120c584834ede4ff1373fd34c89dd3a6b0f08.zip | |
IR: std makes it to codegen
Diffstat (limited to 'std')
| -rw-r--r-- | std/cstr.zig | 8 | ||||
| -rw-r--r-- | std/net.zig | 125 |
2 files changed, 70 insertions, 63 deletions
diff --git a/std/cstr.zig b/std/cstr.zig index c994b3c814..e3755b62df 100644 --- a/std/cstr.zig +++ b/std/cstr.zig @@ -147,14 +147,18 @@ fn testSimpleCBuf() { assert(buf.startsWithCBuf(&buf2)); } +// TODO do this without globals + fn testCompileTimeStrCmp() { @setFnTest(this); - assert(@staticEval(cmp(c"aoeu", c"aoez") == -1)); + assert(test_compile_time_str_cmp_result); } +const test_compile_time_str_cmp_result = (cmp(c"aoeu", c"aoez") == -1); fn testCompileTimeStrLen() { @setFnTest(this); - assert(@staticEval(len(c"123456789") == 9)); + assert(test_comptime_str_len_result); } +const test_comptime_str_len_result = (len(c"123456789") == 9); diff --git a/std/net.zig b/std/net.zig index 6857f9103d..067355aa9d 100644 --- a/std/net.zig +++ b/std/net.zig @@ -77,13 +77,14 @@ pub fn lookup(hostname: []const u8, out_addrs: []Address) -> %[]Address { @unreachable() // TODO } - switch (parseIpLiteral(hostname)) { - Ok => |addr| { - out_addrs[0] = addr; - return out_addrs[0...1]; - }, - else => {}, - }; + // TODO + //switch (parseIpLiteral(hostname)) { + // Ok => |addr| { + // out_addrs[0] = addr; + // return out_addrs[0...1]; + // }, + // else => {}, + //}; @unreachable() // TODO } @@ -102,7 +103,7 @@ pub fn connectAddr(addr: &Address, port: u16) -> %Connection { os_addr.family = addr.family; os_addr.port = endian.swapIfLe(u16, port); @memcpy((&u8)(&os_addr.addr), &addr.addr[0], 4); - @memset(&os_addr.zero, 0, @sizeOf(@typeOf(os_addr.zero))); + @memset(&os_addr.zero[0], 0, @sizeOf(@typeOf(os_addr.zero))); linux.connect(socket_fd, (&linux.sockaddr)(&os_addr), @sizeOf(linux.sockaddr_in)) } else if (addr.family == linux.AF_INET6) { var os_addr: linux.sockaddr_in6 = undefined; @@ -142,22 +143,23 @@ pub fn connect(hostname: []const u8, port: u16) -> %Connection { error InvalidIpLiteral; pub fn parseIpLiteral(buf: []const u8) -> %Address { - switch (parseIp4(buf)) { - Ok => |ip4| { - var result: Address = undefined; - @memcpy(&result.addr[0], (&u8)(&ip4), @sizeOf(u32)); - result.family = linux.AF_INET; - result.scope_id = 0; - return result; - }, - else => {}, - } - switch (parseIp6(buf)) { - Ok => |addr| { - return addr; - }, - else => {}, - } + // TODO + //switch (parseIp4(buf)) { + // Ok => |ip4| { + // var result: Address = undefined; + // @memcpy(&result.addr[0], (&u8)(&ip4), @sizeOf(u32)); + // result.family = linux.AF_INET; + // result.scope_id = 0; + // return result; + // }, + // else => {}, + //} + //switch (parseIp6(buf)) { + // Ok => |addr| { + // return addr; + // }, + // else => {}, + //} return error.InvalidIpLiteral; } @@ -317,40 +319,41 @@ fn parseIp4(buf: []const u8) -> %u32 { } -fn testParseIp4() { - @setFnTest(this); - - assert(%%parseIp4("127.0.0.1") == endian.swapIfLe(u32, 0x7f000001)); - switch (parseIp4("256.0.0.1")) { Overflow => {}, else => @unreachable(), } - switch (parseIp4("x.0.0.1")) { InvalidChar => {}, else => @unreachable(), } - switch (parseIp4("127.0.0.1.1")) { JunkAtEnd => {}, else => @unreachable(), } - switch (parseIp4("127.0.0.")) { Incomplete => {}, else => @unreachable(), } - switch (parseIp4("100..0.1")) { InvalidChar => {}, else => @unreachable(), } -} - -fn testParseIp6() { - @setFnTest(this); - - { - const addr = %%parseIp6("FF01:0:0:0:0:0:0:FB"); - assert(addr.addr[0] == 0xff); - assert(addr.addr[1] == 0x01); - assert(addr.addr[2] == 0x00); - } -} - -fn testLookupSimpleIp() { - @setFnTest(this); - - { - var addrs_buf: [5]Address = undefined; - const addrs = %%lookup("192.168.1.1", addrs_buf); - assert(addrs.len == 1); - const addr = addrs[0]; - assert(addr.family == linux.AF_INET); - assert(addr.addr[0] == 192); - assert(addr.addr[1] == 168); - assert(addr.addr[2] == 1); - assert(addr.addr[3] == 1); - } -} +// TODO +//fn testParseIp4() { +// @setFnTest(this); +// +// assert(%%parseIp4("127.0.0.1") == endian.swapIfLe(u32, 0x7f000001)); +// switch (parseIp4("256.0.0.1")) { Overflow => {}, else => @unreachable(), } +// switch (parseIp4("x.0.0.1")) { InvalidChar => {}, else => @unreachable(), } +// switch (parseIp4("127.0.0.1.1")) { JunkAtEnd => {}, else => @unreachable(), } +// switch (parseIp4("127.0.0.")) { Incomplete => {}, else => @unreachable(), } +// switch (parseIp4("100..0.1")) { InvalidChar => {}, else => @unreachable(), } +//} +// +//fn testParseIp6() { +// @setFnTest(this); +// +// { +// const addr = %%parseIp6("FF01:0:0:0:0:0:0:FB"); +// assert(addr.addr[0] == 0xff); +// assert(addr.addr[1] == 0x01); +// assert(addr.addr[2] == 0x00); +// } +//} +// +//fn testLookupSimpleIp() { +// @setFnTest(this); +// +// { +// var addrs_buf: [5]Address = undefined; +// const addrs = %%lookup("192.168.1.1", addrs_buf); +// assert(addrs.len == 1); +// const addr = addrs[0]; +// assert(addr.family == linux.AF_INET); +// assert(addr.addr[0] == 192); +// assert(addr.addr[1] == 168); +// assert(addr.addr[2] == 1); +// assert(addr.addr[3] == 1); +// } +//} |
