// Transaction-unsafe testcase from TM TS. // { dg-options -fgnu-tm } volatile int * p = 0; __attribute ((transaction_safe)) void f() { int x = 0; // ok: not volatile p = &x; // ok: the pointer is not volatile int i = *p; // { dg-error "volatile" "read through volatile glvalue" } }