7445 Commits

Author SHA1 Message Date
Layne Gustafson
62e4cc06fe
Pass target details to c compiler 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
de8a5cf5f5
Remove features/cpus not in LLVM v9 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
79a2747de4
Add llvm_name to feature defs 2020-01-19 20:53:19 -05:00
Layne Gustafson
e4ecdefa9a
Rename subfeatures -> dependencies 2020-01-19 20:53:19 -05:00
Layne Gustafson
51372200d3
Filter out non-features 2020-01-19 20:53:19 -05:00
Layne Gustafson
c1798cb632
Add build.zig cpu and feature options 2020-01-19 20:53:19 -05:00
Layne Gustafson
b3324f1901
Add cpu/feature to cache hash 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
c8f1e0d6d8
Remove llvm_name from features 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
9d66bda264
Fix spacing in main.cpp 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
Layne Gustafson
21908e100e
Fix CPU and feature defs 2020-01-19 20:53:18 -05:00
Layne Gustafson
8ac138a318
Add parseArchTag and fix parseArchSub 2020-01-19 20:53:18 -05:00
Layne Gustafson
8f191e0166
Update term feature deps -> subfeatures 2020-01-19 20:53:18 -05:00
Layne Gustafson
0f46c12f78
Create initial target details infrastructure 2020-01-19 20:53:15 -05:00
LemonBoy
7a1cde7206 Fix wrong error code being returned in enum analisys
Fixes the assertion failure seen in #4233
2020-01-19 13:28:27 -05:00
Andrew Kelley
e491b2f5a7
Merge pull request #4231 from LemonBoy/more-builtin-work1
More patches for compiler-rt
2020-01-19 13:27:36 -05:00
LemonBoy
861724bcf0 Fix some tests broken by the renamed files 2020-01-19 09:31:45 +01:00
Andrew Kelley
7bb4c855ad
Merge pull request #4222 from LemonBoy/eutwouwth
Prevent crash with empty non-exhaustive enum
2020-01-18 19:25:23 -05:00
LemonBoy
5fbc1c2812 Nuke some more code 2020-01-19 00:12:27 +01:00
LemonBoy
3247fd7862 Export MSVC builtins inconditionally 2020-01-19 00:12:27 +01:00
LemonBoy
ae31da9334 Minor cleanup 2020-01-19 00:12:26 +01:00
LemonBoy
6b056d1fb9 Nuke some repeated code 2020-01-19 00:12:25 +01:00
LemonBoy
7d94e712f1 Remove useless wrappers around f32/f64 aeabi builtins 2020-01-19 00:12:18 +01:00
LemonBoy
fa52c9e36e Small cleanups 2020-01-19 00:11:45 +01:00
Sebastian
405b8e9eee fixed typo - "path" lead to undeclared identifier 2020-01-18 17:56:53 -05:00
Andrew Kelley
f47b7a0437
Merge pull request #4220 from LemonBoy/fix-4214
Allow @tagName on enum literals
2020-01-18 17:55:21 -05:00
daurnimator
72ec445677 std: turn EAI_ constants into a non-exhaustive enum 2020-01-18 17:46:44 -05:00
daurnimator
9e6e1e58bb std: use non-exhaustive enums from crc module
Un-reverts PR #3118
2020-01-18 17:42:45 -05:00
LemonBoy
b0f753e21d Fix edge case in tagName handling of unions
Closes #4226
2020-01-18 20:16:15 +01:00
LemonBoy
f456b88bae Get rid of some dead logic 2020-01-18 19:24:04 +01:00
LemonBoy
c53d94e512 Prevent crash with empty non-exhaustive enum 2020-01-18 15:13:21 +01:00
LemonBoy
5f2bac010d Allow @tagName on enum literals
Closes #4214
2020-01-18 09:55:18 +01:00
Michael Dusan
b72f858194
Merge pull request #4215 from mikdusan/cmake-install
cmake: support `make` and `make install`
2020-01-17 21:35:29 -05:00
Michael Dusan
b9f4ac86ef
cmake: support make and make install
(2nd attempt to get this right)
2020-01-17 19:39:43 -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
Michaël Larouche
d9be6e5dc6 Port clzsi2 from compiler_rt, required for using std.fmt.format on some ARM architecture. 2020-01-17 14:25:22 -05:00
Michael Dusan
d53e8a5751 Revert "cmake: support make and make install"
This reverts commit cd062b08d01cf2c92b05ef3e96b2ff3715f29fd5.
2020-01-17 14:24:54 -05:00
Vexu
39f92a9ee4
improve behavior test 2020-01-17 09:50:20 +02:00
Michael Dusan
9348609e6a
Merge pull request #4208 from mikdusan/contributing
doc: update contributing
2020-01-17 02:49:25 -05:00
Michael Dusan
af9eb7ac13
doc: update contributing 2020-01-17 02:47:47 -05:00