ChangeLog revision 1.1.1.14 1 2020-03-04 Release Manager
2
3 * GCC 8.4.0 released.
4
5 2020-02-14 Jakub Jelinek <jakub (a] redhat.com>
6
7 Backported from mainline
8 2020-02-06 Jakub Jelinek <jakub (a] redhat.com>
9
10 PR libgomp/93515
11 * testsuite/libgomp.c-c++-common/pr93515.c: New test.
12
13 2019-12-31 Ayush Mittal <ayush.m (a] samsung.com>
14
15 PR libgomp/93065
16 * oacc-init.c (goacc_runtime_deinitialize): New function.
17
18 2019-12-11 Jakub Jelinek <jakub (a] redhat.com>
19
20 PR fortran/92899
21 * testsuite/libgomp.fortran/atomic1.f90: New test.
22
23 2019-11-29 Jakub Jelinek <jakub (a] redhat.com>
24
25 PR c++/60228
26 * testsuite/libgomp.c++/udr-20.C: New test.
27 * testsuite/libgomp.c++/udr-21.C: New test.
28
29 2019-12-11 Tobias Burnus <tobias (a] codesourcery.com>
30
31 Backported from mainline
32 2019-12-11 Tobias Burnus <tobias (a] codesourcery.com>
33
34 * omp_lib.h.in: Fix spelling of function declaration
35 omp_get_cancell(l)ation.
36
37 2019-08-29 Jakub Jelinek <jakub (a] redhat.com>
38
39 Backported from mainline
40 2019-05-24 Jakub Jelinek <jakub (a] redhat.com>
41
42 PR libgomp/90585
43 * plugin/plugin-hsa.c (print_kernel_dispatch, run_kernel): Use PRIu64
44 macro instead of "lu".
45 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
46 before casting to void *.
47
48 2019-06-11 Jakub Jelinek <jakub (a] redhat.com>
49
50 PR target/90811
51 * testsuite/libgomp.c/pr90811.c: New test.
52
53 2019-02-22 Release Manager
54
55 * GCC 8.3.0 released.
56
57 2019-02-07 Jakub Jelinek <jakub (a] redhat.com>
58
59 Backported from mainline
60 2019-01-30 Jakub Jelinek <jakub (a] redhat.com>
61
62 PR c++/88988
63 * testsuite/libgomp.c++/pr88988.C: New test.
64
65 2019-01-28 Jakub Jelinek <jakub (a] redhat.com>
66
67 PR middle-end/89002
68 * testsuite/libgomp.c/pr89002.c: New test.
69
70 2019-01-25 Richard Biener <rguenther (a] suse.de>
71
72 PR tree-optimization/86865
73 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
74
75 2019-01-08 Jakub Jelinek <jakub (a] redhat.com>
76
77 Backported from mainline
78 2018-12-12 Jakub Jelinek <jakub (a] redhat.com>
79
80 PR fortran/88463
81 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
82 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
83
84 2018-07-26 Jakub Jelinek <jakub (a] redhat.com>
85
86 Backported from mainline
87 2018-07-17 Jakub Jelinek <jakub (a] redhat.com>
88
89 PR middle-end/86542
90 * testsuite/libgomp.c++/pr86542.C: New test.
91
92 PR middle-end/86539
93 * testsuite/libgomp.c++/pr86539.C: New test.
94
95 2018-07-26 Jakub Jelinek <jakub (a] redhat.com>
96
97 PR middle-end/86660
98 * testsuite/libgomp.c/pr86660.c: New test.
99
100 2018-07-26 Release Manager
101
102 * GCC 8.2.0 released.
103
104 2018-06-26 Jakub Jelinek <jakub (a] redhat.com>
105
106 PR c++/86291
107 * testsuite/libgomp.c++/pr86291.C: New test.
108
109 2018-05-18 Cesar Philippidis <cesar (a] codesourcery.com>
110
111 Backport from mainline
112 2018-05-18 Cesar Philippidis <cesar (a] codesourcery.com>
113
114 PR c++/85782
115 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
116
117 2018-05-02 Tom de Vries <tom (a] codesourcery.com>
118
119 backport from trunk:
120 2018-04-26 Tom de Vries <tom (a] codesourcery.com>
121
122 PR target/85519
123 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
124 recursion depth from 25 to 23.
125 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
126
127 2018-05-02 Release Manager
128
129 * GCC 8.1.0 released.
130
131 2018-04-24 H.J. Lu <hongjiu.lu (a] intel.com>
132
133 * configure: Regenerated.
134
135 2018-04-20 Nathan Sidwell <nathan (a] codesourcery.com>
136 Tom de Vries <tom (a] codesourcery.com>
137
138 PR target/85445
139 * testsuite/libgomp.oacc-c++/ref-1.C: New.
140
141 2018-04-19 Thomas Schwinge <thomas (a] codesourcery.com>
142
143 PR libgomp/85463
144 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
145 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
146 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
147 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
148 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
149 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
150
151 PR libfortran/85166
152 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
153 abort".
154 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
155
156 2018-04-19 Jakub Jelinek <jakub (a] redhat.com>
157
158 * configure: Regenerated.
159
160 2018-04-18 David Malcolm <dmalcolm (a] redhat.com>
161
162 PR jit/85384
163 * configure: Regenerate.
164
165 2018-04-16 Cesar Philippidis <cesar (a] codesourcery.com>
166 Tom de Vries <tom (a] codesourcery.com>
167
168 PR middle-end/84955
169 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
170 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
171
172 2018-04-12 Thomas Koenig <tkoenig (a] gcc.gnu.org>
173
174 PR fortran/83064
175 PR testsuite/85346
176 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
177 test from gfortran.dg to here.
178
179 2018-04-05 Tom de Vries <tom (a] codesourcery.com>
180
181 PR target/85204
182 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
183
184 2018-03-26 Tom de Vries <tom (a] codesourcery.com>
185
186 PR tree-optimization/85063
187 * testsuite/libgomp.c/switch-conversion-2.c: New test.
188 * testsuite/libgomp.c/switch-conversion.c: New test.
189 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
190 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
191
192 2018-03-25 Thomas Koenig <tkoenig (a] gcc.gnu.org>
193
194 PR fortran/84381
195 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
196 call abort by STOP n.
197 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
198 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
199 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
200 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
201 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
202 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
203 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
204 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
205 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
206 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
207 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
208 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
209 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
210 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
211 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
212 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
213 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
214 * testsuite/libgomp.fortran/associate1.f90: Likewise.
215 * testsuite/libgomp.fortran/associate2.f90: Likewise.
216 * testsuite/libgomp.fortran/associate3.f90: Likewise.
217 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
218 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
219 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
220 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
221 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
222 * testsuite/libgomp.fortran/character1.f90: Likewise.
223 * testsuite/libgomp.fortran/character2.f90: Likewise.
224 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
225 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
226 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
227 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
228 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
229 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
230 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
231 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
232 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
233 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
234 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
235 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
236 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
237 * testsuite/libgomp.fortran/do1.f90: Likewise.
238 * testsuite/libgomp.fortran/do2.f90: Likewise.
239 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
240 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
241 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
242 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
243 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
244 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
245 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
246 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
247 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
248 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
249 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
250 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
251 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
252 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
253 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
254 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
255 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
256 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
257 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
258 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
259 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
260 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
261 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
262 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
263 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
264 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
265 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
266 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
267 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
268 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
269 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
270 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
271 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
272 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
273 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
274 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
275 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
276 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
277 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
278 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
279 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
280 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
281 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
282 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
283 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
284 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
285 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
286 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
287 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
288 * testsuite/libgomp.fortran/lib1.f90: Likewise.
289 * testsuite/libgomp.fortran/lib2.f: Likewise.
290 * testsuite/libgomp.fortran/lib3.f: Likewise.
291 * testsuite/libgomp.fortran/lib4.f90: Likewise.
292 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
293 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
294 * testsuite/libgomp.fortran/nested1.f90: Likewise.
295 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
296 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
297 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
298 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
299 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
300 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
301 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
302 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
303 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
304 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
305 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
306 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
307 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
308 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
309 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
310 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
311 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
312 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
313 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
314 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
315 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
316 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
317 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
318 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
319 * testsuite/libgomp.fortran/pr25162.f: Likewise.
320 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
321 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
322 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
323 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
324 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
325 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
326 * testsuite/libgomp.fortran/pr28390.f: Likewise.
327 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
328 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
329 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
330 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
331 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
332 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
333 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
334 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
335 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
336 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
337 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
338 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
339 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
340 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
341 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
342 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
343 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
344 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
345 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
346 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
347 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
348 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
349 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
350 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
351 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
352 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
353 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
354 * testsuite/libgomp.fortran/reference1.f90: Likewise.
355 * testsuite/libgomp.fortran/reference2.f90: Likewise.
356 * testsuite/libgomp.fortran/retval1.f90: Likewise.
357 * testsuite/libgomp.fortran/retval2.f90: Likewise.
358 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
359 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
360 * testsuite/libgomp.fortran/simd1.f90: Likewise.
361 * testsuite/libgomp.fortran/simd2.f90: Likewise.
362 * testsuite/libgomp.fortran/simd3.f90: Likewise.
363 * testsuite/libgomp.fortran/simd4.f90: Likewise.
364 * testsuite/libgomp.fortran/simd5.f90: Likewise.
365 * testsuite/libgomp.fortran/simd6.f90: Likewise.
366 * testsuite/libgomp.fortran/simd7.f90: Likewise.
367 * testsuite/libgomp.fortran/stack.f90: Likewise.
368 * testsuite/libgomp.fortran/strassen.f90: Likewise.
369 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
370 * testsuite/libgomp.fortran/tabs2.f: Likewise.
371 * testsuite/libgomp.fortran/target1.f90: Likewise.
372 * testsuite/libgomp.fortran/target2.f90: Likewise.
373 * testsuite/libgomp.fortran/target3.f90: Likewise.
374 * testsuite/libgomp.fortran/target4.f90: Likewise.
375 * testsuite/libgomp.fortran/target5.f90: Likewise.
376 * testsuite/libgomp.fortran/target6.f90: Likewise.
377 * testsuite/libgomp.fortran/target7.f90: Likewise.
378 * testsuite/libgomp.fortran/target8.f90: Likewise.
379 * testsuite/libgomp.fortran/task1.f90: Likewise.
380 * testsuite/libgomp.fortran/task2.f90: Likewise.
381 * testsuite/libgomp.fortran/task3.f90: Likewise.
382 * testsuite/libgomp.fortran/task4.f90: Likewise.
383 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
384 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
385 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
386 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
387 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
388 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
389 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
390 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
391 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
392 * testsuite/libgomp.fortran/udr1.f90: Likewise.
393 * testsuite/libgomp.fortran/udr10.f90: Likewise.
394 * testsuite/libgomp.fortran/udr11.f90: Likewise.
395 * testsuite/libgomp.fortran/udr12.f90: Likewise.
396 * testsuite/libgomp.fortran/udr13.f90: Likewise.
397 * testsuite/libgomp.fortran/udr14.f90: Likewise.
398 * testsuite/libgomp.fortran/udr15.f90: Likewise.
399 * testsuite/libgomp.fortran/udr2.f90: Likewise.
400 * testsuite/libgomp.fortran/udr3.f90: Likewise.
401 * testsuite/libgomp.fortran/udr4.f90: Likewise.
402 * testsuite/libgomp.fortran/udr5.f90: Likewise.
403 * testsuite/libgomp.fortran/udr6.f90: Likewise.
404 * testsuite/libgomp.fortran/udr7.f90: Likewise.
405 * testsuite/libgomp.fortran/udr8.f90: Likewise.
406 * testsuite/libgomp.fortran/udr9.f90: Likewise.
407 * testsuite/libgomp.fortran/vla1.f90: Likewise.
408 * testsuite/libgomp.fortran/vla2.f90: Likewise.
409 * testsuite/libgomp.fortran/vla3.f90: Likewise.
410 * testsuite/libgomp.fortran/vla4.f90: Likewise.
411 * testsuite/libgomp.fortran/vla5.f90: Likewise.
412 * testsuite/libgomp.fortran/vla6.f90: Likewise.
413 * testsuite/libgomp.fortran/vla7.f90: Likewise.
414 * testsuite/libgomp.fortran/vla8.f90: Likewise.
415 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
416 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
417 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
418 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
419 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
420 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
421 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
422 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
423 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
424 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
425 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
426 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
427 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
428 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
429 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
430 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
431 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
432 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
433 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
434 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
435 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
436 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
437 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
438 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
439 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
440 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
441 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
442 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
443 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
444 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
445 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
446 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
447 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
448 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
449 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
450 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
451 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
452 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
453 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
454 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
455 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
456 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
457 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
458 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
459 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
460 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
461 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
462 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
463 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
464 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
465 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
466 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
467 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
468 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
469 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
470 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
471 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
472 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
473 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
474 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
475 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
476 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
477 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
478 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
479 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
480 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
481 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
482 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
483 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
484 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
485 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
486 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
487 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
488 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
489 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
490 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
491 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
492 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
493 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
494 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
495 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
496 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
497 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
498 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
499 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
500 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
501 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
502 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
503 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
504 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
505 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
506 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
507 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
508 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
509
510 2018-03-20 Richard Biener <rguenther (a] suse.de>
511
512 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
513 parallelizable loop.
514
515 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com>
516
517 PR target/84148
518 * configure: Regenerate.
519
520 2018-02-16 Jakub Jelinek <jakub (a] redhat.com>
521
522 PR fortran/84418
523 * libgomp.fortran/pr84418-1.f90: New test.
524 * libgomp.fortran/pr84418-2.f90: New test.
525
526 2018-02-14 Jakub Jelinek <jakub (a] redhat.com>
527
528 PR fortran/84313
529 * testsuite/libgomp.fortran/threadprivate4.f90: Add
530 -std=f2003 -fall-intrinsics into dg-additional-options.
531
532 2018-02-08 Martin Jambor <mjambor (a] suse.cz>
533
534 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
535 clonable.
536
537 2018-02-08 Martin Jambor <mjambor (a] suse.cz>
538
539 * testsuite/libgomp.hsa.c/staticvar.c: New test.
540
541 2018-02-07 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
542
543 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
544 [__cplusplus]: Declare extern "C".
545
546 2018-02-07 Tom de Vries <tom (a] codesourcery.com>
547
548 PR libgomp/84217
549 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
550
551 2018-01-29 Christoph Spiel <cspiel (a] freenet.de>
552 Jakub Jelinek <jakub (a] redhat.com>
553
554 PR libgomp/84096
555 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
556 instead of omp_lock_t.
557
558 2018-01-25 Tom de Vries <tom (a] codesourcery.com>
559
560 PR target/84028
561 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
562
563 2018-01-24 Tom de Vries <tom (a] codesourcery.com>
564
565 PR target/83589
566 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
567
568 2018-01-24 Tom de Vries <tom (a] codesourcery.com>
569
570 PR target/81352
571 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
572
573 2018-01-19 Tom de Vries <tom (a] codesourcery.com>
574 Cesar Philippidis <cesar (a] codesourcery.com>
575
576 PR target/83920
577 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
578 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
579
580 2018-01-03 Jakub Jelinek <jakub (a] redhat.com>
581
582 Update copyright years.
583
584 * libgomp.texi: Bump @copying's copyright year.
585
586 2017-12-30 Tom de Vries <tom (a] codesourcery.com>
587
588 PR libgomp/83046
589 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
590 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
591
592 2017-12-27 Tom de Vries <tom (a] codesourcery.com>
593
594 PR c++/83046
595 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
596 (test_nonstatic): Fix return type to workaround PR83046.
597
598 2017-12-05 Jakub Jelinek <jakub (a] redhat.com>
599
600 PR testsuite/83281
601 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
602 j suffix instead of i.
603 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
604 Likewise.
605
606 2017-12-01 Cesar Philippidis <cesar (a] codesourcery.com>
607
608 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
609 call to acc_wait (1).
610
611 2017-11-24 Jakub Jelinek <jakub (a] redhat.com>
612
613 PR fortran/81304
614 * testsuite/libgomp.fortran/pr81304.f90: New test.
615
616 2017-11-23 Jakub Jelinek <jakub (a] redhat.com>
617
618 PR fortran/81841
619 * libgomp.fortran/pr81841.f90: New test.
620
621 2017-11-22 Jakub Jelinek <jakub (a] redhat.com>
622
623 PR libgomp/83106
624 * target.c (gomp_target_init): Compute lengths just once and
625 use them in both malloc size and subsequent copying.
626
627 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist (a] intel.com>
628
629 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
630 * acinclude.m4: Add cet.m4.
631 * configure: Regenerate.
632 * Makefile.in: Likewise.
633 * testsuite/Makefile.in: Likewise.
634
635 2017-11-15 Tom de Vries <tom (a] codesourcery.com>
636
637 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
638 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
639 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
640 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
641 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
642 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
643
644 2017-11-14 Tom de Vries <tom (a] codesourcery.com>
645
646 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
647 non-nvidia devices.
648
649 2017-11-07 Jakub Jelinek <jakub (a] redhat.com>
650
651 PR c++/82835
652 * testsuite/libgomp.c++/pr82835.C: New test.
653
654 2017-11-06 Martin Liska <mliska (a] suse.cz>
655
656 * testsuite/libgomp.c++/loop-2.C: Return a value
657 for functions with non-void return type, or change type to void,
658 or add -Wno-return-type for test.
659 * testsuite/libgomp.c++/loop-4.C: Likewise.
660 * testsuite/libgomp.c++/parallel-1.C: Likewise.
661 * testsuite/libgomp.c++/shared-1.C: Likewise.
662 * testsuite/libgomp.c++/single-1.C: Likewise.
663 * testsuite/libgomp.c++/single-2.C: Likewise.
664
665 2017-10-31 Tom de Vries <tom (a] codesourcery.com>
666
667 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
668 "do {} while (false)".
669 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
670 after HSA_DEBUG call.
671
672 2017-10-28 Jakub Jelinek <jakub (a] redhat.com>
673
674 * target.c (struct gomp_coalesce_buf): New type.
675 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
676 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
677 (gomp_copy_host2dev): Add CBUF argument, if copying into
678 the cached ranges, memcpy into buffer instead of copying
679 into device.
680 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
681 Add CBUF argument, pass it through to other calls.
682 (gomp_map_vars): Aggregate copies from host to device if small enough
683 and with small enough gaps in between into memcpy into a buffer and
684 fewer host to device copies from the buffer.
685 (gomp_update): Adjust gomp_copy_host2dev caller.
686
687 2017-10-17 Thomas Schwinge <thomas (a] codesourcery.com>
688
689 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
690 run" directive.
691 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
692 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
693 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
694 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
695
696 2017-10-16 Tom de Vries <tom (a] codesourcery.com>
697
698 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
699 openacc_nvidia_accel_selected.
700 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
701 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
702 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
703 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
704 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
705 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
706 openacc_nvidia_accel_selected. Skip for shared memory device.
707 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
708 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
709
710 2017-10-09 Martin Jambor <mjambor (a] suse.cz>
711
712 PR hsa/82416
713 * testsuite/libgomp.hsa.c/pr82416.c: New test.
714
715 2017-10-07 Tom de Vries <tom (a] codesourcery.com>
716
717 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
718 Remove acc_device_nvidia references.
719 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
720 Same.
721
722 2017-10-05 Tom de Vries <tom (a] codesourcery.com>
723
724 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
725 vector_length(32) clause from acc parallel directive.
726 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
727
728 2017-10-04 Tom de Vries <tom (a] codesourcery.com>
729
730 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
731 (main): Reduce sum of arr elements. Assert that hres is exactly
732 representable in 32-bit floating point.
733 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
734 (main): Reduce sum of arr elements. Assert that hres and hmres are
735 exactly representable in 32-bit floating point.
736 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
737
738 2017-09-28 Tom de Vries <tom (a] codesourcery.com>
739
740 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
741 setting.
742 * testsuite/libgomp.c++/pr69393.C: Same.
743 * testsuite/libgomp.c++/taskloop-1.C: Same.
744 * testsuite/libgomp.c++/taskloop-3.C: Same.
745 * testsuite/libgomp.c++/taskloop-4.C: Same.
746 * testsuite/libgomp.c/for-4.c: Same.
747 * testsuite/libgomp.c/pr66199-3.c: Same.
748 * testsuite/libgomp.c/pr66199-4.c: Same.
749 * testsuite/libgomp.c/pr66199-6.c: Same.
750 * testsuite/libgomp.c/taskloop-1.c: Same.
751 * testsuite/libgomp.c/taskloop-3.c: Same.
752 * testsuite/libgomp.c/taskloop-4.c: Same.
753 * testsuite/libgomp.fortran/aligned1.f03: Same.
754 * testsuite/libgomp.fortran/condinc1.f: Same.
755 * testsuite/libgomp.fortran/condinc3.f90: Same.
756 * testsuite/libgomp.fortran/crayptr1.f90: Same.
757 * testsuite/libgomp.fortran/crayptr2.f90: Same.
758 * testsuite/libgomp.fortran/crayptr3.f90: Same.
759 * testsuite/libgomp.fortran/omp_cond1.f: Same.
760 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
761 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
762 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
763 * testsuite/libgomp.fortran/recursion1.f90: Same.
764 * testsuite/libgomp.fortran/target2.f90: Same.
765 * testsuite/libgomp.fortran/target5.f90: Same.
766 * testsuite/libgomp.fortran/task3.f90: Same.
767
768 2017-09-28 Tom de Vries <tom (a] codesourcery.com>
769
770 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
771 vector_length(32) clause from acc parallel directive.
772 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
773
774 2017-09-27 Tom de Vries <tom (a] codesourcery.com>
775
776 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
777 Remove acc_device_nvidia references.
778
779 2017-09-16 Tom de Vries <tom (a] codesourcery.com>
780
781 PR c/81875
782 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
783
784 2017-09-14 Tom de Vries <tom (a] codesourcery.com>
785
786 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
787 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
788 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
789 * testsuite/libgomp.c/c.exp: Include test-cases from
790 libgomp.c-c++-common.
791 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
792 files.
793
794 2017-09-14 Jakub Jelinek <jakub (a] redhat.com>
795
796 PR c++/81314
797 * testsuite/libgomp.c++/pr81314.C: New test.
798
799 2017-09-03 Gerald Pfeifer <gerald (a] pfeifer.com>
800
801 * libgomp.texi (Top): www.openacc.org now uses https.
802 (Enabling OpenACC): Ditto.
803 (acc_get_num_devices): Ditto.
804 (acc_set_device_type): Ditto.
805 (acc_get_device_type): Ditto.
806 (acc_set_device_num): Ditto.
807 (acc_get_device_num): Ditto.
808 (acc_async_test): Ditto.
809 (acc_async_test_all): Ditto.
810 (acc_wait): Ditto.
811 (acc_wait_all): Ditto.
812 (acc_wait_all_async): Ditto.
813 (acc_wait_async): Ditto.
814 (acc_init): Ditto.
815 (acc_shutdown): Ditto.
816 (acc_on_device): Ditto.
817 (acc_malloc): Ditto.
818 (acc_free): Ditto.
819 (acc_copyin): Ditto.
820 (acc_present_or_copyin): Ditto.
821 (acc_create): Ditto.
822 (acc_present_or_create): Ditto.
823 (acc_copyout): Ditto.
824 (acc_delete): Ditto.
825 (acc_update_device): Ditto.
826 (acc_update_self): Ditto.
827 (acc_map_data): Ditto.
828 (acc_unmap_data): Ditto.
829 (acc_deviceptr): Ditto.
830 (acc_hostptr): Ditto.
831 (acc_is_present): Ditto.
832 (acc_memcpy_to_device): Ditto.
833 (acc_memcpy_from_device): Ditto.
834 (acc_get_current_cuda_device): Ditto.
835 (acc_get_current_cuda_context): Ditto.
836 (acc_get_cuda_stream): Ditto.
837 (acc_set_cuda_stream): Ditto.
838 (ACC_DEVICE_TYPE): Ditto.
839 (ACC_DEVICE_NUM): Ditto.
840 (OpenACC Library Interoperability): Ditto.
841
842 2017-08-09 Jakub Jelinek <jakub (a] redhat.com>
843
844 PR c/81687
845 * testsuite/libgomp.c/pr81687-1.c: New test.
846 * testsuite/libgomp.c/pr81687-2.c: New test.
847
848 2017-08-07 Jakub Jelinek <jakub (a] redhat.com>
849
850 PR c/69389
851 * testsuite/libgomp.c/pr69389.c: New test.
852 * testsuite/libgomp.c++/pr69389.C: New test.
853
854 2017-08-07 Tom de Vries <tom (a] codesourcery.com>
855
856 PR middle-end/78266
857 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
858 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
859
860 2017-07-27 Jakub Jelinek <jakub (a] redhat.com>
861
862 PR c/45784
863 * testsuite/libgomp.c/pr45784.c: New test.
864 * testsuite/libgomp.c++/pr45784.C: New test.
865
866 2017-07-19 Tom de Vries <tom (a] codesourcery.com>
867
868 * testsuite/libgomp.oacc-c/vec.c: New test.
869
870 2017-07-03 Tom de Vries <tom (a] codesourcery.com>
871
872 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
873
874 2017-06-27 Tom de Vries <tom (a] codesourcery.com>
875
876 * plugin/plugin-nvptx.c (notify_var): New function.
877 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
878
879 2017-06-27 Tom de Vries <tom (a] codesourcery.com>
880
881 * env.c (parse_unsigned_long_1): Factor out of ...
882 (parse_unsigned_long): ... here.
883 (parse_int_1): Factor out of ...
884 (parse_int): ... here.
885 (parse_int_secure): New function.
886 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
887 * secure_getenv.h: Factor out of ...
888 * plugin/plugin-hsa.c: ... here.
889 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
890
891 2017-06-21 Jakub Jelinek <jakub (a] redhat.com>
892
893 PR c++/81130
894 * testsuite/libgomp.c++/pr81130.C: New test.
895
896 2017-06-17 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
897
898 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
899 default args.
900 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
901 dg-xfail-run-if default args.
902
903 2017-06-02 Bernd Edlinger <bernd.edlinger (a] hotmail.de>
904
905 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
906 * testsuite/libgomp.c/pr39591-3.c: Likewise.
907
908 2017-05-30 Jakub Jelinek <jakub (a] redhat.com>
909
910 PR libgomp/80822
911 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
912 (gomp_affinity_init_level): Use it. Always analyze the core and thread
913 sibling lists, depending on level just pick up what CPUs to put
914 together into a place vs. whether add multiple ordered places.
915
916 2017-05-24 Thomas Schwinge <thomas (a] codesourcery.com>
917
918 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
919 * libgomp.map (OACC_2.0.1): Add these.
920 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
921 for "acc_wait", and "acc_wait_all", respectively.
922 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
923 for "acc_wait", and "acc_wait_all", respectively.
924 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
925 * libgomp.texi (acc_wait, acc_wait_all): Update.
926 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
927 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
928 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
929
930 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
931 acc_present_or_copyin and acc_present_or_create procedures,
932 respectively.
933 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
934 generally different variants of OpenACC Runtime Library functions.
935 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
936
937 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
938 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
939
940 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
941 of preprocessor definitions.
942 * libgomp.h (strong_alias): Guard by "#ifdef
943 HAVE_ATTRIBUTE_ALIAS".
944 * oacc-mem.c: Provide "acc_pcreate" as alias for
945 "acc_present_or_create", and "acc_pcopyin" as alias for
946 "acc_present_or_copyin".
947 * libgomp.map: New version "OACC_2.0.1".
948 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
949 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
950 its content into...
951 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
952 Extend testing.
953
954 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
955 when disabling nvptx offloading.
956
957 2017-05-23 Thomas Schwinge <thomas (a] codesourcery.com>
958
959 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
960 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
961 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
962
963 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
964 * testsuite/lib/libgomp.exp
965 (check_effective_target_openacc_nvidia_accel_configured): New
966 proc.
967 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
968 (check_effective_target_c++): New procs.
969 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
970 (check_effective_target_c++): Likewise.
971
972 2017-05-22 Jakub Jelinek <jakub (a] redhat.com>
973
974 PR middle-end/80809
975 * testsuite/libgomp.c/pr80809-2.c: New test.
976 * testsuite/libgomp.c/pr80809-3.c: New test.
977
978 PR middle-end/80809
979 * testsuite/libgomp.c/pr80809-1.c: New test.
980
981 PR middle-end/80853
982 * testsuite/libgomp.c/pr80853.c: New test.
983
984 2017-05-19 Thomas Schwinge <thomas (a] codesourcery.com>
985
986 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
987 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
988 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
989 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
990 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
991
992 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
993 Debug output for failure.
994
995 2017-05-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
996
997 * testsuite/lib/libgomp.exp: Load scanlang.exp.
998
999 2017-04-27 Jakub Jelinek <jakub (a] redhat.com>
1000
1001 PR bootstrap/80531
1002 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
1003 bootstrap compare failures.
1004
1005 2017-04-20 Alexander Monakov <amonakov (a] ispras.ru>
1006
1007 * testsuite/libgomp.c/target-36.c: New testcase.
1008
1009 2017-04-13 Jakub Jelinek <jakub (a] redhat.com>
1010
1011 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
1012 instead of char.
1013
1014 2017-04-11 Jakub Jelinek <jakub (a] redhat.com>
1015
1016 PR libgomp/80394
1017 * testsuite/libgomp.c/pr80394.c: New test.
1018
1019 2017-04-04 Jakub Jelinek <jakub (a] redhat.com>
1020
1021 PR libgomp/79876
1022 * config/posix/thread-stacksize.h: New file.
1023 * config/darwin/thread-stacksize.h: New file.
1024 * config/nvptx/thread-stacksize.h: New file.
1025 * env.c: Include thread-stacksize.h.
1026 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
1027 instead of 0. Call pthread_attr_setstacksize even if
1028 GOMP_DEFAULT_STACKSIZE is non-zero.
1029
1030 2017-03-30 Jakub Jelinek <jakub (a] redhat.com>
1031
1032 * env.c (initialize_env): Initialize stacksize to 0.
1033
1034 2017-03-22 Cesar Philippidis <cesar (a] codesourcery.com>
1035
1036 PR c++/80029
1037 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
1038
1039 2017-03-08 Jakub Jelinek <jakub (a] redhat.com>
1040
1041 PR c/79940
1042 * testsuite/libgomp.c/pr79940.c: New test.
1043
1044 2017-02-15 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
1045
1046 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
1047 targets.
1048 Add __float128 options.
1049
1050 2017-02-11 John David Anglin <danglin (a] gcc.gnu.org>
1051
1052 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
1053 hppa*-*-* dg-skip-if directive.
1054
1055 2017-02-09 Jakub Jelinek <jakub (a] redhat.com>
1056
1057 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
1058 dg-skip-if directive into a comment.
1059
1060 2017-02-09 Nathan Sidwell <nathan (a] codesourcery.com>
1061 Chung-Lin Tang <cltang (a] codesourcery.com>
1062
1063 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
1064 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
1065 add additional case.
1066 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
1067 "openacc_nvidia_accel_selected".
1068 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
1069 Add num_workers(8) clause.
1070
1071 2017-02-08 John David Anglin <danglin (a] gcc.gnu.org>
1072
1073 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
1074 hppa*-*-*.
1075 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
1076 include complex.h on hppa*-*-hpux*.
1077 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
1078
1079 2017-02-02 Thomas Schwinge <thomas (a] codesourcery.com>
1080
1081 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
1082
1083 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
1084 GOMP_OFFLOAD_openacc_exec. Adjust all users.
1085 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
1086 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
1087 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
1088 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
1089 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
1090 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
1091 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
1092 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
1093
1094 2017-01-31 Thomas Schwinge <thomas (a] codesourcery.com>
1095
1096 * libgomp-plugin.h: #include <stdbool.h>.
1097 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
1098 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
1099 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
1100 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
1101 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
1102 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
1103 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
1104 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
1105 (GOMP_OFFLOAD_openacc_register_async_cleanup)
1106 (GOMP_OFFLOAD_openacc_async_test)
1107 (GOMP_OFFLOAD_openacc_async_test_all)
1108 (GOMP_OFFLOAD_openacc_async_wait)
1109 (GOMP_OFFLOAD_openacc_async_wait_async)
1110 (GOMP_OFFLOAD_openacc_async_wait_all)
1111 (GOMP_OFFLOAD_openacc_async_wait_all_async)
1112 (GOMP_OFFLOAD_openacc_async_set_async)
1113 (GOMP_OFFLOAD_openacc_create_thread_data)
1114 (GOMP_OFFLOAD_openacc_destroy_thread_data)
1115 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
1116 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
1117 (GOMP_OFFLOAD_openacc_get_cuda_stream)
1118 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
1119 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
1120 these.
1121 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
1122 (GOMP_OFFLOAD_unload_image): Fix argument types.
1123
1124 2017-01-26 Jakub Jelinek <jakub (a] redhat.com>
1125
1126 * testsuite/lib/libgomp.exp
1127 (check_effective_target_hsa_offloading_selected_nocache): Fix up
1128 check_compile invocation. Fix up removal of executable. Drop
1129 bogus "2>&1" argument.
1130
1131 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
1132 directive.
1133
1134 2017-01-24 Pekka Jskelinen <pekka (a] parmance.com>
1135 Martin Jambor <mjambor (a] suse.cz>
1136
1137 * plugin/hsa.h: Moved to top level include.
1138 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
1139
1140 2017-01-21 Jakub Jelinek <jakub (a] redhat.com>
1141
1142 PR other/79046
1143 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
1144 of cat to get version from BASE-VER file.
1145 * testsuite/Makefile.in: Regenerated.
1146
1147 2017-01-19 Jakub Jelinek <jakub (a] redhat.com>
1148
1149 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
1150 for _WIN64.
1151
1152 2017-01-17 Jakub Jelinek <jakub (a] redhat.com>
1153
1154 * plugin/hsa.h: Add GCC runtime library exception.
1155 * plugin/hsa_ext_finalize.h: Likewise.
1156
1157 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
1158 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
1159 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
1160 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
1161 plugin/include/cuda as include dir and -ldl instead of -lcuda as
1162 library to link ptx plugin against.
1163 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
1164 (CUDA_CALLS): Define.
1165 (cuda_lib, cuda_lib_inited): New variables.
1166 (init_cuda_lib): New function.
1167 (CUDA_CALL_PREFIX): Define.
1168 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
1169 (CUDA_CALL): Use FN instead of (FN).
1170 (CUDA_CALL_NOCHECK): Define.
1171 (cuda_error, fini_streams_for_device, select_stream_for_async,
1172 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
1173 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
1174 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
1175 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
1176 CUDA_CALL_NOCHECK.
1177 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
1178 CUDA_CALL_NOCHECK.
1179 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
1180 Use CUDA_CALL_NOCHECK.
1181 * plugin/cuda/cuda.h: New file.
1182 * config.h.in: Regenerated.
1183 * configure: Regenerated.
1184
1185 PR other/79046
1186 * configure.ac: Add GCC_BASE_VER.
1187 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
1188 get version from BASE-VER file.
1189 * testsuite/Makefile.in: Regenerated.
1190 * configure: Regenerated.
1191 * Makefile.in: Regenerated.
1192
1193 2017-01-09 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
1194
1195 PR libgomp/60670
1196 * Makefile.am: Make fincludedir multilib-aware.
1197 * Makefile.in: Regenerate.
1198
1199 2017-01-01 Jakub Jelinek <jakub (a] redhat.com>
1200
1201 Update copyright years.
1202
1203 * libgomp.texi: Bump @copying's copyright year.
1204
1205 2016-12-02 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
1206
1207 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
1208 pthread_spinlock_t instead of gomp_mutex_t lock.
1209 (gomp_get_thread_pool): Likewise.
1210 (gomp_release_thread_pool): Likewise.
1211 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
1212 Likewise.
1213
1214 2016-12-02 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
1215
1216 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
1217 thread pool in case nthreads == 1.
1218
1219 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru>
1220
1221 * config/nvptx/env.c: Delete.
1222 * icv.c: Move definitions of ICV variables back ...
1223 * env.c: ...here. Do not compile environment-related functionality if
1224 LIBGOMP_OFFLOADED_ONLY is set.
1225
1226 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru>
1227
1228 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
1229 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
1230 * configure: Regenerate.
1231 * config.h.in: Likewise.
1232
1233 2016-11-30 Alexander Monakov <amonakov (a] ispras.ru>
1234
1235 * Makefile.in: Regenerate with automake-1.11.6.
1236 * aclocal.m4: Likewise.
1237 * configure: Likewise.
1238 * testsuite/Makefile.in: Likewise.
1239
1240 2016-11-28 Alexander Monakov <amonakov (a] ispras.ru>
1241
1242 * config/nvptx/critical.c: Delete to use generic implementation.
1243
1244 2016-11-28 Jonas Hahnfeld <Hahnfeld (a] itc.rwth-aachen.de>
1245
1246 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
1247 ../../affinity.c as fallback.
1248 * config/nvptx/affinity.c: Delete to use fallback implementation.
1249
1250 2016-11-23 Alexander Monakov <amonakov (a] ispras.ru>
1251 Jakub Jelinek <jakub (a] redhat.com>
1252 Dmitry Melnik <dm (a] ispras.ru>
1253
1254 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
1255 * Makefile.in. Regenerate.
1256 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
1257 (LIBGOMP_USE_PTHREADS): ...here; new define.
1258 * configure: Regenerate.
1259 * config.h.in: Likewise.
1260 * config/posix/affinity.c: Move to...
1261 * affinity.c: ...here (new file). Guard use of Pthreads-specific
1262 interface by LIBGOMP_USE_PTHREADS.
1263 * critical.c: Split out GOMP_atomic_{start,end} into...
1264 * atomic.c: ...here (new file).
1265 * env.c: Split out ICV definitions into...
1266 * icv.c: ...here (new file) and...
1267 * icv-device.c: ...here. New file.
1268 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
1269 (gomp_destroy_lock_30): Ditto.
1270 (gomp_set_lock_30): Ditto.
1271 (gomp_unset_lock_30): Ditto.
1272 (gomp_test_lock_30): Ditto.
1273 (gomp_init_nest_lock_30): Ditto.
1274 (gomp_destroy_nest_lock_30): Ditto.
1275 (gomp_set_nest_lock_30): Ditto.
1276 (gomp_unset_nest_lock_30): Ditto.
1277 (gomp_test_nest_lock_30): Ditto.
1278 * lock.c: New.
1279 * config/nvptx/lock.c: New.
1280 * config/nvptx/bar.c: New.
1281 * config/nvptx/bar.h: New.
1282 * config/nvptx/doacross.h: New.
1283 * config/nvptx/error.c: New.
1284 * config/nvptx/icv-device.c: New.
1285 * config/nvptx/mutex.h: New.
1286 * config/nvptx/pool.h: New.
1287 * config/nvptx/proc.c: New.
1288 * config/nvptx/ptrlock.h: New.
1289 * config/nvptx/sem.h: New.
1290 * config/nvptx/simple-bar.h: New.
1291 * config/nvptx/target.c: New.
1292 * config/nvptx/task.c: New.
1293 * config/nvptx/team.c: New.
1294 * config/nvptx/time.c: New.
1295 * config/posix/simple-bar.h: New.
1296 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
1297 (gomp_num_teams_var): Declare.
1298 (struct gomp_thread_pool): Change threads_dock member to
1299 gomp_simple_barrier_t.
1300 [__nvptx__] (gomp_thread): New implementation.
1301 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
1302 (gomp_thread_destructor): Ditto.
1303 (gomp_init_thread_affinity): Ditto.
1304 * team.c: Guard uses of Pthreads-specific interfaces by
1305 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
1306 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
1307 * config/nvptx/alloc.c: Delete.
1308 * config/nvptx/barrier.c: Ditto.
1309 * config/nvptx/fortran.c: Ditto.
1310 * config/nvptx/iter.c: Ditto.
1311 * config/nvptx/iter_ull.c: Ditto.
1312 * config/nvptx/loop.c: Ditto.
1313 * config/nvptx/loop_ull.c: Ditto.
1314 * config/nvptx/ordered.c: Ditto.
1315 * config/nvptx/parallel.c: Ditto.
1316 * config/nvptx/priority_queue.c: Ditto.
1317 * config/nvptx/sections.c: Ditto.
1318 * config/nvptx/single.c: Ditto.
1319 * config/nvptx/splay-tree.c: Ditto.
1320 * config/nvptx/work.c: Ditto.
1321 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
1322 -foffload=-lgfortran in addition to -lgfortran.
1323 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
1324 * plugin/plugin-nvptx.c: Include <limits.h>.
1325 (struct targ_fn_descriptor): Add new fields.
1326 (struct ptx_device): Ditto. Set them...
1327 (nvptx_open_device): ...here.
1328 (nvptx_adjust_launch_bounds): New.
1329 (nvptx_host2dev): Allow NULL 'nvthd'.
1330 (nvptx_dev2host): Ditto.
1331 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
1332 (link_ptx): Adjust log sizes.
1333 (nvptx_host2dev): Allow NULL 'nvthd'.
1334 (nvptx_dev2host): Ditto.
1335 (nvptx_set_clocktick): New. Use it...
1336 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
1337 fields.
1338 (GOMP_OFFLOAD_dev2dev): New.
1339 (nvptx_adjust_launch_bounds): New.
1340 (nvptx_stacks_size): New.
1341 (nvptx_stacks_alloc): New.
1342 (nvptx_stacks_free): New.
1343 (GOMP_OFFLOAD_run): New.
1344 (GOMP_OFFLOAD_async_run): New (stub).
1345
1346 2016-11-23 Martin Jambor <mjambor (a] suse.cz>
1347
1348 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
1349 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
1350 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
1351
1352 2016-11-23 Martin Liska <mliska (a] suse.cz>
1353 Martin Jambor <mjambor (a] suse.cz>
1354
1355 * plugin/hsa.h: New file.
1356 * plugin/hsa_ext_finalize.h: New file.
1357 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
1358 header file unistd.h, and functions secure_getenv, __secure_getenv,
1359 getuid, geteuid, getgid and getegid.
1360 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
1361 -D_GNU_SOURCE.
1362 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
1363 Handle various cases of secure_getenv presence, add an implementation
1364 when we can test effective UID and GID.
1365 (struct hsa_runtime_fn_info): New structure.
1366 (hsa_runtime_fn_info hsa_fns): New variable.
1367 (hsa_runtime_lib): Likewise.
1368 (support_cpu_devices): Likewise.
1369 (init_enviroment_variables): Load newly introduced ENV
1370 variables.
1371 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
1372 (hsa_fatal): Likewise.
1373 (DLSYM_FN): New macro.
1374 (init_hsa_runtime_functions): New function.
1375 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
1376 structure. Depending on environment, also allow CPU devices.
1377 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
1378 (get_kernarg_memory_region): Likewise.
1379 (GOMP_OFFLOAD_init_device): Likewise.
1380 (destroy_hsa_program): Likewise.
1381 (init_basic_kernel_info): New function.
1382 (GOMP_OFFLOAD_load_image): Use it.
1383 (create_and_finalize_hsa_program): Call hsa run-time functions via
1384 hsa_fns structure.
1385 (create_single_kernel_dispatch): Likewise.
1386 (release_kernel_dispatch): Likewise.
1387 (init_single_kernel): Likewise.
1388 (parse_target_attributes): Allow up multiple HSA grid dimensions.
1389 (get_group_size): New function.
1390 (run_kernel): Likewise.
1391 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
1392 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
1393 structure.
1394 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
1395 * testsuite/libgomp-test-support.exp.in: Likewise.
1396 * Makefile.in: Regenerated.
1397 * aclocal.m4: Likewise.
1398 * config.h.in: Likewise.
1399 * configure: Likewise.
1400 * testsuite/Makefile.in: Likewise.
1401
1402 2016-11-15 Martin Jambor <mjambor (a] suse.cz>
1403 Alexander Monakov <amonakov (a] ispras.ru>
1404
1405 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
1406 mapping clauses to target constructs.
1407 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
1408
1409 2016-11-15 Matthias Klose <doko (a] ubuntu.com>
1410
1411 * configure: Regenerate.
1412
1413 2016-11-10 Jakub Jelinek <jakub (a] redhat.com>
1414
1415 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
1416 * omp_lib.h.in (openmp_version): Likewise.
1417 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
1418 of 201307.
1419 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
1420
1421 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
1422 (fib_wrapper): Add map(from: x) clause.
1423 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
1424 (e_53_2): Likewise.
1425 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
1426 (accum): Add map(tmp) clause.
1427 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
1428 (accum): Add map(tofrom: tmp) clause.
1429 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
1430 (gramSchmidt): Likewise.
1431 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
1432 map(tofrom: sum) clause.
1433 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
1434 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
1435 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
1436 only allowed on the loop iterator.
1437 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
1438 * testsuite/libgomp.fortran/taskloop2.f90: New test.
1439 * testsuite/libgomp.fortran/taskloop4.f90: New test.
1440 * testsuite/libgomp.fortran/doacross1.f90: New test.
1441 * testsuite/libgomp.fortran/doacross3.f90: New test.
1442 * testsuite/libgomp.fortran/taskloop1.f90: New test.
1443 * testsuite/libgomp.fortran/taskloop3.f90: New test.
1444 * testsuite/libgomp.fortran/doacross2.f90: New test.
1445 * testsuite/libgomp.c/doacross-1.c (main): Add missing
1446 #pragma omp atomic read.
1447 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
1448 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
1449
1450 2016-11-02 Cesar Philippidis <cesar (a] codesourcery.com>
1451 Nathan Sidwell <nathan (a] acm.org>
1452
1453 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
1454 to determine default geometry.
1455 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
1456 dimension.
1457
1458 2016-11-01 Jakub Jelinek <jakub (a] redhat.com>
1459
1460 * hashtab.h: Use standard GPLv3 with runtime exception
1461 boilerplate.
1462
1463 2016-10-27 Aldy Hernandez <aldyh (a] redhat.com>
1464
1465 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
1466 size when allocating new thread.
1467
1468 2016-09-14 Marek Polacek <polacek (a] redhat.com>
1469
1470 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
1471
1472 2016-08-19 Jakub Jelinek <jakub (a] redhat.com>
1473
1474 PR fortran/71014
1475 * testsuite/libgomp.fortran/pr71014.f90: New test.
1476
1477 2016-08-18 Chung-Lin Tang <cltang (a] codesourcery.com>
1478
1479 PR middle-end/70895
1480 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
1481 firstprivate clauses.
1482 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
1483 copy clauses.
1484 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1485 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
1486 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
1487 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
1488 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1489 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
1490 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1491 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
1492 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1493 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1494 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1495 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
1496
1497 2016-08-14 Chung-Lin Tang <cltang (a] codesourcery.com>
1498
1499 PR fortran/70598
1500 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
1501
1502 2016-08-08 Jakub Jelinek <jakub (a] redhat.com>
1503
1504 PR c++/58706
1505 * testsuite/libgomp.c++/pr58706.C: New test.
1506
1507 2016-08-04 Thomas Schwinge <thomas (a] codesourcery.com>
1508
1509 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
1510 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
1511 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
1512 Likewise.
1513 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
1514 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
1515 Likewise.
1516 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
1517
1518 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
1519 test, and don't hardcode -O0.
1520
1521 2016-08-03 Nathan Sidwell <nathan (a] codesourcery.com>
1522
1523 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
1524
1525 2016-07-15 Cesar Philippidis <cesar (a] codesourcery.com>
1526
1527 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
1528 test.
1529
1530 2016-07-03 H.J. Lu <hongjiu.lu (a] intel.com>
1531
1532 PR middle-end/71734
1533 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
1534 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
1535
1536 2016-07-01 Jakub Jelinek <jakub (a] redhat.com>
1537
1538 PR fortran/71717
1539 * testsuite/libgomp.fortran/associate3.f90: New test.
1540
1541 2016-06-17 Jakub Jelinek <jakub (a] redhat.com>
1542
1543 * testsuite/libgomp.c++/target-21.C: New test.
1544
1545 2016-06-16 Jakub Jelinek <jakub (a] redhat.com>
1546
1547 * testsuite/libgomp.c++/target-20.C: New test.
1548
1549 2016-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
1550 Cesar Philippidis <cesar (a] codesourcery.com>
1551
1552 PR middle-end/71373
1553 * libgomp.oacc-c/nested-function-1.c: New file.
1554 * libgomp.oacc-c/nested-function-2.c: Likewise.
1555 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
1556 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
1557 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
1558
1559 2016-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
1560
1561 PR c/71381
1562 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
1563 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
1564 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
1565
1566 2016-06-03 Chung-Lin Tang <cltang (a] codesourcery.com>
1567
1568 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
1569 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
1570
1571 2016-06-01 Cesar Philippidis <cesar (a] codesourcery.com>
1572
1573 PR c/70688
1574 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
1575
1576 2016-05-26 Jakub Jelinek <jakub (a] redhat.com>
1577
1578 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
1579 instead of invalid schedule(static, 0).
1580 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
1581
1582 2016-05-26 Chung-Lin Tang <cltang (a] codesourcery.com>
1583
1584 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
1585 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
1586 parameter, use to set async stream around call to gomp_unmap_vars,
1587 call gomp_unmap_vars() with 'do_copyfrom' set to true.
1588 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
1589 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
1590 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
1591 (event_add): Add int parameter, initialize 'val' field when
1592 adding new ptx_event struct.
1593 (nvptx_evec): Adjust event_add() call arguments.
1594 (nvptx_host2dev): Likewise.
1595 (nvptx_dev2host): Likewise.
1596 (nvptx_wait_async): Likewise.
1597 (nvptx_wait_all_async): Likewise.
1598 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
1599 pass to event_add() call.
1600 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
1601 parameter.
1602 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
1603 call openacc.register_async_cleanup_func() hook.
1604 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
1605 * target.c (gomp_copy_from_async): Delete function.
1606 (gomp_map_vars): Remove async_refcount.
1607 (gomp_unmap_vars): Likewise.
1608 (gomp_load_image_to_device): Likewise.
1609 (omp_target_associate_ptr): Likewise.
1610 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
1611 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
1612 (gomp_copy_from_async): Remove.
1613
1614 2016-05-26 Chung-Lin Tang <cltang (a] codesourcery.com>
1615
1616 * target.c (gomp_device_copy): New function.
1617 (gomp_copy_host2dev): Likewise.
1618 (gomp_copy_dev2host): Likewise.
1619 (gomp_free_device_memory): Likewise.
1620 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
1621 (gomp_map_pointer): Likewise.
1622 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
1623 NULL value from alloc_func plugin hook.
1624 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
1625 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
1626 (gomp_unmap_vars): Likewise.
1627 (gomp_update): Adjust to call gomp_copy_dev2host and
1628 gomp_copy_host2dev functions.
1629 (gomp_unload_image_from_device): Handle false value from
1630 unload_image_func plugin hook.
1631 (gomp_init_device): Handle false value from init_device_func
1632 plugin hook.
1633 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
1634 (omp_target_free): Adjust to call gomp_free_device_memory.
1635 (omp_target_memcpy): Handle return values from host2dev_func,
1636 dev2host_func, and dev2dev_func plugin hooks.
1637 (omp_target_memcpy_rect_worker): Likewise.
1638 (gomp_target_fini): Handle false value from fini_device_func
1639 plugin hook.
1640 * libgomp.h (struct gomp_device_descr): Adjust return type of
1641 init_device_func, fini_device_func, unload_image_func, free_func,
1642 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
1643 * oacc-init.c (acc_shutdown_1): Handle false value from
1644 fini_device_func plugin hook.
1645 * oacc-host.c (host_init_device): Change return type to bool.
1646 (host_fini_device): Likewise.
1647 (host_unload_image): Likewise.
1648 (host_free): Likewise.
1649 (host_dev2host): Likewise.
1650 (host_host2dev): Likewise.
1651 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
1652 (acc_memcpy_to_device): Likewise.
1653 (acc_memcpy_from_device): Likewise.
1654 (delete_copyout): Add libfnname parameter, handle free_func
1655 hook fatal error case.
1656 (acc_delete): Adjust delete_copyout call.
1657 (acc_copyout): Likewise.
1658 (update_dev_host): Move gomp_mutex_unlock to after
1659 host2dev/dev2host hook calls.
1660
1661 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
1662 to 'hsa_error_msg', for clarity.
1663 (hsa_fatal): Likewise.
1664 (hsa_error): New function.
1665 (init_hsa_context): Change return type to bool, adjust to return
1666 false on error.
1667 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
1668 return value.
1669 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
1670 return false on error.
1671 (get_agent_info): Adjust to return NULL on error.
1672 (destroy_hsa_program): Change return type to bool, adjust to
1673 return false on error.
1674 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
1675 (destroy_module): Change return type to bool, adjust to
1676 return false on error.
1677 (GOMP_OFFLOAD_unload_image): Likewise.
1678 (GOMP_OFFLOAD_fini_device): Likewise.
1679 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
1680 (GOMP_OFFLOAD_free): Change to return false when called.
1681 (GOMP_OFFLOAD_dev2host): Likewise.
1682 (GOMP_OFFLOAD_host2dev): Likewise.
1683 (GOMP_OFFLOAD_dev2dev): Likewise.
1684
1685 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
1686 (CUDA_CALL): Likewise.
1687 (CUDA_CALL_ASSERT): Likewise.
1688 (map_init): Change return type to bool, use CUDA_CALL* macros.
1689 (map_fini): Likewise.
1690 (init_streams_for_device): Change return type to bool, adjust
1691 call to map_init.
1692 (fini_streams_for_device): Change return type to bool, adjust
1693 call to map_fini.
1694 (select_stream_for_async): Release stream_lock before calls to
1695 GOMP_PLUGIN_fatal, adjust call to map_init.
1696 (nvptx_init): Use CUDA_CALL* macros.
1697 (nvptx_attach_host_thread_to_device): Change return type to bool,
1698 use CUDA_CALL* macros.
1699 (nvptx_open_device): Use CUDA_CALL* macros.
1700 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
1701 macros.
1702 (nvptx_get_num_devices): Use CUDA_CALL* macros.
1703 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
1704 (nvptx_exec): Use CUDA_CALL* macros.
1705 (nvptx_alloc): Use CUDA_CALL* macros.
1706 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
1707 (nvptx_host2dev): Likewise.
1708 (nvptx_dev2host): Likewise.
1709 (nvptx_wait): Use CUDA_CALL* macros.
1710 (nvptx_wait_async): Likewise.
1711 (nvptx_wait_all): Likewise.
1712 (nvptx_wait_all_async): Likewise.
1713 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
1714 use CUDA_CALL* macros, adjust call to map_fini.
1715 (GOMP_OFFLOAD_init_device): Change return type to bool,
1716 adjust code accordingly.
1717 (GOMP_OFFLOAD_fini_device): Likewise.
1718 (GOMP_OFFLOAD_load_image): Adjust calls to
1719 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
1720 use CUDA_CALL* macros.
1721 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
1722 return code.
1723 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
1724 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
1725 handle error return.
1726 (GOMP_OFFLOAD_dev2host): Likewise.
1727 (GOMP_OFFLOAD_host2dev): Likewise.
1728 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
1729 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
1730
1731 2016-05-24 Cesar Philippidis <cesar (a] codesourcery.com>
1732
1733 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
1734 (acc_free): Likewise.
1735 (acc_memcpy_to_device): Likewise.
1736 (acc_memcpy_from_device): Likewise.
1737 (acc_deviceptr): Likewise.
1738 (acc_hostptr): Likewise.
1739 (acc_is_present): Likewise.
1740 (acc_map_data): Likewise.
1741 (acc_unmap_data): Likewise.
1742 (present_create_copy): Likewise.
1743 (delete_copyout): Likewise.
1744 (update_dev_host): Likewise.
1745 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
1746 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
1747 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
1748 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1749 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
1750 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
1751 it only runs on nvptx targets.
1752 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1753 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
1754 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1755 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
1756 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1757 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1758 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
1759 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
1760 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1761 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
1762 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1763 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
1764 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
1765 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1766 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1767 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1768 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
1769 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1770 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
1771 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1772 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
1773 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1774 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1775
1776 2016-05-23 Martin Jambor <mjambor (a] suse.cz>
1777
1778 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
1779
1780 2016-05-17 Chung-Lin Tang <cltang (a] codesourcery.com>
1781
1782 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
1783 to gomp_init_targets_once.
1784 (acc_set_device_type): Remove !cached_base_dev condition on call to
1785 gomp_init_targets_once, move call to before acc_device_lock acquire,
1786 to avoid deadlock.
1787 (acc_get_device_num): Remove !cached_base_dev condition on call to
1788 gomp_init_targets_once.
1789 (acc_set_device_num): Likewise.
1790
1791 2016-05-16 Martin Jambor <mjambor (a] suse.cz>
1792
1793 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
1794
1795 2016-05-02 Nathan Sidwell <nathan (a] codesourcery.com>
1796
1797 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
1798 expected partitioning.
1799
1800 2016-04-29 Cesar Philippidis <cesar (a] codesourcery.com>
1801
1802 PR middle-end/70626
1803 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
1804 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
1805 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
1806
1807 2016-04-21 Alexander Monakov <amonakov (a] ispras.ru>
1808
1809 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
1810 non-fatal.
1811
1812 2016-04-19 Jakub Jelinek <jakub (a] redhat.com>
1813
1814 PR middle-end/70680
1815 * testsuite/libgomp.c/pr70680-1.c: New test.
1816 * testsuite/libgomp.c/pr70680-2.c: New test.
1817
1818 2016-04-14 Cesar Philippidis <cesar (a] codesourcery.com>
1819
1820 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
1821 pass parameter variables to subroutines.
1822
1823 2016-04-14 Cesar Philippidis <cesar (a] codesourcery.com>
1824
1825 PR middle-end/70643
1826 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
1827
1828 2016-04-13 Cesar Philippidis <cesar (a] codesourcery.com>
1829
1830 PR testsuite/68242
1831 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
1832 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1833
1834 2016-04-12 Thomas Schwinge <thomas (a] codesourcery.com>
1835
1836 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
1837 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
1838 GOACC_declare prototype.
1839
1840 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
1841 Merge this file, and...
1842 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
1843 ... this file, and...
1844 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
1845 ... this file, and...
1846 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
1847 ... this file, and...
1848 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
1849 ... this file, and...
1850 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
1851 ... this file, and...
1852 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
1853 ... this file, and...
1854 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
1855 ... this file, and...
1856 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
1857 ... this file, and...
1858 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
1859 ... this file, and...
1860 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
1861 ... this file, and...
1862 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
1863 ... this file, and...
1864 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
1865 ... this file into...
1866 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
1867 file.
1868
1869 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1870 Make failure observable.
1871
1872 2016-04-12 Jakub Jelinek <jakub (a] redhat.com>
1873
1874 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
1875 field.
1876 * target.c (gomp_target_fallback_firstprivate,
1877 gomp_target_unshare_firstprivate): Removed.
1878 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
1879 before waiting for dependencies.
1880 (gomp_target_task_fn): Don't copy firstprivate vars here.
1881 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
1882 firstprivate_copies here.
1883 (gomp_create_target_task): Don't initialize firstprivate_copies field.
1884 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
1885 explicit/implicit firstprivate.
1886
1887 2016-04-08 Cesar Philippidis <cesar (a] codesourcery.com>
1888
1889 PR lto/70289
1890 PR ipa/70348
1891 PR tree-optimization/70373
1892 PR middle-end/70533
1893 PR middle-end/70534
1894 PR middle-end/70535
1895 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
1896 test.
1897 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
1898 test.
1899 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
1900 test.
1901 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
1902 test.
1903 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
1904 test.
1905 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
1906 test.
1907 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
1908 test.
1909 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
1910 test.
1911 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
1912 test.
1913 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
1914 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
1915 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
1916 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
1917 test.
1918 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
1919 test.
1920 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
1921 test.
1922 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
1923 test.
1924 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
1925 coverage.
1926 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1927 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1928 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
1929 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
1930 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
1931 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
1932 coverage.
1933 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1934 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1935 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1936 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1937 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
1938 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
1939 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
1940 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
1941 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
1942 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
1943 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
1944 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
1945 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1946 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1947 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
1948
1949 2016-03-30 Thomas Schwinge <thomas (a] codesourcery.com>
1950 James Norris <jnorris (a] codesourcery.com>
1951 Nathan Sidwell <nathan (a] codesourcery.com>
1952 Julian Brown <julian (a] codesourcery.com>
1953 Cesar Philippidis <cesar (a] codesourcery.com>
1954 Chung-Lin Tang <cltang (a] codesourcery.com>
1955 Tom de Vries <tom (a] codesourcery.com>
1956
1957 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
1958 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
1959 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
1960 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
1961 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1962 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1963 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1964 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
1965 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
1966 XFAIL.
1967 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
1968 Incorporate...
1969 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
1970 file.
1971 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
1972 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
1973 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
1974 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
1975 Likewise.
1976 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1977 Likewise.
1978 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1979 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
1980 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
1981 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1982 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
1983 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
1984 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
1985 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
1986 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1987 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
1988 Likewise.
1989 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
1990 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1991 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
1992 file...
1993 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
1994 file into...
1995 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
1996 file. Update.
1997 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
1998 file.
1999 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
2000 Likewise.
2001 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
2002 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
2003 ... this new file. Update.
2004 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
2005 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
2006 ... this new file. Update.
2007 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
2008 file. Incorporate...
2009 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
2010 file, and...
2011 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
2012 file, and...
2013 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
2014 file.
2015 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
2016
2017 2016-03-29 Thomas Schwinge <thomas (a] codesourcery.com>
2018
2019 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
2020 set-torture-options.
2021
2022 2016-03-24 Thomas Schwinge <thomas (a] codesourcery.com>
2023
2024 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
2025 gcc-dg-runtest.
2026 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2027 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
2028 -fno-builtin-acc_on_device instead of -O0.
2029 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
2030 -O0.
2031 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2032 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
2033 Likewise.
2034 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2035 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2036 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2037 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2038 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2039 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2040 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2041 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2042 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2043 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2044 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2045 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2046 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2047 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
2048 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
2049 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2050 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
2051 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
2052 Don't specify -O2.
2053 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
2054 Likewise.
2055 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
2056 Likewise.
2057
2058 2016-03-24 Martin Liska <mliska (a] suse.cz>
2059
2060 * plugin/plugin-hsa.c (packet_store_release): New function
2061 that is taken from the HSA runtime manual.
2062 (GOMP_OFFLOAD_run): Use the function.
2063
2064 2016-03-23 Jakub Jelinek <jakub (a] redhat.com>
2065
2066 PR c++/70376
2067 * testsuite/libgomp.c++/pr70376.C: New test.
2068
2069 2016-03-23 Tom de Vries <tom (a] codesourcery.com>
2070
2071 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
2072 initialization of lresult and lvresult.
2073 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
2074
2075 2016-03-23 James Norris <jnorris (a] codesourcery.com>
2076 Daichi Fukuoka <dc-fukuoka (a] sgi.com>
2077
2078 PR libgomp/69414
2079 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
2080 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
2081 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
2082 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
2083
2084 2016-03-23 Martin Liska <mliska (a] suse.cz>
2085
2086 PR hsa/70337
2087 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
2088 argument just in case a dispatched kernel uses that argument.
2089
2090 2016-03-16 Thomas Schwinge <thomas (a] codesourcery.com>
2091
2092 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
2093 -ftree-parallelize-loops/-fopenacc changes.
2094 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
2095 Likewise.
2096 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
2097 Likewise.
2098 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
2099 Likewise.
2100 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
2101 Likewise.
2102 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
2103 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
2104
2105 2016-03-13 Thomas Schwinge <thomas (a] codesourcery.com>
2106
2107 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
2108 always_ld_library_path the path to libgcc_s.
2109
2110 2016-03-10 Cesar Philippidis <cesar (a] codesourcery.com>
2111
2112 PR testsuite/70009
2113 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
2114
2115 2016-03-09 Tom de Vries <tom (a] codesourcery.com>
2116
2117 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
2118 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
2119 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
2120 Same.
2121 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
2122 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
2123 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
2124 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
2125
2126 2016-03-07 Martin Jambor <mjambor (a] suse.cz>
2127
2128 * testsuite/lib/libgomp.exp
2129 (check_effective_target_hsa_offloading_selected_nocache): New.
2130 (check_effective_target_hsa_offloading_selected): Likewise.
2131 * testsuite/libgomp.hsa.c/c.exp: Likewise.
2132 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
2133 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
2134 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
2135 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
2136 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
2137 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
2138 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
2139 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
2140 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
2141 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
2142 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
2143 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
2144 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
2145 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
2146 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
2147 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
2148
2149 2016-03-07 Martin Jambor <mjambor (a] suse.cz>
2150
2151 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
2152 non-shared memory accelerators.
2153 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
2154 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
2155 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
2156 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
2157 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
2158 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
2159 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
2160 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
2161 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
2162
2163 2016-03-07 Martin Jambor <mjambor (a] suse.cz>
2164
2165 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
2166 ALWAYS_CFLAGS.
2167
2168 2016-03-02 Jakub Jelinek <jakub (a] redhat.com>
2169
2170 PR libgomp/69555
2171 * testsuite/libgomp.c++/pr69555-1.C: New test.
2172 * testsuite/libgomp.c++/pr69555-2.C: New test.
2173
2174 2016-02-26 Keith McDaniel <k.allen.mcdaniel (a] gmail.com>
2175 Martin Jambor <mjambor (a] suse.cz>
2176
2177 * testsuite/lib/libgomp.exp
2178 (check_effective_target_offload_device_shared_as): New proc.
2179 * testsuite/libgomp.c++/declare_target-1.C: New test.
2180
2181 2016-02-25 Ilya Verbin <ilya.verbin (a] intel.com>
2182
2183 PR driver/68463
2184 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
2185
2186 2016-02-23 Thomas Schwinge <thomas (a] codesourcery.com>
2187
2188 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
2189 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
2190 dims.
2191 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
2192 -ftree-parallelize-loops/-fopenacc changes.
2193 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
2194 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
2195 Likewise.
2196 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
2197 Likewise.
2198 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
2199 Likewise.
2200 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
2201 Likewise.
2202 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
2203 Likewise.
2204 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
2205 Likewise.
2206 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
2207 Likewise.
2208 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
2209 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
2210 Likewise.
2211 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
2212 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
2213 Likewise.
2214 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
2215 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
2216 Likewise.
2217
2218 2016-02-22 Cesar Philippidis <cesar (a] codesourcery.com>
2219
2220 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
2221
2222 2016-02-19 Jakub Jelinek <jakub (a] redhat.com>
2223
2224 PR driver/69805
2225 * testsuite/libgomp.c/pr69805.c: New test.
2226
2227 2016-02-16 Tom de Vries <tom (a] codesourcery.com>
2228
2229 PR lto/67709
2230 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
2231
2232 2016-02-09 Tom de Vries <tom (a] codesourcery.com>
2233
2234 PR tree-optimization/69599
2235 * testsuite/libgomp.c/omp-nested-3.c: New test.
2236 * testsuite/libgomp.c/pr46032-2.c: New test.
2237 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
2238 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
2239
2240 2016-02-09 Tom de Vries <tom (a] codesourcery.com>
2241
2242 PR lto/69707
2243 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
2244
2245 2016-02-02 Alexander Monakov <amonakov (a] ispras.ru>
2246
2247 * testsuite/libgomp.c/target-31.c: Fix testcase.
2248
2249 2016-02-02 Alexander Monakov <amonakov (a] ispras.ru>
2250
2251 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
2252 clause.
2253 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
2254 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
2255 reduction and map clauses.
2256 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
2257
2258 2016-02-02 James Norris <jnorris (a] codesourcery.com>
2259
2260 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
2261
2262 2016-02-02 Thomas Schwinge <thomas (a] codesourcery.com>
2263
2264 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
2265 * oacc-parallel.c (GOACC_host_data): Remove function definition.
2266
2267 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
2268 cases.
2269
2270 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
2271 variables.
2272 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
2273 (hsa_kmt_lib): Set variables.
2274 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
2275 always_ld_library_path.
2276 * Makefile.in: Regenerate.
2277 * configure: Likewise.
2278 * testsuite/Makefile.in: Likewise.
2279
2280 * plugin/configfrag.ac (offload_additional_options)
2281 (offload_additional_lib_paths): Don't amend for hsa offloading.
2282 * configure: Regenerate.
2283
2284 * plugin/configfrag.ac: Don't configure for offloading target if
2285 we don't build the corresponding plugin.
2286 * configure: Regenerate.
2287
2288 2016-02-01 Nathan Sidwell <nathan (a] codesourcery.com>
2289
2290 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
2291 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
2292
2293 2016-01-26 Tom de Vries <tom (a] codesourcery.com>
2294
2295 PR tree-optimization/69110
2296 * testsuite/libgomp.c/pr69110.c: New test.
2297
2298 2016-01-25 Richard Biener <rguenther (a] suse.de>
2299
2300 PR lto/69393
2301 * testsuite/libgomp.c++/pr69393.C: New testcase.
2302
2303 2016-01-22 Ilya Verbin <ilya.verbin (a] intel.com>
2304
2305 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
2306 function wasn't mapped to the device with non-shared memory.
2307
2308 2016-01-20 Ilya Verbin <ilya.verbin (a] intel.com>
2309
2310 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
2311
2312 2016-01-19 Martin Jambor <mjambor (a] suse.cz>
2313 Martin Liska <mliska (a] suse.cz>
2314
2315 * plugin/Makefrag.am: Add HSA plugin requirements.
2316 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
2317 (HSA_RUNTIME_LIB): Likewise.
2318 (HSA_RUNTIME_CPPFLAGS): Likewise.
2319 (HSA_RUNTIME_INCLUDE): New substitution.
2320 (HSA_RUNTIME_LIB): Likewise.
2321 (HSA_RUNTIME_LDFLAGS): Likewise.
2322 (hsa-runtime): New configure option.
2323 (hsa-runtime-include): Likewise.
2324 (hsa-runtime-lib): Likewise.
2325 (PLUGIN_HSA): New substitution variable.
2326 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
2327 configure options.
2328 (PLUGIN_HSA_CPPFLAGS): Likewise.
2329 (PLUGIN_HSA_LDFLAGS): Likewise.
2330 (PLUGIN_HSA_LIBS): Likewise.
2331 Check that we have access to HSA run-time.
2332 * libgomp-plugin.h (offload_target_type): New element
2333 OFFLOAD_TARGET_TYPE_HSA.
2334 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
2335 args.
2336 (bool gomp_create_target_task): Updated.
2337 (gomp_device_descr): Extra parameter of run_func and async_run_func,
2338 new field can_run_func.
2339 * libgomp_g.h (GOMP_target_ext): Update prototype.
2340 * oacc-host.c (host_run): Added a new parameter args.
2341 * target.c (calculate_firstprivate_requirements): New function.
2342 (copy_firstprivate_data): Likewise.
2343 (gomp_target_fallback_firstprivate): Use them.
2344 (gomp_target_unshare_firstprivate): New function.
2345 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
2346 devices.
2347 (GOMP_target): Do host fallback for all shared memory devices. Do not
2348 pass any args to plugins.
2349 (GOMP_target_ext): Introduce device-specific argument parameter args.
2350 Allow host fallback if device shares memory. Do not remap data if
2351 device has shared memory.
2352 (gomp_target_task_fn): Likewise. Also treat shared memory devices
2353 like host fallback for mappings.
2354 (GOMP_target_data): Treat shared memory devices like host fallback.
2355 (GOMP_target_data_ext): Likewise.
2356 (GOMP_target_update): Likewise.
2357 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
2358 gomp_create_target_task.
2359 (GOMP_target_enter_exit_data): Likewise.
2360 (omp_target_alloc): Treat shared memory devices like host fallback.
2361 (omp_target_free): Likewise.
2362 (omp_target_is_present): Likewise.
2363 (omp_target_memcpy): Likewise.
2364 (omp_target_memcpy_rect): Likewise.
2365 (omp_target_associate_ptr): Likewise.
2366 (gomp_load_plugin_for_device): Also load can_run.
2367 * task.c (GOMP_PLUGIN_target_task_completion): Free
2368 firstprivate_copies.
2369 (gomp_create_target_task): Accept new argument args and store it to
2370 ttask.
2371 * plugin/plugin-hsa.c: New file.
2372
2373 2016-01-18 Tom de Vries <tom (a] codesourcery.com>
2374
2375 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
2376 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
2377 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
2378 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
2379 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
2380 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
2381 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
2382 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
2383 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
2384 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
2385 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
2386 Same.
2387 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
2388 Same.
2389 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
2390 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
2391 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
2392 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
2393 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
2394 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
2395 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
2396 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
2397 Same.
2398 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
2399
2400 2016-01-15 Jakub Jelinek <jakub (a] redhat.com>
2401
2402 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
2403
2404 2016-01-15 Cesar Philippidis <cesar (a] codesourcery.com>
2405
2406 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
2407
2408 2016-01-12 James Norris <jnorris (a] codesourcery.com>
2409
2410 * libgomp.texi: Updates for OpenACC.
2411
2412 2016-01-11 Alexander Monakov <amonakov (a] ispras.ru>
2413
2414 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
2415
2416 2016-01-07 H.J. Lu <hongjiu.lu (a] intel.com>
2417
2418 PR fortran/66680
2419 * testsuite/libgomp.fortran/pr66680.f90: New test.
2420
2421 2016-01-07 Jakub Jelinek <jakub (a] redhat.com>
2422
2423 PR middle-end/68960
2424 * testsuite/libgomp.c/pr68960.c: New test.
2425
2426 2016-01-06 Nathan Sidwell <nathan (a] acm.org>
2427
2428 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
2429 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
2430
2431 2016-01-04 Jakub Jelinek <jakub (a] redhat.com>
2432
2433 Update copyright years.
2434
2435 * libgomp.texi: Bump @copying's copyright year.
2436
2437 2015-12-31 Nathan Sidwell <nathan (a] acm.org>
2438
2439 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
2440 dg-additional-options syntax.
2441 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
2442 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
2443 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
2444 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2445 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
2446 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
2447 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
2448 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
2449 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
2450 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
2451 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2452 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
2453 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
2454 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2455 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
2456 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
2457 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2458 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2459
2460 2015-12-15 Ilya Verbin <ilya.verbin (a] intel.com>
2461
2462 * libgomp.h (REFCOUNT_LINK): Define.
2463 (struct splay_tree_key_s): Add link_key.
2464 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
2465 Replace target address of the pointer with target address of newly
2466 mapped object in the splay tree. Set link pointer on target to the
2467 device address of the mapped object.
2468 (gomp_unmap_vars): Restore target address of the pointer in the splay
2469 tree for REFCOUNT_LINK objects after unmapping.
2470 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
2471 declare target link" objects.
2472 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
2473 "omp declare target link" objects, which were mapped for the image.
2474 (gomp_exit_data): Restore target address of the pointer in the splay
2475 tree for REFCOUNT_LINK objects after unmapping.
2476 * testsuite/libgomp.c/target-link-1.c: New file.
2477
2478 2015-12-14 Ilya Verbin <ilya.verbin (a] intel.com>
2479
2480 * libgomp.h (gomp_device_state): New enum.
2481 (struct gomp_device_descr): Replace is_initialized with state.
2482 (gomp_fini_device): Remove declaration.
2483 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
2484 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
2485 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
2486 (acc_set_device_type): Use state instead of is_initialized.
2487 (acc_set_device_num): Likewise.
2488 * target.c (resolve_device): Use state instead of is_initialized.
2489 Do not initialize finalized device.
2490 (gomp_map_vars): Do nothing if device is finalized.
2491 (gomp_unmap_vars): Likewise.
2492 (gomp_update): Likewise.
2493 (GOMP_offload_register_ver): Use state instead of is_initialized.
2494 (GOMP_offload_unregister_ver): Likewise.
2495 (gomp_init_device): Likewise.
2496 (gomp_unload_device): Likewise.
2497 (gomp_fini_device): Remove.
2498 (gomp_get_target_fn_addr): Do nothing if device is finalized.
2499 (GOMP_target): Go to host fallback if device is finalized.
2500 (GOMP_target_ext): Likewise.
2501 (gomp_exit_data): Do nothing if device is finalized.
2502 (gomp_target_task_fn): Go to host fallback if device is finalized.
2503 (gomp_target_fini): New static function.
2504 (gomp_target_init): Use state instead of is_initialized.
2505 Call gomp_target_fini at exit.
2506
2507 2015-12-09 Tom de Vries <tom (a] codesourcery.com>
2508
2509 PR tree-optimization/68716
2510 * testsuite/libgomp.c/omp-nested-2.c: New test.
2511
2512 2015-12-02 Thomas Schwinge <thomas (a] codesourcery.com>
2513
2514 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
2515 target openacc_nvidia_accel_selected.
2516 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
2517 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
2518 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
2519 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
2520
2521 2015-12-01 Julian Brown <julian (a] codesourcery.com>
2522 James Norris <James_Norris (a] mentor.com>
2523
2524 * oacc-parallel.c (GOACC_host_data): New function.
2525 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
2526 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
2527 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
2528 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
2529 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
2530 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
2531 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
2532
2533 2015-11-30 James Norris <jnorris (a] codesourcery.com>
2534 Cesar Philippidis <cesar (a] codesourcery.com>
2535
2536 libgomp/
2537 * libgomp.oacc-fortran/routine-5.f90: New test.
2538 * libgomp.oacc-fortran/routine-7.f90: New test.
2539 * libgomp.oacc-fortran/routine-9.f90: New test.
2540
2541 2015-11-30 Tom de Vries <tom (a] codesourcery.com>
2542
2543 PR tree-optimization/46032
2544 * testsuite/libgomp.c/pr46032.c: New test.
2545
2546 2015-11-27 Jakub Jelinek <jakub (a] redhat.com>
2547
2548 PR libgomp/68579
2549 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
2550 (gomp_create_target_task): Call it before freeing
2551 GOMP_TARGET_TASK_DATA tasks.
2552
2553 PR c/63326
2554 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
2555 in between case label and OpenMP standalone directives.
2556 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
2557
2558 2015-11-26 David Edelsohn <dje.gcc (a] gmail.com>
2559
2560 * configure: Regenerate.
2561
2562 2015-11-26 Jakub Jelinek <jakub (a] redhat.com>
2563
2564 * testsuite/libgomp.c/target-35.c: New test.
2565
2566 2015-11-22 James Norris <jnorris (a] codesourcery.com>
2567 Cesar Philippidis <cesar (a] codesourcery.com>
2568
2569 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
2570 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2571 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2572 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2573 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2574
2575 2015-11-20 Jakub Jelinek <jakub (a] redhat.com>
2576
2577 PR middle-end/68221
2578 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
2579 * testsuite/libgomp.c/reduction-12.c: Likewise.
2580 * testsuite/libgomp.c++/reduction-11.C: Likewise.
2581 * testsuite/libgomp.c++/reduction-12.C: Likewise.
2582
2583 2015-11-19 Nathan Sidwell <nathan (a] codesourcery.com>
2584
2585 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
2586 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
2587 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
2588 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
2589 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
2590 and fix.
2591 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
2592 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
2593
2594 2015-11-18 Nathan Sidwell <nathan (a] codesourcery.com>
2595
2596 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
2597 worker & gang cases.
2598 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
2599
2600 2015-11-17 Cesar Philippidis <cesar (a] codesourcery.com>
2601
2602 * config/nvptx/priority_queue.c: New file.
2603
2604 2015-11-14 Jakub Jelinek <jakub (a] redhat.com>
2605
2606 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
2607 sections.
2608
2609 2015-11-14 Jakub Jelinek <jakub (a] redhat.com>
2610 Aldy Hernandez <aldyh (a] redhat.com>
2611 Ilya Verbin <ilya.verbin (a] intel.com>
2612
2613 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
2614 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
2615 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
2616 iterators or IV by chunk size.
2617 * parallel.c (gomp_resolve_num_threads): Don't assume that
2618 if thr->ts.team is non-NULL, then pool must be non-NULL.
2619 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
2620 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
2621 GOMP_PLUGIN_target_task_completion.
2622 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
2623 * Makefile.in: Regenerate.
2624 * libgomp.h: Shuffle prototypes and forward definitions around so
2625 priority queues can be defined.
2626 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
2627 (enum gomp_target_task_state): New enum.
2628 (struct gomp_target_task): Add state, tgt, task and team fields.
2629 (gomp_create_target_task): Change return type to bool, add
2630 state argument.
2631 (gomp_target_task_fn): Change return type to bool.
2632 (struct gomp_device_descr): Add async_run_func.
2633 (struct gomp_task): Remove children, next_child, prev_child,
2634 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
2635 Add pnode field.
2636 (struct gomp_taskgroup): Remove children.
2637 Add taskgroup_queue.
2638 (struct gomp_team): Change task_queue type to a priority queue.
2639 (splay_compare): Define inline.
2640 (priority_queue_offset): New.
2641 (priority_node_to_task): New.
2642 (task_to_priority_node): New.
2643 * oacc-mem.c: Do not include splay-tree.h.
2644 * priority_queue.c: New file.
2645 * priority_queue.h: New file.
2646 * splay-tree.c: Do not include splay-tree.h.
2647 (splay_tree_foreach_internal): New.
2648 (splay_tree_foreach): New.
2649 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
2650 (splay_tree_callback): Define typedef.
2651 * target.c (splay_compare): Move to libgomp.h.
2652 (GOMP_target): Don't adjust *thr in any way around running offloaded
2653 task.
2654 (GOMP_target_ext): Likewise. Handle target nowait.
2655 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
2656 return value from gomp_create_target_task, if false, fallthrough
2657 as if no dependencies exist.
2658 (gomp_target_task_fn): Change return type to bool, return true
2659 if the task should have another part scheduled later. Handle
2660 target nowait.
2661 (gomp_load_plugin_for_device): Initialize async_run.
2662 * task.c (gomp_init_task): Initialize children_queue.
2663 (gomp_clear_parent_in_list): New.
2664 (gomp_clear_parent_in_tree): New.
2665 (gomp_clear_parent): Handle priorities.
2666 (GOMP_task): Likewise.
2667 (priority_queue_move_task_first,
2668 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
2669 New functions.
2670 (gomp_create_target_task): Use priority queues. Change return type
2671 to bool, add state argument, return false if for async
2672 {{enter,exit} data,update} constructs no dependencies need to be
2673 waited for, handle target nowait. Set task->fn to NULL instead of
2674 gomp_target_task_fn.
2675 (verify_children_queue): Remove.
2676 (priority_list_upgrade_task): New.
2677 (priority_queue_upgrade_task): New.
2678 (verify_task_queue): Remove.
2679 (priority_list_downgrade_task): New.
2680 (priority_queue_downgrade_task): New.
2681 (gomp_task_run_pre): Use priority queues.
2682 Abstract code out to priority_queue_downgrade_task.
2683 (gomp_task_run_post_handle_dependers): Use priority queues.
2684 (gomp_task_run_post_remove_parent): Likewise.
2685 (gomp_task_run_post_remove_taskgroup): Likewise.
2686 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
2687 tasks specially.
2688 (GOMP_taskwait): Likewise.
2689 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
2690 priority-queue_upgrade_task.
2691 (GOMP_taskgroup_start): Use priority queues.
2692 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
2693 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
2694 barrier.
2695 * taskloop.c (GOMP_taskloop): Handle priorities.
2696 * team.c (gomp_new_team): Call priority_queue_init.
2697 (free_team): Call priority_queue_free.
2698 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
2699 team created for target nowait in implicit parallel region.
2700 (gomp_team_start): For nested check, test thr->ts.level instead of
2701 thr->ts.team != NULL.
2702 * testsuite/libgomp.c/doacross-3.c: New test.
2703 * testsuite/libgomp.c/ordered-5.c: New test.
2704 * testsuite/libgomp.c/priority.c: New test.
2705 * testsuite/libgomp.c/target-31.c: New test.
2706 * testsuite/libgomp.c/target-32.c: New test.
2707 * testsuite/libgomp.c/target-33.c: New test.
2708 * testsuite/libgomp.c/target-34.c: New test.
2709
2710 2015-11-13 Nathan Sidwell <nathan (a] codesourcery.com>
2711
2712 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
2713
2714 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
2715 loop is sequential.
2716
2717 2015-11-13 Nathan Sidwell <nathan (a] codesourcery.com>
2718
2719 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
2720 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
2721
2722 2015-11-12 James Norris <jnorris (a] codesourcery.com>
2723 Joseph Myers <joseph (a] codesourcery.com>
2724
2725 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
2726 * oacc-parallel.c (GOACC_declare): New function.
2727 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
2728 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
2729 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
2730 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
2731 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
2732
2733 2015-11-12 Nathan Sidwell <nathan (a] codesourcery.com>
2734
2735 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
2736
2737 2015-11-1 Nathan Sidwell <nathan (a] codesourcery.com>
2738
2739 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
2740 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
2741
2742 2015-11-09 Nathan Sidwell <nathan (a] codesourcery.com>
2743
2744 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
2745 inadvertent commit.
2746
2747 2015-11-09 Nathan Sidwell <nathan (a] codesourcery.com>
2748
2749 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
2750 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
2751 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
2752 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
2753 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
2754
2755 2015-11-06 Thomas Schwinge <thomas (a] codesourcery.com>
2756
2757 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
2758 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2759
2760 2015-11-05 Jakub Jelinek <jakub (a] redhat.com>
2761 Ilya Verbin <ilya.verbin (a] intel.com>
2762
2763 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
2764 GOMP_loop_nonmonotonic_dynamic_start,
2765 GOMP_loop_nonmonotonic_guided_next,
2766 GOMP_loop_nonmonotonic_guided_start,
2767 GOMP_loop_ull_nonmonotonic_dynamic_next,
2768 GOMP_loop_ull_nonmonotonic_dynamic_start,
2769 GOMP_loop_ull_nonmonotonic_guided_next,
2770 GOMP_loop_ull_nonmonotonic_guided_start,
2771 GOMP_parallel_loop_nonmonotonic_dynamic,
2772 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
2773 (GOMP_target_41): Renamed to ...
2774 (GOMP_target_ext): ... this. Add num_teams and thread_limit
2775 arguments.
2776 (GOMP_target_data_41): Renamed to ...
2777 (GOMP_target_data_ext): ... this.
2778 (GOMP_target_update_41): Renamed to ...
2779 (GOMP_target_update_ext): ... this.
2780 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
2781 GOMP_target_data_ext and GOMP_target_update_ext instead of
2782 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
2783 Export GOMP_loop_nonmonotonic_dynamic_next,
2784 GOMP_loop_nonmonotonic_dynamic_start,
2785 GOMP_loop_nonmonotonic_guided_next,
2786 GOMP_loop_nonmonotonic_guided_start,
2787 GOMP_loop_ull_nonmonotonic_dynamic_next,
2788 GOMP_loop_ull_nonmonotonic_dynamic_start,
2789 GOMP_loop_ull_nonmonotonic_guided_next,
2790 GOMP_loop_ull_nonmonotonic_guided_start,
2791 GOMP_parallel_loop_nonmonotonic_dynamic and
2792 GOMP_parallel_loop_nonmonotonic_guided.
2793 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
2794 GOMP_parallel_loop_nonmonotonic_guided,
2795 GOMP_loop_nonmonotonic_dynamic_start,
2796 GOMP_loop_nonmonotonic_guided_start,
2797 GOMP_loop_nonmonotonic_dynamic_next,
2798 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
2799 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
2800 GOMP_loop_ull_nonmonotonic_guided_start,
2801 GOMP_loop_ull_nonmonotonic_dynamic_next,
2802 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
2803 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
2804 functions.
2805 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
2806 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
2807 Use gomp_map_val function.
2808 (gomp_target_fallback_firstprivate): New static function.
2809 (GOMP_target_41): Renamed to ...
2810 (GOMP_target_ext): ... this. Add num_teams and thread_limit
2811 arguments. Move firstprivate fallback handling into a new
2812 function.
2813 (GOMP_target_data_41): Renamed to ...
2814 (GOMP_target_data_ext): ... this.
2815 (GOMP_target_update_41): Renamed to ...
2816 (GOMP_target_update_ext): ... this.
2817 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
2818 gomp_map_0len_lookup instead of gomp_map_lookup.
2819 (omp_target_is_present): Use gomp_map_0len_lookup instead of
2820 gomp_map_lookup.
2821 * testsuite/libgomp.c/target-28.c: Likewise.
2822 * testsuite/libgomp.c/monotonic-1.c: New test.
2823 * testsuite/libgomp.c/monotonic-2.c: New test.
2824 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
2825 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
2826 * testsuite/libgomp.c/pr66199-5.c: New test.
2827 * testsuite/libgomp.c/pr66199-6.c: New test.
2828 * testsuite/libgomp.c/pr66199-7.c: New test.
2829 * testsuite/libgomp.c/pr66199-8.c: New test.
2830 * testsuite/libgomp.c/pr66199-9.c: New test.
2831 * testsuite/libgomp.c/reduction-11.c: New test.
2832 * testsuite/libgomp.c/reduction-12.c: New test.
2833 * testsuite/libgomp.c/reduction-13.c: New test.
2834 * testsuite/libgomp.c/reduction-14.c: New test.
2835 * testsuite/libgomp.c/reduction-15.c: New test.
2836 * testsuite/libgomp.c/target-12.c (main): Adjust for
2837 omp_target_is_present change for one-past-last element.
2838 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
2839 the same var is both mapped and privatized.
2840 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
2841 handling of zero-length array sections.
2842 * testsuite/libgomp.c/target-28.c: New test.
2843 * testsuite/libgomp.c/target-29.c: New test.
2844 * testsuite/libgomp.c/target-30.c: New test.
2845 * testsuite/libgomp.c/target-teams-1.c: New test.
2846 * testsuite/libgomp.c++/member-6.C: New test.
2847 * testsuite/libgomp.c++/member-7.C: New test.
2848 * testsuite/libgomp.c++/monotonic-1.C: New test.
2849 * testsuite/libgomp.c++/monotonic-2.C: New test.
2850 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
2851 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
2852 * testsuite/libgomp.c++/pr66199-3.C: New test.
2853 * testsuite/libgomp.c++/pr66199-4.C: New test.
2854 * testsuite/libgomp.c++/pr66199-5.C: New test.
2855 * testsuite/libgomp.c++/pr66199-6.C: New test.
2856 * testsuite/libgomp.c++/pr66199-7.C: New test.
2857 * testsuite/libgomp.c++/pr66199-8.C: New test.
2858 * testsuite/libgomp.c++/pr66199-9.C: New test.
2859 * testsuite/libgomp.c++/reduction-11.C: New test.
2860 * testsuite/libgomp.c++/reduction-12.C: New test.
2861 * testsuite/libgomp.c++/target-13.C: New test.
2862 * testsuite/libgomp.c++/target-14.C: New test.
2863 * testsuite/libgomp.c++/target-15.C: New test.
2864 * testsuite/libgomp.c++/target-16.C: New test.
2865 * testsuite/libgomp.c++/target-17.C: New test.
2866 * testsuite/libgomp.c++/target-18.C: New test.
2867 * testsuite/libgomp.c++/target-19.C: New test.
2868
2869 2015-11-04 Nathan Sidwell <nathan (a] codesourcery.com>
2870
2871 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
2872 and reduction copy.
2873 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2874 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2875 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2876 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2877 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2878 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
2879 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
2880 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2881 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
2882 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
2883 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
2884 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2885 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
2886 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
2887
2888 2015-11-04 Nathan Sidwell <nathan (a] codesourcery.com>
2889
2890 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
2891 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
2892 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
2893 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
2894 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
2895 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
2896 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
2897 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
2898
2899 2015-11-03 Nathan Sidwell <nathan (a] codesourcery.com>
2900
2901 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
2902 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
2903 (GOMP_OFFLOAD_openacc_parallel): Likewise.
2904 * oacc-host.c (host_openacc_exec): Likewise.
2905 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
2906
2907 2015-11-03 Julian Brown <julian (a] codesourcery.com>
2908 Thomas Schwinge <thomas (a] codesourcery.com>
2909
2910 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
2911 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2912 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
2913 Likewise.
2914 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
2915 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
2916
2917 2015-11-03 James Norris <jnorris (a] codesourcery.com>
2918
2919 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
2920 file.
2921 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
2922 Likewise.
2923 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
2924 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
2925 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
2926 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
2927 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
2928
2929 2015-10-29 Nathan Sidwell <nathan (a] codesourcery.com>
2930
2931 * openacc.h (enum acc_device_t): Reformat. Ensure layout
2932 compatibility.
2933 (enum acc_async_t): Reformat.
2934 (acc_on_device): Declare compatible with builtin and provide C++
2935 wrapper.
2936 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
2937
2938 2015-10-29 Thomas Schwinge <thomas (a] codesourcery.com>
2939 Cesar Philippidis <cesar (a] codesourcery.com>
2940
2941 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
2942 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
2943 ... this. Add a description of the test at the top of the file.
2944 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
2945 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
2946 ... this. Add a description of the test at the top of the file.
2947
2948 2015-10-28 Nathan Sidwell <nathan (a] codesourcery.com>
2949
2950 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
2951 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
2952 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
2953 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
2954 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
2955 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
2956
2957 2015-10-27 Nathan Sidwell <nathan (a] codesourcery.com>
2958
2959 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
2960 dimensions.
2961
2962 2015-10-27 Thomas Schwinge <thomas (a] codesourcery.com>
2963
2964 PR testsuite/68063
2965 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
2966
2967 2015-10-27 James Norris <jnorris (a] codesourcery.com>
2968
2969 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
2970 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
2971
2972 2015-10-26 Thomas Schwinge <thomas (a] codesourcery.com>
2973
2974 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
2975 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
2976
2977 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
2978 acc_device_nvidia usage.
2979 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
2980 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
2981 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
2982
2983 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
2984 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
2985
2986 PR libgomp/66518
2987 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
2988
2989 PR libgomp/65437
2990 PR libgomp/66518
2991 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
2992 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
2993
2994 2015-10-23 Tom de Vries <tom (a] codesourcery.com>
2995
2996 PR testsuite/68063
2997 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
2998
2999 2015-10-20 Nathan Sidwell <nathan (a] codesourcery.com>
3000
3001 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
3002 vector_length.
3003 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3004
3005 2015-10-14 Ilya Verbin <ilya.verbin (a] intel.com>
3006 Aleksander Ivanushenko <aleksander.ivanushenko (a] intel.com>
3007
3008 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
3009 to 0 when mapnum is 0.
3010
3011 2015-10-14 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
3012
3013 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
3014 Cast to int from int32_t.
3015
3016 2015-10-13 Jakub Jelinek <jakub (a] redhat.com>
3017 Aldy Hernandez <aldyh (a] redhat.com>
3018 Ilya Verbin <ilya.verbin (a] intel.com>
3019
3020 * config/linux/affinity.c (omp_get_place_num_procs,
3021 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
3022 * config/linux/doacross.h: New file.
3023 * config/posix/affinity.c (omp_get_place_num_procs,
3024 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
3025 * config/posix/doacross.h: New file.
3026 * env.c: Include gomp-constants.h.
3027 (struct gomp_task_icv): Rename run_sched_modifier to
3028 run_sched_chunk_size.
3029 (gomp_max_task_priority_var): New variable.
3030 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
3031 (handle_omp_display_env): Change _OPENMP value from 201307 to
3032 201511. Print OMP_MAX_TASK_PRIORITY.
3033 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
3034 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
3035 chunk_size and run_sched_modifier to run_sched_chunk_size.
3036 (omp_get_max_task_priority, omp_get_initial_device,
3037 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
3038 omp_get_partition_place_nums): New functions.
3039 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
3040 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
3041 to chunk_size.
3042 (omp_get_num_places_, omp_get_place_num_procs_,
3043 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
3044 omp_get_place_proc_ids_8_, omp_get_place_num_,
3045 omp_get_partition_num_places_, omp_get_partition_place_nums_,
3046 omp_get_partition_place_nums_8_, omp_get_initial_device_,
3047 omp_get_max_task_priority_): New functions.
3048 * libgomp_g.h (GOMP_loop_doacross_static_start,
3049 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
3050 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
3051 GOMP_loop_ull_doacross_dynamic_start,
3052 GOMP_loop_ull_doacross_guided_start,
3053 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
3054 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
3055 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
3056 GOMP_target_data_41, GOMP_target_update_41,
3057 GOMP_target_enter_exit_data): New prototypes.
3058 (GOMP_task): Add prototype argument.
3059 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
3060 (struct gomp_doacross_work_share): New type.
3061 (struct gomp_work_share): Add doacross field.
3062 (struct gomp_task_icv): Rename run_sched_modifier to
3063 run_sched_chunk_size.
3064 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
3065 GOMP_TASK_UNDEFERRED. Add comments.
3066 (struct gomp_task_depend_entry): Add comments.
3067 (struct gomp_task): Likewise.
3068 (struct gomp_taskgroup): Likewise.
3069 (struct gomp_target_task): New type.
3070 (struct gomp_team): Add comment.
3071 (gomp_get_place_proc_ids_8, gomp_doacross_init,
3072 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
3073 gomp_create_target_task, gomp_target_task_fn): New prototypes.
3074 (struct target_var_desc): New type.
3075 (struct target_mem_desc): Adjust comment. Use struct
3076 target_var_desc instead of splay_tree_key for list.
3077 (REFCOUNT_INFINITY): Define.
3078 (struct splay_tree_key_s): Remove copy_from field.
3079 (struct gomp_device_descr): Add dev2dev_func field.
3080 (enum gomp_map_vars_kind): New enum.
3081 (gomp_map_vars): Add one argument.
3082 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
3083 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
3084 omp_get_place_num_procs, omp_get_place_num_procs_,
3085 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
3086 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
3087 omp_get_place_num_, omp_get_partition_num_places,
3088 omp_get_partition_num_places_, omp_get_partition_place_nums,
3089 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
3090 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
3091 omp_target_free, omp_target_is_present, omp_target_memcpy,
3092 omp_target_memcpy_rect, omp_target_associate_ptr and
3093 omp_target_disassociate_ptr.
3094 (GOMP_4.0.2): Renamed to ...
3095 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
3096 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
3097 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
3098 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
3099 GOMP_loop_doacross_static_start, GOMP_doacross_post,
3100 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
3101 GOMP_loop_ull_doacross_guided_start,
3102 GOMP_loop_ull_doacross_runtime_start,
3103 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
3104 GOMP_doacross_ull_wait.
3105 * libgomp.texi: Document omp_get_max_task_priority.
3106 Rename modifier argument to chunk_size for omp_set_schedule and
3107 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
3108 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
3109 to run_sched_chunk_size renaming.
3110 (GOMP_loop_ordered_runtime_start): Likewise.
3111 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
3112 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
3113 GOMP_parallel_loop_runtime_start): New functions.
3114 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
3115 to run_sched_chunk_size renaming.
3116 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
3117 GOMP_loop_doacross_guided_start): New functions or aliases.
3118 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
3119 run_sched_modifier to run_sched_chunk_size renaming.
3120 (GOMP_loop_ull_ordered_runtime_start): Likewise.
3121 (gomp_loop_ull_doacross_static_start,
3122 gomp_loop_ull_doacross_dynamic_start,
3123 gomp_loop_ull_doacross_guided_start,
3124 GOMP_loop_ull_doacross_runtime_start): New functions.
3125 (GOMP_loop_ull_doacross_static_start,
3126 GOMP_loop_ull_doacross_dynamic_start,
3127 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
3128 * oacc-mem.c (acc_map_data, present_create_copy,
3129 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
3130 to gomp_map_vars.
3131 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
3132 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
3133 instead of false to gomp_map_vars.
3134 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
3135 * omp.h.in (omp_lock_hint_t): New type.
3136 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
3137 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
3138 omp_get_place_num, omp_get_partition_num_places,
3139 omp_get_partition_place_nums, omp_get_initial_device,
3140 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
3141 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
3142 omp_target_associate_ptr, omp_target_disassociate_ptr): New
3143 prototypes.
3144 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
3145 (omp_lock_hint_none, omp_lock_hint_uncontended,
3146 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
3147 omp_lock_hint_speculative): New parameters.
3148 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
3149 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
3150 omp_get_place_num, omp_get_partition_num_places,
3151 omp_get_partition_place_nums, omp_get_initial_device,
3152 omp_get_max_task_priority): New interfaces.
3153 (omp_set_schedule, omp_get_schedule): Rename modifier argument
3154 to chunk_size.
3155 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
3156 (omp_lock_hint_none, omp_lock_hint_uncontended,
3157 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
3158 omp_lock_hint_speculative): New parameters.
3159 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
3160 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
3161 omp_get_place_num, omp_get_partition_num_places,
3162 omp_get_partition_place_nums, omp_get_initial_device,
3163 omp_get_max_task_priority): New functions and subroutines.
3164 * ordered.c: Include stdarg.h and string.h.
3165 (MAX_COLLAPSED_BITS): Define.
3166 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
3167 gomp_doacross_ull_init, GOMP_doacross_ull_post,
3168 GOMP_doacross_ull_wait): New functions.
3169 * target.c: Include errno.h.
3170 (resolve_device): If device is not initialized, call
3171 gomp_init_device on it.
3172 (gomp_map_lookup): New function.
3173 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
3174 Don't bump refcount if REFCOUNT_INFINITY. Handle
3175 GOMP_MAP_ALWAYS_TO_P.
3176 (get_kind): Rename is_openacc argument to short_mapkind.
3177 (gomp_map_pointer): Use gomp_map_lookup.
3178 (gomp_map_fields_existing): New function.
3179 (gomp_map_vars): Rename is_openacc argument to short_mapkind
3180 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
3181 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
3182 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
3183 Adjust for tgt->list changed type and copy_from living in there.
3184 (gomp_copy_from_async): Adjust for tgt->list changed type and
3185 copy_from living in there.
3186 (gomp_unmap_vars): Likewise.
3187 (gomp_update): Likewise. Rename is_openacc argument to
3188 short_mapkind. Don't fail if object is not mapped.
3189 (gomp_load_image_to_device): Initialize refcount to
3190 REFCOUNT_INFINITY.
3191 (gomp_target_fallback): New function.
3192 (gomp_get_target_fn_addr): Likewise.
3193 (GOMP_target): Adjust gomp_map_vars caller, use
3194 gomp_get_target_fn_addr and gomp_target_fallback.
3195 (GOMP_target_41): New function.
3196 (gomp_target_data_fallback): New function.
3197 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
3198 (GOMP_target_data_41): New function.
3199 (GOMP_target_update): Adjust gomp_update caller.
3200 (GOMP_target_update_41): New function.
3201 (gomp_exit_data, GOMP_target_enter_exit_data,
3202 gomp_target_task_fn, omp_target_alloc, omp_target_free,
3203 omp_target_is_present, omp_target_memcpy,
3204 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
3205 omp_target_associate_ptr, omp_target_disassociate_ptr,
3206 gomp_load_plugin_for_device): New functions.
3207 * task.c: Include gomp-constants.h. Include taskloop.c
3208 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
3209 (gomp_task_handle_depend): New function.
3210 (GOMP_task): Use it. Add priority argument. Use
3211 gomp-constant.h constants instead of hardcoded numbers.
3212 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
3213 (gomp_create_target_task): New function.
3214 (verify_children_queue, verify_taskgroup_queue,
3215 verify_task_queue): New functions.
3216 (gomp_task_run_pre): Call verify_*_queue functions.
3217 If an upcoming tied task is about to leave the sibling or
3218 taskgroup queues in an invalid state, adjust appropriately.
3219 Remove taskgroup argument. Add comments.
3220 (gomp_task_run_post_handle_dependers): Add comments.
3221 (gomp_task_run_post_remove_parent): Likewise.
3222 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
3223 (GOMP_taskwait): Likewise. Add comments.
3224 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
3225 problem such that the first non parent_depends_on task does not
3226 end up at the end of the children queue.
3227 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
3228 GOMP_TASK_UNDEFERRED.
3229 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
3230 * taskloop.c: New file.
3231 * testsuite/lib/libgomp.exp
3232 (check_effective_target_offload_device_nonshared_as): New proc.
3233 * testsuite/libgomp.c/affinity-2.c: New test.
3234 * testsuite/libgomp.c/doacross-1.c: New test.
3235 * testsuite/libgomp.c/doacross-2.c: New test.
3236 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
3237 Add map clause to target.
3238 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
3239 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
3240 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
3241 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
3242 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
3243 Likewise.
3244 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
3245 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
3246 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
3247 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
3248 not defined. Use those where needed.
3249 * testsuite/libgomp.c/for-4.c: New test.
3250 * testsuite/libgomp.c/for-5.c: New test.
3251 * testsuite/libgomp.c/for-6.c: New test.
3252 * testsuite/libgomp.c/linear-1.c: New test.
3253 * testsuite/libgomp.c/ordered-4.c: New test.
3254 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
3255 only allowed on the loop iterator.
3256 * testsuite/libgomp.c/pr66199-3.c: New test.
3257 * testsuite/libgomp.c/pr66199-4.c: New test.
3258 * testsuite/libgomp.c/reduction-7.c: New test.
3259 * testsuite/libgomp.c/reduction-8.c: New test.
3260 * testsuite/libgomp.c/reduction-9.c: New test.
3261 * testsuite/libgomp.c/reduction-10.c: New test.
3262 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
3263 map(tofrom:s).
3264 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
3265 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
3266 * testsuite/libgomp.c/target-11.c: New test.
3267 * testsuite/libgomp.c/target-12.c: New test.
3268 * testsuite/libgomp.c/target-13.c: New test.
3269 * testsuite/libgomp.c/target-14.c: New test.
3270 * testsuite/libgomp.c/target-15.c: New test.
3271 * testsuite/libgomp.c/target-16.c: New test.
3272 * testsuite/libgomp.c/target-17.c: New test.
3273 * testsuite/libgomp.c/target-18.c: New test.
3274 * testsuite/libgomp.c/target-19.c: New test.
3275 * testsuite/libgomp.c/target-20.c: New test.
3276 * testsuite/libgomp.c/target-21.c: New test.
3277 * testsuite/libgomp.c/target-22.c: New test.
3278 * testsuite/libgomp.c/target-23.c: New test.
3279 * testsuite/libgomp.c/target-24.c: New test.
3280 * testsuite/libgomp.c/target-25.c: New test.
3281 * testsuite/libgomp.c/target-26.c: New test.
3282 * testsuite/libgomp.c/target-27.c: New test.
3283 * testsuite/libgomp.c/taskloop-1.c: New test.
3284 * testsuite/libgomp.c/taskloop-2.c: New test.
3285 * testsuite/libgomp.c/taskloop-3.c: New test.
3286 * testsuite/libgomp.c/taskloop-4.c: New test.
3287 * testsuite/libgomp.c++/ctor-13.C: New test.
3288 * testsuite/libgomp.c++/doacross-1.C: New test.
3289 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
3290 Replace offload_device with offload_device_nonshared_as.
3291 * testsuite/libgomp.c++/for-12.C: New test.
3292 * testsuite/libgomp.c++/for-13.C: New test.
3293 * testsuite/libgomp.c++/for-14.C: New test.
3294 * testsuite/libgomp.c++/linear-1.C: New test.
3295 * testsuite/libgomp.c++/member-1.C: New test.
3296 * testsuite/libgomp.c++/member-2.C: New test.
3297 * testsuite/libgomp.c++/member-3.C: New test.
3298 * testsuite/libgomp.c++/member-4.C: New test.
3299 * testsuite/libgomp.c++/member-5.C: New test.
3300 * testsuite/libgomp.c++/ordered-1.C: New test.
3301 * testsuite/libgomp.c++/reduction-5.C: New test.
3302 * testsuite/libgomp.c++/reduction-6.C: New test.
3303 * testsuite/libgomp.c++/reduction-7.C: New test.
3304 * testsuite/libgomp.c++/reduction-8.C: New test.
3305 * testsuite/libgomp.c++/reduction-9.C: New test.
3306 * testsuite/libgomp.c++/reduction-10.C: New test.
3307 * testsuite/libgomp.c++/reference-1.C: New test.
3308 * testsuite/libgomp.c++/simd14.C: New test.
3309 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
3310 * testsuite/libgomp.c++/target-5.C: New test.
3311 * testsuite/libgomp.c++/target-6.C: New test.
3312 * testsuite/libgomp.c++/target-7.C: New test.
3313 * testsuite/libgomp.c++/target-8.C: New test.
3314 * testsuite/libgomp.c++/target-9.C: New test.
3315 * testsuite/libgomp.c++/target-10.C: New test.
3316 * testsuite/libgomp.c++/target-11.C: New test.
3317 * testsuite/libgomp.c++/target-12.C: New test.
3318 * testsuite/libgomp.c++/taskloop-1.C: New test.
3319 * testsuite/libgomp.c++/taskloop-2.C: New test.
3320 * testsuite/libgomp.c++/taskloop-3.C: New test.
3321 * testsuite/libgomp.c++/taskloop-4.C: New test.
3322 * testsuite/libgomp.c++/taskloop-5.C: New test.
3323 * testsuite/libgomp.c++/taskloop-6.C: New test.
3324 * testsuite/libgomp.c++/taskloop-7.C: New test.
3325 * testsuite/libgomp.c++/taskloop-8.C: New test.
3326 * testsuite/libgomp.c++/taskloop-9.C: New test.
3327 * testsuite/libgomp.fortran/affinity1.f90: New test.
3328 * testsuite/libgomp.fortran/affinity2.f90: New test.
3329
3330 2015-10-13 Tom de Vries <tom (a] codesourcery.com>
3331
3332 PR tree-optimization/67476
3333 * testsuite/libgomp.c/autopar-3.c: New test.
3334 * testsuite/libgomp.c/autopar-4.c: New test.
3335 * testsuite/libgomp.c/autopar-5.c: New test.
3336 * testsuite/libgomp.c/autopar-6.c: New test.
3337 * testsuite/libgomp.c/autopar-7.c: New test.
3338 * testsuite/libgomp.c/autopar-8.c: New test.
3339
3340 2015-10-12 James Norris <jnorris (a] codesourcery.com>
3341
3342 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
3343 initializer.
3344
3345 2015-10-09 David Malcolm <dmalcolm (a] redhat.com>
3346
3347 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
3348 using load_gcc_lib.
3349
3350 2015-10-02 Thomas Schwinge <thomas (a] codesourcery.com>
3351
3352 * oacc-ptx.h: Remove file, moving its content into...
3353 * config/nvptx/fortran.c: ... here...
3354 * config/nvptx/oacc-init.c: ..., here...
3355 * config/nvptx/oacc-parallel.c: ..., and here.
3356 * config/nvptx/openacc.f90: New file.
3357 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
3358 (link_ptx): Don't link in predefined bits of PTX code.
3359
3360 2015-09-30 Nathan Sidwell <nathan (a] codesourcery.com>
3361 Bernd Schmidt <bernds (a] codesourcery.com>
3362
3363 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
3364 (struct targ_ptx_obj): New.
3365 (nvptx_tdata): Move earlier, change data format.
3366 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
3367 objects.
3368 (GOMP_OFFLOAD_load_image): Adjust.
3369
3370 2015-09-30 Thomas Schwinge <thomas (a] codesourcery.com>
3371
3372 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
3373 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
3374 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
3375 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
3376 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3377 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
3378 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
3379 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
3380 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
3381 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
3382 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3383 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
3384 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
3385 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3386 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3387 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3388 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
3389 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3390 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3391 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3392 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3393 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3394 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
3395 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
3396 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3397 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3398 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
3399 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3400 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3401 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
3402 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
3403 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
3404 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
3405 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
3406 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3407 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3408 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3409 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3410 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3411 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3412 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3413 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3414 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
3415 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
3416 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
3417 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
3418 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
3419 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
3420 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
3421 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
3422 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
3423 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
3424 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
3425 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
3426 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3427 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3428 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3429 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
3430 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
3431 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
3432 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
3433 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
3434 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3435
3436 2015-09-29 Nathan Sidwell <nathan (a] codesourcery.com>
3437
3438 * oacc-init.c (acc_on_device): Force optimization level.
3439
3440 2015-09-29 Nathan Sidwell <nathan (a] codesourcery.com>
3441
3442 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
3443 (cuda_errlist): Delete.
3444 (cuda_error): Reimplement.
3445
3446 2015-09-28 Nathan Sidwell <nathan (a] codesourcery.com>
3447
3448 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
3449 array.
3450 * libgomp.map (GOACC_parallel_keyed): New.
3451 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
3452 all callers.
3453 (GOACC_parallel_keyed): New interface. Lose geometry arguments
3454 and take keyed varargs list. Adjust call to exec_func.
3455 (GOACC_parallel): Force host fallback.
3456 * libgomp_g.h (GOACC_parallel): Remove.
3457 (GOACC_parallel_keyed): Declare.
3458 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
3459 (stuct targ_gn_descriptor): Replace name field with launch field.
3460 (nvptx_exec): Lose separate geometry args, take array. Process
3461 dynamic dimensions and adjust.
3462 (struct nvptx_tdata): Replace fn_names field with fn_descs.
3463 (GOMP_OFFLOAD_load_image): Adjust for change in function table
3464 data.
3465 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
3466 passing.
3467 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
3468 passing.
3469
3470 2015-09-22 Chung-Lin Tang <cltang (a] codesourcery.com>
3471
3472 PR libgomp/67141
3473 * oacc-int.h (goacc_host_init): Add declaration.
3474 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
3475 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
3476
3477 2015-09-08 Aditya Kumar <hiraditya (a] msn.com>
3478 Sebastian Pop <s.pop (a] samsung.com>
3479
3480 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
3481 match o/p.
3482 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
3483 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
3484 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
3485 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
3486 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
3487
3488 2015-09-03 Jakub Jelinek <jakub (a] redhat.com>
3489
3490 * configure.tgt: Add missing ;; in between nvptx and rtems
3491 snippets.
3492
3493 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
3494
3495 * config/posix/pool.h (gomp_adjust_thread_attr): New.
3496 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
3497 (gomp_thread_pool_reservoir): Add priority member.
3498 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
3499 priority.
3500 (parse_thread_pools): Likewise.
3501 * team.c (gomp_team_start): Call configuration provided
3502 gomp_adjust_thread_attr(). Destroy thread attributes if
3503 necessary.
3504 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
3505
3506 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
3507
3508 * config/posix/pool.h: New.
3509 * config/rtems/pool.h: Likewise.
3510 * config/rtems/proc.c: Likewise.
3511 * libgomp.h (gomp_thread_destructor): Declare.
3512 * team.c: Include configuration provided "pool.h".
3513 (gomp_get_thread_pool): Define in configuration.
3514 (gomp_team_end): Call configuration defined
3515 gomp_release_thread_pool().
3516
3517 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
3518
3519 * config/rtems/bar.c: New.
3520 * config/rtems/bar.h: Likewise.
3521 * config/rtems/mutex.c: Likewise.
3522 * config/rtems/mutex.h: Likewise.
3523 * config/rtems/sem.c: Likewise.
3524 * config/rtems/sem.h: Likewise.
3525 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
3526 <sys/lock.h> header file.
3527 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
3528 supported by Newlib.
3529 * configure: Regenerate.
3530
3531 2015-09-03 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
3532
3533 * team.c (gomp_new_thread_pool): Delete and move content to ...
3534 (gomp_get_thread_pool): ... new function. Allocate and
3535 initialize thread pool on demand.
3536 (get_last_team): Use gomp_get_thread_pool().
3537 (gomp_team_start): Delete thread pool initialization.
3538
3539 2015-09-03 Tom de Vries <tom (a] codesourcery.com>
3540
3541 PR tree-optimization/65637
3542 * testsuite/libgomp.c/autopar-2.c: New test.
3543
3544 2015-08-29 Tom de Vries <tom (a] codesourcery.com>
3545
3546 PR tree-optimization/46193
3547 * testsuite/libgomp.c/pr46193.c: New test.
3548
3549 2015-08-24 Nathan Sidwell <nathan (a] codesourcery.com>
3550
3551 libgomp/
3552 * libgomp.map: Add 4.0.2 version.
3553 * target.c (offload_image_descr): Add version field.
3554 (gomp_load_image_to_device): Add version argument. Adjust plugin
3555 call. Improve load mismatch diagnostic.
3556 (gomp_unload_image_from_device): Add version argument. Adjust plugin
3557 call.
3558 (GOMP_offload_regster): Make stub function, move bulk to ...
3559 (GOMP_offload_register_ver): ... here. Process version argument.
3560 (GOMP_offload_unregister): Make stub function, move bulk to ...
3561 (GOMP_offload_unregister_ver): ... here. Process version argument.
3562 (gomp_init_device): Process version field.
3563 (gomp_unload_device): Process version field.
3564 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
3565 macros. Check plugin version.
3566 * libgomp.h (gomp_device_descr): Add version function field. Adjust
3567 loader and unloader types.
3568 * oacc-host.c: Include gomp-constants.h.
3569 (host_version): New.
3570 (host_load_image, host_unload_image): Adjust.
3571 (host_dispatch): Add host_version.
3572 * plugin/plugin-nvptx.c: Include gomp-constants.h.
3573 (GOMP_OFFLOAD_version): New.
3574 (GOMP_OFFLOAD_load_image): Add version arg and check it.
3575 (GOMP_OFFLOAD_unload_image): Likewise.
3576 * plugin/plugin-host.c: Include gomp-constants.h.
3577 (GOMP_OFFLOAD_version): New.
3578 (GOMP_OFFLOAD_load_image): Add version arg.
3579 (GOMP_OFFLOAD_unload_image): Likewise.
3580
3581 2015-08-24 Tom de Vries <tom (a] codesourcery.com>
3582
3583 PR tree-optimization/65468
3584 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
3585
3586 2015-08-24 Tom de Vries <tom (a] codesourcery.com>
3587
3588 PR tree-optimization/65468
3589 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
3590
3591 2015-08-24 Joost VandeVondele <vondele (a] gnu.gcc.org>
3592
3593 PR libgomp/66761
3594 PR libgomp/67303
3595 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
3596 (gomp_iter_guided_next): Idem.
3597 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
3598 (gomp_iter_ull_guided_next): Idem.
3599 * config/linux/wait.h (do_spin): Idem.
3600
3601 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com>
3602
3603 * libgomp-plugin.h (enum offload_target_type): Remove
3604 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
3605 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
3606 * openacc.h (enum acc_device_t): Likewise.
3607 * openacc_lib.h: Likewise.
3608 * oacc-init.c (name_of_acc_device_t): Don't handle it.
3609 (acc_on_device): Just use __builtin_acc_on_device.
3610 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
3611 of acc_on_device builtin.
3612 * plugin/plugin-host.h: Remove file.
3613 * plugin/plugin-host.c: Likewise, but salvage some content into...
3614 * oacc-host.c: ... this file.
3615 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
3616 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
3617 * Makefile.in: Regenerate.
3618 * configure: Likewise.
3619 * testsuite/lib/libgomp.exp
3620 (check_effective_target_openacc_host_nonshm_selected): Remove.
3621 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
3622 ACC_DEVICE_TYPE=host_nonshm.
3623 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3624 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3625 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
3626 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3627 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3628 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3629
3630 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com>
3631 Jakub Jelinek <jakub (a] redhat.com>
3632
3633 * config/nvptx/affinity.c: New file.
3634 * config/nvptx/alloc.c: Likewise.
3635 * config/nvptx/bar.c: Likewise.
3636 * config/nvptx/barrier.c: Likewise.
3637 * config/nvptx/critical.c: Likewise.
3638 * config/nvptx/env.c: Likewise.
3639 * config/nvptx/error.c: Likewise.
3640 * config/nvptx/fortran.c: Likewise.
3641 * config/nvptx/iter.c: Likewise.
3642 * config/nvptx/iter_ull.c: Likewise.
3643 * config/nvptx/libgomp-plugin.c: Likewise.
3644 * config/nvptx/lock.c: Likewise.
3645 * config/nvptx/loop.c: Likewise.
3646 * config/nvptx/loop_ull.c: Likewise.
3647 * config/nvptx/mutex.c: Likewise.
3648 * config/nvptx/oacc-async.c: Likewise.
3649 * config/nvptx/oacc-cuda.c: Likewise.
3650 * config/nvptx/oacc-host.c: Likewise.
3651 * config/nvptx/oacc-init.c: Likewise.
3652 * config/nvptx/oacc-mem.c: Likewise.
3653 * config/nvptx/oacc-parallel.c: Likewise.
3654 * config/nvptx/oacc-plugin.c: Likewise.
3655 * config/nvptx/omp-lock.h: Likewise.
3656 * config/nvptx/ordered.c: Likewise.
3657 * config/nvptx/parallel.c: Likewise.
3658 * config/nvptx/proc.c: Likewise.
3659 * config/nvptx/ptrlock.c: Likewise.
3660 * config/nvptx/sections.c: Likewise.
3661 * config/nvptx/sem.c: Likewise.
3662 * config/nvptx/single.c: Likewise.
3663 * config/nvptx/splay-tree.c: Likewise.
3664 * config/nvptx/target.c: Likewise.
3665 * config/nvptx/task.c: Likewise.
3666 * config/nvptx/team.c: Likewise.
3667 * config/nvptx/time.c: Likewise.
3668 * config/nvptx/work.c: Likewise.
3669 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
3670 * configure: Regenerate.
3671 * configure.tgt (config_path): Set to "nvptx" for target
3672 nvptx*-*-*.
3673
3674 2015-08-10 Thomas Schwinge <thomas (a] codesourcery.com>
3675
3676 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
3677
3678 2015-08-03 Nathan Sidwell <nathan (a] codesourcery.com>
3679
3680 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
3681 (cuda_errlist): Constify.
3682 (errmsg): Move into ...
3683 (cuda_error): ... here. Make smaller.
3684 (_XSTR, _STR): Delete.
3685 (cuda_synames): Delete.
3686 (verify_device_library): Delete.
3687 (nvptx_init): Don't call it.
3688
3689 2015-07-28 Tom de Vries <tom (a] codesourcery.com>
3690
3691 * testsuite/libgomp.c/uns-outer-4.c: New test.
3692
3693 2015-07-24 Cesar Philippidis <cesar (a] codesourcery.com>
3694
3695 * testsuite/libgomp.c/pr66714.c: New test.
3696
3697 2015-07-22 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
3698
3699 PR libgomp/66950
3700 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
3701 (fib_ref): New function.
3702 (fib): Correct corner cases in the recursion.
3703 (main): Replace the non-simd loop with fib_ref call.
3704 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
3705 subroutine.
3706 (fibonacci): Lower the parameter N to 30. Correct accordingly check
3707 for the last array element value. Replace the non-simd loop with
3708 fib_ref call. Remove redundant b_ref array. Remove the comparison
3709 of the last array element with according Fibonacci sequence element.
3710 (fib): Correct corner cases in the recursion.
3711
3712 2015-07-21 Nathan Sidwell <nathan (a] codesourcery.com>
3713
3714 * target.c (gomp_offload_image_to_device): Rename to ...
3715 (gomp_load_image_to_device): ... here.
3716 (GOMP_offload_register): Adjust call.
3717 (gomp_init_device): Likewise.
3718 (gomp_unload_image_from_device): New. Broken out of ...
3719 (GOMP_offload_unregister): ... here. Call it.
3720 (gomp_unload_device): New.
3721 * libgomp.h (gomp_unload_device): Declare.
3722 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
3723 mem maps.
3724
3725 2015-07-20 Nathan Sidwell <nathan (a] codesourcery.com>
3726
3727 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
3728 wait=-specific if.
3729 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
3730 !=0 condition.
3731 (goacc_waits): Move !num_waits handling to ...
3732 (GOACC_wait): ... here, the only caller that might have zero waits.
3733
3734 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
3735 (struct ptx_image_data): Move earlier, add fns field.
3736 (struct ptx_device): Add images and image_lock fields.
3737 (ptx_images, ptx_image_lock): Delete.
3738 (nvptx_open_device): Initialize images and image_lock fields.
3739 (nvptx_close_device): Destroy image_lock.
3740 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
3741 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
3742 fields.
3743
3744 2015-07-17 Nathan Sidwell <nathan (a] codesourcery.com>
3745
3746 * target.c (GOMP_offload_register): Use int for device type arg.
3747 (GOMP_offload_unregister): Likewise.
3748
3749 * target.c (struct_offload_image_descr): Constify host_table.
3750 (gomp_offload_image_to_device): Likewise.
3751 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
3752
3753 * libgomp.h (gomp_device_descr): Constify target data arguments.
3754 * target.c (struct offload_image_descr): Constify target_data.
3755 (gomp_offload_image_to_device): Likewise.
3756 (GOMP_offload_register): Likewise.
3757 (GOMP_offload_unrefister): Likewise.
3758 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
3759 GOMP_OFFLOAD_unload_image): Constify target data.
3760 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
3761 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
3762
3763 2015-07-16 Nathan Sidwell <nathan (a] codesourcery.com>
3764
3765 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
3766 Workaround driver library const error.
3767 (struct nvptx_tdata, nvptx_tdata_t): New.
3768 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
3769 type.
3770
3771 2015-07-15 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
3772
3773 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
3774 of EPS parameter from integer to real.
3775 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
3776 type of EPS parameter from integer to real.
3777
3778 2015-07-15 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
3779
3780 * team.c (get_last_team): New.
3781 (gomp_new_team): Recycle last non-nested team if possible.
3782 (gomp_team_end): Move team work share list free lock destruction
3783 to ...
3784 (free_team): ... here.
3785
3786 2015-07-14 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
3787
3788 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
3789 and ref from int to double. Replaced their comparison with
3790 an inequality of their difference and EPS.
3791 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
3792 comparison of pri and a reference number with an inequality of their
3793 difference and EPS.
3794 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
3795 the comparison of sum and sum_ref with an inequality of their
3796 difference and EPS.
3797 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
3798 the comparison of pri and a reference number with an inequality of
3799 their difference and EPS.
3800
3801 2015-07-13 Maxim Blumenthal <maxim.blumenthal (a] intel.com>
3802
3803 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
3804 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
3805 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
3806 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
3807 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
3808 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
3809 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
3810 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
3811 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
3812 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
3813 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
3814 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
3815 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
3816 variables.
3817 (vec_mult): Likewise. Add #pragma omp taskwait.
3818 (main): Adjust caller.
3819 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
3820 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
3821 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
3822 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
3823 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
3824 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
3825 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
3826 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
3827 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
3828 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
3829 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
3830 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
3831 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
3832 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
3833 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
3834 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
3835 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
3836 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
3837 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
3838 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
3839 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
3840 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
3841 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
3842 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
3843 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
3844 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
3845 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
3846 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
3847 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
3848 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
3849 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
3850 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
3851 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
3852 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
3853 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
3854 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
3855 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
3856 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
3857 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
3858 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
3859 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
3860 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
3861 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
3862 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
3863 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
3864 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
3865 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
3866 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
3867 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
3868 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
3869 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
3870 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
3871 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
3872 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
3873 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
3874 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
3875 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
3876 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
3877 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
3878 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
3879 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
3880 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
3881 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
3882 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
3883 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
3884 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
3885 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
3886 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
3887 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
3888 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
3889 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
3890 (vec_mult): Add !$omp taskwait.
3891 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
3892 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
3893 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
3894 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
3895 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
3896 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
3897 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
3898 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
3899 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
3900 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
3901 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
3902 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
3903 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
3904 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
3905 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
3906 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
3907 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
3908 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
3909 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
3910 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
3911 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
3912 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
3913 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
3914 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
3915 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
3916 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
3917 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
3918 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
3919 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
3920 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
3921 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
3922 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
3923 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
3924 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
3925 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
3926 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
3927 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
3928 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
3929 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
3930 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
3931 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
3932 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
3933 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
3934 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
3935 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
3936 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
3937 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
3938 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
3939 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
3940 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
3941 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
3942 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
3943 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
3944 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
3945 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
3946 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
3947 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
3948 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
3949 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
3950 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
3951 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
3952 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
3953 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
3954 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
3955 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
3956 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
3957 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
3958
3959 2015-07-10 Tom de Vries <tom (a] codesourcery.com>
3960
3961 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
3962 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
3963
3964 2015-07-08 Thomas Schwinge <thomas (a] codesourcery.com>
3965
3966 PR libgomp/65099
3967 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
3968 in a 64-bit configuration.
3969 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
3970 offloading testing if no such device is available.
3971 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3972 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3973
3974 2015-07-08 Tom de Vries <tom (a] codesourcery.com>
3975
3976 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
3977 second call to f.
3978 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3979
3980 2015-07-07 Tom de Vries <tom (a] codesourcery.com>
3981
3982 PR tree-optimization/66642
3983 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
3984 iteration count case.
3985 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
3986 function, factor out of ...
3987 (main): ... here. Test low iteration count case.
3988
3989 2015-07-06 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
3990
3991 * libgomp.h (gomp_thread_pool): Comment last_team field.
3992
3993 2015-07-02 Uros Bizjak <ubizjak (a] gmail.com>
3994
3995 * testsuite/libgomp.c++/pr66702-1.C: Require
3996 vect_simd_clones effective target.
3997 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
3998
3999 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
4000
4001 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
4002 already set. Use DEFAULT_CFLAGS in dg-runtest.
4003 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
4004 "-O2".
4005
4006 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
4007
4008 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
4009 already set. Use DEFAULT_CFLAGS in dg-runtest.
4010 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
4011 * testsuite/libgomp.c++/pr64824.C: Same.
4012 * testsuite/libgomp.c++/pr64868.C: Same.
4013 * testsuite/libgomp.c++/pr66199-1.C: Same.
4014 * testsuite/libgomp.c++/pr66199-2.C: Same.
4015 * testsuite/libgomp.c++/target-2.C: Same.
4016 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
4017 -std=<standard> option.
4018 * testsuite/libgomp.c++/udr-11.C: Same.
4019 * testsuite/libgomp.c++/udr-12.C: Same.
4020 * testsuite/libgomp.c++/udr-13.C: Same.
4021 * testsuite/libgomp.c++/udr-14.C: Same.
4022 * testsuite/libgomp.c++/udr-15.C: Same.
4023 * testsuite/libgomp.c++/udr-16.C: Same.
4024 * testsuite/libgomp.c++/udr-17.C: Same.
4025 * testsuite/libgomp.c++/udr-18.C: Same.
4026 * testsuite/libgomp.c++/udr-19.C: Same.
4027 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
4028 * testsuite/libgomp.c++/simd-1.C: Same.
4029 * testsuite/libgomp.c++/simd-2.C: Same.
4030 * testsuite/libgomp.c++/simd-3.C: Same.
4031 * testsuite/libgomp.c++/simd-4.C: Same.
4032 * testsuite/libgomp.c++/simd-5.C: Same.
4033 * testsuite/libgomp.c++/simd-6.C: Same.
4034 * testsuite/libgomp.c++/simd-7.C: Same.
4035 * testsuite/libgomp.c++/simd-8.C: Same.
4036 * testsuite/libgomp.c++/simd-9.C: Same.
4037 * testsuite/libgomp.c++/simd10.C: Same.
4038 * testsuite/libgomp.c++/simd11.C: Same.
4039 * testsuite/libgomp.c++/simd12.C: Same.
4040 * testsuite/libgomp.c++/simd13.C: Same.
4041
4042 2015-06-30 Jakub Jelinek <jakub (a] redhat.com>
4043
4044 PR middle-end/66702
4045 * testsuite/libgomp.c++/pr66702-1.C: New test.
4046 * testsuite/libgomp.c++/pr66702-2.C: New test.
4047
4048 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
4049
4050 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
4051 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
4052 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
4053 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
4054
4055 2015-06-30 Tom de Vries <tom (a] codesourcery.com>
4056
4057 PR tree-optimization/66652
4058 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
4059 using restrict pointers.
4060 (main): Add arguments to calls to f.
4061 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
4062
4063 2015-06-23 Andreas Tobler <andreast (a] gcc.gnu.org>
4064
4065 * configure.ac: Fix check for header <sys/sysctl.h>.
4066 * configure: Regenerate.
4067 * config.h.in: Likewise.
4068
4069 2015-06-23 Tom de Vries <tom (a] codesourcery.com>
4070
4071 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
4072 abort.
4073 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
4074
4075 2015-06-19 Thomas Schwinge <thomas (a] codesourcery.com>
4076
4077 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
4078 acc_device_nvidia.
4079
4080 PR libgomp/66518
4081 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
4082 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4083
4084 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
4085
4086 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
4087 dg-additional-options for any remaining options.
4088 * testsuite/libgomp.c/atomic-2.c: Same.
4089 * testsuite/libgomp.c/atomic-4.c: Same.
4090 * testsuite/libgomp.c/atomic-5.c: Same.
4091 * testsuite/libgomp.c/atomic-6.c: Same.
4092 * testsuite/libgomp.c/autopar-1.c: Same.
4093 * testsuite/libgomp.c/copyin-1.c: Same.
4094 * testsuite/libgomp.c/copyin-2.c: Same.
4095 * testsuite/libgomp.c/copyin-3.c: Same.
4096 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
4097 * testsuite/libgomp.c/nestedfn-5.c: Same.
4098 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
4099 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
4100 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
4101 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
4102 * testsuite/libgomp.c/pr32362-1.c: Same.
4103 * testsuite/libgomp.c/pr32362-2.c: Same.
4104 * testsuite/libgomp.c/pr32362-3.c: Same.
4105 * testsuite/libgomp.c/pr39591-1.c: Same.
4106 * testsuite/libgomp.c/pr39591-2.c: Same.
4107 * testsuite/libgomp.c/pr39591-3.c: Same.
4108 * testsuite/libgomp.c/pr58392.c: Same.
4109 * testsuite/libgomp.c/pr58756.c: Same.
4110 * testsuite/libgomp.c/simd-1.c: Same.
4111 * testsuite/libgomp.c/simd-10.c: Same.
4112 * testsuite/libgomp.c/simd-11.c: Same.
4113 * testsuite/libgomp.c/simd-12.c: Same.
4114 * testsuite/libgomp.c/simd-13.c: Same.
4115 * testsuite/libgomp.c/simd-14.c: Same.
4116 * testsuite/libgomp.c/simd-15.c: Same.
4117 * testsuite/libgomp.c/simd-2.c: Same.
4118 * testsuite/libgomp.c/simd-3.c: Same.
4119 * testsuite/libgomp.c/simd-4.c: Same.
4120 * testsuite/libgomp.c/simd-5.c: Same.
4121 * testsuite/libgomp.c/simd-6.c: Same.
4122 * testsuite/libgomp.c/simd-7.c: Same.
4123 * testsuite/libgomp.c/simd-8.c: Same.
4124 * testsuite/libgomp.c/simd-9.c: Same.
4125
4126 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
4127
4128 * testsuite/libgomp.c/pr35625.c: Fix typo.
4129
4130 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
4131
4132 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
4133 in dg-options.
4134 * testsuite/libgomp.c/atomic-3.c: Same.
4135 * testsuite/libgomp.c/debug-1.c: Same.
4136 * testsuite/libgomp.c/nqueens-1.c: Same.
4137 * testsuite/libgomp.c/pr26171.c: Same.
4138 * testsuite/libgomp.c/pr48591.c: Same.
4139 * testsuite/libgomp.c/pr64824.c: Same.
4140 * testsuite/libgomp.c/pr64868.c: Same.
4141 * testsuite/libgomp.c/pr66133.c: Same.
4142 * testsuite/libgomp.c/pr66199-1.c: Same.
4143 * testsuite/libgomp.c/pr66199-2.c: Same.
4144 * testsuite/libgomp.c/target-8.c: Same.
4145
4146 2015-06-15 Tom de Vries <tom (a] codesourcery.com>
4147
4148 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
4149 -std={gnu99,c99}.
4150 * testsuite/libgomp.c/for-1.c: Same.
4151 * testsuite/libgomp.c/for-2.c: Same.
4152 * testsuite/libgomp.c/for-3.c: Same.
4153 * testsuite/libgomp.c/pr35625.c: Same.
4154 * testsuite/libgomp.c/pr39154.c: Same.
4155 * testsuite/libgomp.c/simd-16.c: Same.
4156 * testsuite/libgomp.c/simd-17.c: Same.
4157
4158 2015-06-13 Tom de Vries <tom (a] codesourcery.com>
4159
4160 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
4161
4162 2015-06-13 Tom de Vries <tom (a] codesourcery.com>
4163
4164 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
4165 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
4166 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
4167 (N): Define.
4168 (main): Use N instead of hardcoded constants.
4169
4170 2015-06-05 Tom de Vries <tom (a] codesourcery.com>
4171
4172 merge from gomp4 branch:
4173 2015-05-28 Tom de Vries <tom (a] codesourcery.com>
4174
4175 PR tree-optimization/65443
4176 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
4177 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
4178 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
4179
4180 2015-05-29 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org>
4181
4182 * testsuite/libgomp.graphite/bounds.c: Adjust for
4183 cleanup-tree-dump removal.
4184 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
4185 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
4186 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
4187 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
4188 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
4189 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
4190 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
4191 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
4192 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
4193 * testsuite/libgomp.graphite/pr41118.c: Likewise.
4194
4195 2015-05-28 Uros Bizjak <ubizjak (a] gmail.com>
4196
4197 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
4198 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
4199 (futex_wake) [!__x86_64__]: Ditto.
4200
4201 2015-05-28 Julian Brown <julian (a] codesourcery.com>
4202
4203 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
4204 function comment. Only call gomp_fatal if new argument is true.
4205 (acc_dev_num_out_of_range): New function.
4206 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
4207 acc_dev_num_out_of_range as appropriate.
4208 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
4209 (acc_get_device_num, acc_set_device_num): Update calls to
4210 resolve_device.
4211 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
4212 output.
4213
4214 2015-05-28 Julian Brown <julian (a] codesourcery.com>
4215
4216 PR libgomp/65742
4217 * oacc-init.c (plugin/plugin-host.h): Include.
4218 (acc_on_device): Check whether we're in an offloaded region for
4219 host_nonshm
4220 plugin. Don't use __builtin_acc_on_device.
4221 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
4222 nonshm_exec flag in thread-local data.
4223 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
4224 data for host_nonshm plugin.
4225 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
4226 for host_nonshm plugin.
4227 * plugin/plugin-host.h: New.
4228
4229 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com>
4230
4231 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
4232
4233 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com>
4234
4235 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
4236 Declare as int.
4237 (FUTEX_PRIVATE_FLAG): Remove L suffix.
4238 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
4239 Declare as int.
4240
4241 2015-05-27 Uros Bizjak <ubizjak (a] gmail.com>
4242
4243 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
4244
4245 2015-05-27 Chung-Lin Tang <cltang (a] codesourcery.com>
4246
4247 * target.c (gomp_map_pointer): New function abstracting out
4248 GOMP_MAP_POINTER handling.
4249 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
4250 gomp_map_pointer().
4251
4252 2015-05-19 Jakub Jelinek <jakub (a] redhat.com>
4253
4254 PR middle-end/66199
4255 * testsuite/libgomp.c/pr66199-1.c: New test.
4256 * testsuite/libgomp.c/pr66199-2.c: New test.
4257 * testsuite/libgomp.c++/pr66199-1.C: New test.
4258 * testsuite/libgomp.c++/pr66199-2.C: New test.
4259 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
4260 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
4261
4262 2015-05-19 Julian Brown <julian (a] codesourcery.com>
4263
4264 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
4265 on cuInit failure.
4266
4267 2015-05-13 Jakub Jelinek <jakub (a] redhat.com>
4268
4269 PR middle-end/66133
4270 * testsuite/libgomp.c/pr66133.c: New test.
4271
4272 2015-05-13 Michael Haubenwallner <michael.haubenwallner (a] ssi-schaefer.com>
4273
4274 * Makefile.in: Regenerated with automake-1.11.6.
4275 * aclocal.m4: Likewise.
4276 * config.h.in: Likewise.
4277 * configure: Likewise.
4278 * testsuite/Makefile.in: Likewise.
4279
4280 2015-05-08 Jason Merrill <jason (a] redhat.com>
4281
4282 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
4283 _Complex.
4284
4285 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
4286
4287 2015-05-06 Julian Brown <julian (a] codesourcery.com>
4288
4289 * oacc-init.c (acc_device_lock): Add explanatory comment.
4290 (resolve_device): Add comment about locking requirement.
4291 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
4292 gomp_init_device and gomp_fini_device calls.
4293 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
4294 (acc_get_device_num, acc_set_device_num): Add locking around
4295 resolve_device and gomp_init_device calls.
4296
4297 2015-05-06 Julian Brown <julian (a] codesourcery.com>
4298
4299 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
4300 goacc_thread_lock on error paths.
4301 * oacc-mem.c (lookup_host): Remove locking from function. Note
4302 locking requirement for caller in function comment.
4303 (lookup_dev): Likewise.
4304 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
4305 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
4306 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
4307 Add locking.
4308
4309 2015-05-05 Thomas Schwinge <thomas (a] codesourcery.com>
4310
4311 PR testsuite/65205
4312 PR libgomp/65993
4313 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
4314 don't expect "0x" prefix for "%p" format specifier, don't expect
4315 "(nil)" for NULL pointer.
4316 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4317 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4318 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4319 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4320 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4321 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4322 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4323 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4324 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4325 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4326 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4327 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4328 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4329 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4330 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4331 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4332 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4333 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4334 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4335 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4336 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4337 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4338 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4339 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4340 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4341 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4342 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4343 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4344 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
4345 accurately specify what we're looking for.
4346 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4347 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4348 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
4349 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4350 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4351
4352 2015-04-30 James Norris <jnorris (a] codesourcery.com>
4353
4354 PR testsuite/65205
4355 * testsuite/lib/libgomp.exp
4356 (check_effective_target_openacc_host_selected)
4357 (check_effective_target_openacc_host_nonshm_selected): New
4358 procedures.
4359 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
4360 dg-shouldfail.
4361 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
4362 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
4363 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4364 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4365 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4366 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4367 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4368 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4369 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4370 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4371 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4372 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4373 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4374 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4375 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4376 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
4377 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4378 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4379 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4380 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4381 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4382 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
4383 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4384 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4385 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4386 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4387 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4388 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4389 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4390 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4391 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4392 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4393 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4394 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
4395 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4396 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4397 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4398 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4399 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4400 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
4401 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
4402 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
4403 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
4404
4405 2015-04-08 Julian Brown <julian (a] codesourcery.com>
4406
4407 * libgomp.h (target_mem_desc: Remove mem_map field.
4408 (acc_dispatch_t): Remove open_device_func, close_device_func,
4409 get_device_num_func, set_device_num_func, target_data members.
4410 Change create_thread_data_func argument to device number instead of
4411 generic pointer.
4412 * oacc-async.c (assert.h): Include.
4413 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
4414 (acc_wait_all, acc_wait_all_async): Use current host thread's
4415 active device, not base_dev.
4416 * oacc-cuda.c (acc_get_current_cuda_device)
4417 (acc_get_current_cuda_context, acc_get_cuda_stream)
4418 (acc_set_cuda_stream): Likewise.
4419 * oacc-host.c (host_dispatch): Don't set open_device_func,
4420 close_device_func, get_device_num_func or set_device_num_func.
4421 * oacc-init.c (base_dev, init_key): Remove.
4422 (cached_base_dev): New.
4423 (name_of_acc_device_t): New.
4424 (acc_init_1): Initialise default-numbered device, not zeroth.
4425 (acc_shutdown_1): Close all devices of a given type.
4426 (goacc_destroy_thread): Don't use base_dev.
4427 (lazy_open, lazy_init, lazy_init_and_open): Remove.
4428 (goacc_attach_host_thread_to_device): New.
4429 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
4430 (acc_get_num_devices): Don't use base_dev.
4431 (acc_set_device_type): Reimplement.
4432 (acc_get_device_type): Don't use base_dev.
4433 (acc_get_device_num): Tweak logic.
4434 (acc_set_device_num): Likewise.
4435 (acc_on_device): Use acc_get_device_type.
4436 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
4437 (goacc_lazy_initialize): Reimplement with acc_init and
4438 goacc_attach_host_thread_to_device.
4439 * oacc-int.h (goacc_thread): Add base_dev field.
4440 (base_dev): Remove extern declaration.
4441 (goacc_attach_host_thread_to_device): Add prototype.
4442 * oacc-mem.c (acc_malloc): Use current thread's device instead of
4443 base_dev.
4444 (acc_free): Likewise.
4445 (acc_memcpy_to_device): Likewise.
4446 (acc_memcpy_from_device): Likewise.
4447 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
4448 goacc_lazy_initialize (throughout).
4449 (GOACC_parallel): Use tgt_offset to locate target functions.
4450 * target.c (gomp_map_vars): Don't set tgt->mem_map.
4451 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
4452 (gomp_load_plugin_for_device): Remove open_device, close_device,
4453 get_device_num, set_device_num openacc hook initialisation. Don't set
4454 openacc.target_data.
4455 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
4456 (GOMP_OFFLOAD_openacc_close_device)
4457 (GOMP_OFFLOAD_openacc_get_device_num)
4458 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
4459 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
4460 to int.
4461 * plugin/plugin-nvptx.c (ptx_inited): Remove.
4462 (instantiated_devices, ptx_dev_lock): New.
4463 (struct ptx_image_data): New.
4464 (ptx_devices, ptx_images, ptx_image_lock): New.
4465 (fini_streams_for_device): Reorder cuStreamDestroy call.
4466 (nvptx_get_num_devices): Remove forward declaration.
4467 (nvptx_init): Change return type to bool.
4468 (nvptx_fini): Remove.
4469 (nvptx_attach_host_thread_to_device): New.
4470 (nvptx_open_device): Return struct ptx_device* instead of void*.
4471 (nvptx_close_device): Change argument type to struct ptx_device*,
4472 return type to void.
4473 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
4474 (kernel_target_data, kernel_host_table): Remove static globals.
4475 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
4476 (GOMP_OFFLOAD_init_device): Reimplement.
4477 (GOMP_OFFLOAD_fini_device): Likewise.
4478 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
4479 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
4480 (GOMP_OFFLOAD_host2dev): Use ORD argument.
4481 (GOMP_OFFLOAD_openacc_open_device)
4482 (GOMP_OFFLOAD_openacc_close_device)
4483 (GOMP_OFFLOAD_openacc_set_device_num)
4484 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
4485 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
4486 (device number).
4487
4488 testsuite/
4489 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
4490
4491 2015-04-06 Ilya Verbin <ilya.verbin (a] intel.com>
4492
4493 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
4494 * libgomp.h (struct gomp_memory_mapping): Remove.
4495 (struct target_mem_desc): Change type of mem_map from
4496 gomp_memory_mapping * to splay_tree_s *.
4497 (struct gomp_device_descr): Remove register_image_func, get_table_func.
4498 Add load_image_func, unload_image_func.
4499 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
4500 Remove offload_regions_registered.
4501 (gomp_init_tables): Remove.
4502 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
4503 to splay_tree_s *.
4504 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
4505 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
4506 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
4507 offload_regions_registered.
4508 Initialize load_image_func, unload_image_func, mem_map.root.
4509 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
4510 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
4511 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
4512 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
4513 gomp_memory_mapping *. Use dev's lock and splay_tree.
4514 (lookup_dev): Use dev's lock.
4515 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
4516 (acc_is_present): Likewise.
4517 (acc_map_data): Likewise.
4518 (acc_unmap_data): Likewise. Use dev's lock.
4519 (present_create_copy): Likewise.
4520 (delete_copyout): Pass dev to lookup_host instead of mem_map.
4521 (update_dev_host): Likewise.
4522 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
4523 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
4524 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
4525 (GOMP_OFFLOAD_get_table): Remove
4526 (GOMP_OFFLOAD_load_image): New function.
4527 (GOMP_OFFLOAD_unload_image): New function.
4528 * target.c (register_lock): New mutex for offload image registration.
4529 (num_devices): Do not guard with PLUGIN_SUPPORT.
4530 (gomp_realloc_unlock): New static function.
4531 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
4532 before gomp_fatal.
4533 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
4534 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
4535 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
4536 mem_map's.
4537 (gomp_unmap_vars): Likewise.
4538 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
4539 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
4540 (gomp_offload_image_to_device): New static function.
4541 (GOMP_offload_register): Add mutex lock.
4542 Call gomp_offload_image_to_device for all initialized devices.
4543 Replace gomp_realloc with gomp_realloc_unlock.
4544 (GOMP_offload_unregister): New function.
4545 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
4546 get_table_func from the plugin with calls to init_device_func and
4547 gomp_offload_image_to_device.
4548 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
4549 to splay_tree_s *.
4550 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
4551 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
4552 (GOMP_target_data): Do not call gomp_init_tables.
4553 (GOMP_target_update): Likewise. Remove argument from gomp_update.
4554 (gomp_load_plugin_for_device): Replace register_image and get_table
4555 with load_image and unload_image in DLSYM ().
4556 (gomp_register_images_for_device): Remove function.
4557 (gomp_target_init): Do not initialize current_device.mem_map.*,
4558 current_device.offload_regions_registered.
4559 Remove call to gomp_register_images_for_device.
4560 Do not free offload_images and num_offload_images.
4561
4562 2015-03-30 Jakub Jelinek <jakub (a] redhat.com>
4563
4564 PR fortran/65597
4565 * testsuite/libgomp.fortran/pr65597.f90: New test.
4566
4567 2015-03-27 Tom de Vries <tom (a] codesourcery.com>
4568
4569 PR testsuite/65594
4570 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
4571 (init, check): New function.
4572 (foo): Change return type to void.
4573 (main): Call init and check.
4574
4575 2015-03-27 Tom de Vries <tom (a] codesourcery.com>
4576
4577 PR testsuite/65594
4578 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
4579 (foo): Use M for non-inner loops to scale down test-case.
4580
4581 2015-03-25 Kai Tietz <ktietz (a] redhat.com>
4582
4583 PR libgomp/64972
4584 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
4585 (GOACC_data_start): Likewise.
4586 * target.c (gomp_map_vars): Likewise.
4587
4588 2015-03-21 John David Anglin <danglin (a] gcc.gnu.org>
4589
4590 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
4591 hppa*-*-hpux*.
4592
4593 2015-03-19 Jakub Jelinek <jakub (a] redhat.com>
4594
4595 * testsuite/libgomp.c/target-10.c: New test.
4596 * testsuite/libgomp.c++/target-4.C: New test.
4597
4598 2015-03-13 Ilya Verbin <ilya.verbin (a] intel.com>
4599
4600 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
4601 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
4602
4603 2015-03-13 Sebastian Huber <sebastian.huber (a] embedded-brains.de>
4604
4605 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
4606 * configure.ac (*-*-rtems*): Assume Pthread is supported.
4607 (pthread.h): Check for this header file.
4608 * configure: Regenerate.
4609
4610 2015-02-25 Tom de Vries <tom (a] codesourcery.com>
4611
4612 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
4613 (check_reduction_op, check_reduction_macro, max, min):
4614 Declare.
4615 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
4616 function.
4617 (main): Use new functions.
4618
4619 2015-02-18 Ilya Tocar <ilya.tocar (a] intel.com>
4620
4621 * target.c (gomp_load_plugin_for_device): Use const char * instead of
4622 char * for variables holding dlerror return values.
4623 (DLSYM_OPT): Ditto.
4624
4625 2015-02-17 Thomas Schwinge <thomas (a] codesourcery.com>
4626
4627 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
4628
4629 2015-02-17 Thomas Schwinge <thomas (a] codesourcery.com>
4630 Cesar Philippidis <cesar (a] codesourcery.com>
4631
4632 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
4633 GOACC_ctaid, and GOACC_nctaid routines.
4634
4635 2015-02-11 Jakub Jelinek <jakub (a] redhat.com>
4636
4637 PR c/64824
4638 * testsuite/libgomp.c/atomic-18.c: New test.
4639 * testsuite/libgomp.c++/atomic-16.C: New test.
4640
4641 2015-02-04 Jakub Jelinek <jakub (a] redhat.com>
4642
4643 PR c/64824
4644 PR c/64868
4645 * testsuite/libgomp.c/pr64824.c: New test.
4646 * testsuite/libgomp.c/pr64868.c: New test.
4647 * testsuite/libgomp.c++/pr64824.C: New test.
4648 * testsuite/libgomp.c++/pr64868.C: New test.
4649
4650 2015-02-01 David Edelsohn <dje.gcc (a] gmail.com>
4651
4652 PR libgomp/64635
4653 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
4654 Link with -lpthread.
4655 * config/aix/plugin-suffix.h: Delete.
4656
4657 2015-01-28 Jack Howarth <howarth.at.gcc (a] gmail.com>
4658
4659 PR libgomp/64635
4660 * configure.tgt (*-*-aix*): Use config_path "aix posix".
4661 (*-*-darwin*): Use config_path "bsd darwin posix".
4662 (*-*-hpux*): Use config_path "hpux posix".
4663 * target.c: Add include of plugin-suffix.h and use
4664 SONAME_SUFFIX macro.
4665 * config/aix/plugin-suffix.h: New file.
4666 * config/darwin/plugin-suffix.h: New file.
4667 * config/hpux/plugin-suffix.h: New file.
4668 * config/posix/plugin-suffix.h: New file.
4669
4670 2015-01-23 Jakub Jelinek <jakub (a] redhat.com>
4671
4672 PR middle-end/64734
4673 * libgomp.c/pr64734.c: New test.
4674
4675 2015-01-23 Tom de Vries <tom (a] codesourcery.com>
4676
4677 PR libgomp/64672
4678 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
4679
4680 2015-01-23 Tom de Vries <tom (a] codesourcery.com>
4681
4682 PR libgomp/64707
4683 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
4684 dg-options.
4685
4686 2015-01-19 Thomas Schwinge <thomas (a] codesourcery.com>
4687
4688 PR libgomp/64625
4689 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
4690 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
4691 formal parameter. Update all users.
4692 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
4693 Document unused formal parameter.
4694
4695 2015-01-16 Thomas Schwinge <thomas (a] codesourcery.com>
4696
4697 * oacc-parallel.c: Don't include <alloca.h>.
4698 (GOACC_parallel): Use gomp_alloca instead of alloca.
4699
4700 2015-01-16 Gerald Pfeifer <gerald (a] pfeifer.com>
4701
4702 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
4703
4704 2015-01-15 Thomas Schwinge <thomas (a] codesourcery.com>
4705 James Norris <jnorris (a] codesourcery.com>
4706 Tom de Vries <tom (a] codesourcery.com>
4707 Julian Brown <julian (a] codesourcery.com>
4708 Cesar Philippidis <cesar (a] codesourcery.com>
4709 Nathan Sidwell <nathan (a] codesourcery.com>
4710 Tobias Burnus <burnus (a] net-b.de>
4711
4712 * Makefile.am (search_path): Add $(top_srcdir)/../include.
4713 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
4714 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
4715 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
4716 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
4717 Include $(top_srcdir)/plugin/Makefrag.am.
4718 (nodist_libsubinclude_HEADERS): Add openacc.h.
4719 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
4720 openacc.f90, openacc.mod, openacc_kinds.mod.
4721 (omp_lib.mod): Generalize into...
4722 (%.mod): ... this new rule.
4723 (openacc_kinds.mod, openacc.mod): New rules.
4724 * plugin/configfrag.ac: New file.
4725 * configure.ac: Move plugin/offloading support into it. Include
4726 it. Instantiate testsuite/libgomp-test-support.pt.exp.
4727 * plugin/Makefrag.am: New file.
4728 * testsuite/Makefile.am (OFFLOAD_TARGETS)
4729 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
4730 export.
4731 (libgomp-test-support.exp): New rule.
4732 (all-local): Depend on it.
4733 * Makefile.in: Regenerate.
4734 * testsuite/Makefile.in: Regenerate.
4735 * config.h.in: Likewise.
4736 * configure: Likewise.
4737 * configure.tgt: Harden shell syntax.
4738 * env.c: Include "oacc-int.h".
4739 (parse_acc_device_type): New function.
4740 (gomp_debug_var, goacc_device_type, goacc_device_num): New
4741 variables.
4742 (initialize_env): Initialize those. Call
4743 goacc_runtime_initialize.
4744 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
4745 (gomp_fatal): Call gomp_vfatal.
4746 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
4747 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
4748 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
4749 (splay_tree_node, splay_tree, splay_tree_key)
4750 (struct target_mem_desc, struct splay_tree_key_s)
4751 (struct gomp_memory_mapping, struct acc_dispatch_t)
4752 (struct gomp_device_descr, gomp_acc_insert_pointer)
4753 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
4754 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
4755 (gomp_free_memmap, gomp_fini_device): New declarations.
4756 (gomp_vdebug, gomp_debug): New macros.
4757 Include "splay-tree.h".
4758 * libgomp.map (OACC_2.0): New symbol version. Use for
4759 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
4760 acc_set_device_type_h_, acc_get_device_type,
4761 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
4762 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
4763 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
4764 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
4765 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
4766 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
4767 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
4768 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
4769 acc_copyin_array_h_, acc_present_or_copyin,
4770 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
4771 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
4772 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
4773 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
4774 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
4775 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
4776 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
4777 acc_update_device, acc_update_device_32_h_,
4778 acc_update_device_64_h_, acc_update_device_array_h_,
4779 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
4780 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
4781 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
4782 acc_is_present_64_h_, acc_is_present_array_h_,
4783 acc_memcpy_to_device, acc_memcpy_from_device,
4784 acc_get_current_cuda_device, acc_get_current_cuda_context,
4785 acc_get_cuda_stream, acc_set_cuda_stream.
4786 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
4787 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
4788 GOACC_update, GOACC_wait, GOACC_get_thread_num,
4789 GOACC_get_num_threads.
4790 (GOMP_PLUGIN_1.0): New symbol version. Use for
4791 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
4792 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
4793 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
4794 GOMP_PLUGIN_acc_thread.
4795 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
4796 environment variable.
4797 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
4798 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
4799 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
4800 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
4801 (splay_tree_remove): New declarations.
4802 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
4803 (splay_tree_remove, splay_tree_lookup): Move into...
4804 * splay-tree.c: ... this new file.
4805 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
4806 (splay_tree_node, splay_tree, splay_tree_key)
4807 (struct target_mem_desc, struct splay_tree_key_s)
4808 (struct gomp_device_descr): Don't declare.
4809 (num_devices_openmp): New variable.
4810 (gomp_get_num_devices ): Use it.
4811 (gomp_init_targets_once): New function.
4812 (gomp_get_num_devices ): Use it.
4813 (get_kind, gomp_copy_from_async, gomp_free_memmap)
4814 (gomp_fini_device, gomp_register_image_for_device): New functions.
4815 (gomp_map_vars): Add devaddrs parameter.
4816 (gomp_update): Add mm parameter.
4817 (gomp_init_device): Move most of it into...
4818 (gomp_init_tables): ... this new function.
4819 (gomp_register_images_for_device): Remove function.
4820 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
4821 Make them hidden instead of static.
4822 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
4823 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
4824 (GOMP_target_end_data, GOMP_target_update)
4825 (gomp_load_plugin_for_device, gomp_target_init): Update for
4826 OpenACC changes.
4827 * oacc-async.c: New file.
4828 * oacc-cuda.c: Likewise.
4829 * oacc-host.c: Likewise.
4830 * oacc-init.c: Likewise.
4831 * oacc-int.h: Likewise.
4832 * oacc-mem.c: Likewise.
4833 * oacc-parallel.c: Likewise.
4834 * oacc-plugin.c: Likewise.
4835 * oacc-plugin.h: Likewise.
4836 * oacc-ptx.h: Likewise.
4837 * openacc.f90: Likewise.
4838 * openacc.h: Likewise.
4839 * openacc_lib.h: Likewise.
4840 * plugin/plugin-host.c: Likewise.
4841 * plugin/plugin-nvptx.c: Likewise.
4842 * libgomp-plugin.c: Likewise.
4843 * libgomp-plugin.h: Likewise.
4844 * libgomp_target.h: Remove file after merging content into the
4845 former file. Update all users.
4846 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
4847 (offload_targets_s, offload_targets_s_openacc): New variables.
4848 (check_effective_target_openacc_nvidia_accel_present)
4849 (check_effective_target_openacc_nvidia_accel_selected): New
4850 procedures.
4851 (libgomp_init): Update for OpenACC changes.
4852 * testsuite/libgomp-test-support.exp.in: New file.
4853 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
4854 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4855 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4856 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
4857 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
4858 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4859 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
4860 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
4861 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
4862 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
4863 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
4864 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
4865 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
4866 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4867 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
4868 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4869 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4870 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4871 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4872 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4873 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
4874 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
4875 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4876 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
4877 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4878 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4879 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4880 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4881 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4882 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4883 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4884 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
4885 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
4886 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
4887 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
4888 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
4889 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
4890 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
4891 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
4892 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4893 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4894 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4895 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4896 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4897 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4898 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
4899 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4900 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4901 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4902 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4903 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4904 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4905 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4906 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4907 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4908 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4909 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4910 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
4911 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4912 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
4913 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
4914 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
4915 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4916 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4917 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4918 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
4919 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
4920 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4921 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
4922 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4923 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
4924 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4925 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4926 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4927 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
4928 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
4929 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4930 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4931 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
4932 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
4933 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
4934 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
4935 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4936 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4937 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4938 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
4939 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
4940 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4941 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4942 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
4943 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
4944 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
4945 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
4946 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
4947 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4948 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4949 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4950 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
4951 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4952 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4953 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
4954 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
4955 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
4956 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
4957 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
4958 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
4959 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
4960 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
4961 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
4962 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
4963 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
4964 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
4965 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
4966 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
4967 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4968 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4969 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
4970 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
4971 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
4972 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
4973 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
4974 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
4975 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
4976 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
4977 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
4978 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
4979 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4980 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
4981 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
4982 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
4983 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
4984 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
4985 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
4986 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
4987 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
4988 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4989 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4990 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4991 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4992 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
4993 Likewise.
4994 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
4995 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
4996 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
4997 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
4998 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
4999 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
5000 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
5001 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5002 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5003 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5004 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5005 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5006 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5007 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
5008 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
5009 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
5010 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
5011 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
5012 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
5013 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
5014 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
5015 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
5016 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
5017 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
5018 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
5019 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
5020 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5021 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5022 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
5023 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
5024 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
5025 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
5026 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
5027 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5028 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
5029 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
5030 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
5031 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
5032 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
5033 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
5034 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
5035 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
5036 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
5037 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
5038 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
5039 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
5040 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
5041 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
5042 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
5043 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5044 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5045 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5046 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5047 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5048 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
5049 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
5050 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
5051 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
5052 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
5053 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
5054
5055 2015-01-10 Thomas Schwinge <thomas (a] codesourcery.com>
5056 Julian Brown <julian (a] codesourcery.com>
5057 David Malcolm <dmalcolm (a] redhat.com>
5058
5059 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
5060 to "GNU Offloading and Multi Processing Runtime Library". Change
5061 all users.
5062 * configure: Regenerate.
5063 * libgomp.texi: Update.
5064
5065 2015-01-08 Thomas Schwinge <thomas (a] codesourcery.com>
5066
5067 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
5068 "$tgt_dir/lib32".
5069 * configure: Regenerate.
5070
5071 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
5072 "intelmic" in $offload_targets.
5073
5074 2015-01-05 Jakub Jelinek <jakub (a] redhat.com>
5075
5076 Update copyright years.
5077
5078 * libgomp.texi: Bump @copying's copyright year.
5079
5080 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov (a] arm.com>
5081
5082 * testsuite/lib/libgomp.exp: Load target-utils.exp.
5083 Move load of target-supportes.exp earlier.
5084
5085 2014-12-10 Ilya Verbin <ilya.verbin (a] intel.com>
5086
5087 * testsuite/libgomp.c/target-9.c: New test.
5088
5089 2014-12-09 Varvara Rainchik <varvara.rainchik (a] intel.com>
5090
5091 * config.h.in: Regenerate.
5092 * configure: Regenerate.
5093 * configure.ac: Add GCC_CHECK_EMUTLS.
5094 * libgomp.h: Add check for USE_EMUTLS: this case
5095 is equal to HAVE_TLS.
5096 * team.c: Likewise.
5097
5098 2014-12-03 Uros Bizjak <ubizjak (a] gmail.com>
5099
5100 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
5101
5102 2014-11-28 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
5103 Ilya Verbin <ilya.verbin (a] intel.com>
5104
5105 * testsuite/libgomp.c/target-critical-1.c: New test.
5106
5107 2014-11-26 Jakub Jelinek <jakub (a] redhat.com>
5108
5109 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
5110 to dg-options unless expensive testing is on.
5111 (TESTITERS): Define to N if not defined.
5112 (main): Use TESTITERS instead of N.
5113 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
5114 dg-additional-options depending on whether expensive testing is on.
5115 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
5116 Decrease N to 100000 and CHUNKSZ to 10000.
5117
5118 2014-11-24 Jakub Jelinek <jakub (a] redhat.com>
5119
5120 PR fortran/63938
5121 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
5122 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
5123
5124 2014-11-21 Steve Ellcey <sellcey (a] imgtec.com>
5125
5126 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
5127
5128 2014-11-21 H.J. Lu <hongjiu.lu (a] intel.com>
5129
5130 PR bootstrap/63784
5131 * configure: Regenerated.
5132
5133 2014-11-19 Uros Bizjak <ubizjak (a] gmail.com>
5134
5135 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
5136 vect_simd_clones effective target.
5137 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
5138
5139 2014-11-14 Jakub Jelinek <jakub (a] redhat.com>
5140
5141 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
5142 of 32 as block_size.
5143 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
5144 instead of 32 as block_size.
5145
5146 2014-11-13 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
5147 Ilya Verbin <ilya.verbin (a] intel.com>
5148
5149 * Makefile.in: Regenerate.
5150 * configure: Regenerate.
5151 * configure.ac: Set up offload_additional_options,
5152 offload_additional_lib_paths and offload_targets.
5153 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
5154 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
5155 * testsuite/Makefile.in: Regenerate.
5156 * testsuite/lib/libgomp.exp (libgomp_init): Append
5157 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
5158 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
5159 build directory to LD_LIBRARY_PATH for intelmic offload targets.
5160
5161 2014-11-13 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
5162 Ilya Verbin <ilya.verbin (a] intel.com>
5163 Kirill Yukhin <kirill.yukhin (a] intel.com>
5164 Ilya Tocar <ilya.tocar (a] intel.com>
5165
5166 * testsuite/lib/libgomp.exp
5167 (check_effective_target_offload_device): New.
5168 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
5169 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
5170 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
5171 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
5172 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
5173 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
5174 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
5175 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
5176 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
5177 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
5178 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
5179 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
5180 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
5181 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
5182 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
5183 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
5184 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
5185 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
5186 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
5187 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
5188 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
5189 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
5190 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
5191 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
5192 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
5193 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
5194 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
5195 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
5196 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
5197 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
5198 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
5199 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
5200 * testsuite/libgomp.c/target-7.c: Fix test.
5201 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
5202 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
5203 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
5204 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
5205 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
5206 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
5207 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
5208 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
5209 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
5210 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
5211 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
5212 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
5213 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
5214 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
5215 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
5216 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
5217 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
5218 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
5219 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
5220 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
5221 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
5222 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
5223 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
5224 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
5225 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
5226 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
5227 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
5228 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
5229 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
5230 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
5231 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
5232
5233 2014-11-13 Jakub Jelinek <jakub (a] redhat.com>
5234 Ilya Verbin <ilya.verbin (a] intel.com>
5235 Thomas Schwinge <thomas (a] codesourcery.com>
5236 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
5237
5238 * libgomp.map (GOMP_4.0.1): New symbol version.
5239 Add GOMP_offload_register.
5240 * libgomp_target.h: New file.
5241 * splay-tree.h: New file.
5242 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
5243 (gomp_target_init): New forward declaration.
5244 (gomp_is_initialized): New static variable.
5245 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
5246 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
5247 New structures.
5248 (offload_images, num_offload_images, devices, num_devices): New static
5249 variables.
5250 (splay_compare): New static function.
5251 (struct gomp_device_descr): New structure.
5252 (gomp_get_num_devices): Call gomp_target_init.
5253 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
5254 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
5255 (GOMP_offload_register): New function.
5256 (GOMP_target): Arrange for host callback to be performed in a separate
5257 initial thread and contention group, inheriting ICVs from
5258 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
5259 Add device initialization and lookup for target function in splay tree.
5260 (GOMP_target_data): Add device initialization and call gomp_map_vars.
5261 (GOMP_target_end_data): Call gomp_unmap_vars.
5262 (GOMP_target_update): Add device initialization and call gomp_update.
5263 (gomp_load_plugin_for_device, gomp_register_images_for_device)
5264 (gomp_target_init): New static functions.
5265
5266 2014-11-13 Bernd Schmidt <bernds (a] codesourcery.com>
5267 Thomas Schwinge <thomas (a] codesourcery.com>
5268 Ilya Verbin <ilya.verbin (a] intel.com>
5269 Andrey Turetskiy <andrey.turetskiy (a] intel.com>
5270
5271 * config.h.in: Regenerate.
5272 * configure: Regenerate.
5273 * configure.ac: Check for libdl, required for plugin support.
5274 (PLUGIN_SUPPORT): Define if plugins are supported.
5275 (enable_offload_targets): Support Intel MIC targets.
5276 (OFFLOAD_TARGETS): List of target names suitable for offloading.
5277
5278 2014-11-11 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
5279
5280 PR target/63610
5281 * configure: Regenerate.
5282
5283 2014-11-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
5284
5285 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
5286
5287 2014-10-06 Marek Polacek <polacek (a] redhat.com>
5288
5289 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
5290 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
5291 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
5292 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
5293
5294 2014-10-06 Marek Polacek <polacek (a] redhat.com>
5295
5296 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
5297 * testsuite/libgomp.c/nqueens-1.c: Likewise.
5298 * testsuite/libgomp.c/pr26943-3.c: Likewise.
5299 * testsuite/libgomp.c/pr26943-4.c: Likewise.
5300 * testsuite/libgomp.c/pr36802-2.c: Likewise.
5301 * testsuite/libgomp.c/pr36802-3.c: Likewise.
5302 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
5303 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
5304 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
5305 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
5306 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
5307 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
5308 * testsuite/libgomp.c/omp-single-1.c: Likewise.
5309 * testsuite/libgomp.c/omp-single-2.c: Likewise.
5310 * testsuite/libgomp.c/omp_matvec.c: Likewise.
5311 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
5312 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
5313 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
5314 declarations.
5315
5316 2014-10-03 Jakub Jelinek <jakub (a] redhat.com>
5317
5318 PR libgomp/61200
5319 * testsuite/libgomp.c/pr61200.c: New test.
5320
5321 2014-09-18 Jakub Jelinek <jakub (a] redhat.com>
5322
5323 PR c++/63248
5324 * testsuite/libgomp.c++/pr63248.C: New test.
5325
5326 2014-08-04 Jakub Jelinek <jakub (a] redhat.com>
5327
5328 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
5329 is not zero, but taskgroup->children is NULL and there are
5330 any task->children, schedule those instead of waiting.
5331 * testsuite/libgomp.c/depend-6.c: New test.
5332 * testsuite/libgomp.c/depend-7.c: New test.
5333 * testsuite/libgomp.c/depend-8.c: New test.
5334 * testsuite/libgomp.c/depend-9.c: New test.
5335 * testsuite/libgomp.c/depend-10.c: New test.
5336
5337 2014-08-01 Jakub Jelinek <jakub (a] redhat.com>
5338
5339 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
5340 (struct gomp_taskwait): New type.
5341 (struct gomp_task): Add taskwait and parent_depends_on, remove
5342 in_taskwait and taskwait_sem fields.
5343 (gomp_finish_task): Don't destroy taskwait_sem.
5344 * task.c (gomp_init_task): Don't init in_taskwait, instead init
5345 taskwait and parent_depends_on.
5346 (GOMP_task): For if (0) tasks with depend clause that depend on
5347 earlier tasks don't defer them, instead call
5348 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
5349 Initialize redundant_out field, for redundant out entries just
5350 move them at the end of linked list instead of removing them
5351 completely, and set redundant_out flag instead of redundant.
5352 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
5353 that task.
5354 (gomp_task_run_post_handle_dependers): If parent is in
5355 gomp_task_maybe_wait_for_dependencies and newly runnable task
5356 is not parent_depends_on, queue it in parent->children linked
5357 list after all runnable tasks with parent_depends_on set.
5358 Adjust for addition of taskwait indirection.
5359 (gomp_task_run_post_remove_parent): If parent is in
5360 gomp_task_maybe_wait_for_dependencies and task to be removed
5361 is parent_depends_on, decrement n_depend and if needed awake
5362 parent. Adjust for addition of taskwait indirection.
5363 (GOMP_taskwait): Adjust for addition of taskwait indirection.
5364 (gomp_task_maybe_wait_for_dependencies): New function.
5365 * testsuite/libgomp.c/depend-5.c: New test.
5366
5367 2014-07-13 Tobias Burnus <burnus (a] net-b.de>
5368
5369 * testsuite/libgomp.fortran/pr34020.f90: Make compile
5370 with TS 18508/Fortran 2015.
5371
5372 2014-07-06 Marek Polacek <polacek (a] redhat.com>
5373
5374 PR c/6940
5375 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
5376
5377 2014-07-03 Jakub Jelinek <jakub (a] redhat.com>
5378
5379 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
5380 matches regex $lang_source_re, add $lang_include_flags to options.
5381 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
5382 * testsuite/libgomp.c++/c++.exp: Likewise.
5383 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
5384 and lang_include_flags instead of adding -fintrinsic-modules-path= to
5385 ALWAYS_CFLAGS.
5386 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
5387
5388 2014-07-03 Thomas Schwinge <thomas (a] codesourcery.com>
5389
5390 * testsuite/libgomp.fortran/fortran.exp: Explain
5391 gfortran-dg-runtest usage.
5392
5393 2014-06-25 Jakub Jelinek <jakub (a] redhat.com>
5394
5395 * testsuite/libgomp.fortran/simd5.f90: New test.
5396 * testsuite/libgomp.fortran/simd6.f90: New test.
5397 * testsuite/libgomp.fortran/simd7.f90: New test.
5398
5399 2014-06-24 Jakub Jelinek <jakub (a] redhat.com>
5400
5401 * testsuite/libgomp.c/for-2.c: Define SC to static for
5402 #pragma omp for simd testing.
5403 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
5404 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
5405 SC macro.
5406 * testsuite/libgomp.c/simd-14.c: New test.
5407 * testsuite/libgomp.c/simd-15.c: New test.
5408 * testsuite/libgomp.c/simd-16.c: New test.
5409 * testsuite/libgomp.c/simd-17.c: New test.
5410 * testsuite/libgomp.c++/for-10.C: Define SC to static for
5411 #pragma omp for simd testing.
5412 * testsuite/libgomp.c++/simd10.C: New test.
5413 * testsuite/libgomp.c++/simd11.C: New test.
5414 * testsuite/libgomp.c++/simd12.C: New test.
5415 * testsuite/libgomp.c++/simd13.C: New test.
5416
5417 * testsuite/libgomp.fortran/aligned1.f03: New test.
5418 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
5419 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
5420 tasks with !$omp parallel !$omp single.
5421 * testsuite/libgomp.fortran/target8.f90: New test.
5422 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
5423 not to use trim in the combiner, instead call elemental function.
5424 (fn): New elemental function.
5425 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
5426 Make elemental.
5427 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
5428 omp_in): Likewise.
5429 * testsuite/libgomp.fortran/udr12.f90: New test.
5430 * testsuite/libgomp.fortran/udr13.f90: New test.
5431 * testsuite/libgomp.fortran/udr14.f90: New test.
5432 * testsuite/libgomp.fortran/udr15.f90: New test.
5433
5434 2014-06-18 Jakub Jelinek <jakub (a] redhat.com>
5435
5436 * omp_lib.f90.in (openmp_version): Set to 201307.
5437 * omp_lib.h.in (openmp_version): Likewise.
5438 * testsuite/libgomp.c/target-8.c: New test.
5439 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
5440 and inbranch clauses.
5441 * testsuite/libgomp.fortran/depend-3.f90: New test.
5442 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
5443 openmp_version.
5444 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5445 * testsuite/libgomp.fortran/target1.f90: New test.
5446 * testsuite/libgomp.fortran/target2.f90: New test.
5447 * testsuite/libgomp.fortran/target3.f90: New test.
5448 * testsuite/libgomp.fortran/target4.f90: New test.
5449 * testsuite/libgomp.fortran/target5.f90: New test.
5450 * testsuite/libgomp.fortran/target6.f90: New test.
5451 * testsuite/libgomp.fortran/target7.f90: New test.
5452
5453 2014-06-10 Jakub Jelinek <jakub (a] redhat.com>
5454
5455 PR fortran/60928
5456 * testsuite/libgomp.fortran/allocatable9.f90: New test.
5457 * testsuite/libgomp.fortran/allocatable10.f90: New test.
5458 * testsuite/libgomp.fortran/allocatable11.f90: New test.
5459 * testsuite/libgomp.fortran/allocatable12.f90: New test.
5460 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
5461 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
5462 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
5463 * testsuite/libgomp.fortran/associate1.f90: New test.
5464 * testsuite/libgomp.fortran/associate2.f90: New test.
5465 * testsuite/libgomp.fortran/procptr1.f90: New test.
5466
5467 2014-06-06 Jakub Jelinek <jakub (a] redhat.com>
5468
5469 * testsuite/libgomp.fortran/simd1.f90: New test.
5470 * testsuite/libgomp.fortran/udr1.f90: New test.
5471 * testsuite/libgomp.fortran/udr2.f90: New test.
5472 * testsuite/libgomp.fortran/udr3.f90: New test.
5473 * testsuite/libgomp.fortran/udr4.f90: New test.
5474 * testsuite/libgomp.fortran/udr5.f90: New test.
5475 * testsuite/libgomp.fortran/udr6.f90: New test.
5476 * testsuite/libgomp.fortran/udr7.f90: New test.
5477 * testsuite/libgomp.fortran/udr8.f90: New test.
5478 * testsuite/libgomp.fortran/udr9.f90: New test.
5479 * testsuite/libgomp.fortran/udr10.f90: New test.
5480 * testsuite/libgomp.fortran/udr11.f90: New test.
5481
5482 2014-05-27 Uros Bizjak <ubizjak (a] gmail.com>
5483
5484 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
5485 vect_simd_clones effective target.
5486 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
5487
5488 2014-05-21 Jakub Jelinek <jakub (a] redhat.com>
5489
5490 PR middle-end/61252
5491 * testsuite/libgomp.c++/simd-9.C: New test.
5492
5493 2014-05-18 Uros Bizjak <ubizjak (a] gmail.com>
5494
5495 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
5496 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
5497 texts according to their @menu entry positions.
5498
5499 2014-05-11 Jakub Jelinek <jakub (a] redhat.com>
5500
5501 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
5502 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
5503 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
5504 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
5505 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
5506 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
5507 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
5508 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
5509 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
5510 * testsuite/libgomp.fortran/depend-1.f90: New test.
5511 * testsuite/libgomp.fortran/depend-2.f90: New test.
5512 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
5513 * testsuite/libgomp.fortran/simd1.f90: New test.
5514 * testsuite/libgomp.fortran/simd2.f90: New test.
5515 * testsuite/libgomp.fortran/simd3.f90: New test.
5516 * testsuite/libgomp.fortran/simd4.f90: New test.
5517 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
5518
5519 2014-05-02 Jakub Jelinek <jakub (a] redhat.com>
5520
5521 * testsuite/libgomp.c/simd-10.c: New test.
5522 * testsuite/libgomp.c/simd-11.c: New test.
5523 * testsuite/libgomp.c/simd-12.c: New test.
5524 * testsuite/libgomp.c/simd-13.c: New test.
5525
5526 2014-04-24 Jakub Jelinek <jakub (a] redhat.com>
5527
5528 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
5529 atomic type clauses in any order and optional comma in between.
5530 * testsuite/libgomp.c++/atomic-15.C: Likewise.
5531 * testsuite/libgomp.c/atomic-17.c: Likewise.
5532
5533 * testsuite/libgomp.c/simd-7.c: New test.
5534 * testsuite/libgomp.c/simd-8.c: New test.
5535 * testsuite/libgomp.c/simd-9.c: New test.
5536 * testsuite/libgomp.c/loop-16.c: New test.
5537
5538 2014-04-02 Richard Henderson <rth (a] redhat.com>
5539
5540 * config/linux/futex.h (futex_wait): Get error value from errno.
5541 (futex_wake): Likewise.
5542
5543 2014-03-25 Jakub Jelinek <jakub (a] redhat.com>
5544
5545 PR c++/60331
5546 * testsuite/libgomp.c++/udr-11.C: New test.
5547 * testsuite/libgomp.c++/udr-12.C: New test.
5548 * testsuite/libgomp.c++/udr-13.C: New test.
5549 * testsuite/libgomp.c++/udr-14.C: New test.
5550 * testsuite/libgomp.c++/udr-15.C: New test.
5551 * testsuite/libgomp.c++/udr-16.C: New test.
5552 * testsuite/libgomp.c++/udr-17.C: New test.
5553 * testsuite/libgomp.c++/udr-18.C: New test.
5554 * testsuite/libgomp.c++/udr-19.C: New test.
5555
5556 2014-01-02 Richard Sandiford <rdsandiford (a] googlemail.com>
5557
5558 Update copyright years
5559
5560 2014-01-02 Richard Sandiford <rdsandiford (a] googlemail.com>
5561
5562 * hashtab.h: Use the standard form for the copyright notice.
5563
5564 2014-01-02 Tobias Burnus <burnus (a] net-b.de>
5565
5566 * libgomp.texi: Bump @copying's copyright year.
5567
5568 2013-12-17 Andreas Tobler <andreast (a] gcc.gnu.org>
5569
5570 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
5571 alloca () with __builtin_alloca ().
5572 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
5573 * testsuite/libgomp.c/lock-3.c: Likewise.
5574 * testsuite/libgomp.c/pr48591.c: Likewise.
5575
5576 2013-12-17 Jakub Jelinek <jakub (a] redhat.com>
5577
5578 PR testsuite/59534
5579 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
5580 comparisons.
5581
5582 2013-12-16 Jakub Jelinek <jakub (a] redhat.com>
5583
5584 PR libgomp/58756
5585 * testsuite/libgomp.c/pr58756.c: New test.
5586
5587 2013-12-12 Jakub Jelinek <jakub (a] redhat.com>
5588
5589 PR libgomp/59467
5590 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
5591 !$omp parallel.
5592
5593 2013-11-07 Thomas Schwinge <thomas (a] codesourcery.com>
5594
5595 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
5596 ALWAYS_CFLAGS.
5597 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
5598 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
5599 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
5600 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
5601 Likewise.
5602
5603 * libgomp_g.h: Include <stddef.h> for size_t.
5604
5605 * libgomp.spec.in: Update comment about libgomp's dependencies.
5606 * configure.ac: Likewise.
5607 * configure: Regenerate.
5608
5609 2013-10-16 Tobias Burnus <burnus (a] net-b.de>
5610
5611 * libgomp.texi: (Runtime Library Routines): Update references for
5612 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
5613 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
5614 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
5615 (Environment Variables): Update references for OpenMP 4.0. Add
5616 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
5617 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
5618 order.
5619
5620 2013-10-14 Jakub Jelinek <jakub (a] redhat.com>
5621
5622 * env.c (parse_bind_var): Initialize value to avoid
5623 (false positive) warning.
5624
5625 2013-10-12 Jakub Jelinek <jakub (a] redhat.com>
5626
5627 PR libgomp/58691
5628 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
5629 to check variable.
5630 (gomp_init_num_threads): Move i variable declaration into
5631 #ifdef CPU_ALLOC_SIZE block.
5632 * config/linux/affinity.c (gomp_affinity_init_level): Test
5633 gomp_places_list_len == 0 rather than gomp_places_list == 0
5634 when checking for topology reading error.
5635 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
5636 * env.c (parse_affinity): Add ignore argument, if true, don't populate
5637 gomp_places_list, only parse env var and always return false.
5638 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
5639 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
5640 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
5641 and either of these variables were parsed correctly into a places
5642 list.
5643
5644 2013-10-11 Thomas Schwinge <thomas (a] codesourcery.com>
5645 Jakub Jelinek <jakub (a] redhat.com>
5646
5647 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
5648 of 5 loopfn matches.
5649 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
5650 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
5651 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
5652 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
5653 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
5654 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5655 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5656 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
5657
5658 2013-10-11 Thomas Schwinge <thomas (a] codesourcery.com>
5659
5660 * Makefile.am (omp_lib.mod): Streamline rule.
5661 * Makefile.in: Regenerate.
5662
5663 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
5664 exceptions.
5665
5666 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
5667 * testsuite/libgomp.fortran/lib1.f90: Likewise.
5668 * testsuite/libgomp.fortran/lib2.f: Likewise.
5669 * testsuite/libgomp.fortran/lib3.f: Likewise.
5670
5671 * configure.ac: Typo fix.
5672 * configure: Regenerate.
5673
5674 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
5675 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5676
5677 * omp.h.in: Don't touch the user's namespace.
5678
5679 2013-10-11 Jakub Jelinek <jakub (a] redhat.com>
5680 Tobias Burnus <burnus (a] net-b.de>
5681 Richard Henderson <rth (a] redhat.com>
5682
5683 * target.c: New file.
5684 * Makefile.am (libgomp_la_SOURCES): Add target.c.
5685 * Makefile.in: Regenerated.
5686 * libgomp_g.h (GOMP_task): Add depend argument.
5687 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
5688 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
5689 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
5690 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
5691 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
5692 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
5693 GOMP_taskgroup_start, GOMP_taskgroup_end,
5694 GOMP_parallel_sections): New prototypes.
5695 * fortran.c (omp_is_initial_device): Add ialias_redirect.
5696 (omp_is_initial_device_): New function.
5697 (ULP, STR1, STR2, ialias_redirect): Removed.
5698 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
5699 omp_set_default_device_8_, omp_get_default_device_,
5700 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
5701 functions.
5702 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
5703 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
5704 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
5705 @@GOMP_4.0.
5706 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
5707 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
5708 omp_set_default_device, omp_set_default_device_,
5709 omp_set_default_device_8_, omp_get_default_device,
5710 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
5711 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
5712 omp_get_team_num_): Export @@OMP_4.0.
5713 * team.c (struct gomp_thread_start_data): Add place field.
5714 (gomp_thread_start): Clear thr->thread_pool and
5715 thr->task before returning. Use gomp_team_barrier_wait_final
5716 instead of gomp_team_barrier_wait. Initialize thr->place.
5717 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
5718 team_cancelled and task_queued_count fields.
5719 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
5720 before calling pthread_exit.
5721 (gomp_free_thread): No longer static. Use
5722 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
5723 (gomp_team_start): Add flags argument. Set
5724 thr->thread_pool->threads_busy to nthreads immediately after creating
5725 new pool. Use gomp_managed_threads_lock instead of
5726 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
5727 (gomp_team_end): Use gomp_managed_threads_lock instead of
5728 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
5729 of gomp_team_barrier_wait. If team->team_cancelled, call
5730 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
5731 rather than thr->ts.work_share.
5732 (initialize_team): Don't call gomp_sem_init here.
5733 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
5734 caller.
5735 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
5736 * env.c (gomp_global_icv): Add default_device_var, target_data and
5737 bind_var initializers.
5738 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
5739 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
5740 gomp_places_list_len): New variables.
5741 (parse_bind_var, parse_one_place, parse_places_var): New functions.
5742 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
5743 sized places.
5744 (gomp_cancel_var): New global variable.
5745 (parse_int): New function.
5746 (handle_omp_display_env): New function.
5747 (initialize_env): Use it. Initialize default_device_var.
5748 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
5749 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
5750 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
5751 been successfully parsed (and call gomp_init_affinity in that case).
5752 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5753 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5754 omp_get_team_num, omp_is_initial_device): New functions.
5755 * libgomp.h: Include stdlib.h.
5756 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
5757 Define.
5758 (struct target_mem_desc): Forward declare.
5759 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
5760 and thread_limit_var fields.
5761 (gomp_get_num_devices): New prototype.
5762 (gomp_cancel_var): New extern decl.
5763 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
5764 team_cancelled and task_queued_count fields. Add comments about
5765 task_{,queued_,running_}count.
5766 (gomp_cancel_kind): New enum.
5767 (gomp_work_share_end_cancel): New prototype.
5768 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
5769 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
5770 and depend fields.
5771 (struct gomp_taskgroup): New type.
5772 (struct gomp_task_depend_entry,
5773 struct gomp_dependers_vec): New types.
5774 (gomp_finish_task): Free depend_hash if non-NULL.
5775 (struct gomp_team_state): Add place_partition_off
5776 and place_partition_len fields.
5777 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
5778 gomp_places_list_len): New extern decls.
5779 (struct gomp_thread): Add place field.
5780 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
5781 (gomp_init_thread_affinity): Add place argument.
5782 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5783 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5784 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5785 gomp_affinity_init_level, gomp_affinity_print_place): New
5786 prototypes.
5787 (gomp_team_start): Add flags argument.
5788 (gomp_thread_limit_var, gomp_remaining_threads_count,
5789 gomp_remaining_threads_lock): Remove.
5790 (gomp_managed_threads_lock): New variable.
5791 (struct gomp_thread_pool): Add threads_busy field.
5792 (gomp_free_thread): New prototype.
5793 * task.c: Include hashtab.h.
5794 (hash_entry_type): New typedef.
5795 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
5796 (gomp_init_task): Clear dependers, depend_hash, depend_count,
5797 copy_ctors_done and taskgroup fields.
5798 (GOMP_task): Add depend argument, handle depend clauses. If
5799 gomp_team_barrier_cancelled or if it's taskgroup has been
5800 cancelled, don't queue or start new tasks. Set copy_ctors_done
5801 field if needed. Initialize taskgroup field. If copy_ctors_done
5802 and already cancelled, don't discard the task. If taskgroup is
5803 non-NULL, enqueue the task into taskgroup queue. Increment
5804 num_children field in taskgroup. Increment task_queued_count.
5805 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
5806 gomp_task_run_post_remove_taskgroup): New inline functions.
5807 (gomp_task_run_post_handle_depend_hash,
5808 gomp_task_run_post_handle_dependers,
5809 gomp_task_run_post_handle_depend): New functions.
5810 (GOMP_taskwait): Use them. If more than one new tasks
5811 have been queued, wake other threads if needed.
5812 (gomp_barrier_handle_tasks): Likewise. If
5813 gomp_team_barrier_cancelled, don't start any new tasks, just free
5814 all tasks.
5815 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
5816 * omp_lib.f90.in
5817 (omp_proc_bind_kind, omp_proc_bind_false,
5818 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
5819 omp_proc_bind_spread): New params.
5820 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5821 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5822 omp_get_team_num, omp_is_initial_device): New interfaces.
5823 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
5824 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
5825 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
5826 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
5827 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
5828 useless use omp_lib_kinds.
5829 * omp.h.in (omp_proc_bind_t): New typedef.
5830 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5831 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5832 omp_get_team_num, omp_is_initial_device): New prototypes.
5833 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
5834 through to gomp_team_start.
5835 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
5836 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
5837 Adjust gomp_parallel_loop_start callers.
5838 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
5839 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
5840 GOMP_loop_end_cancel): New functions.
5841 (GOMP_parallel_end): Add ialias_redirect.
5842 * hashtab.h: New file.
5843 * libgomp.texi (Environment Variables): Minor cleanup,
5844 update section refs to OpenMP 4.0rc2.
5845 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
5846 environment variables.
5847 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
5848 team->work_shares_to_free to thr->ts.work_share before calling
5849 free_work_share.
5850 (gomp_work_share_end_cancel): New function.
5851 * config/linux/proc.c: Include errno.h.
5852 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
5853 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
5854 sizeof (cpu_set_t) to determine number of iterations. Fix up check
5855 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
5856 gomp_cpuset_size is sizeof (cpu_set_t).
5857 (gomp_init_num_threads): Initialize gomp_cpuset_size,
5858 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
5859 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
5860 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
5861 contain any logical CPUs.
5862 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
5863 is NULL. Use gomp_cpusetp instead of &cpuset and pass
5864 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
5865 pthread_getaffinity_np. Check gomp_places_list instead of
5866 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
5867 * config/linux/bar.c (gomp_barrier_wait_end,
5868 gomp_barrier_wait_last): Use BAR_* defines.
5869 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
5870 from state where needed. Set work_share_cancelled to 0 on last
5871 thread.
5872 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
5873 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
5874 functions.
5875 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
5876 Add cpusetsize argument.
5877 (gomp_cpuset_size, gomp_cpusetp): Declare.
5878 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
5879 (affinity_counter): Remove.
5880 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
5881 if CPU_ALLOC_SIZE isn't defined.
5882 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
5883 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
5884 bind current thread to the first place.
5885 (gomp_init_thread_affinity): Rewritten. Add place argument, just
5886 pthread_setaffinity_np to gomp_places_list[place].
5887 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5888 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5889 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5890 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
5891 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
5892 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
5893 (gomp_barrier_t): Add awaited_final field.
5894 (gomp_barrier_init): Initialize awaited_final field.
5895 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
5896 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
5897 prototypes.
5898 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
5899 defines.
5900 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
5901 gomp_team_barrier_cancelled): New inline functions.
5902 (gomp_barrier_last_thread,
5903 gomp_team_barrier_set_task_pending,
5904 gomp_team_barrier_clear_task_pending,
5905 gomp_team_barrier_set_waiting_for_tasks,
5906 gomp_team_barrier_waiting_for_tasks,
5907 gomp_team_barrier_done): Use BAR_* defines.
5908 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
5909 (gomp_barrier_wait_end): Use BAR_* defines.
5910 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
5911 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
5912 Use BAR_* defines.
5913 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
5914 gomp_team_barrier_cancel): New functions.
5915 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
5916 argument.
5917 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5918 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5919 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5920 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
5921 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
5922 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
5923 (gomp_barrier_t): Add cancellable field.
5924 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
5925 gomp_team_barrier_cancel): New prototypes.
5926 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
5927 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
5928 gomp_team_barrier_cancelled): New inline functions.
5929 (gomp_barrier_wait_start, gomp_barrier_last_thread,
5930 gomp_team_barrier_set_task_pending,
5931 gomp_team_barrier_clear_task_pending,
5932 gomp_team_barrier_set_waiting_for_tasks,
5933 gomp_team_barrier_waiting_for_tasks,
5934 gomp_team_barrier_done): Use BAR_* defines.
5935 * barrier.c (GOMP_barrier_cancel): New function.
5936 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
5937 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
5938 omp_proc_bind_spread): New params.
5939 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5940 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5941 omp_get_team_num, omp_is_initial_device): New externals.
5942 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
5943 New functions.
5944 (gomp_resolve_num_threads): Adjust for thread_limit now being in
5945 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
5946 infinity. If not nested, just return minimum of max_num_threads
5947 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
5948 to the returned value. Otherwise, don't update atomically
5949 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
5950 (GOMP_parallel_end): Adjust for thread_limit now being in
5951 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
5952 infinity. Adjust threads_busy in the pool rather than
5953 gomp_remaining_threads_count. Remember team->nthreads and call
5954 gomp_team_end before adjusting threads_busy, if not nested
5955 afterwards, just set it to 1 non-atomically. Add ialias.
5956 (GOMP_parallel_start): Adjust gomp_team_start caller.
5957 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
5958 * testsuite/libgomp.c/affinity-1.c: New test.
5959 * testsuite/libgomp.c/atomic-15.c: New test.
5960 * testsuite/libgomp.c/atomic-16.c: New test.
5961 * testsuite/libgomp.c/atomic-17.c: New test.
5962 * testsuite/libgomp.c/cancel-for-1.c: New test.
5963 * testsuite/libgomp.c/cancel-for-2.c: New test.
5964 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
5965 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
5966 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
5967 * testsuite/libgomp.c/cancel-sections-1.c: New test.
5968 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
5969 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
5970 * testsuite/libgomp.c/depend-1.c: New test.
5971 * testsuite/libgomp.c/depend-2.c: New test.
5972 * testsuite/libgomp.c/depend-3.c: New test.
5973 * testsuite/libgomp.c/depend-4.c: New test.
5974 * testsuite/libgomp.c/for-1.c: New test.
5975 * testsuite/libgomp.c/for-1.h: New file.
5976 * testsuite/libgomp.c/for-2.c: New test.
5977 * testsuite/libgomp.c/for-2.h: New file.
5978 * testsuite/libgomp.c/for-3.c: New test.
5979 * testsuite/libgomp.c/pr58392.c: New test.
5980 * testsuite/libgomp.c/simd-1.c: New test.
5981 * testsuite/libgomp.c/simd-2.c: New test.
5982 * testsuite/libgomp.c/simd-3.c: New test.
5983 * testsuite/libgomp.c/simd-4.c: New test.
5984 * testsuite/libgomp.c/simd-5.c: New test.
5985 * testsuite/libgomp.c/simd-6.c: New test.
5986 * testsuite/libgomp.c/target-1.c: New test.
5987 * testsuite/libgomp.c/target-2.c: New test.
5988 * testsuite/libgomp.c/target-3.c: New test.
5989 * testsuite/libgomp.c/target-4.c: New test.
5990 * testsuite/libgomp.c/target-5.c: New test.
5991 * testsuite/libgomp.c/target-6.c: New test.
5992 * testsuite/libgomp.c/target-7.c: New test.
5993 * testsuite/libgomp.c/taskgroup-1.c: New test.
5994 * testsuite/libgomp.c/thread-limit-1.c: New test.
5995 * testsuite/libgomp.c/thread-limit-2.c: New test.
5996 * testsuite/libgomp.c/thread-limit-3.c: New test.
5997 * testsuite/libgomp.c/udr-1.c: New test.
5998 * testsuite/libgomp.c/udr-2.c: New test.
5999 * testsuite/libgomp.c/udr-3.c: New test.
6000 * testsuite/libgomp.c++/affinity-1.C: New test.
6001 * testsuite/libgomp.c++/atomic-10.C: New test.
6002 * testsuite/libgomp.c++/atomic-11.C: New test.
6003 * testsuite/libgomp.c++/atomic-12.C: New test.
6004 * testsuite/libgomp.c++/atomic-13.C: New test.
6005 * testsuite/libgomp.c++/atomic-14.C: New test.
6006 * testsuite/libgomp.c++/atomic-15.C: New test.
6007 * testsuite/libgomp.c++/cancel-for-1.C: New test.
6008 * testsuite/libgomp.c++/cancel-for-2.C: New test.
6009 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
6010 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
6011 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
6012 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
6013 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
6014 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
6015 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
6016 * testsuite/libgomp.c++/cancel-test.h: New file.
6017 * testsuite/libgomp.c++/for-9.C: New test.
6018 * testsuite/libgomp.c++/for-10.C: New test.
6019 * testsuite/libgomp.c++/for-11.C: New test.
6020 * testsuite/libgomp.c++/simd-1.C: New test.
6021 * testsuite/libgomp.c++/simd-2.C: New test.
6022 * testsuite/libgomp.c++/simd-3.C: New test.
6023 * testsuite/libgomp.c++/simd-4.C: New test.
6024 * testsuite/libgomp.c++/simd-5.C: New test.
6025 * testsuite/libgomp.c++/simd-6.C: New test.
6026 * testsuite/libgomp.c++/simd-7.C: New test.
6027 * testsuite/libgomp.c++/simd-8.C: New test.
6028 * testsuite/libgomp.c++/target-1.C: New test.
6029 * testsuite/libgomp.c++/target-2.C: New test.
6030 * testsuite/libgomp.c++/target-2-aux.cc: New file.
6031 * testsuite/libgomp.c++/target-3.C: New test.
6032 * testsuite/libgomp.c++/taskgroup-1.C: New test.
6033 * testsuite/libgomp.c++/udr-1.C: New test.
6034 * testsuite/libgomp.c++/udr-2.C: New test.
6035 * testsuite/libgomp.c++/udr-3.C: New test.
6036 * testsuite/libgomp.c++/udr-4.C: New test.
6037 * testsuite/libgomp.c++/udr-5.C: New test.
6038 * testsuite/libgomp.c++/udr-6.C: New test.
6039 * testsuite/libgomp.c++/udr-7.C: New test.
6040 * testsuite/libgomp.c++/udr-8.C: New test.
6041 * testsuite/libgomp.c++/udr-9.C: New test.
6042
6043 2013-09-20 Jakub Jelinek <jakub (a] redhat.com>
6044
6045 PR testsuite/57605
6046 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
6047 ALWAYS_CFLAGS.
6048
6049 2013-09-20 Alan Modra <amodra (a] gmail.com>
6050
6051 * configure: Regenerate.
6052
6053 2013-09-19 Jakub Jelinek <jakub (a] redhat.com>
6054
6055 * testsuite/libgomp.c/sections-2.c: New test.
6056
6057 2013-06-28 Marcus Shawcroft <marcus.shawcroft (a] arm.com>
6058
6059 * testsuite/libgomp.fortran/strassen.f90:
6060 Add dg-skip-if aarch64_tiny.
6061
6062 2013-06-20 Iain Sandoe <iain (a] codesourcery.com>
6063 Cesar Philippidis <cesar (a] codesourcery.com>
6064
6065 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
6066 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
6067 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
6068 * testsuite/libgomp.fortran/fortran.exp: Likewise.
6069 * testsuite/libgomp.graphite/graphite.exp: Likewise.
6070 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
6071 Use dg-runtest rather than gfortran-dg-runtest.
6072
6073 2013-06-10 Thomas Schwinge <thomas (a] codesourcery.com>
6074
6075 * testsuite/libgomp.c/icv-2.c: Extend current handling of
6076 Linux-based x86 systems to cover all GNU systems.
6077 * testsuite/libgomp.c/lock-3.c: Likewise.
6078 * testsuite/libgomp.c/pr48591.c: Likewise.
6079
6080 2013-06-06 Thomas Schwinge <thomas (a] codesourcery.com>
6081
6082 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
6083 GNU/Hurd, as done for Linux-based systems.
6084
6085 * config/posix/ptrlock.h: Fix comment.
6086
6087 2013-05-27 Tobias Burnus <burnus (a] net-b.de>
6088
6089 PR fortran/57423
6090 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
6091 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
6092 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
6093 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
6094 omp_destroy_nest_lock): Correct arguments to match the one in
6095 the OpenMP spec.
6096 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
6097 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
6098 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
6099 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
6100
6101 2013-05-16 Jakub Jelinek <jakub (a] redhat.com>
6102
6103 * testsuite/libgomp.c/loop-13.c: New test.
6104 * testsuite/libgomp.c/loop-14.c: New test.
6105 * testsuite/libgomp.c/loop-15.c: New test.
6106 * testsuite/libgomp.c++/loop-13.C: New test.
6107 * testsuite/libgomp.c++/loop-14.C: New test.
6108 * testsuite/libgomp.c++/loop-15.C: New test.
6109
6110 2013-02-06 Jakub Jelinek <jakub (a] redhat.com>
6111
6112 PR middle-end/56217
6113 * testsuite/libgomp.c++/pr56217.C: New test.
6114
6115 2013-02-01 Alan Modra <amodra (a] gmail.com>
6116
6117 * task.c (GOMP_task, GOMP_taskwait): Comment.
6118
6119 2013-01-31 Dmitry Vyukov <dvyukov (a] gcc.gnu.org>
6120 Joost VandeVondele <Joost.VandeVondele (a] mat.ethz.ch>
6121
6122 PR libgomp/55561
6123 * config/linux/wait.h (do_spin): Use atomic load for addr.
6124 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
6125 for intptr and ptrlock.
6126 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
6127 for ptrlock.
6128
6129 2013-01-22 Alan Modra <amodra (a] gmail.com>
6130
6131 PR libgomp/51376
6132 PR libgomp/56073
6133 * task.c (GOMP_task): Revert 2011-12-09 change.
6134 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
6135 barrier to read task->children..
6136 (gomp_barrier_handle_tasks): ..and matching atomic store with
6137 release barrier here when setting parent->children to NULL.
6138
6139 2013-01-16 Jakub Jelinek <jakub (a] redhat.com>
6140 Tobias Burnus <burnus (a] net-b.de>
6141
6142 PR driver/55884
6143 * testsuite/libgomp.fortran/fortran.exp: Use
6144 -fintrinsic-modules-path= instead of
6145 -fintrinsic-modules-path.
6146
6147 2013-01-14 Richard Sandiford <rdsandiford (a] googlemail.com>
6148
6149 Update copyright years.
6150
6151 2012-12-19 Tobias Burnus <burnus (a] net-b.de>
6152
6153 * testsuite/libgomp.fortran/fortran.exp: Set
6154 -fintrinsic-modules-path.
6155
6156 2012-12-19 Tobias Burnus <burnus (a] net-b.de>
6157
6158 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
6159 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
6160
6161 2012-11-21 Jakub Jelinek <jakub (a] redhat.com>
6162
6163 PR libgomp/55411
6164 * team.c (gomp_free_thread): Decrease gomp_managed_threads
6165 if pool had any threads_used.
6166
6167 2012-11-07 Jack Howarth <howarth (a] bromo.med.uc.edu>
6168
6169 * testsuite/libgomp.c++/pr24455.C: Use
6170 -Wl,-undefined,dynamic_lookup on darwin.
6171
6172 2012-11-07 David Edelsohn <dje.gcc (a] gmail.com>
6173
6174 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
6175
6176 2012-10-24 Dominique d'Humieres <dominiq (a] lps.ens.fr>
6177
6178 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
6179
6180 2012-10-23 Ian Bolton <ian.bolton (a] arm.com>
6181 Jim MacArthur <jim.macarthur (a] arm.com>
6182 Marcus Shawcroft <marcus.shawcroft (a] arm.com>
6183 Nigel Stephens <nigel.stephens (a] arm.com>
6184 Ramana Radhakrishnan <ramana.radhakrishnan (a] arm.com>
6185 Richard Earnshaw <rearnsha (a] arm.com>
6186 Sofiane Naci <sofiane.naci (a] arm.com>
6187 Stephen Thomas <stephen.thomas (a] arm.com>
6188 Tejas Belagod <tejas.belagod (a] arm.com>
6189 Yufeng Zhang <yufeng.zhang (a] arm.com>
6190
6191 * configure.tgt: Add AArch64.
6192
6193 2012-10-04 Jason Merrill <jason (a] redhat.com>
6194
6195 * testsuite/libgomp.c++/tls-init1.C: New.
6196
6197 2012-09-14 David Edelsohn <dje.gcc (a] gmail.com>
6198
6199 * configure: Regenerated.
6200
6201 2012-08-29 Chung-Lin Tang <cltang (a] codesourcery.com>
6202
6203 * config/linux/mips/futex.h (sys_futex0): Change to static
6204 function with noinline, nomips16 attributes under MIPS16. Adjust
6205 asm statement to place 'li v0,SYS_futex' immediately before
6206 syscall insn.
6207
6208 2012-07-04 Sandra Loosemore <sandra (a] codesourcery.com>
6209
6210 * libgomp.texi (Library Index): Renamed from "Index" to prevent
6211 conflict with index.html on case-insensitive file systems.
6212
6213 2012-07-03 Uros Bizjak <ubizjak (a] gmail.com>
6214
6215 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
6216 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
6217
6218 2012-07-02 Richard Guenther <rguenther (a] suse.de>
6219 Michael Matz <matz (a] suse.de>
6220 Tobias Grosser <tobias (a] grosser.es>
6221 Sebastian Pop <sebpop (a] gmail.com>
6222
6223 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
6224 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6225 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6226 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6227
6228 2012-06-28 Andreas Schwab <schwab (a] linux-m68k.org>
6229
6230 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
6231
6232 2012-06-22 Richard Guenther <rguenther (a] suse.de>
6233
6234 Merge from graphite branch
6235 2012-01-13 Tobias Grosser <tobias (a] grosser.es>
6236
6237 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
6238 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6239
6240 2012-06-07 Jakub Jelinek <jakub (a] redhat.com>
6241
6242 PR middle-end/53580
6243 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
6244 use GOMP_barrier () call instead.
6245 * testsuite/libgomp.c/pr26943-3.c: Likewise.
6246 * testsuite/libgomp.c/pr26943-4.c: Likewise.
6247 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
6248 call GOMP_barrier instead.
6249 * testsuite/libgomp.fortran/vla5.f90: Likewise.
6250
6251 2012-06-06 Jakub Jelinek <jakub (a] redhat.com>
6252
6253 PR libgomp/52993
6254 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
6255 argument to memset call.
6256
6257 2012-05-16 H.J. Lu <hongjiu.lu (a] intel.com>
6258
6259 * configure: Regenerated.
6260
6261 2012-04-11 Manuel Lpez-Ibez <manu (a] gcc.gnu.org>
6262
6263 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
6264
6265 2012-03-31 H.J. Lu <hongjiu.lu (a] intel.com>
6266
6267 PR bootstrap/52812
6268 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
6269
6270 2012-03-22 Jakub Jelinek <jakub (a] redhat.com>
6271
6272 PR middle-end/52547
6273 * testsuite/libgomp.c/pr52547.c: New test.
6274
6275 2012-03-16 Bernhard Reutner-Fischer <aldot (a] gcc.gnu.org>
6276
6277 * testsuite/lib/libgomp.exp: load fortran-modules.exp
6278
6279 2012-03-14 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6280
6281 * configure.tgt (mips-sgi-irix6*): Remove.
6282
6283 2012-03-12 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6284
6285 * configure.tgt (alpha*-dec-osf*): Remove.
6286
6287 * config/osf/sem.h: Remove.
6288 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
6289
6290 2012-02-29 Eric Botcazou <ebotcazou (a] adacore.com>
6291
6292 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
6293
6294 2012-02-27 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6295
6296 PR libstdc++/52188
6297 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
6298 Remove ENABLE_SYMVERS_SOL2.
6299 * configure: Regenerate.
6300 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
6301 (PREPROCESS): New variable.
6302 (libgomp.ver): New target.
6303 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
6304 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
6305 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
6306 Use libgomp.ver.
6307 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
6308 * Makefile.in: Regenerate.
6309
6310 2012-02-14 Walter Lee <walt (a] tilera.com>
6311
6312 * configure.tgt: Handle tilegx and tilepro.
6313 * config/linux/tile/futex.h: New file.
6314
6315 2012-02-08 Richard Guenther <rguenther (a] suse.de>
6316
6317 PR tree-optimization/46886
6318 * testsuite/libgomp.c/pr46886.c: New testcase.
6319
6320 2012-01-25 Matthias Klose <doko (a] ubuntu.com>
6321
6322 * config/linux/arm: Remove empty directory.
6323 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
6324
6325 2011-12-09 Alan Modra <amodra (a] gmail.com>
6326
6327 PR libgomp/51376
6328 * task.c (GOMP_taskwait): Don't access task->children outside of
6329 task_lock mutex region.
6330 (GOMP_task): Likewise.
6331
6332 2011-12-06 Jakub Jelinek <jakub (a] redhat.com>
6333
6334 PR libgomp/51132
6335 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
6336 to file scope.
6337 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6338 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6339 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6340 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6341 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6342
6343 2011-12-02 Alan Modra <amodra (a] gmail.com>
6344
6345 * config/linux/affinity.c: Use atomic rather than sync builtin.
6346 * config/linux/lock.c: Likewise.
6347 * config/linux/ptrlock.h: Likewise.
6348 * config/linux/ptrlock.c: Likewise.
6349 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
6350 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
6351 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
6352 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
6353 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
6354 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
6355 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
6356 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
6357 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
6358 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
6359
6360 2011-11-30 Alan Modra <amodra (a] gmail.com>
6361
6362 PR libgomp/51298
6363 * config/linux/bar.h: Use atomic rather than sync builtins.
6364 * config/linux/bar.c: Likewise. Add missing acquire
6365 synchronisation on generation field.
6366 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
6367 double unlock.
6368
6369 2011-11-30 Alan Modra <amodra (a] gmail.com>
6370
6371 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
6372 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
6373 * config/linux/mutex.h: Use atomic rather than sync builtins.
6374 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
6375 * config/linux/omp-lock.h: Comment fix.
6376 * config/linux/arm/mutex.h: Delete.
6377 * config/linux/powerpc/mutex.h: Delete.
6378 * config/linux/ia64/mutex.h: Delete.
6379 * config/linux/mips/mutex.h: Delete.
6380
6381 2011-11-30 Alan Modra <amodra (a] gmail.com>
6382
6383 PR libgomp/51249
6384 * config/linux/sem.h: Rewrite.
6385 * config/linux/sem.c: Rewrite.
6386
6387 2011-11-28 Richard Henderson <rth (a] redhat.com>
6388
6389 * libgomp.h (enum memmodel): New.
6390
6391 2011-11-21 Andreas Tobler <andreast (a] fgznet.ch>
6392
6393 * configure: Regenerate.
6394
6395 2011-10-10 Matthias Klose <doko (a] ubuntu.com>
6396
6397 * config/posix95: Remove empty directory.
6398
6399 2011-08-26 Jakub Jelinek <jakub (a] redhat.com>
6400
6401 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
6402
6403 2011-08-19 Jakub Jelinek <jakub (a] redhat.com>
6404
6405 PR fortran/49792
6406 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
6407 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
6408
6409 2011-08-08 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6410
6411 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
6412
6413 2011-08-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6414
6415 PR libgomp/49965
6416 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
6417
6418 2011-08-03 Uros Bizjak <ubizjak (a] gmail.com>
6419
6420 * config/linux/proc.h: New.
6421 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
6422 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
6423 (gomp_init_num_threads): Update call to cpuset_popcount.
6424 (get_num_procs): Ditto.
6425 * config/linux/affinity.c (gomp_init_affinity): Call
6426 gomp_cpuset_popcount.
6427
6428 2011-08-02 Jakub Jelinek <jakub (a] redhat.com>
6429
6430 PR fortran/42041
6431 PR fortran/46752
6432 * omp.h.in (omp_in_final): New prototype.
6433 * omp_lib.f90.in (omp_in_final): New interface.
6434 (omp_integer_kind, omp_logical_kind): Remove
6435 and replace all its uses in the module with 4.
6436 (openmp_version): Change to 201107.
6437 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
6438 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
6439 kind for the parameters.
6440 (omp_in_final): New external.
6441 (openmp_version): Change to 201107.
6442 * task.c (omp_in_final): New function.
6443 (gomp_init_task): Initialize final_task.
6444 (GOMP_task): Remove unused attribute from flags. Handle final
6445 tasks.
6446 (GOMP_taskyield): New function.
6447 (omp_in_final): Return true if if (false) or final (true) task
6448 or descendant of final (true).
6449 * fortran.c (omp_in_final_): New function.
6450 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
6451 (GOMP_3.0): Export GOMP_taskyield.
6452 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
6453 variables.
6454 (parse_unsigned_long_list): New function.
6455 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
6456 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
6457 even if parse_affinity returned false.
6458 * config/linux/affinity.c (gomp_init_affinity): Handle
6459 gomp_cpu_affinity_len == 0.
6460 * libgomp_g.h (GOMP_taskyield): New prototype.
6461 * libgomp.h (struct gomp_task): Add final_task field.
6462 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
6463 * team.c (gomp_team_start): Override new task's nthreads_var icv
6464 if list form OMP_NUM_THREADS has been used and it has value for
6465 the new nesting level.
6466
6467 * testsuite/libgomp.c/atomic-11.c: New test.
6468 * testsuite/libgomp.c/atomic-12.c: New test.
6469 * testsuite/libgomp.c/atomic-13.c: New test.
6470 * testsuite/libgomp.c/atomic-14.c: New test.
6471 * testsuite/libgomp.c/reduction-6.c: New test.
6472 * testsuite/libgomp.c/task-5.c: New test.
6473 * testsuite/libgomp.c++/atomic-2.C: New test.
6474 * testsuite/libgomp.c++/atomic-3.C: New test.
6475 * testsuite/libgomp.c++/atomic-4.C: New test.
6476 * testsuite/libgomp.c++/atomic-5.C: New test.
6477 * testsuite/libgomp.c++/atomic-6.C: New test.
6478 * testsuite/libgomp.c++/atomic-7.C: New test.
6479 * testsuite/libgomp.c++/atomic-8.C: New test.
6480 * testsuite/libgomp.c++/atomic-9.C: New test.
6481 * testsuite/libgomp.c++/task-8.C: New test.
6482 * testsuite/libgomp.c++/reduction-4.C: New test.
6483 * testsuite/libgomp.fortran/allocatable7.f90: New test.
6484 * testsuite/libgomp.fortran/allocatable8.f90: New test.
6485 * testsuite/libgomp.fortran/crayptr3.f90: New test.
6486 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
6487 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
6488 * testsuite/libgomp.fortran/pointer1.f90: New test.
6489 * testsuite/libgomp.fortran/pointer2.f90: New test.
6490 * testsuite/libgomp.fortran/task4.f90: New test.
6491
6492 2011-08-02 Tobias Burnus <burnus (a] net-b.de>
6493
6494 * libgomp.texi: Update OpenMP spec references to 3.1.
6495 (omp_in_final,OMP_PROC_BIND): New sections.
6496 (OMP_NUM_THREADS): Document that the value can be now a list.
6497 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
6498
6499 2011-08-02 H.J. Lu <hongjiu.lu (a] intel.com>
6500
6501 * config/linux/x86/futex.h: Check __x86_64__ instead of
6502 __LP64__.
6503
6504 2011-07-29 Jakub Jelinek <jakub (a] redhat.com>
6505
6506 PR middle-end/49897
6507 PR middle-end/49898
6508 * testsuite/libgomp.c/pr49897-1.c: New test.
6509 * testsuite/libgomp.c/pr49897-2.c: New test.
6510 * testsuite/libgomp.c/pr49898-1.c: New test.
6511 * testsuite/libgomp.c/pr49898-2.c: New test.
6512
6513 2011-07-28 H.J. Lu <hongjiu.lu (a] intel.com>
6514
6515 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
6516 for ia32 instead of ilp32.
6517
6518 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
6519 * testsuite/libgomp.c/atomic-6.c: Likewise.
6520
6521 2011-07-23 Sebastian Pop <sebastian.pop (a] amd.com>
6522
6523 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
6524 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
6525
6526 2011-07-25 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6527
6528 PR libgomp/45351
6529 * config/osf/sem.h: New file.
6530 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
6531
6532 2011-07-18 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6533
6534 PR target/49541
6535 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
6536 ldflags.
6537
6538 2011-07-15 Jakub Jelinek <jakub (a] redhat.com>
6539
6540 * config/linux/wait.h (do_spin): New inline, largely copied
6541 from do_wait, just don't do futex_wait here, instead return true if
6542 it should be done.
6543 (do_wait): Implement using do_spin.
6544 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
6545 to prototype.
6546 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
6547 __sync_bool_compare_and_swap, pass the oldval to
6548 gomp_mutex_lock_slow.
6549 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
6550 If all mutex contenders are just spinning and not sleeping, don't
6551 change state to 2 unnecessarily. Optimize the loop when state has
6552 already become 2 to use just one atomic operation per loop instead
6553 of two.
6554 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
6555 to prototype.
6556 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
6557 __sync_bool_compare_and_swap, pass the oldval to
6558 gomp_mutex_lock_slow.
6559
6560 2011-06-22 Jakub Jelinek <jakub (a] redhat.com>
6561
6562 PR libgomp/49490
6563 * iter.c (gomp_iter_static_next): For chunk size 0
6564 only use n ceil/ nthreads size for the first
6565 n % nthreads threads in the team instead of
6566 all threads except for the last few ones which
6567 get less work or none at all.
6568 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
6569 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
6570 chunk argument, set run_sched_modifier to 0 for static
6571 resp. 1 for other kinds. If chunk argument is 0
6572 and not static, set value to 1.
6573
6574 2011-05-19 Jakub Jelinek <jakub (a] redhat.com>
6575
6576 PR c++/49043
6577 * testsuite/libgomp.c++/pr49043.C: New test.
6578
6579 PR c++/48869
6580 * testsuite/libgomp.c++/pr48869.C: New test.
6581
6582 2011-05-06 Jakub Jelinek <jakub (a] redhat.com>
6583
6584 PR fortran/48894
6585 * fortran.c: Include limits.h.
6586 (TO_INT): Define.
6587 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
6588 *set.
6589 (omp_set_num_threads_8_, omp_set_schedule_8_,
6590 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
6591 omp_get_team_size_8_): Use TO_INT macro.
6592 * testsuite/libgomp.fortran/pr48894.f90: New test.
6593
6594 2011-04-13 Jakub Jelinek <jakub (a] redhat.com>
6595
6596 PR middle-end/48591
6597 * testsuite/libgomp.c/pr48591.c: New test.
6598
6599 2011-03-21 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6600
6601 PR bootstrap/48135
6602 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
6603 * configure: Regenerate.
6604
6605 2011-02-27 Jakub Jelinek <jakub (a] redhat.com>
6606
6607 PR fortran/47886
6608 * testsuite/libgomp.fortran/task3.f90: New test.
6609
6610 2011-02-24 Tobias Burnus <burnus (a] net-b.de>
6611
6612 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
6613
6614 2011-02-23 Jakub Jelinek <jakub (a] redhat.com>
6615
6616 PR libgomp/47854
6617 * libgomp.texi (omp_get_wtime): Don't say time in the past
6618 must be Unix Epoch.
6619
6620 2011-02-18 Jakub Jelinek <jakub (a] redhat.com>
6621
6622 PR libgomp/47804
6623 * testsuite/libgomp.fortran/fortran.exp: Check for both
6624 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
6625 but $blddir != "", still append ${blddir}/${lang_library_path}
6626 to ld_library_path.
6627
6628 2011-02-16 Tobias Burnus <burnus (a] net-b.de>
6629
6630 PR libgomp/47758
6631 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
6632 of libquadmath.a before adding its libpath to ldflags.
6633
6634 2011-02-14 Jakub Jelinek <jakub (a] redhat.com>
6635
6636 PR libgomp/47731
6637 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
6638 to FUTEX_WAIT futex syscall.
6639 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
6640
6641 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
6642
6643 * configure: Regenerate.
6644
6645 2011-01-20 Benjamin Kosnik <bkoz (a] redhat.com>
6646
6647 PR libstdc++/36104
6648 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
6649
6650 2011-01-16 Gerald Pfeifer
6651
6652 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
6653
6654 2010-12-14 Jakub Jelinek <jakub (a] redhat.com>
6655
6656 PR fortran/46874
6657 * libgomp.fortran/allocatable6.f90: New test.
6658
6659 2010-12-06 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6660
6661 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
6662 * configure: Regenerate.
6663
6664 2010-12-06 Dave Korn <dave.korn.cygwin (a] gmail.com>
6665
6666 PR target/40125
6667 PR lto/46695
6668 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
6669 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
6670 * aclocal.m4: Regenerate.
6671 * configure: Regenerate.
6672 * Makefile.in: Regenerate.
6673 * testsuite/Makefile.in: Regenerate.
6674
6675 2010-12-02 Jakub Jelinek <jakub (a] redhat.com>
6676
6677 PR fortran/46753
6678 * libgomp.fortran/pr46753.f90: New test.
6679
6680 PR libgomp/43706
6681 * env.c (initialize_env): Default to spin count 300000
6682 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
6683 is specified.
6684
6685 PR libgomp/45240
6686 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
6687 at the end if sync builtins aren't supported.
6688
6689 2010-12-01 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6690
6691 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
6692
6693 2010-12-01 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6694
6695 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
6696
6697 2010-11-24 Iain Sandoe <iains (a] gcc.gnu.org>
6698
6699 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
6700
6701 2010-11-16 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
6702 Tobias Burnus <burnus (a] net-b.de>
6703
6704 PR fortran/32049
6705 * configure.ac:
6706 * configure: Regenerate.
6707
6708 2010-10-06 Marcus Shawcroft <marcus.shawcroft (a] arm.com>
6709
6710 * config/linux/futex.h: New.
6711 * config/linux/arm/mutex.h: New.
6712 * configure.tgt (arm*-*-linux*): Add config path.
6713
6714 2010-09-30 Sebastian Pop <sebastian.pop (a] amd.com>
6715
6716 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
6717
6718 2010-09-23 Tobias Burnus <burnus (a] net-b.de>
6719
6720 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
6721 Change Fortran datatype to LOGICAL.
6722 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
6723 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
6724
6725 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
6726
6727 * configure: Regenerate.
6728
6729 2010-07-26 Jakub Jelinek <jakub (a] redhat.com>
6730
6731 * libgomp.texi: Add function keyword to a couple of Fortran
6732 interfaces, use integer instead of int for Fortran.
6733
6734 2010-07-26 Aldy Hernandez <aldyh (a] redhat.com>
6735
6736 * libgomp.texi: Fix spelling and pasto problems throughout.
6737 Adjust prototypes to match code.
6738
6739 2010-07-24 Tobias Burnus <burnus (a] net-b.de>
6740
6741 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
6742 silence -fwhole-file warning.
6743
6744 2010-07-23 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6745
6746 * configure.tgt (*-*-solaris2.[56]*): Removed.
6747
6748 2010-07-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6749
6750 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
6751 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
6752 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
6753 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
6754 targetting solaris2*.
6755 * configure: Regenerate.
6756 * config.h.in: Regenerate.
6757
6758 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
6759 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
6760 Add libgomp_version_dep.
6761 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
6762 versioning.
6763 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
6764 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
6765 * Makefile.in: Regenerate.
6766
6767 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
6768 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
6769 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
6770 to common block, protected by
6771 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
6772
6773 2010-06-10 Gerald Pfeifer <gerald (a] pfeifer.com>
6774
6775 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
6776
6777 2010-06-09 Iain Sandoe <iains (a] gcc.gnu.org>
6778
6779 PR bootstrap/43170
6780 * configure: Regenerate.
6781
6782 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
6783
6784 PR other/43620
6785 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
6786 * configure: Regenerate.
6787 * Makefile.in: Regenerate.
6788 * testsuite/Makefile.in: Regenerate.
6789
6790 2010-04-26 Jakub Jelinek <jakub (a] redhat.com>
6791
6792 PR c/43893
6793 * testsuite/libgomp.c/pr43893.c: New test.
6794 * testsuite/libgomp.c++/pr43893.C: New test.
6795
6796 2010-04-21 Jakub Jelinek <jakub (a] redhat.com>
6797
6798 PR middle-end/43570
6799 * testsuite/libgomp.fortran/vla8.f90: New test.
6800
6801 2010-04-20 Jakub Jelinek <jakub (a] redhat.com>
6802
6803 PR libgomp/43706
6804 * config/linux/affinity.c (gomp_init_affinity): Decrease
6805 gomp_available_cpus if affinity mask confines the process to fewer
6806 CPUs.
6807 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
6808 non-NULL, just return gomp_available_cpus.
6809
6810 PR libgomp/43569
6811 * sections.c (gomp_sections_init): Initialize ws->mode.
6812
6813 2010-04-14 Uros Bizjak <ubizjak (a] gmail.com>
6814
6815 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
6816 not unused bar variable.
6817 * configure: Regenerate.
6818
6819 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
6820
6821 * Makefile.in: Regenerate.
6822 * aclocal.m4: Regenerate.
6823 * testsuite/Makefile.in: Regenerate.
6824
6825 2010-03-22 Jakub Jelinek <jakub (a] redhat.com>
6826
6827 PR libgomp/42942
6828 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
6829 (initialize_env): Adjust callers.
6830 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
6831 when the argument is 0.
6832
6833 * testsuite/libgomp.c/pr42942.c: New test.
6834
6835 2010-03-08 Tobias Grosser <grosser (a] fim.uni-passau.de>
6836
6837 PR middle-end/42644
6838 PR middle-end/42130
6839 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
6840 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
6841
6842 2010-01-29 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6843
6844 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
6845 * testsuite/libgomp.c++/task-6.C: Likewise.
6846
6847 2010-01-28 Steve Ellcey <sje (a] cup.hp.com>
6848
6849 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
6850
6851 2010-01-26 Paolo Bonzini <bonzini (a] gnu.org>
6852
6853 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
6854 * configure: Regenerate.
6855
6856 2010-01-26 Jakub Jelinek <jakub (a] redhat.com>
6857
6858 PR fortran/42866
6859 * testsuite/libgomp.fortran/allocatable5.f90: New test.
6860
6861 2010-01-20 Paolo Bonzini <bonzini (a] gnu.org>
6862
6863 * configure.ac: Test for executability of GFORTRAN.
6864 * configure: Regenerate.
6865
6866 2010-01-05 Rainer Orth <ro (a] CeBiTec.Uni-Bielefeld.DE>
6867
6868 * configure: Regenerate.
6869
6870 2010-01-04 H.J. Lu <hongjiu.lu (a] intel.com>
6871
6872 PR libgomp/42602
6873 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
6874
6875 2010-01-03 Richard Guenther <rguenther (a] suse.de>
6876
6877 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
6878
6879 2009-12-23 Sebastian Pop <sebpop (a] gmail.com>
6880
6881 * testsuite/libgomp.graphite/pr4118.c: New.
6882
6883 2009-12-22 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk>
6884
6885 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
6886 for darwin, protect the test with require-effective-target tls_runtime.
6887 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
6888
6889 2009-12-22 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk>
6890
6891 PR target/41605
6892 * testsuite/lib/libgomp.exp: Provide -B options to allow for
6893 link spec %s substitutions for static libraries.
6894
6895 2009-12-18 Jack Howarth <howarth (a] bromo.med.uc.edu>
6896
6897 PR testsuite/42135
6898 * libgomp.graphite/force-parallel-2.c: Reduce array size.
6899
6900 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
6901
6902 * Makefile.in: Regenerate.
6903 * configure: Regenerate.
6904 * testsuite/Makefile.in: Regenerate.
6905
6906 2009-11-30 Dave Korn <dave.korn.cygwin (a] gmail.com>
6907
6908 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
6909 settings for LC_ALL and LANG.
6910
6911 2009-11-25 Jakub Jelinek <jakub (a] redhat.com>
6912
6913 PR fortran/42162
6914 * testsuite/libgomp.fortran/pr42162.f90: New test.
6915
6916 2009-11-13 Jakub Jelinek <jakub (a] redhat.com>
6917
6918 PR middle-end/42029
6919 * testsuite/libgomp.c/pr42029.c: New test.
6920
6921 2009-10-26 Jakub Jelinek <jakub (a] redhat.com>
6922
6923 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
6924 *s. Accept ld version without text in ()s.
6925 * configure: Regenerated.
6926
6927 2009-10-22 Razya Ladelsky <razya (a] il.ibm.com>
6928
6929 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
6930
6931 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
6932
6933 PR libgomp/41418
6934 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
6935 or a hyphen (happens with fortran language disabled).
6936 * configure: Regenerate.
6937
6938 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
6939
6940 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
6941 use sed script portable to Solaris /bin/sed for extracting ld
6942 version.
6943 * configure: Regenerate.
6944
6945 2009-09-17 Alexander Monakov <amonakov (a] ispras.ru>
6946
6947 * testsuite/libgomp.graphite/bounds.c: New test.
6948
6949 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
6950
6951 * Makefile.am (libgomp_la_LINK): New.
6952 * Makefile.in: Regenerate.
6953
6954 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
6955
6956 * configure.ac (AC_PREREQ): Bump to 2.64.
6957
6958 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
6959
6960 * Makefile.am (install-html, install-pdf): Remove.
6961 * Makefile.in: Regenerate.
6962
6963 * Makefile.in: Regenerate.
6964 * aclocal.m4: Regenerate.
6965 * config.h.in: Regenerate.
6966 * configure: Regenerate.
6967 * testsuite/Makefile.in: Regenerate.
6968
6969 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
6970
6971 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
6972 * Makefile.in: Regenerate.
6973
6974 2009-08-20 Dave Korn <dave.korn.cygwin (a] gmail.com>
6975
6976 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
6977 * Makefile.in: Regenerate.
6978
6979 2009-08-19 Tobias Burnus <burnus (a] net-b.de>
6980
6981 PR fortran/41102
6982 omp_lib.h.in: Fix -std=f95 errors.
6983
6984 2009-08-14 David Edelsohn <edelsohn (a] gnu.org>
6985
6986 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
6987 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
6988 * testsuite/libgomp.graphite/graphite.exp: New.
6989
6990 2009-08-05 Andreas Tobler <a.tobler (a] schweiz.org>
6991
6992 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
6993 only build.
6994
6995 2009-08-04 David Daney <ddaney (a] caviumnetworks.com>
6996
6997 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
6998 needed memory barrier semantics.
6999 * config/linux/mips/mutex.h: New file.
7000
7001 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
7002
7003 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
7004
7005 2009-07-16 Joseph Myers <joseph (a] codesourcery.com>
7006
7007 * configure: Regenerate.
7008
7009 2009-07-11 Richard Sandiford <rdsandiford (a] googlemail.com>
7010
7011 PR testsuite/40699
7012 PR testsuite/40707
7013 PR testsuite/40709
7014 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
7015 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
7016 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
7017
7018 2009-07-02 Richard Sandiford <r.sandiford (a] uk.ibm.com>
7019
7020 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
7021 options when choosing a multilib.
7022
7023 2009-06-30 Richard Sandiford <r.sandiford (a] uk.ibm.com>
7024
7025 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
7026 ld_library_path. Use add_path. Add just find_libgcc_s to
7027 ld_library_path, not every libgcc multilib directory.
7028 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
7029 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
7030 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
7031 Use add_path.
7032 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
7033
7034 2009-06-09 Nathan Froyd <froydnj (a] codesourcery.com>
7035
7036 * Makefile.am (LTLDFLAGS): Define.
7037 (LINK): Define.
7038 * Makefile.in: Regenerate.
7039
7040 2009-05-27 Janne Blomqvist <jb (a] gcc.gnu.org>
7041
7042 PR fortran/39718
7043 * testsuite/libgomp.fortran/fortran.exp: Don't link with
7044 libgfortranbegin, check existence of libgfortran.a instead of
7045 libgfortranbegin.a.
7046
7047 2009-05-20 Jakub Jelinek <jakub (a] redhat.com>
7048
7049 PR libgomp/40174
7050 * team.c (gomp_thread_start): Destroy thr->release semaphore.
7051 (gomp_free_pool_helper): Likewise.
7052
7053 2009-04-20 Vasilis Liaskovitis <vliaskov (a] gmail.com>
7054 Jakub Jelinek <jakub (a] redhat.com>
7055
7056 PR fortran/35423
7057 * testsuite/libgomp.fortran/workshare2.f90: New test.
7058
7059 2009-04-09 Nick Clifton <nickc (a] redhat.com>
7060
7061 * iter.c: Change copyright header to refer to version 3 of the
7062 GNU General Public License with version 3.1 of the GCC Runtime
7063 Library Exception and to point readers at the COPYING3 and
7064 COPYING3.RUNTIME files and the FSF's license web page.
7065 * alloc.c: Likewise.
7066 * barrier.c: Likewise.
7067 * config/bsd/proc.c: Likewise.
7068 * config/linux/affinity.c: Likewise.
7069 * config/linux/alpha/futex.h: Likewise.
7070 * config/linux/bar.c: Likewise.
7071 * config/linux/bar.h: Likewise.
7072 * config/linux/ia64/futex.h: Likewise.
7073 * config/linux/ia64/mutex.h: Likewise.
7074 * config/linux/lock.c: Likewise.
7075 * config/linux/mips/futex.h: Likewise.
7076 * config/linux/mutex.c: Likewise.
7077 * config/linux/mutex.h: Likewise.
7078 * config/linux/powerpc/futex.h: Likewise.
7079 * config/linux/proc.c: Likewise.
7080 * config/linux/ptrlock.c: Likewise.
7081 * config/linux/ptrlock.h: Likewise.
7082 * config/linux/s390/futex.h: Likewise.
7083 * config/linux/sem.c: Likewise.
7084 * config/linux/sem.h: Likewise.
7085 * config/linux/sparc/futex.h: Likewise.
7086 * config/linux/wait.h: Likewise.
7087 * config/linux/x86/futex.h: Likewise.
7088 * config/mingw32/proc.c: Likewise.
7089 * config/mingw32/time.c: Likewise.
7090 * config/posix/affinity.c: Likewise.
7091 * config/posix/bar.c: Likewise.
7092 * config/posix/bar.h: Likewise.
7093 * config/posix/lock.c: Likewise.
7094 * config/posix/mutex.h: Likewise.
7095 * config/posix/proc.c: Likewise.
7096 * config/posix/ptrlock.h: Likewise.
7097 * config/posix/sem.c: Likewise.
7098 * config/posix/sem.h: Likewise.
7099 * config/posix/time.c: Likewise.
7100 * config/posix95/lock.c: Likewise.
7101 * critical.c: Likewise.
7102 * env.c: Likewise.
7103 * error.c: Likewise.
7104 * fortran.c: Likewise.
7105 * iter_ull.c: Likewise.
7106 * libgomp.h: Likewise.
7107 * libgomp_f.h.in: Likewise.
7108 * libgomp_g.h: Likewise.
7109 * loop.c: Likewise.
7110 * loop_ull.c: Likewise.
7111 * omp.h.in: Likewise.
7112 * omp_lib.f90.in: Likewise.
7113 * omp_lib.h.in: Likewise.
7114 * ordered.c: Likewise.
7115 * parallel.c: Likewise.
7116 * sections.c: Likewise.
7117 * single.c: Likewise.
7118 * task.c: Likewise.
7119 * team.c: Likewise.
7120 * work.c: Likewise.
7121
7122 2009-04-09 Jakub Jelinek <jakub (a] redhat.com>
7123
7124 * testsuite/config/default.exp: Change copyright header to refer to
7125 version 3 of the GNU General Public License and to point readers
7126 at the COPYING3 file and the FSF's license web page.
7127
7128 2009-04-08 Jakub Jelinek <jakub (a] redhat.com>
7129
7130 PR middle-end/39573
7131 * libgomp.c++/pr39573.C: New test.
7132
7133 2009-04-01 Jakub Jelinek <jakub (a] redhat.com>
7134
7135 PR other/39591
7136 * testsuite/libgomp.c/pr39591-1.c: New test.
7137 * testsuite/libgomp.c/pr39591-2.c: New test.
7138 * testsuite/libgomp.c/pr39591-3.c: New test.
7139
7140 2009-03-25 Uros Bizjak <ubizjak (a] gmail.com>
7141
7142 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
7143 * testsuite/libgomp.c/atomic-6.c: Ditto.
7144
7145 2009-03-23 Jakub Jelinek <jakub (a] redhat.com>
7146
7147 PR c/39495
7148 * testsuite/libgomp.c/loop-12.c: New test.
7149 * testsuite/libgomp.c/loop-11.c: New test.
7150 * testsuite/libgomp.c++/loop-11.C: New test.
7151 * testsuite/libgomp.c++/loop-12.C: New test.
7152 * testsuite/libgomp.c++/for-8.C: New test.
7153
7154 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
7155
7156 * configure: Regenerate.
7157
7158 2009-02-11 Jakub Jelinek <jakub (a] redhat.com>
7159
7160 PR middle-end/39154
7161 * testsuite/libgomp.c/pr39154.c: New test.
7162
7163 2009-01-30 Ian Lance Taylor <iant (a] google.com>
7164
7165 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
7166 libgomp_ld_is_gold. Get gold version number.
7167 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
7168 * configure: Rebuild.
7169
7170 2009-01-19 Iain Sandoe <iain.sandoe (a] sandoe-acoustics.co.uk>
7171
7172 * testsuite/lib/libgomp.exp: Add -B option for targets that
7173 use libgfortran.a%s in their specs.
7174
7175 2009-01-07 Jakub Jelinek <jakub (a] redhat.com>
7176
7177 PR libgomp/38086
7178 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
7179 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
7180 HAVE_AS_SYMVER_DIRECTIVE is not defined.
7181 * configure: Regenerated.
7182 * config.h.in: Likewise.
7183
7184 2008-12-28 Jakub Jelinek <jakub (a] redhat.com>
7185
7186 PR c++/38650
7187 * testsuite/libgomp.c/pr38650.c: New test.
7188 * testsuite/libgomp.c++/pr38650.C: New test.
7189
7190 2008-12-27 Jakub Jelinek <jakub (a] redhat.com>
7191
7192 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
7193
7194 2008-12-26 Uros Bizjak <ubizjak (a] gmail.com>
7195
7196 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
7197
7198 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
7199
7200 * configure: Regenerate.
7201
7202 2008-12-08 Jakub Jelinek <jakub (a] redhat.com>
7203
7204 PR middle-end/36802
7205 * testsuite/libgomp.c/pr36802-1.c: New test.
7206 * testsuite/libgomp.c/pr36802-2.c: New test.
7207 * testsuite/libgomp.c/pr36802-3.c: New test.
7208
7209 2008-12-01 Janis Johnson <janis187 (a] us.ibm.com>
7210
7211 PR libgomp/38270
7212 * config/linux/powerpc/mutex.h: New.
7213
7214 2008-12-01 Jakub Jelinek <jakub (a] redhat.com>
7215
7216 PR c++/38257
7217 * testsuite/libgomp.c++/for-7.C: New test.
7218
7219 PR c++/38348
7220 * testsuite/libgomp.c++/for-6.C: New test.
7221
7222 2008-11-26 Janis Johnson <janis187 (a] us.ibm.com>
7223
7224 PR testsuite/28870
7225 * testsuite/lib/libgomp.exp: Include new timeout library files.
7226 (libgomp_target_compile): Set timeout value from new proc.
7227
7228 2008-11-13 Steve Ellcey <sje (a] cup.hp.com>
7229
7230 PR libgomp/37938
7231 * config/linux/ia64/mutex.h: New.
7232
7233 2008-11-04 Tobias Burnus <burnus (a] net-b.de>
7234
7235 PR libgomp/37935
7236 * libgomp.texi (Runtime library routines, environment variables):
7237 Update for OpenMP version 3.0.
7238
7239 2008-09-26 Peter O'Gorman <pogma (a] thewrittenword.com>
7240 Steve Ellcey <sje (a] cup.hp.com>
7241
7242 * configure: Regenerate for new libtool.
7243 * Makefile.in: Ditto.
7244 * testsuite/Makefile.in: Ditto.
7245
7246 2008-09-19 Jakub Jelinek <jakub (a] redhat.com>
7247 Andreas Tobler <a.tobler (a] schweiz.org>
7248
7249 * config/bsd/proc.c: New file.
7250 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
7251 * configure.ac: Check for header <sys/sysctl.h>
7252 * configure: Regenerate.
7253 * config.h.in: Likewise.
7254
7255 2008-09-05 Janis Johnson <janis187 (a] us.ibm.com>
7256
7257 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
7258
7259 2008-08-31 Aaron W. LaFramboise <aaronavay62 (a] aaronwl.com>
7260
7261 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
7262 * Makefile.in: Regenerated.
7263 * testsuite/Makefile.in: Regenerated.
7264
7265 2008-08-21 Nathan Froyd <froydnj (a] codesourcery.com>
7266
7267 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
7268 depend on blddir if blddir exists.
7269 (libgomp_target_compile): Likewise.
7270 * testsuite/libgomp.c++/c++.exp: Likewise.
7271 * testsuite/libgomp.fortran/fortran.exp: Likewise.
7272
7273 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
7274
7275 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
7276 Do not list GPL as Invariant Section.
7277
7278 2008-07-28 Ilie Garbacea <ilie (a] mips.com>
7279 Chao-ying Fu <fu (a] mips.com>
7280
7281 * configure.tgt: Enable futex for MIPS.
7282 * config/linux/mips/futex.h: New file.
7283
7284 2008-07-16 Jakub Jelinek <jakub (a] redhat.com>
7285
7286 * team.c (gomp_team_end): Free team immediately if it has
7287 just one thread.
7288
7289 2008-07-08 David Edelsohn <edelsohn (a] gnu.org>
7290
7291 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
7292 * testsuite/libgomp.fortran/fortran.exp: Same.
7293 * testsuite/libgomp.c/c.exp: Same.
7294 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
7295 directory to library path first.
7296
7297 2008-06-29 Krister Walfridsson <krister.walfridsson (a] gmail.com>
7298
7299 * env.c (parse_stacksize): Add cast to avoid warning.
7300 (parse_spincount): Likewise.
7301
7302 2008-06-27 Jakub Jelinek <jakub (a] redhat.com>
7303
7304 * testsuite/libgomp.c/loop-10.c: New test.
7305 * libgomp.c/loop-3.c (main): Add lastprivate clause.
7306 * libgomp.c++/loop-6.C (main): Likewise.
7307
7308 PR debug/36617
7309 * testsuite/libgomp.c/debug-1.c: New test.
7310
7311 2008-06-19 Jakub Jelinek <jakub (a] redhat.com>
7312
7313 * testsuite/libgomp.c/nqueens-1.c: New test.
7314
7315 PR c++/36523
7316 * testsuite/libgomp.c++/task-7.C: New function.
7317
7318 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
7319
7320 * configure: Regenerate.
7321
7322 2008-06-15 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca>
7323
7324 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
7325 mutex when HAVE_SYNC_BUILTINS isn't defined.
7326
7327 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
7328
7329 * libgomp.texi (omp_test_lock): Fix typo.
7330
7331 2008-06-12 Tobias Burnus <burnus (a] net-b.de>
7332
7333 * omp_lib.f90.in: Add "implicit none".
7334
7335 2008-06-12 Jakub Jelinek <jakub (a] redhat.com>
7336
7337 PR middle-end/36506
7338 * testsuite/libgomp.c/reduction-5.c: New test.
7339
7340 2008-06-11 Jakub Jelinek <jakub (a] redhat.com>
7341
7342 * libgomp.h (struct gomp_task): Add in_tied_task field.
7343 * task.c (gomp_init_task): Initialize it.
7344 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
7345 unconditionally. Don't call gomp_team_barrier_wake if
7346 current task is implicit or if(0) from implicit and number of
7347 running tasks is equal to nthreads - 1.
7348
7349 PR libgomp/36471
7350 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
7351 omp_get_team_size_8): Fix pastos.
7352
7353 PR libgomp/36469
7354 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
7355 * configure: Regenerated.
7356 * config.h.in: Regenerated.
7357 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
7358 defined.
7359
7360 2008-06-06 Andreas Tobler <a.tobler (a] schweiz.org>
7361
7362 PR bootstrap/36452
7363 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
7364 (GOMP_loop_ull_dynamic_start): Likewise.
7365 (GOMP_loop_ull_guided_start): Likewise.
7366 (GOMP_loop_ull_ordered_static_start): Likewise.
7367 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
7368 (GOMP_loop_ull_ordered_guided_start): Likewise.
7369
7370 2008-06-06 Jakub Jelinek <jakub (a] redhat.com>
7371 Richard Henderson <rth (a] redhat.com>
7372 Ulrich Drepper <drepper (a] redhat.com>
7373 Jakob Blomer <jakob.blomer (a] ira.uka.de>
7374
7375 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
7376 Substitute also OMP_*LOCK_25*.
7377 * configure: Regenerated.
7378 * config.h.in: Regenerated.
7379 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
7380 ptrlock.c and task.c.
7381 * Makefile.in: Regenerated.
7382 * testsuite/Makefile.in: Regenerated.
7383 * task.c: New file.
7384 * loop_ull.c: New file.
7385 * iter_ull.c: New file.
7386 * libgomp.h: Include ptrlock.h.
7387 (enum gomp_task_kind): New type.
7388 (struct gomp_team): Add task_lock, task_queue, task_count,
7389 task_running_count, single_count fields. Add
7390 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
7391 Remove work_share_lock, generation_mask,
7392 oldest_live_gen, num_live_gen and init_work_shares fields, add
7393 work work_share_list_alloc, work_share_list_free and work_share_chunk
7394 fields. Change work_shares from pointer to pointers into an array.
7395 Change ordered_release field into gomp_sem_t ** from flexible array
7396 member. Add implicit_task and initial_work_shares fields.
7397 Move close to the end of the struct.
7398 (struct gomp_team_state): Add single_count, last_work_share,
7399 active_level and level fields, remove work_share_generation.
7400 (gomp_barrier_handle_tasks): New prototype.
7401 (gomp_finish_task): New inline function.
7402 (struct gomp_work_share): Move chunk_size, end, incr into
7403 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
7404 next_ll fields. Reshuffle fields. Add next_alloc,
7405 next_ws, next_free and inline_ordered_team_ids fields, change
7406 ordered_team_ids into pointer from flexible array member.
7407 Add mode field. Put lock and next into a different cache line
7408 from most of the write-once fields.
7409 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
7410 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
7411 gomp_iter_ull_guided_next): New prototypes.
7412 (gomp_new_icv): New prototype.
7413 (struct gomp_thread): Add thread_pool and task fields.
7414 (struct gomp_thread_pool): New type.
7415 (gomp_new_team): New prototype.
7416 (gomp_team_start): Change type of last argument.
7417 (gomp_new_work_share): Removed.
7418 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
7419 (gomp_work_share_init_done): New static inline.
7420 (gomp_throttled_spin_count_var, gomp_available_cpus,
7421 gomp_managed_threads): New extern decls.
7422 (gomp_init_task): New prototype.
7423 (gomp_spin_count_var): New extern var decl.
7424 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
7425 or no alias support, or if not PIC.
7426 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
7427 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
7428 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
7429 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
7430 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
7431 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
7432 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
7433 gomp_test_nest_lock_25): New prototypes.
7434 (omp_lock_symver, strong_alias): Define.
7435 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
7436 decls.
7437 (gomp_end_task): New.
7438 (struct gomp_task_icv, gomp_global_icv): New.
7439 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
7440 (struct gomp_task): New.
7441 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
7442 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
7443 (gomp_icv): New.
7444 (gomp_schedule_type): Reorder enum to match
7445 omp_sched_t.
7446 * team.c (struct gomp_thread_start_data): Add thread_pool and task
7447 fields.
7448 (gomp_thread_start): Add gomp_team_barrier_wait call.
7449 For non-nested case remove clearing of docked thread thr fields.
7450 Use pool fields instead of global gomp_* variables. Use
7451 gomp_barrier_wait_last when needed. Initialize ts.active_level.
7452 Create tasks for each member thread.
7453 (free_team): Only destroy team barrier, task_lock here and free it.
7454 (gomp_free_thread): Free last_team if non-NULL.
7455 (gomp_team_end): Call gomp_team_barrier_wait instead of
7456 gomp_barrier_wait. For nested case call one extra
7457 gomp_barrier_wait. Move here some destruction from free_team.
7458 Call free_team on pool->last_team if any, rather than freeing
7459 current team. Destroy work_share_list_free_lock ifndef
7460 HAVE_SYNC_BUILTINS.
7461 (gomp_new_icv): New function.
7462 (gomp_threads, gomp_threads_size, gomp_threads_used,
7463 gomp_threads_dock): Removed.
7464 (gomp_thread_destructor): New variable.
7465 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
7466 functions.
7467 (gomp_team_start): Create new pool if current thread doesn't have
7468 one. Use pool fields instead of global gomp_* variables.
7469 Initialize thread_pool field for new threads. Clear single_count.
7470 Change last argument from ws to team, don't create
7471 new team, set ts.work_share to &team->work_shares[0] and clear
7472 ts.last_work_share. Don't clear ts.work_share_generation.
7473 If number of threads changed, adjust atomically gomp_managed_threads.
7474 Use gomp_init_task instead of gomp_new_task,
7475 set thr->task to the corresponding implicit_task array entry.
7476 Create tasks for each member thread. Initialize ts.level.
7477 (initialize_team): Call pthread_key_create on
7478 gomp_thread_destructor.
7479 (team_destructor): New function.
7480 (new_team): Removed.
7481 (gomp_new_team): New function.
7482 (free_team): Free gomp_work_share blocks chained through next_alloc,
7483 instead of freeing work_shares and destroying work_share_lock.
7484 (gomp_team_end): Call gomp_fini_work_share. If number of threads
7485 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
7486 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
7487 of gomp_barrier_wait.
7488 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
7489 instead of gomp_barrier_wait. Call gomp_work_share_init_done
7490 if gomp_work_share_start returned true. Don't unlock ws->lock.
7491 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
7492 of gomp_barrier_wait.
7493 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
7494 gomp_work_share_init_done if gomp_work_share_start returned true.
7495 Don't unlock ws->lock.
7496 * work.c: Include stddef.h.
7497 (free_work_share): Use work_share_list_free_lock instead
7498 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
7499 Call gomp_fini_work_share and then either free ws if orphaned, or
7500 put it into work_share_list_free list of the current team.
7501 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
7502 functions.
7503 (gomp_work_share_start, gomp_work_share_end,
7504 gomp_work_share_end_nowait): Rewritten.
7505 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
7506 (openmp_version): Set to 200805.
7507 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
7508 omp_sched_guided, omp_sched_auto): New parameters.
7509 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
7510 omp_set_max_active_levels, omp_get_max_active_levels,
7511 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
7512 omp_get_active_level): New interfaces.
7513 * omp_lib.h.in (openmp_version): Set to 200805.
7514 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
7515 omp_sched_guided, omp_sched_auto): New parameters.
7516 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
7517 omp_set_max_active_levels, omp_get_max_active_levels,
7518 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
7519 omp_get_active_level): New externals.
7520 * loop.c: Include limits.h.
7521 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
7522 GFS_AUTO.
7523 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
7524 Likewise. Use gomp_icv.
7525 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
7526 ts.static_trip here.
7527 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
7528 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
7529 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
7530 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
7531 don't unlock ws->lock, otherwise lock it.
7532 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
7533 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
7534 (gomp_parallel_loop_start): Call gomp_new_team instead of
7535 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
7536 Adjust gomp_team_start caller. Pass 0 as second argument to
7537 gomp_resolve_num_threads.
7538 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
7539 If adding ws->chunk_size nthreads + 1 times after end won't
7540 overflow, set ws->mode to 1.
7541 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
7542 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
7543 GOMP_loop_ull_ordered_static_start,
7544 GOMP_loop_ull_ordered_dynamic_start,
7545 GOMP_loop_ull_ordered_guided_start,
7546 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
7547 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
7548 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
7549 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
7550 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
7551 prototypes.
7552 * libgomp.map: Export lock routines also @@OMP_2.0.
7553 (GOMP_loop_ordered_dynamic_first,
7554 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
7555 GOMP_loop_ordered_static_first): Remove.
7556 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
7557 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
7558 GOMP_loop_ull_ordered_dynamic_next,
7559 GOMP_loop_ull_ordered_dynamic_start,
7560 GOMP_loop_ull_ordered_guided_next,
7561 GOMP_loop_ull_ordered_guided_start,
7562 GOMP_loop_ull_ordered_runtime_next,
7563 GOMP_loop_ull_ordered_runtime_start,
7564 GOMP_loop_ull_ordered_static_next,
7565 GOMP_loop_ull_ordered_static_start,
7566 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
7567 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
7568 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
7569 (omp_set_schedule, omp_get_schedule,
7570 omp_get_thread_limit, omp_set_max_active_levels,
7571 omp_get_max_active_levels, omp_get_level,
7572 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
7573 omp_set_schedule_, omp_set_schedule_8_,
7574 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
7575 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
7576 omp_get_max_active_levels_, omp_get_level_,
7577 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
7578 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
7579 New exports @@OMP_3.0.
7580 * omp.h.in (omp_sched_t): New type.
7581 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
7582 omp_set_max_active_levels, omp_get_max_active_levels,
7583 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
7584 omp_get_active_level): New prototypes.
7585 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
7586 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
7587 gomp_thread_limit_var, gomp_remaining_threads_count,
7588 gomp_remaining_threads_lock): New variables.
7589 (parse_spincount): New function.
7590 (initialize_env): Call gomp_init_num_threads unconditionally.
7591 Initialize gomp_available_cpus. Call parse_spincount,
7592 initialize gomp_{,throttled_}spin_count_var
7593 depending on presence and value of OMP_WAIT_POLICY and
7594 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
7595 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
7596 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
7597 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
7598 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
7599 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
7600 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
7601 (gomp_global_icv): New.
7602 (parse_schedule): Use it. Parse "auto".
7603 (omp_set_num_threads): Use gomp_icv.
7604 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
7605 Likewise.
7606 (omp_get_max_threads): Move from parallel.c.
7607 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
7608 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
7609 add ialias.
7610 (parse_stacksize, parse_wait_policy): New functions.
7611 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
7612 both wrappers for compatibility and new locks.
7613 (omp_set_schedule, omp_get_schedule,
7614 omp_get_thread_limit, omp_set_max_active_levels,
7615 omp_get_max_active_levels, omp_get_level,
7616 omp_get_ancestor_thread_num, omp_get_team_size,
7617 omp_get_active_level): New ialias_redirect.
7618 (omp_set_schedule_, omp_set_schedule_8_,
7619 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
7620 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
7621 omp_get_max_active_levels_, omp_get_level_,
7622 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
7623 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
7624 New functions.
7625 * parallel.c: Include limits.h.
7626 (gomp_resolve_num_threads): Add count argument. Rewritten.
7627 (GOMP_parallel_start): Call gomp_new_team and pass that as last
7628 argument to gomp_team_start. Pass 0 as second argument to
7629 gomp_resolve_num_threads.
7630 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
7631 if gomp_thread_limit_var != ULONG_MAX.
7632 (omp_in_parallel): Implement using ts.active_level.
7633 (omp_get_max_threads): Move to env.c.
7634 (omp_get_level, omp_get_ancestor_thread_num,
7635 omp_get_team_size, omp_get_active_level): New functions,
7636 add ialias.
7637 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
7638 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
7639 gomp_iter_dynamic_next instead of the _locked variant and don't take
7640 lock around it, otherwise acquire it before calling
7641 gomp_iter_dynamic_next_locked.
7642 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
7643 gomp_iter_dynamic_next instead of the _locked variant and don't take
7644 lock around it.
7645 (GOMP_parallel_sections_start): Call gomp_new_team instead of
7646 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
7647 Adjust gomp_team_start caller. Pass count as second argument to
7648 gomp_resolve_num_threads, don't adjust num_threads after the call.
7649 Use gomp_icv.
7650 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
7651 ws->chunk_size by incr.
7652 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
7653 code.
7654 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
7655 types.
7656 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
7657 (omp_check_defines): Check even the compat defines.
7658 * config/linux/ptrlock.c: New file.
7659 * config/linux/ptrlock.h: New file.
7660 * config/linux/wait.h: New file.
7661 * config/posix/ptrlock.c: New file.
7662 * config/posix/ptrlock.h: New file.
7663 * config/linux/bar.h (gomp_team_barrier_wait,
7664 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
7665 (gomp_team_barrier_set_task_pending,
7666 gomp_team_barrier_clear_task_pending,
7667 gomp_team_barrier_set_waiting_for_tasks,
7668 gomp_team_barrier_waiting_for_tasks,
7669 gomp_team_barrier_done): New inlines.
7670 (gomp_barrier_t): Rewritten.
7671 (gomp_barrier_state_t): New typedef.
7672 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
7673 gomp_barrier_wait_start): Rewritten.
7674 (gomp_barrier_wait_end): Change second argument to
7675 gomp_barrier_state_t.
7676 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
7677 inlines.
7678 * config/linux/bar.c: Include wait.h instead of libgomp.h and
7679 futex.h.
7680 (gomp_barrier_wait_end): Rewritten.
7681 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
7682 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
7683 * config/posix/bar.h (gomp_barrier_t): Add generation field.
7684 (gomp_barrier_state_t): New typedef.
7685 (gomp_team_barrier_wait,
7686 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
7687 (gomp_barrier_wait_start): Or all but low 2 bits from generation
7688 into the return value. Return gomp_barrier_state_t.
7689 (gomp_team_barrier_set_task_pending,
7690 gomp_team_barrier_clear_task_pending,
7691 gomp_team_barrier_set_waiting_for_tasks,
7692 gomp_team_barrier_waiting_for_tasks,
7693 gomp_team_barrier_done): New inlines.
7694 (gomp_barrier_wait_end): Change second argument to
7695 gomp_barrier_state_t.
7696 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
7697 inlines.
7698 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
7699 (gomp_barrier_wait_end): Change second argument to
7700 gomp_barrier_state_t.
7701 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
7702 gomp_team_barrier_wake): New functions.
7703 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
7704 futex.h.
7705 (gomp_futex_wake, gomp_futex_wait): New variables.
7706 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
7707 * config/linux/lock.c: Rewrite to make locks task owned,
7708 for backwards compatibility provide the old entrypoints
7709 if symbol versioning. Include wait.h instead of libgomp.h and
7710 futex.h.
7711 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
7712 * config/posix95/lock.c: Rewrite to make locks task owned,
7713 for backwards compatibility provide the old entrypoints
7714 if symbol versioning.
7715 * config/posix/lock.c: Rewrite to make locks task owned,
7716 for backwards compatibility provide the old entrypoints
7717 if symbol versioning.
7718 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
7719 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
7720 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
7721 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7722 (sys_futex0): Return error code.
7723 (futex_wake, futex_wait): If ENOSYS was returned, clear
7724 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7725 (cpu_relax, atomic_write_barrier): New static inlines.
7726 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7727 (futex_wake, futex_wait): If ENOSYS was returned, clear
7728 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7729 (cpu_relax, atomic_write_barrier): New static inlines.
7730 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7731 (sys_futex0): Return error code.
7732 (futex_wake, futex_wait): If ENOSYS was returned, clear
7733 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7734 (cpu_relax, atomic_write_barrier): New static inlines.
7735 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7736 (sys_futex0): Return error code.
7737 (futex_wake, futex_wait): If ENOSYS was returned, clear
7738 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7739 (cpu_relax, atomic_write_barrier): New static inlines.
7740 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7741 (sys_futex0): Return error code.
7742 (futex_wake, futex_wait): If ENOSYS was returned, clear
7743 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7744 (cpu_relax, atomic_write_barrier): New static inlines.
7745 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7746 (sys_futex0): Return error code.
7747 (futex_wake, futex_wait): If ENOSYS was returned, clear
7748 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7749 (cpu_relax, atomic_write_barrier): New static inlines.
7750 * config/linux/sem.c: Include wait.h instead of libgomp.h and
7751 futex.h.
7752 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
7753 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
7754 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
7755 types.
7756 (omp_nest_lock_t): Change owner into void *, add lock field.
7757 * config/posix95/omp-lock.h: Include semaphore.h.
7758 (omp_lock_25_t, omp_nest_lock_25_t): New types.
7759 (omp_lock_t): Use sem_t instead of mutex if semaphores
7760 aren't broken.
7761 (omp_nest_lock_t): Likewise. Change owner to void *.
7762 * config/posix/omp-lock.h: Include semaphore.h.
7763 (omp_lock_25_t, omp_nest_lock_25_t): New types.
7764 (omp_lock_t): Use sem_t instead of mutex if semaphores
7765 aren't broken.
7766 (omp_nest_lock_t): Likewise. Add owner field.
7767
7768 2008-06-06 Jakub Jelinek <jakub (a] redhat.com>
7769
7770 * testsuite/libgomp.c/collapse-1.c: New test.
7771 * testsuite/libgomp.c/collapse-2.c: New test.
7772 * testsuite/libgomp.c/collapse-3.c: New test.
7773 * testsuite/libgomp.c/icv-1.c: New test.
7774 * testsuite/libgomp.c/icv-2.c: New test.
7775 * testsuite/libgomp.c/lib-2.c: New test.
7776 * testsuite/libgomp.c/lock-1.c: New test.
7777 * testsuite/libgomp.c/lock-2.c: New test.
7778 * testsuite/libgomp.c/lock-3.c: New test.
7779 * testsuite/libgomp.c/loop-4.c: New test.
7780 * testsuite/libgomp.c/loop-5.c: New test.
7781 * testsuite/libgomp.c/loop-6.c: New test.
7782 * testsuite/libgomp.c/loop-7.c: New test.
7783 * testsuite/libgomp.c/loop-8.c: New test.
7784 * testsuite/libgomp.c/loop-9.c: New test.
7785 * testsuite/libgomp.c/nested-3.c: New test.
7786 * testsuite/libgomp.c/nestedfn-6.c: New test.
7787 * testsuite/libgomp.c/sort-1.c: New test.
7788 * testsuite/libgomp.c/task-1.c: New test.
7789 * testsuite/libgomp.c/task-2.c: New test.
7790 * testsuite/libgomp.c/task-3.c: New test.
7791 * testsuite/libgomp.c/task-4.c: New test.
7792 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
7793 to C++ testsuite default compiler options.
7794 * testsuite/libgomp.c++/collapse-1.C: New test.
7795 * testsuite/libgomp.c++/collapse-2.C: New test.
7796 * testsuite/libgomp.c++/ctor-10.C: New test.
7797 * testsuite/libgomp.c++/for-1.C: New test.
7798 * testsuite/libgomp.c++/for-2.C: New test.
7799 * testsuite/libgomp.c++/for-3.C: New test.
7800 * testsuite/libgomp.c++/for-4.C: New test.
7801 * testsuite/libgomp.c++/for-5.C: New test.
7802 * testsuite/libgomp.c++/loop-8.C: New test.
7803 * testsuite/libgomp.c++/loop-9.C: New test.
7804 * testsuite/libgomp.c++/loop-10.C: New test.
7805 * testsuite/libgomp.c++/task-1.C: New test.
7806 * testsuite/libgomp.c++/task-2.C: New test.
7807 * testsuite/libgomp.c++/task-3.C: New test.
7808 * testsuite/libgomp.c++/task-4.C: New test.
7809 * testsuite/libgomp.c++/task-5.C: New test.
7810 * testsuite/libgomp.c++/task-6.C: New test.
7811 * testsuite/libgomp.fortran/allocatable1.f90: New test.
7812 * testsuite/libgomp.fortran/allocatable2.f90: New test.
7813 * testsuite/libgomp.fortran/allocatable3.f90: New test.
7814 * testsuite/libgomp.fortran/allocatable4.f90: New test.
7815 * testsuite/libgomp.fortran/collapse1.f90: New test.
7816 * testsuite/libgomp.fortran/collapse2.f90: New test.
7817 * testsuite/libgomp.fortran/collapse3.f90: New test.
7818 * testsuite/libgomp.fortran/collapse4.f90: New test.
7819 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
7820 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
7821 * testsuite/libgomp.fortran/lib4.f90: New test.
7822 * testsuite/libgomp.fortran/lock-1.f90: New test.
7823 * testsuite/libgomp.fortran/lock-2.f90: New test.
7824 * testsuite/libgomp.fortran/nested1.f90: New test.
7825 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
7826 * testsuite/libgomp.fortran/strassen.f90: New test.
7827 * testsuite/libgomp.fortran/tabs1.f90: New test.
7828 * testsuite/libgomp.fortran/tabs2.f: New test.
7829 * testsuite/libgomp.fortran/task1.f90: New test.
7830 * testsuite/libgomp.fortran/task2.f90: New test.
7831 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
7832 * testsuite/libgomp.fortran/vla5.f90: Likewise.
7833 * testsuite/libgomp.c/pr26943-2.c: Likewise.
7834 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7835 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7836
7837 2008-05-23 Jakub Jelinek <jakub (a] redhat.com>
7838
7839 PR c++/36308
7840 * testsuite/libgomp.c++/ctor-11.C: New test.
7841 * testsuite/libgomp.c++/ctor-12.C: New test.
7842
7843 2008-05-15 Janis Johnson <janis187 (a] us.ibm.com>
7844
7845 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
7846
7847 2008-05-07 Jakub Jelinek <jakub (a] redhat.com>
7848
7849 PR middle-end/36106
7850 * testsuite/libgomp.c/atomic-5.c: New test.
7851 * testsuite/libgomp.c/atomic-6.c: New test.
7852 * testsuite/libgomp.c/autopar-1.c: New test.
7853
7854 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
7855
7856 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
7857 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
7858 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
7859 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
7860 * configure: Regenerate.
7861 * Makefile.in, testsuite/Makefile.in: Likewise.
7862
7863 2008-04-18 Paolo Bonzini <bonzini (a] gnu.org>
7864
7865 PR bootstrap/35457
7866 * aclocal.m4: Regenerate.
7867 * configure: Regenerate.
7868
7869 2008-03-18 Jakub Jelinek <jakub (a] redhat.com>
7870
7871 PR middle-end/35611
7872 * testsuite/libgomp.c/atomic-4.c: New test.
7873
7874 PR libgomp/35625
7875 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
7876 (gomp_iter_guided_next): Likewise.
7877 * testsuite/libgomp.c/pr35625.c: New test.
7878
7879 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
7880
7881 * aclocal.m4: Regenerate.
7882 * configure: Likewise.
7883 * Makefile.in: Likewise.
7884 * testsuite/Makefile.in: Likewise.
7885
7886 2008-03-13 Jakub Jelinek <jakub (a] redhat.com>
7887
7888 PR middle-end/35185
7889 * testsuite/libgomp.c++/pr35185.C: New test.
7890
7891 2008-03-12 Jakub Jelinek <jakub (a] redhat.com>
7892
7893 PR middle-end/35549
7894 * testsuite/libgomp.c/pr35549.c: New test.
7895
7896 2008-03-06 Jakub Jelinek <jakub (a] redhat.com>
7897
7898 * testsuite/libgomp.c/atomic-3.c: New test.
7899
7900 2008-03-03 Francois-Xavier Coudert <fxcoudert (a] gcc.gnu.org>
7901
7902 PR fortran/33197
7903 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
7904 .F08 file suffixes.
7905
7906 2008-03-03 Peter O'Gorman <pogma (a] thewrittenword.com>
7907
7908 PR libgomp/33131
7909 * configure.ac: Add ACX_HEADER_STRING.
7910 * env.c: Include strings.h.
7911 * aclocal.m4: Regenerate.
7912 * config.h.in: Regenerate.
7913 * configure: Regenerate.
7914 * Makefile.in: Regenerate.
7915 * testsuite/Makefile.in: Regenerate.
7916
7917 2008-02-15 Jakub Jelinek <jakub (a] redhat.com>
7918
7919 PR middle-end/35196
7920 * testsuite/libgomp.c/pr35196.c: New test.
7921
7922 PR middle-end/35130
7923 * testsuite/libgomp.fortran/pr35130.f90: New test.
7924 * testsuite/libgomp.c/pr35130.c: New test.
7925
7926 2008-01-25 Jakub Jelinek <jakub (a] redhat.com>
7927
7928 PR middle-end/33880
7929 * testsuite/libgomp.c/pr33880.c: New test.
7930 * testsuite/libgomp.fortran/pr33880.f90: New test.
7931
7932 2008-01-24 David Edelsohn <edelsohn (a] gnu.org>
7933
7934 * configure: Regenerate.
7935
7936 2008-01-08 Jakub Jelinek <jakub (a] redhat.com>
7937
7938 * configure.ac: Move futex checking into ../config/futex.m4.
7939 * configure: Rebuilt.
7940 * aclocal.m4: Rebuilt.
7941 * Makefile.in: Rebuilt.
7942
7943 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
7944 2007-10-15 ../config/tls.m4 change.
7945
7946 2007-12-19 Jakub Jelinek <jakub (a] redhat.com>
7947
7948 PR c++/34513
7949 * testsuite/libgomp.c/pr34513.c: New test.
7950 * testsuite/libgomp.c++/pr34513.C: New test.
7951
7952 2007-12-17 Jack Howarth <howarth (a] bromo.med.uc.edu>
7953
7954 PR target/32765
7955 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
7956
7957 2007-12-04 Jakub Jelinek <jakub (a] redhat.com>
7958
7959 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
7960
7961 2007-12-03 Jakub Jelinek <jakub (a] redhat.com>
7962
7963 * testsuite/libgomp.c/private-1.c: New test.
7964
7965 2007-11-29 Andris Pavenis <andris.pavenis (a] iki.fi>
7966 Paolo Bonzini <bonzini (a] gnu.org>
7967
7968 * Makefile.am: Use space as vpath separator. Use 'vpath %'
7969 instead of 'VPATH ='.
7970 * Makefile.in: Regenerate.
7971
7972 2007-11-23 Matthias Klose <doko (a] ubuntu.com>
7973
7974 * configure.ac: Adjust makeinfo version check.
7975 * configure: Regenerate.
7976
7977 2007-11-10 Jakub Jelinek <jakub (a] redhat.com>
7978
7979 PR fortran/34020
7980 * testsuite/libgomp.fortran/pr34020.f90: New test.
7981
7982 2007-11-06 Jakub Jelinek <jakub (a] redhat.com>
7983
7984 PR c++/33894
7985 * testsuite/libgomp.c++/atomic-1.C: New test.
7986
7987 2007-10-25 Jakub Jelinek <jakub (a] redhat.com>
7988
7989 PR libgomp/33275
7990 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
7991 Make x and y integers rather than (implicit) reals. Add private (j)
7992 clause to the last omp parallel.
7993
7994 2007-10-15 Maciej W. Rozycki <macro (a] linux-mips.org>
7995
7996 * configure: Regenerate following changes to ../config/tls.m4.
7997
7998 2007-09-28 Jakub Jelinek <jakub (a] redhat.com>
7999
8000 * testsuite/libgomp.fortran/stack.f90: New test.
8001
8002 2007-09-10 Danny Smith <dannysmith (a] users.sourceforge.net>
8003
8004 * config/mingw32/proc.c: New file.
8005
8006 2007-09-05 Uros Bizjak <ubizjak (a] gmail.com>
8007
8008 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
8009 (main): Use __get_cpuid to get i386 target fetaures.
8010 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
8011 (main): Use __get_cpuid to get x86_64 target fetaures.
8012
8013 2007-08-15 Jack Howarth <howarth (a] bromo.med.uc.edu>
8014
8015 PR target/32765
8016 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
8017 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
8018
8019 2007-07-12 Jakub Jelinek <jakub (a] redhat.com>
8020
8021 PR fortran/32550
8022 * testsuite/libgomp.fortran/pr32550.f90: New test.
8023 * testsuite/libgomp.fortran/crayptr2.f90: New test.
8024
8025 2007-07-05 H.J. Lu <hongjiu.lu (a] intel.com>
8026
8027 * aclocal.m4: Regenerated.
8028
8029 2007-07-05 Tobias Burnus <burnus (a] net-b.de>
8030
8031 PR fortran/32359
8032 * testsuite/libgomp.fortran/pr32359.f90: New.
8033
8034 2007-07-02 Jakub Jelinek <jakub (a] redhat.com>
8035
8036 PR libgomp/32468
8037 * sections.c (GOMP_parallel_sections_start): Only decrease
8038 number of threads to COUNT if dyn_var is true.
8039 * testsuite/libgomp.c/pr32468.c: New test.
8040
8041 2007-07-02 Rainer Orth <ro (a] TechFak.Uni-Bielefeld.DE>
8042
8043 PR libgomp/26308
8044 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
8045
8046 2007-06-21 Jakub Jelinek <jakub (a] redhat.com>
8047
8048 PR middle-end/32362
8049 * testsuite/libgomp.c/pr32362-1.c: New test.
8050 * testsuite/libgomp.c/pr32362-2.c: New test.
8051 * testsuite/libgomp.c/pr32362-3.c: New test.
8052
8053 2007-06-07 Jakub Jelinek <jakub (a] redhat.com>
8054
8055 * team.c (gomp_team_start): Fix setting up thread_attr
8056 stack size.
8057
8058 2007-06-02 Paolo Bonzini <bonzini (a] gnu.org>
8059
8060 * configure: Regenerate.
8061
8062 2007-05-23 Steve Ellcey <sje (a] cup.hp.com>
8063
8064 * Makefile.in: Regenerate.
8065 * configure: Regenerate.
8066 * aclocal.m4: Regenerate.
8067 * testsuite/Makefile.in: Regenerate.
8068
8069 2007-05-04 Jakub Jelinek <jakub (a] redhat.com>
8070
8071 * config/linux/proc.c: New file.
8072
8073 PR libgomp/28482
8074 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
8075
8076 2007-04-19 Daniel Franke <franke.daniel (a] gmail.com>
8077
8078 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
8079
8080 2007-04-16 Matthias Klose <doko (a] debian.org>
8081
8082 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
8083 flags if not building with -m64.
8084 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
8085 flag for i?86-*-* targets, if current target matches -m64.
8086
8087 2007-04-14 Steve Ellcey <sje (a] cup.hp.com>
8088
8089 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
8090 * Makefile.in: Regenerate.
8091
8092 2007-04-07 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca>
8093
8094 PR testsuite/31369
8095 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
8096 ld_library_path.
8097 * testsuite/libgomp.fortran/fortran.exp: Likewise.
8098
8099 2007-04-04 Jakub Jelinek <jakub (a] redhat.com>
8100
8101 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
8102 decls.
8103 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
8104 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
8105 (parse_affinity): New function.
8106 (initialize_env): Call it and gomp_init_affinity.
8107 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
8108 create new pthread_attr_t and call gomp_init_thread_affinity
8109 on it for each thread before passing the attribute to pthread_create.
8110 * config/linux/affinity.c: New file.
8111 * config/posix/affinity.c: New file.
8112 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
8113 * configure: Rebuilt.
8114 * config.h.in: Rebuilt.
8115 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
8116 * Makefile.in: Rebuilt.
8117
8118 2007-03-23 Andreas Tobler <a.tobler (a] schweiz.org>
8119
8120 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
8121 *-*-darwin*.
8122 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
8123 and use it if found.
8124
8125 2007-03-18 Uros Bizjak <ubizjak (a] gmail.com>
8126
8127 * testsuite/config/default.exp: New file.
8128 * testsuite/lib/libgomp.exp: New file.
8129 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
8130 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
8131 load_lib *, load_gcc_lib *): Move to libgomp.exp.
8132 (libgomp_load): Remove.
8133 * testsuite/lib/libgomp.exp (libgomp_init): Compute
8134 always_ld_library_path, not ld_library_path. Set additional_flags
8135 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
8136 (target_compile): Do not call libgomp_init. Append lang_library_path
8137 and lang_link_flags to options.
8138 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
8139 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
8140 here.
8141 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
8142 always_ld_library_path. Set LD_LIBRARY_PATH here.
8143 * testsuite/libgomp.fortran/fortran.exp: Ditto.
8144 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
8145 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
8146 CX8 flag.
8147 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
8148 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
8149 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
8150 * testsuite/libgomp.c/pr29947-1.c: Ditto.
8151 * testsuite/libgomp.c/atomic-10.c: Ditto.
8152
8153 2007-03-21 Jakub Jelinek <jakub (a] redhat.com>
8154
8155 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
8156 dg-final cleanup-modules line.
8157 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
8158 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
8159 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
8160 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
8161 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
8162 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
8163 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
8164
8165 2007-03-18 Andreas Schwab <schwab (a] suse.de>
8166
8167 * acinclude.m4: Adjust regular expression for ld version
8168 extraction.
8169 * configure: Regenerate.
8170
8171 2007-03-01 Brooks Moses <brooks.moses (a] codesourcery.com>
8172
8173 * Makefile.am: Add install-pdf target as copied from
8174 automake v1.10 rules.
8175 * Makefile.in: Regenerate
8176
8177 2007-02-07 Jakub Jelinek <jakub (a] redhat.com>
8178
8179 PR libgomp/28486
8180 * configure: Regenerate.
8181
8182 PR c++/30703
8183 * testsuite/libgomp.c++/pr30703.C: New test.
8184
8185 2007-02-02 Jakub Jelinek <jakub (a] redhat.com>
8186
8187 Revert:
8188 2006-07-05 Eric Christopher <echristo (a] apple.com>
8189 * configure.ac: Depend addition of -pthread on host OS.
8190 * configure: Regenerate.
8191
8192 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues (a] gmx.de>
8193
8194 * libgomp.texi: Fix spacing after abbreviations.
8195
8196 2007-01-31 Daniel Franke <franke.daniel (a] gmail.com>
8197
8198 PR libgomp/30546
8199 * configure.ac: Add check for makeinfo
8200 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
8201 if an appropiate version of makeinfo is found.
8202 * aclocal.m4: Regenerated.
8203 * configure: Regenerated.
8204 * Makefile.in: Regenerated.
8205 * testsuite/Makefile.in: Regenerated.
8206
8207 2007-01-29 Daniel Franke <franke.daniel (a] gmail.com>
8208
8209 PR libgomp/30540
8210 * libgomp.texi: More about implementation-dependent settings.
8211
8212 2007-01-26 Tobias Burnus <burnus (a] net-b.de>
8213
8214 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
8215
8216 2007-01-24 Jakub Jelinek <jakub (a] redhat.com>
8217
8218 PR middle-end/30494
8219 * testsuite/libgomp.c/pr30494.c: New test.
8220
8221 2007-01-15 Tom Tromey <tromey (a] redhat.com>
8222
8223 * configure: Rebuilt.
8224 * configure.ac: Fixed comment.
8225
8226 2007-01-14 Daniel Franke <franke.daniel (a] gmail.com>
8227
8228 * libgomp.texi: Document implementation specific default values of
8229 environment variables.
8230
8231 2006-12-21 Daniel Franke <franke.daniel (a] gmail.com>
8232
8233 PR libgomp/28209
8234 * libgomp.texi: New file.
8235 * configure.ac: Add --enable-generated-files-in-srcdir option.
8236 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
8237 files to srcdir.
8238 * Makefile.in: Regenerated.
8239 * config.h.in: Regenerated.
8240 * testsuite/Makefile.in: Regenerated.
8241 * NOTES: Removed.
8242
8243 2006-12-04 Daniel Franke <franke.daniel (a] gmail.com>
8244
8245 PR libgomp/29949
8246 * env.c (omp_set_num_threads): Set illegal thread count to 1.
8247
8248 2006-12-04 Eric Botcazou <ebotcazou (a] libertysurf.fr>
8249
8250 * configure: Regenerate.
8251
8252 2006-12-04 Jakub Jelinek <jakub (a] redhat.com>
8253
8254 PR libgomp/29947
8255 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
8256 start if there shouldn't be any loop iterations.
8257 (gomp_loop_ordered_static_start): Remove start == end test.
8258 * testsuite/libgomp.c/pr29947-1.c: New test.
8259 * testsuite/libgomp.c/pr29947-2.c: New test.
8260
8261 2006-12-02 Eric Botcazou <ebotcazou (a] libertysurf.fr>
8262
8263 * configure.tgt: Force initial-exec TLS model on Linux only.
8264
8265 2006-11-13 Daniel Jacobowitz <dan (a] codesourcery.com>
8266
8267 * configure: Regenerated.
8268
8269 2006-11-09 Uros Bizjak <ubizjak (a] gmail.com>
8270
8271 * env.c (parse_schedule): Reject out of range values.
8272 (parse_unsigned_long): Reject out of range, negative or zero values.
8273
8274 2006-10-29 Jakub Jelinek <jakub (a] redhat.com>
8275
8276 PR fortran/29629
8277 * testsuite/libgomp.fortran/pr29629.f90: New test.
8278
8279 2006-10-24 Eric Botcazou <ebotcazou (a] libertysurf.fr>
8280
8281 PR libgomp/29494
8282 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
8283 * config/posix95: New directory.
8284 * config/posix95/omp-lock.h: New file.
8285 * config/posix95/lock.c: Likewise.
8286
8287 2006-10-14 Geoffrey Keating <geoffk (a] apple.com>
8288
8289 * aclocal.m4: Regenerate.
8290 * configure: Regenerate.
8291
8292 2006-10-05 Danny Smith <dannysmith (a] users.sourceforge.net>
8293
8294 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
8295 '<' to '<='.
8296
8297 2006-10-05 Danny Smith <dannysmith (a] users.sourceforge.net>
8298
8299 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
8300 test.
8301 * configure: Regenerate.
8302 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
8303
8304 2006-09-26 Jakub Jelinek <jakub (a] redhat.com>
8305
8306 PR middle-end/25261
8307 PR middle-end/28790
8308 * testsuite/libgomp.c/nestedfn-4.c: New test.
8309 * testsuite/libgomp.c/nestedfn-5.c: New test.
8310 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
8311
8312 PR fortran/29097
8313 * testsuite/libgomp.fortran/condinc1.f: New test.
8314 * testsuite/libgomp.fortran/condinc2.f: New test.
8315 * testsuite/libgomp.fortran/condinc3.f90: New test.
8316 * testsuite/libgomp.fortran/condinc4.f90: New test.
8317 * testsuite/libgomp.fortran/condinc1.inc: New file.
8318
8319 2006-09-18 Tom Tromey <tromey (a] redhat.com>
8320
8321 * configure: Rebuilt.
8322
8323 2006-09-13 Joseph S. Myers <joseph (a] codesourcery.com>
8324
8325 PR c/28768
8326 PR preprocessor/14634
8327 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
8328 to AC_DEFINE.
8329 * configure: Regenerate.
8330
8331 2006-09-08 Steven G. Kargl <kargl (a] gcc.gnu.org>
8332
8333 * testsuite/libgomp.fortran/reduction3.f90: Change
8334 -2147483648 to -huge(i)-1 to avoid overflow.
8335 * testsuite/libgomp.fortran/reduction4.f90: Change
8336 Z'ffffffff' to not(0) to avoid overflow.
8337
8338 2006-08-26 Joseph S. Myers <joseph (a] codesourcery.com>
8339
8340 PR libgomp/25938
8341 * Makefile.am (libsubincludedir): New.
8342 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
8343 * Makefile.in: Regenerate.
8344
8345 2006-08-17 Jakub Jelinek <jakub (a] redhat.com>
8346
8347 PR libgomp/28725
8348 * env.c: Include ctype.h.
8349 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
8350 leading and/or trailing whitespace and compare strings case
8351 insensitively.
8352
8353 2006-07-16 Jakub Jelinek <jakub (a] redhat.com>
8354
8355 PR fortran/28390
8356 * testsuite/libgomp.fortran/pr28390.f: New test.
8357
8358 2006-07-05 Eric Christopher <echristo (a] apple.com>
8359
8360 * configure.ac: Depend addition of -pthread on host OS.
8361 * configure: Regenerate.
8362
8363 2006-06-21 Jakub Jelinek <jakub (a] redhat.com>
8364
8365 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
8366 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
8367 defined.
8368
8369 2006-06-20 Jakub Jelinek <jakub (a] redhat.com>
8370
8371 PR libgomp/26175
8372 PR libgomp/26477
8373 * configure.ac: If neither --enable-linux-futex nor
8374 --disable-linux-futex is passed, determine the default by checking
8375 for compiling and/or running against NPTL. With --enable-linux-futex,
8376 check if SYS_gettid and SYS_futex are defined.
8377 * configure: Rebuilt.
8378
8379 2006-06-14 Richard Henderson <rth (a] redhat.com>
8380
8381 PR libgomp/28008
8382 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
8383 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
8384
8385 2006-06-09 Richard Henderson <rth (a] redhat.com>
8386
8387 * env.c (gomp_nthreads_var): Change to unsigned long.
8388 (gomp_run_sched_chunk): Likewise.
8389 (parse_unsigned_long): Rename from parse_num_threads and generalize.
8390 (initialize_env): Initialize gomp_thread_attr.
8391 * libgomp.h (gomp_nthreads_var): Update decl.
8392 (gomp_run_sched_chunk): Likewise.
8393 (gomp_thread_attr): Declare.
8394 * team.c (gomp_thread_attr): Export.
8395 (initialize_team): Don't initialize it.
8396
8397 2006-06-09 Jakub Jelinek <jakub (a] redhat.com>
8398
8399 PR fortran/27916
8400 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
8401 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
8402
8403 2006-06-06 Francois-Xavier Coudert <coudert (a] clipper.ens.fr>
8404
8405 * config/mingw32/time.c: New file.
8406 * configure.tgt: Use it.
8407
8408 2006-05-23 Carlos O'Donell <carlos (a] codesourcery.com>
8409
8410 * Makefile.am: Add install-html target. Add install-html to .PHONY
8411 * Makefile.in: Regenerate.
8412
8413 2006-05-22 John David Anglin <dave.anglin (a] nrc-cnrc.gc.ca>
8414
8415 PR libgomp/27612
8416 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
8417 * testsuite/libgomp.c/critical-1.c: Likewise.
8418 * testsuite/libgomp.c/loop-1.c: Likewise.
8419 * testsuite/libgomp.c/loop-2.c: Likewise.
8420 * testsuite/libgomp.c/single-1.c: Likewise.
8421 * testsuite/libgomp.c/ordered-1.c: Likewise.
8422 * testsuite/libgomp.c/ordered-2.c: Likewise.
8423
8424 2006-05-15 Jakub Jelinek <jakub (a] redhat.com>
8425
8426 PR middle-end/27416
8427 * libgomp.fortran/pr27416-1.f90: New test.
8428
8429 2006-05-03 Jakub Jelinek <jakub (a] redhat.com>
8430
8431 PR fortran/27395
8432 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
8433 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
8434
8435 2006-05-02 Jakub Jelinek <jakub (a] redhat.com>
8436
8437 PR c++/26943
8438 * testsuite/libgomp.c/pr26943-1.c: New test.
8439 * testsuite/libgomp.c/pr26943-2.c: New test.
8440 * testsuite/libgomp.c/pr26943-3.c: New test.
8441 * testsuite/libgomp.c/pr26943-4.c: New test.
8442 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
8443 * testsuite/libgomp.c++/pr26943.C: New test.
8444
8445 2006-05-02 Jakub Jelinek <jakub (a] redhat.com>
8446
8447 PR middle-end/27337
8448 * testsuite/libgomp.c++/pr27337.C: New test.
8449
8450 2006-04-26 Jakub Jelinek <jakub (a] redhat.com>
8451
8452 PR c/26171
8453 * testsuite/libgomp.c/pr26171.c: New test.
8454
8455 2006-04-25 Richard Henderson <rth (a] redhat.com>
8456
8457 PR libgomp/25865
8458 * configure.ac: Use GCC_CHECK_TLS.
8459 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
8460 * Makefile.in, aclocal.m4, configure: Regenerate.
8461
8462 2006-04-10 Matthias Klose <doko (a] debian.org>
8463
8464 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
8465 directory names containing underscores.
8466
8467 2006-03-21 Jakub Jelinek <jakub (a] redhat.com>
8468
8469 PR c++/26691
8470 * testsuite/libgomp.c++/pr26691.C: New test.
8471
8472 2006-03-13 Jakub Jelinek <jakub (a] redhat.com>
8473
8474 * testsuite/libgomp.fortran/retval2.f90: New test.
8475
8476 2006-03-09 Diego Novillo <dnovillo (a] redhat.com>
8477
8478 * testsuite/libgomp.c++: New directory.
8479
8480 2006-02-25 Shantonu Sen <ssen (a] opendarwin.org>
8481
8482 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
8483 * config/posix/sem.c: Implement the above.
8484
8485 2006-02-25 Andreas Tobler <a.tobler (a] schweiz.ch>
8486
8487 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
8488 define HAVE_BROKEN_POSIX_SEMAPHORES.
8489 * configure: Rebuilt.
8490 * config.h.in: Rebuilt.
8491
8492 2006-02-17 Francois-Xavier Coudert <coudert (a] clipper.ens.fr>
8493
8494 PR bootstrap/26161
8495 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
8496 for the other pthread check.
8497 * configure: Regenerate.
8498 * config.h.in: Regenerate.
8499
8500 2006-02-15 Jakub Jelinek <jakub (a] redhat.com>
8501
8502 PR libgomp/25938
8503 PR libgomp/25984
8504 * Makefile.am (fincludedir): New variable.
8505 (nodist_include_HEADERS): Remove Fortran files.
8506 (nodist_finclude_HEADERS): New variable.
8507 * Makefile.in: Regenerated.
8508
8509 2006-02-13 Jakub Jelinek <jakub (a] redhat.com>
8510
8511 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
8512 Remove tests for returning assumed character length arrays.
8513
8514 2006-02-12 Roger Sayle <roger (a] eyesopen.com>
8515 John David Anglin <dave (a] hiauly1.hia.nrc.ca>
8516
8517 PR libgomp/25936
8518 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
8519
8520 2006-02-08 Ulrich Weigand <uweigand (a] de.ibm.com>
8521
8522 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
8523
8524 2006-02-07 Eric Botcazou <ebotcazou (a] libertysurf.fr>
8525
8526 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
8527 part of LD_LIBRARY_PATH manually.
8528
8529 2006-02-03 H.J. Lu <hongjiu.lu (a] intel.com>
8530
8531 PR libgomp/25852
8532 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
8533 libgomp_init.
8534
8535 2005-01-25 Paolo Bonzini <bonzini (a] gnu.org>
8536
8537 PR libgomp/25884
8538 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
8539 * configure.ac (PERL): Don't set.
8540 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
8541 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
8542 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
8543 * omp.h.in: Wrap the new configure substitutions with @ characters.
8544 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
8545 * aclocal.m4, configure, Makefile.in: Regenerate.
8546 * mkomp_h.pl: Delete.
8547
8548 2005-01-24 Paolo Bonzini <bonzini (a] gnu.org>
8549
8550 PR libgomp/25259
8551 * configure.ac: Use GCC_HEADER_STDINT.
8552 * libgomp.h: Include gstdint.h.
8553 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
8554 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
8555
8556 2006-01-24 Richard Henderson <rth (a] redhat.com>
8557
8558 PR libgomp/25942
8559 * configure.ac: Add AM_MAINTAINER_MODE.
8560 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
8561
8562 2006-01-24 Diego Novillo <dnovillo (a] redhat.com>
8563
8564 * Makefile.in: Regenerate.
8565 * testsuite/Makefile.in: Regenerate.
8566 * aclocal.m4: Regenerate.
8567
8568 2006-01-23 Andreas Tobler <a.tobler (a] schweiz.ch>
8569
8570 * config/posix/proc.c: Conditional include of sys/loadavg.h for
8571 Solaris.
8572 * configure.ac: Add check for loadavg.h.
8573 (link_gomp): Adjust comment.
8574 * configure: Regenerate.
8575 * config.h.in: Regenerate.
8576
8577 2006-01-21 Steve Ellcey <sje (a] cup.hp.com>
8578
8579 PR libgomp/25877
8580 * configure.ac: Remove check for alloca.h.
8581 * configure: Regenerate.
8582 * config.h.in: Regenerate.
8583 * libgomp.h: define gomp_alloca to be __builtin_alloca.
8584 * team.c: Remove use of alloca.h.
8585 Call gomp_alloca instead of alloca.
8586
8587 2006-01-20 Steve Ellcey <sje (a] cup.hp.com>
8588
8589 PR libgomp/25877
8590 * team.c: Add include of alloca.h.
8591 * configure.ac: Add check for alloca.h.
8592 * configure: Regenerate.
8593 * config.h.in: Regenerate.
8594
8595 2006-01-17 Jakub Jelinek <jakub (a] redhat.com>
8596
8597 PR fortran/25219
8598 * testsuite/libgomp.fortran/pr25219.f90: New test.
8599
8600 2005-12-05 Uros Bizjak <uros (a] kss-loka.si>
8601
8602 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
8603 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
8604 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
8605 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
8606 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
8607 testsuite/libgomp.fortran/threadprivate1.f90,
8608 testsuite/libgomp.fortran/threadprivate2.f90,
8609 testsuite/libgomp.fortran/threadprivate3.f90,
8610 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
8611 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
8612 testsuite/libgomp.fortran/omp_parse3.f90: Change required
8613 effective-target to TLS runtime.
8614
8615 * testsuite/libgomp.fortran/pr25162.f: Require
8616 effective-target TLS runtime.
8617
8618 2005-12-01 Jakub Jelinek <jakub (a] redhat.com>
8619
8620 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
8621 * testsuite/libgomp.c/nestedfn-3.c: New test.
8622
8623 2005-11-30 Jakub Jelinek <jakub (a] redhat.com>
8624
8625 PR fortran/25162
8626 * testsuite/libgomp.fortran/pr25162.f: New test.
8627
8628 2005-11-28 Jakub Jelinek <jakub (a] redhat.com>
8629
8630 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
8631 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
8632
8633 2005-11-25 Jakub Jelinek <jakub (a] redhat.com>
8634
8635 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
8636 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
8637 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
8638 single.c, team.c, work.c, config/linux/alpha/futex.h,
8639 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
8640 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
8641 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
8642 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
8643 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
8644 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
8645 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
8646 FSF address.
8647
8648 2005-11-18 Jakub Jelinek <jakub (a] redhat.com>
8649
8650 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
8651 to nodist_noinst_HEADERS.
8652 * Makefile.in: Rebuilt.
8653
8654 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
8655 add integer count field.
8656 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
8657 omp_nest_lock_t type change.
8658 (omp_init_nest_lock): Likewise. Initialize count to 0.
8659 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
8660 Increment count.
8661 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
8662 Decrement count.
8663 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
8664 Increment count if successful and return the new nesting level.
8665 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
8666 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
8667 * testsuite/libgomp.c/lib-1.c: New test.
8668 * testsuite/libgomp.fortran/lib1.f90: New test.
8669 * testsuite/libgomp.fortran/lib2.f: New test.
8670 * testsuite/libgomp.fortran/lib3.f: New test.
8671
8672 2005-11-17 Richard Henderson <rth (a] redhat.com>
8673
8674 PR 24845
8675 * Makefile.am (nodist_toolexeclib_HEADERS): New.
8676 * configure.ac (link_gomp): New. Substitute it.
8677 (AC_CONFIG_FILES): Add libgomp.spec.
8678 * libgomp.spec.in: New file.
8679 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
8680 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
8681
8682 2005-11-18 Jakub Jelinek <jakub (a] redhat.com>
8683
8684 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
8685 reduction(-:var) behaving the same as reduction(+:var).
8686 * testsuite/libgomp.c/reduction-4.c: New test.
8687
8688 2005-11-15 Uros Bizjak <uros (a] kss-loka.si>
8689
8690 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
8691 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
8692 testsuite/libgomp.c/copyin-3.c,
8693 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
8694 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
8695 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
8696 testsuite/libgomp.c++/pr24455.C,
8697 testsuite/libgomp.fortran/threadprivate1.f90,
8698 testsuite/libgomp.fortran/threadprivate2.f90,
8699 testsuite/libgomp.fortran/threadprivate3.f90,
8700 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
8701 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
8702 testsuite/libgomp.fortran/omp_parse3.f90: Require
8703 effective-target TLS.
8704
8705 2005-11-14 Diego Novillo <dnovillo (a] redhat.com>
8706
8707 * HEADER: Remove.
8708
8709 2005-11-13 Jakub Jelinek <jakub (a] redhat.com>
8710
8711 PR libgomp/24797
8712 * team.c (initialize_team): Pass NULL rather than free as
8713 pthread_key_create destructor. Initialize thread specific data
8714 pointer in initial thread to a static local variable rather than
8715 malloced memory.
8716
8717 2005-11-11 Uros Bizjak <uros (a] kss-loka.si>
8718
8719 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
8720 its location to ld_library_path.
8721
8722 2005-11-10 Diego Novillo <dnovillo (a] redhat.com>
8723
8724 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
8725
8726 2005-11-10 Diego Novillo <dnovillo (a] redhat.com>
8727
8728 * testsuite/libgomp.c: Rename from libgomp.dg.
8729
8730 2005-11-09 Diego Novillo <dnovillo (a] redhat.com>
8731
8732 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
8733 threadprivate variable 'i'.
8734
8735 2005-11-09 Jakub Jelinek <jakub (a] redhat.com>
8736
8737 * config/linux/s390/futex.h: New file.
8738 * configure.tgt: Use it.
8739
8740 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
8741 before the parallel.
8742
8743 2005-11-08 Jakub Jelinek <jakub (a] redhat.com>
8744
8745 PR c++/24734
8746 * testsuite/libgomp.c++/master-1.C: New test.
8747
8748 2005-11-07 Jakub Jelinek <jakub (a] redhat.com>
8749
8750 * testsuite/libgomp.dg/copyin-3.c: New test.
8751
8752 2005-11-07 Jakub Jelinek <jakub (a] redhat.com>
8753
8754 * testsuite/libgomp.fortran/retval1.f90: New test.
8755 * testsuite/libgomp.fortran/vla7.f90: New test.
8756
8757 2005-11-06 Jakub Jelinek <jakub (a] redhat.com>
8758
8759 * testsuite/libgomp.fortran/vla2.f90: New test.
8760 * testsuite/libgomp.fortran/vla3.f90: New test.
8761 * testsuite/libgomp.fortran/vla4.f90: New test.
8762 * testsuite/libgomp.fortran/vla5.f90: New test.
8763 * testsuite/libgomp.fortran/vla6.f90: New test.
8764
8765 2005-11-01 Jakub Jelinek <jakub (a] redhat.com>
8766
8767 * config/linux/sparc/futex.h: New file.
8768 * configure.tgt: Use it.
8769 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
8770
8771 * critical.c: Include stdlib.h.
8772 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
8773 ignoring return value.
8774 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
8775 LIBGOMP_CHECK_SYNC_BUILTINS check.
8776 * configure: Rebuilt.
8777
8778 2005-10-31 Jakub Jelinek <jakub (a] redhat.com>
8779
8780 * testsuite/libgomp.fortran/vla1.f90: New test.
8781
8782 2005-10-31 Richard Henderson <rth (a] redhat.com>
8783
8784 * testsuite/libgomp.fortran/character2.f90: Fix race condition
8785 setting 's' in different threads.
8786
8787 2005-10-31 Jakub Jelinek <jakub (a] redhat.com>
8788
8789 * libgomp.h (attribute_hidden, ialias): Define.
8790 * config/posix/proc.c (omp_get_num_procs): Add ialias.
8791 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
8792 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
8793 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
8794 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
8795 omp_test_lock, omp_test_nest_lock): Likewise.
8796 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
8797 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
8798 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
8799 omp_test_lock, omp_test_nest_lock): Likewise.
8800 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
8801 omp_get_dynamic, omp_get_nested): Likewise.
8802 * parallel.c (omp_get_num_threads, omp_get_max_threads,
8803 omp_get_thread_num, omp_in_parallel): Likewise.
8804 * fortran.c (ialias_redirect): Define.
8805 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
8806 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
8807 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
8808 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
8809 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
8810 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
8811 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
8812 omp_get_wtime): Add ialias_redirect.
8813
8814 2005-10-30 Jakub Jelinek <jakub (a] redhat.com>
8815
8816 * fortran.c: Include stdlib.h.
8817
8818 2005-10-29 Jakub Jelinek <jakub (a] redhat.com>
8819
8820 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
8821 * Makefile.in: Regenerated.
8822
8823 2005-10-28 Jakub Jelinek <jakub (a] redhat.com>
8824
8825 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
8826 * libgomp_f.h.in (omp_check_defines): New function.
8827 * env.c: Include libgomp_f.h.
8828 (initialize_env): Call omp_check_defines.
8829
8830 * testsuite/libgomp.dg/copyin-2.c: New test.
8831 * testsuite/libgomp.c++/copyin-2.C: New test.
8832 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
8833
8834 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
8835 * testsuite/libgomp.fortran/sharing2.f90: New test.
8836
8837 * testsuite/libgomp.dg/copyin-1.c: New test.
8838 * testsuite/libgomp.c++/copyin-1.C: New test.
8839
8840 2005-10-26 Jakub Jelinek <jakub (a] redhat.com>
8841
8842 * testsuite/libgomp.fortran/crayptr1.f90: New test.
8843
8844 * testsuite/libgomp.fortran/workshare1.f90: New test.
8845
8846 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
8847 only test.
8848 * libgomp.fortran/sharing1.f90: New test.
8849
8850 2005-10-24 Jakub Jelinek <jakub (a] redhat.com>
8851
8852 PR c++/24502
8853 * testsuite/libgomp.c++/loop-7.C: New test.
8854
8855 * testsuite/libgomp.dg/nestedfn-2.c: New test.
8856
8857 * testsuite/libgomp.dg/nestedfn-1.c: New test.
8858 * testsuite/libgomp.fortran/reduction6.f90: New test.
8859 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
8860
8861 2005-10-23 Richard Henderson <rth (a] redhat.com>
8862
8863 * testsuite/libgomp.c++/ctor-1.C: New.
8864 * testsuite/libgomp.c++/ctor-2.C: New.
8865 * testsuite/libgomp.c++/ctor-3.C: New.
8866 * testsuite/libgomp.c++/ctor-4.C: New.
8867 * testsuite/libgomp.c++/ctor-5.C: New.
8868 * testsuite/libgomp.c++/ctor-6.C: New.
8869 * testsuite/libgomp.c++/ctor-7.C: New.
8870 * testsuite/libgomp.c++/ctor-8.C: New.
8871 * testsuite/libgomp.c++/ctor-9.C: New.
8872
8873 2005-10-21 Diego Novillo <dnovillo (a] redhat.com>
8874
8875 PR 24455
8876 * testsuite/libgomp.c++/pr24455-1.C: New test.
8877 * testsuite/libgomp.c++/pr24455.C: New test.
8878 * testsuite/libgomp.dg/pr24455-1.c: New test.
8879 * testsuite/libgomp.dg/pr24455.c: New test.
8880
8881 2005-10-20 Richard Henderson <rth (a] redhat.com>
8882
8883 * testsuite/libgomp.c++/loop-6.C: New.
8884 * testsuite/libgomp.dg/loop-3.c: New.
8885
8886 2005-10-20 Jakub Jelinek <jakub (a] redhat.com>
8887
8888 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
8889 explicitly private.
8890 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
8891 explicitly shared.
8892
8893 2005-10-19 Diego Novillo <dnovillo (a] redhat.com>
8894
8895 * testsuite/libgomp.fortran/jacobi.f: New test.
8896
8897 2005-10-19 Richard Henderson <rth (a] redhat.com>
8898
8899 * configure.tgt (i?86-linux): Default to with_arch instead of
8900 CFLAGS. Add -mtune to match target_cpu.
8901 (x86_64-linux): Tune to i686.
8902
8903 * fortran.c (omp_test_nest_lock_): Fix typo.
8904
8905 2005-10-19 Jakub Jelinek <jakub (a] redhat.com>
8906
8907 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
8908 gomp_ordered_sync): Do nothing if team->nthreads == 1.
8909 * testsuite/libgomp.dg/ordered-3.c: New test.
8910
8911 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
8912 Remove volatile keyword.
8913
8914 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
8915 in COMMON block to avoid warnings on 64-bit targets.
8916
8917 2005-10-18 Diego Novillo <dnovillo (a] redhat.com>
8918
8919 * testsuite/libgomp.dg/shared-3.c: New test.
8920
8921 2005-10-18 Jakub Jelinek <jakub (a] redhat.com>
8922
8923 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
8924 * testsuite/libgomp.fortran/reduction5.f90: New test.
8925
8926 2005-10-18 Jakub Jelinek <jakub (a] redhat.com>
8927
8928 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
8929 dg-options.
8930 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
8931 flush loop now that __sync_synchronize has proper memory barrier.
8932 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
8933 Add -ffixed-form to dg-options.
8934
8935 2005-10-17 Diego Novillo <dnovillo (a] redhat.com>
8936
8937 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
8938 from subdirectories.
8939 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
8940 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
8941 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
8942 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
8943 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
8944 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
8945 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
8946 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
8947 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
8948 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
8949 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
8950 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
8951 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
8952 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
8953 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
8954 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
8955 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
8956 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
8957 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
8958 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
8959 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
8960 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
8961 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
8962 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
8963 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
8964
8965 2005-10-17 Jakub Jelinek <jakub (a] redhat.com>
8966
8967 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
8968 lang_library_path exists. Use find instead of glob to gather tests.
8969 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
8970
8971 2005-10-17 Diego Novillo <dnovillo (a] redhat.com>
8972
8973 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
8974 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
8975 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
8976 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
8977 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
8978 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
8979 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
8980 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
8981 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
8982 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
8983 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
8984 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
8985 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
8986
8987 2005-10-15 Jakub Jelinek <jakub (a] redhat.com>
8988
8989 * testsuite/libgomp.dg/vla-1.c: New test.
8990
8991 * testsuite/libgomp.fortran/reference2.f90: New test.
8992
8993 * testsuite/libgomp.fortran/character2.f90: Remove explicit
8994 declaration of omp_get_thread_num.
8995 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
8996 use omp_lib.
8997
8998 * testsuite/libgomp.fortran/reduction1.f90: New test.
8999 * testsuite/libgomp.fortran/reduction2.f90: New test.
9000 * testsuite/libgomp.fortran/reduction3.f90: New test.
9001 * testsuite/libgomp.fortran/reduction4.f90: New test.
9002
9003 2005-10-13 Richard Henderson <rth (a] redhat.com>
9004
9005 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
9006 * Makefile.in: Regenerate.
9007 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
9008 * libgomp.h: Include bar.h.
9009 (struct gomp_barrier): Remove.
9010 (struct gomp_team): Add barrier. Replace master_barrier with
9011 master_release. Replace threads with ordered_release.
9012 (struct gomp_thread): Replace barrier with release.
9013 * ordered.c (gomp_ordered_first): Update for ordered_release change.
9014 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
9015 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
9016 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
9017 (GOMP_single_copy_end): Likewise.
9018 * team.c (gomp_threads_dock): New.
9019 (gomp_barrier_init, gomp_barrier_destroy): Remove.
9020 (gomp_thread_start): Use gomp_barrier_wait.
9021 (new_team, free_team): Update for gomp_team changes.
9022 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
9023 (gomp_team_end): Use gomp_barrier_wait.
9024 (initialize_team): Update for gomp_thread changes.
9025 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
9026 (gomp_work_share_end_nowait): Use atomic ops when available.
9027 * config/linux/bar.c, config/linux/bar.h: New files.
9028 * config/posix/bar.c, config/posix/bar.h: New files.
9029
9030 2005-10-13 Jakub Jelinek <jakub (a] redhat.com>
9031
9032 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
9033 * testsuite/libgomp.dg/single-2.c: New test.
9034
9035 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
9036 lang_link_flags): Unset, so that they aren't inherited from previously
9037 sourced *.exp.
9038
9039 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
9040
9041 2005-10-12 Richard Henderson <rth (a] redhat.com>
9042
9043 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
9044 (libgomp_init): Use lang_test_file, lang_library_path, and
9045 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
9046
9047 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
9048 (lang_test_file, lang_link_flags): New.
9049 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
9050
9051 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
9052 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
9053 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
9054 testsuite/libgomp.c++/parallel-1.C,
9055 testsuite/libgomp.c++/reduction-1.C,
9056 testsuite/libgomp.c++/reduction-2.C,
9057 testsuite/libgomp.c++/reduction-3.C,
9058 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
9059 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
9060 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
9061 New files, largely cribbed from the C testsuite.
9062
9063 2005-10-12 Jakub Jelinek <jakub (a] redhat.com>
9064
9065 * testsuite/libgomp.fortran/character1.f90: New test.
9066 * testsuite/libgomp.fortran/character2.f90: New test.
9067
9068 * testsuite/libgomp.dg/nested-1.c: New test.
9069 * testsuite/libgomp.dg/nested-2.c: New test.
9070 * testsuite/libgomp.fortran/do1.f90: New test.
9071 * testsuite/libgomp.fortran/do2.f90: New test.
9072
9073 * testsuite/libgomp.fortran/reference1.f90: New test.
9074
9075 2005-10-11 Jakub Jelinek <jakub (a] redhat.com>
9076
9077 * testsuite/libgomp.dg/reduction-1.c: New test.
9078 * testsuite/libgomp.dg/reduction-2.c: New test.
9079 * testsuite/libgomp.dg/reduction-3.c: New test.
9080
9081 2005-10-10 Jakub Jelinek <jakub (a] redhat.com>
9082
9083 * testsuite/libgomp.dg/atomic-1.c: New test.
9084 * testsuite/libgomp.dg/atomic-2.c: New test.
9085
9086 2005-10-09 Richard Henderson <rth (a] redhat.com>
9087
9088 * critical.c (atomic_lock): New.
9089 (initialize_critical): Initialize it.
9090 (GOMP_atomic_start, GOMP_atomic_end): New.
9091 * libgomp.map: Export them.
9092 * libgomp_g.h: Declare them.
9093
9094 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
9095
9096 2005-10-02 Richard Henderson <rth (a] redhat.com>
9097
9098 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
9099 to XCFLAGS instead of CFLAGS.
9100
9101 2005-09-30 Richard Henderson <rth (a] redhat.com>
9102
9103 * configure.ac: Determine whether -pthread or -lpthread is needed.
9104 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
9105 * Makefine.in, configure: Rebuild.
9106
9107 2005-09-28 Richard Henderson <rth (a] redhat.com>
9108
9109 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
9110 * testsuite/libgomp.dg/omp-single-3.c: New test.
9111
9112 2005-09-28 Diego Novillo <dnovillo (a] redhat.com>
9113
9114 * testsuite/libgomp.dg/omp-single-2.c: New test.
9115 * testsuite/libgomp.dg/shared-2.c: Fix return code.
9116
9117 2005-09-27 Richard Henderson <rth (a] redhat.com>
9118
9119 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
9120 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
9121
9122 2005-09-27 Jakub Jelinek <jakub (a] redhat.com>
9123
9124 * testsuite/libgomp.dg/omp-loop03.c: New test.
9125
9126 2005-09-27 Diego Novillo <dnovillo (a] redhat.com>
9127
9128 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
9129
9130 2005-09-27 Diego Novillo <dnovillo (a] redhat.com>
9131
9132 * testsuite/libgomp.dg/omp-single-1.c: New test.
9133 * testsuite/libgomp.dg/shared-1.c: Return 0.
9134 Add prototype for abort.
9135 * testsuite/libgomp.dg/shared-2.c: Likewise.
9136
9137 2005-09-26 Jakub Jelinek <jakub (a] redhat.com>
9138
9139 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
9140 constructs.
9141
9142 2005-09-26 Diego Novillo <dnovillo (a] redhat.com>
9143
9144 * testsuite/libgomp.dg/shared-1.c: New test.
9145 * testsuite/libgomp.dg/shared-2.c: New test.
9146
9147 2005-09-24 Richard Henderson <rth (a] redhat.com>
9148
9149 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
9150
9151 2005-09-24 Richard Henderson <rth (a] redhat.com>
9152
9153 * iter.c (gomp_iter_static_next): Round up when computing number
9154 of iterations. Don't bother distributing a remainder equally.
9155
9156 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
9157 Don't call srand. Zero b before testing.
9158 (main): New.
9159
9160 2005-09-24 Jakub Jelinek <jakub (a] redhat.com>
9161
9162 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
9163 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
9164
9165 2005-09-23 Jakub Jelinek <jakub (a] redhat.com>
9166
9167 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
9168 without !$omp end do, followed immediately by subroutine end.
9169
9170 2005-09-23 Diego Novillo <dnovillo (a] redhat.com>
9171
9172 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
9173
9174 2005-09-22 Richard Henderson <rth (a] redhat.com>
9175
9176 * critical.c (GOMP_critical_name_start): Change argument to void**.
9177 Reuse the pointer space if the mutex fits.
9178 (GOMP_critical_name_end): Likewise.
9179 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
9180 * libgomp_g.h (GOMP_critical_name_start): Update decl.
9181 (GOMP_critical_name_end): Likewise.
9182 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
9183 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
9184
9185 2005-09-20 Richard Henderson <rth (a] redhat.com>
9186
9187 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
9188 (create_lock_lock): New.
9189 (initialize_critical): Initialize it.
9190 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
9191 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
9192
9193 2005-09-20 Diego Novillo <dnovillo (a] redhat.com>
9194
9195 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
9196
9197 2005-09-20 Diego Novillo <dnovillo (a] redhat.com>
9198
9199 * testsuite/libgomp.dg/omp-loop01.c: New test.
9200 * testsuite/libgomp.dg/omp-loop02.c: New test.
9201
9202 2005-09-20 Jakub Jelinek <jakub (a] redhat.com>
9203
9204 * configure.ac (AC_PROG_FC): Add.
9205 (USE_FORTRAN): New automake conditional.
9206 * configure: Rebuilt.
9207 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
9208 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
9209 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
9210 Add rules to build them.
9211 * Makefile.in: Rebuilt.
9212 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
9213 OMP_NEST_LOCK_KIND.
9214 * libgomp.map: Add Fortran wrappers.
9215 * libgomp_f.h.in: New file.
9216 * omp_lib.h.in: New file.
9217 * omp_lib.f90.in: New file.
9218 * fortran.c: New file.
9219 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
9220 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
9221 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
9222 libgfortran has been built.
9223 * testsuite/libgomp.fortran/fortran.exp: New file.
9224 * testsuite/libgomp.fortran/omp_cond1.f: New test.
9225 * testsuite/libgomp.fortran/omp_cond2.f: New test.
9226 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
9227 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
9228 * testsuite/libgomp.fortran/omp_hello.f: New test.
9229 * testsuite/libgomp.fortran/omp_orphan.f: New test.
9230 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
9231 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
9232 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
9233 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
9234 * testsuite/libgomp.fortran/omp_reduction.f: New test.
9235 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
9236 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
9237
9238 2005-08-30 Richard Henderson <rth (a] redhat.com>
9239
9240 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
9241 function for when aliases are not usable.
9242 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
9243 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
9244 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
9245 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
9246 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
9247 GOMP_loop_ordered_guided_next): Likewise.
9248 * ordered.c (GOMP_ordered_start): Likewise.
9249
9250 2005-08-01 Diego Novillo <dnovillo (a] redhat.com>
9251
9252 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
9253 * testsuite/libgomp.dg/omp_hello.c: Fix return code
9254 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
9255 * testsuite/libgomp.dg/omp_orphan.c: Likewise
9256 * testsuite/libgomp.dg/omp_reduction.c: Likewise
9257 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
9258 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
9259 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
9260 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
9261
9262 2005-07-07 Eric Christopher <echristo (a] redhat.com>
9263 Diego Novillo <dnovillo (a] redhat.com>
9264
9265 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
9266 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
9267 up code.
9268 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
9269 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
9270 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
9271 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
9272 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
9273 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
9274 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
9275
9276 2005-06-13 Diego Novillo <dnovillo (a] redhat.com>
9277
9278 * TOPLEVEL.patch: Remove.
9279
9280 2005-05-16 Richard Henderson <rth (a] redhat.com>
9281
9282 * configure.ac: Test for clock_gettime.
9283 * config.h.in, configure: Rebuild.
9284 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
9285 (omp_get_wtime): Use clock_gettime if available.
9286 (omp_get_wtick): Use clock_getres if available.
9287
9288 2005-05-11 Richard Henderson <rth (a] redhat.com>
9289
9290 * config/linux/ia64/futex.h: New file.
9291 * configure.tgt: Use it.
9292
9293 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
9294
9295 2005-05-07 Richard Henderson <rth (a] redhat.com>
9296
9297 * config/linux/powerpc/futex.h: New file.
9298 * configure.tgt: Use it.
9299
9300 * config/linux/i486/futex.h: Merge ...
9301 * config/linux/x86_64/futex.h: ... into ...
9302 * config/linux/x86/futex.h: ... here.
9303 * configure.tgt: Update to match.
9304
9305 2005-05-06 Richard Henderson <rth (a] redhat.com>
9306
9307 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
9308 * config/linux/i486/futex.h: Likewise.
9309 * config/linux/x86_64/futex.h: Likewise.
9310
9311 * config/linux/lock.c: New file.
9312 * config/linux/omp-lock.h: New file.
9313
9314 * critical.c, env.h: Don't include omp.h
9315 * config/posix/lock.c: Include libgomp.h instead of omp.h.
9316 * config/posix/time.c: Likewise.
9317 * config/posix/omp-lock.h: New file.
9318 * libgomp.h: Include omp-lock.h and omp.h.
9319 * Makefile.am (nodist_include_HEADERS): New.
9320 (omp.h): New rule.
9321 * configure.ac (PERL): New.
9322 * mkomp_h.pl: New file.
9323 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
9324 with templates.
9325 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
9326
9327 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
9328 build directory. Re-add -march=i486 hack.
9329
9330 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
9331 (libgomp_link_flags): Remove.
9332 (libgomp_initialized): Remove.
9333 (libgomp_init): Don't protect from reinitialization. Copy code
9334 from libstdc++ for getting the multilib set correctly.
9335
9336 2005-05-05 Richard Henderson <rth (a] redhat.com>
9337
9338 * config/linux/alpha/futex.h: New file.
9339 * configure.tgt (alpha*-*-linux*): Use it.
9340
9341 * config/posix/mutex.c: New file.
9342 * config/posix/sem.c: Use libgomp.h.
9343
9344 * configure.tgt (x86_64-linux): Also test CC for -m32.
9345 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
9346
9347 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
9348 after $gccpath.
9349
9350 * Makefile.am (SUBDIRS): New.
9351 (libgomp_la_LDFLAGS): Add -lpthread.
9352 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
9353 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
9354
9355 * libgomp_g.h: New file.
9356 * libgomp.h: Split out all public declarations to libgomp_g.h.
9357 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
9358 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
9359 * config/linux/sem.h: Likewise.
9360 * config/posix/sem.h: Likewise.
9361
9362 * Makefile.am (AM_LDFLAGS): New.
9363 (libgomp_version_script): Split out from ...
9364 (libgomp_la_LDFLAGS): ... here.
9365 (libgomp_version_info): New.
9366 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
9367 (LIBGOMP_ENABLE): New.
9368 (LIBGOMP_CHECK_LINKER_FEATURES): New.
9369 (LIBGOMP_ENABLE_SYMVERS): New.
9370 * configure.ac (AC_INIT): Version 1.0.
9371 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
9372 (enable-linux-futex): Likewise. Rename from enable-futex.
9373 (libtool_VERSION): New.
9374 (LIBGOMP_ENABLE_SYMVERS): Use it.
9375 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
9376 * Makefile.in, aclocal.m4, configure: Rebuild.
9377
9378 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
9379 (gomp_mutex_unlock_slow): Fix typo.
9380 * config/linux/sem.c: Similarly.
9381 (gomp_sem_post_slow): Fix typo.
9382 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
9383 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
9384 [__PIC__] (sys_futex0): Don't use tmp output in asm.
9385
9386 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
9387 (libgomp_la_LDFLAGS): Add top_srcdir to path.
9388 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
9389 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
9390 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
9391 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
9392 LDFLAGS. Pull enable_futex check to top-level.
9393 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
9394 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
9395
9396 First attempt at real configury.
9397 * Makefile, config.h: Remove file.
9398 * Makefile.am, Makefile.in: New file.
9399 * acinclude.m4 aclocal.m4: New file.
9400 * configure.ac, configure.tgt, configure: New file.
9401
9402 * config/posix/lock.c: Rename from sys-lock.c.
9403 * config/posix/mutex.h: Rename from sys-mutex.h.
9404 * config/posix/sem.c: Rename from sys-sem.c.
9405 * config/posix/sem.h: Rename from sys-sem.h.
9406 * config/posix/proc.c: Rename from sys-proc.c.
9407 * config/posix/time.c: Rename from sys-proc.c.
9408
9409 * config/linux/mutex.c: New file.
9410 * config/linux/mutex.h: New file.
9411 * config/linux/sem.c: New file.
9412 * config/linux/sem.h: New file.
9413 * config/linux/i486/futex.h: New file.
9414 * config/linux/x86_64/futex.h: New file.
9415
9416 2005-05-04 Richard Henderson <rth (a] redhat.com>
9417
9418 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
9419 * libgomp.h: Declare them.
9420 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
9421 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
9422
9423 2005-05-04 Richard Henderson <rth (a] redhat.com>
9424
9425 * libgomp-1 code drop
9426
9427 2005-05-04 Richard Henderson <rth (a] redhat.com>
9428
9429 * iter.c (gomp_iter_static_next): Return tri-state on 0.
9430 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
9431 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
9432 (gomp_iter_static_next): Update.
9433 (gomp_ordered_static_next): Update.
9434 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
9435 (gomp_loop_ordered_static_start): Likewise. Exit early for a
9436 totally empty range.
9437 (gomp_loop_ordered_static_next): Refine test for calling
9438 gomp_ordered_static_next.
9439 * testsuite/ordered-1.c: Add case for more threads than iterations.
9440
9441 * iter.c (gomp_iter_runtime_next_locked): Remove.
9442 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
9443 gomp_loop_guided_start, gomp_loop_ordered_static_start,
9444 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
9445 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
9446 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
9447 gomp_loop_ordered_guided_next): Downcase name, make static, add
9448 an external alias with the old name.
9449 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
9450 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
9451 switch and call one of the above static functions.
9452 * libgomp.h: Update.
9453
9454 * work.c (gomp_work_share_start): Lock the mutex for !first too.
9455 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
9456 GOMP_loop_guided_start, GOMP_loop_runtime_start,
9457 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
9458 GOMP_loop_ordered_guided_start): Update to match.
9459 * sections.c (GOMP_sections_start): Likewise.
9460 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
9461
9462 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
9463 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
9464 Use bounds check instead of modulus.
9465 (gomp_ordered_sync): Split out of GOMP_ordered_start.
9466 (gomp_ordered_last): Don't sync with ordered_owner here.
9467 (gomp_ordered_next): Likewise.
9468 (gomp_ordered_static_loop_next): Likewise.
9469 * loop.c, libgomp.h: Update to match.
9470
9471 * libgomp.h (GOMP_barrier): Declare.
9472
9473 * testsuite/barrier-1.c: New file.
9474 * testsuite/critical-1.c: New file.
9475 * testsuite/ordered-2.c: New file.
9476 * testsuite/ordered-1.c: New file.
9477 * testsuite/sections-1.c: New file.
9478 * testsuite/single-1.c: New file.
9479 * testsuite/Makefile (TESTS): Add them.
9480
9481 2005-05-04 Richard Henderson <rth (a] redhat.com>
9482
9483 * libgomp.h (struct gomp_work_share): Add ordered_owner.
9484 * loop.c (GOMP_loop_static_start): If not the startup thread,
9485 acquire the mutex to wait for initialization complete.
9486 (GOMP_loop_ordered_static_start): Likewise.
9487 (GOMP_loop_ordered_runtime_start): Likewise.
9488 (GOMP_loop_ordered_static_first): Remove.
9489 (GOMP_loop_ordered_dynamic_first): Remove.
9490 (GOMP_loop_ordered_guided_first): Remove.
9491 (GOMP_loop_ordered_runtime_first): Remove.
9492 * ordered.c (gomp_ordered_loop_first): Post to own release when
9493 we're the first thread.
9494 (gomp_ordered_loop_last): Wait on release if not owner.
9495 (gomp_ordered_loop_next): Likewise.
9496 (gomp_ordered_static_loop_init): New.
9497 (gomp_ordered_static_loop_next): Use ordered_owner.
9498 (GOMP_ordered_start): Likewise.
9499 * work.c (gomp_new_work_share): Initialize ordered_owner.
9500
9501 2005-05-03 Richard Henderson <rth (a] redhat.com>
9502
9503 * Makefile (OPT): New.
9504 (CFLAGS): Use it.
9505
9506 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
9507 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
9508 * libgomp.h, libgomp.map, NOTES: Update to match.
9509
9510 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
9511 Add initialized and thr members.
9512 (gomp_thread_start): Pause when initially spawned to wait for
9513 the whole team to be created.
9514 (gomp_team_start): Release team members at the end.
9515
9516 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
9517 (f_foo_1): Use GOMP_loop_end.
9518 (f_foo_2): Use GOMP_loop_end_nowait.
9519
9520 * testsuite/loop-2.c: New file.
9521 * testsuite/Makefile (TESTS): Add it.
9522
9523 2005-05-03 Richard Henderson <rth (a] redhat.com>
9524
9525 * iter.c (gomp_iter_static_next): Fix overflow check typo.
9526 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
9527 * team.c (new_team): Initialize oldest_live_gen to 1 if no
9528 initial work_share.
9529
9530 * testsuite/Makefile: New file.
9531 * testsuite/loop-1.c: New file.
9532
9533 2005-05-03 Richard Henderson <rth (a] redhat.com>
9534
9535 Initial implementation and checkin.
9536
9538 Copyright (C) 2005-2018 Free Software Foundation, Inc.
9539
9540 Copying and distribution of this file, with or without modification,
9541 are permitted in any medium without royalty provided the copyright
9542 notice and this notice are preserved.
9543