aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/c-c++-common/tm/omp.c
blob: b664a6f112363cb64bdfe3e6f536d1ca385f9c5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/* { 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();
    }
  }
}