Andrew Kelley
7c5ee3efde
Merge pull request #20883 from ehaas/aro-translate-c-no-panic
...
aro-translate-c improvements
2024-07-31 18:53:05 -07:00
David Rubin
c08effc20a
riscv: implement non-pow2 indirect loads
2024-07-31 16:57:30 -07:00
Evan Haas
1cc74f3cae
aro_translate_c: fix formatting
2024-07-31 10:33:44 -07:00
Evan Haas
aa5a1105e8
aro_translate_c: do not translate atomic types
2024-07-31 10:04:21 -07:00
Evan Haas
6c632d52f9
aro_translate_c: move noreturn test to manifest
2024-07-31 09:35:07 -07:00
Evan Haas
b3f5769930
aro_translate_c: handle opaque struct defs in prototypes
2024-07-31 09:35:07 -07:00
Evan Haas
93a502cb2f
aro_translate_c: move simple function prototype test to manifest
2024-07-31 09:35:07 -07:00
Evan Haas
6a103d87f6
aro_translate_c: basic typedef support
2024-07-31 09:35:07 -07:00
Evan Haas
055077f9dd
aro_translate_c: improve record translation
...
Move field record decl translation into `transType` instead of `transDecl`
2024-07-31 09:35:07 -07:00
Evan Haas
c57fcd1db5
aro_translate_c: demote functions with bodies to extern
...
Translating statements is currently not supported; demoting to extern is
better than crashing.
2024-07-31 09:35:07 -07:00
Evan Haas
6997f82e02
translate_c: move empty declaration test to test manifest
2024-07-31 09:35:07 -07:00
Evan Haas
4300a9c417
aro_translate_c: Make function decls public
2024-07-31 09:35:07 -07:00
Evan Haas
5cc9e18277
aro_translate_c: Translate enum types
2024-07-31 09:35:07 -07:00
Evan Haas
2f2f35105e
aro_translate_c: translate pointer types
2024-07-31 09:35:07 -07:00
Evan Haas
e32cde2568
aro_translate_c: translate incomplete arrays
2024-07-31 09:35:07 -07:00
Evan Haas
da3822f4c2
aro_translate_c: Translate array types
2024-07-31 09:35:07 -07:00
Evan Haas
236567de8d
aro_translate_c: Emit compile errors instead of panicking for var decls
2024-07-31 09:35:07 -07:00
YANG Xudong
a69d403cb2
std: fix long double size for loongarch.
2024-07-30 15:21:14 -07:00
YANG Xudong
2fb813c61f
std: set standard dynamic linker path for loongarch64 on linux. ( #20726 )
2024-07-30 15:20:56 -07:00
Jakub Konka
30b4a87db7
Merge pull request #20873 from ziglang/elf-ownership
...
elf: clean up resource ownership in the linker
2024-07-30 18:49:39 +02:00
Jakub Konka
3f10217a47
elf: fix a typo in setting atom name before it's been allocated
2024-07-30 12:54:30 +02:00
Jakub Konka
e0c475b6b7
elf: remove now unused globalByName
2024-07-30 10:03:13 +02:00
Jakub Konka
a76ad907d0
elf: include LinkerDefined in symbol resolution
2024-07-30 10:03:13 +02:00
Jakub Konka
3618824ea3
elf: move entry tracking into LinkerDefined
2024-07-30 10:03:13 +02:00
Jakub Konka
5ceac8ebba
elf: move initializing and allocating linker-defined symbols into LinkerDefined
2024-07-30 10:03:11 +02:00
Jakub Konka
ef7bbcd80f
elf: do not store merge section output section name in strings buffer
2024-07-30 10:00:50 +02:00
Jakub Konka
801c372098
elf: init output merge sections in a separate step
2024-07-30 10:00:50 +02:00
Jakub Konka
0701646beb
elf: move merge subsections ownership into merge sections
2024-07-30 10:00:50 +02:00
Jakub Konka
24126f5382
elf: simplify output section tracking for symbols
2024-07-30 10:00:50 +02:00
Jakub Konka
e8d008a8a8
elf: atom is always assigned output section index
2024-07-30 10:00:50 +02:00
Jakub Konka
96c20adeee
elf: remove obsolete flags from atom
2024-07-30 10:00:50 +02:00
Jakub Konka
c575e3daa4
elf: resolve COMDATs in more parallel-friendly way
2024-07-30 10:00:50 +02:00
Jakub Konka
fa09276510
test/link/elf: test COMDAT elimination
2024-07-30 10:00:50 +02:00
Jakub Konka
494ae149e0
elf: skip storing comdat group signature globally
2024-07-30 10:00:50 +02:00
Jakub Konka
669f285943
elf: move ownership of atoms into objects
2024-07-30 10:00:50 +02:00
Jakub Konka
f1fedb3a51
elf: move ownership of comdat groups to Object
2024-07-30 10:00:50 +02:00
Jakub Konka
733d25000b
elf: move ownership of input merge sections to Object
2024-07-30 10:00:50 +02:00
Andrew Kelley
f219286573
Merge pull request #20852 from ziglang/init-array-start-code
...
start code: implement __init_array_start, __init_array_end
2024-07-29 18:40:27 -07:00
Andrew Kelley
38e0f049c5
Merge pull request #20389 from alexrp/riscv32
...
Some `riscv32-linux` porting work
2024-07-29 16:13:35 -07:00
Ryan Liptak
73a444766e
langref: Make pointer_coerce_const_optional test less obfuscated
...
This test was originally introduced in 5f38d6e2e97829ed74f06a96b5d07a2c68516063, where it looked like this:
test "cast *[1][*]const u8 to [*]const ?[*]const u8" {
const window_name = [1][*]const u8{c"window name"};
const x: [*]const ?[*]const u8 = &window_name;
assert(mem.eql(u8, std.cstr.toSliceConst(x[0].?), "window name"));
}
Over the years, this has become more and more obfuscated, to the point that the verbosity of the `expect` call overshadows the point of the example. This commit intends to update this test to match the spirit of the original version of the test, while shedding the obfuscation.
2024-07-29 16:07:12 -07:00
Ryan Liptak
efde3ed04a
Fix compile error due to GetModuleFileNameW binding change
...
In https://github.com/ziglang/zig/pull/19641 , this binding changed from `[*]u16` to `LPWSTR` which made it a sentinel-terminated pointer. This introduced a compiler error in the `std.os.windows.GetModuleFileNameW` wrapper since it takes a `[*]u16` pointer. This commit changes the binding back to what it was before instead of introducing a breaking change to `std.os.windows.GetModuleFileNameW`
Related: https://github.com/ziglang/zig/issues/20858
2024-07-29 16:06:36 -07:00
Andrew Kelley
d60c100eb6
Merge pull request #20865 from ehaas/aro-translate-c-static-assert
...
Aro translate c: Render error diagnostics properly and ignore _Static_assert decls during translation
2024-07-29 15:28:31 -07:00
Alex Rønne Petersen
f7cebf21c9
c: Handle armeb and thumbeb in clone().
2024-07-29 13:24:29 -07:00
Andrew Kelley
7342017404
Merge pull request #20822 from alexrp/start-mips-fixes
...
`start`: A handful of MIPS fixes
2024-07-29 12:02:59 -07:00
Andrew Kelley
3f2d1b17fc
disable the new code for self-hosted riscv backend
2024-07-29 11:38:11 -07:00
Andrew Kelley
19e4de135f
Merge pull request #20839 from alexrp/musl-stuff
...
`musl`: Align `CFLAGS` with upstream
2024-07-29 11:34:18 -07:00
Alex Rønne Petersen
27507ad971
compiler: Enable -Werror=date-time for C/C++ code in release builds.
...
We advertise reproducible builds for release modes, so let's help users achieve
that in C/C++ code. Users can still override this manually if they really want.
2024-07-29 11:27:38 -07:00
Andrew Kelley
c37fe4b678
Merge pull request #20841 from alexrp/atomic-stuff
...
`std.atomic`: `cache_line` and `spinLoopHint()` specialization for more architectures
2024-07-29 11:05:43 -07:00
Evan Haas
699e103717
aro_translate_c: Add a more helpful error message for error.StreamTooLong
2024-07-29 10:25:55 -07:00
Evan Haas
5d8e56c2eb
aro_translate_c: do not translate _Static_assert declarations
...
This does not completely ignore static asserts - they are validated by aro
during parsing; any failures will render an error and non-zero exit code.
Emit a warning comment that _Static_asserts are not translated - this
matches the behavior of the existing clang-based translate-c.
Aro currently does not store source locations for _Static_assert
declarations so I've hard-coded token index 0 for now.
2024-07-29 10:25:55 -07:00