| /* { 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(); | |
| } | |
| } | |
| } |