Tomasz Lisowski
a9f25c7d64
Update LLVM version in README from 16.x to 17.x
2023-09-24 14:49:29 -07:00
Michael Dusan
127198e58c
cbe: support more symbol attributes
...
implement codegen for:
- decl weak linkage
- decl aliases
- fn decl weak linkage
windows msvc:
- `__declspec(selectany)` is not supported for functions
- skip weak linkage for functions
closes #17050
2023-09-24 14:44:15 -07:00
mlugg
fb6fff2561
resinator: do not include in only_core_functionality builds
...
This prevents resinator from being included in zig1 and zig2.
2023-09-24 06:57:11 +01:00
antlilja
8eff0a0a66
Support non zig dependencies
...
Dependencies no longer require a build.zig file.
Adds path function to Dependency struct which
returns a LazyPath into a dependency.
2023-09-24 02:47:21 +01:00
Andrew Kelley
c9413a880b
Merge pull request #17244 from ziglang/elf-vm-mgmt
...
elf: misc improvements, plus let's actually link against a parsed archive!
2023-09-23 18:32:43 -07:00
Garrett Beck
8b78df403f
Allow Step.TranslateC to not link libc
2023-09-23 17:41:11 -07:00
Loris Cro
78ebf8f577
autodoc: give explicit width to logo
...
fix #17251
2023-09-24 01:17:06 +02:00
Krzysztof Wolicki
2aa0afd206
autodoc: Update icon for generated html source views ( #17200 )
2023-09-24 00:52:07 +02:00
travisstaloch
759b0fe00a
std.testing: expectEqualDeep() - support self-referential structs
2023-09-23 20:25:57 +00:00
Andrew Kelley
80ae27bc84
resinator: fix 32-bit builds
...
This is unfortunately not caught by the CI because the resinator code is
not enabled unless `-Denable-llvm` is used.
2023-09-23 13:23:26 -07:00
Jakub Konka
5f4c9a7449
sema: fix mem leaks in inferred error set handling
2023-09-23 12:48:08 -07:00
Andrew Kelley
b00287175c
Merge pull request #17174 from Snektron/spirv-stuffies
...
spirv gaming
2023-09-23 12:37:48 -07:00
Robin Voetter
cff8ab88f5
spirv: fixes
2023-09-23 12:36:56 -07:00
Robin Voetter
572517376a
spirv: air dbg_var_val and dbg_var_ptr
2023-09-23 12:36:56 -07:00
Robin Voetter
68c7fc5c59
spirv: fix blocks that return no value
2023-09-23 12:36:56 -07:00
Robin Voetter
63512192de
spirv: fix source line numbers
2023-09-23 12:36:56 -07:00
Robin Voetter
075584a4d7
spirv: enable passing tests
2023-09-23 12:36:56 -07:00
Robin Voetter
d9a8c779d8
spirv: constant elem ptr
2023-09-23 12:36:56 -07:00
Robin Voetter
a75300c8d8
spirv: air slice
2023-09-23 12:36:56 -07:00
Robin Voetter
8895025688
spirv: air wrap_errunion_payload
2023-09-23 12:36:56 -07:00
Robin Voetter
4f215a6d28
spirv: air unwrap_errunion_payload
2023-09-23 12:36:56 -07:00
Robin Voetter
48ab11639a
spirv: air is_err, is_non_err
2023-09-23 12:36:56 -07:00
Robin Voetter
b845c9d532
spirv: generate module initializer
2023-09-23 12:36:56 -07:00
Robin Voetter
5d844faf7c
spirv: air array_elem_val using hack
...
SPIR-V doesn't support true element indexing, so we probably
need to switch over to isByRef like in llvm for this to work
properly. Currently a temporary is used, which at least
seems to work.
2023-09-23 12:36:56 -07:00
Robin Voetter
26c279cca2
spirv: air aggregate_init for array
2023-09-23 12:36:56 -07:00
Robin Voetter
8d49b2ef4e
spirv: air array_to_slice
2023-09-23 12:36:56 -07:00
Robin Voetter
66b1f6c163
spirv: air sub_with_overflow
2023-09-23 12:36:56 -07:00
Robin Voetter
749307dbb2
spirv: air union_init
2023-09-23 12:36:56 -07:00
Robin Voetter
98046b4c3c
spirv: air set_union_tag + improve load()/store()
2023-09-23 12:36:56 -07:00
Robin Voetter
6f55a68964
spirv: air struct_field_ptr for unions
2023-09-23 12:36:56 -07:00
Robin Voetter
5dffbf32bf
spirv: air struct_field_val for unions
2023-09-23 12:36:56 -07:00
Robin Voetter
decdedf97d
spirv: add names to globals and initializers
2023-09-23 12:36:56 -07:00
Robin Voetter
924235a023
spirv: emit OpLogical(Not)Equal for comparing bools
2023-09-23 12:36:56 -07:00
Robin Voetter
c7c0517ac0
spirv: emit OpNot for arithmetic not
2023-09-23 12:36:56 -07:00
Robin Voetter
5141b4e05c
spirv: fix store of undef
2023-09-23 12:36:56 -07:00
Robin Voetter
a86c939857
spirv: also add Float64 by default
2023-09-23 12:36:56 -07:00
Robin Voetter
f16d1603ab
spirv: fix type_map use-after-realloc issues
2023-09-23 12:36:44 -07:00
Robin Voetter
42226fc1b7
spirv: make construct(Struct|Array) use the Function storage class
2023-09-23 12:36:44 -07:00
Robin Voetter
06d9e3b2eb
spirv: always emit unsigned integers
...
This is required for SPIR-V in Kernel mode. The Intel
implementation just didn't care about this fact.
2023-09-23 12:36:44 -07:00
Robin Voetter
18d0909ada
spirv: fixes
2023-09-23 12:36:44 -07:00
Robin Voetter
66036e6000
spirv: remove indirect constant lowering
...
It is stupid and I hate it.
2023-09-23 12:36:44 -07:00
Robin Voetter
b30cd67987
spirv: put global var initializers in functions
2023-09-23 12:36:44 -07:00
Robin Voetter
240f9d740d
spirv: lower union initialization at runtime
2023-09-23 12:36:44 -07:00
Robin Voetter
d06862b759
spirv: lower struct aggregate initialization at runtime
2023-09-23 12:36:44 -07:00
Robin Voetter
001d76a412
spirv: lower array aggregate at runtime
2023-09-23 12:36:44 -07:00
Robin Voetter
ae17831cc0
spirv: lower opt constants
2023-09-23 12:36:44 -07:00
Robin Voetter
3e2553c712
spirv: lower ptr constants
2023-09-23 12:36:44 -07:00
Robin Voetter
cc13864dfb
spirv: lower enum_tag constants
2023-09-23 12:36:44 -07:00
Robin Voetter
aeaaa953a0
spirv: assign type names to (error) unions
2023-09-23 12:36:44 -07:00
Robin Voetter
ece52640eb
spirv: construct error union at runtime
2023-09-23 12:36:44 -07:00