blob: 47400efd90f0fbd824b04b8fac56fbba10bac9ce [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-fgnu-tm -O2 -fdump-tree-lim2" } */
/* Test that `count' is not written to unless p->data>0. */
int count;
struct obj {
int data;
struct obj *next;
} *q;
void func()
{
struct obj *p;
__transaction_atomic {
for (p = q; p; p = p->next)
if (p->data > 0)
count++;
}
}
/* { dg-final { scan-tree-dump-times "Cannot hoist conditional load of count because it is in a transaction" 1 "lim2" } } */