1f08c3bdfSopenharmony_cistruct s {
2f08c3bdfSopenharmony_ci	int (*fun)(void);
3f08c3bdfSopenharmony_ci};
4f08c3bdfSopenharmony_ci
5f08c3bdfSopenharmony_ciinline struct s *inl(struct s *p)
6f08c3bdfSopenharmony_ci{
7f08c3bdfSopenharmony_ci	1 + 0;
8f08c3bdfSopenharmony_ci	return p;
9f08c3bdfSopenharmony_ci}
10f08c3bdfSopenharmony_ci
11f08c3bdfSopenharmony_cistatic void tst(struct s *s)
12f08c3bdfSopenharmony_ci{
13f08c3bdfSopenharmony_ci	inl(s)->fun();
14f08c3bdfSopenharmony_ci}
15f08c3bdfSopenharmony_ci
16f08c3bdfSopenharmony_ci/*
17f08c3bdfSopenharmony_ci * check-name: function-pointer
18f08c3bdfSopenharmony_ci * check-command: test-linearize -fdump-ir $file
19f08c3bdfSopenharmony_ci *
20f08c3bdfSopenharmony_ci * check-output-ignore
21f08c3bdfSopenharmony_ci * check-output-excludes: add\\.32.*\\$1, \\$0
22f08c3bdfSopenharmony_ci */
23