From 0b90de2e773f439fa606ddf2bc403d2f42fa4c3d Mon Sep 17 00:00:00 2001 From: lemon Date: Wed, 18 Feb 2026 18:17:14 +0100 Subject: ir: basic inlining pass implementation --- test/16-inline.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 test/16-inline.c (limited to 'test') diff --git a/test/16-inline.c b/test/16-inline.c new file mode 100644 index 0000000..983d9b2 --- /dev/null +++ b/test/16-inline.c @@ -0,0 +1,22 @@ + +/* CFLAGS: -O1 */ +/* EXPECT: +25;0 +*/ + +static inline int sqr(int x) {return x*x;} +static inline int foo(int); +static inline int ind(int (*f)(int), int arg) { + return f(arg); +} + +#include +int main() { + int q = ind(sqr, 5); + printf("%d;%d\n", q, ind(foo,-2)); +} + +static inline int foo(int w) { + return w+2; +} + -- cgit v1.2.3