summaryrefslogtreecommitdiff
path: root/gcc/testsuite/c-c++-common/tm/omp.c
blob: b9fcc765efc9ea7032c5929edca35f192f17efca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/* { dg-do compile } */
/* { dg-options "-fgnu-tm -fopenmp" } */

__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();
    }
  }
}