31076 Commits

Author SHA1 Message Date
Alex Rønne Petersen
a4af54b4e5 update_cpu_features: Update for LLVM 19.
* Add `ProcessorAlias` support.
* Bump output buffer size.
* Include `i` extension in RISC-V baselines.
* Update evaluation branch quota for RISC-V.
* Retain some CPU features that LLVM removed.
* Flatten more 'meta-features' used for CPU models.
* Remove some superfluous dependencies.
2024-09-19 18:20:21 -07:00
Alex Rønne Petersen
9f669df1b3 libcxx: Synchronize some CXXFLAGS with upstream. 2024-09-19 18:20:21 -07:00
Alex Rønne Petersen
1c8f0b8909 libcxx: Update to LLVM 19.
* Moved the tz.cpp patch to experimental/tzdb.cpp.
* Extended the __config_site patch to a few more files.
2024-09-19 18:20:21 -07:00
Alex Rønne Petersen
d13bc04cb4 libcxxabi: Update to LLVM 19. 2024-09-19 18:20:21 -07:00
Alex Rønne Petersen
70a1805e46 libunwind: Synchronize some CFLAGS/CXXFLAGS with upstream. 2024-09-19 18:20:21 -07:00
Alex Rønne Petersen
26ddfabba4 libunwind: Update to LLVM 19. 2024-09-19 18:20:21 -07:00
Alex Rønne Petersen
dc14434c0a clang: Update compiler-provided C headers to Clang 19. 2024-09-19 18:20:21 -07:00
Alex Rønne Petersen
f69ff5e9b5 clang: Update options data to Clang 19. 2024-09-19 18:20:21 -07:00
Alex Rønne Petersen
41e5acd89d zig_clang: Update to Clang 19.
Co-authored-by: David Rubin <daviru007@icloud.com>
2024-09-19 18:20:20 -07:00
Alex Rønne Petersen
973ebeb610 zig_llvm: Update to LLVM 19. 2024-09-19 18:20:20 -07:00
Alex Rønne Petersen
da8f81c78b compiler: Update LLVM/Clang driver files to LLVM/Clang 19. 2024-09-19 18:20:20 -07:00
Alex Rønne Petersen
dd095e506a cmake: Update to LLVM 19.
Co-authored-by: David Rubin <daviru007@icloud.com>
2024-09-19 18:20:20 -07:00
Juan Julián Merelo Guervós
8b82a0e0fc
std.DynamicBitSet: remove wrong and useless comments (#21418) 2024-09-19 17:06:23 -07:00
Linus Groh
72fc164178 std.os.linux: Fix tc_oflag_t for PowerPC
std/os/linux.zig:6504:20: error: expected type 'os.linux.NLDLY__enum_11313', found 'comptime_int'
2024-09-19 16:55:00 -07:00
mlugg
2111f4c38b Sema: mark export on owner nav when exporting function alias
Resolves: #20847
2024-09-18 21:42:47 +01:00
Maciej 'vesim' Kuliński
feaee2ba17 cc: Add support for -Wp, 2024-09-17 23:54:04 -07:00
Matthew Lugg
41330c96ae
Merge pull request #21428 from mlugg/compare-to-undef
Sema: return undefined on comparison of runtime value against undefined
2024-09-17 14:34:10 +01:00
mlugg
4650e5b9fc
Sema: clean up cmpNumeric
There is one minor language change here, which is that comparisons of
the form `comptime_inf < runtime_f32` have their results comptime-known.
This is consistent with comparisons against comptime NaN for instance,
which are always comptime known. A corresponding behavior test is added.

This fixes a bug with int comparison elision which my previous commit
somehow triggered. `Sema.compareIntsOnlyPossibleResult` is much cleaner
now!
2024-09-17 11:00:38 +01:00
Jay Petacat
812557bfde std: Restore conventional compareFn behavior for binarySearch
PR #20927 made some improvements to the `binarySearch` API, but one
change I found surprising was the relationship between the left-hand and
right-hand parameters of `compareFn` was inverted. This is different
from how comparison functions typically behave, both in other parts of
Zig (e.g. `std.math.order`) and in other languages (e.g. C's `bsearch`).
Unless a strong reason can be identified and documented for doing
otherwise, I think it'll be better to stick with convention.

While writing this patch and changing things back to the way they were,
the predicates of `lowerBound` and `upperBound` seemed to be the only
areas that benefited from the inversion. I don't think that benefit is
worth the cost, personally. Calling `Order.invert()` in the predicates
accomplishes the same goal.
2024-09-16 14:04:18 -07:00
Matthew Lugg
7caa3d9da7
Merge pull request #21425 from mlugg/pointer-arith-inplace-res-ty
compiler: provide correct result types to `+=` and `-=`
2024-09-16 22:04:06 +01:00
Matthew Lugg
f3445f8f69
Merge pull request #21423 from mlugg/field-init-resolution
compiler: always resolve field inits, remove unncecessary eager resolution
2024-09-16 17:39:56 +01:00
mlugg
a5c922179f
Sema: return undefined on comparison of runtime value against undefined
Resolves: #10703
Resolves: #17798
2024-09-16 17:11:47 +01:00
David Rubin
7f60d2e465
riscv: fix up ptr_elem_val to not doubly lock 2024-09-16 16:42:42 +01:00
mlugg
1365be5d02
compiler: provide correct result types to += and -=
Resolves: #21341
2024-09-16 16:42:42 +01:00
mlugg
5d7fa5513f std.Build: allow packages to expose arbitrary LazyPaths by name 2024-09-15 17:24:44 -07:00
mlugg
258236ec1b Sema: don't emit instruction when casting @min/@max result to OPV type
Resolves: #21408
2024-09-15 17:52:35 +01:00
mlugg
19924ca289 Sema: give try operand error{} result type in non-errorable functions
Resolves: #21414
2024-09-15 16:51:26 +01:00
mlugg
8ff2f1057a
Revert "Dwarf: prevent crash on missing field inits"
This reverts commit faafc4132731e854a471ad4c4bb231efb525ea9a.
2024-09-15 16:03:56 +01:00
mlugg
bab6bf4194
compiler: always resolve field inits, remove unnecessary eager resolution
Resolves: #21362
2024-09-15 16:03:56 +01:00
Matthew Lugg
4d81e8ee91
Merge pull request #21390 from xdBronch/push-tvovpsxztrqn
make decl literals work with single item pointers
2024-09-14 06:24:24 +01:00
CrazyboyQCD
8ddce90e62
std.ascii: make toLower toUpper branchless (#21369)
Co-authored-by: WX\shixi <shixi1@cnwxsoft.com>
2024-09-13 17:22:19 -07:00
Alex Rønne Petersen
b56a667ecd start: Rewrite arm code to work for thumb1 too.
0ecc6332b4eb1ced547ffa38f57471134aaa4d13 improved things for thumb2, but thumb1
has a much smaller permissible instruction set. This commit makes that work.
2024-09-12 20:10:45 -07:00
LiterallyVoid
cf69154332
Labeled switch documentation (#21383)
Add langref docs for labeled switch

This feature was proposed in #8220, and implemented in #21257.

Co-authored-by: Andrew Kelley <andrew@ziglang.org>
2024-09-12 20:06:49 -07:00
Linus Groh
e17dfb9da0 std.http.WebSocket: Make 'upgrade: websocket' check case-insensitive
I've seen implementations in the wild that send 'Upgrade: WebSocket',
which currently fails the handshake.

From https://datatracker.ietf.org/doc/html/rfc6455:

"If the response lacks an |Upgrade| header field or the |Upgrade| header
field contains a value that is not an ASCII case-insensitive match for
the value "websocket", the client MUST _Fail the WebSocket Connection_."
2024-09-12 20:02:19 -07:00
mlugg
54611e32d7 Package.Fetch: add another non-standard Content-Type
For instance, the official download site for libvterm uses this MIME
type for tar.gz tarballs.
2024-09-12 19:53:02 -07:00
David Rubin
bc161430b0 riscv: implement optional_payload_ptr_set 2024-09-12 20:29:10 -04:00
xdBronch
0329b8387c make decl literals work with single item pointers 2024-09-12 20:29:10 -04:00
mlugg
55250a9370 Sema: perform requested coercion when decl literal demoted to enum literal
Resolves: #21392
2024-09-12 23:46:00 +01:00
mlugg
03c363300f AstGen: do not allow unlabeled break to exit a labeled switch
`break`ing from something which isn't a loop should always be opt-in.
This was a bug in #21257.
2024-09-12 22:52:23 +01:00
Matthew Lugg
0001f91e4e
Merge pull request #21287 from linusg/deprecated-default-init
Replace deprecated default initializations with decl literals
2024-09-12 19:50:38 +01:00
Andrew Kelley
b95e0e09dc
Merge pull request #21339 from alexrp/reenable-tests
`test`: Re-enable a bunch of behavior tests with LLVM.
2024-09-12 10:50:38 -07:00
Linus Groh
9271a89c65 InternPool: Replace default values with a .empty declaration 2024-09-12 16:01:23 +01:00
Linus Groh
8588964972 Replace deprecated default initializations with decl literals 2024-09-12 16:01:23 +01:00
Andrew Kelley
eccd06f5d0
Merge pull request #21370 from ziglang/fuzz
rework fuzzing API to accept a function pointer parameter
2024-09-11 23:41:51 -07:00
Alex Rønne Petersen
5cb9668632 test: Re-enable a bunch of behavior tests with LLVM.
Closes #10627.
Closes #12013.
Closes #18034.
2024-09-12 07:28:37 +02:00
Andrew Kelley
e3f58bd551 add runs per second to fuzzing ui
closes #21025
2024-09-11 19:53:29 -07:00
Andrew Kelley
4fba7336a9
Merge pull request #21269 from alexrp/soft-float
Fix soft float support, split musl triples by float ABI, and enable CI
2024-09-11 17:41:55 -07:00
Andrew Kelley
9dc75f03e2 fix init template for new fuzz testing API 2024-09-11 13:41:29 -07:00
Andrew Kelley
2d005827b8 make lowest stack an internal libfuzzer detail
This value is useful to help determine run uniqueness in the face of
recursion, however it is not valuable to expose to the fuzzing UI.
2024-09-11 13:41:29 -07:00
Andrew Kelley
0cdccff519 fuzzer: move web files into separate directory 2024-09-11 13:41:29 -07:00