Andrew Kelley
b2e1bce240
minor code readability changes
2020-12-23 13:36:21 -08:00
Andrew Kelley
78ab1f609a
apply kprotty's WaitGroup fix
2020-12-23 13:36:21 -08:00
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.
f416535768 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