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
Michael Dusan
ab2cb435e5
Merge pull request #4209 from mikdusan/cmake-install
...
cmake: fix install lib path message
2020-01-17 02:45:32 -05:00
Michael Dusan
97cca1376a
cmake: fix install lib path message
2020-01-17 00:53:41 -05:00
Andrew Kelley
396d57c498
fix failing array test by improving copy_const_val
2020-01-16 21:58:53 -05:00
Andrew Kelley
8f336b3970
revert one part of ir get_elem_ptr analysis
...
this reverts one part of 4c3bfeca. it solves some behavior regressions
but introduces new ones. This change was incorrect to make however,
and this commit takes the code in a better direction.
2020-01-16 21:58:52 -05:00
Andrew Kelley
6a8c9f7306
fix regression with optionals and globals
2020-01-16 21:58:52 -05:00
Andrew Kelley
b952b84486
relax language requirements regarding else unreachable
2020-01-16 21:58:52 -05:00
Andrew Kelley
8bf425957b
fix regressions double implicit casting return ptr
2020-01-16 21:58:52 -05:00
Andrew Kelley
e48157c3cb
fix regression with inferred struct fields
2020-01-16 21:58:52 -05:00
Andrew Kelley
fb8da16a60
fix regressions in get_elem_ptr related to undefined
2020-01-16 21:58:52 -05:00
Andrew Kelley
d0b055d69e
fix implicit cast regression
2020-01-16 21:58:52 -05:00
Andrew Kelley
96d64a40a6
fix regression with var ptrs not being const
2020-01-16 21:58:52 -05:00
Andrew Kelley
b6c8fead00
fix regression in global const alignment
2020-01-16 21:58:51 -05:00
Andrew Kelley
fbcee58cfc
zig ir.cpp details: remove the mem_slot mechanism
...
Previously, there was hacky code to deal with result locations and how
they work with regards to comptime values and runtime values. In
addition, there was a hacky "mem_slot" mechanism that managed the memory
for local variables, and acted differently depending on comptime vs
runtime situations. All that is deleted in this commit, and as a result,
result locations code has one less complication.
Importantly, this means that a comptime result location is now passed to
a function when it is evaluated at comptime.
This test causes many regressions, and some of the behavior tests are
disabled (commented out) in this commit. Future commits will re-enable
the tests before merging the branch.
2020-01-16 21:58:47 -05:00
Michael Dusan
0240fd9140
Merge pull request #4206 from mikdusan/cmake-install
...
cmake: support `make` and `make install`
2020-01-16 21:40:05 -05:00
Andrew Kelley
7e674d6761
zig_llvm: update CodeGenFileType usage
2020-01-16 21:32:07 -05:00
Michael Dusan
cd062b08d0
cmake: support make and make install
...
- `make` or `ninja` will not build but not install
- `make install` or `ninja install` will build __and__ install
Only for build system generator Visual Studio, specify the following
to disable installation of lib files:
ZIG_SKIP_INSTALL_LIB_FILES=ON
2020-01-16 18:56:13 -05:00
Vexu
6c8f01dcde
correct field count
2020-01-16 22:52:10 +02:00
Andrew Kelley
56f433b3d9
update clang drivers to llvm 10.x (ac446302c)
2020-01-16 14:03:38 -05:00
Vexu
bac27731e3
add struct field default value to typeinfo
2020-01-16 13:22:30 -05:00
Vexu
df03fcf5f0
implement @bitSizeOf
2020-01-16 13:13:45 -05:00
Andrew Kelley
ba4cc03b4f
remove embedded LLD
...
we no longer have any patches against upstream LLD
2020-01-16 13:09:45 -05:00
Andrew Kelley
fbe6af81fd
Merge remote-tracking branch 'origin/master' into llvm10
2020-01-16 13:01:36 -05:00
LemonBoy
f609ce4f65
Minor changes to the ARM builtin fns
2020-01-16 12:50:53 -05:00
LemonBoy
7e5e767ba0
Fix regression in char printing
...
Closes #4014
2020-01-16 12:17:16 -05:00
LemonBoy
0267afa9c0
Fix garbled error messages from clang
2020-01-16 12:16:30 -05:00
Vexu
6450736c5f
translate-c default enum tag type to c_int
2020-01-16 12:50:44 +02:00
Vexu
cb257b4e11
allow non-exhaustive enums with no fields
2020-01-16 09:23:26 +02:00
Vexu
d84569895c
turn panics into compile errors, require at least 1 field in non-exhaustive enum
2020-01-16 09:04:11 +02:00
Andrew Kelley
8a792db2d8
Merge pull request #4187 from LemonBoy/builtin-rearrange
...
Some needed work on builtins
2020-01-15 18:39:50 -05:00
Vexu
02e5cb1cd4
add non-exhaustive enum to langref
2020-01-15 23:05:52 +02:00
Vexu
5c2238fc4a
small fixes
...
* error for '_' prong on exhaustive enum
* todo panic for `@tagName` on non-exhaustive enum
* don't require '_' field on tagged unions
2020-01-15 22:09:19 +02:00
Vexu
c57784aa15
add is_exhaustive field to typeinfo
2020-01-15 21:50:12 +02:00
Vexu
f3d174aa61
require size for non-exhaustive enums
2020-01-15 21:38:11 +02:00
Vexu
0ea96c11ef
disallow multiline strings in test and library names
2020-01-15 14:20:48 -05:00
LemonBoy
e8012740b9
Fix off-by-one error (and missing store op)
2020-01-15 20:03:41 +01:00