Andrew Kelley
a68dc65327
fix os.makeDir for posix
2017-10-14 15:39:31 -04:00
Andrew Kelley
0bc80411f6
implement os.makeDir for windows
2017-10-14 15:32:29 -04:00
Andrew Kelley
8d3eaab871
implement std.os.ChildProcess for windows
2017-10-14 15:32:18 -04:00
Andrew Kelley
7f9dc4ebc1
fix std.os.getRandomBytes for windows
2017-10-11 23:14:48 -04:00
Andrew Kelley
b61a6ec8a6
implement command line argument parsing for windows
...
See #302
2017-10-11 22:50:16 -04:00
Andrew Kelley
717e791db2
better abort() implementation for windows
...
in debug mode, it spawns the debugger
2017-10-10 20:34:12 -04:00
Andrew Kelley
1c28631738
use allocator.shrink instead of realloc in os.path.real
2017-10-10 11:31:53 -04:00
Andrew Kelley
e6334fe46d
implement std.io.InStream for windows
...
See #302
2017-10-09 15:59:10 -04:00
Andrew Kelley
055b856f13
fix build on non-windows
...
broken by previous commit
2017-10-09 14:27:14 -04:00
Andrew Kelley
c4262da8de
implement os.path.real for windows and update allocator interface
2017-10-09 14:21:35 -04:00
Andrew Kelley
a4310cf8b4
implement std.os.deleteFile for windows
2017-10-08 23:06:56 -04:00
Andrew Kelley
7f56744320
fix os.path.resolveWindows on non-windows
2017-10-08 21:52:26 -04:00
Andrew Kelley
9d5f15fe3d
implement os.getCwd for windows
2017-10-08 21:44:24 -04:00
Andrew Kelley
7cfab2fb5f
implement std.os.relative for windows
2017-10-08 21:44:24 -04:00
Andrew Kelley
e15e1e09f0
os.path.basename implementation for windows
2017-10-08 21:44:17 -04:00
Andrew Kelley
dcf5c9074e
more std.os.path work for windows
2017-10-08 21:43:58 -04:00
Andrew Kelley
08ee69dac3
implement os.path.dirname for windows
2017-10-08 21:43:43 -04:00
Snorre
522b431057
fix isatty for macOS and libc ( #523 )
2017-10-03 09:33:30 -04:00
Andrew Kelley
fd5a5db400
implement IncrementingAllocator for Windows
2017-09-27 22:59:58 -04:00
Andrew Kelley
768af66977
implement setreuid, setregid for darwin
2017-09-26 03:35:33 -04:00
Andrew Kelley
4f0f3a7d45
std.os.ChildProcess: setgid before setuid
...
otherwise we thwart our permissions to setuid
2017-09-26 03:17:58 -04:00
Andrew Kelley
fd2d502e41
std.os.ChildProcess: ability to set both uid and gid
2017-09-26 02:42:06 -04:00
Andrew Kelley
cba4a9ad4a
update std.os.ChildProcess API
...
* add std.os.ChildProcess.setUserName
* add std.os.getUserId
2017-09-26 01:01:49 -04:00
Andrew Kelley
8f0dfcbcfb
Revert "windows API functions are not stdcalls"
...
This reverts commit 59410a2f13
.
yes they are
2017-09-24 04:18:13 -04:00
Andrew Kelley
59410a2f13
windows API functions are not stdcalls
2017-09-24 04:09:13 -04:00
Andrew Kelley
ba41be67f0
windows gui hello world
2017-09-24 03:55:45 -04:00
Andrew Kelley
751ab72a82
std: fix os.sleep on darwin and windows
2017-09-19 09:46:41 -04:00
Andrew Kelley
a9ecb26c34
std.os.ChildProcess: fix fd leak
2017-09-16 21:07:02 -04:00
Jonathan Marler
3f8b26c06a
Allow INVALID_HANDLE_VALUE for windows to work on 32-bit and 64-bit. ( #457 )
2017-09-10 11:16:27 -04:00
Marc Tiehuis
67a31befa6
Add exit function ( #450 )
2017-09-09 13:48:44 -04:00
Andrew Kelley
2c8ff1d47b
std.ChildProcess.spawn: handle 0 from waitpid correctly
2017-09-08 01:23:48 -04:00
Andrew Kelley
838d52a8be
std.os.ChildProcess: don't expect all SIGCHLD to come from spawn
2017-09-08 00:45:45 -04:00
Andrew Kelley
a81e516174
fix ChildProcess.spawn on darwin
2017-09-08 00:04:43 -04:00
Andrew Kelley
9fb4d1fd6c
std: os.ChildProcess knows when its child died
...
using signal handlers
2017-09-07 23:10:51 -04:00
Andrew Kelley
9f7e62b95b
std: add ChildProcess.kill
2017-09-06 18:30:45 -04:00
Andrew Kelley
7e59f4ff69
std: add os.sleep
2017-09-06 16:59:22 -04:00
Andrew Kelley
021155db5b
successfully cross-building behavior tests for windows
2017-08-30 17:01:14 -04:00
Andrew Kelley
816689a3b1
ptrCast gives compile error for increasing alignment
...
See #37
2017-08-29 16:52:31 -04:00
Andrew Kelley
ebdc6b594d
all tests passing in MacOS
...
depends on LLD 5.0.0 with 3 patches
See #273
2017-08-27 17:16:42 -04:00
Andrew Kelley
5fd579a51c
macos passing all tests except for building a shared library
...
see #273
2017-08-27 05:44:03 -04:00
Andrew Kelley
ff2c794612
all behavior tests passing for macos
...
See #273
2017-08-27 05:15:24 -04:00
Andrew Kelley
b59aa7b906
fixups to linux build
2017-08-27 00:28:17 -04:00
Andrew Kelley
29a418c9d5
progress toward tests passing on MacOS
2017-08-27 00:11:09 -04:00
Andrew Kelley
54675b060a
add ptrToInt builtin, remove usize(ptr) cast
...
closes #415
2017-08-08 17:38:25 -04:00
Andrew Kelley
57fb8efde2
add missing stdcallcc to ExitProcess decl
2017-08-06 16:13:52 -04:00
Andrew Kelley
221286433a
don't call c.getrandom because older libcs don't have it
...
See #397
2017-06-19 21:39:44 -04:00
Andrew Kelley
7f0620a20f
partial implementation of printing floating point numbers with errol3
...
also add bitCast builtin function. closes #387
2017-06-14 00:24:25 -04:00
Andrew Kelley
6a93dda3e1
progress toward windows hello world working
2017-06-14 00:04:34 -04:00
Andrew Kelley
199bbb6292
progress toward hello world without libc in windows
2017-06-04 10:08:55 -04:00
Andrea Orru
6a87aa4d2e
Generalize join.
2017-05-28 15:54:53 +02:00
Andrew Kelley
d8d45908fa
building with mingw for windows
2017-05-23 00:26:12 -04:00
Andrew Kelley
051ee8e626
change slicing syntax from ... to ..
...
See #359
2017-05-19 10:39:59 -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
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
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
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
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
245eed8afe
better stack traces for ELF x86_64
2017-04-24 12:14:45 -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
Andrew Kelley
e3c524c1d4
rename `@ptrcast` to `@ptrCast` to follow convention
2017-04-21 10:39:13 -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
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
37b9a2e6a4
convert compare-output tests to use zig build system
2017-04-19 01:15:20 -04:00
Andrew Kelley
407916cd2f
rename `@intType` to `@IntType` to follow convention
...
closes #327
2017-04-18 00:05:09 -04:00
Andrew Kelley
216e14891e
zig build system creates symlinks atomically
...
* add std.base64
* add std.os.rename
* add std.os.atomicSymLink
2017-04-17 19:08:41 -04:00
Andrew Kelley
05b3082121
zig build system: progress toward install and uninstall
...
also:
* add std.os.path.join
* add std.os.deleteFile
2017-04-17 06:47:20 -04:00
Andrew Kelley
47336abae3
improvements to zig build system and unwrap error safety
...
* zig build system: create standard dynamic library sym links
* unwrapping an error results in a panic message that contains
the error name
* rename error.SysResources to error.SystemResources
* add std.os.symLink
* add std.os.deleteFile
2017-04-17 06:47:20 -04:00
Andrew Kelley
d16ce67106
zig build system: ability to link against dynamic library step
2017-04-17 06:47:20 -04:00
Andrew Kelley
095591f0b0
add enumTagName builtin function
...
closes #299
2017-04-08 17:45:22 -04:00
Andrew Kelley
d15bcdce69
std: ChildProcess.spawn looks at PATH env var
...
closes #303
2017-04-05 17:55:50 -04:00
Andrew Kelley
9c803af044
zig build system: fix cleanup on error, report spawn error
2017-04-04 06:47:42 -04:00
Andrew Kelley
1c6000d047
zig build system improvements, add some std API
...
* add std.buf_map.BufMap
* add std.buf_set.BufSet
* add std.mem.split
* zig build system improvements (See #204 )
- automatically parses NIX_CFLAGS_COMPILE and NIX_LDFLAGS
- add builder.addCIncludePath
- add builder.addRPath
- add builder.addLibPath
- add exe.linkLibrary
2017-04-04 01:52:20 -04:00
Andrew Kelley
72fb2443e0
API for command line args
...
closes #300
2017-04-04 00:17:24 -04:00
Andrew Kelley
55dd2676ef
fix std build for darwin
2017-04-03 19:30:03 -04:00
Andrew Kelley
c9ae30d27e
delete alloca builtin function
...
See #225
introduce os.EnvMap
2017-04-03 18:11:57 -04:00
Andrew Kelley
c400cb429a
zig build system: add setLinkerScript and setTarget
...
* See #204 - zig build system
* allow builtin types Os, Environ, Arch to be used at runtime.
they have zero_bits=false and debug info now.
* Eradicate use of `@alloca` in std for syscalls. See #225
* add `std.io.writeFile`
* `std.debug.panic` adds a newline to format
2017-04-03 05:04:46 -04:00
Andrew Kelley
a1363b5227
proof of concept build system
...
see #204
2017-04-02 20:44:04 -04:00
Andrew Kelley
640389bb2b
expose environment variables in standard library
...
closes #118
2017-04-02 19:14:23 -04:00
Andrew Kelley
8fd0fddce5
zig build system progress
...
* In-progress os.ChildProcess.spawn implementation. See #204
* Add explicit cast from integer to error. Closes #294
* fix casting from error to integer
* fix compiler crash when initializing variable to undefined
with no type
2017-04-02 18:19:59 -04:00
Andrew Kelley
f8e63c4584
change `@bitcast` to `@ptrcast`
...
See #290
2017-03-31 06:18:20 -04:00
Andrew Kelley
3ca027ca82
first pass at zig build system
...
* `zig build --export [obj|lib|exe]` changed to `zig build_obj`,
`zig build_lib` and `zig build_exe` respectively.
* `--name` parameter is optional when it can be inferred from the
root source filename. closes #207
* `zig build` now looks for `build.zig` which interacts with
`std.build.Builder` to describe the targets, and then the zig
build system prints TODO: build these targets. See #204
* add `@bitcast` which is mainly used for pointer reinterpret
casting and make explicit casting not do pointer reinterpretation.
Closes #290
* fix debug info for byval parameters
* sort command line help options
* `std.debug.panic` supports format string printing
* add `std.mem.IncrementingAllocator`
* fix const ptr to a variable with data changing at runtime.
closes #289
2017-03-31 05:55:41 -04:00
Andrew Kelley
5bc9feb5cb
organize std and make import relative to current file
...
closes #216
2017-03-26 06:39:28 -04:00