Andrew Kelley
56a8f2b018
fix @intCast not catching negative numbers to unsigned
2018-11-24 14:36:16 -05:00
Andrew Kelley
b953e322a8
std.os.path.realC: make overflow more clearly impossible
2018-11-21 13:41:10 -05:00
Andrew Kelley
bb3ac177a8
fix incorrect buf len
2018-11-20 12:37:42 -05:00
kristopher tate
a69695a28c
std/mem: writeIntLE: buf.* to buf;
2018-11-20 11:11:07 -05:00
Wink Saville
a05716bd20
Allow json tests to be easily filtered
2018-11-19 18:08:38 -05:00
Andrew Kelley
4dafdc00d5
zig fmt
2018-11-19 17:28:18 -05:00
Andrew Kelley
9493738e54
Merge branch 'freebsd-up' of https://github.com/myfreeweb/zig into freebsd2
2018-11-19 17:24:41 -05:00
Andrew Kelley
89e82281be
fix incorrect --help text
2018-11-19 13:26:35 -05:00
Wink Saville
81d9403dce
Add SegmentedList.shrink
...
I was exploring std.zig.Tokenizer and wanted to compare performance of
arrays, SegmentedList and ArrayList and needed SegmentedList.shrink
to make the comparison "fair".
2018-11-19 10:53:25 -05:00
Marc Tiehuis
4c0163b69b
std/rand: fix ziggurat next_f64 call
2018-11-19 21:56:45 +13:00
Andrew Kelley
921d9c9bcb
add std.meta.intToEnum
2018-11-18 20:18:24 -05:00
Josh Wolfe
3c05ad4012
atomic.Int.set
2018-11-18 19:43:13 -05:00
Wink Saville
8d54cbb834
Fix pushToParent to work for arrays of Objects
...
The reference `*array` is a copy of the value on the stack. Instead use
a reference to top of stack. This is the same technique used above for
`var object` in `Value.String`.
Added two simple tests.
2018-11-18 10:14:37 -08:00
Duncan
e9b47d960b
Fix setsockopt syscall on linux
2018-11-18 10:45:38 -05:00
Andrew Kelley
085d049a08
aarch64 improvements
...
* support C ABI for all return types
* don't include __aeabi_uldivmod & co on aarch64 since
it's 64 bit
2018-11-17 11:21:00 -05:00
Andrew Kelley
704374e512
rename section
keyword to linksection
...
add zig fmt support for this syntax
closes #1152
2018-11-17 01:38:35 -05:00
Vallentin
398914eb71
Fixed typos
2018-11-16 14:03:39 -05:00
Matthew O'Connor
fbd6a66ae7
camelCase std.rb.set_child to std.rb.setChild
2018-11-16 13:03:13 -05:00
kristopher tate
e198417687
std/fmt/index.zig: support printing hex bytes on slices;
2018-11-16 10:22:33 -05:00
Matthew O'Connor
007783753e
Change rb functions to use snakeCase.
2018-11-16 09:21:48 -05:00
Andrew Kelley
ba361f31c6
more fixes related to readStruct API
2018-11-15 16:16:08 -05:00
Jimmi HC
3090f83800
Fixed failure using readStruct and gave async readStruct the same sig
2018-11-15 21:59:17 +01:00
Jimmi HC
f4606842d2
Have readStruct in stream return a value instead of taking a pointer
2018-11-15 21:03:27 +01:00
Jimmi Holst Christensen
2a9843de95
Added NullOutStream and CountingOutStream ( #1722 )
2018-11-15 09:37:39 -08:00
Andrew Kelley
b8b36f3cce
disable windows test until coroutines rewrite lands
...
See #1363
2018-11-15 10:02:12 -05:00
Andrew Kelley
0c3bd0c3d1
zig fmt: add --check flag
...
closes #1558
closes #1555
2018-11-15 00:26:43 -05:00
Josh Wolfe
65cddc5a19
test for readIntBE/LE
2018-11-14 21:40:53 -05:00
Josh Wolfe
8008ae470e
io read/write int be/le optimizations
2018-11-14 20:57:51 -05:00
Josh Wolfe
772876b2f0
implement mem.writeIntLE, mem.writeIntBE
2018-11-14 20:57:46 -05:00
Josh Wolfe
8d8836c2d1
address port getter
2018-11-14 20:28:19 -05:00
Jimmi Holst Christensen
8139c5a516
New Zig formal grammar ( #1685 )
...
Reverted #1628 and changed the grammar+parser of the language to not allow certain expr where types are expected
2018-11-13 05:08:37 -08:00
emekoi
8e69a18d8c
made colored output more consistent ( #1706 )
...
* made colored output more consistent
* added os.supportsAnsiEscapeCodes
2018-11-08 00:36:36 -05:00
Andrew Kelley
ac8898e681
std.build.Builder: mutable env_map
2018-11-07 21:23:09 -05:00
kristopher tate
5d014d4b37
os.crypto: support for HmacBlake2s256 variety;
2018-11-03 15:03:48 -04:00
Andrew Kelley
1554dd9697
support building static self hosted compiler on macos
...
* add a --system-linker-hack command line parameter to work around
poor LLD macho code. See #1535
* build.zig correctly handles static as well as dynamic dependencies
when building the self hosted compiler.
- no more unnecessary libxml2 dependency
- a static build on macos produces a completely static self-hosted
compiler for macos (except for libSystem as intended).
2018-11-02 00:54:34 -04:00
Andrew Kelley
0f3e7387bf
cleanups
2018-10-31 10:44:05 -04:00
Andrew Kelley
b04c6cee60
Merge branch 'add-test-for-atomic-Queue-dump' of https://github.com/winksaville/zig into winksaville-add-test-for-atomic-Queue-dump
2018-10-31 10:29:49 -04:00
emekoi
c7799ff2b2
fixed comments
2018-10-27 12:58:40 -05:00
Andrew Kelley
2b395d4ede
remove @minValue,@maxValue; add std.math.minInt,maxInt
...
closes #1466
closes #1476
2018-10-26 15:01:51 -04:00
tgschultz
63f9769e80
fix "std" not found error in meta/trait
2018-10-24 01:47:52 -04:00
tgschultz
65b9fae4f8
fix error where "std" isn't found in meta/trait
2018-10-24 01:47:52 -04:00
Jimmi Holst Christensen
65b7d85524
Fixed code still using old ptr syntax
2018-10-20 17:59:06 +02:00
Greg V
f3bc1c38bf
Specify 16-byte stack alignment in _start on FreeBSD
2018-10-20 15:21:35 +03:00
Greg V
e5627f8e63
Support more of std on FreeBSD
2018-10-20 15:21:35 +03:00
Greg V
a983a0a59b
Add /usr/local/lib path for libxml2 and link libc++ on FreeBSD
2018-10-20 15:21:32 +03:00
Greg V
d6cab0d4b6
Various fcntl flags are also machine-independent on FreeBSD
2018-10-20 15:15:01 +03:00
Greg V
afe26bbcbd
System call numbers on FreeBSD are machine-independent
...
But e.g. sbrk is only removed in new architectures (aarch64, riscv),
so keep it in x86_64
2018-10-20 15:15:01 +03:00
Greg V
7a3f0a55d9
Add freebsd to more things
2018-10-20 15:15:01 +03:00
Greg V
1829c09303
Fix os/freebsd files
2018-10-20 15:15:01 +03:00
Marc Tiehuis
19659c3bd3
freebsd: Fix argc resolution in _start
...
FreeBSD appears to use rdi instead of rsp as in other posix systems.
According to some loose documentation, x86 passes values on the stack,
so amd64 freebsd may be the only exception.
2018-10-20 15:15:01 +03:00
Marc Tiehuis
102cb61e40
Get freebsd std compiling again
2018-10-20 15:15:01 +03:00
Marc Tiehuis
e2b9c153bd
Add initial freebsd stdlib functionality
...
Trivial program now compiles with now warnings.
2018-10-20 15:15:01 +03:00
Jimmi Holst Christensen
db3b768eab
Ran fmt on last PR
2018-10-19 23:27:16 +02:00
tgschultz
2a3fdd52ce
Add std.meta ( #1662 )
...
Implement std.meta
2018-10-19 17:19:22 -04:00
Andrew Kelley
eeb4f376a3
std.io: fix compile error when InStream has empty error set
2018-10-16 12:48:38 -04:00
Andrew Kelley
49bc33efe1
fix windows
2018-10-15 21:38:01 -04:00
Andrew Kelley
d5648d2640
remove implicit cast from T to *const T
...
closes #1465
2018-10-15 18:23:47 -04:00
Jimmi Holst Christensen
378d3e4403
Solve the return type ambiguity ( #1628 )
...
Changed container and initializer syntax
* <container> { ... } -> <container> . { ... }
* <exrp> { ... } -> <expr> . { ...}
2018-10-15 09:51:15 -04:00
Andrew Kelley
3e72411db0
C ABI and compiler rt improvements for ARM
...
* add __multi3 compiler rt function. See #1290
* compiler rt includes ARM functions for thumb and aarch64 and
other sub-arches left out. See #1526
* support C ABI for returning structs on ARM. see #1481
2018-10-13 15:18:00 -04:00
Marc Tiehuis
67fb4d1359
Improve time.sleep api
2018-10-11 11:57:59 -04:00
emekoi
a22d9daaec
added math.pow support for integer types. resolves #1637 ( #1642 )
...
added math.powi for integers; pow now handles ints
2018-10-10 10:50:23 -04:00
Andrew Kelley
84690ee05e
std/special/bootstrap: inline some functions to improve stack traces
2018-10-09 13:16:50 -04:00
Andrew Kelley
5a3c02137e
support building static libraries
...
closes #1493
closes #54
2018-10-09 13:15:14 -04:00
Andrew Kelley
d40c4e7c89
Merge pull request #1429 from shawnl/arm64
...
initial arm64 support
2018-10-06 00:11:39 -04:00
Shawn Landden
2d27341724
arm64: respond to code review
2018-10-06 03:31:52 +00:00
emekoi
31469daca3
removed unneeded dll extension
2018-10-04 11:43:53 -04:00
Andrew Kelley
3f13a59cbc
better mutex implementation
...
based on Ulrich Drepper's "Futexes are tricky" paper, Mutex, Take 3
also includes tests
2018-10-03 14:55:12 -04:00
Andrew Kelley
66cb75d114
std.Mutex: implement blocking mutexes on linux
...
closes #1463
Thanks to Shawn Landden for the original pull request.
This commit is based on that code.
2018-10-03 13:19:10 -04:00
Andrew Kelley
acefcdbca5
add std.os.linux.vfork and std.os.linux.exit_group
2018-10-02 14:08:32 -04:00
Wink Saville
cd211bcc20
Add doc comment for tokenLocationPtr ( #1618 )
...
The algorithm seemed unusual and I had spent some effort understanding
it, so I thought I'd add a comment.
2018-10-02 00:51:53 -04:00
Andrew Kelley
af229c1fdc
std lib (breaking): posixRead can return less than buffer size
...
closes #1414
std.io.InStream.read now can return less than buffer size
introduce std.io.InStream.readFull for previous behavior
add std.os.File.openWriteNoClobberC
rename std.os.deleteFileWindows to std.os.deleteFileW
remove std.os.deleteFilePosix
add std.os.deleteFileC
std.os.copyFile no longer takes an allocator
std.os.copyFileMode no longer takes an allocator
std.os.AtomicFile no longer takes an allocator
add std.os.renameW
add windows support for std.os.renameC
add a test for std.os.AtomicFile
2018-10-01 13:50:55 -04:00
Andrew Kelley
d1ec8377d1
std lib: flesh out the async I/O streaming API a bit
2018-10-01 10:53:39 -04:00
Andrew Kelley
9d4eaf1e07
update std lib API for I/O
...
std.io.FileInStream -> std.os.File.InStream
std.io.FileInStream.init(file) -> file.inStream()
std.io.FileOutStream -> std.os.File.OutStream
std.io.FileOutStream.init(file) -> file.outStream()
remove a lot of error code possibilities from os functions
std.event.net.socketRead -> std.event.net.read
std.event.net.socketWrite -> std.event.net.write
add std.event.net.readv
add std.event.net.writev
add std.event.net.readvPosix
add std.event.net.writevPosix
add std.event.net.OutStream
add std.event.net.InStream
add std.event.io.InStream
add std.event.io.OutStream
2018-09-30 17:28:35 -04:00
Andrew Kelley
57c4d38c55
rename std.event.tcp to std.event.net
2018-09-30 10:37:58 -04:00
emekoi
623f5085f1
merged windows dll apis
2018-09-30 01:05:13 -05:00
emekoi
d3bf267136
added dynamic library loading for windows
2018-09-30 01:05:13 -05:00
Jimmi Holst Christensen
1428ef3b07
Expose failing_allocator as *Allocator instead of const FailingAllocator
2018-09-30 01:23:05 +02:00
Josh Wolfe
e7d9d00ac8
overhaul api for getting random integers ( #1578 )
...
* rand api overhaul
* no retry limits. instead documented a recommendation
to call int(T) % len directly.
2018-09-27 00:35:38 -04:00
Andrew Kelley
9485043b3c
fix implicit casting to *c_void
...
closes #1588
also some small std lib changes regarding posix sockets
and one doc typo fix
2018-09-26 11:06:09 -04:00
Wink Saville
0e6c18c820
Remove StrLitKind enum
...
I was looking at the tokenizer specifically fn testTokenize and the
this statement looked odd:
if (@TagType(Token.Id)(token.id) != @TagType(Token.Id)(expected_token_id)) {
I then saw the TODO and thought I'd remove StrLitKind figuring that
would make testTokenize simpler. It did so I thought I'd prepare this PR.
The tests are still working and stage2 zig seems to work, it compiles and
I was able to use the fmt command.
2018-09-24 19:28:46 -04:00
Wink Saville
a170a64776
Fix typo in argsAlloc comment
...
Changed freeArgs to argsFree.
2018-09-23 13:12:57 -04:00
Andrew Kelley
7c5e3e1f8e
fixups
2018-09-21 14:15:58 -04:00
Andrew Kelley
073f7ebb0e
fix formatInt to handle upcasting to base int size
2018-09-20 13:46:20 -04:00
Andrew Kelley
15301504e2
Merge remote-tracking branch 'origin/llvm7'
2018-09-19 12:57:58 -04:00
Christian Wesselhoeft
5eeef1f5ed
std/index.zig: Fix import
...
BufferOutStream is defined in io.zig
2018-09-18 19:01:35 -04:00
Andrew Kelley
6dd93ee5d9
fix regression from previous commit
2018-09-18 18:56:29 -04:00
Andrew Kelley
21328e0036
zig fmt: handle shebang lines
...
closes #1546
2018-09-18 18:36:39 -04:00
Andrew Kelley
275b4100c0
remove unnecessary setFloatMode calls
...
Now that Strict is the default, these calls only add noise.
2018-09-18 15:15:03 -04:00
Andrew Kelley
4b2719b51d
Merge remote-tracking branch 'origin/master' into llvm7
2018-09-18 15:05:47 -04:00
Andrew Kelley
15e59eb142
remove deprecated, unused windows functions
...
* `CryptAcquireContextA`
* `CryptReleaseContext`
* `CryptGenRandom`
See https://github.com/ziglang/zig/issues/534#issuecomment-422208368
2018-09-17 20:07:48 -04:00
Andrew Kelley
4c6f1e614a
remove zig build --init
. add zig init-lib
and zig init-exe
...
init-lib creates a working static library with tests, and
init-exe creates a working hello world with a `run` target.
both now have test coverage with the new "cli tests" file.
closes #1035
2018-09-17 17:11:18 -04:00
Andrew Kelley
a2abdb185f
Merge remote-tracking branch 'origin/master' into llvm7
2018-09-16 10:51:58 -04:00
Andrew Kelley
3f776af3fa
fix alignment of structs
...
closes #1248
closes #1052
closes #1154
2018-09-14 19:08:59 -04:00
Wink Saville
d9ed3d186d
Add test for Queue.dump
...
To make dump testable added dumpToSteam which takes a stream as input
and added the stream as a paraemter to dumpRecursive.
Added test "std.atomic.Queue dump"
And to make the test more robust SliceOutStream.pos is now public. This
allows the user of SliceOutStream to know the length of the data captured.
2018-09-14 14:14:58 -07:00
Wink Saville
82af31ce36
Fix additional regressions calling FileOutStream/FileInStream init()
...
This is caused by change 686663239a
and not
fixed in 832caefc2a
.
2018-09-14 12:07:21 -04:00
Andrew Kelley
c06a61e9bf
remove this
. add @This()
.
...
closes #1283
2018-09-13 16:34:33 -04:00
Marc Tiehuis
e70c543bc4
math/complex: cexp test correction and ldexp usage fix
2018-09-13 20:33:05 +12:00
Andrew Kelley
a757533386
fix zig fmt on windows
...
closes #1069
2018-09-12 14:26:21 -04:00
Andrew Kelley
178d69191b
windows: std.fs functions support concurrent ops
...
when reading and writing the same file descriptors
2018-09-12 13:55:35 -04:00
Andrew Kelley
0cfd019377
Merge pull request #1494 from ziglang/stage1-caching
...
stage1 caching
2018-09-12 12:40:16 -04:00