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
Jakub Konka
24821dd17f
link-tests: test -search_paths_first and -search_dylibs_first macho flags
2022-06-24 22:07:51 +02:00
Koakuma
672d6df429
stage2: sparc64: Skip Sema-failing tests for now
2022-06-24 21:19:33 +07:00
Luuk de Gram
3868864695
Revert "wasm: Enable f16 behavior tests"
...
This reverts commit 3c34c9f13c67ff1716a9531e87d23a6dad12b45e.
2022-06-24 08:12:17 +02:00
Luuk de Gram
ba37bc81e9
wasm: Enable f16 behavior tests
2022-06-24 08:12:17 +02:00
Jakub Konka
03ddb42b8b
link-tests: rename check() to checkStart()
...
Do not hardcode the symtab label; instead allow each parser to define
its own.
Check for missing extractor value in the matcher when matching `{}`.
2022-06-23 13:16:03 +02:00
Jakub Konka
ba768614ac
link-tests: frameworks example can test for libobjc autolink in safety modes
2022-06-22 18:51:35 +02:00
Jakub Konka
b35e434cae
link-tests: clean up linker testing harness
2022-06-22 18:34:39 +02:00
Jakub Konka
211de9b63b
link-tests: fix dumping of LOAD_DYLIB: name instead of path field
2022-06-22 10:40:10 +02:00