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