1f08c3bdfSopenharmony_ciunion u {
2f08c3bdfSopenharmony_ci	int i;
3f08c3bdfSopenharmony_ci	struct s {
4f08c3bdfSopenharmony_ci		int a;
5f08c3bdfSopenharmony_ci	} s;
6f08c3bdfSopenharmony_ci};
7f08c3bdfSopenharmony_ci
8f08c3bdfSopenharmony_ciint foo(void)
9f08c3bdfSopenharmony_ci{
10f08c3bdfSopenharmony_ci	struct s s = { 3 };
11f08c3bdfSopenharmony_ci	union u u = (union u)s;
12f08c3bdfSopenharmony_ci	return u.s.a;
13f08c3bdfSopenharmony_ci}
14f08c3bdfSopenharmony_ci
15f08c3bdfSopenharmony_ci/*
16f08c3bdfSopenharmony_ci * check-name: union-cast
17f08c3bdfSopenharmony_ci * check-command: test-linearize -Wno-decl -fdump-ir $file
18f08c3bdfSopenharmony_ci * check-known-to-fail
19f08c3bdfSopenharmony_ci *
20f08c3bdfSopenharmony_ci * check-output-ignore
21f08c3bdfSopenharmony_ci * check-output-excludes: load\\.
22f08c3bdfSopenharmony_ci *
23f08c3bdfSopenharmony_ci * check-error-start
24f08c3bdfSopenharmony_ciunion-cast.c:11:22: warning: cast to non-scalar
25f08c3bdfSopenharmony_ciunion-cast.c:11:22: warning: cast from non-scalar
26f08c3bdfSopenharmony_ci * check-error-end
27f08c3bdfSopenharmony_ci */
28