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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [gomp/] [nesting-1.c] - Blame information for rev 689

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 689 jeremybenn
/* { dg-do compile } */
2
/* { dg-options "-fopenmp" } */
3
 
4
void
5
f1 (void)
6
{
7
  int i, j;
8
  #pragma omp for
9
  for (i = 0; i < 3; i++)
10
    {
11
      #pragma omp for           /* { dg-warning "may not be closely nested" } */
12
      for (j = 0; j < 3; j++)
13
        ;
14
      #pragma omp sections      /* { dg-warning "may not be closely nested" } */
15
      {
16
        ;
17
      #pragma omp section
18
        ;
19
      }
20
      #pragma omp single        /* { dg-warning "may not be closely nested" } */
21
        ;
22
    #pragma omp master          /* { dg-warning "may not be closely nested" } */
23
      ;
24
      #pragma omp barrier       /* { dg-warning "may not be closely nested" } */
25
    }
26
  #pragma omp sections
27
  {
28
    #pragma omp for             /* { dg-warning "may not be closely nested" } */
29
    for (j = 0; j < 3; j++)
30
      ;
31
    #pragma omp sections        /* { dg-warning "may not be closely nested" } */
32
    {
33
      ;
34
    #pragma omp section
35
      ;
36
    }
37
    #pragma omp single          /* { dg-warning "may not be closely nested" } */
38
      ;
39
    #pragma omp master          /* { dg-warning "may not be closely nested" } */
40
      ;
41
    #pragma omp section
42
      ;
43
  }
44
  #pragma omp single
45
  {
46
    #pragma omp for             /* { dg-warning "may not be closely nested" } */
47
    for (j = 0; j < 3; j++)
48
      ;
49
    #pragma omp sections        /* { dg-warning "may not be closely nested" } */
50
    {
51
      ;
52
    #pragma omp section
53
      ;
54
    }
55
    #pragma omp single          /* { dg-warning "may not be closely nested" } */
56
      ;
57
    #pragma omp master          /* { dg-warning "may not be closely nested" } */
58
      ;
59
    #pragma omp barrier         /* { dg-warning "may not be closely nested" } */
60
  }
61
  #pragma omp master
62
  {
63
    #pragma omp for             /* { dg-warning "may not be closely nested" } */
64
    for (j = 0; j < 3; j++)
65
      ;
66
    #pragma omp sections        /* { dg-warning "may not be closely nested" } */
67
    {
68
      ;
69
    #pragma omp section
70
      ;
71
    }
72
    #pragma omp single          /* { dg-warning "may not be closely nested" } */
73
      ;
74
    #pragma omp master
75
      ;
76
    #pragma omp barrier         /* { dg-warning "may not be closely nested" } */
77
  }
78
  #pragma omp task
79
  {
80
    #pragma omp for             /* { dg-warning "may not be closely nested" } */
81
    for (j = 0; j < 3; j++)
82
      ;
83
    #pragma omp sections        /* { dg-warning "may not be closely nested" } */
84
    {
85
      ;
86
    #pragma omp section
87
      ;
88
    }
89
    #pragma omp single          /* { dg-warning "may not be closely nested" } */
90
      ;
91
    #pragma omp master          /* { dg-warning "may not be closely nested" } */
92
      ;
93
    #pragma omp barrier         /* { dg-warning "may not be closely nested" } */
94
  }
95
  #pragma omp parallel
96
  {
97
    #pragma omp for
98
    for (j = 0; j < 3; j++)
99
      ;
100
    #pragma omp sections
101
    {
102
      ;
103
    #pragma omp section
104
      ;
105
    }
106
    #pragma omp single
107
      ;
108
    #pragma omp master
109
      ;
110
    #pragma omp barrier
111
  }
112
}
113
 
114
void
115
f2 (void)
116
{
117
  int i, j;
118
  #pragma omp ordered
119
  {
120
    #pragma omp for             /* { dg-warning "may not be closely nested" } */
121
    for (j = 0; j < 3; j++)
122
      ;
123
    #pragma omp sections        /* { dg-warning "may not be closely nested" } */
124
    {
125
      ;
126
    #pragma omp section
127
      ;
128
    }
129
    #pragma omp single          /* { dg-warning "may not be closely nested" } */
130
      ;
131
    #pragma omp master
132
      ;
133
    #pragma omp barrier         /* { dg-warning "may not be closely nested" } */
134
  }
135
}
136
 
137
void
138
f3 (void)
139
{
140
  #pragma omp critical
141
  {
142
    #pragma omp ordered         /* { dg-warning "may not be closely nested" } */
143
      ;
144
  }
145
}
146
 
147
void
148
f4 (void)
149
{
150
  #pragma omp task
151
  {
152
    #pragma omp ordered         /* { dg-warning "may not be closely nested" } */
153
      ;
154
  }
155
}
156
 
157
void
158
f5 (void)
159
{
160
  int i;
161
  #pragma omp for
162
  for (i = 0; i < 10; i++)
163
    {
164
      #pragma omp ordered               /* { dg-warning "must be closely nested" } */
165
        ;
166
    }
167
  #pragma omp for ordered
168
  for (i = 0; i < 10; i++)
169
    {
170
      #pragma omp ordered
171
        ;
172
    }
173
}
174
 
175
void
176
f6 (void)
177
{
178
  #pragma omp critical (foo)
179
    #pragma omp critical (bar)
180
      ;
181
  #pragma omp critical
182
    #pragma omp critical (baz)
183
      ;
184
}
185
 
186
void
187
f7 (void)
188
{
189
  #pragma omp critical (foo2)
190
    #pragma omp critical
191
      ;
192
  #pragma omp critical (bar)
193
    #pragma omp critical (bar)          /* { dg-warning "may not be nested" } */
194
      ;
195
  #pragma omp critical
196
    #pragma omp critical                /* { dg-warning "may not be nested" } */
197
      ;
198
}

powered by: WebSVN 2.1.0

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