7687 Commits

Author SHA1 Message Date
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
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
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
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
Vexu
b971c7d0ff
update tests and translate-c 2020-01-15 20:58:42 +02:00
Michael Dusan
0a41051955 stage1: move local native_libc.txt to global
Automatic creation of `native_libc.txt` now occurs only in global
cache. Manual creation/placement into local cache is supported.

closes #3975
2020-01-15 13:42:12 -05:00
Vexu
6fd0dddf18
implement non-exhaustive enums 2020-01-15 20:24:59 +02:00
LemonBoy
ede28755b6 Fix test case 2020-01-15 18:41:07 +01:00
LemonBoy
c5cfc9bf68 Move definition of __aeabi_read_tp 2020-01-15 17:50:51 +01:00
LemonBoy
5d5345728a Fix div builtins to use the correct calling convention 2020-01-15 17:50:51 +01:00
LemonBoy
109e5f8a5a Remove unnecessary logic 2020-01-15 17:50:51 +01:00
LemonBoy
44e3796285 Rearrange some builtin functions placement 2020-01-15 12:48:28 +01:00
Andrew Kelley
8d9d4a0658
Merge pull request #4182 from LemonBoy/mjeiorw
A bunch of patches
2020-01-15 04:28:54 -05:00
LemonBoy
c85afff5a8 Correct l_name field type 2020-01-14 23:11:10 +01:00
LemonBoy
49771f356f Make sure @export symbol name is not empty 2020-01-14 21:23:11 +01:00
LemonBoy
c1f3766f1c Correct dlpi_name field type 2020-01-14 21:15:33 +01:00
LemonBoy
158d98a7f2 Print sentinel value in ir_print 2020-01-14 21:13:55 +01:00
Michaël Larouche
7ee0e779af Fix std.child_process.ChildProcess.spawnWindow when looking in PATH environment variable, it applied cwd+app_name instead of just using the app_name 2020-01-14 15:12:30 -05:00
LemonBoy
505b9db909 Fix codegen error for some union initializers
Closes #3377
2020-01-14 14:57:03 -05:00
Vexu
af2ede4d96 fix crash on multiline library name 2020-01-14 13:10:52 -05:00