Cody Tapscott
680419c407
compiler_rt: Update Windows ABI for float<->int conversion routines
...
Starting with LLVM 14, the Libcalls to these functions are now lowered
using a Vec(2, u64) instead of the standard ABI for i128 integers, so
our compiler-rt implementation needs to be updated to expose the same
ABI on Windows.
2022-07-10 20:51:34 -07:00
Frank Denis
f3333a56e8
stage1/codegen: replace sprintf() with snprintf()
...
Calling sprintf() is now triggering an error on Xcode 14.
Using snprintf() is generally not a bad idea anyway.
2022-07-10 22:59:25 -04:00
BratishkaErik
b9ed072278
CMakeLists.txt: set LLVM minimal version to 14
2022-07-10 15:43:01 -04:00
Andrew Kelley
b88151e0e1
Merge pull request #12001 from ziglang/llvm14
...
Upgrade to LLVM 14
2022-07-10 03:06:05 -04:00
Andrew Kelley
f9bf488926
two more regressed test cases; same cause as last two commits
2022-07-09 17:35:14 -07:00
Andrew Kelley
31281a7d14
disable regressed math.sign test case
...
see #12012
2022-07-09 15:43:33 -07:00
Andrew Kelley
321fec1aa6
disable regressed float formatting test case
...
See #12063
2022-07-09 15:34:34 -07:00
Andrew Kelley
4d10fbef10
windows_com: add missing __CRT_UUID_DECL() for IEnumSetupInstances
...
This is intended to fix this error:
lld-link: error: undefined symbol: _GUID const& __mingw_uuidof<IEnumSetupInstances>()
>>> referenced by D:\a\1\s\src\windows_com.hpp:898
>>> D:\a\1\s\zig-cache\o\a5030d467932f0ce2f6511feb7d6af12\windows_sdk.obj:(__IEnumSetupInstances_IID_getter())
Thank you to Martin Storsjö for suggesting the fix.
2022-07-09 14:04:38 -07:00
Andrew Kelley
e0d5ae75af
these riscv64 behavior tests work for stage1 but not stage2
2022-07-09 12:48:59 -07:00
Veikka Tuominen
3f11d1d56d
Merge pull request #12050 from topolarity/anon-struct-init
...
stage2: Support initializing anonymous struct type
2022-07-09 18:30:07 +03:00
r00ster91
13d58258a8
std.log
: deduplicate switch
2022-07-09 15:19:03 +03:00
Veikka Tuominen
5b36b0ed0c
Sema: use tupleFieldIndex
2022-07-09 14:41:47 +03:00
Yusuke Tanaka
f1da93af3c
Remove outdated TODO comment ( #12053 )
2022-07-09 13:05:41 +02:00
Andrew Kelley
a1c56ffd5a
disable regressed translate-c test case on freebsd
...
see #12055
2022-07-08 23:17:41 -07:00
Andrew Kelley
f976758855
disable failing riscv64 tests from LLVM 14 upgrade
...
See #12054
2022-07-08 23:11:03 -07:00
Andrew Kelley
3e864c86da
CI: azure: update build.zig for LLVM 14
2022-07-08 23:02:38 -07:00
Andrew Kelley
aade8856ee
CI: update scripts to stage1 LLVM 14 tarballs
...
The previous tarballs were stage3 which is not quite ready for primetime
yet.
2022-07-08 21:28:06 -07:00
Cody Tapscott
c830606bbe
stage2: Support @fieldParentPtr
for tuples and anon structs
2022-07-08 19:52:23 -07:00
Cody Tapscott
51a8f52e6c
stage2: Support @offsetOf
for tuples and anon structs
2022-07-08 19:51:35 -07:00
Cody Tapscott
2fff25fd22
stage2: Support initializing anonymous struct type
...
This commit adds support for initializing `.anon_struct` types. There
is also some follow-up work to do for both tuples and structs regarding
comptime fields, so this also adds some tests to keep track of that
work.
2022-07-08 19:50:28 -07:00
Frank Denis
6f0807f50f
crypto.sign.ed25519: add support for blind key signatures ( #11868 )
...
Key blinding allows public keys to be augmented with a secret
scalar, making multiple signatures from the same signer unlinkable.
https://datatracker.ietf.org/doc/draft-dew-cfrg-signature-key-blinding/
This is required by privacy-preserving applications such as Tor
onion services and the PrivacyPass protocol.
2022-07-08 13:21:37 +02:00
Cody Tapscott
33a39c4b2b
stage2: Fix panic when printing AIR for tuple/anon struct types
2022-07-08 10:19:17 +03:00
Andrew Kelley
bdf3fa12fa
CI: update scripts to new LLVM 14 tarballs
2022-07-07 20:47:58 -07:00
Andrew Kelley
8e492f7d47
compiler_rt: enable __clear_cache for stage2
2022-07-07 20:47:43 -07:00
Andrew Kelley
6a3a0fe7ae
Merge remote-tracking branch 'origin/master' into llvm14
2022-07-07 18:25:01 -07:00
Andrew Kelley
3a03872af7
LLVM: more robust implementation of C ABI for multiple_llvm_ints
...
The previous code here was potentially more optimal for some cases,
however, I never tested the perf, so it might not actually matter. This
code handles more cases. We can go back and re-evaluate that other
implementation if it seems worthwhile in the future.
2022-07-07 18:24:34 -07:00
Andrew Kelley
8d6011361f
LLVM: handle byref combined with multiple_llvm_ints
2022-07-07 18:24:34 -07:00
Andrew Kelley
e5e9e5a7aa
std.builtin.returnError: disable runtime safety
2022-07-07 18:24:34 -07:00
Cody Tapscott
cbc85f4516
stage1: Fix seg-fault when slicing string literal with sentinel
2022-07-08 02:14:38 +03:00
VÖRÖSKŐI András
75c33ba85e
Sema: add a note about @setEvalBranchQuota() when branch quota is exceeded
...
closes #11996
2022-07-08 02:13:33 +03:00
Andrew Kelley
8e07b0c4b9
Merge remote-tracking branch 'origin/master' into llvm14
2022-07-07 14:01:54 -07:00
Andrew Kelley
e0b9200492
llvm c++ wrapper: fix argument index calculations
2022-07-07 13:56:46 -07:00
Andrew Kelley
1b9a9ee4ba
langref: disable an example that regressed from LLVM 14
2022-07-07 12:19:48 -07:00
Andrew Kelley
0c78ece1c9
Merge pull request #12016 from Vexu/stage2-compile-errors
...
Stage2 compile error improvements
2022-07-07 14:52:28 -04:00
r00ster91
6f17be063d
std.log: give friendly error to freestanding users
2022-07-07 21:40:31 +03:00
emma
81bbefe9b8
AstGen: fix catch payoad not checking for shadowing
2022-07-07 21:38:32 +03:00
Veikka Tuominen
5007f727e5
stage2: move C pointer allowzero error to AstGen
2022-07-07 10:50:06 +03:00
Veikka Tuominen
b5ac2b4330
Sema: improve array source location
2022-07-07 10:50:06 +03:00
Veikka Tuominen
27ee414159
Sema: improve slice source locations
2022-07-07 10:50:06 +03:00
Veikka Tuominen
2ca752ea1a
Module: add .node_offset_un_op
2022-07-07 10:50:06 +03:00
Veikka Tuominen
89cef9f5f7
stage2: make line field of @src
runtime known
2022-07-07 10:50:06 +03:00
Veikka Tuominen
226994cd7e
Sema: misc error message fixes
2022-07-07 10:50:06 +03:00
Veikka Tuominen
c07c2d68c7
Sema: more runtime indexing comptime value checks
2022-07-07 10:50:06 +03:00
Veikka Tuominen
1569b9c165
Sema: validate pointer types
2022-07-07 10:50:05 +03:00
Veikka Tuominen
299836dbd9
Sema: panic at comptime + misc error message improvements
2022-07-07 10:50:05 +03:00
Veikka Tuominen
252388eb28
AstGen: move error_to_int, int_to_error and select to extended
2022-07-07 10:45:45 +03:00
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 3014a0d5f1
added calling convention
validation, but left out thumb and thumbeb from the archs that can use the
ARM-specific calling conventions. This plus
a8a7f15106
made compilation fail for thumb
targets.
2022-07-06 21:02:30 -04:00