1f08c3bdfSopenharmony_cidouble uintfloat(void) 2f08c3bdfSopenharmony_ci{ 3f08c3bdfSopenharmony_ci union { 4f08c3bdfSopenharmony_ci int a; 5f08c3bdfSopenharmony_ci double f; 6f08c3bdfSopenharmony_ci } s; 7f08c3bdfSopenharmony_ci 8f08c3bdfSopenharmony_ci s.a = 1; 9f08c3bdfSopenharmony_ci return s.f; 10f08c3bdfSopenharmony_ci} 11f08c3bdfSopenharmony_ci 12f08c3bdfSopenharmony_ci 13f08c3bdfSopenharmony_ciint uarray(void) 14f08c3bdfSopenharmony_ci{ 15f08c3bdfSopenharmony_ci union { 16f08c3bdfSopenharmony_ci double d; 17f08c3bdfSopenharmony_ci int a[2]; 18f08c3bdfSopenharmony_ci } s; 19f08c3bdfSopenharmony_ci 20f08c3bdfSopenharmony_ci s.d = 1; 21f08c3bdfSopenharmony_ci return s.a[0]; 22f08c3bdfSopenharmony_ci} 23f08c3bdfSopenharmony_ci 24f08c3bdfSopenharmony_ci/* 25f08c3bdfSopenharmony_ci * check-name: init-local union 1 26f08c3bdfSopenharmony_ci * check-command: test-linearize -Wno-decl -fdump-ir=mem2reg $file 27f08c3bdfSopenharmony_ci * check-output-ignore 28f08c3bdfSopenharmony_ci * check-output-pattern(1): store\\.32 29f08c3bdfSopenharmony_ci * check-output-pattern(1): load\\.64 30f08c3bdfSopenharmony_ci * check-output-pattern(1): store\\.64 31f08c3bdfSopenharmony_ci * check-output-pattern(1): load\\.32 32f08c3bdfSopenharmony_ci */ 33