| author | |
| committer | |
| log | 2b76221a468d1d4556b8f512a069b703f621cc2c |
| tree | a4982f04f7ed30d94584605554feeefbe3da172d |
| parent | 892ce7ef527c863d84f3085f79f1a5aec7161c2c |
solves the problem presented in the previous commit message2 files changed, 5 insertions(+), 5 deletions(-)
lib/compiler/test_runner.zig+2-3| ... | @@ -345,7 +345,7 @@ const FuzzerSlice = extern struct { | ... | @@ -345,7 +345,7 @@ const FuzzerSlice = extern struct { |
| 345 | 345 | ||
| 346 | var is_fuzz_test: bool = undefined; | 346 | var is_fuzz_test: bool = undefined; |
| 347 | 347 | ||
| 348 | extern fn fuzzer_start() void; | 348 | extern fn fuzzer_start(testOne: *const fn ([*]const u8, usize) callconv(.C) void) void; |
| 349 | extern fn fuzzer_init(cache_dir: FuzzerSlice) void; | 349 | extern fn fuzzer_init(cache_dir: FuzzerSlice) void; |
| 350 | extern fn fuzzer_coverage_id() u64; | 350 | extern fn fuzzer_coverage_id() u64; |
| 351 | 351 | ||
| ... | @@ -394,8 +394,7 @@ pub fn fuzz( | ... | @@ -394,8 +394,7 @@ pub fn fuzz( |
| 394 | } | 394 | } |
| 395 | }; | 395 | }; |
| 396 | if (builtin.fuzz) { | 396 | if (builtin.fuzz) { |
| 397 | @export(&global.fuzzer_one, .{ .name = "fuzzer_one" }); | 397 | fuzzer_start(&global.fuzzer_one); |
| 398 | fuzzer_start(); | ||
| 399 | return; | 398 | return; |
| 400 | } | 399 | } |
| 401 | 400 |
lib/fuzzer.zig+3-2| ... | @@ -423,9 +423,10 @@ export fn fuzzer_coverage_id() u64 { | ... | @@ -423,9 +423,10 @@ export fn fuzzer_coverage_id() u64 { |
| 423 | return fuzzer.coverage_id; | 423 | return fuzzer.coverage_id; |
| 424 | } | 424 | } |
| 425 | 425 | ||
| 426 | extern fn fuzzer_one(input_ptr: [*]const u8, input_len: usize) callconv(.C) void; | 426 | var fuzzer_one: *const fn (input_ptr: [*]const u8, input_len: usize) callconv(.C) void = undefined; |
| 427 | 427 | ||
| 428 | export fn fuzzer_start() void { | 428 | export fn fuzzer_start(testOne: @TypeOf(fuzzer_one)) void { |
| 429 | fuzzer_one = testOne; | ||
| 429 | fuzzer.start() catch |err| switch (err) { | 430 | fuzzer.start() catch |err| switch (err) { |
| 430 | error.OutOfMemory => fatal("out of memory", .{}), | 431 | error.OutOfMemory => fatal("out of memory", .{}), |
| 431 | }; | 432 | }; |