Andrew Kelley
b4e3424594
Merge pull request #13100 from topolarity/powerpc64le
...
stage2: Fix softfloat support for PPC64(LE)
2022-10-15 10:05:00 -04:00
Evan Haas
e4e1c21e1f
i386 ABI: Fix some sizes and alignments
...
This makes the following changes for i386:
long long and unsigned long long have 4 byte alignment on non-Windows
f64 (double) has 4-byte alignment on non-Windows
long double is 80 bits and has 4 byte alignment on mingw
long double on android is 64 bits, not 80: https://www.uclibc.org/docs/psABI-i386.pdf
Fixes #12453
Fixes #12987
2022-10-14 15:22:00 -04:00
Jacob Young
9b45dc1608
stage2: fix emitting asm and bin at the same time
...
This logic is copied from stage1.
Fixes #12800
2022-10-14 14:46:50 -04:00
Cody Tapscott
34863224c3
Re-enable mulAdd f128 tests on i386-linux
2022-10-13 12:53:30 -07:00
Cody Tapscott
1e278131e3
Re-enable @mulAdd f128 tests on aarch64-darwin
...
Closes #9900
2022-10-13 12:53:29 -07:00
Cody Tapscott
f035437b5d
Re-enable Vector f16 tests on Windows
...
Closes #4952
2022-10-13 12:53:20 -07:00
Cody Tapscott
b8c587eb40
tests: Enable PPC64LE as a test target
2022-10-13 12:53:20 -07:00
Cody Tapscott
83e2d3fb37
stage1: Skip new tests that never passed in stage1
...
This gets the behavior tests passing for stage1 again.
2022-10-13 12:53:20 -07:00
kkHAIKE
d987bf859e
Sema: add float128IntPartToBigInt to fix compare comptime float with int
2022-10-13 13:11:13 +02:00
Veikka Tuominen
3a8777a8bb
fix hyphenation in test case
...
Follow up to 51d9db856978610c24b3fed50a9550455a2eb64b
2022-10-12 16:10:57 +03:00
jacobly0
562ac8be48
codegen: add support for lowering .field_ptr on a slice
...
Closes #13068
2022-10-12 12:40:59 +03:00
Andrew Kelley
7ce1ee1bce
Merge pull request #13081 from r00ster91/docs
...
fix(text): hyphenation and other fixes
2022-10-12 05:26:11 -04:00
Luuk de Gram
1f196b9e2f
stage2: implement exporting using field access ( #13136 )
...
This implements `@export(a.b, .{..});` in semantic analysis,
allowing users to directly export a variable from a namespace.
* add test case for exporting using field access
2022-10-12 04:38:07 -04:00
Cody Tapscott
e6ebdcb82e
stage2 LLVM: Use a packed aggregate for union payload init
...
Without the packed qualifier, the type layout that we use to
initialize doesn't match the correct layout of the underlying
storage, causing corrupted data and past-the-end writes.
2022-10-11 15:42:01 -04:00
Luuk de Gram
8635c18e40
test/link: don't strip producers section for wasm
...
When testing the Wasm linker for the producers section
we do not ever want to strip the binary as this will remove
the producers section in release-small.
This fixes the CI errors by d086b371f0e21e5029e1b0d05838b87502eb63e6
2022-10-11 21:27:09 +02:00
Veikka Tuominen
a72b584c76
Merge pull request #13126 from tau-dev/master
...
translate-c: Fix function pointers, add cast to subscripts in macros
2022-10-11 19:04:44 +02:00
Ali Chraghi
d086b371f0
Compilation: strip debug info from ReleaseSmall by default
2022-10-11 17:51:25 +02:00
Andrew Kelley
c3d67c5c4e
Merge pull request #13117 from topolarity/compiler-rt-cmul
...
compiler-rt: Implement complex multiply/division
2022-10-11 05:51:47 -04:00
Tau
85b105d4f9
Update translate-c tests
2022-10-11 00:43:53 +02:00
Veikka Tuominen
b316c25cc6
Merge pull request #13075 from Vexu/stage2-fixes
...
Stage2 misc fixes
2022-10-10 23:27:17 +02:00
Veikka Tuominen
1f8ae10a38
Merge pull request #13091 from Vexu/small-proposals
...
Implement some small proposals
2022-10-10 23:26:56 +02:00
Tau
2ca503ec05
translate-c: Fix #12263
2022-10-10 22:29:56 +02:00
Cody Tapscott
a06185f362
C ABI: Add tests for complex float/double support
...
These tests will be failing on many platforms until #8465 is resolved.
Luckily, the particular function signature used for __divXc3 and __mulXc3
seems to be OK on x86-64.
2022-10-09 23:24:29 -07:00
Cody Tapscott
05915b85dd
compiler-rt: Implement mulXc3 and divXc3 functions
...
These are the standard complex multiplication/division functions
required by the C standard (Annex G).
Don't get me started on the standard's handling of complex-infinity...
2022-10-09 11:09:41 -07:00
Veikka Tuominen
3ccd4907fb
Sema: add error for capturing a runtime value outside of function scope
...
Closes #13104
2022-10-08 16:58:54 +03:00
Veikka Tuominen
b5c0a797a7
Sema: inline switch capture needs to be set when switch operand is comptime known
2022-10-08 16:58:52 +03:00
Veikka Tuominen
1500b9ddc3
Sema: restore sema.src after inline call
...
Closes #13099
2022-10-08 16:58:26 +03:00
Luuk de Gram
fda75f53fa
test/link: Add linker test for producers section
...
This also turns off non-debug modes for the bss linker tests for
Wasm. This is done as it's not required to guarantee to zero out
the bss section for non-debug modes.
2022-10-08 09:43:40 +02:00
Veikka Tuominen
4a6cc1c602
Sema: allow equality comparisons between error unions and error sets
...
Closes #1302
2022-10-07 11:04:02 +03:00
Veikka Tuominen
2315e1b410
safety: add safety check for hitting else branch on a corrupt enum value
...
Closes #7053
2022-10-07 11:04:02 +03:00
Veikka Tuominen
29ae6515f3
AstGen: use 'shadows' instead of 'redeclaration' when names are in different scopes
...
Closes #8532
2022-10-07 11:04:02 +03:00
Ali Chraghi
6672921e32
Sema: fix error location when casting pointer to slice
...
Co-authored-by: Veikka Tuominen <git@vexu.eu>
2022-10-06 21:18:01 +03:00
Veikka Tuominen
dffce98045
Sema: disallow using stage1 fn ptrs in extern contexts
...
Closes #13022
2022-10-06 20:09:45 +03:00
Veikka Tuominen
446deb31a8
Sema: validate bitSizeOf operand type
...
Closes #13080
2022-10-06 20:09:45 +03:00
Veikka Tuominen
775e055b59
Sema: generic function instantiation inherits parent's branch quota
...
Closes #12624
2022-10-06 20:09:45 +03:00
Veikka Tuominen
94039d66ed
Sema: disallow fieldParentPtr and offsetOf on comptime fields
...
Comptime fields are tied to the type and behave more like declarations
so these operations cannot return anything useful for them.
2022-10-06 20:09:45 +03:00
Veikka Tuominen
0b1dd845d9
stage2: add error for non-void error union payload being ignored
...
See https://github.com/ziglang/zig/pull/6060#discussion_r471032912
2022-10-06 15:39:06 +03:00
Veikka Tuominen
b626977f45
Sema: create sub block for inline loops
...
Closes #13038
2022-10-06 15:39:06 +03:00
r00ster91
8e2aaf6aed
fix(text): hyphenate "runtime" adjectives
2022-10-05 21:33:42 +02:00
r00ster91
51d9db8569
fix(text): hyphenate "comptime" adjectives
2022-10-05 21:19:30 +02:00
r00ster91
654e0b6679
fix(text): hyphenation and other fixes
2022-10-05 21:19:10 +02:00
Veikka Tuominen
ba4aa12098
Sema: use correct value when @ptrCast operand is comptime known
...
Closes #13034
2022-10-05 17:26:29 +03:00
Veikka Tuominen
40578656e8
Zir: handle ranges in getMultiProng
...
Closes #12890
2022-10-05 17:26:29 +03:00
Veikka Tuominen
c0350cf87e
Sema: avoid passing undefined as reason to failWithNeededComptime
...
Closes #13046
2022-10-05 17:26:29 +03:00
Veikka Tuominen
e563af1329
Merge pull request #12745 from Techcable/translate-c/packed-struct-implies-align1
...
translate-c: Translate clang packed struct C into Zig extern struct with align(1)
2022-10-05 15:35:11 +03:00
Andrew Kelley
ff534d2267
Merge pull request #12979 from Vexu/inline-switch
...
Implement inline switch cases
2022-10-03 23:43:09 -04:00
Andrew Kelley
54eb0f2daa
Merge pull request #13032 from jacobly0/br-on-undef-val
...
stage2: fix branches on undefined values
2022-10-03 22:46:22 -04:00
Jacob Young
9cad44770a
test/standalone: remove unneeded FnPtr
...
The behavior of this test is not affected by an extra level of
indirection.
2022-10-03 10:28:30 -04:00
Jacob Young
9d8cdb855b
Sema: fix function paramater count mismatch note
...
expected type 'fn() void', found 'fn(i32) void'
function with 0 parameters cannot cast into a function with 0 parameters
=>
expected type 'fn() void', found 'fn(i32) void'
function with 1 parameters cannot cast into a function with 0 parameters
2022-10-03 13:06:49 +03:00
Julian
32d755beb8
Sema: require reified packed struct fields to have zero alignment
2022-10-03 13:05:12 +03:00