Andrew Kelley
81c6f08724
add workaround for bad LLD macos code
2018-10-09 13:16:51 -04:00
Andrew Kelley
05e608a0c7
stage1 os: workaround for macos not having environ variable
2018-10-09 13:16:51 -04:00
Andrew Kelley
e29a3b1d2a
stage1 link: compiler_rt and builtin libs know ...
...
...whether they will be linked with libc
2018-10-09 13:16:51 -04:00
Andrew Kelley
e0a94db65e
fix error limit linker arg on windows
2018-10-09 13:16:51 -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
6b93495792
more efficient builtin library code generation
...
* introduce --disable-pic option which can generally be allowed to be
the default. compiler_rt.a and builtin.a get this option when you
build a static executable.
* compiler_rt and builtin libraries are not built for build-lib
--static
* posix_spawn instead of fork/execv
* disable the error limit on LLD. Fixes the blank lines printed
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
Andrew Kelley
5b84192f07
build: try to find llvm-config-7 before llvm-config
2018-10-06 00:10:16 -04:00
Andrew Kelley
b7dda772a8
disable C ABI tests on macos due to LLD deficiency
...
See #1535
we'll have a better macos linker someday
2018-10-06 00:06:36 -04:00
Shawn Landden
2d27341724
arm64: respond to code review
2018-10-06 03:31:52 +00:00
Andrew Kelley
4640853d1b
on linux, link statically if not linking any shared libs
2018-10-05 18:34:37 -04:00
Andrew Kelley
8700f4d2b1
docs: add comment about operator overloading
2018-10-05 18:25:20 -04:00
Andrew Kelley
c81a4b3e3d
docs: fix double escaping html entities
2018-10-05 10:21:08 -04:00
Andrew Kelley
8d6601d7ce
improve pointer documentation
...
closes #1630
2018-10-04 22:51:36 -04:00
Andrew Kelley
d07413f9b7
fix missing .h files
...
closes #1634
2018-10-04 18:14:57 -04:00
Andrew Kelley
23b07ad8d2
refactor ir.cpp
...
Analysis functions no longer return `ZigType *`. Instead they
return `IrInstruction *`.
2018-10-04 14:33:52 -04: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
Andrew Kelley
364bc66924
Merge pull request #1619 from bnoordhuis/fix1570
...
fix build-exe for --target-arch wasm32 (#1570 )
2018-10-02 09:02:14 -04:00
Ben Noordhuis
24bbade217
fix build-exe for --target-arch wasm32 ( #1570 )
...
Pass --no-entry instead of --relocatable to lld. Both stop a reference
to the _start() entry point from being emitted but --relocatable also
prevents public symbols from being exported when creating an executable.
2018-10-02 12:31:21 +02: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
Jimmi Holst Christensen
bc3e99c5e5
Fixed StackTrace not being resolved when panic is invalid ( #1615 )
2018-10-01 20:30:34 +02:00
Andrew Kelley
d4d22df1d9
increase stack size on windows for all executables
...
fixes test failures
See #157
2018-10-01 14:10:18 -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
Sahnvour
ba78ae0ae7
Fixes --emit asm on windows and makes C header file generation explicit. ( #1612 )
...
* build: only do codegen_link when emitting an actual binary. Fixes #1371
* build: only output C header file when explicitely asked to
2018-09-30 16:59:45 -04:00
Andrew Kelley
418b2e7d47
build: omit finding libxml2, zlib since no direct dependency
2018-09-30 16:56:06 -04:00
Andrew Kelley
57c4d38c55
rename std.event.tcp to std.event.net
2018-09-30 10:37:58 -04:00
Andrew Kelley
a42a213e35
Merge pull request #1594 from emekoi/master
...
added dynamic library loading for windows
2018-09-30 09:31:24 -04:00
emekoi
e6446dfc86
fixed native target detection
2018-09-30 09:27:53 -04:00
emekoi
623f5085f1
merged windows dll apis
2018-09-30 01:05:13 -05:00
emekoi
42ba206c5d
fixed compilation on mingw
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
Andrew Kelley
40da2c6098
Merge pull request #1599 from ziglang/zig-build-arg0
...
zig build: use os_self_exe_path to determine exe path not arg0
2018-09-28 18:45:50 -04:00
Andrew Kelley
779881b978
zig build: use os_self_exe_path to determine exe path not arg0
2018-09-28 16:41:23 -04:00
Andrew Kelley
e242f6a609
Release 0.3.0
2018-09-28 09:03:40 -04:00
Andrew Kelley
f4a0658585
rely on gcc for static builds on macos
2018-09-27 22:27:52 -04:00
Andrew Kelley
fe524a1fa5
build: add support for ZIG_STATIC on MacOS
2018-09-27 15:09:14 -04:00
Andrew Kelley
cc490f0026
update @typeInfo docs
2018-09-27 12:34:41 -04:00
Andrew Kelley
af3263d7a8
add dll export storage class where appropriate
...
closes #1443
2018-09-27 10:22:16 -04: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
1c26c2f4d5
fix crash when compile error evaluating return...
...
...type of inferred error set. closes #1591
2018-09-26 16:59:08 -04:00
Andrew Kelley
589201b104
fix variables which are pointers to packed struct fields
...
closes #1121
2018-09-26 14:54:53 -04:00
Andrew Kelley
dcfd15a7f0
the last number in a packed ptr is host int bytes
...
See #1121
2018-09-26 14:54:52 -04:00
Wink Saville
631851f8b5
Tweak SYMBOL_CHAR define in tokenizer.cpp
...
Make it a little clearer what a SYMBOL_CHAR is, use ALPHA instead of
ALPHA_EXCEPT_C and case 'c', which is ALPHA's definition.
2018-09-26 11:29:01 -04:00