kcbanner
4a330ab811
target: use 16 byte alignment for 128-bit types on x86 and ofmt .c
2023-01-23 13:48:37 -05:00
kcbanner
1aa2c32055
cbe: fixes for x86
...
- Emit calling convention
- Fix .Naked handling for msvc
- Add teb helper for x86
- Fix 128-bit shl implementation when rhs is >= 64
- Add 128-bit shl tests
2023-01-23 13:48:36 -05:00
joachimschmidt557
c0284e242f
stage2 ARM: add basic debug info for locals
...
Also disables one behavior test which was failing
2023-01-22 12:00:04 +01:00
Andrew Kelley
a51c76541d
Merge pull request #14403 from Vexu/fixes
...
Misc fixes
2023-01-22 00:36:50 -05:00
Veikka Tuominen
aa626deadd
llvm: implement explicit Win64 and SysV calling conventions
2023-01-22 01:04:20 +02:00
Veikka Tuominen
1f475de852
Sema: fix unwrapping null when reporting error on member access
...
Closes #14399
2023-01-22 01:04:20 +02:00
Veikka Tuominen
5259d11e3b
Sema: resolve fields before checking tuple len
...
Closes #14400
2023-01-22 00:12:37 +02:00
Veikka Tuominen
5f5ab49168
Value: implement compareAllWithZero for bytes and str_lit
...
Closes #10692
2023-01-22 00:12:37 +02:00
Veikka Tuominen
a492a607d5
type: correct condition for eliding pointer alignment canonicalization
...
Closes #14373
2023-01-22 00:12:37 +02:00
Veikka Tuominen
d284c00fda
Sema: handle lazy values in more places
...
* resolve lazy values in anon structs being passed to anytype params
* use `resolveMaybeUndefValIntable` where appropriate
Closes #14356
2023-01-22 00:12:36 +02:00
Jakub Konka
241cabdf3d
link-tests: do not expect __eh_frame section on x86_64-macos
2023-01-21 19:14:44 +01:00
Jakub Konka
983e373409
macho: fix sorting symbols by seniority
2023-01-21 16:53:46 +01:00
Jakub Konka
02db9933a4
macho: properly relocate target symbol address in __eh_frame
2023-01-21 14:11:56 +01:00
Jakub Konka
eb0c959b43
link-tests: update uuid test with new uuid values
...
Changes only pertain arm64 as for x86_64 turns out we are
missing one additional feature which is synthesising unwind info
from only eh frame records, or at least this is what it looks like
when I analysed the output of Apple's ld.
2023-01-20 21:27:57 +01:00
Jakub Konka
e0ccbff87d
link-tests: test unwind info emitter via c++ exceptions
2023-01-20 20:57:40 +01:00
Hardy
37fe41792c
added test for bitcast signaled nan float
...
This was fixed by MR #14201
closes #10449
2023-01-20 16:42:24 +02:00
Veikka Tuominen
fe6dcdba14
Merge pull request #14357 from kcbanner/llvm_byval_struct
...
llvm: implement Stdcall calling convention
2023-01-20 04:38:49 +02:00
kcbanner
c1bdf01533
tests: disable c_abi tests for windows when compiling on linux
2023-01-19 13:06:21 -05:00
Veikka Tuominen
2b7678bc42
llvm: implement Stdcall return types
2023-01-19 16:13:52 +02:00
kcbanner
5949851074
llvm: pass non-scalars as byref in .Stdcall
...
- add c_abi tests for .Stdcall
- enable (x86|x86_64)-windows-gnu in the c_abi tests
2023-01-19 00:37:56 -05:00
Jakub Konka
9d4a4e9ed1
link-tests: update uuid test with new uuid given dyld ops changes
2023-01-19 00:05:54 +01:00
Veikka Tuominen
e04547642a
Sema: promote smaller float types passed to variadic functions
...
Closes #6854
2023-01-17 20:28:43 +02:00
Veikka Tuominen
14f03fbd16
AstGen: reset source cursor before generating pointer attributes
...
These attributes can appear in any order but AstGen expects the source
cursor to be incremented in a monotonically increasing order.
Closes #14332
2023-01-17 20:28:43 +02:00
Veikka Tuominen
24646b8b5d
windows x86_64 C ABI: pass byref structs as byref_mut
2023-01-17 20:28:43 +02:00
Veikka Tuominen
8b35f09f4a
Sema: resolve lazy values in switch prong items
...
Closes #14330
2023-01-17 20:28:43 +02:00
Veikka Tuominen
6b037bad59
Sema: ignore dependency loops in typeinfo decls
...
This matches stage1 behavior.
Closes #14322
2023-01-17 20:28:43 +02:00
Veikka Tuominen
94be9dcc7f
enable passing compile error test
2023-01-17 20:28:43 +02:00
Veikka Tuominen
6e067dc050
llvm: do not offset packed struct field pointers if they have a host size
...
Closes #14261
2023-01-17 20:28:42 +02:00
Veikka Tuominen
342bae02d8
Sema: automatically optimize order of struct fields
...
This is a simple starting version of the optimization described in #168
where the fields are just sorted by order of descending alignment.
2023-01-16 19:46:41 +02:00
Techatrix
32544ed56c
swap align and callconv in function typeName
2023-01-16 14:04:03 +02:00
Veikka Tuominen
bb15e4057c
Merge pull request #14271 from Vexu/c-abi
...
float related C ABI fixes
2023-01-14 21:42:29 +02:00
Veikka Tuominen
0013042cbd
llvm: correctly handle C ABI structs with f32/f64 alignment differences
...
Closes #13830
2023-01-14 16:26:50 +02:00
Veikka Tuominen
5572c67e73
add C ABI tests for exotic float types
2023-01-14 16:26:50 +02:00
Veikka Tuominen
474848ac0b
also run C ABI tests with -OReleaseFast
2023-01-14 16:26:50 +02:00
Veikka Tuominen
d8128c272a
Sema: fix typeInfo decls with usingnamespace
...
Closes #12403
2023-01-11 21:11:21 +02:00
Veikka Tuominen
1658e4893d
AstGen: add note pointing to tuple field
...
Closes #14188
2023-01-11 21:11:21 +02:00
Veikka Tuominen
8b1780d939
Sema: fix condition for omitting comptime arg from function type
...
Closes #14164
2023-01-11 21:11:21 +02:00
Veikka Tuominen
83673a8b5f
fix errdefers in functions that can't return errors
...
This was broken by 58caed1c71179f48c4e7bffadef0392fa8381e72
Closes #14053
2023-01-10 19:17:42 +02:00
Andrew Kelley
a01d2ab0e3
Merge pull request #14210 from Vexu/compile-errors
...
improve struct/union field error locations
2023-01-05 20:05:14 -07:00
Andrew Kelley
b3e495a38a
Merge pull request #14202 from ziglang/std.http
...
std.http.Client: support HTTP redirects
2023-01-05 19:42:59 -07:00
Jan Philipp Hafer
301a89849b
tools: build all tools in ci to prevent bitrot
...
No LLVM assertions were triggered for me.
Closes #12015
Closes #12022
Closes #12223
2023-01-06 01:18:46 +02:00
Veikka Tuominen
f2faa303a5
Sema: handle enum expressions referencing local variables
...
Closes #12272
2023-01-05 22:03:32 +02:00
Veikka Tuominen
8c4727f9ab
Sema: remove generic function from monomorphed_funcs on any error
2023-01-05 14:26:53 +02:00
Veikka Tuominen
3e084d8de3
Sema: only untyped undefined should coerce to all types
...
Closes #13958
2023-01-05 14:26:53 +02:00
Veikka Tuominen
352c71873b
Sema: improve struct/union field error locations
...
Closes #14206
2023-01-05 13:11:36 +02:00
Veikka Tuominen
f83834993e
std: collect all options under one namespace
2023-01-05 02:31:29 -07:00
Michael Dusan
e0fb4c29cb
llvm codegen: fix f16,f32,f64 nan bitcasts
...
@bitCast from integer NaN representation to float NaN resulted in
changed bits in float. This only happened with signaled NaN.
- added test for signaled NaN
- added tests for quiet NaN (for completeness)
closes #14198
2023-01-05 02:22:30 -07:00
Andrew Kelley
ba1e53f116
avoid triggering LLVM bug on MIPS
...
See #13782
2023-01-05 00:03:59 -07:00
Michael Dusan
ed23615638
behavior: add test for #8277
...
Test `@sizeOf` reified union with zero-size payload fields.
closes #8277
2023-01-04 15:48:00 -05:00
joachimschmidt557
09122650ba
stage2 AArch64: bump up alignment of stack items fitting in regs
...
This enables us to use more efficient loading and storing for these
small stack items
2023-01-03 19:56:09 +01:00