aboutsummaryrefslogtreecommitdiff
path: root/lib/std/builtin.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2019-12-05 16:55:32 -0500
committerAndrew Kelley <andrew@ziglang.org>2019-12-05 17:07:15 -0500
commit1f602fe8c5b3dea9f00f96e70dad73ebce405b49 (patch)
tree30df1e8c6fd6f4dd99d91679aa02c79e0ff75c5f /lib/std/builtin.zig
parent38791ac616069963fd808ec724161b93cbc564c1 (diff)
downloadzig-1f602fe8c5b3dea9f00f96e70dad73ebce405b49.tar.gz
zig-1f602fe8c5b3dea9f00f96e70dad73ebce405b49.zip
implement `@call`
closes #3732
Diffstat (limited to 'lib/std/builtin.zig')
-rw-r--r--lib/std/builtin.zig18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/std/builtin.zig b/lib/std/builtin.zig
index 89acb0df60..791d46bc34 100644
--- a/lib/std/builtin.zig
+++ b/lib/std/builtin.zig
@@ -372,6 +372,24 @@ pub const Version = struct {
patch: u32,
};
+/// This data structure is used by the Zig language code generation and
+/// therefore must be kept in sync with the compiler implementation.
+pub const CallOptions = struct {
+ modifier: Modifier = .auto,
+ stack: ?[]align(std.Target.stack_align) u8 = null,
+
+ pub const Modifier = enum {
+ auto,
+ no_async,
+ async_call,
+ never_tail,
+ never_inline,
+ always_tail,
+ always_inline,
+ compile_time,
+ };
+};
+
/// This function type is used by the Zig language code generation and
/// therefore must be kept in sync with the compiler implementation.
pub const PanicFn = fn ([]const u8, ?*StackTrace) noreturn;