mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
multiple files example no longer use libc
This commit is contained in:
parent
e64c0941f9
commit
333a322127
@ -1,9 +1,9 @@
|
||||
use "libc.zig";
|
||||
use "std.zig";
|
||||
|
||||
// purposefully conflicting function with main.zig
|
||||
// but it's private so it should be OK
|
||||
fn private_function() {
|
||||
puts(c"it works!");
|
||||
print_str("OK 1\n");
|
||||
}
|
||||
|
||||
pub fn print_text() {
|
||||
|
||||
@ -1,5 +0,0 @@
|
||||
#link("c")
|
||||
extern {
|
||||
pub fn puts(s: &const u8) -> i32;
|
||||
pub fn exit(code: i32) -> unreachable;
|
||||
}
|
||||
@ -1,13 +1,14 @@
|
||||
export executable "test-multiple-files";
|
||||
|
||||
use "libc.zig";
|
||||
use "std.zig";
|
||||
use "foo.zig";
|
||||
|
||||
export fn _start() -> unreachable {
|
||||
pub fn main(argc: isize, argv: &&u8, env: &&u8) -> i32 {
|
||||
private_function();
|
||||
print_str("OK 2\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
fn private_function() -> unreachable {
|
||||
fn private_function() {
|
||||
print_text();
|
||||
exit(0);
|
||||
}
|
||||
|
||||
@ -82,13 +82,13 @@ struct Rand {
|
||||
}
|
||||
|
||||
/// Initialize random state with the given seed.
|
||||
pub fn rand_init(seed: u32) -> (out: Rand) {
|
||||
out.index = 0;
|
||||
out.array[0] = seed;
|
||||
pub fn rand_init(r: &Rand, seed: u32) {
|
||||
r.index = 0;
|
||||
r.array[0] = seed;
|
||||
var i : #typeof(ARRAY_SIZE) = 1;
|
||||
while (i < ARRAY_SIZE) {
|
||||
const prev_value : u64 = out.array[i - 1];
|
||||
out.array[i] = ((previous_value ^ (previous_value << 30)) * 0x6c078965 + i) as u32;
|
||||
const prev_value : u64 = r.array[i - 1];
|
||||
r.array[i] = ((previous_value ^ (previous_value << 30)) * 0x6c078965 + i) as u32;
|
||||
i += 1;
|
||||
}
|
||||
}
|
||||
|
||||
@ -144,39 +144,32 @@ static void add_compiling_test_cases(void) {
|
||||
|
||||
{
|
||||
TestCase *tc = add_simple_case("multiple files with private function", R"SOURCE(
|
||||
use "libc.zig";
|
||||
use "foo.zig";
|
||||
use "std.zig";
|
||||
use "foo.zig";
|
||||
|
||||
export fn main(argc: i32, argv: &&u8, env: &&u8) -> i32 {
|
||||
private_function();
|
||||
}
|
||||
pub fn main(argc: isize, argv: &&u8, env: &&u8) -> i32 {
|
||||
private_function();
|
||||
print_str("OK 2\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
fn private_function() -> unreachable {
|
||||
print_text();
|
||||
exit(0);
|
||||
}
|
||||
)SOURCE", "OK\n");
|
||||
|
||||
add_source_file(tc, "libc.zig", R"SOURCE(
|
||||
#link("c")
|
||||
extern {
|
||||
pub fn puts(s: &const u8) -> i32;
|
||||
pub fn exit(code: i32) -> unreachable;
|
||||
}
|
||||
)SOURCE");
|
||||
fn private_function() {
|
||||
print_text();
|
||||
}
|
||||
)SOURCE", "OK 1\nOK 2\n");
|
||||
|
||||
add_source_file(tc, "foo.zig", R"SOURCE(
|
||||
use "libc.zig";
|
||||
use "std.zig";
|
||||
|
||||
// purposefully conflicting function with main source file
|
||||
// but it's private so it should be OK
|
||||
fn private_function() {
|
||||
puts(c"OK");
|
||||
}
|
||||
// purposefully conflicting function with main.zig
|
||||
// but it's private so it should be OK
|
||||
fn private_function() {
|
||||
print_str("OK 1\n");
|
||||
}
|
||||
|
||||
pub fn print_text() {
|
||||
private_function();
|
||||
}
|
||||
pub fn print_text() {
|
||||
private_function();
|
||||
}
|
||||
)SOURCE");
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user