http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59218
Bug ID: 59218
Summary: atomic transactions: accesses to volatiles not
disallowed in transaction_safe code
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: minor
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: torvald at gcc dot gnu.org
CC: aldyh at gcc dot gnu.org
Accesses to volatiles are disallowed in transaction-safe code. The following
should produce an error, but doesn't:
volatile int volatile *b;
void foo()
{
__transaction_atomic
{
b[10] = b[10] + 1;
}
}
If accessing a "volatile int a" instead, an error is reported (as expected).