| /* Simplest test involving real threads. Verify we get the correct answer. */ | |
| /* { dg-options "-pthread" } */ | |
| #include <stdlib.h> | |
| #include <pthread.h> | |
| static int x; | |
| static void *start (void *dummy __attribute__((unused))) | |
| { | |
| __transaction_atomic { x++; } | |
| return NULL; | |
| } | |
| int main() | |
| { | |
| pthread_t p[10]; | |
| int i; | |
| for (i = 0; i < 10; ++i) | |
| pthread_create (p+i, NULL, start, NULL); | |
| for (i = 0; i < 10; ++i) | |
| pthread_join (p[i], NULL); | |
| if (x != 10) | |
| abort (); | |
| return 0; | |
| } |