1f08c3bdfSopenharmony_ciextern int fun(int);
2f08c3bdfSopenharmony_ci
3f08c3bdfSopenharmony_citypedef int (*fun_t)(int);
4f08c3bdfSopenharmony_ci
5f08c3bdfSopenharmony_cifun_t fa(void) { return &fun; }
6f08c3bdfSopenharmony_cifun_t f0(void) { return  fun; }
7f08c3bdfSopenharmony_cifun_t f1(void) { return *fun; }
8f08c3bdfSopenharmony_ci
9f08c3bdfSopenharmony_ci/*
10f08c3bdfSopenharmony_ci * check-name: degen-function
11f08c3bdfSopenharmony_ci * check-command: test-linearize -m64 -Wno-decl -fdump-ir=linearize $file
12f08c3bdfSopenharmony_ci * check-assert: sizeof(void *) == 8
13f08c3bdfSopenharmony_ci *
14f08c3bdfSopenharmony_ci * check-output-start
15f08c3bdfSopenharmony_cifa:
16f08c3bdfSopenharmony_ci.L0:
17f08c3bdfSopenharmony_ci	<entry-point>
18f08c3bdfSopenharmony_ci	symaddr.64  %r1 <- fun
19f08c3bdfSopenharmony_ci	phisrc.64   %phi1(return) <- %r1
20f08c3bdfSopenharmony_ci	br          .L1
21f08c3bdfSopenharmony_ci
22f08c3bdfSopenharmony_ci.L1:
23f08c3bdfSopenharmony_ci	phi.64      %r2 <- %phi1(return)
24f08c3bdfSopenharmony_ci	ret.64      %r2
25f08c3bdfSopenharmony_ci
26f08c3bdfSopenharmony_ci
27f08c3bdfSopenharmony_cif0:
28f08c3bdfSopenharmony_ci.L2:
29f08c3bdfSopenharmony_ci	<entry-point>
30f08c3bdfSopenharmony_ci	symaddr.64  %r3 <- fun
31f08c3bdfSopenharmony_ci	phisrc.64   %phi2(return) <- %r3
32f08c3bdfSopenharmony_ci	br          .L3
33f08c3bdfSopenharmony_ci
34f08c3bdfSopenharmony_ci.L3:
35f08c3bdfSopenharmony_ci	phi.64      %r4 <- %phi2(return)
36f08c3bdfSopenharmony_ci	ret.64      %r4
37f08c3bdfSopenharmony_ci
38f08c3bdfSopenharmony_ci
39f08c3bdfSopenharmony_cif1:
40f08c3bdfSopenharmony_ci.L4:
41f08c3bdfSopenharmony_ci	<entry-point>
42f08c3bdfSopenharmony_ci	symaddr.64  %r5 <- fun
43f08c3bdfSopenharmony_ci	phisrc.64   %phi3(return) <- %r5
44f08c3bdfSopenharmony_ci	br          .L5
45f08c3bdfSopenharmony_ci
46f08c3bdfSopenharmony_ci.L5:
47f08c3bdfSopenharmony_ci	phi.64      %r6 <- %phi3(return)
48f08c3bdfSopenharmony_ci	ret.64      %r6
49f08c3bdfSopenharmony_ci
50f08c3bdfSopenharmony_ci
51f08c3bdfSopenharmony_ci * check-output-end
52f08c3bdfSopenharmony_ci */
53