Commit Graph

7138 Commits

Author SHA1 Message Date
Vexu
950eb81304 translate-c-2 macro comparision ops 2019-12-29 20:19:30 +02:00
Vexu
ca211617bd update c_tokenzier tests to new api 2019-12-29 20:04:19 +02:00
frmdstryr
6df9e9fe47 Cleanup c_tokenizer.zig tests 2019-12-29 19:50:58 +02:00
frmdstryr
fcc82a219a Add macro ops 2019-12-29 19:50:45 +02:00
Vexu
55348c9b93 translate-c-2 bug fixes
- fix use of undefined value
- fix parenexprclass result not being suppressed
- add an error and a TODO for access of an anonymous field
2019-12-29 19:23:36 +02:00
Vexu
621629e20d translate-c-2 fix assertion failure rendering do while 2019-12-29 17:09:31 +02:00
Vexu
f5e7d2d00c translate-c fix bugs
Thanks @daurnimator
2019-12-29 14:01:59 +02:00
Vexu
59cc7072e2 translate-c-2 use intCast in most places 2019-12-29 11:04:59 +02:00
Vexu
1a3633d786 fix stage2 build 2019-12-29 11:04:58 +02:00
Vexu
3f7bab7373 fix translate-c taking ages 2019-12-29 11:04:58 +02:00
Vexu
fceda07f94 use self hosted translate-c for cimports 2019-12-29 11:04:45 +02:00
Marc Tiehuis
bda355d976 Merge pull request #3992 from ForLoveOfCats/BigIntToStringLeak
Add missing deferred deinits to `math.big.Int.toString`
2019-12-29 14:47:59 +13:00
Andrew Kelley
cb02125415 Merge pull request #3987 from daurnimator/std.unicode-fixes
std.unicode fixes
2019-12-28 18:13:50 -05:00
Andrew Kelley
48bf00bf34 Merge pull request #3993 from Vexu/translate-c
Translate-c-2 macro conditional operator and better error reporting
2019-12-28 18:12:06 -05:00
Vexu
1e52b7d690 translate-c-2 improve macro errors 2019-12-28 23:38:07 +02:00
Vexu
aea46dcd7e translate-c-2 macro conditional operator 2019-12-28 22:32:18 +02:00
ForLoveOfCats
b28824ef66 Add missing deferred deinits to math.big.Int.toString (mem leak fix) 2019-12-28 15:31:32 -05:00
Andrew Kelley
68aa221995 Merge pull request #3986 from LemonBoy/translate-c-stuff
Two small translate-c(-2) patches
2019-12-28 14:26:37 -05:00
MateuszOkulus
6c3ccea29b Make it more obvious that ifs are expressions 2019-12-28 14:26:10 -05:00
daurnimator
edb5deb39c std: unicode codepoints are 21 bits 2019-12-28 16:49:59 +11:00
daurnimator
ab6065407d std: simplify utf8ToUtf16Le
Also faster, on my machine unicode/throughput_test.zig now gives e.g.
> original utf8ToUtf16Le: elapsed: 1048 ns (0 ms)
> new utf8ToUtf16Le: elapsed: 971 ns (0 ms)
2019-12-28 16:49:59 +11:00
daurnimator
5843a6e3bc std: optimise utf8ByteSequenceLength
Also tested (but not as fast):
```zig
pub fn utf8ByteSequenceLength(first_byte: u8) !u3 {
    const len = @clz(u8, ~first_byte);
    if (len == 0) return 1;
    if (len < 4) return @intCast(u3, len);
    return error.Utf8InvalidStartByte;
}
```
2019-12-28 14:39:38 +11:00
daurnimator
8b72eedc76 std: add warm up phase to benchmark
In my tests, whatever ran first was getting much better numbers.
Additionally, add alignment requirements so that comparison is fair.
2019-12-28 14:39:38 +11:00
daurnimator
a81c0ba2e7 std: fix unicode encoding of astral plane codepoints to utf16 2019-12-28 14:39:38 +11:00
LemonBoy
6070ffc28e Fix crash with forward-declared enums
Closes #3754
2019-12-28 00:57:37 +01:00
LemonBoy
a38704d012 Fix crash in translate-c w/ parameterless fn 2019-12-28 00:50:17 +01:00
Andrew Kelley
25e71216c4 Merge pull request #3974 from kprotty/event_broadcast
ResetEvent fixes & broadcast notify
2019-12-22 23:39:13 -05:00
kprotty
1c5a1284e3 typo fix 2019-12-22 21:45:26 -06:00
kprotty
b8fabb3426 ResetEvent: broadcast by default 2019-12-22 21:45:26 -06:00
Andrew Kelley
ad92227516 report compile errors instead of crashing when frame is invalid 2019-12-22 17:09:11 -05:00
Andrew Kelley
28dbdba37e Merge pull request #3935 from Vexu/translate-c-2
Translate-c-2 the rest
2019-12-22 16:12:56 -05:00
Vexu
9d31b65b34 translate-c-2 various fixes
- make non-namespaced enums ints
- fix .used compound assignments not being grouped
- fix macro calls with casts producing invalid Zig
2019-12-22 14:38:06 +02:00
Jethro Nederhof
ba1d213f48 freebsd: add missing OS and libc bits 2019-12-22 02:27:23 -05:00
Andrew Kelley
bc95c63cf2 Merge pull request #3940 from ziglang/sentinel-slicing
fix std.mem.addNullByte and implement sentinel slicing
2019-12-21 14:11:16 -05:00
Andrew Kelley
290dc5d95b zig fmt support for slice sentinel syntax 2019-12-21 14:03:36 -05:00
Andrew Kelley
ce444771c5 fix incorrect @typeInfo for sentinels 2019-12-21 13:25:05 -05:00
Andrew Kelley
8d73703d52 fix safety for sentinel-slicing floats 2019-12-20 18:28:59 -05:00
Andrew Kelley
8918cb06fc sentinel slicing improvements
* add runtime safety for slicing pointers, arrays, and slices.
 * slicing without a sentinel value results in non-sentineled slice
 * improved `std.debug.panic` handling of panic-during-panic
2019-12-20 18:28:59 -05:00
Andrew Kelley
26f3c2d061 fix std.mem.addNullByte and implement sentinel slicing
see #3770
2019-12-20 18:28:56 -05:00
Vexu
40f607d195 translate-c-2 fix macro regression 2019-12-20 22:48:40 +02:00
LemonBoy
51cbd96820 Fix sentinel value of opaque pointers in typeInfo
Fixes #3888
2019-12-20 15:48:34 -05:00
LemonBoy
f077c3c4cc Fix comptime evaluation of runtime array access
Fix #3951
2019-12-20 15:47:43 -05:00
Andrew Kelley
9daa7e1e19 CI: update llvm apt sources to correct ubuntu version
In the pipelines.yml file we request Ubuntu 18.04 Bionic Beaver, but in
the script we were still using the Xenial apt.llvm.org sources.
2019-12-20 13:40:07 -05:00
Vexu
949f2369c1 translate-c-2 fix bugs found translating SDL 2019-12-20 20:22:22 +02:00
Vexu
9437d99ae2 translate-c-2 final small fixes 2019-12-20 18:51:44 +02:00
Vexu
e0046b737e translate-c-2 improve macro escape sequences 2019-12-20 13:50:34 +02:00
Vexu
daeb939210 translate-c-2 fix switch range 2019-12-20 11:35:21 +02:00
Vexu
d172a7335c translate-c-2 copy parametrs to stack 2019-12-20 00:12:08 +02:00
Vexu
b7f18164f9 translate-c-2 add missing casts 2019-12-19 21:30:51 +02:00
Vexu
61482be153 translate-c-2 improve macro fn ptr caller 2019-12-19 20:58:48 +02:00