Commit Graph

2528 Commits

Author SHA1 Message Date
Andrew Kelley
fef06f2142 Merge branch 'async-err-ret-traces'
closes #821
2018-04-08 17:57:29 -04:00
Andrew Kelley
ee1a4f4c1d error return traces work with async return case 2018-04-08 17:44:29 -04:00
Andrew Kelley
9e98ea552d fix calling convention at callsite of zig-generated fns 2018-04-08 16:40:59 -04:00
Andrew Kelley
ada441157f put the error return addresses in the coro frame 2018-04-08 16:04:48 -04:00
Andrew Kelley
e4083b7391 codegen: fix not putting llvm allocas together 2018-04-08 16:04:48 -04:00
Andrew Kelley
d26905c102 error return traces for the early return case
it would work but LLVM is not correctly spilling the addresses.

See #821
2018-04-08 16:04:48 -04:00
Andrew Kelley
7186e92c86
Merge pull request #900 from zig-lang/hash-and-checksums
Add common hash/checksum functions
2018-04-06 09:44:25 -04:00
Marc Tiehuis
c34ce2cbc6 Add common hash/checksum functions
- SipHash64, SipHash128
 - Crc32 (fast + small variants)
 - Adler32
 - Fnv1a (32, 64 and 128 bit variants)
2018-04-06 23:10:54 +12:00
Andrew Kelley
873641c123
Merge pull request #899 from bnoordhuis/fix898
fix llvm assert on version string with git sha
2018-04-05 18:55:09 -04:00
Ben Noordhuis
8980281184 fix llvm assert on version string with git sha
LLVM's CodeViewDebug pass misparses the version string when it contains
a git revision so stop doing that.  This only affected Windows builds.

closes #898
2018-04-06 00:31:55 +02:00
Marc Tiehuis
8938429ea1 Add Hmac function (#890) 2018-04-04 10:31:10 -04:00
Marc Tiehuis
f68c2e0a14 Fix off-by-one error in all crypto functions 2018-04-04 21:32:23 +12:00
Andrew Kelley
3d8541121b Merge branch 'hellerve-wip-macos-dirent' 2018-04-04 00:08:48 -04:00
Andrew Kelley
abd389209b fix up logic for macos std.os.deleteTree 2018-04-04 00:08:10 -04:00
Andrew Kelley
e1e536e03d Merge branch 'wip-macos-dirent' of https://github.com/hellerve/zig into hellerve-wip-macos-dirent 2018-04-03 23:33:18 -04:00
Andrew Kelley
6050b9d835 travis: don't skip tests
fix broken previous commit
2018-04-03 21:40:36 -04:00
Andrew Kelley
2676da61a6 travis: better s3 artifacts 2018-04-03 21:39:03 -04:00
Andrew Kelley
9dfd1a7c8a remove more signal handling stuff from std.os.ChildProcess
439621e44a failed to remove
everything. this finishes the job
2018-04-03 18:26:49 -04:00
Andrew Kelley
d1f8e722b5 travis: don't upload other files as artifacts 2018-04-03 14:23:56 -04:00
Andrew Kelley
21b47b34d8 travis: don't upload build/ folder as artifacts 2018-04-03 12:59:28 -04:00
Andrew Kelley
65e4bb149e travis artifacts: don't upload extra stuff 2018-04-03 12:04:06 -04:00
Andrew Kelley
aadc14fd78 upload static linux artifacts on successful travis build 2018-04-03 11:22:18 -04:00
Andrew Kelley
4eb68987d8 std.io.readLine function
this provides a better input for guess number example.

see #882
2018-04-02 11:34:31 -04:00
Marc Tiehuis
2e5115b068 Add run compiler command
'zig run file.zig' builds a file and stores the artifacts in the global
cache. On successful compilation the binary is executed.

'zig run file.zig -- a b c' does the same, but passes the arguments a,
b and c as runtime arguments to the program. Everything after an '--' are
treated as runtime arguments.

On a posix system, a shebang can be used to run a zig file directly. An
example shebang would be '#!/usr/bin/zig run'. You may not be able pass
extra compile arguments currently as part of the shebang. Linux for example
treats all arguments after the first as a single argument which will result
in an 'invalid command'.

Currently there is no customisability for the cache path as a compile
argument. For a posix system you can use `TMPDIR=. zig run file.zig` to
override, in this case using the current directory for the run cache.

The input file is always recompiled, even if it has changed. This is
intended to be cached but further discussion/thought needs to go into
this.

Closes #466.
2018-04-01 17:03:06 +12:00
Andrew Kelley
67f11190d1 musl-friendly dynamic linking 2018-03-31 16:34:55 -04:00
Raul Leal
eb6ff796c1 Fix undeclared identifier error in readUntilDelimiterBuffer and incorrect number of parameters in readUntilDelimiterAlloc (#877) 2018-03-31 12:21:19 -04:00
Andrew Kelley
51a6ff18d4
Merge pull request #872 from zig-lang/runtime-libc
find libc and zig std lib at runtime
2018-03-31 12:13:30 -04:00
Andrew Kelley
8f962a957a fix regressions on windows 2018-03-31 11:26:02 -04:00
Marc Tiehuis
7d66908f29 docs: fix unclosed code tag 2018-03-31 23:17:02 +13:00
Andrew Kelley
c3724ec506 implement os_self_exe_path in the c++ compiler for darwin
ported from the zig std lib

this fixes looking for zig std lib at runtime on darwin
2018-03-31 02:12:44 -04:00
Andrew Kelley
5d5feb11de appveyor and travis ci: stop passing unused configure args 2018-03-30 17:26:01 -04:00
Andrew Kelley
b01c50d6fa find libc and zig std lib at runtime
this removes the following configure options:
 * ZIG_LIBC_LIB_DIR
 * ZIG_LIBC_STATIC_LIB_DIR
 * ZIG_LIBC_INCLUDE_DIR
 * ZIG_DYNAMIC_LINKER
 * ZIG_EACH_LIB_RPATH
 * zig's reliance on CMAKE_INSTALL_PREFIX

these options are still available as command line options, however,
the default will attempt to execute the system's C compiler to
collect system defaults for these values.

closes #870
2018-03-30 17:10:54 -04:00
Jimmi Holst Christensen
24071c6803 std.zig.parser parses all prefix operators 2018-03-30 21:45:42 +02:00
Jimmi Holst Christensen
1dfa927a67 std.zig.parser now treats call expr as a suffix operator 2018-03-30 20:47:09 +02:00
Andrew Kelley
f586acabdc add ZIG_STATIC cmake option
it's not compatible with glibc but it works with musl
2018-03-30 13:20:13 -04:00
Jimmi Holst Christensen
edca173997 std.zig.parser now parses call expr 2018-03-29 23:40:46 +02:00
Jimmi Holst Christensen
8ada030971 Fixed self hosted compiler compiler error from prev commit 2018-03-29 22:37:54 +02:00
Jimmi Holst Christensen
530f795769 std.zig.parser now supports all infix operators 2018-03-29 22:31:17 +02:00
Andrew Kelley
b80398b355
Merge pull request #867 from zig-lang/rand-overhaul
Rewrite Rand functions
2018-03-29 14:14:35 -04:00
Andrew Kelley
ccadcbc715 fix examples and rename std.rand.Rand to std.rand.Random 2018-03-29 12:33:29 -04:00
Marc Tiehuis
0fd0f6fd1f Rewrite Rand functions
We now use a generic Rand structure which abstracts the core functions
from the backing engine.

The old Mersenne Twister engine is removed and replaced instead with
three alternatives:

 - Pcg32
 - Xoroshiro128+
 - Isaac64

These should provide sufficient coverage for most purposes, including a
CSPRNG using Isaac64. Consumers of the library that do not care about
the actual engine implementation should use DefaultPrng and DefaultCsprng.
2018-03-30 01:50:58 +13:00
Jimmi Holst Christensen
9df2a6a502 std.zig.parser can now parse top level test declarations 2018-03-29 13:43:17 +02:00
hellerve
7e951e5043 st/os: address @andrewrk concerns 2018-03-29 10:23:44 +02:00
Andrew Kelley
032fccf615 fix compile time array concatenation for slices
closes #866
2018-03-28 23:25:12 -04:00
Andrew Kelley
5627347bab
Merge pull request #865 from bnoordhuis/zig-build-stage2
skeleton stage 2 support for 'zig build'
2018-03-28 21:02:09 -04:00
Jimmi Holst Christensen
72ce146293 Fixed looking for windows sdk when targeting linux 2018-03-29 00:53:06 +02:00
Ben Noordhuis
b60b01ce97 skeleton stage 2 support for 'zig build'
Initial port of the 'zig build' logic from the stage 1 compiler to the
stage 2 compiler sans code generation and BUILD_INFO support.
2018-03-28 18:30:41 +02:00
Ben Noordhuis
db70b909a0 non-zero exit when build.zig cannot be created
Make the stage 1 compiler exit with a non-zero status code
when `zig build --init` cannot create a new build.zig file.
2018-03-28 18:30:41 +02:00
Andrew Kelley
f5b43ada46 std/os: getting dir entries works on OS X 2018-03-28 12:06:48 +02:00
Andrew Kelley
5b00dee0c2 std.math.cast handles signed integers 2018-03-27 15:20:07 -04:00