cxxbitfields.c 340 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
/* { dg-options "-O2 --param allow-store-data-races=0" } */

/* Test that we don't store past VAR.A.  */

struct S
{
  volatile unsigned int a : 4;
  unsigned char b;
  unsigned int c : 6;
} var;

void set_a()
{
  var.a = 12;
}

/* { dg-final { scan-assembler-not "movl.*, var" } } */