20210 Commits

Author SHA1 Message Date
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
Andrew Kelley
e1dbb70bef Merge remote-tracking branch 'origin/master' into llvm15 2022-08-05 00:33:50 -07:00
Andrew Kelley
2f635c3ce9 update libunwind to LLVM 15
release/15.x commit 134fd359a5d884f16662a9edd22ab24feeb1498c
2022-08-04 18:09:10 -07:00
Andrew Kelley
c0d9578a84 update libcxxabi to LLVM 15
release/15.x commit 134fd359a5d884f16662a9edd22ab24feeb1498c
2022-08-04 18:02:01 -07:00
Andrew Kelley
8278eb8837 update libcxx to LLVM 15
release/15.x commit 134fd359a5d884f16662a9edd22ab24feeb1498c
2022-08-04 17:53:05 -07:00
Andrew Kelley
ac5c6b6061 stage2 LLVM backend: opaque pointer fixes 2022-08-04 17:32:46 -07: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
Andrew Kelley
169ad1aac7 compiler_rt: update ABI for x86 float16 functions
See https://github.com/llvm/llvm-project/issues/56854 for more details.
2022-08-04 14:55:35 -07:00
Loris Cro
55ec2148fd autodoc: fix analysis of function return types 2022-08-04 23:24:18 +02:00
Andrew Kelley
ba70eee8bb Merge remote-tracking branch 'origin/master' into llvm15 2022-08-04 14:24:00 -07: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
Andrew Kelley
a3045b8abb LLVM backends: more LLVM 15 fixes
uwtable now needs a "sync" or "async" parameter.

more opaque pointer fixes
2022-08-03 16:42:27 -07:00
Andrew Kelley
7e43904508 stage1: more LLVM15 opaque pointers fixes 2022-08-03 14:48:08 -07:00
Andrew Kelley
900f969cb3 link: LLD 15 requires two dashes on --error-limit 2022-08-03 14:19:35 -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
Jakub Konka
bb532584bc macho: update how we insert output sections
Instead of generating sections upfront, allow generation by scanning
the object files for input -> output sections mapping. Next, always
strive to keep output sections in the final container sorted as they
appear in the final binary. This makes the linker less messy wrt
handling of output sections sort order for dyld/macOS not to complain.
There's still more work to be done for incremental context though
to make this work but looks promising already.
2022-08-03 21:19:41 +02:00
Jakub Konka
f26d5ee7ea macho: sync with zld
gitrev a2c32e972f8c5adfcda8ed2d99379ae868f59c24

a2c32e972f
2022-08-03 21:19:41 +02:00
Loris Cro
4c750016eb autodoc: inferred error unions in function return values 2022-08-03 17:21:56 +02:00
Loris Cro
ecccf1f91f Add codeowners file for automated PR assignment
Added myself for Autodoc related files.
2022-08-03 16:26:53 +02:00
Loris Cro
dd8ca27979
Merge pull request #12323 from ziglang/autodoc-issue-template
Update issue templates
2022-08-03 16:20:59 +02:00
Loris Cro
c85bdbffa9
Update issue templates 2022-08-03 16:20:27 +02:00
Veikka Tuominen
4ab60dc18b Sema: add error for dependency loops 2022-08-03 17:10:39 +03:00
Veikka Tuominen
b79929b2ea AstGen: better source location for if/while condition unwrapping 2022-08-03 16:45:33 +03:00
Veikka Tuominen
d1d24b426d AstGen: check loop bodies and else branches for unused result 2022-08-03 16:45:33 +03:00