| author | |
| committer | |
| log | 1fa0cabf9dd0c2016a60c23bb616f0f39daf1dfd |
| tree | ed50dd2790c0e12cad2b20071766089b18f386cc |
| parent | 8552d7fd19836f3350b7303f9bd897708b966805 |
closes #1617 files changed, 106 insertions(+), 193 deletions(-)
doc/vim/syntax/zig.vim+5-12| ... | ... | @@ -1,28 +1,27 @@ |
| 1 | 1 | " Vim syntax file |
| 2 | 2 | " Language: Zig |
| 3 | 3 | " Maintainer: Andrew Kelley |
| 4 | " Latest Revision: 02 December 2015 | |
| 4 | " Latest Revision: 28 July 2016 | |
| 5 | 5 | |
| 6 | 6 | if exists("b:current_syntax") |
| 7 | 7 | finish |
| 8 | 8 | endif |
| 9 | 9 | |
| 10 | syn keyword zigStorage const var extern volatile export pub noalias inline | |
| 10 | syn keyword zigStorage const var extern export pub noalias inline noinline | |
| 11 | 11 | syn keyword zigStructure struct enum union |
| 12 | 12 | syn keyword zigStatement goto break return continue asm defer |
| 13 | 13 | syn keyword zigConditional if else switch |
| 14 | 14 | syn keyword zigRepeat while for |
| 15 | 15 | |
| 16 | syn keyword zigConstant null undefined | |
| 16 | syn keyword zigConstant null undefined zeroes | |
| 17 | 17 | syn keyword zigKeyword fn use |
| 18 | 18 | syn keyword zigType bool f32 f64 void unreachable type error |
| 19 | 19 | syn keyword zigType i8 u8 i16 u16 i32 u32 i64 u64 isize usize |
| 20 | syn keyword zigType c_short c_ushort c_int c_uint c_long c_ulong c_longlong c_ulonglong | |
| 20 | syn keyword zigType c_short c_ushort c_int c_uint c_long c_ulong c_longlong c_ulonglong c_long_double | |
| 21 | 21 | |
| 22 | 22 | syn keyword zigBoolean true false |
| 23 | 23 | |
| 24 | syn match zigOperator display "\%(+\|-\|/\|*\|=\|\^\|&\|?\||\|!\|>\|<\|%\)=\?" | |
| 25 | syn match zigOperator display "&&\|||" | |
| 24 | syn match zigOperator display "\%(+%\?\|-%\?\|/\|*%\?\|=\|\^\|&\|?\||\|!\|>\|<\|%\|<<%\?\|>>\|&&\|||\)=\?" | |
| 26 | 25 | syn match zigArrowCharacter display "->" |
| 27 | 26 | |
| 28 | 27 | syn match zigDecNumber display "\<[0-9][0-9_]*\%([iu]\%(size\|8\|16\|32\|64\)\)\=" |
| ... | ... | @@ -40,10 +39,6 @@ syn match zigShebang /\%^#![^[].*/ |
| 40 | 39 | |
| 41 | 40 | syn region zigCommentLine start="//" end="$" contains=zigTodo,@Spell |
| 42 | 41 | syn region zigCommentLineDoc start="//\%(//\@!\|!\)" end="$" contains=zigTodo,@Spell |
| 43 | syn region zigCommentBlock matchgroup=zigCommentBlock start="/\*\%(!\|\*[*/]\@!\)\@!" end="\*/" contains=zigTodo,zigCommentBlockNest,@Spell | |
| 44 | syn region zigCommentBlockDoc matchgroup=zigCommentBlockDoc start="/\*\%(!\|\*[*/]\@!\)" end="\*/" contains=zigTodo,zigCommentBlockDocNest,@Spell | |
| 45 | syn region zigCommentBlockNest matchgroup=zigCommentBlock start="/\*" end="\*/" contains=zigTodo,zigCommentBlockNest,@Spell contained transparent | |
| 46 | syn region zigCommentBlockDocNest matchgroup=zigCommentBlockDoc start="/\*" end="\*/" contains=zigTodo,zigCommentBlockDocNest,@Spell contained transparent | |
| 47 | 42 | |
| 48 | 43 | syn keyword zigTodo contained TODO XXX |
| 49 | 44 | |
| ... | ... | @@ -67,8 +62,6 @@ hi def link zigType Type |
| 67 | 62 | hi def link zigShebang Comment |
| 68 | 63 | hi def link zigCommentLine Comment |
| 69 | 64 | hi def link zigCommentLineDoc SpecialComment |
| 70 | hi def link zigCommentBlock zigCommentLine | |
| 71 | hi def link zigCommentBlockDoc zigCommentLineDoc | |
| 72 | 65 | hi def link zigTodo Todo |
| 73 | 66 | hi def link zigStringContinuation Special |
| 74 | 67 | hi def link zigString String |
src/tokenizer.cpp-57| ... | ... | @@ -167,9 +167,6 @@ enum TokenizeState { |
| 167 | 167 | TokenizeStateSawPipe, |
| 168 | 168 | TokenizeStateSawPipePipe, |
| 169 | 169 | TokenizeStateLineComment, |
| 170 | TokenizeStateMultiLineComment, | |
| 171 | TokenizeStateMultiLineCommentSlash, | |
| 172 | TokenizeStateMultiLineCommentStar, | |
| 173 | 170 | TokenizeStateSawEq, |
| 174 | 171 | TokenizeStateSawBang, |
| 175 | 172 | TokenizeStateSawLessThan, |
| ... | ... | @@ -194,7 +191,6 @@ struct Tokenize { |
| 194 | 191 | int line; |
| 195 | 192 | int column; |
| 196 | 193 | Token *cur_tok; |
| 197 | int multi_line_comment_count; | |
| 198 | 194 | Tokenization *out; |
| 199 | 195 | int raw_string_id_start; |
| 200 | 196 | int raw_string_id_end; |
| ... | ... | @@ -840,11 +836,6 @@ void tokenize(Buf *buf, Tokenization *out) { |
| 840 | 836 | cancel_token(&t); |
| 841 | 837 | t.state = TokenizeStateLineComment; |
| 842 | 838 | break; |
| 843 | case '*': | |
| 844 | cancel_token(&t); | |
| 845 | t.state = TokenizeStateMultiLineComment; | |
| 846 | t.multi_line_comment_count = 1; | |
| 847 | break; | |
| 848 | 839 | case '=': |
| 849 | 840 | t.cur_tok->id = TokenIdDivEq; |
| 850 | 841 | end_token(&t); |
| ... | ... | @@ -867,49 +858,6 @@ void tokenize(Buf *buf, Tokenization *out) { |
| 867 | 858 | break; |
| 868 | 859 | } |
| 869 | 860 | break; |
| 870 | case TokenizeStateMultiLineComment: | |
| 871 | switch (c) { | |
| 872 | case '*': | |
| 873 | t.state = TokenizeStateMultiLineCommentStar; | |
| 874 | break; | |
| 875 | case '/': | |
| 876 | t.state = TokenizeStateMultiLineCommentSlash; | |
| 877 | break; | |
| 878 | default: | |
| 879 | // do nothing | |
| 880 | break; | |
| 881 | } | |
| 882 | break; | |
| 883 | case TokenizeStateMultiLineCommentSlash: | |
| 884 | switch (c) { | |
| 885 | case '*': | |
| 886 | t.state = TokenizeStateMultiLineComment; | |
| 887 | t.multi_line_comment_count += 1; | |
| 888 | break; | |
| 889 | case '/': | |
| 890 | break; | |
| 891 | default: | |
| 892 | t.state = TokenizeStateMultiLineComment; | |
| 893 | break; | |
| 894 | } | |
| 895 | break; | |
| 896 | case TokenizeStateMultiLineCommentStar: | |
| 897 | switch (c) { | |
| 898 | case '/': | |
| 899 | t.multi_line_comment_count -= 1; | |
| 900 | if (t.multi_line_comment_count == 0) { | |
| 901 | t.state = TokenizeStateStart; | |
| 902 | } else { | |
| 903 | t.state = TokenizeStateMultiLineComment; | |
| 904 | } | |
| 905 | break; | |
| 906 | case '*': | |
| 907 | break; | |
| 908 | default: | |
| 909 | t.state = TokenizeStateMultiLineComment; | |
| 910 | break; | |
| 911 | } | |
| 912 | break; | |
| 913 | 861 | case TokenizeStateSymbolFirst: |
| 914 | 862 | switch (c) { |
| 915 | 863 | case '"': |
| ... | ... | @@ -1339,11 +1287,6 @@ void tokenize(Buf *buf, Tokenization *out) { |
| 1339 | 1287 | break; |
| 1340 | 1288 | case TokenizeStateLineComment: |
| 1341 | 1289 | break; |
| 1342 | case TokenizeStateMultiLineComment: | |
| 1343 | case TokenizeStateMultiLineCommentSlash: | |
| 1344 | case TokenizeStateMultiLineCommentStar: | |
| 1345 | tokenize_error(&t, "unterminated multi-line comment"); | |
| 1346 | break; | |
| 1347 | 1290 | } |
| 1348 | 1291 | if (t.state != TokenizeStateError) { |
| 1349 | 1292 | if (t.tokens->length > 0) { |
std/compiler_rt.zig+54-66| ... | ... | @@ -27,45 +27,41 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { |
| 27 | 27 | var q: udwords = undefined; |
| 28 | 28 | var r: udwords = undefined; |
| 29 | 29 | var sr: c_uint = undefined; |
| 30 | /* special cases, X is unknown, K != 0 */ | |
| 30 | // special cases, X is unknown, K != 0 | |
| 31 | 31 | if (n[high] == 0) { |
| 32 | 32 | if (d[high] == 0) { |
| 33 | /* 0 X | |
| 34 | * --- | |
| 35 | * 0 X | |
| 36 | */ | |
| 33 | // 0 X | |
| 34 | // --- | |
| 35 | // 0 X | |
| 37 | 36 | if (const rem ?= maybe_rem) { |
| 38 | 37 | *rem = n[low] % d[low]; |
| 39 | 38 | } |
| 40 | 39 | return n[low] / d[low]; |
| 41 | 40 | } |
| 42 | /* 0 X | |
| 43 | * --- | |
| 44 | * K X | |
| 45 | */ | |
| 41 | // 0 X | |
| 42 | // --- | |
| 43 | // K X | |
| 46 | 44 | if (const rem ?= maybe_rem) { |
| 47 | 45 | *rem = n[low]; |
| 48 | 46 | } |
| 49 | 47 | return 0; |
| 50 | 48 | } |
| 51 | /* n[high] != 0 */ | |
| 49 | // n[high] != 0 | |
| 52 | 50 | if (d[low] == 0) { |
| 53 | 51 | if (d[high] == 0) { |
| 54 | /* K X | |
| 55 | * --- | |
| 56 | * 0 0 | |
| 57 | */ | |
| 52 | // K X | |
| 53 | // --- | |
| 54 | // 0 0 | |
| 58 | 55 | if (var rem ?= maybe_rem) { |
| 59 | 56 | *rem = n[high] % d[low]; |
| 60 | 57 | } |
| 61 | 58 | return n[high] / d[low]; |
| 62 | 59 | } |
| 63 | /* d[high] != 0 */ | |
| 60 | // d[high] != 0 | |
| 64 | 61 | if (n[low] == 0) { |
| 65 | /* K 0 | |
| 66 | * --- | |
| 67 | * K 0 | |
| 68 | */ | |
| 62 | // K 0 | |
| 63 | // --- | |
| 64 | // K 0 | |
| 69 | 65 | if (var rem ?= maybe_rem) { |
| 70 | 66 | r[high] = n[high] % d[high]; |
| 71 | 67 | r[low] = 0; |
| ... | ... | @@ -73,10 +69,9 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { |
| 73 | 69 | } |
| 74 | 70 | return n[high] / d[high]; |
| 75 | 71 | } |
| 76 | /* K K | |
| 77 | * --- | |
| 78 | * K 0 | |
| 79 | */ | |
| 72 | // K K | |
| 73 | // --- | |
| 74 | // K 0 | |
| 80 | 75 | // if d is a power of 2 |
| 81 | 76 | if ((d[high] & (d[high] - 1)) == 0) { |
| 82 | 77 | if (var rem ?= maybe_rem) { |
| ... | ... | @@ -86,12 +81,11 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { |
| 86 | 81 | } |
| 87 | 82 | return n[high] >> @ctz(@typeof(d[high]), d[high]); |
| 88 | 83 | } |
| 89 | /* K K | |
| 90 | * --- | |
| 91 | * K 0 | |
| 92 | */ | |
| 84 | // K K | |
| 85 | // --- | |
| 86 | // K 0 | |
| 93 | 87 | sr = @clz(su_int, d[high]) - @clz(su_int, n[high]); |
| 94 | /* 0 <= sr <= n_uword_bits - 2 or sr large */ | |
| 88 | // 0 <= sr <= n_uword_bits - 2 or sr large | |
| 95 | 89 | if (sr > n_uword_bits - 2) { |
| 96 | 90 | if (var rem ?= maybe_rem) { |
| 97 | 91 | *rem = *(&du_int)(&n[0]); |
| ... | ... | @@ -99,21 +93,20 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { |
| 99 | 93 | return 0; |
| 100 | 94 | } |
| 101 | 95 | sr += 1; |
| 102 | /* 1 <= sr <= n_uword_bits - 1 */ | |
| 103 | /* q.all = n.all << (n_udword_bits - sr); */ | |
| 96 | // 1 <= sr <= n_uword_bits - 1 | |
| 97 | // q.all = n.all << (n_udword_bits - sr); | |
| 104 | 98 | q[low] = 0; |
| 105 | 99 | q[high] = n[low] << (n_uword_bits - sr); |
| 106 | /* r.all = n.all >> sr; */ | |
| 100 | // r.all = n.all >> sr; | |
| 107 | 101 | r[high] = n[high] >> sr; |
| 108 | 102 | r[low] = (n[high] << (n_uword_bits - sr)) | (n[low] >> sr); |
| 109 | 103 | } else { |
| 110 | /* d[low] != 0 */ | |
| 104 | // d[low] != 0 | |
| 111 | 105 | if (d[high] == 0) { |
| 112 | /* K X | |
| 113 | * --- | |
| 114 | * 0 K | |
| 115 | */ | |
| 116 | /* if d is a power of 2 */ | |
| 106 | // K X | |
| 107 | // --- | |
| 108 | // 0 K | |
| 109 | // if d is a power of 2 | |
| 117 | 110 | if ((d[low] & (d[low] - 1)) == 0) { |
| 118 | 111 | if (var rem ?= maybe_rem) { |
| 119 | 112 | *rem = n[low] & (d[low] - 1); |
| ... | ... | @@ -126,15 +119,13 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { |
| 126 | 119 | q[low] = (n[high] << (n_uword_bits - sr)) | (n[low] >> sr); |
| 127 | 120 | return *(&du_int)(&q[0]); |
| 128 | 121 | } |
| 129 | /* K X | |
| 130 | * --- | |
| 131 | * 0 K | |
| 132 | */ | |
| 122 | // K X | |
| 123 | // --- | |
| 124 | // 0 K | |
| 133 | 125 | sr = 1 + n_uword_bits + @clz(su_int, d[low]) - @clz(su_int, n[high]); |
| 134 | /* 2 <= sr <= n_udword_bits - 1 | |
| 135 | * q.all = n.all << (n_udword_bits - sr); | |
| 136 | * r.all = n.all >> sr; | |
| 137 | */ | |
| 126 | // 2 <= sr <= n_udword_bits - 1 | |
| 127 | // q.all = n.all << (n_udword_bits - sr); | |
| 128 | // r.all = n.all >> sr; | |
| 138 | 129 | if (sr == n_uword_bits) { |
| 139 | 130 | q[low] = 0; |
| 140 | 131 | q[high] = n[low]; |
| ... | ... | @@ -155,12 +146,11 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { |
| 155 | 146 | r[low] = n[high] >> (sr - n_uword_bits); |
| 156 | 147 | } |
| 157 | 148 | } else { |
| 158 | /* K X | |
| 159 | * --- | |
| 160 | * K K | |
| 161 | */ | |
| 149 | // K X | |
| 150 | // --- | |
| 151 | // K K | |
| 162 | 152 | sr = @clz(su_int, d[high]) - @clz(su_int, n[high]); |
| 163 | /* 0 <= sr <= n_uword_bits - 1 or sr large */ | |
| 153 | // 0 <= sr <= n_uword_bits - 1 or sr large | |
| 164 | 154 | if (sr > n_uword_bits - 1) { |
| 165 | 155 | if (var rem ?= maybe_rem) { |
| 166 | 156 | *rem = *(&du_int)(&n[0]); |
| ... | ... | @@ -168,8 +158,8 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { |
| 168 | 158 | return 0; |
| 169 | 159 | } |
| 170 | 160 | sr += 1; |
| 171 | /* 1 <= sr <= n_uword_bits */ | |
| 172 | /* q.all = n.all << (n_udword_bits - sr); */ | |
| 161 | // 1 <= sr <= n_uword_bits | |
| 162 | // q.all = n.all << (n_udword_bits - sr); | |
| 173 | 163 | q[low] = 0; |
| 174 | 164 | if (sr == n_uword_bits) { |
| 175 | 165 | q[high] = n[low]; |
| ... | ... | @@ -182,26 +172,24 @@ export fn __udivmoddi4(a: du_int, b: du_int, maybe_rem: ?&du_int) -> du_int { |
| 182 | 172 | } |
| 183 | 173 | } |
| 184 | 174 | } |
| 185 | /* Not a special case | |
| 186 | * q and r are initialized with: | |
| 187 | * q.all = n.all << (n_udword_bits - sr); | |
| 188 | * r.all = n.all >> sr; | |
| 189 | * 1 <= sr <= n_udword_bits - 1 | |
| 190 | */ | |
| 175 | // Not a special case | |
| 176 | // q and r are initialized with: | |
| 177 | // q.all = n.all << (n_udword_bits - sr); | |
| 178 | // r.all = n.all >> sr; | |
| 179 | // 1 <= sr <= n_udword_bits - 1 | |
| 191 | 180 | var carry: su_int = 0; |
| 192 | 181 | while (sr > 0) { |
| 193 | /* r:q = ((r:q) << 1) | carry */ | |
| 182 | // r:q = ((r:q) << 1) | carry | |
| 194 | 183 | r[high] = (r[high] << 1) | (r[low] >> (n_uword_bits - 1)); |
| 195 | 184 | r[low] = (r[low] << 1) | (q[high] >> (n_uword_bits - 1)); |
| 196 | 185 | q[high] = (q[high] << 1) | (q[low] >> (n_uword_bits - 1)); |
| 197 | 186 | q[low] = (q[low] << 1) | carry; |
| 198 | /* carry = 0; | |
| 199 | * if (r.all >= d.all) | |
| 200 | * { | |
| 201 | * r.all -= d.all; | |
| 202 | * carry = 1; | |
| 203 | * } | |
| 204 | */ | |
| 187 | // carry = 0; | |
| 188 | // if (r.all >= d.all) | |
| 189 | // { | |
| 190 | // r.all -= d.all; | |
| 191 | // carry = 1; | |
| 192 | // } | |
| 205 | 193 | const s: di_int = (di_int)(*(&du_int)(&d[0]) - *(&du_int)(&r[0]) - 1) >> (n_udword_bits - 1); |
| 206 | 194 | carry = su_int(s & 1); |
| 207 | 195 | *(&du_int)(&r[0]) -= *(&du_int)(&d[0]) & u64(s); |
std/hash_map.zig+4-4| ... | ... | @@ -6,11 +6,11 @@ const Allocator = mem.Allocator; |
| 6 | 6 | const want_modification_safety = !@compile_var("is_release"); |
| 7 | 7 | const debug_u32 = if (want_modification_safety) u32 else void; |
| 8 | 8 | |
| 9 | /* | |
| 10 | pub inline fn HashMap(inline K: type, inline V: type, inline hash: fn(key: K)->u32, inline eql: fn(a: K, b: K)->bool) { | |
| 11 | SmallHashMap(K, V, hash, eql, 8); | |
| 9 | pub inline fn HashMap(inline K: type, inline V: type, | |
| 10 | inline hash: fn(key: K)->u32, inline eql: fn(a: K, b: K)->bool) | |
| 11 | { | |
| 12 | SmallHashMap(K, V, hash, eql, 8) | |
| 12 | 13 | } |
| 13 | */ | |
| 14 | 14 | |
| 15 | 15 | pub struct SmallHashMap(K: type, V: type, hash: fn(key: K)->u32, eql: fn(a: K, b: K)->bool, STATIC_SIZE: usize) { |
| 16 | 16 | entries: []Entry, |
std/linux.zig+21-21| ... | ... | @@ -342,27 +342,27 @@ export struct iovec { |
| 342 | 342 | iov_len: usize, |
| 343 | 343 | } |
| 344 | 344 | |
| 345 | /* | |
| 346 | const IF_NAMESIZE = 16; | |
| 347 | ||
| 348 | export struct ifreq { | |
| 349 | ifrn_name: [IF_NAMESIZE]u8, | |
| 350 | 	union { | |
| 351 | ifru_addr: sockaddr, | |
| 352 | ifru_dstaddr: sockaddr, | |
| 353 | ifru_broadaddr: sockaddr, | |
| 354 | ifru_netmask: sockaddr, | |
| 355 | ifru_hwaddr: sockaddr, | |
| 356 | ifru_flags: i16, | |
| 357 | ifru_ivalue: i32, | |
| 358 | ifru_mtu: i32, | |
| 359 | ifru_map: ifmap, | |
| 360 | ifru_slave: [IF_NAMESIZE]u8, | |
| 361 | ifru_newname: [IF_NAMESIZE]u8, | |
| 362 | ifru_data: &u8, | |
| 363 | 	} ifr_ifru; | |
| 364 | } | |
| 365 | */ | |
| 345 | // | |
| 346 | //const IF_NAMESIZE = 16; | |
| 347 | // | |
| 348 | //export struct ifreq { | |
| 349 | // ifrn_name: [IF_NAMESIZE]u8, | |
| 350 | //	union { | |
| 351 | // ifru_addr: sockaddr, | |
| 352 | // ifru_dstaddr: sockaddr, | |
| 353 | // ifru_broadaddr: sockaddr, | |
| 354 | // ifru_netmask: sockaddr, | |
| 355 | // ifru_hwaddr: sockaddr, | |
| 356 | // ifru_flags: i16, | |
| 357 | // ifru_ivalue: i32, | |
| 358 | // ifru_mtu: i32, | |
| 359 | // ifru_map: ifmap, | |
| 360 | // ifru_slave: [IF_NAMESIZE]u8, | |
| 361 | // ifru_newname: [IF_NAMESIZE]u8, | |
| 362 | // ifru_data: &u8, | |
| 363 | //	} ifr_ifru; | |
| 364 | //} | |
| 365 | // | |
| 366 | 366 | |
| 367 | 367 | pub fn getsockname(fd: i32, noalias addr: &sockaddr, noalias len: &socklen_t) -> usize { |
| 368 | 368 | arch.syscall3(arch.SYS_getsockname, usize(fd), usize(addr), usize(len)) |
std/net.zig+20-20| ... | ... | @@ -67,12 +67,12 @@ struct Address { |
| 67 | 67 | pub fn lookup(hostname: []const u8, out_addrs: []Address) -> %[]Address { |
| 68 | 68 | if (hostname.len == 0) { |
| 69 | 69 | |
| 70 | /* | |
| 71 | 		if (family != AF_INET6) | |
| 72 | 			buf[cnt++] = (struct address){ .family = AF_INET, .addr = { 127,0,0,1 } }; | |
| 73 | 		if (family != AF_INET) | |
| 74 | 			buf[cnt++] = (struct address){ .family = AF_INET6, .addr = { [15] = 1 } }; | |
| 75 | */ | |
| 70 | // | |
| 71 | //		if (family != AF_INET6) | |
| 72 | //			buf[cnt++] = (struct address){ .family = AF_INET, .addr = { 127,0,0,1 } }; | |
| 73 | //		if (family != AF_INET) | |
| 74 | //			buf[cnt++] = (struct address){ .family = AF_INET6, .addr = { [15] = 1 } }; | |
| 75 | // | |
| 76 | 76 | unreachable{} // TODO |
| 77 | 77 | } |
| 78 | 78 | |
| ... | ... | @@ -248,20 +248,20 @@ fn parse_ip6(buf: []const u8) -> %Address { |
| 248 | 248 | return error.Incomplete; |
| 249 | 249 | } |
| 250 | 250 | |
| 251 | /* | |
| 252 | 	if (p) { | |
| 253 | 		if (isdigit(*++p)) scopeid = strtoull(p, &z, 10); | |
| 254 | 		else z = p-1; | |
| 255 | 		if (*z) { | |
| 256 | 			if (!IN6_IS_ADDR_LINKLOCAL(&a6) && | |
| 257 | 			 !IN6_IS_ADDR_MC_LINKLOCAL(&a6)) | |
| 258 | 				return EAI_NONAME; | |
| 259 | 			scopeid = if_nametoindex(p); | |
| 260 | 			if (!scopeid) return EAI_NONAME; | |
| 261 | 		} | |
| 262 | 		if (scopeid > UINT_MAX) return EAI_NONAME; | |
| 263 | 	} | |
| 264 | */ | |
| 251 | // | |
| 252 | //	if (p) { | |
| 253 | //		if (isdigit(*++p)) scopeid = strtoull(p, &z, 10); | |
| 254 | //		else z = p-1; | |
| 255 | //		if (*z) { | |
| 256 | //			if (!IN6_IS_ADDR_LINKLOCAL(&a6) && | |
| 257 | //			 !IN6_IS_ADDR_MC_LINKLOCAL(&a6)) | |
| 258 | //				return EAI_NONAME; | |
| 259 | //			scopeid = if_nametoindex(p); | |
| 260 | //			if (!scopeid) return EAI_NONAME; | |
| 261 | //		} | |
| 262 | //		if (scopeid > UINT_MAX) return EAI_NONAME; | |
| 263 | //	} | |
| 264 | // | |
| 265 | 265 | |
| 266 | 266 | if (scope_id) { |
| 267 | 267 | return result; |
test/self_hosted.zig+2-13| ... | ... | @@ -4,22 +4,11 @@ const str = std.str; |
| 4 | 4 | const cstr = std.cstr; |
| 5 | 5 | const other = @import("other.zig"); |
| 6 | 6 | |
| 7 | #attribute("test") | |
| 8 | fn empty_function() {} | |
| 9 | ||
| 10 | ||
| 11 | ||
| 12 | /** | |
| 13 | * multi line doc comment | |
| 14 | */ | |
| 7 | // normal comment | |
| 15 | 8 | /// this is a documentation comment |
| 16 | 9 | /// doc comment line 2 |
| 17 | 10 | #attribute("test") |
| 18 | fn comments() { | |
| 19 | comments_f1(/* mid-line comment /* nested */ */ "OK\n"); | |
| 20 | } | |
| 21 | ||
| 22 | fn comments_f1(s: []u8) {} | |
| 11 | fn empty_function_with_comments() {} | |
| 23 | 12 | |
| 24 | 13 | |
| 25 | 14 | #attribute("test") |