Andrew Kelley
1e301b03a9
change std.rand.Rand.rangeUnsigned to std.rand.Rand.range
...
and make it support signed integers
2017-05-31 18:23:56 -04:00
Andrea Orru
8d6ecfeffe
Updated comment.
2017-05-28 15:56:35 +02:00
Andrea Orru
6a87aa4d2e
Generalize join.
2017-05-28 15:54:53 +02:00
Andrew Kelley
0065eb7c80
std.fmt can print nullables, errors, and error unions
2017-05-23 18:38:41 -04:00
Andrew Kelley
d8d45908fa
building with mingw for windows
2017-05-23 00:26:12 -04:00
Andrew Kelley
29b488245d
add setFloatMode builtin and std.math.floor
...
* skip installing std/rand_test.zig as it's not needed beyond running
the std lib tests
* add std.math.floor function
* add setFloatMode builtin function to choose between
builtin.FloatMode.Optimized (default) and builtin.FloatMode.Strict
(Optimized is equivalent to -ffast-math in gcc)
2017-05-20 23:06:32 -04:00
Andrew Kelley
051ee8e626
change slicing syntax from ... to ..
...
See #359
2017-05-19 10:39:59 -04:00
Andrew Kelley
b483db4868
typeId builtin instead of isInteger, isFloat, etc
...
closes #373
2017-05-17 12:26:35 -04:00
Andrew Kelley
99f077baf9
zig build: allow calling b.standardReleaseOptions...
...
...multiple times. See #368
2017-05-09 21:20:09 -04:00
Andrew Kelley
8abcd94ece
std.fmt.format prints bool values
2017-05-07 23:25:02 -04:00
Andrew Kelley
157af4332a
builtin functions for division and remainder division
...
* add `@divTrunc` and `@divFloor` functions
* add `@rem` and `@mod` functions
* add compile error for `/` and `%` with signed integers
* add `.bit_count` for float primitive types
closes #217
2017-05-06 23:13:12 -04:00
Andrew Kelley
5c094d7390
std: rename List to ArrayList and re-organize...
...
...the exports of std.
closes #356
2017-05-04 14:05:06 -04:00
Andrew Kelley
0454e610bf
std: take advantage of new while syntax
2017-05-04 10:37:19 -04:00
Andrew Kelley
20b1491e6b
implement while for nullables and error unions
...
See #357
2017-05-04 10:28:00 -04:00
Andrew Kelley
698829b772
change while syntax
...
Old:
```
while (condition; expression) {}
```
New:
```
while (condition) : (expression) {}
```
This is in preparation to allow nullable and
error union types as the condition. See #357
2017-05-03 18:12:07 -04:00
Andrew Kelley
644ea2dde9
remove test and try expressions in favor of if expressions
...
See #357
2017-05-03 17:23:11 -04:00
Andrew Kelley
6756c27ca4
zig build: cache_root is relative to build_root
2017-05-03 16:13:57 -04:00
Andrea Orru
6f66691214
Generic doubly linked list. ( #361 )
...
Standard linked list
2017-05-03 14:28:06 -04:00
Andrew Kelley
cceaa73ff2
zig build: inherit stdin for running commands
2017-05-03 11:27:42 -04:00
Andrew Kelley
3b921afc69
slightly better memset/memcpy implementation
2017-05-02 19:20:23 -04:00
Andrew Kelley
f87be94f6a
zig build: copy args for addCommand
...
avoids making it easy to accidentally use a dangling pointer
2017-05-02 18:22:08 -04:00
Andrew Kelley
24a9a42966
add safe release build mode
...
closes #288
2017-05-02 17:34:21 -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
cff5358f60
make debug safety stuff lazy
2017-05-01 19:16:48 -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
c5dd536845
zig build: support install for zig artifacts
...
also make os.copyFile atomic
closes #332
2017-04-30 22:09:44 -04:00
Andrew Kelley
943dbe5b50
zig build: improved API for installing C build artifacts
...
see #332
2017-04-30 21:03:23 -04:00
Andrew Kelley
97f6b6093c
zig build can build and install static C libraries
...
See #332
2017-04-30 20:29:33 -04:00
Andrew Kelley
2c6827064c
fix regression from previous commit
2017-04-30 20:11:35 -04:00
Andrew Kelley
1ec89b0286
zig build: refactor CLibrary and CExecutable into same struct
2017-04-30 19:48:45 -04:00
Andrew Kelley
363d9038c9
zig build: organize build artifacts
...
closes #328
2017-04-30 18:56:24 -04:00
Andrew Kelley
38a04a267c
zig build: when compiling C files put .o files in cache dir
...
See #328
2017-04-30 13:01:35 -04:00
Andrew Kelley
29defd705d
back to AT&T syntax for assembly
...
this reverts 5c04730534 .
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
d04d3ec775
build system: remove setLinkerScriptContents
2017-04-28 10:46:01 -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
2e512a0e6e
add compile error for returning local variable address
...
closes #344
2017-04-27 19:40:35 -04:00
Andrew Kelley
7e11ef79d6
zig test no longer requires a separate test_runner.o file
...
See #298
2017-04-27 16:19:20 -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
Andrew Kelley
d72fb2abad
update README
2017-04-24 16:17:28 -04:00
Andrew Kelley
6cd725c24b
stack traces support compile units with no pc range
2017-04-24 13:03:32 -04:00
Andrew Kelley
245eed8afe
better stack traces for ELF x86_64
2017-04-24 12:14:45 -04: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
Andrew Kelley
f9fa768dca
zig build system: installFile and installClibrary
...
See #332
2017-04-23 11:09:26 -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
bee1ae68ef
std: fix PATH resolution when spawning child
2017-04-21 13:27:11 -04:00