diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2018-01-25 04:10:11 -0500 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2018-01-25 04:10:11 -0500 |
| commit | 3671582c15235e5f79a84936ea2f834f6968ff8c (patch) | |
| tree | 7fa2c7f06331feaad43ba63b0969add120633d49 /std/special/bootstrap.zig | |
| parent | e5bc5873d74713bedbc32817ed31370c3256418d (diff) | |
| download | zig-3671582c15235e5f79a84936ea2f834f6968ff8c.tar.gz zig-3671582c15235e5f79a84936ea2f834f6968ff8c.zip | |
syntax: functions require return type. remove `->`
The purpose of this is:
* Only one way to do things
* Changing a function with void return type to return a possible
error becomes a 1 character change, subtly encouraging
people to use errors.
See #632
Here are some imperfect sed commands for performing this update:
remove arrow:
```
sed -i 's/\(\bfn\b.*\)-> /\1/g' $(find . -name "*.zig")
```
add void:
```
sed -i 's/\(\bfn\b.*\))\s*{/\1) void {/g' $(find ../ -name "*.zig")
```
Some cleanup may be necessary, but this should do the bulk of the work.
Diffstat (limited to 'std/special/bootstrap.zig')
| -rw-r--r-- | std/special/bootstrap.zig | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/std/special/bootstrap.zig b/std/special/bootstrap.zig index 77bb7316a9..bcb3456353 100644 --- a/std/special/bootstrap.zig +++ b/std/special/bootstrap.zig @@ -20,11 +20,11 @@ comptime { } } -extern fn zenMain() -> noreturn { +extern fn zenMain() noreturn { std.os.posix.exit(callMain()); } -nakedcc fn _start() -> noreturn { +nakedcc fn _start() noreturn { switch (builtin.arch) { builtin.Arch.x86_64 => { argc_ptr = asm("lea (%%rsp), %[argc]": [argc] "=r" (-> &usize)); @@ -39,20 +39,20 @@ nakedcc fn _start() -> noreturn { @noInlineCall(posixCallMainAndExit); } -extern fn WinMainCRTStartup() -> noreturn { +extern fn WinMainCRTStartup() noreturn { @setAlignStack(16); std.os.windows.ExitProcess(callMain()); } -fn posixCallMainAndExit() -> noreturn { +fn posixCallMainAndExit() noreturn { const argc = *argc_ptr; const argv = @ptrCast(&&u8, &argc_ptr[1]); const envp = @ptrCast(&?&u8, &argv[argc + 1]); std.os.posix.exit(callMainWithArgs(argc, argv, envp)); } -fn callMainWithArgs(argc: usize, argv: &&u8, envp: &?&u8) -> u8 { +fn callMainWithArgs(argc: usize, argv: &&u8, envp: &?&u8) u8 { std.os.ArgIteratorPosix.raw = argv[0..argc]; var env_count: usize = 0; @@ -62,11 +62,11 @@ fn callMainWithArgs(argc: usize, argv: &&u8, envp: &?&u8) -> u8 { return callMain(); } -extern fn main(c_argc: i32, c_argv: &&u8, c_envp: &?&u8) -> i32 { +extern fn main(c_argc: i32, c_argv: &&u8, c_envp: &?&u8) i32 { return callMainWithArgs(usize(c_argc), c_argv, c_envp); } -fn callMain() -> u8 { +fn callMain() u8 { switch (@typeId(@typeOf(root.main).ReturnType)) { builtin.TypeId.NoReturn => { root.main(); |
