1*404b540aSrobert extern void abort (void); 2*404b540aSrobert int a; 3*404b540aSrobert 4*404b540aSrobert void foo()5*404b540aSrobertfoo () 6*404b540aSrobert { 7*404b540aSrobert int i; 8*404b540aSrobert a = 30; 9*404b540aSrobert #pragma omp barrier 10*404b540aSrobert #pragma omp for lastprivate (a) 11*404b540aSrobert for (i = 0; i < 1024; i++) 12*404b540aSrobert { 13*404b540aSrobert a = i; 14*404b540aSrobert } 15*404b540aSrobert if (a != 1023) 16*404b540aSrobert abort (); 17*404b540aSrobert } 18*404b540aSrobert 19*404b540aSrobert int main(void)20*404b540aSrobertmain (void) 21*404b540aSrobert { 22*404b540aSrobert #pragma omp parallel num_threads (64) 23*404b540aSrobert foo (); 24*404b540aSrobert 25*404b540aSrobert return 0; 26*404b540aSrobert } 27