http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52080

             Bug #: 52080
           Summary: Stores to bitfields introduce a store-data-race on
                    adjacent data
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: rgue...@gcc.gnu.org
            Target: ia64-*-linux


For the following testcase we generate a 8 byte RMW cycle on IA64 which
causes locking problems in the linux kernel btrfs filesystem.

struct x {
    long a;
    unsigned int lock;
    unsigned int full : 1;
};

void
wrong(struct x *ptr)
{
  ptr->full = 1;
}

Reply via email to