Some function doc tweaks (#1961)

* Add docs for the inline function attribute

* Remove outdated comment

Seems like a leftover from when implicit returns were around.

* Consistent terminology
This commit is contained in:
John Schmidt 2019-02-18 23:53:41 +01:00 committed by Andrew Kelley
parent 043090020f
commit 99adda9df5

View File

@ -3169,7 +3169,6 @@ const assert = @import("std").debug.assert;
// Functions are declared like this
fn add(a: i8, b: i8) i8 {
if (a == 0) {
// You can still return manually if needed.
return b;
}
@ -3193,12 +3192,18 @@ fn abort() noreturn {
while (true) {}
}
// nakedcc makes a function not have any function prologue or epilogue.
// The nakedcc specifier makes a function not have any function prologue or epilogue.
// This can be useful when integrating with assembly.
nakedcc fn _start() noreturn {
abort();
}
// The inline specifier forces a function to be inlined at all call sites.
// If the function cannot be inlined, it is a compile-time error.
inline fn shiftLeftOne(a: u32) u32 {
return a << 1;
}
// The pub specifier allows the function to be visible when importing.
// Another file can use @import and call sub2
pub fn sub2(a: i8, b: i8) i8 { return a - b; }