Commit Graph

5586 Commits (dab0cf6428d96af540399563f2e2d5a79c3a7d5e)

Author SHA1 Message Date
Andrew Kelley dab0cf6428
update libunwind to llvm9
upstream commit 1931d3cb20a00da732c5210b123656632982fde0
2019-07-19 16:54:00 -04:00
Andrew Kelley 2117fbdae3
update C headers to llvm9
upstream commit 1931d3cb20a00da732c5210b123656632982fde0
2019-07-19 16:50:45 -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 afbf99c846
riscv musl: only add the +a feature 2019-07-18 12:28:24 -04:00
Andrew Kelley d4ca337e6b
improvements to riscv support 2019-07-18 12:21:57 -04:00
Andrew Kelley 04ce5376a8
carry some upstream patches to musl to fix riscv inline asm
Upstream commits:
 * 8eb49e0485fc547eead9e47200bbee6d81f391c1
 * 2dcbeabd917e404a0dde0195388da401b849b9a4
 * f0eb2e77b2132a88e2f00d8e06ffa7638c40b4bc

These will be in the next version of musl, so no harm carrying them
here.
2019-07-18 11:43:39 -04:00
Andrew Kelley aaa4bf75d3
msvc libc: provide _fltused symbol 2019-07-17 18:11:03 -04:00
Andrew Kelley e816d592e8
update zig codebase to llvm 9 2019-07-17 17:47:39 -04:00
Andrew Kelley 8f92a49dfd
update to llvm9 trunk 2019-07-16 22:23:48 -04:00
Andrew Kelley c0b4121ff2
libc headers before C language headers, and disable libunwind on arm32 2019-07-16 21:38:18 -04:00
Andrew Kelley ec92739022
Merge branch 'update-musl'
closes #2601
2019-07-16 20:07:05 -04:00
Andrew Kelley d994379173
update bundled musl source to 1.1.23 2019-07-16 19:54:14 -04:00
Andrew Kelley f70ce707e2
update musl headers to musl v1.1.23 2019-07-16 19:02:51 -04:00
Andrew Kelley b1f8b53d20
rename internal names regarding `usingnamespace` 2019-07-16 16:20:54 -04:00
Andrew Kelley 158e2312ea
Merge branch 'JohnathanFL-master'
closes #2900
closes #2894
2019-07-16 13:14:11 -04:00
Andrew Kelley 23dd7f4527
organize the docs and some rewording 2019-07-16 13:13:21 -04:00
JohnathanFL 475a181028
Add multidimensional array example 2019-07-16 13:02:30 -04:00
Andrew Kelley 15ed47921f
Merge branch 'msvc-libc-2064' of https://github.com/dimenus/zig into dimenus-msvc-libc-2064 2019-07-16 12:51:02 -04:00
daurnimator 3a67c13b5d cmake: allow user to select static vs dynamic LLVM 2019-07-16 12:33:13 -04:00
Andrew Kelley 9dcddc2249
retire the example/ folder, rename test-build-examples to "standalone"
closes #2759
2019-07-16 12:15:46 -04:00
Andrew Kelley 92e781baa1
fix documentation regarding mixing object files
closes #2905
2019-07-16 11:50:34 -04:00
Andrew Kelley 9a9a7daef0
Merge branch 'SamTebbs33-main-return' 2019-07-16 11:50:17 -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
emekoi 0435026474 fixed size of ZigClangAPValue on mingw-w64 2019-07-16 09:34:02 -04:00
Andrew Kelley 68149f2039
fix gitattributes 2019-07-16 00:05:12 -04:00
Andrew Kelley 5345044edf
Merge branch 'hryx-translate-c-userland' 2019-07-16 00:01:31 -04:00
Andrew Kelley 776423bbf7
fix result location alignment in ir_render_call 2019-07-15 23:44:44 -04:00
Andrew Kelley 6fe3b20962
Merge branch 'translate-c-userland' of https://github.com/hryx/zig into hryx-translate-c-userland 2019-07-15 22:19:54 -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 851a7288a9
mingw libc can link against ntdll 2019-07-15 18:25:13 -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 0cd660462f
move install_files.h to not be generated code 2019-07-15 01:47:26 -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 40a562f26d
cmake: fix incorrect dependencies 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
Andrew Kelley 7d9ee5d6d5
Merge pull request #2882 from andersfr/hash-branch
Implementation of MurmurHash and CityHash
2019-07-13 20:08:18 -04:00
emekoi 1547692d18 fixed static linking on mingw-w64 2019-07-13 20:05:13 -04:00
Andrew Kelley 9c39d5720f
ir: add an assertion in phi analysis 2019-07-13 18:38:52 -04:00