aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2019-12-06 15:25:00 -0500
committerAndrew Kelley <andrew@ziglang.org>2019-12-06 15:25:00 -0500
commit656cc33f8d49cb5e79cd3f9f8f56963747d43ed6 (patch)
treee35ada7d719c2ab2e486f4bd6ba32261a35e40be /lib
parent71b7f4b47f69e9b3241e9d44554572258f5eb5b1 (diff)
downloadzig-656cc33f8d49cb5e79cd3f9f8f56963747d43ed6.tar.gz
zig-656cc33f8d49cb5e79cd3f9f8f56963747d43ed6.zip
allow calling with a new stack to regress a bit
Calling with a new stack, with a runtime-known stack pointer (e.g. not a global variable) is regressed with this branch. It is now a compile-error, due to the Runtime Hint system not being smart enough to mix a compile-time modifier field with a runtime stack field. I'm OK with this regression because this feature is flawed (see #3268) and may be deleted from the language.
Diffstat (limited to 'lib')
-rw-r--r--lib/std/builtin.zig14
1 files changed, 4 insertions, 10 deletions
diff --git a/lib/std/builtin.zig b/lib/std/builtin.zig
index 8ac58ad2f4..35188b61e3 100644
--- a/lib/std/builtin.zig
+++ b/lib/std/builtin.zig
@@ -382,16 +382,6 @@ pub const CallOptions = struct {
/// Equivalent to function call syntax.
auto,
- /// Asserts that the function call will not suspend. This allows a
- /// non-async function to call an async function.
- no_async,
-
- /// The function call will return an async function frame instead of
- /// the function's result, which is expected to then be awaited.
- /// This is equivalent to using the `async` keyword in front of function
- /// call syntax.
- async_call,
-
/// Prevents tail call optimization. This guarantees that the return
/// address will point to the callsite, as opposed to the callsite's
/// callsite. If the call is otherwise required to be tail-called
@@ -402,6 +392,10 @@ pub const CallOptions = struct {
/// otherwise required to be inlined, a compile error is emitted instead.
never_inline,
+ /// Asserts that the function call will not suspend. This allows a
+ /// non-async function to call an async function.
+ no_async,
+
/// Guarantees that the call will be generated with tail call optimization.
/// If this is not possible, a compile error is emitted instead.
always_tail,