Files
c3c/test/test_suite/expressions/call_inline.c3t
2023-04-28 19:11:57 +02:00

49 lines
808 B
Plaintext

// #target: macos-x64
module inlineme;
import std::io;
fn void test1() @inline
{
io::printn("Inline!");
}
fn void test2() @noinline
{
io::printn("No inline!");
}
fn void test3()
{
io::printn("Plain");
}
fn void main()
{
test1() @inline;
test2() @inline;
test3() @inline;
test1() @noinline;
test2() @noinline;
test3() @noinline;
test1();
test2();
test3();
}
/* #expect: inlineme.ll
entry:
call void @inlineme.test1() #3
call void @inlineme.test2() #3
call void @inlineme.test3() #3
call void @inlineme.test1() #4
call void @inlineme.test2() #4
call void @inlineme.test3() #4
call void @inlineme.test1() #3
call void @inlineme.test2()
call void @inlineme.test3()
ret void
}
attributes #3 = { alwaysinline }
attributes #4 = { noinline }