LemonBoy
dc54e50db2
std: Fix one more sentinel buffer overrun
2020-04-03 12:03:36 +02:00
LemonBoy
aa5865b9be
std: Fix oob slicing operator
2020-04-03 10:58:39 +02:00
LemonBoy
855edd2949
ir: Rewrite the bound checks in slice operator
...
Closes #4777
2020-04-03 10:58:39 +02:00
LeRoyce Pearson
ea32a7d2bc
Fix compile errors about adding error.FileLocksNotSupported
2020-04-03 00:27:34 -06:00
LeRoyce Pearson
4dd0822a36
Add LOCK_* constants to BSD os/bits
2020-04-02 23:50:12 -06:00
LeRoyce Pearson
733f1c25bd
Fix compile errors in stage2
2020-04-02 23:39:25 -06:00
LeRoyce Pearson
ea6525797d
Use flock instead of fcntl to lock files
...
`flock` locks based on the file handle, instead of the process id.
This brings the file locking on unix based systems closer to file
locking on Windows.
2020-04-02 22:57:02 -06:00
LeRoyce Pearson
e7cf3f92a9
Add FileLocksNotSupported error to OpenError
2020-04-02 22:12:45 -06:00
LeRoyce Pearson
f757f0ea59
Merge branch 'master' into feature-file-locks
2020-04-02 21:47:41 -06:00
LeRoyce Pearson
35c462caf0
Merge branch 'master' into feature-file-locks
2020-04-02 21:46:48 -06:00
Jay Petacat
0dbf8aaab8
crypto: fix benchmark compile error ( #4919 )
2020-04-02 23:46:46 -04:00
Andrew Kelley
048da6f631
ci: enable riscv64-linux tests
...
Thanks to Michael Dusan's work in
deef063bbf these tests can be enabled.
2020-04-02 21:44:03 -04:00
Andrew Kelley
f8cc6a1917
zig cc: fix ambiguity with -MT
...
In an MSVC context, `-MT` means
"Use static run-time"
and it is a flag with no parameter.
On POSIX it means
"Specify name of main file output in depfile"
and it is "joined or separate".
The former was interfering with the latter. Now, the MT flag is required
to be specified with a `/` to disambiguate: `/MT`.
2020-04-02 21:15:36 -04:00
Andrew Kelley
e7f555ca55
stage1: fix build for i386-linux
2020-04-02 19:07:52 -04:00
Timon Kruiper
b5526d0b3b
Fix multiplication overflow in hash_const_val
...
In some cases the compiler was actually emitting an 64 bit signed
multiplication, instead of a 32 bit unsigned one.
2020-04-02 17:51:04 -04:00
Andrew Kelley
5314641e11
zig cc: support more linker args
2020-04-02 17:29:22 -04:00
Andrew Kelley
c1778bd41f
zig cc: support --version-script linker arg
...
See #4784
2020-04-02 16:59:08 -04:00
Andrew Kelley
c4b3c84b3f
zig cc: support -F and -framework
2020-04-02 15:59:48 -04:00
Andrew Kelley
e4edc6d118
zig cc: respect -MF -MV -MD options
...
Zig disables its caching and forwards these args when any are provided.
see #4784
2020-04-02 15:47:27 -04:00
Andrew Kelley
4aa797b6bb
Merge branch 'ilmaria-master'
...
closes #4608
2020-04-02 15:06:50 -04:00
Andrew Kelley
8bf7cffe29
slight modification of the semantics of std.os.getenvW
...
Now, this function first attempts a case-sensitive lookup.
If no match is found, and `key` is ASCII, then it attempts a
second case-insensitive lookup.
It is not planned to support full Unicode case-insensitivity
on Windows, and in fact relying on non-ASCII case-insensitive
environment variables is fundamentally problematic.
2020-04-02 15:04:42 -04:00
Ilmari Autio
ba1a8b64c4
make std.os.getenvW case insensitive
...
partially addresses #4603
Fixing std.process.getEnvMap is NOT included in this commit.
2020-04-02 13:01:32 -04:00
Andrew Kelley
503c420797
Merge pull request #4908 from daurnimator/fifo-refactor
...
Modernize LinearFifo for new stream conventions
2020-04-02 12:13:44 -04:00
Michael Dusan
deef063bbf
use static-qemu linux-x86_64 tarball
...
- no longer install qemu via apt-get
- wget hosted tarball, extract and prepend to path
2020-04-02 11:04:40 -04:00
xackus
7a28c644aa
new ArrayList API: fix everything else
2020-04-02 16:12:08 +02:00
xackus
d3ab0eb28d
new ArrayList API: fix ArrayList.shrink
2020-04-02 15:15:20 +02:00
xackus
93a20f2e82
new ArrayList API: fix std.ArrayListSentineled
2020-04-02 15:14:28 +02:00
xackus
dd570dbc0d
new ArrayList API, fix enough std lib to test
2020-04-02 15:14:18 +02:00
daurnimator
34524a1792
std: add LinearFifo().inStream
2020-04-02 21:14:15 +11:00
daurnimator
2a031c8825
std: LinearFifo matches ArrayList in always having outStream method
2020-04-02 21:07:44 +11:00
Michael Dusan
f6d384450f
add compile-error test: bitcast
...
Issue fixed by an unknown commit.
closes #3818
2020-04-01 18:07:45 -04:00
Andrew Kelley
4848b28ec8
zig cc: detect -mcpu, -march, -mtune
...
However these are all treated like zig's -mcpu parameter.
See #4784
2020-04-01 18:06:04 -04:00
Timon Kruiper
eefb0a36c0
Fix CrossTarget.parse test on platforms where abi != gnu
...
Closes #4902
2020-04-01 18:05:49 -04:00
Rejean Loyer
2b6dfdd3d4
zig cc: add support for -L linker arguments
2020-04-01 17:21:11 -04:00
Andrew Kelley
783f73c7e3
zig cc properly handles -S flag and .ll, .bc extensions
2020-04-01 16:01:06 -04:00
LemonBoy
6695fa4f32
ir: Fix comparison of ?T values
...
The code assumed that every ?T had a pointer child type T, add some more
checks to make sure the type is effectively a pointer.
Closes #4789
2020-04-01 15:56:38 -04:00
Michael Dusan
212e2354b8
stage1: make C++ switch fallthrough an error
...
Make fallthrough an error when compiler supports it. This requires a new
macro that is defined with such compilers to be used as a statement, at
all fallthrough sites:
switch (...) {
case 0:
...
ZIG_FALLTHROUGH;
case 1:
...
break;
default:
...
break;
}
If we ever move to C++17 as minimal requirement, then the macro can be
replaced with `[[fallthrough]];` at statement sites.
2020-04-01 15:56:00 -04:00
Andrew Kelley
0f1f56bb69
Merge pull request #4896 from FireFox317/fix-arm32-stuff
...
fix some nullptr dereferences on arm-linux-musleabhif
2020-04-01 15:55:31 -04:00
Andrew Kelley
c211b8f91d
fix regressions from previous commit
2020-04-01 15:02:31 -04:00
Timon Kruiper
d33766e6c7
Make sure that ZigTypeVector and ZigTypeArray have the same memory layout
...
Throughout the stage1 code it is assumed that these have the same layout,
but that was not the case. This caused an issue on 32-bit hardware.
2020-04-01 20:50:13 +02:00
Timon Kruiper
ae6965a4e7
Fix undefined behavior when shift amount is 64
2020-04-01 20:50:09 +02:00
Timon Kruiper
d9cf779b47
Fix some nullptr dereferences on arm-linux-musleabhif
2020-04-01 20:38:32 +02:00
Jadon Fowler
b9cb1e0d83
translate-c: add tests for div & rem assignment
...
Signed-off-by: Jadon Fowler <j@jadon.io>
2020-04-01 14:28:21 -04:00
Jadon Fowler
a255b0f842
translate-c: translate DivAssign & RemAssign
...
Closes #4790
Signed-off-by: Jadon Fowler <j@jadon.io>
2020-04-01 14:23:26 -04:00
Andrew Kelley
c2e8788259
Merge branch 'daurnimator-less-buffer'
...
closes #4665
2020-04-01 13:44:19 -04:00
Andrew Kelley
2e806682f4
(breaking) std.Buffer => std.ArrayListSentineled(u8, 0)
...
This new name (and the fact that it is a function returning a type) will
make it more clear which use cases are better suited for ArrayList and
which are better suited for ArrayListSentineled.
Also for consistency with ArrayList,
* `append` => `appendSlice`
* `appendByte` => `append`
Thanks daurnimator for pointing out the confusion of std.Buffer.
2020-04-01 13:30:07 -04:00
Andrew Kelley
553f0e0546
fixups and revert a few things
2020-04-01 11:56:39 -04:00
daurnimator
7eb938c909
Use length field as passed in stage2 libc_installation instead of relying on zero termination
2020-04-01 10:36:38 -04:00
daurnimator
e535057364
std: use std.ArrayList(u8).OutStream instead of std.Buffer.OutStream
2020-04-01 10:36:38 -04:00
daurnimator
3fb030e78a
std: use std.ArrayList(u8) instead of std.Buffer in src-self-hosted/translate_c.zig
2020-04-01 10:36:38 -04:00