Commit Graph

9535 Commits

Author SHA1 Message Date
Noam Preil 0e952a9f3a Stage2/Testing: Simply incremental compilation tests 2020-06-26 05:00:53 -04:00
Noam Preil c8f60b2e2f Stage2: handle missing function names 2020-06-26 04:36:17 -04:00
Noam Preil 6510888039 Stage2: function redefinition detection for Zig code 2020-06-26 04:05:41 -04:00
Noam Preil 4a17e008da Stage2: exported symbol collision detection 2020-06-26 03:17:13 -04:00
Noam Preil e5a3cb8d71 Stage2: fix incremental compilation after error 2020-06-26 03:16:36 -04:00
Noam Preil 53fead580e Add a compiles wrapper case 2020-06-26 03:09:56 -04:00
Noam Preil 649da2df52 Stage2/Testing: Add convenience wrappers 2020-06-26 02:42:02 -04:00
Noam Preil c88edbc46f OOM -> catch unreachable 2020-06-24 23:34:58 -04:00
Noam Preil 5d7e981f95 Clean up test harness 2020-06-24 22:43:18 -04:00
Andrew Kelley d337469e44 Merge pull request #5583 from ziglang/zig-ast-to-zir
self-hosted: hook up Zig AST to ZIR
2020-06-24 22:37:58 -04:00
Code Hz 7875649c24 Pdb.openFile use []const u8 instead of []u8 2020-06-24 22:27:30 -04:00
Andrew Kelley 20b4a2cf2c self-hosted: add compare output test for new AST->ZIR code 2020-06-24 21:28:42 -04:00
Andrew Kelley 5aa3f56773 self-hosted: fix test regressions
I'm allowing incremental compilation of ZIR modules to be broken. This
is not a real use case of ZIR, and the feature requires a lot of code
duplication with incremental compilation of Zig AST (which works great).
2020-06-24 20:28:52 -04:00
Andrew Kelley fd7a97b3b2 fix memory leak of anonymous decl name 2020-06-24 16:20:02 -04:00
Andrew Kelley e42b7702eb Merge remote-tracking branch 'origin/master' into zig-ast-to-zir 2020-06-24 15:36:59 -04:00
Alexandros Naskos 129a4fb251 Copy union const values correctly 2020-06-24 15:21:58 -04:00
Andrew Kelley 2c7fc1c5c5 Merge branch 'marler8997-fixAzureMsys2'
closes #5688
closes #5679
2020-06-24 14:53:02 -04:00
Andrew Kelley 489c31b6f5 azure ci: install tar and xz with pacman 2020-06-24 14:52:34 -04:00
Jonathan Marler 3a2cc5decf azure-pipelines: fix msys2 install 2020-06-24 14:33:01 -04:00
Andrew Kelley 14aa08fcd3 self-hosted: restore ZIR functionality 2020-06-24 03:46:32 -04:00
Andrew Kelley 3aab6012c4 Revert "building mingw-w64 for windows ARM looks in lib64/lib32 for .def files"
This reverts commit 93f0bcb649.

This is not correct (from #mingw-w64 IRC):

<andrewrk> is there no .def file for ntdll on arm 64 bit?
<andrewrk> or does mingw-w64-crt/lib64/ntdll.def apply to both x86_64
and aarch64?
<wbs> andrewrk: there's none at the moment (as apps rarely link directly
against ntdll, and I didn't want to guess needlessly around that one
originally when I added arm64 support, before I actually had a real
arm64 windows device)
<wbs> andrewrk: but I guess I could/should complete that now
<wbs> (if you need one right now, the libarm32 one probably is the
closest match)
2020-06-24 02:08:08 -04:00
Andrew Kelley 93f0bcb649 building mingw-w64 for windows ARM looks in lib64/lib32 for .def files 2020-06-24 01:59:19 -04:00
Andrew Kelley b1b7708cc8 self-hosted: hook up incremental compilation to .zig source code 2020-06-23 23:29:51 -04:00
Andrew Kelley a1a1f94a0d Merge pull request #5681 from kubkon/refactor-wasi-preopens
[libstd]: refactor std.fs.wasi.PreopenList.find()
2020-06-23 22:23:20 -04:00
Andrew Kelley d9c1d8fed3 self-hosted: improve handling of anonymous decls
* anonymous decls have automatically generated names and symbols, and
   participate in the same memory management as named decls.
 * the Ref instruction is deleted
 * the DeclRef instruction now takes a `[]const u8` and DeclRefStr takes
   an arbitrary string instruction operand.
 * introduce a `zir.Decl` type for ZIR Module decls which holds
   content_hash and name - fields that are not needed for `zir.Inst`
   which are created as part of semantic analysis. This improves the
   function signatures of Module.zig and lowers memory usage.
 * the Str instruction is now defined to create an anonymous Decl and
   reference it.
2020-06-23 19:53:32 -04:00
Jakub Konka 5fed725e0a Remove some leftover debugging checks 2020-06-23 23:59:32 +02:00
Jakub Konka 66e5205047 Refactor PreopenList.find()
This commit generalizes `std.fs.wasi.PreopenList.find(...)` allowing
search by `std.fs.wasi.PreopenType` union type rather than by dir
name. In the future releases of WASI, it is expected to have more
preopen types (or capabilities) than just directories. This commit
aligns itself with that vision.

This is a potentially breaking change. However, since `std.fs.wasi.PreopenList`
wasn't made part of any Zig release yet, I think we should be OK
to introduce those changes without pointing to any deprecations.
2020-06-23 21:54:36 +02:00
antlilja 0de35af98b Add duplicate checking for switch on types
* Add compile error tests
2020-06-23 15:17:04 -04:00
Andrew Kelley 6938245fcc Merge remote-tracking branch 'origin/master' into zig-ast-to-zir 2020-06-22 23:22:17 -04:00
Vexu 7b68385d7d self-hosted: astGenIntegerLiteral support other bases 2020-06-22 23:19:12 -04:00
Vexu d98aed6eff self-hosted: generalize astGenBuiltinCall 2020-06-22 23:19:12 -04:00
Andrew Kelley 78c6d39cd4 Merge pull request #5667 from cartr/windows-arguments-unclosed-quote
In std.process.ArgIteratorWindows, don't treat unclosed quotes like they're escaped
2020-06-22 20:07:43 -04:00
Jakub Konka 923c0feda1 Add std.fs.File.readAllAlloc tests
This commit adds some unit tests for `std.fs.File.readAllAlloc`
function. It also updates the docs of `Reader.readNoEof`
which were outdated, and swaps `inStream()` for  `reader()` in
`File.readAllAlloc` with the former being deprecated.
2020-06-22 20:03:21 -04:00
Andrew Kelley 6ff6ac866d Merge pull request #5666 from kubkon/symlinkat-readlinkat
[libstd]: enhance std.os.{symlinkat, readlinkat} coverage
2020-06-22 20:02:27 -04:00
Andrew Kelley 44bd0a2670 Merge pull request #5662 from shtanton/meta-cast
Adds std.meta.cast and uses it to simplify translate-c
2020-06-22 19:54:30 -04:00
prime31 65ef74e2cd try allocation of pointer type when parsing (#5665)
* `try` allocation of pointer type when parsing

* fixes pointer destroy compile error
2020-06-22 17:30:02 +03:00
Carter Sande 7cb41a415a ArgIteratorWindows: simplify quote state tracking 2020-06-22 03:03:30 -07:00
Carter Sande 8faa85ac19 ArgIteratorWindows: don't treat unclosed quotes like they're escaped 2020-06-22 03:03:20 -07:00
Jakub Konka c950f0c6c3 Enhance std.os.readlinkat coverage
Adds Windows stub (still needs to be implemented on Windows),
adds WASI implementation, adds unit test testing basic chain of
ops: create file -> symlink -> readlink.
2020-06-22 09:40:06 +02:00
Jakub Konka 64078ca924 Enhance std.os.symlinkat coverage
Fixes `std.os.symlinkat` compile errors, adds Windows stub (still
needs to be implemented), adds WASI implementation.
2020-06-22 09:14:51 +02:00
Charlie Stanton 8c15cfe3da Compacts switch statements and string literal 2020-06-21 21:48:12 +01:00
xackus d907f574e0 stage1: fix concat of sliced str literals 2020-06-21 14:57:12 -04:00
Robin Voetter 8696e52a3d Make unary minus for unsigned types a compile error (#5654)
* Make unary minus for unsigned types a compile error

* Add unreachable when generating unsigned negate
2020-06-21 14:55:44 -04:00
Andrew Kelley 126f5702df Merge pull request #5655 from squeek502/zig-fmt-cli-test
Add zig fmt to cli tests
2020-06-21 14:54:58 -04:00
Charlie Stanton 6f47513009 Adds std.meta.cast and uses it to simplify translate-c 2020-06-21 18:24:59 +01:00
Alexandros Naskos b70c38c33c Close source file after reading it in zig fmt 2020-06-21 12:22:16 -04:00
Ryan Liptak 399f6b77c4 Add 'no changes' test to zig fmt cli test 2020-06-20 22:21:23 -07:00
Ryan Liptak b216d8de88 Simplify unformatted code in zig fmt cli test 2020-06-20 22:20:23 -07:00
Ryan Liptak b5f90244a4 temporary: Add test-cli step for only running cli tests 2020-06-20 22:02:56 -07:00
Ryan Liptak ca9d8a1337 Add zig fmt test to cli tests for both files and directories
Should catch basic `zig fmt` regressions that were previously going uncaught and breaking things
2020-06-20 22:02:55 -07:00