Stephen Gregoratto
1735455099
QueryObjectName: Add error union
2024-07-17 23:05:31 +10:00
Jakub Konka
9d9b5a11e8
Merge pull request #20474 from Rexicon226/riscv
...
more RISC-V backend progress
2024-07-17 08:39:44 +02:00
Andrew Kelley
ddc399440d
build.zig: expose valgrind flag
...
Allows to enable Valgrind integrations in release builds, sometimes
useful in combination with tooling.
2024-07-16 23:07:34 -07:00
Matthew Lugg
e82f7d3800
Merge pull request #20653 from mlugg/incremental-fix
...
Zcu: updateZirRefs typo
2024-07-17 00:08:13 +01:00
Hayden Riddiford
20563d8457
- Added special handling for translating C extern variables declared within scoped blocks
...
- Added test/cases/run_translated_c/extern_typedef_variables_in_functions.c to test for issue 19687
2024-07-16 23:29:44 +03:00
Jacob Young
88bb0fd288
Merge pull request #20632 from jacobly0/codegen-thread
...
InternPool: enable separate codegen/linking thread
2024-07-16 14:49:49 -04:00
mlugg
6bd640c7a0
Sema: typo
2024-07-16 19:48:05 +01:00
mlugg
21cde7ad90
Zcu: updateZirRefs typo
2024-07-16 19:46:10 +01:00
mlugg
d8f81372f1
Sema: fix bad merge
2024-07-16 19:44:41 +01:00
mlugg
5093a5cd19
std.Zir: some declaration traversal fixes
2024-07-16 19:44:15 +01:00
Matthew Lugg
ee695c8ef4
Merge pull request #20637 from mlugg/comptime-resolution-strat
...
Type,Value: mark `ResolveStrat` parameter of type queries as `comptime`
2024-07-16 19:22:39 +01:00
Andrew Kelley
a58ceb3d55
Merge pull request #20646 from ziglang/fix-updateZirRefs
...
frontend: fix updateZirRefs
2024-07-16 10:47:42 -07:00
Will Lillis
a9d544575d
Sema: add error note for failed coercions to optional types and error unions
2024-07-16 16:42:13 +00:00
mlugg
f84a4953d2
Value: eliminate static recursion loop from value printing
2024-07-16 11:38:21 +01:00
mlugg
67cd14dbdb
Type: avoid incorrect type resolution calls
2024-07-16 11:38:20 +01:00
mlugg
b1d3d48f68
Type,Value: mark ResolveStrat parameter of type queries as comptime
...
This eliminates the statically-reachable recursion loop between code
generation backends and Sema. This is beneficial for optimizers
(although I do not measure any performance improvement for this change),
and for profilers.
2024-07-16 11:38:20 +01:00
Jacob Young
00fdbf05f3
InternPool: enable separate codegen/linking thread
...
Let's see what happens :)
2024-07-16 06:28:42 -04:00
Jacob Young
9d1820d206
InternPool: reduce max tid width by one bit
...
@mlugg keeps stealing my bits!
2024-07-16 06:28:41 -04:00
Jacob Young
b0fe7eef54
InternPool: fix various data structure invariants
2024-07-16 05:14:38 -04:00
Jacob Young
e32454796c
indexOfSentinel: fix ub
2024-07-16 05:14:38 -04:00
Jacob Young
14caccb477
Progress: avoid race on global_progress.draw_buffer
2024-07-16 05:14:38 -04:00
Raed Rizqie
9356cb1475
Allocate enough memory when building zig2
2024-07-16 00:41:24 -07:00
Andrew Kelley
4e6518badb
Merge pull request #20640 from BratishkaErik/std.c/setlocale-fix
...
std.c: setlocale fixes
2024-07-16 00:39:31 -07:00
Jacob Young
7dbd2a6bb5
InternPool: fix DependencyIterator iteration
2024-07-16 02:24:16 -04:00
Andrew Kelley
a20d081129
Air: remove deprecated/unused decl
2024-07-15 22:04:29 -07:00
Andrew Kelley
3a6ef6ffe1
frontend server: serveUpdateResults fix
...
Serve empty error bundle to indicate the update is done. Otherwise the
build system, when using -fno-emit-bin, fails to detect the update is
done.
2024-07-15 22:03:10 -07:00
Andrew Kelley
8cb09db4e3
update some Module references to Zcu instead
...
I ended up reverting my real change, so here's a consolation prize
instead.
2024-07-15 19:05:55 -07:00
Andrew Kelley
ba623b160e
Zir: fix wrong union field access for declaration
2024-07-15 18:57:36 -07:00
Andrew Kelley
60318a1e39
frontend: move updateZirRefs to be single-threaded
...
for simplicity's sake. This makes it O(M) instead of O(N*M) where N is
tracked insts and M is number of changed source files.
2024-07-15 18:54:41 -07:00
Eric Joldasov
5af68a651c
std.c.LC: mark enum as non-exhaustive
...
They are implementation-defined and can have values other than
hard-coded here. Also, standard permits other values not mentioned
there:
> Additional macro definitions, beginning with the characters LC_
> and an uppercase letter, may also be specified by the implementation.
Signed-off-by: Eric Joldasov <bratishkaerik@landless-city.net>
2024-07-16 00:32:29 +05:00
Eric Joldasov
ece8480fc2
std.c.setlocale: fix return type to nullable pointer
...
According to https://en.cppreference.com/mwiki/index.php?title=c/locale/setlocale&oldid=171500 ,
`setlocale` "returns null value on failure":
> Return value
> pointer to a narrow null-terminated string identifying the C locale
> after applying the changes, if any, or null pointer on failure.
Example program:
```zig
const std = @import("std");
pub fn main() void {
const ptr = std.c.setlocale(.ALL, "non_existent");
std.debug.print("ptr = {d}\n", .{@intFromPtr(ptr)});
}
```
Output:
```console
ptr = 0
```
Signed-off-by: Eric Joldasov <bratishkaerik@landless-city.net>
2024-07-16 00:27:56 +05:00
Wooster
888708ec8a
Sema: support pointer subtraction
2024-07-15 18:18:38 +00:00
Lucas Santos
89942ebd03
Better implementation of GetLastError. ( #20623 )
...
Instead of calling the dynamically loaded kernel32.GetLastError, we can extract it from the TEB.
As shown by [Wine](34b1606019/include/winternl.h (L439) ), the last error lives at offset 0x34 of the TEB in 32-bit Windows and at offset 0x68 in 64-bit Windows.
2024-07-15 10:49:51 -07:00
KNnut
cf36d3fdd3
add a missing comment in build.zig.zon
2024-07-15 10:47:36 -07:00
Vesim
e5c974fa5c
std.os.linux: export getauxval only when building executable or root has main function
2024-07-15 15:48:40 +03:00
gooncreeper
9002977051
start: refactor callMain return type checking
2024-07-15 12:29:07 +03:00
Veikka Tuominen
5675553aed
Merge pull request #20622 from squeek502/windows-arg-iterator-cleanup
...
`ArgIteratorWindows`: Cleanup and some optimizations
2024-07-15 12:03:25 +03:00
gooncreeper
c50f300387
Tokenizer bug fixes and improvements
...
Fixes many error messages corresponding to invalid bytes displaying the
wrong byte. Additionaly improves handling of UTF-8 in some places.
2024-07-15 11:31:19 +03:00
Andrew Kelley
9d38e82b5c
Merge pull request #20633 from ziglang/long-live-zig
...
make zig compiler processes live across rebuilds
2024-07-15 01:27:23 -07:00
fmaggi
583e698256
Sema: disallow casting to opaque
2024-07-15 10:58:33 +03:00
David Rubin
5a4fe39fbb
riscv: disable failing tests
2024-07-14 23:04:06 -07:00
David Rubin
5ec926cdbf
riscv: refactor bin_file and zcu usage
2024-07-14 23:04:05 -07:00
David Rubin
5a2c547fc1
riscv: vectors part 3
2024-07-14 23:02:35 -07:00
David Rubin
09e9812086
riscv: vectors part 2
2024-07-14 23:02:34 -07:00
David Rubin
571aa694fd
riscv: vectors part 1
2024-07-14 23:02:34 -07:00
David Rubin
f2301ba896
simd: correct suggestVectorLength
...
* the file's doc-comment was misleading and did not focus on the correct aspect of SIMD
* added cpu flag awareness to `suggestVectorLengthForCpu` in order to provide a more accurate vector length
2024-07-14 23:02:33 -07:00
David Rubin
3e73f37d0a
riscv: implement @fence
2024-07-14 23:02:33 -07:00
David Rubin
7a02878f4e
riscv: truncate airStructFieldVal result
2024-07-14 23:02:33 -07:00
David Rubin
27ceb4ae37
riscv implement @sqrt for f32/f64
2024-07-14 23:02:32 -07:00
David Rubin
0460572899
riscv: @atomicRmw
...
Now we generate debug undefined constants when the user asks for them to dedup across the function decl. This takes 2 instructions instead of 7 in the RISC-V backend.
TODO, we need to dedupe across function decl boundaries.
2024-07-14 23:02:32 -07:00