1f08c3bdfSopenharmony_cistruct s { 2f08c3bdfSopenharmony_ci int c[1]; 3f08c3bdfSopenharmony_ci}; 4f08c3bdfSopenharmony_ci 5f08c3bdfSopenharmony_cistatic struct s x, y; 6f08c3bdfSopenharmony_cistatic int p; 7f08c3bdfSopenharmony_ci 8f08c3bdfSopenharmony_cistatic void foo0(void) 9f08c3bdfSopenharmony_ci{ 10f08c3bdfSopenharmony_ci (x = y).c; // x = y; 11f08c3bdfSopenharmony_ci} 12f08c3bdfSopenharmony_ci 13f08c3bdfSopenharmony_cistatic void foo1(void) 14f08c3bdfSopenharmony_ci{ 15f08c3bdfSopenharmony_ci int *t = (x = y).c; // x = y; 16f08c3bdfSopenharmony_ci} 17f08c3bdfSopenharmony_ci 18f08c3bdfSopenharmony_cistatic void foo2(void) 19f08c3bdfSopenharmony_ci{ 20f08c3bdfSopenharmony_ci (x = y).c + 1; // x = y; 21f08c3bdfSopenharmony_ci} 22f08c3bdfSopenharmony_ci 23f08c3bdfSopenharmony_cistatic void foo3(void) 24f08c3bdfSopenharmony_ci{ 25f08c3bdfSopenharmony_ci (x = y).c[0]; // x = y; 26f08c3bdfSopenharmony_ci} 27f08c3bdfSopenharmony_ci 28f08c3bdfSopenharmony_cistatic void foo4(void) 29f08c3bdfSopenharmony_ci{ 30f08c3bdfSopenharmony_ci (p ? x : y).c[0]; // ; 31f08c3bdfSopenharmony_ci} 32f08c3bdfSopenharmony_ci 33f08c3bdfSopenharmony_cistatic void foo5(void) 34f08c3bdfSopenharmony_ci{ 35f08c3bdfSopenharmony_ci (p, y).c[0]; // ; 36f08c3bdfSopenharmony_ci} 37f08c3bdfSopenharmony_ci 38f08c3bdfSopenharmony_ci/* 39f08c3bdfSopenharmony_ci * check-name: kill-stores1 40f08c3bdfSopenharmony_ci * check-command: test-linearize -Wno-decl $file 41f08c3bdfSopenharmony_ci * 42f08c3bdfSopenharmony_ci * check-output-ignore 43f08c3bdfSopenharmony_ci * check-output-pattern(4): load\\. 44f08c3bdfSopenharmony_ci * check-output-pattern(4): load\\..*0\\[y\\] 45f08c3bdfSopenharmony_ci * check-output-pattern(4): store\\. 46f08c3bdfSopenharmony_ci * check-output-pattern(4): store\\..*0\\[x\\] 47f08c3bdfSopenharmony_ci * check-output-excludes: select\\. 48f08c3bdfSopenharmony_ci */ 49