John Schmidt
9cf667a21b
Enable unexpectedErrno error tracing for stage2 LLVM
...
Stage2 seems to be able to handle this now.
2022-08-21 23:41:01 +03:00
Veikka Tuominen
02070ae26b
Merge pull request #12499 from Vexu/explain-why-called-at-comptime
...
stage2: add note about function call being comptime because of comptime only return type
2022-08-21 17:27:52 +03:00
Veikka Tuominen
20d0018d79
Sema: ignore dbg_block instructions when checking for comptimeness
...
Closes #12514
2022-08-21 12:53:19 +03:00
Veikka Tuominen
d48af541c7
Sema: handle union and enum field order being different
...
Closes #12543
2022-08-21 12:51:40 +03:00
Veikka Tuominen
e8102d8738
Sema: add note about function call being comptime because of comptime only return type
2022-08-21 12:24:48 +03:00
Jakub Konka
4a98385b0a
macho: do not leave file descriptors open if unused
...
This manifested in different `AccessDenied` errors on Windows when
trying to do an atomic file copying in the compiler/linker.
2022-08-20 19:41:23 +02:00
Andrew Kelley
e5e6eb9831
Merge pull request #12368 from ziglang/stage3-default
...
make self-hosted the default compiler
2022-08-19 20:26:46 -04:00
Andrew Kelley
b75eeae595
CI: x86_64-linux: avoid cmake ZIG_EXECUTABLE hack
...
empirically this avoids a segfault on the CI.
2022-08-19 17:24:23 -07:00
Andrew Kelley
e78e9f33c0
CI: update x86_64-linux tarball
2022-08-19 16:45:16 -07:00
Andrew Kelley
3ce8060818
CI: update windows tarball
2022-08-19 16:45:16 -07:00
Andrew Kelley
4a27d2aac6
std.os.linux.bpf: fix compile error
2022-08-19 16:45:16 -07:00
Andrew Kelley
a85f41ec2c
test-stack-traces: relax parsing rules
...
* accept forward and backward slashes in file paths
* strip multiple extensions; e.g. if the basename is "test.exe.obj"
then it strips to "test".
2022-08-19 16:45:16 -07:00
Jakub Konka
10b95d89f8
coff: change improperly used packed struct into extern struct
2022-08-19 16:45:16 -07:00
Andrew Kelley
437311756d
LLVM: add DLL export attribute
...
This was present in stage1 but missing from self-hosted.
2022-08-19 16:45:16 -07:00
Andrew Kelley
35f62bc7ae
CI: windows: don't create build directory
...
Simplify the script by not creating an unnecessary build directory and
then changing directories to and from it.
2022-08-19 16:45:16 -07:00
Andrew Kelley
c4466496ff
build: hook up -Dskip-stage2-tests and remove test-toolchain
2022-08-19 16:45:16 -07:00
Andrew Kelley
5be2e8f941
CI: update windows tarball
...
This includes a few recent bug fixes which may solve the Windows CI
failure.
2022-08-19 16:45:16 -07:00
Andrew Kelley
445b33cfc0
fix std.os.windows.PathSpace.span
...
it was returning a pointer to a parameter.
2022-08-19 16:45:16 -07:00
Andrew Kelley
28e95b3240
CI: drone: simplify
...
Instead of a switch in a bash file we just properly name
the pipeline steps.
Also use zig build to produce the release artifact.
2022-08-19 16:45:15 -07:00
Andrew Kelley
5b486b1851
CI: use zig build to produce release artifact
...
For both macOS and FreeBSD.
2022-08-19 16:45:15 -07:00
Andrew Kelley
a8f86291d2
CI: update freebsd tarball
...
This updates to a stage3 freebsd tarball.
2022-08-19 16:45:15 -07:00
Andrew Kelley
7cf6930e24
CI: macos: set release mode for zig and simplify
2022-08-19 16:45:15 -07:00
Andrew Kelley
9f43ebd6ef
CI: windows: build stage3 directly from dev kit
2022-08-19 16:45:15 -07:00
Andrew Kelley
d75d40dfdf
build: make docs a separate step than test
2022-08-19 16:45:15 -07:00
Andrew Kelley
7346600517
CI: avoid concurrent jobs tripping over each other
2022-08-19 16:45:15 -07:00
Andrew Kelley
e3ccea70dd
CI: isolate zig-cache for parallel debug/release builds
2022-08-19 16:45:15 -07:00
Andrew Kelley
09ec9b0315
langref: update to new error message
2022-08-19 16:45:15 -07:00
Andrew Kelley
a73b3a0d70
CI: simplify x86 linux test instructions
2022-08-19 16:45:15 -07:00
Andrew Kelley
06c42a0c68
CI: test both stage3-debug and stage3-release on x86-linux
2022-08-19 16:45:15 -07:00
Andrew Kelley
507aae4a1a
make self-hosted the default compiler
...
stage1 is available behind the -fstage1 flag.
closes #89
2022-08-19 16:45:15 -07:00
Andrew Kelley
73bbd1069a
build: remove the option to omit stage2
2022-08-19 16:45:15 -07:00
r00ster91
39f43fea8d
fix: fix off-by-one for leading zeroes
2022-08-20 01:45:34 +03:00
Andrew Kelley
be2bd5848a
Merge pull request #12472 from ziglang/stage2-stack-protector
...
stage2: implement stack protectors
2022-08-19 06:41:34 -04:00
Andrew Kelley
fdb934a157
stage2: disable stack-protector on wasm, matching stage1
...
The CI gave me: unknown import: `env::__stack_chk_fail` has not been
defined
2022-08-19 03:41:13 -07:00
Andrew Kelley
d6ba66e50d
Sema: avoid false positive error for linking libc
...
when extern c functions are called.
2022-08-19 03:41:13 -07:00
Andrew Kelley
c0b7f20893
stage2: implement stack protectors
...
This is one of the final remaining TODOs for the LLVM backend.
2022-08-19 03:41:13 -07:00
Andrew Kelley
2ccaa5414b
Merge pull request #12145 from ziglang/fixes
...
More ABI size and alignment fixes
2022-08-19 04:56:08 -04:00
Andrew Kelley
150786e83c
test harness: fix handling of object format
...
Follow-up to b975f7a56fec9e0e7aca9832282bc772c743d731.
2022-08-18 22:02:55 -07:00
Andrew Kelley
5e989fcb67
stage2: pointers to comptime-only types are comptime-only
...
This is a partial revert of c5ba941b77fbdb06841f28142420c6786f2a4d0c.
2022-08-18 22:02:10 -07:00
Andrew Kelley
cee82c7ce4
improved ABI alignment/size for >= 128-bit integers
...
* riscv64: adjust alignment and size of 128-bit integers.
* take ofmt=c into account for ABI alignment of 128-bit integers and
structs.
* Type: make packed struct support intInfo
* fix f80 alignment for i386-windows-msvc
2022-08-18 20:34:36 -07:00
Andrew Kelley
b975f7a56f
std.Target gains ObjectFormat field
2022-08-18 18:58:28 -07:00
Andrew Kelley
517eb73b23
LLVM: disable the ABI size safety check
...
There still more instances of this check being tripped during behavior
tests that we need to fix before we can enable this.
2022-08-18 17:11:34 -07:00
Andrew Kelley
4552ccb685
stage2: make @Vector ABI size agree with LLVM
2022-08-18 17:11:34 -07:00
Andrew Kelley
6e313eb110
stage2: agree with LLVM that @alignOf(u128) is 8
...
on x86_64 and similar targets.
2022-08-18 17:11:32 -07:00
Andrew Kelley
c5ba941b77
stage2: all pointers have runtime bits
2022-08-18 16:02:29 -07:00
Ben Fiedler
7d674d5fb6
build: Allow comptime_int in OptionsStep.addOption
2022-08-18 23:00:44 +02:00
Jakub Konka
b12992cb01
macho: do not open file handle when building static archive
...
Firstly, opening a file handle is not really needed since we won't even
use it, and secondly, this can cause AccessDenied errors on Windows
when trying to move a directory from zig-cache/tmp/ to zig-cache/o/
since, without POSIX semantics, it is illegal to move directories
with open handles to any of its resources.
2022-08-18 15:54:09 -04:00
Sage Hane
f6459721e5
std.build: Fix typo in LibExeObjStep.runEmulatable's assertion
2022-08-18 20:08:25 +03:00
Eric Joldasov
b97ae88898
std.zig.system.NativeTargetInfo: look for a shebang line in /usr/bin/env, if any
2022-08-18 19:57:50 +03:00
zooster
4055e6055b
AstGen: disallow leading zeroes in int literals and int types
...
This makes `0123` and `u0123` etc. illegal.
I'm now confident that this is a good change because
I actually caught two C header translation mistakes in `haiku.zig` with this.
Clearly, `0123` being octal in C (TIL) can cause confusion, and we make this easier to read by
requiring `0o` as the prefix and now also disallowing leading zeroes in integers.
For consistency and because it looks weird, we disallow it for integer types too (e.g. `u0123`).
Fixes #11963
Fixes #12417
2022-08-18 19:54:51 +03:00