Andrew Kelley
1f7babbc80
properly forward baseline target cpu features to llvm
2020-01-21 03:01:20 -05:00
Andrew Kelley
0abaee79af
fix self-hosted compiler regression
2020-01-21 01:51:21 -05:00
Andrew Kelley
5974f95cb7
add cpus and cpu features to zig targets
2020-01-21 01:48:25 -05:00
Andrew Kelley
0c2dde2fda
add libc and glibcs to self-hosted zig targets
2020-01-21 01:31:27 -05:00
Andrew Kelley
39759b90fc
make zig targets show native cpu name and features
2020-01-21 01:22:37 -05:00
Andrew Kelley
e640d01535
fixups to arch data, support any number of cpu features
2020-01-21 00:34:54 -05:00
Andrew Kelley
f3dd9bbdac
improve zig targets
2020-01-20 13:40:25 -05:00
Andrew Kelley
bf82929557
fix std.Target.Arch.parseCpuFeatureSet
2020-01-20 12:41:18 -05:00
Andrew Kelley
8f29d14073
stage1 is building. zig targets now self-hosted
2020-01-20 01:42:31 -05:00
Andrew Kelley
20af858601
some fixes
2020-01-19 21:06:41 -05:00
Andrew Kelley
a313f15384
figure out zig0/stage1 and scanning for native CPU
2020-01-19 20:54:05 -05:00
Andrew Kelley
a867b43366
progress towards merging
...
see BRANCH_TODO file
2020-01-19 20:54:04 -05:00
Layne Gustafson
430077df1b
Allow target details with no LLVM support
2020-01-19 20:53:20 -05:00
Layne Gustafson
35c681b7b1
Fix sentinel mismatch in llvm strings
...
Previously, buffers were used with toOwnedSlice() to create c strings
for LLVM cpu/feature strings. However, toOwnedSlice() shrinks the
string memory to the buffer's length, which cuts off the null terminator.
Now toSliceConst() is used instead, and the buffer is not deinited
so that the string memory is not freed.
2020-01-19 20:53:20 -05:00
Layne Gustafson
8902f3ca32
Enable 64bit feature for riscv64
2020-01-19 20:53:20 -05:00
Layne Gustafson
a5c9397539
No allocations for n.t. empty strings
2020-01-19 20:53:20 -05:00
Layne Gustafson
40ff359486
Only enable requested features
2020-01-19 20:53:20 -05:00
Layne Gustafson
ebb6f15bba
Make sure llvm strings are null-terminated
2020-01-19 20:53:20 -05:00
Layne Gustafson
fd17a9962b
Add defaut feature support
2020-01-19 20:53:20 -05:00
Layne Gustafson
03dd376b55
Add builtin.zig support
2020-01-19 20:53:19 -05:00
Layne Gustafson
c61856ebcf
Add TargetDetails abstraction
2020-01-19 20:53:19 -05:00
Layne Gustafson
bd6ef21f85
Add cpu/feature specification to cmndline
2020-01-19 20:53:19 -05:00
Layne Gustafson
c131e50ea7
Switch CPU/features to simple format
2020-01-19 20:53:18 -05:00
Layne Gustafson
5bc4690d85
Make targets cmd able to list CPUs and features
2020-01-19 20:53:18 -05:00
Andrew Kelley
b5ac079f88
Merge pull request #4191 from Vexu/non-exhaustive-enums
...
Implement non-exhaustive enums
2020-01-17 14:26:12 -05:00
LemonBoy
7e5e767ba0
Fix regression in char printing
...
Closes #4014
2020-01-16 12:17:16 -05:00
Vexu
6450736c5f
translate-c default enum tag type to c_int
2020-01-16 12:50:44 +02:00
Vexu
f3d174aa61
require size for non-exhaustive enums
2020-01-15 21:38:11 +02:00
Vexu
b971c7d0ff
update tests and translate-c
2020-01-15 20:58:42 +02:00
Andrew Kelley
b9f37ffe19
fix outdated comment
2020-01-13 14:48:43 -05:00
LemonBoy
34ae1d9aa8
Fix unsafe cast in translate_c
...
* Handle EmptyDecls to clean up the generated code
Closes #4143
2020-01-11 15:51:10 -05:00
LemonBoy
570ffc470e
Handle forward-declared functions
...
Closes #4130
2020-01-10 16:34:40 -05:00
travisstaloch
3f98756f85
Fix translation of signed array indices ( #4113 )
...
* cast only if the index is long long or signed
* cast long long to usize rather than c_uint
closes #4075
2020-01-10 00:08:24 -05:00
Andrew Kelley
ae324985a6
clean up a TODO in self-hosted
2020-01-09 15:31:49 -05:00
Rocknest
4613e4d15f
Fix C struct with function pointer member and typedefs mistranslated ( #4122 )
...
fixes #4118
2020-01-09 13:38:31 -05:00
Ryan Liptak
834218d789
Fix remaining variadic formatted prints
...
Used a series of regex searches to try to find as many instances of the old pattern as I could and update them.
2020-01-09 13:36:44 -05:00
LemonBoy
5b34697b21
Cast integer literals to their specified type
2020-01-08 10:19:04 +01:00
LemonBoy
fd7e69a2c0
More translate-c fixes
...
* Translate OpaqueValueExpr
* Translate BinaryConditionalOperator
* Fix translation of boolean->int casts
* Reoder some tokens to avoid rendering errors
2020-01-08 08:43:37 +01:00
David Cao
8e57dd57ca
add --eh-frame-hdr conditionally
2020-01-07 15:58:40 -05:00
David Cao
599213463d
add --eh-frame-hdr arg for linking
2020-01-07 15:58:39 -05:00
via
9390e8b848
Preserve packed attribute in C translated struct ( #4085 )
...
* Preserve packed attribute in C translated struct
* Add tests for packed C struct
2020-01-07 02:36:07 -05:00
LemonBoy
7e7d0e1ffa
Better handling of decayed arrays to pointers
2020-01-06 19:32:53 -05:00
Andrew Kelley
baaef7ed97
Merge pull request #4083 from LemonBoy/better-stdbool
...
Better _Bool translation
2020-01-06 19:21:55 -05:00
LemonBoy
62413da9d3
Add run-translated-c test & fix one more edge case
2020-01-06 19:17:47 -05:00
LemonBoy
1dc25d7550
Translate anonymous union/struct
2020-01-06 19:17:47 -05:00
Tadeo Kondrak
f83b02a581
translate-c: use @intToPtr to cast away qualifiers
2020-01-06 19:09:49 -05:00
Andrew Kelley
5ada610e09
update translate-c and tests for new extern/callconv syntax
2020-01-06 17:54:16 -05:00
Andrew Kelley
0a9daeb37e
Merge branch 'cc-work' of https://github.com/LemonBoy/zig into LemonBoy-cc-work
2020-01-06 14:07:56 -05:00
LemonBoy
cd39f6df95
Better _Bool translation
2020-01-06 00:12:18 +01:00
LemonBoy
6ff70d3c31
Better InitListExpr translation
2020-01-05 17:39:29 -05:00