Andrew Kelley
5687323cd2
Merge pull request #2994 from euantorano/fix/1626-os-getRandomBytesDevURandom
...
Check if /dev/urandom is a character device
2019-08-02 23:55:43 -07:00
Euan T
08251fbc54
Omit system namespace.
...
Co-Authored-By: Andrew Kelley <andrew@ziglang.org>
2019-08-03 07:51:36 +01:00
Euan T
8e157ccb23
Update returned error return when not a character device.
...
Co-Authored-By: Andrew Kelley <andrew@ziglang.org>
2019-08-03 07:50:30 +01:00
daurnimator
521aaf3501
std: return Elf object from constructors instead of filling in pointer
2019-08-03 15:56:25 +10:00
Christoffer Rasmussen
57830e43ee
Fix public function lookup
...
Previously it did not work, as lookup did not pass a correct parent type
to doLookup. Expected *?*Node, got ?*Node.
2019-08-02 21:48:30 -07:00
Andrew Kelley
1823a5979a
Merge pull request #2985 from fengb/fix-build-references
...
Fix build references
2019-08-02 15:49:16 -07:00
Andrew Kelley
b3b6a98451
Merge remote-tracking branch 'origin/master' into rewrite-coroutines
2019-08-02 16:31:43 -04:00
Andrew Kelley
f07f09a373
Merge branch 'master' into rewrite-coroutines
2019-08-02 16:13:36 -04:00
Euan Torano
24fbd1f1d5
Add S_* values for freebsd.
2019-08-02 16:05:03 +01:00
Euan Torano
1583efda69
Fix call to S_ISCHR and implement for Mac
2019-08-02 15:55:56 +01:00
Euan Torano
c0c228b758
Check if /dev/urandom is a character device
2019-08-02 13:19:49 +01:00
Benjamin Feng
723aea8369
Default wasm-lib prefix to empty
2019-07-31 22:07:17 -05:00
Benjamin Feng
327abdba0b
More current style for error handling
2019-07-31 21:28:25 -05:00
Benjamin Feng
e40513e97f
Add builder.findProgram test and fix references
2019-07-31 21:26:39 -05:00
Sahnvour
c087525eda
pdb: improved stream reading performance, printing stack trace from a stage1 crash is now 10x faster
2019-07-29 23:40:18 +02:00
Sahnvour
05032c8693
coff & pdb: improved correctness of our implementation, it is now able to handle stage1's pdb and print its stack traces
2019-07-29 23:40:18 +02:00
Sahnvour
d08425a0a5
os: missing accessW since recent refactoring
2019-07-29 23:33:58 +02:00
Michael Dusan
bc982e65cf
fix std.fmt to handle std.SegmentedList
...
- add guards for use of prealloc_exp in SegmentedList
- define prealloc_exp even when invalid because std.fmt comptime
triggers lazy-init
- fix std.fmt to print arrays of length 0 as style "[0]<typename>"
because "<typename>@address" is n/a without address
2019-07-29 16:32:26 -04:00
Nick Erdmann
8736a5be2a
std/build.zig: fix stack checking option
2019-07-29 16:30:21 -04:00
Michael Dusan
7e436006be
fix std.rb.Node.getParent to return optional
...
closes #2962
2019-07-29 16:29:29 -04:00
Andrew Kelley
d694f298d8
Merge pull request #2958 from emekoi/mingw-cmake
...
fix backtraces on mingw
2019-07-29 16:27:35 -04:00
Evan Krause
a0ebfa64d9
support zero-sized structs in zig.fmt.format
2019-07-28 18:37:35 -07:00
emekoi
10b1017702
fixed backtraces when linking libc on mingw
2019-07-27 17:50:44 -05:00
Andrew Kelley
ee64a22045
add the anyframe
and anyframe->T
types
2019-07-26 19:52:35 -04:00
Joachim Henke
74abc5ad2f
avoid a register copy when fetching the stack pointer in _start
2019-07-26 17:12:42 -04:00
Timon Kruiper
59850c1ce1
Fixed an integer overflow in zig fmt and added testcase
2019-07-23 14:51:30 -04:00
Andrew Kelley
317d1ecb2c
Merge remote-tracking branch 'origin/master' into rewrite-coroutines
2019-07-22 14:37:08 -04:00
Andrew Kelley
16be70cbbf
compiler-rt: add __muldi3
2019-07-22 12:49:26 -04:00
Andrew Kelley
bc31c1280e
disable segfault handler when panicking
...
this prevents a segfault in stack trace printing to activate the
segfault handler.
2019-07-22 12:41:59 -04:00
Andrew Kelley
5b69a9cd83
disable segfault handler when panicking
...
this prevents a segfault in stack trace printing to activate the
segfault handler.
2019-07-22 12:15:16 -04:00
Andrew Kelley
d6d0bb0542
zig build: adjust DESTDIR logic
...
now if DESTDIR is provided then the default install prefix is /usr.
otherwise the default install prefix is still zig-cache directly.
DESTDIR is prepended to the prefix to match what make install does.
2019-07-22 10:45:59 -04:00
Andrew Kelley
78e03c466c
simple async function passing test
2019-07-21 19:56:37 -04:00
Andrew Kelley
77c2ac3fcd
zig build: support DESTDIR environment variable
...
closes #2929
2019-07-21 18:04:23 -04:00
Andrew Kelley
54e716afdc
remove coroutines implementation and promise type
2019-07-19 18:18:44 -04:00
Andrew Kelley
8ea8cff491
slightly simpler implementation
2019-07-19 17:54:06 -04:00
Benjamin Feng
484f8a4cc2
Switch old switch / @TagType() to use inferred enums
2019-07-19 17:11:58 -04:00
Benjamin Feng
4708fb23c0
Generate parse error from &&
2019-07-19 17:11:58 -04:00
Benjamin Feng
d4ff27180b
Tokenize '&&' as AmpersandAmpersand
2019-07-19 17:11:58 -04:00
Andrew Kelley
1d07bbbef2
zig build: add valgrind cli options
2019-07-18 20:03:38 -04:00
Andrew Kelley
70da0762f7
better riscv syscalls
2019-07-18 18:15:50 -04:00
Andrew Kelley
03a3b1ca39
riscv workarounds for llvm not having good asm integration
2019-07-18 15:20:58 -04:00
Andrew Kelley
a3854d042e
basic riscv support
...
llvm is giving me `error: couldn't allocate output register for
constraint '{a0}'` which is a bug that needs to be fixed upstream.
2019-07-18 15:03:21 -04:00
Andrew Kelley
07f0de6a8a
compiler-rt: add __muldi3
2019-07-18 13:54:22 -04:00
Andrew Kelley
aaa4bf75d3
msvc libc: provide _fltused symbol
2019-07-17 18:11:03 -04:00
dimenus
d64bd30690
fixed slice length in getEnvVarOwned
2019-07-17 12:13:50 -04:00
Andrew Kelley
741c74e427
cleanups
2019-07-16 11:50:00 -04:00
Andrew Kelley
45cc488cef
Merge branch 'main-return-!u8' of https://github.com/SamTebbs33/zig into SamTebbs33-main-return
2019-07-16 11:27:11 -04:00
Andrew Kelley
3f4abe97bd
Merge pull request #2892 from ziglang/install-with-zig-build
...
move some of the installation from cmake to zig build
2019-07-15 20:46:12 -04:00
Andrew Kelley
aff90c2252
avoid shipping junk files
...
I did a diff of the shipped file list with master branch and it looks
good after this commit.
2019-07-15 20:35:34 -04:00
Nick Erdmann
33eaaadd01
fix documentation of assert
2019-07-15 19:52:07 -04:00
Andrew Kelley
eaf545e24c
fix build on windows
2019-07-15 19:50:56 -04:00
Andrew Kelley
c3d20373ee
std.unicode.utf8ToUtf16Le: improve performance
...
on a simple test input:
original utf8ToUtf16Le: elapsed: 111384483 ns (111 ms)
new utf8ToUtf16Le: elapsed: 138570 ns (0 ms)
it's 800x faster in debug mode and ~4500x faster in release-fast mode.
this was slowing down installation of files on windows in build scripts.
2019-07-15 19:35:10 -04:00
Andrew Kelley
49d1a4c562
move lib dirs to lib subdir
...
also start prefering NtDll API. so far:
* NtQueryInformationFile
* NtClose
adds a performance workaround for windows unicode conversion. but that
should probably be removed before merging
2019-07-15 17:54:50 -04:00
Andrew Kelley
51a3938b04
fix the build on macos
...
Stat structs gain methods to abstract over the platform differences with
regards to mtime, ctime, atime.
2019-07-15 12:28:39 -04:00
Andrew Kelley
6237380b01
fix the build on linux
2019-07-15 01:45:26 -04:00
Andrew Kelley
b23ace27db
fix the build on windows
2019-07-15 01:45:26 -04:00
Andrew Kelley
aa170a7eff
implement std.fs.File.updateTimes for windows
2019-07-15 01:45:26 -04:00
Andrew Kelley
95fdff3feb
std.fs.updateFile: make path if necessary
2019-07-15 01:45:26 -04:00
Andrew Kelley
6096dc5f94
move some of the installation from cmake to zig build
...
This moves the installation of shipped source files from large
CMakeLists.txt lists to zig build recursive directory installation.
On my computer a cmake `make install` takes 2.4 seconds even when it has
to do nothing, and prints a lot of unnecessary lines to stdout that say
"up-to-date: [some file it is installing]".
After this commit, the default output of `make` is down to 1
second, and it does not print any junk to stdout. Further, a `make
install` is no longer required and `make` is sufficient.
This closes #2874 .
It also closes #2585 . `make` now always invokes `zig build` for
installing files and libuserland.a, and zig's own caching system makes
that go fast.
2019-07-15 01:45:26 -04:00
andersfr
69129c2e93
Intentional wraparound used +
2019-07-13 13:59:15 +02:00
andersfr
9684c99dd3
Proper use of @truncate instead of @intCast
2019-07-13 13:59:15 +02:00
andersfr
0619b525b9
Better testing and bugfix in hashUint* functions
2019-07-13 13:59:15 +02:00
andersfr
dfbe65e8cd
Ported CityHash and Murmur hashing algorithms to native zig
2019-07-13 13:59:15 +02:00
Andrew Kelley
107e57484f
Merge pull request #2868 from ziglang/windows-libc
...
provide a libc for windows using mingw-w64
2019-07-12 18:12:27 -04:00
Andrew Kelley
3621d54e57
handle mingw libc defs better
...
also zig build handles --verbose and linkSystemLibrary better
2019-07-12 17:25:25 -04:00
Andrew Kelley
2f8983e2f6
update zig build system for mingw static lib conventions
2019-07-12 15:10:32 -04:00
daurnimator
52f0300505
std: add new linux 5.2 constants
2019-07-12 11:52:32 -04:00
Andrew Kelley
3714d524c3
add some more windows defs
2019-07-10 19:40:46 -04:00
Andrew Kelley
67f3bc9101
mingw: building and linking msvcrt-os.lib
2019-07-10 16:19:51 -04:00
Andrew Kelley
ae2345b742
zig build: add standardTargetOptions and deprecate setTarget
...
in favor of setTheTarget
2019-07-09 13:31:42 -04:00
Andrew Kelley
eebb00193d
zig build: install .pdb files along with binaries
...
closes #2848
2019-07-08 18:48:03 -04:00
Andrew Kelley
1d2fc446bd
cap getdents length argument to INT_MAX
...
the linux syscall treats this argument as having type int, so passing
extremely long buffer sizes would be misinterpreted by the kernel.
since "short reads" are always acceptable, just cap it down.
patch based on musl commit 3d178a7e2b75066593fbd5705742c5808395d90d
2019-07-08 17:52:28 -04:00
Andrew Kelley
fc9e28ea37
std.os.getrandom does a libc version check
...
closes #397
2019-07-08 14:42:28 -04:00
Andrew Kelley
56d8185650
expose glibc version in builtin
2019-07-07 17:56:43 -04:00
Andrew Kelley
336ddb8011
add -target-glibc to cli help and zig build
2019-07-07 17:56:43 -04:00
Andrew Kelley
d39dcd6d9d
zig build: add setLibCFile API
2019-07-07 11:31:07 -04:00
Andrew Kelley
38ba412729
Merge pull request #2837 from daurnimator/linux-AT_
...
std: improvements to linux constants
2019-07-07 09:53:05 -04:00
daurnimator
111e5ed0a2
std: MAP_FAILED is a libc concept on linux
2019-07-07 17:15:30 +10:00
daurnimator
e197968734
std: Make linux MAP_ definitions match kernel
2019-07-07 14:31:27 +10:00
daurnimator
7610d39413
std: Linux AT_ constants are the same across architectures
2019-07-07 14:11:43 +10:00
hryx
cce11a724c
Make anyerror not a keyword
2019-07-06 15:57:32 -07:00
Andrew Kelley
21c60922e3
Merge pull request #2823 from hryx/unicode-escape
...
Unicode escapes: support u{N...}
2019-07-06 13:14:43 -04:00
hryx
7f618184ad
Prevent unreachable when file ends with struct field
2019-07-06 13:09:07 -04:00
Andrew Kelley
9471f16c79
zig fmt ignores "zig fmt: off" directive for whitespace fixes
2019-07-05 15:09:22 -04:00
Andrew Kelley
4f43a4b30f
zig fmt: fix whitespace
...
closes #2819
closes #2825
2019-07-05 14:46:21 -04:00
Andrew Kelley
5b42c76951
code formatting
2019-07-05 14:14:25 -04:00
Andrew Kelley
3ad9349f09
add std.os.windows.subsystem
...
The original issue that #2445 wanted to fix was solved in the previous
commit. However it also exposed the subsystem in the standard library,
which is still useful. So that's done in this commit, and #2445 can be
closed.
2019-07-05 14:08:56 -04:00
Andrew Kelley
0d84d52e37
std.os.abort no longer calls msvcrt abort() when linking libc
...
closes #2071
2019-07-05 12:53:36 -04:00
hryx
8365a7aab4
Unicode escapes: stage2 tokenizer and parser test
2019-07-04 14:48:23 -07:00
Andrew Kelley
72800f176e
zig build: search upwards for build.zig file
...
closes #2587
2019-07-04 17:44:33 -04:00
Andrew Kelley
a8b3b5f11c
zig build: install is now the default step; default prefix is zig-cache
...
closes #2817
2019-07-04 15:32:44 -04:00
SamTebbs33
f24b8f2a4a
Support returning !u8 from main
2019-07-04 14:26:05 +01:00
emekoi
9e3189f1f4
forward error code on non-exits
2019-07-03 23:48:42 -05:00
emekoi
d8135c9e6e
forward error code build.zig
2019-07-03 23:48:42 -05:00
Andrew Kelley
d1cda00b36
workaround for no equality operator for enum literal and tagged union
2019-07-03 18:41:52 -04:00
emekoi
53ca4118bd
added segfault handler support for windows
2019-07-03 14:02:48 -04:00
Andrew Kelley
b84ff1dd32
update the default panic handler on freestanding
...
Now the infinite loop has a `@breakpoint()` in there.
2019-07-02 19:44:49 -04:00
emekoi
9d42a40a9f
return FileNotFound
for PATH_NOT_FOUND in DeleteFileW
2019-07-02 14:49:48 -04:00
Andrew Kelley
06733c3ff5
Merge pull request #2788 from emekoi/pdb-fix
...
fixed coff header parsing
2019-07-02 14:48:45 -04:00
Andrew Kelley
1a1598c58c
stack traces on segfault by default for linux-x86_64
...
closes #2355
2019-07-02 13:41:16 -04:00