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