mlugg
6d71d79dc2
Package: store package name directly
...
By @Vexu's suggestion, since fetching the name from the parent package
is error-prone and complex, and optimising Package for size isn't really
a priority.
2023-01-22 19:00:03 +00:00
Veikka Tuominen
a28fbf3132
Sema: fix error message for bad pointer arithmetic
...
Closes #14388
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
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
Veikka Tuominen
fc066992d9
Sema: do not create slices with undefined pointers
...
The undef pointer ended up being zero on wasm32.
2023-01-17 20:28:43 +02:00
Veikka Tuominen
3b2c421102
Sema: fix bad boolean logic for cast to null panic
...
Closes #14349
2023-01-17 20:28:43 +02: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
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
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
Veikka Tuominen
d8128c272a
Sema: fix typeInfo decls with usingnamespace
...
Closes #12403
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
Veikka Tuominen
fd6b79e67f
Sema: restore status on layout resolution failure
...
`resolveTypeFields` and `resolveTypeFully` already do this.
Closes #14059
2023-01-10 18:38:44 +02:00
Techatrix
1f8f79cd53
std: add helper functions to std.zig.Ast for extracting data out of nodes
2023-01-09 16:59:19 +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
01dba1c054
Sema: add system for checking backend feature support
2023-01-05 14:26:53 +02:00
Veikka Tuominen
0ecec5fcca
resolve some TODOs
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
Maciej 'vesim' Kuliński
2b9478ce12
Sema: implement AVR address spaces
...
Co-authored-by: Veikka Tuominen <git@vexu.eu>
2023-01-04 01:26:50 +02:00
Veikka Tuominen
abd005f302
Sema: do not immediately destroy failed generic instantiation
...
Closes #12535
Closes #12765
Closes #12927
2023-01-03 18:38:15 +02:00
Veikka Tuominen
b048fa4f13
Sema: prevent spurious "depends on itself" errors
...
Closes #14059
2023-01-02 19:23:09 +02:00
Veikka Tuominen
332a43858a
Sema: @intToEnum on non-exhaustive enum at comptime should check int is in range
...
Closes #14155
2023-01-02 17:06:06 +02:00
Veikka Tuominen
4e64373fc0
fix generic function arg debug info referencing wrong parameter
...
Closes #14123
2022-12-30 17:00:50 +02:00
Veikka Tuominen
54160e7f6a
Sema: make overflow arithmetic builtins return tuples
2022-12-27 15:13:14 +02:00
Andrew Kelley
1b86a628ac
Merge pull request #14015 from Vexu/recursive-inline
...
Sema: add error for recursive inline call
2022-12-26 20:34:22 -05:00
Veikka Tuominen
81443fcde8
Sema: add error for recursive inline call
...
Closes #12973
2022-12-26 16:36:30 +02:00
Veikka Tuominen
3535c4b3b6
Sema: fix elem ptr type of vector in slice
...
Closes #14071
2022-12-26 15:26:27 +02:00
Jacob Young
64865679cf
Sema: add missing resolveLazyValue cases
...
Closes #14032
2022-12-26 04:39:32 -05:00
Jacob Young
8dd844d96f
Sema: fix typo
2022-12-26 04:18:08 -05:00
Matt Knight
cf822c6ddd
@export() with linksection option ( #14035 )
2022-12-25 20:19:50 -05:00
Jacob Young
f5b6019646
Sema: fix missing struct layout for llvm backend
...
Closes #14063
2022-12-25 20:18:15 -05:00
Jacob Young
6cd8004213
Sema: relax undefined checks for concat
...
Closes #14037
2022-12-24 02:40:33 -05:00
Jacob Young
0559cdb554
Sema: support concat of tuple and array
...
Closes #14041
2022-12-24 02:40:33 -05:00
Veikka Tuominen
6da070c5ac
Sema: fix crash with generic function with generic function parameter
...
Closes #12810
2022-12-20 17:32:04 +02:00
Veikka Tuominen
6511afcfe0
Sema: fix coercion from [:0]T to [*c]T
2022-12-19 20:45:53 +02:00
Veikka Tuominen
0c1d8659c5
Sema: print notes and reference traces when using --debug-compile-errors
2022-12-19 17:01:44 +02:00
Veikka Tuominen
ee334aea80
value: remove indexVectorlike
...
Vectors can represented in all the same values as arrays
so this was never a valid shortcut.
2022-12-19 17:01:44 +02:00
Veikka Tuominen
0eddf0cbc0
Sema: fix condition for non-pointer noalias error
...
Closes #13987
2022-12-19 12:19:25 +02:00
Andrew Kelley
aca9c74e80
Merge pull request #13914 from Vexu/variadic
...
implement defining C variadic functions
2022-12-18 16:24:13 -05:00
Veikka Tuominen
40ed6ae846
Merge pull request #13930 from r00ster91/renamings
...
std.builtin: renamings
2022-12-18 19:33:15 +02:00
shwqf
11a81e1b29
Call ensureResultUsed before comptime .call is evaluated.
...
Fixes #12580
2022-12-18 16:04:33 +02:00
r00ster91
ceff03f3e9
std.builtin: remove layout field from Type.Enum
2022-12-18 13:31:38 +01:00
Veikka Tuominen
901c3e9636
Merge pull request #13552 from hryx/comparus-tautologicus
...
Sema: elide integer comparisons with guaranteed outcomes
2022-12-18 01:57:49 +02:00
r00ster91
aac2d6b56f
std.builtin: rename Type.UnionField and Type.StructField's field_type to type
2022-12-17 14:11:33 +01:00
r00ster91
20d3fd901e
std.builtin: rename Type.Fn.Param's arg_type to type
...
It's the type of a parameter, not an argument, but the prefix is redundant either way.
2022-12-17 14:11:33 +01:00