1*404b540aSrobert extern void abort (void);
2*404b540aSrobert 
main()3*404b540aSrobert main()
4*404b540aSrobert {
5*404b540aSrobert   int i, a;
6*404b540aSrobert 
7*404b540aSrobert   a = 30;
8*404b540aSrobert 
9*404b540aSrobert #pragma omp parallel for firstprivate (a) lastprivate (a) \
10*404b540aSrobert 	num_threads (2) schedule(static)
11*404b540aSrobert   for (i = 0; i < 10; i++)
12*404b540aSrobert     a = a + i;
13*404b540aSrobert 
14*404b540aSrobert   /* The thread that owns the last iteration will have computed
15*404b540aSrobert      30 + 5 + 6 + 7 + 8 + 9 = 65.  */
16*404b540aSrobert   if (a != 65)
17*404b540aSrobert     abort ();
18*404b540aSrobert 
19*404b540aSrobert   return 0;
20*404b540aSrobert }
21