1f08c3bdfSopenharmony_cistatic const char messg[] = "def";
2f08c3bdfSopenharmony_ci
3f08c3bdfSopenharmony_cistatic inline int add(int a, int b)
4f08c3bdfSopenharmony_ci{
5f08c3bdfSopenharmony_ci	return a + b;
6f08c3bdfSopenharmony_ci}
7f08c3bdfSopenharmony_ci
8f08c3bdfSopenharmony_ciint  foo(int a, int b) { return add(a + b, 1); }
9f08c3bdfSopenharmony_civoid bar(int a, int b) {        add(a + b, 1); }
10f08c3bdfSopenharmony_ci
11f08c3bdfSopenharmony_ci
12f08c3bdfSopenharmony_cistatic inline const char *lstrip(const char *str)
13f08c3bdfSopenharmony_ci{
14f08c3bdfSopenharmony_ci	return str + 1;
15f08c3bdfSopenharmony_ci}
16f08c3bdfSopenharmony_ci
17f08c3bdfSopenharmony_ciconst char *bas(void) { return lstrip("abc"); }
18f08c3bdfSopenharmony_ciconst char *qus(void) { return lstrip(messg); }
19f08c3bdfSopenharmony_ci
20f08c3bdfSopenharmony_ci/*
21f08c3bdfSopenharmony_ci * check-name: call-inlined
22f08c3bdfSopenharmony_ci * check-command: test-linearize -Wno-decl -m64 $file
23f08c3bdfSopenharmony_ci * check-assert: sizeof(void*) == 8
24f08c3bdfSopenharmony_ci *
25f08c3bdfSopenharmony_ci * check-output-start
26f08c3bdfSopenharmony_cifoo:
27f08c3bdfSopenharmony_ci.L0:
28f08c3bdfSopenharmony_ci	<entry-point>
29f08c3bdfSopenharmony_ci	add.32      %r3 <- %arg1, %arg2
30f08c3bdfSopenharmony_ci	add.32      %r5 <- %r3, $1
31f08c3bdfSopenharmony_ci	# call      %r6 <- add, %r3, $1
32f08c3bdfSopenharmony_ci	ret.32      %r5
33f08c3bdfSopenharmony_ci
34f08c3bdfSopenharmony_ci
35f08c3bdfSopenharmony_cibar:
36f08c3bdfSopenharmony_ci.L3:
37f08c3bdfSopenharmony_ci	<entry-point>
38f08c3bdfSopenharmony_ci	# call      %r13 <- add, %r10, $1
39f08c3bdfSopenharmony_ci	ret
40f08c3bdfSopenharmony_ci
41f08c3bdfSopenharmony_ci
42f08c3bdfSopenharmony_cibas:
43f08c3bdfSopenharmony_ci.L6:
44f08c3bdfSopenharmony_ci	<entry-point>
45f08c3bdfSopenharmony_ci	add.64      %r16 <- "abc", $1
46f08c3bdfSopenharmony_ci	# call      %r17 <- lstrip, %r14
47f08c3bdfSopenharmony_ci	ret.64      %r16
48f08c3bdfSopenharmony_ci
49f08c3bdfSopenharmony_ci
50f08c3bdfSopenharmony_ciqus:
51f08c3bdfSopenharmony_ci.L9:
52f08c3bdfSopenharmony_ci	<entry-point>
53f08c3bdfSopenharmony_ci	add.64      %r21 <- messg, $1
54f08c3bdfSopenharmony_ci	# call      %r22 <- lstrip, %r19
55f08c3bdfSopenharmony_ci	ret.64      %r21
56f08c3bdfSopenharmony_ci
57f08c3bdfSopenharmony_ci
58f08c3bdfSopenharmony_ci * check-output-end
59f08c3bdfSopenharmony_ci */
60