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