1/* { dg-do compile } */
2/* { dg-options "-fgnu-tm -fopenmp" } */
3/* { dg-require-effective-target pthread } */
4
5__attribute__ ((transaction_pure))
6unsigned long rdtsc();
7
8typedef struct ENTER_EXIT_TIMES
9{
10  unsigned long enter;
11} times_t;
12
13void ParClassify()
14{
15  void * Parent;
16#pragma omp parallel private(Parent)
17  {
18    times_t inside;
19    __transaction_atomic {
20       inside.enter = rdtsc();
21    }
22  }
23}
24