Currently gcc/tsan.c handles only bitfield accesses that are byte-aligned and has byte-granularity: + if (bitpos % (size * BITS_PER_UNIT) + || bitsize != size * BITS_PER_UNIT) + return false; It must be fixed to handle all bitfield access by extending access to the whole bitfiled. I.e. an access to an uint64 bitfield touches the whole uint64.
ok, consider it fixed.
Fixed by r5-6071-gfe86867f07504 in GCC 5 so closing as fixed.