1 /*
2  * Copyright (c) 2024 Meta
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #include <stdio.h>
8 #include <stdbool.h>
9 
10 #include <zephyr/kernel.h>
11 
12 static void func1(int a);
13 static void func2(int a);
14 
func2(int a)15 static void __noinline func2(int a)
16 {
17 	printf("%d: %s\n", a, __func__);
18 
19 	if (a >= 5) {
20 		k_oops();
21 	}
22 
23 	func1(a + 1);
24 	printf("bottom %d: %s\n", a, __func__);
25 }
26 
func1(int a)27 static void __noinline func1(int a)
28 {
29 	printf("%d: %s\n", a, __func__);
30 	func2(a + 1);
31 	printf("bottom %d: %s\n", a, __func__);
32 }
33 
main(void)34 int main(void)
35 {
36 	printf("Hello World! %s\n", CONFIG_BOARD);
37 
38 	func1(1);
39 
40 	return 0;
41 }
42