Commit Graph

21551 Commits

Author SHA1 Message Date
Jacob Young
6966fb8ca5 wasm2c: reuse locals
* Reduce stack usage of a -O0 build of zig1 by 33%.
 * Avoid compiler builtin calls.
2022-12-09 03:45:29 -05:00
Andrew Kelley
5c67f9ce7a
Merge pull request #13827 from Vexu/fix-ci
TypedValue: fix handling of tuples represented as empty_struct_value
2022-12-08 21:59:43 -05:00
Veikka Tuominen
ee9fc54cd0 TypedValue: fix handling of tuples represented as empty_struct_value 2022-12-08 22:21:49 +02:00
r00ster91
7826e28bd3 Re-apply: "std.ComptimeStringMap: use tuple types"
096d3efae5 was not the cause of the
CI failure.
2022-12-08 22:21:46 +02:00
Andrew Kelley
225ed65ed2 Revert "std.ComptimeStringMap: use tuple types"
This reverts commit 096d3efae5.

This commit is not passing a very important CI test that was recently
added.
2022-12-08 02:23:17 -08:00
Veikka Tuominen
d5ecb318c4 Sema: check for uneeded src loc when using --debug-compile-errors 2022-12-08 11:10:08 +02:00
Andrew Kelley
83361e4a9b CI: test updating the wasm binary
Make sure that no commit regresses the ability to upgrade our wasm
binary. Otherwise, somebody in the future is going to have a Bad Day.
2022-12-08 02:01:46 -05:00
Andrew Kelley
d69e97ae16
Merge pull request #13806 from Vexu/stage2-fixes
misc fixes and improvements
2022-12-07 21:35:02 -05:00
Andrew Kelley
913b4a3f19
Merge pull request #13802 from ziglang/windows-lib-name
CI: make Windows build from source like every other system
2022-12-07 19:09:43 -05:00
Veikka Tuominen
6039554b26 tokenizer: detect null bytes before EOF
Closes #13811
2022-12-08 00:16:30 +02:00
Andrew Kelley
1122d9d212 CI: windows: fix zig lib dir path
See #12685
2022-12-07 12:49:17 -07:00
Andrew Kelley
6d48357cc7 build.zig: on windows always link llvm-required system libs
When building with LLVM, always do -lole32 -lversion -luuid even when
using the cmake-provided build stuff. Otherwise we get undefined symbols
when linking.
2022-12-07 12:49:17 -07:00
Veikka Tuominen
653c0bae0c remove stage1 specific compile error tests 2022-12-07 20:32:27 +02:00
Veikka Tuominen
f8dcd34775 TypedValue.print: detect string literals
Closes #4281
Closes #13785
2022-12-07 20:32:27 +02:00
r00ster91
096d3efae5 std.ComptimeStringMap: use tuple types
This is now possible due to #13627.
2022-12-07 14:56:55 +02:00
Veikka Tuominen
4fb9c75fc9 compiler-rt: do not export complex arithmetic on ofmt=c
These functions cannot be properly implemented without #8465

Closes #13800
2022-12-07 14:54:29 +02:00
Veikka Tuominen
dff32a2cd7 Sema: resolve lazy values in analyzeMinMax
Closes #13797
2022-12-07 14:48:24 +02:00
Veikka Tuominen
ddce76059b Sema: add error for @tagName on empty enum 2022-12-07 14:48:24 +02:00
Veikka Tuominen
d078d08e4f Sema: export function instead of the constant referencing it
Closes #13706
2022-12-07 14:48:24 +02:00
Veikka Tuominen
92f1a29c40 AstGen: make @compileError operand implicitly comptime
This matches the language reference.
2022-12-07 14:48:24 +02:00
Andrew Kelley
1310ef7577 disable failing behavior tests with -ofmt=c -target x86_64-windows
and enable CI checks for the C backend on Windows.
2022-12-07 04:01:04 -05:00
Andrew Kelley
9627018d0c build: obtain zigcpp library prefix/suffix from cmake 2022-12-07 01:44:15 -07:00
Jacob Young
eb4337fe83 Revert "CI: revert windows script to master branch version"
This reverts commit 106e967893.
2022-12-07 01:34:21 -07:00
Andrew Kelley
53a9ee699a
Merge pull request #13799 from ziglang/close-stage1-issues
close stage1 issues
2022-12-07 03:06:10 -05:00
Casey Banner
8ccb9a6ad3
cache: Fix LockViolation during C compilation paths (#13591)
- C compilation flows didn't hold an exclusive lock on the cache manifest file when writing to it in all cases
- On windows, explicitly unlock the file lock before closing it
2022-12-06 23:15:54 -05:00
Frank Denis
14416b522e
Revert "std.crypto.aes: use software implementation in comptime context (#13792)" (#13798)
This reverts commit d4adf44200.

Unfortunately, this is not the right place to check if AES functions
are being used at comptime or not.
2022-12-07 03:49:20 +00:00
Andrew Kelley
50eb7983cd remove most conditional compilation based on stage1
There are still a few occurrences of "stage1" in the standard library
and self-hosted compiler source, however, these instances need a bit
more careful inspection to ensure no breakage.
2022-12-06 20:38:54 -07:00
Andrew Kelley
c8aba15c22 remove references to stage1 in behavior tests
Good riddance.
2022-12-06 19:06:48 -07:00
Andrew Kelley
b7b905d227 add behavior test for while(true) not needing else unreachable
closes #707
2022-12-06 17:57:27 -07:00
Andrew Kelley
e7d28344fa
Merge pull request #13560 from ziglang/wasi-bootstrap
Nuke the C++ implementation of Zig from orbit using WASI
2022-12-06 18:52:39 -05:00
Frank Denis
817cf6a82e
Update wasi-libc to 8b7148f69ae241a2749b3defe4606da8143b72e0 (#13793) 2022-12-06 22:48:35 +00:00
Frank Denis
d4adf44200
std.crypto.aes: use software implementation in comptime context (#13792)
Hardware-accelerated AES requires inline assembly code, which
cannot work at comptime.
2022-12-06 22:48:19 +00:00
Andrew Kelley
3f693cf5d5 CLI: quality of life enhancement for windows CBE behavior tests
When testing with

```
stage4/bin/zig test ../test/behavior.zig -I../test -ofmt=c -target x86_64-windows
```

previously, one would see this message:

```
error: lld-link: subsystem must be defined
```

Now, `--subsystem console` as well as `-lntdll -lkernel32` are on the
`zig run` line, producing a binary.
2022-12-06 12:46:59 -07:00
Andrew Kelley
20d86d9c63 add zig1.wasm.zst
This commit adds a 637 KB binary file to the source repository. This
commit does nothing else, so it should be replaced with a different
commit before this branch is merged to avoid bloating the git
repository.
2022-12-06 12:27:28 -07:00
Andrew Kelley
106e967893 CI: revert windows script to master branch version
This commit chickens out and reverts
02456a32ad, leaving it for a future
enhancement.
2022-12-06 12:27:28 -07:00
Jacob Young
a0a2e75773 cmake: disable stack protector for zig2 to avoid link errors on windows
On windows we get:

    lld-link: error: undefined symbol: __stack_chk_fail
    >>> referenced by CMakeFiles/zig2.dir/zig2.c.obj:(main)
    >>> referenced by CMakeFiles/zig2.dir/zig2.c.obj:(main_main)
    >>> referenced by CMakeFiles/zig2.dir/zig2.c.obj:(log_scoped_28_default_29_err__anon_2764)
    >>> referenced 36192 more times

    lld-link: error: undefined symbol: __stack_chk_guard
    >>> referenced by CMakeFiles/zig2.dir/zig2.c.obj:(.refptr.__stack_chk_guard)
    >>> referenced by CMakeFiles/zig2.dir/compiler_rt.c.obj
2022-12-06 12:27:28 -07:00
Jacob Young
2a3d9c321e compiler_rt: remove stack probe functions from c builds 2022-12-06 12:27:28 -07:00
Jacob Young
91e489174b CBE: avoid trailing space 2022-12-06 12:27:28 -07:00
Jacob Young
3683602226 wasm2c: improve amortized speed of memory.grow 2022-12-06 12:27:28 -07:00
Jacob Young
3686787f67 CBE: add windows-specific reserved identifiers 2022-12-06 12:27:28 -07:00
Jacob Young
c4dc8515b6 compiler_rt: don't use the llvm windows v2u64 abi with the C backend 2022-12-06 12:27:28 -07:00
Andrew Kelley
c58ebfb1e1 CI: aarch64-macos tarball patch
I messed up the spelling of '-stack_size' making it '-stack' instead.
Will need to fix on master branch. But let's test this here before
making another master branch commit.
2022-12-06 12:27:28 -07:00
Andrew Kelley
0f2a7d3b54 CI: don't pass -Denable-stage1 when building stage4 2022-12-06 12:27:28 -07:00
Andrew Kelley
f46567e6bf CI: update tarballs
In particular, these two changes are relevant:

 * zig cc: support -stack in addition to --stack for linker arg
   - Fixes stack overflow when running zig2 on aarch64-macos.
 * compiler_rt: avoid using weak aliases
   - Fixes duplicate symbol when linking zig2 on aarch64-linux.
2022-12-06 12:27:28 -07:00
Jacob Young
793db27805 wasi: add support for windows paths 2022-12-06 12:27:28 -07:00
Jacob Young
98338358ed cmake: fix bootstrap dependencies 2022-12-06 12:27:28 -07:00
Andrew Kelley
3fb1b2caef CI: use a patched tarball
In the CI system, I copied the old tarball and then applied
05c21a26cb2d5daf06191bd996d0770192704b66 to its compiler_rt
implementation.

After this is verified we can drop this commit and regenerate the
tarballs from a master branch commit.
2022-12-06 12:27:28 -07:00
Andrew Kelley
eef4348953 CMake: remove --color on for compiler_rt too
Missing change from bcd4ea9b28a7560a1c1ef28c6c7258c6126c80e5
2022-12-06 12:27:28 -07:00
Andrew Kelley
ee2fb5b2ab zig.h: fix f16 has builtin check 2022-12-06 12:27:28 -07:00
Andrew Kelley
4451786c66 langref: update WASI preopens example 2022-12-06 12:27:28 -07:00