aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-02-09 18:52:32 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-02-09 18:52:32 -0700
commitf2f1c63daff8e47b6b901d53fd58805e54fcdf78 (patch)
tree042735c2220590eb2fae9222c97c1714e62319bf /lib
parentf5471299d81e809c706e147d2ea79c83aeb8b650 (diff)
downloadzig-f2f1c63daff8e47b6b901d53fd58805e54fcdf78.tar.gz
zig-f2f1c63daff8e47b6b901d53fd58805e54fcdf78.zip
stage2: add log and logf to freestanding libc
Diffstat (limited to 'lib')
-rw-r--r--lib/std/special/c.zig18
-rw-r--r--lib/std/special/c_stage1.zig8
2 files changed, 15 insertions, 11 deletions
diff --git a/lib/std/special/c.zig b/lib/std/special/c.zig
index a4aa4f66b2..8db26eb5a5 100644
--- a/lib/std/special/c.zig
+++ b/lib/std/special/c.zig
@@ -17,9 +17,13 @@ comptime {
if (builtin.zig_backend != .stage1) {
@export(memset, .{ .name = "memset", .linkage = .Strong });
@export(memcpy, .{ .name = "memcpy", .linkage = .Strong });
+
@export(trunc, .{ .name = "trunc", .linkage = .Strong });
@export(truncf, .{ .name = "truncf", .linkage = .Strong });
@export(truncl, .{ .name = "truncl", .linkage = .Strong });
+
+ @export(log, .{ .name = "log", .linkage = .Strong });
+ @export(logf, .{ .name = "logf", .linkage = .Strong });
} else {
_ = @import("c_stage1.zig");
}
@@ -80,17 +84,25 @@ fn memcpy(noalias dest: ?[*]u8, noalias src: ?[*]const u8, len: usize) callconv(
return dest;
}
-fn trunc(a: f64) f64 {
+fn trunc(a: f64) callconv(.C) f64 {
return math.trunc(a);
}
-fn truncf(a: f32) f32 {
+fn truncf(a: f32) callconv(.C) f32 {
return math.trunc(a);
}
-fn truncl(a: c_longdouble) c_longdouble {
+fn truncl(a: c_longdouble) callconv(.C) c_longdouble {
if (!long_double_is_f128) {
@panic("TODO implement this");
}
return math.trunc(a);
}
+
+fn log(a: f64) callconv(.C) f64 {
+ return math.ln(a);
+}
+
+fn logf(a: f32) callconv(.C) f32 {
+ return math.ln(a);
+}
diff --git a/lib/std/special/c_stage1.zig b/lib/std/special/c_stage1.zig
index 3ae93c2bdb..14bc2ac2de 100644
--- a/lib/std/special/c_stage1.zig
+++ b/lib/std/special/c_stage1.zig
@@ -708,14 +708,6 @@ export fn exp2f(a: f32) f32 {
return math.exp2(a);
}
-export fn log(a: f64) f64 {
- return math.ln(a);
-}
-
-export fn logf(a: f32) f32 {
- return math.ln(a);
-}
-
export fn log2(a: f64) f64 {
return math.log2(a);
}