Andrew Kelley
829c00a77f
kprotty ThreadPool and WaitGroup patch
2020-12-23 13:36:21 -08:00
Koakuma
588e828759
float_*_ieee597: only swap bytes when targeting different endianness than native
...
float_*_ieee597 functions should fill the buffer with the target endianness,
instead of always filling it in LE ordering.
2020-12-23 20:22:43 +02:00
xackus
1d3ceac770
stage1: LLVMSetModuleInlineAsm is deprecated
2020-12-23 20:21:47 +02:00
Alex Cameron
ca282184ae
Implement parsing for multi-arg Clang options.
2020-12-23 15:03:11 +02:00
g-w1
51a904677c
update depreciated code ( #7502 )
...
* `zig env`:
* fix depreciated interface, update outStream -> writer
* make code more readable by updating `anytype` -> `std.fs.File.Writer`
2020-12-23 13:01:29 +02:00
Veikka Tuominen
ce7dcf2294
Merge pull request #7507 from joachimschmidt557/stage2-arm
...
stage2 ARM: implement basic binary bitwise operations
2020-12-23 12:17:40 +02:00
Matthew Knight
55b998c98d
Add c_longdouble mapping for bpf ( #7504 )
2020-12-23 01:33:43 +02:00
g-w1
cb3198af2a
stage2: @TypeOf ( #7475 )
...
* stage2: add @TypeOf
* stage2: discriminate on what type of @builtinCall in nodeMayNeedMemoryLocation
* merge upstream into my stash
* add type equality to make easier to test and defer free the types
* remove addDeclErr, I dont know why I added it, its from a different branch that im working on
* add tests
* update error message to match stage1
* use ComptimeStringMap and update which nodes don't need memory from vexu's suggestions
* fix typo
Co-authored-by: Veikka Tuominen <git@vexu.eu>
* make @TypeOf(single_arg) go to .typeof zir inst and add test for that
* unioninit, as, reduce change mayneedmemorylocation
Co-authored-by: Veikka Tuominen <git@vexu.eu>
2020-12-23 01:26:36 +02:00
g-w1
ea18f894f5
Peer type resolution with unsigned ints and larger signed ints
2020-12-23 00:05:42 +02:00
Veikka Tuominen
03113d9246
Merge pull request #7111 from tetsuo-cpp/emit-h
...
Implement emit-h
2020-12-23 00:01:22 +02:00
Veikka Tuominen
ba2f2e1393
Merge pull request #7476 from ifreund/pkgs
...
stage2: free Package resources, print package path on --pkg-begin failure
2020-12-23 00:00:37 +02:00
Evan Haas
ccdb81fb31
Improve handling of C compiler intrinsics in translate-c
...
C compiler intrinsics can only appear as part of a function call. When called
they are implicitly cast to a function pointer; treat this as a non-null
pointer so that it emits as a regular Zig function call.
Put `pub usingnamespace @import("std").c.builtins;` at the top of translated
C files so that they will have access to builtin functions defined there.
Fixes #6707
2020-12-22 23:59:30 +02:00
Alex Cameron
9849e894d5
Add emit_h path to compilation hash.
2020-12-23 01:14:35 +11:00
Alex Cameron
0771aac48b
Don't use emit-h in test cases for other backends.
2020-12-23 01:14:35 +11:00
Alex Cameron
e834d0369a
Make sure emit-h is off by default.
2020-12-23 01:14:35 +11:00
Noam Preil
8d6066e09c
Fix a dumb
2020-12-23 01:14:35 +11:00
Noam Preil
8538053940
Add header test harness
2020-12-23 01:14:35 +11:00
Noam Preil
ac33b10b5e
CBE: Improve formatting
2020-12-23 01:14:35 +11:00
Noam Preil
37438dd789
CBE: add support for bool,u32
2020-12-23 01:14:35 +11:00
Noam Preil
15a148db01
Fix memory leak
2020-12-23 01:14:35 +11:00
Alex Cameron
c87da2f45a
Remove redundant emit_h member in Compilation struct.
2020-12-23 01:14:35 +11:00
Alex Cameron
aba273d731
Enable emit-h by default for obj and lib compilation.
2020-12-23 01:14:35 +11:00
Alex Cameron
40f0275e7c
Implement emit-h
2020-12-23 01:14:35 +11:00
Jakub Konka
43dbe86226
Merge pull request #7516 from kubkon/macho-better-space-alloc
...
macho: space preallocation, and various cleanups and fixes
2020-12-22 14:23:55 +01:00
Jakub Konka
34663abc90
macho: pad out LINKEDIT upto specified filesize
2020-12-22 10:57:58 +01:00
Jakub Konka
f106a46fd2
macho: enable binding and lazy binding info writes
2020-12-21 23:16:00 +01:00
Jakub Konka
3f21f9155f
macho: write only bits that changed
...
Refactor use of `log` to not include an additional newline char.
2020-12-21 19:59:40 +01:00
joachimschmidt557
82236a5029
stage2 ARM: implement basic binary bitwise operations
2020-12-21 19:24:21 +01:00
Jakub Konka
de5421a0a6
macho: deduplicate symbol table relocation codepath
2020-12-21 18:31:26 +01:00
Jakub Konka
a1b3606f0e
macho: dynamically preallocate space for LINKEDIT sections as well
2020-12-21 17:03:55 +01:00
Vexu
286077fec8
stage1: add missing error check on inferred struct field ptr
2020-12-21 12:40:51 +02:00
Andrew Kelley
1d94a68936
add an option to compile zig in single-threaded mode
...
And enable it for Drone CI. I hate to do this, but I need to make
progress on other fronts.
2020-12-20 15:37:58 -07:00
Andrew Kelley
10d30838d1
update WaitGroup to yet another version
2020-12-20 15:08:59 -07:00
Andrew Kelley
4e621d4260
workaround for std lib AutoResetEvent bug
2020-12-20 15:08:59 -07:00
Andrew Kelley
e00b6db2aa
update stage2 test harness to new std.Progress API
2020-12-20 15:08:59 -07:00
Andrew Kelley
aa6ef10cc6
std.Progress: make the API thread-safe
...
We generally get away with atomic primitives, however a lock is required
around the refresh function since it traverses the Node graph, and we
need to be sure no references to Nodes remain after end() is called.
2020-12-20 15:08:59 -07:00
Andrew Kelley
b2f8631a3c
ThreadPool: delete dead code
...
If this errdefer did get run it would constitute a race condition. So I
deleted the dead code for clarity.
2020-12-20 15:08:59 -07:00
Andrew Kelley
32fd637e57
stage2: replace WaitGroup with a trivially auditable one
2020-12-20 15:08:59 -07:00
Andrew Kelley
0d1cd0d482
use kprotty's ThreadPool implementation (v5)
2020-12-20 15:08:59 -07:00
Andrew Kelley
01d33855c7
stage2: protect mutable state from data races in updateCObject
2020-12-20 15:08:59 -07:00
LemonBoy
84549b4267
stage1: Fix for generic fn monomorphization
...
Don't use the instantiation argument types to build the function
parameter array.
f416535768fc30195cad6cd481f73fd1e80082aa worked around the problem, this
commit solves it.
2020-12-19 19:45:48 -05:00
Jakub Konka
3f7dbde92a
macho: bring back allocatedSize function
2020-12-19 23:51:39 +01:00
Jakub Konka
6712575e04
macho: preallocate space for linkedit hidden sections;
2020-12-19 23:37:21 +01:00
Jakub Konka
ca1d03fe77
macho: fix findFreeSpace start value
2020-12-19 19:44:13 +01:00
Jakub Konka
c89f4781bd
macho: add missing dirty markers
2020-12-19 12:19:20 +01:00
Jakub Konka
f32681033d
macho: auto-coerce to slice
2020-12-19 12:19:10 +01:00
Jakub Konka
99578e828b
macho: move findFreeSpace back to MachO struct
...
However, adding a twist where `findFreeSpace` accepts a `SegmentCommand`
as argument meaning we want to look for free space specifically within
that segment and nowhere else.
2020-12-19 12:19:00 +01:00
Jakub Konka
6a021d845a
macho: find free space even for __text section
2020-12-19 12:18:49 +01:00
Jakub Konka
f33b644c4f
macho: redo how we allocate within a segment
...
Firstly, we preallocate segments offset and sizes, and then
when adding sections, we find the free space within each segment.
Currently, this applies to any segment that is not __LINKEDIT
segment since this requires special treatment.
2020-12-19 12:18:35 +01:00
Jakub Konka
b090451646
Merge pull request #7318 from kubkon/cc-macho
...
stage1: cross compile to x86_64 and arm64 macOS from anywhere with LLVM
2020-12-19 12:13:03 +01:00