/* { dg-do compile } */ /* { dg-options "-O -fdump-tree-fre1-details" } */ struct X { int a : 1; int b : 1; } x; void foo (int v) { x.a = 1; x.b = v; x.a = 1; x.b = v; } struct Y { _Bool a; _Bool b; } y; void bar (int v) { y.a = 1; y.b = v; y.a = 1; y.b = v; } /* { dg-final { scan-tree-dump-times "Deleted redundant store" 4 "fre1" } } */