Andrew Kelley
24a9a42966
add safe release build mode
...
closes #288
2017-05-02 17:34:21 -04:00
Andrew Kelley
7c236f6dd8
fix compiler crash when referencing a variable...
...
...in an if after an if in the 2nd switch prong
closes #355
2017-05-02 12:59:09 -04:00
Andrew Kelley
9f92042da9
allow undefined to be resolved with other types
...
closes #295
2017-05-01 22:37:34 -04:00
Andrew Kelley
3cbd0065fa
basic support for specifying packages at the command line
...
See #226
2017-05-01 16:35:10 -04:00
Andrew Kelley
17b935325e
@import("builtin") instead of @compileVar
...
See #226
Closes #220
2017-05-01 13:12:38 -04:00
Andrew Kelley
363d9038c9
zig build: organize build artifacts
...
closes #328
2017-04-30 18:56:24 -04:00
Andrew Kelley
43e7ac8418
add peer type resolution []T and [0]T
...
closes #349
also fix slicing const array to be []const T instead of []T
2017-04-30 12:21:24 -04:00
Andrew Kelley
29defd705d
back to AT&T syntax for assembly
...
this reverts 5c04730534ea7933855429c5fc5dc7b22eba7bc2.
sadly the quality of the intel dialect in llvm's assembly
parser has many frustrating bugs, and generally has unfortunate
syntax.
the plan is to use AT&T for now since it at least works,
and eventually zig will have its own assembly parser for
x86 and it will be as close to NASM as possible.
2017-04-30 11:28:11 -04:00
Andrew Kelley
cbfe4b4bae
add implicit cast from [0]T to %[]T
...
closes #347
also add std.os.path.relative
2017-04-29 19:23:33 -04:00
Andrew Kelley
a147f06585
zig puts temporary object files in zig-cache folder
...
See #298
2017-04-28 02:22:12 -04:00
Andrew Kelley
458afb0ef9
phi instruction retains stack ptr hint
2017-04-27 23:40:43 -04:00
Andrew Kelley
2e512a0e6e
add compile error for returning local variable address
...
closes #344
2017-04-27 19:40:35 -04:00
Andrew Kelley
7b0542d08b
build system: consolidate duplicate code and more
...
* add ability to add assembly files when building an exe, obj, or lib
* add implicit cast from `[N]T` to `?[]const T` (closes #343 )
* remove link_exe and link_lib in favor of allowing build_exe and
build_lib support no root zig source file
2017-04-26 19:17:05 -04:00
Andrew Kelley
09bc4d6ba3
build system: addAssembly and addObject functions
...
for building executables
2017-04-26 12:56:10 -04:00
Josh Wolfe
08a871f625
defer requires expr to be void. closes #341
2017-04-23 22:33:06 -07:00
Josh Wolfe
ac7971122d
fix check-statement-is-void. add tests
...
see #291
2017-04-23 21:50:34 -07:00
Josh Wolfe
c6605cba83
blocks check that their statements are void
...
closes #291
This changes the error message "return value ignored" to "expression value is ignored".
This is because this error also applies to {1;}, which has no function calls.
Also fix ignored expression values in std and test.
This caught a bug in debug.readAllocBytes where an early Eof error would have been missed.
See #219 .
2017-04-23 21:15:15 -07:00
Josh Wolfe
14dfbd6ad3
remove redundant unreachable code error
2017-04-23 08:36:21 -07:00
Andrew Kelley
0f633167c5
fix crash when unwrapping error with no error decls
...
closes #339
2017-04-23 03:14:22 -04:00
Andrew Kelley
ad9040443c
new compile errors for setGlobalAlign and setGlobalSection builtins
...
if you try to use them on an external variable or function
then you get a compile error, since the alignment/section
is set externally in this case.
closes #244
2017-04-22 12:54:00 -04:00
Andrew Kelley
aafb0b9082
slicing now returns correct const-ness
...
also remove the ability to override constness when slicing
closes #334
2017-04-22 12:19:20 -04:00
Andrew Kelley
1a0081b763
add peer type resolution for T and ?T
...
See #334
2017-04-22 11:45:04 -04:00
Andrew Kelley
e0b635e825
std.os.ChildProcess: fix closing wrong file descriptors
2017-04-22 11:36:42 -04:00
Andrew Kelley
0cce115476
update syntax for try and nullable unwrapping
...
closes #285
2017-04-21 16:46:33 -04:00
Andrew Kelley
d5346d7a80
remove ?return and ?defer
...
closes #309
2017-04-21 15:08:03 -04:00
Andrew Kelley
e3c524c1d4
rename @ptrcast to @ptrCast to follow convention
2017-04-21 10:39:13 -04:00
Andrew Kelley
ecb71d1dd3
add example which exercises addObject in the zig build system
...
closes #329
2017-04-21 02:26:48 -04:00
Andrew Kelley
fb492d19eb
zig build system supports building a library
...
See #329
Supporting work:
* move std.cstr.Buffer0 to std.buffer.Buffer
* add build.zig to example/shared_library/ and add an automated test
for it
* add std.list.List.resizeDown
* improve std.os.makePath
- no longer recursive
- takes into account . and ..
* add std.os.path.isAbsolute
* add std.os.path.resolve
* reimplement std.os.path.dirname
- no longer requires an allocator
- handles edge cases correctly
2017-04-21 01:56:12 -04:00
Andrew Kelley
599215cee4
add compile error tests for offsetOf builtin
2017-04-20 10:57:41 -04:00
Raul Leal
5234016561
Add @offsetOf builtin function
2017-04-20 11:53:00 +00:00
Andrew Kelley
8654bc1810
delete test_artifacts directory when tests complete
...
* add std.os.deleteTree
* add std.os.deleteDir
* add std.os.page_size
* add std.os API for iterating over directories
* refactor duplication in build.zig
* update documentation on how to run tests
2017-04-20 02:26:36 -04:00
Andrew Kelley
1ff73a8e69
convert parseh tests to zig build system
2017-04-19 16:59:20 -04:00
Andrew Kelley
d12f1f5b49
test framework supports name prefix and filter argument
...
rename self hosted tests to behavior tests
2017-04-19 15:38:12 -04:00
Andrew Kelley
9b7f438882
convert debug safety tests to zig build system
2017-04-19 14:41:59 -04:00
Andrew Kelley
d1e01e43d3
convert assemble and link tests to zig build system
2017-04-19 14:00:12 -04:00
Andrew Kelley
35d60eb4e6
remove unused test code
2017-04-19 04:28:59 -04:00
Andrew Kelley
d0a17b6937
convert std lib tests to zig build system
2017-04-19 04:12:22 -04:00
Andrew Kelley
10525b869d
convert build examples tests to zig build system
2017-04-19 01:45:46 -04:00
Andrew Kelley
37b9a2e6a4
convert compare-output tests to use zig build system
2017-04-19 01:15:20 -04:00
Andrew Kelley
237dfdbdc6
error when building exe with no entry point
...
closes #30
2017-04-18 14:04:48 -04:00
Andrew Kelley
a791417552
add @fieldParentPtr builtin function
...
closes #320
2017-04-18 02:28:05 -04:00
Andrew Kelley
407916cd2f
rename @intType to @IntType to follow convention
...
closes #327
2017-04-18 00:05:09 -04:00
Raul Leal
3266585606
Implicit cast from T to %?T
...
closes #171
2017-04-17 19:55:56 -04:00
Andrew Kelley
2e0b114fdc
add compile error for intToPtr with a 0-bit ptr
...
See #323
2017-04-17 19:28:33 -04:00
Andrew Kelley
401eed8153
build examples in ./run_tests
...
closes #325
2017-04-17 06:58:36 -04:00
Josh Wolfe
3a8490f7e9
add tests for implicit semicolon. closes #297
2017-04-14 16:29:42 -07:00
Andrew Kelley
bf57d8a7e3
typedefpocalypse
...
closes #314
2017-04-13 03:07:58 -04:00
Andrew Kelley
41144a8566
ability to inline at function callsite
...
closes #306
2017-04-13 00:13:54 -04:00
Andrew Kelley
34eff50326
fix for loops not working at compile-time
...
closes #315
2017-04-10 03:00:19 -04:00
Andrew Kelley
095591f0b0
add enumTagName builtin function
...
closes #299
2017-04-08 17:45:22 -04:00