/* { dg-do compile } */
/* { dg-options "-fgnu-tm -fopenmp" } */
/* { dg-require-effective-target pthread } */

__attribute__ ((transaction_pure))
unsigned long rdtsc();

typedef struct ENTER_EXIT_TIMES
{
  unsigned long enter;
} times_t;

void ParClassify()
{
  void * Parent;
#pragma omp parallel private(Parent)
  {
    times_t inside;
    __transaction_atomic {
       inside.enter = rdtsc();
    }
  }
}
