Andrew Kelley
6152f043c0
stage2: resolve file before putting them into cache
...
This was an accidental misuse of the Cache API which intends to call
resolve on all file paths going into it. This one callsite was failing
to do that; fixed now.
Fixes relative file paths from making it into the global cache manifest.
See #13050
2022-10-05 00:42:08 -07:00
Andrew Kelley
f4c6e5d94e
CLI: better error message for bad input path
...
Previously it just said `error: NotDir` but now it says
`error: unable to open '<path>': NotDir`.
2022-10-05 00:41:17 -07:00
Andrew Kelley
ff534d2267
Merge pull request #12979 from Vexu/inline-switch
...
Implement inline switch cases
2022-10-03 23:43:09 -04:00
GethDW
9d5462dcb5
std: fix memory leak in ArrayHashMap ( #13001 )
2022-10-03 22:57:53 -04:00
Luuk de Gram
8bbb022500
std: WASI - update to latest snapshot preview 1
...
This implements the new addition to the API: `sock_accept`.
Reference commit of WASI spec:
0ba0c5e2e37625ca5a6d3e4255a998dfaa3efc52
For full details:
0ba0c5e2e3
For entire spec at this commit:
0ba0c5e2e3/phases/snapshot/docs.md
2022-10-03 22:48:57 -04:00
Jacob Young
0d92c2ca5b
stage2: add support for assembly debug info
...
Pulls out the -g cc flag addition to the common area so that it is also
applied to assembly files.
2022-10-03 22:48:26 -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
zooster
8eb96c32e3
docs(langref): fix outdated example
2022-10-03 22:41:48 -04:00
Jacob Young
38bd2bbcf2
stage2: fix C ABI for bool
...
This fixes a miscompilation compiling debug zig with release stage3 zig.
2022-10-03 22:41:07 -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
zooster
db5562deb0
std.os.windows: fix HANDLER_ROUTINE callconv
2022-10-03 13:05:38 +03:00
Julian
32d755beb8
Sema: require reified packed struct fields to have zero alignment
2022-10-03 13:05:12 +03:00
alex
2eb0909206
std.ChildProcess: correct fn getUserInfo pkg in setUserName
...
17b0166e moved getUserInfo from std.os to std.process
but ChildProcess.setUserName never updated the pkg name.
2022-10-03 12:59:47 +03:00
Jacob Young
272e31227c
llvm: add assert to reliably catch undefined value use
...
This assert makes it possible to detect a regression of #13030 in the
future without relying on undefined value tracking.
2022-10-01 09:03:28 -04:00
Jacob Young
b7bd44a654
Sema: ensure builtin.StackTrace fields are analyzed
...
When encountering a fn type that returns an error (union), a backend
that supports error return tracing will want the StackTrace struct and
its fields to be analyzed.
2022-10-01 08:09:43 -04:00
zooster
91b05ad473
std.math: allow comptime_float for radiansToDegrees and degreesToRadians
...
And some other minor things.
2022-10-01 13:46:20 +03:00
Jacob Young
8b66443d50
llvm: avoid undefined values by ensuring the StackTrace decl is analyzed
...
The test builds an object file to prevent StackTrace from already having
been analyzed by other code.
Fixes #13030
2022-10-01 04:02:09 -04:00
Jacob Young
d9490a4340
Sema: avoid undefined fields in file struct decls
...
Fixes original comment of #12399
2022-10-01 04:02:00 -04:00
Andrew Kelley
34835bbbcf
Merge pull request #13010 from Vexu/stage2-fixes
...
fix stack trace line numbers
2022-09-30 00:14:55 -04:00
Veikka Tuominen
2a4e89e0c9
Type: correctly handle ABI align strat for optionals and error unions
...
Closes #12984
2022-09-30 00:46:45 +03:00
Veikka Tuominen
3122601242
AstGen: do not set decl_line for containers
...
Previously AstGen would set decl_line for containers so that
declarations inside them would be relative to the start of the
container but Sema was not aware of the line offset of the container
and would make them relative to the containers parent decl which
would then break for generic structs.
In the future when working on incremental compilation it will likely
be better to communicate the line delta to Sema but for now this
is a simpler fix that correctly handles the non-incremental case.
Closes #12725
Closes #12818
2022-09-30 00:09:24 +03:00
Veikka Tuominen
b3c6d774d2
stage2: improve error message for missing member in file root struct
...
* the root struct decl name is fully qualified
this prevents error messages containing 'main.main'
* avoid declared here note when file struct is missing a member
It always points at the start of the file which might contain another
container misleading the user.
2022-09-30 00:09:24 +03:00
Veikka Tuominen
409cf4aeb8
Sema: use correct ptr ty to check for attributes of slice field ptr
...
Closes #12870
Closes #13006
2022-09-30 00:09:24 +03:00
r00ster91
f6312e4b69
docs: minor improvements
...
Just some minor improvements when passing by.
2022-09-29 21:40:25 +02:00
r00ster91
fda0b2c372
fix(std.testing.refAllDeclsRecursive): silently return if !builtin.is_test
2022-09-29 21:40:25 +02:00
ominitay
295451dfe5
std: Replace use of stage1 function pointers
2022-09-29 21:45:30 +03:00
Chris Boesch
9c99a88796
std.math: add "Greatest common divisor" (gcd)
2022-09-29 21:42:56 +03:00
Jakub Konka
36d2a55037
ci: update windows tarball
2022-09-29 18:43:16 +02:00
zooster
12896d36cb
std.builtin: un-pub testVersionParse()
2022-09-29 14:47:41 +03:00
Igor Anić
9f6f460124
Sema: improve source location in errors
...
resolves #12793
2022-09-29 14:45:08 +03:00
kkHAIKE
317cb629fb
Sema: fix resolveInferredErrorSet panic when generic inline function
2022-09-29 14:44:37 +03:00
Lee Cannon
8d288a5fa7
Fix Step.cast for OptionsStep and CheckObjectStep
2022-09-29 14:41:39 +03:00
Jacob Young
5e0d8a435e
testing: fix copy paste typo
2022-09-29 14:39:10 +03:00
Techatrix
9a2f17f9f9
Docs: clarify unreachable for ReleaseSmall
2022-09-28 13:30:55 +03:00
Evin Yulo
779c2daa19
Remove outdated comment
2022-09-28 13:00:00 +03:00
Jacob G-W
0a064eae99
stage2: detect duplicate enum values
...
Closes #12805
2022-09-28 12:48:54 +03:00
Cody Tapscott
e165b8b223
stage2: Fix multiple_llvm_int parameter passing
...
Small iteration oopsie
We could really use some more comprehensive C ABI tests.
2022-09-28 12:48:28 +03:00
Silver
f3a1b5c481
std/meta: make FieldEnum(T) == Tag(T) for tagged unions when values match field indices
2022-09-27 18:42:20 +03:00
InKryption
c75e8f3616
Sema: check that reified enum field values fits tag type.
2022-09-27 18:38:37 +03:00
Veikka Tuominen
c673e6a48a
Sema: avoid passing .unneeded to safetyPanic
2022-09-27 18:35:32 +03:00
Veikka Tuominen
17eea918ae
langref: document inline switch
2022-09-27 18:33:23 +03:00
Veikka Tuominen
d4917957ef
Sema: add better source location for inline prong backwards branch limit
2022-09-27 18:33:23 +03:00
Veikka Tuominen
509bb82b20
Sema: refactor common code to its own function
2022-09-27 18:33:23 +03:00
Veikka Tuominen
83fa216c8d
Sema: implement inline else for ints
2022-09-27 18:33:23 +03:00
Veikka Tuominen
950a0e2405
Sema: implement inline else for errors enums and bools
2022-09-27 18:33:23 +03:00
Veikka Tuominen
0e77259f44
add inline switch union tag captures
2022-09-27 18:33:23 +03:00
Veikka Tuominen
5baaf90e3c
Sema: implement non-special inline switch prongs
2022-09-27 18:33:23 +03:00
Veikka Tuominen
cccc4c3827
AstGen: analyze inline switch cases
2022-09-27 18:05:08 +03:00
Veikka Tuominen
07a7c2f7c8
stage2: remove redundant is_ref flag from SwitchBlock.Bits
2022-09-27 18:05:08 +03:00