Andrew Kelley
e5549de0de
Merge remote-tracking branch 'origin/master' into llvm14
2022-07-07 00:06:11 -07:00
Andrew Kelley
c9006d9479
std.json: move tests to json/test.zig file
...
This accomplishes two things:
* Works around #8442 by putting stage1-specific logic in to disable all
the std.json tests.
* Slightly reduces installation size of zig since std lib files ending
in "test.zig" are excluded from being installed.
2022-07-07 00:05:21 -07:00
Andrew Kelley
f0fde1d9c2
std.leb128: disable regressed test due to LLVM 14
...
See #12031
2022-07-06 20:12:00 -07:00
Riccardo Binetti
0101a5f75e
Sema: accept thumb and thumbeb with ARM calling conventions
...
Commit 3014a0d5f1dcbcfdcec3852ffd54f3c589fe3e83 added calling convention
validation, but left out thumb and thumbeb from the archs that can use the
ARM-specific calling conventions. This plus
a8a7f15106abef7c647d4de572a04b77ce048dd6 made compilation fail for thumb
targets.
2022-07-06 21:02:30 -04:00
Andrew Kelley
1b610d7853
Merge remote-tracking branch 'origin/master' into llvm14
2022-07-06 17:55:05 -07:00
Andrew Kelley
f3069f51aa
Sema: fix type resolution during generic function instantiation
...
Found when trying to compile the std lib tests for x86_64-macos.
2022-07-06 17:00:17 -07:00
Andrew Kelley
18950e865e
std.fmt.parse_float: disable failing aarch64 test from LLVM 14
...
See #12027
2022-07-06 16:23:42 -07:00
Andrew Kelley
222ea6992d
std: disable aarch64 tests that regressed from LLVM 14
...
See #12012
2022-07-06 15:57:36 -07:00
Andrew Kelley
4e002dde69
std: disable tests tripping LLVM assertions
...
see #12012
2022-07-06 15:45:53 -07:00
Andrew Kelley
c061b3a572
disable more standalone tests
...
these are tripping LLVM 13 assertions.
See #12015
See #12022
2022-07-06 15:10:41 -07:00
Andrew Kelley
6164801efb
update install_raw_hex test case
...
LLVM 14 optimizes differently, so it's reasonable to have there be a
binary difference here.
2022-07-06 11:52:21 -07:00
Andrew Kelley
fa40bddf27
Merge remote-tracking branch 'origin/master' into llvm14
2022-07-06 02:40:05 -07:00
Andrew Kelley
aab1284e10
disable failing standalone test - tools/gen_spirv_spec.zig
...
Because it is tripping an LLVM 13 assertion.
See #12015
2022-07-06 02:39:28 -07:00
Andrew Kelley
38e3063296
compiler_rt: RISC-V does not want gnu_f16_abi
2022-07-06 02:29:54 -07:00
Frank Denis
38096960fb
crypto.sign.ecdsa: fix toCompressedSec1()/toUnompressedSec1() ( #12009 )
...
The Ecdsa.PublicKey type is not a direct alias for a curve element.
So, use the inner field containing the curve element for serialization.
2022-07-06 08:30:43 +02:00
Andrew Kelley
683ace7472
Merge remote-tracking branch 'origin/master' into llvm14
2022-07-05 21:56:55 -07:00
Andrew Kelley
6279a1d684
std: align some function pointers
2022-07-05 21:54:24 -07:00
Andrew Kelley
c34392b24e
std.os.linux.io_uring: work around LLVM bug
...
See #12014
2022-07-05 21:54:05 -07:00
Andrew Kelley
d8fc8d0118
compiler_rt: work around LLVM optimizing __muloti4 to call itself
...
This is a workaround for
https://github.com/llvm/llvm-project/issues/56403
2022-07-05 21:28:39 -07:00
Andrew Kelley
558ad19095
disable regressed behavior tests from llvm 14
...
See #12012
See #12013
2022-07-05 18:50:03 -07:00
Andrew Kelley
9a5c7b4b4d
Merge remote-tracking branch 'origin/master' into llvm14
2022-07-05 16:24:18 -07:00
Andrew Kelley
f639cb33a9
fix expected error messages in test cases
2022-07-05 16:22:53 -07:00
Andrew Kelley
844b77e3bc
remove sparc64 test case which is tripping llvm assertion
...
See #12011
2022-07-05 16:22:53 -07:00
Andrew Kelley
e8ce1728e9
disable regressed wasm32 behavior tests from LLVM 14
2022-07-05 15:46:12 -07:00
Andrew Kelley
fc7c0e07be
stage2: propagate use_stage1 to sub-compilation
...
This makes it so that -fno-stage1 also affects compiler-rt for example.
2022-07-05 15:45:48 -07:00
Andrew Kelley
388520a40b
fix behavior test which was relying on UB
2022-07-05 15:22:19 -07:00
Andrew Kelley
2ee864ca5e
CLI: add support for -fno-builtin
2022-07-05 15:21:20 -07:00
Andrew Kelley
927e59d053
CI: fix wrong macos tarball
2022-07-05 15:20:12 -07:00
Jonathan Marler
93ac87c1bd
Mark fstype argument to mount as optional
...
The fstype argument to the mount system call can be null. To see an
example run "strace -e trace=mount unshare -m":
```
mount("none", "/", NULL, MS_REC|MS_PRIVATE, NULL) = 0
...
```
2022-07-05 15:04:31 -04:00
Cody Tapscott
86570b3e2c
stage2: Fix corrupted Type when de-referencing field pointer
2022-07-05 15:02:13 -04:00
Andrew Kelley
bcfc4f0ceb
CI: update tarballs to LLVM 14
2022-07-04 20:12:44 -07:00
Andrew Kelley
fbd6c88321
Merge remote-tracking branch 'origin/master' into llvm14
2022-07-04 17:22:36 -07:00
Andrew Kelley
6fc9f6c5f6
link.Coff: notice special windows symbols
...
in order to have a better default for subsystem. This brings stage2
behavior on par with stage1.
2022-07-04 17:20:01 -07:00
Andrew Kelley
afe6e69e4c
std.Thread: fix mutable ref of temporary
...
The previous code is a compile error in stage2 as well as the
upcoming lang spec.
2022-07-04 16:53:41 -07:00
Andrew Kelley
9ecc47cd7c
Sema: fix intFitsInType implementation
...
The function did not handle comptime_int in the case of lazy_align or
lazy_size.
2022-07-04 16:52:34 -07:00
Andrew Kelley
eba8892b84
Sema: resolve lazy value before hashing it for generic fn
2022-07-04 16:44:41 -07:00
Andrew Kelley
ecb4293afe
stage2: disable unit tests when building with stage1
...
They trip LLVM assertions and spirv is not needed to bootstrap. Not
important for these tests to pass with stage1.
2022-07-04 16:20:33 -07:00
Andrew Kelley
f59bd2be53
Merge remote-tracking branch 'origin/master' into llvm14
2022-07-04 14:07:08 -07:00
Andrew Kelley
d65e248ed1
stage2: ELF: improve error reporting when libc is missing
...
Future improvement: make plain error notes actually render as notes
rather than errors, but keep them as errors for the case of
sub-compilation errors, e.g. when compiler-rt has compilation errors.
2022-07-04 14:06:20 -07:00
Andrew Kelley
9c5056788f
std: update bsd bits to new fn ptr semantics
2022-07-04 13:02:30 -07:00
Andrew Kelley
e3274067f8
update macOS libc headers
...
notably this adds copyfile.h
fetch-them-macos-headers rev 900567517197df46e98006c53023fa10cb986004
2022-07-04 12:14:48 -07:00
Veikka Tuominen
050fef3c23
translate-c: do not try to get rid of do while loop
...
It might contain breaks and continues.
Closes #11994
2022-07-04 21:56:54 +03:00
Andrew Kelley
6db190cf70
Merge remote-tracking branch 'origin/master' into llvm14
2022-07-03 22:27:21 -07:00
Andrew Kelley
314ce5465d
std: better definition for std.os.linux.epoll_event
...
The previous definition depends on a non-lang-spec-compliant memory
layout for packed structs, which happens to trigger #11989 in stage2.
This commit changes the struct to be an extern struct with an
align(4) field. However, stage1 cannot handle this, so conditional
compilation logic is used to select different struct definitions
depending on stage1 vs stage2.
This works around #11989 but does not solve the underlying problem -
putting an extern union inside a packed struct will still trigger the
assert.
After this, both stage1 and stage2 std lib tests run assertion-clean
with a debug LLVM 13.
2022-07-03 22:18:05 -07:00
Andrew Kelley
fdc24e6608
stage1: fix vectors of small int and bool tripping LLVM assertion
...
stage2 already has this fixed; debug info is given size in bits rather
than ABI size (bytes) multiplied by 8.
closes #11587
2022-07-03 21:08:47 -07:00
Andrew Kelley
15bdba410a
update build scripts to LLD and LLVM 14 libraries
2022-07-03 18:41:43 -07:00
Andrew Kelley
d588f88b1a
update C headers to LLVM 14.0.6
2022-07-03 15:58:39 -07:00
Andrew Kelley
cbdd21cd9a
std: disable tests regressed from LLVM 14
2022-07-03 15:39:39 -07:00
Andrew Kelley
b698168664
stage2: update vector alignment logic
...
This follows LLVM14's lead on vector alignment, which computes byte
count based on the length premultiplied by bits.
This commit also disables behavior tests regressed by LLVM 14, only for
stage1. stage2 fortunately does not trip the regression.
2022-07-03 13:33:09 -07:00
Andrew Kelley
15f111a085
LLVM: update lowering of saturating shift-left
...
LLVM 14 makes it so that a RHS of saturating shift left produces a
poison value if the value is greater than the number of bits of the LHS.
Zig now emits code that will check if this is the case and select a
saturated LHS value in such case, matching Zig semantics.
2022-07-03 13:07:23 -07:00