Veikka Tuominen
c07c2d68c7
Sema: more runtime indexing comptime value checks
2022-07-07 10:50:06 +03:00
Veikka Tuominen
1569b9c165
Sema: validate pointer types
2022-07-07 10:50:05 +03:00
Veikka Tuominen
299836dbd9
Sema: panic at comptime + misc error message improvements
2022-07-07 10:50:05 +03:00
Andrew Kelley
c061b3a572
disable more standalone tests
...
these are tripping LLVM 13 assertions.
See #12015
See #12022
2022-07-06 15:10:41 -07:00
Andrew Kelley
aab1284e10
disable failing standalone test - tools/gen_spirv_spec.zig
...
Because it is tripping an LLVM 13 assertion.
See #12015
2022-07-06 02:39:28 -07:00
Andrew Kelley
f639cb33a9
fix expected error messages in test cases
2022-07-05 16:22:53 -07:00
Andrew Kelley
844b77e3bc
remove sparc64 test case which is tripping llvm assertion
...
See #12011
2022-07-05 16:22:53 -07:00
Cody Tapscott
86570b3e2c
stage2: Fix corrupted Type when de-referencing field pointer
2022-07-05 15:02:13 -04:00
Veikka Tuominen
050fef3c23
translate-c: do not try to get rid of do while loop
...
It might contain breaks and continues.
Closes #11994
2022-07-04 21:56:54 +03:00
Andrew Kelley
2360f8c490
Merge pull request #11974 from ziglang/fixfixfix
...
stage2 fixes
2022-07-01 17:29:31 -04:00
Veikka Tuominen
2029601cb2
AstGen: use elem_{ptr,val}_node for array access syntax
2022-07-01 10:22:26 +03:00
Veikka Tuominen
a6bf8c2593
Sema: add more validation to zirFieldParentPtr
2022-07-01 10:22:25 +03:00
Veikka Tuominen
e6ebf56dd6
Sema: validate @intToEnum int operand type
2022-07-01 10:22:25 +03:00
Veikka Tuominen
ae7b32eb62
Sema: validate deref operator type and value
2022-07-01 10:22:25 +03:00
Veikka Tuominen
3c73f71177
Sema: prefer func.onwer_decl for compilelog src
2022-07-01 10:22:25 +03:00
Veikka Tuominen
3014a0d5f1
Sema: validate callconv
2022-07-01 10:22:25 +03:00
Veikka Tuominen
6d24c40b6e
Sema: improve bitcast to enum error
2022-07-01 09:29:13 +03:00
Andrew Kelley
095e24e537
stage2: implement alignment calculation of vectors
...
closes #11856
2022-06-30 19:39:41 -07:00
Andrew Kelley
67db2b85b7
remove plan9 test coverage
...
This regressed; the plan9 linker code is crashing when trying to build
compiler-rt and we have no active plan9 maintainers involved in the Zig
project. Anyone is welcome to come over and take the role; however, it's
not one of the tier 1, 2, or 3 targets, so we will not be blocking
progress towards 1.0 on plan9.
2022-06-30 18:33:02 -07:00
Andrew Kelley
1951051e3d
Merge pull request #11942 from Vexu/stage2-compile-errors
...
Move passing stage1 compile error tests to stage2
2022-06-30 18:39:46 -04:00
Andrew Kelley
77a334451f
Merge pull request #11967 from ziglang/runtime-float-negation
...
stage2: lower float negation explicitly + modify hash/eql logic for floats
2022-06-30 17:34:05 -04:00
Veikka Tuominen
4cde6dd109
adjust tests that didn't pass CI
2022-06-30 21:47:26 +03:00
Veikka Tuominen
4f200eda9f
stage2 llvm: ensure @tagName functions are unique
2022-06-30 21:47:25 +03:00
Veikka Tuominen
90ae37cc00
tests: move compile errors not planned for stage2
2022-06-30 09:57:38 +02:00
Veikka Tuominen
cc3336c784
Sema: add source location to coerce result ptr, fix negation error
2022-06-30 09:57:38 +02:00
Veikka Tuominen
979910dc38
Sema: validate shift amounts and switch ranges
2022-06-30 09:57:38 +02:00
Veikka Tuominen
6cadac18b8
Sema: improve auto generated union enum name
2022-06-30 09:57:38 +02:00
Veikka Tuominen
2e7dc5e151
Sema: improve vector overflow errors
2022-06-30 09:57:38 +02:00
Veikka Tuominen
03b356e34a
Sema: improve @call errors
2022-06-30 09:57:38 +02:00
Veikka Tuominen
3204d00a5e
move passing stage1 compile error tests to stage2
2022-06-30 09:57:38 +02:00
Andrew Kelley
6bc6e47b15
stage2: lower float negation explicitly
...
Rather than lowering float negation as `0.0 - x`.
* Add AIR instruction for float negation.
* Add compiler-rt functions for f128, f80 negation
closes #11853
2022-06-30 00:02:00 -07:00
Andrew Kelley
c248af3bdc
LLVM: fix lowering of untagged union types
...
The LLVM backend was calculating the amount of padding solely based
on the payload size. However, in the case where there is no union
tag, this fails to take into account alignment.
Closes #11857
2022-06-30 02:43:05 -04:00
Veikka Tuominen
8f2f0d8f08
Merge pull request #11962 from LordMZTE/fix/cast-or-call-parens
...
translate-c: fix cast or call macro with parenthesis
2022-06-29 21:36:13 +03:00
Andrew Kelley
98681b2da0
Merge pull request #11958 from ziglang/store-to-inferred-ptr
...
stage2: fix miscompilations for peer expressions any time they needed coercions to runtime types
2022-06-29 14:26:23 -04:00
Jakub Konka
59359b2547
aarch64: add airRetLoad for register mcv
2022-06-29 17:19:49 +02:00
LordMZTE
7b32062775
translate-c: fix cast or call macro with parenthesis
2022-06-29 16:03:29 +02:00
Andrew Kelley
c3ae909e93
Revert "AstGen: preserve inferred ptr result loc for breaks"
...
This reverts commit 8bf3e1f8d0902abd4133e2729b3625c25011c3ff, which
introduced miscompilations for peer expressions any time they needed
coercions to runtime types.
I opened #11957 as a proposal to accomplish the goal of the reverted
commit.
Closes #11898
2022-06-28 18:38:25 -07:00
Jakub Konka
9e8298b864
Merge pull request #11950 from ziglang/macho-weak-libs-frameworks
...
macho: fully implement `-weak-lx` and `-weak_framework x` flags
2022-06-28 20:29:20 +02:00
Jakub Konka
914e2d4c99
test: fix spurious whitespace in nested_blocks test
2022-06-28 13:28:09 +02:00
Jakub Konka
6420e9350c
test: return error on unknown config value
2022-06-28 13:28:05 +02:00
Jakub Konka
5834a608fc
link-tests: do not save global extracted var unless a match
...
Improve testing MachO binaries by verbose printing of the symtab
which includes segment,section names for defined symbols, and
import (dylib) name for imports.
2022-06-28 10:23:25 +02:00
Jakub Konka
075f5bc5ff
link-tests: test -weak-lx and -weak_framework x
2022-06-28 09:22:04 +02:00
Jakub Konka
0dd28920da
macho: implement and handle -needed-* and -needed_* family of flags
...
MachO linker now handles `-needed-l<name>`, `-needed_library=<name>`
and `-needed_framework=<name>`. While on macOS `-l` is equivalent
to `-needed-l`, and `-framework` to `-needed_framework`, it can be
used to the same effect as on Linux if combined with `-dead_strip_dylibs`.
This commit also adds handling for `-needed_library` which is macOS
specific flag only (in addition to `-needed-l`).
Finally, in order to leverage new linker testing harness, this commit
added ability to specify lowering to those flags via `build.zig`:
`linkSystemLibraryNeeded` (and related), and `linkFrameworkNeeded`.
2022-06-27 19:53:38 +02:00
Jakub Konka
efc5c97bff
macho: implement -dead_strip_dylibs linker flag
2022-06-27 19:53:38 +02:00
joachimschmidt557
960c142060
stage2 ARM: implement basic intCast and error union wrapping
2022-06-25 21:16:51 +02:00
Jakub Konka
589bf67635
macho: implement -headerpad_max_install_names
2022-06-25 18:04:40 +02:00
Jakub Konka
a6fbdfabb9
link-tests: add -headerpad_size test scenario
2022-06-25 17:59:09 +02:00
Jakub Konka
f91503e577
link-tests: defer parsing of the RPN program until running the action
2022-06-25 17:56:03 +02:00
Jakub Konka
0078d36ff3
Merge pull request #11917 from motiejus/wl-search-paths
...
macho: implement `-search_paths_first` and `-search_dylibs_first`
2022-06-25 17:55:26 +02:00
Jakub Konka
8f00bc9d23
link-tests: put macho search strategy tests into one test case
2022-06-25 10:57:56 +02:00