refactor(ffi-linkage): Phase 6.3 — migrate std/ #foreign→extern
Pure source rename across 11 std modules (~60 sites): cli/core/fmt/fs/log/ net/kqueue/process/socket/thread/time/trace. All fn-decl markers — bare '#foreign;', '#foreign libc;'/'#foreign tlib;' (LIB ref), and '#foreign libc "csym";' (LIB+rename) → the same 'extern …' tail (extern carries the identical [LIB] ["csym"] axis). Plus 2 stale comment mentions (fmt/fs). No class forms in std. These modules ARE host-corpus-exercised, so the empty snapshot diff is direct validation. Suite green (647 corpus / 444 unit, 0 failed).
This commit is contained in:
@@ -28,17 +28,17 @@ libc :: #library "c";
|
||||
// variadic tail. Without that, the mode arg goes to the wrong
|
||||
// register on arm64 and the file ends up with mode 0.
|
||||
|
||||
open :: (path: [:0]u8, flags: i32, ..args: []i32) -> i32 #foreign libc;
|
||||
close :: (fd: i32) -> i32 #foreign libc;
|
||||
read :: (fd: i32, buf: [*]u8, count: usize) -> isize #foreign libc;
|
||||
write :: (fd: i32, buf: [*]u8, count: usize) -> isize #foreign libc;
|
||||
lseek :: (fd: i32, offset: i64, whence: i32) -> i64 #foreign libc;
|
||||
unlink :: (path: [:0]u8) -> i32 #foreign libc;
|
||||
rmdir :: (path: [:0]u8) -> i32 #foreign libc;
|
||||
mkdir :: (path: [:0]u8, mode: u32) -> i32 #foreign libc;
|
||||
access :: (path: [:0]u8, mode: i32) -> i32 #foreign libc;
|
||||
chmod :: (path: [:0]u8, mode: u32) -> i32 #foreign libc;
|
||||
rename :: (oldp: [:0]u8, newp: [:0]u8) -> i32 #foreign libc;
|
||||
open :: (path: [:0]u8, flags: i32, ..args: []i32) -> i32 extern libc;
|
||||
close :: (fd: i32) -> i32 extern libc;
|
||||
read :: (fd: i32, buf: [*]u8, count: usize) -> isize extern libc;
|
||||
write :: (fd: i32, buf: [*]u8, count: usize) -> isize extern libc;
|
||||
lseek :: (fd: i32, offset: i64, whence: i32) -> i64 extern libc;
|
||||
unlink :: (path: [:0]u8) -> i32 extern libc;
|
||||
rmdir :: (path: [:0]u8) -> i32 extern libc;
|
||||
mkdir :: (path: [:0]u8, mode: u32) -> i32 extern libc;
|
||||
access :: (path: [:0]u8, mode: i32) -> i32 extern libc;
|
||||
chmod :: (path: [:0]u8, mode: u32) -> i32 extern libc;
|
||||
rename :: (oldp: [:0]u8, newp: [:0]u8) -> i32 extern libc;
|
||||
|
||||
// macOS POSIX constants. Linux values differ; split into platform-
|
||||
// conditional includes when we gain a Linux host.
|
||||
@@ -101,7 +101,7 @@ File :: struct {
|
||||
|
||||
// ── High-level file API ─────────────────────────────────────────────
|
||||
// Named `open_file` (not `open`) so they don't shadow libc's `open`
|
||||
// symbol; the latter is needed for `#foreign libc` to resolve. Same
|
||||
// symbol; the latter is needed for `extern libc` to resolve. Same
|
||||
// idea for `delete_file`/`delete_dir` vs libc's `unlink`/`rmdir`,
|
||||
// `set_mode` vs libc's `chmod`, etc.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user