OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgomp/] [testsuite/] [libgomp.c++/] [shared-2.C] - Blame information for rev 735

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 735 jeremybenn
extern "C" void abort (void);
2
 
3
void
4
parallel (int a, int b)
5
{
6
  int bad, LASTPRIV, LASTPRIV_SEC;
7
  int i;
8
 
9
  a = b = 3;
10
 
11
  bad = 0;
12
 
13
  #pragma omp parallel firstprivate (a,b) shared (bad) num_threads (5)
14
    {
15
      if (a != 3 || b != 3)
16
        bad = 1;
17
 
18
      #pragma omp for lastprivate (LASTPRIV)
19
      for (i = 0; i < 10; i++)
20
        LASTPRIV = i;
21
 
22
      #pragma omp sections lastprivate (LASTPRIV_SEC)
23
        {
24
          #pragma omp section
25
            { LASTPRIV_SEC = 3; }
26
 
27
          #pragma omp section
28
            { LASTPRIV_SEC = 42; }
29
        }
30
 
31
    }
32
 
33
  if (LASTPRIV != 9)
34
    abort ();
35
 
36
  if (LASTPRIV_SEC != 42)
37
    abort ();
38
 
39
  if (bad)
40
    abort ();
41
}
42
 
43
int main()
44
{
45
  parallel (1, 2);
46
  return 0;
47
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.