Andrew Kelley
b3d463c9e6
Merge pull request #12337 from Vexu/stage2-safety
...
Stage2: implement remaining runtime safety checks
2022-08-06 14:59:10 -07:00
Veikka Tuominen
3e2defd36c
stage2: add a helpful error for when async is used
2022-08-06 14:51:20 -07:00
joachimschmidt557
b300eecb9d
stage2 DWARF: fix size and offset in slices
...
Previously, `@sizeOf(usize)` was used, however, the pointer size of
the host may differ from the target when cross-compiling.
2022-08-06 14:44:05 -07:00
Veikka Tuominen
bd21f499dc
Type: adjust C type sizes
2022-08-06 14:42:05 -07:00
Loris Cro
94662591d6
ci: upload langref and stdlib docs directly to s3
...
previously we were delegating that job to the website CI but it caused
the website repo to bloat, so now we only commit releases.json
2022-08-06 18:12:21 +02:00
Loris Cro
cb7c912a1b
autodoc: use location.replace to avoid history spam when searching
2022-08-06 17:29:39 +02:00
Loris Cro
9fc6990052
autodoc: re-introduce search result limits
2022-08-06 17:29:13 +02:00
Loris Cro
059713478a
Merge pull request #12343 from rudedogg/master
...
autodoc: only modify the DOM once to display the search results
2022-08-06 16:43:25 +02:00
Veikka Tuominen
75275a1514
Sema: do not emit pointer safety checks for pointers to zero-bit types
2022-08-06 15:22:14 +03:00
Anton Lilja
86d9c3de2b
Sema: fix infinite recursion in explainWhyTypeIsComptime
...
Co-authored-by: Veikka Tuominen <git@vexu.eu>
2022-08-06 14:17:09 +03:00
Andrew Kelley
5c9826630d
Sema: elide safety of modulus and remainder division sometimes
...
Piggybacking on 40f8f0134f5da9baaefd0fdab529d5585fa46199, remainder
division, modulus, and `%` syntax no longer emit safety checks for a
comptime-known denominator.
2022-08-05 21:13:18 -07:00
Austin Rude
7afe7de4f0
autodoc: only modify the DOM once to display the search results
2022-08-05 21:47:36 -06:00
Andrew Kelley
40babaa537
Merge pull request #12338 from joachimschmidt557/stage2-aarch64
...
stage2 AArch64: fixes for removing builtin.stage2_arch
2022-08-05 16:56:27 -07:00
Loris Cro
ab6b53a259
Merge pull request #12340 from rudedogg/master
...
autodoc: Run through prettier formatter with default settings
2022-08-06 00:24:32 +02:00
Austin Rude
e02f51762f
autodoc: Run through prettier formatter with default settings
2022-08-05 16:01:57 -06:00
Veikka Tuominen
0daa77bd63
stage2 cbe: correct airIsNull ptr operand check
2022-08-05 22:13:58 +03:00
Veikka Tuominen
f46d7304b1
stage2: add runtime safety for invalid enum values
2022-08-05 22:13:58 +03:00
Veikka Tuominen
19d5ffc710
Sema: add safety check for non-power-of-two shift amounts
2022-08-05 22:13:58 +03:00
Veikka Tuominen
9116e26c1f
Sema: add null check for implicit casts
2022-08-05 22:13:58 +03:00
Veikka Tuominen
5605f6e0e3
Sema: account for sentinel in bounds check
2022-08-05 22:13:57 +03:00
Veikka Tuominen
6aa438f065
Sema: add null pointer slice safety check when len is comptime known
2022-08-05 22:13:57 +03:00
Veikka Tuominen
eec2978fac
Sema: better safety check on switch on corrupt value
2022-08-05 22:13:57 +03:00
joachimschmidt557
f46c80b267
stage2 AArch64: improve correctness of register aliases
...
Also implements ptr_elem_ptr
2022-08-05 20:30:52 +02:00
joachimschmidt557
508b90fcfa
stage2 AArch64: implement basic integer rem/mod
2022-08-05 20:30:52 +02:00
joachimschmidt557
8b24c783c5
stage2 AArch64: implement basic integer division
2022-08-05 20:30:51 +02:00
joachimschmidt557
dcb236acf4
stage2 AArch64: memcpy support in store and more complete intcast
2022-08-05 20:30:51 +02:00
joachimschmidt557
02738228f2
stage2 AArch64: support returning values by reference
...
also adds some more support for slices passed as stack arguments
2022-08-05 20:30:51 +02:00
joachimschmidt557
65b3c27f24
stage2 AArch64: all arguments passed via stack from now on
...
Only in the Undefined calling convention, not in other calling
conventions
2022-08-05 20:30:51 +02:00
joachimschmidt557
cf3aaceed9
stage2 AArch64: introduce MCValue.stack_argument_offset
...
This new MCValue union member shares the same semantics as the MCValue
type of the same name in the ARM backend.
2022-08-05 20:30:51 +02:00
joachimschmidt557
423bef4dfc
stage2 AArch64: Fix struct_field_val for register_with_overflow
...
Now mirrors the behavior of the native ARM backend
2022-08-05 20:30:47 +02:00
N00byEdge
18440cb239
std.mem.zeroes: Zero sized structs with uninitialized members ( #12246 )
...
`std.mem.zeroes(struct{handle: void})` Failed with the following error before:
```
/nix/store/l6v4359wc9xrxxmvvp3rynsb5s3d78xf-zig-0.9.1/lib/zig/std/mem.zig:270:42: error: missing field: 'handle'
if (@sizeOf(T) == 0) return T{};
^
```
2022-08-05 15:47:52 +03:00
Allan Regush
44c321c05e
std.enums: make directEnumArrayLen public
2022-08-05 15:41:03 +03:00
Felix "xq" Queißner
263b5933d2
Makes std.meta.Tuple and std.meta.ArgsTuple generate a unique type instead of generating one per invocation.
2022-08-05 15:39:53 +03:00
Meredith Oleander
fd3415ad5e
translate-c: fix alignment in pointer casts
2022-08-05 15:38:48 +03:00
Stephen Gregoratto
b3950d4a88
Update Linux syscall list for 5.19
...
New changes: memfd_secret implemented for RISC-V.
2022-08-05 15:36:32 +03:00
Veikka Tuominen
42ade6a114
Merge pull request #12300 from antlilja/getParamName
...
Replace param_names and anytype_args fields inside of Fn with functions
2022-08-05 15:29:59 +03:00
Loris Cro
259f407160
init-exe template: align cli tests to new template
2022-08-05 00:42:53 +02:00
Loris Cro
7ffba492a5
autodoc: fix inconsistency when indexing generic types for search
...
closes #12334
2022-08-05 00:11:32 +02:00
Loris Cro
55ec2148fd
autodoc: fix analysis of function return types
2022-08-04 23:24:18 +02:00
Loris Cro
616f65df75
init-exe template: add flushing to the buffered writer
2022-08-04 21:12:42 +02:00
Loris Cro
cbac7a0194
init-exe template: small improvements
2022-08-04 20:27:46 +02:00
Loris Cro
fb0b9f05b3
new init-exe template
...
- removed an unnecessary (and confusing) `anyerror` fronm the function
signature of `main`
- replaced the call to std.log with two prints: one to stderr and one to
stdout
- replaced the test code with a better example
2022-08-04 20:10:43 +02:00
Jakub Konka
4a4f3c50ce
Merge pull request #12320 from ziglang/macho-zld-sync
2022-08-03 22:02:50 -07:00
Andrew Kelley
e483336ba4
Merge pull request #12318 from Vexu/stage2-compile-errors
...
Stage2: misc compile error improvements
2022-08-03 20:13:07 -07:00
Jakub Konka
007eb3bd71
macho: fix some TODOs
2022-08-03 21:26:52 +02:00
Jakub Konka
2c8fc3b597
macho: add missing u64 to usize casts
...
Fixes 32bit builds.
2022-08-03 21:19:41 +02:00
Jakub Konka
90e3268270
macho: do not preempt segment headers; do it when commiting to file
...
This way, tracking segment-to-section mapping becomes a lot easier
since it's effectively just start index plus number of sections
defined within the segment. If a section becomes empty however
care needs to be taken to remove the header upon committing to the
final binary.
2022-08-03 21:19:41 +02:00
Jakub Konka
421d3e8d28
macho: add missing align cast in LoadCommandIterator
2022-08-03 21:19:41 +02:00
Jakub Konka
1e710396d4
macho: fix linking in incremental context
...
Fix incorrect writing of symtab and strtab in dSYM bundle in incremental
context.
Fix incorrectly navigating unnamed consts (freeing) in incremental context.
This is currently hard-coded to require all consts to land in `__TEXT,__const`,
which is wrong and needs a rewrite.
2022-08-03 21:19:41 +02:00
Jakub Konka
7bba3d330a
macho: cleanup output section selection logic
...
Cache only section indexes used by the linker for synthetic sections
and/or incremental codepath.
2022-08-03 21:19:41 +02:00