[nvptx offloading] Only 64-bit configurations are currently supported
[gcc.git] / libgomp / ChangeLog
1 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
2
3 PR libgomp/65099
4 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
5 in a 64-bit configuration.
6 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
7 offloading testing if no such device is available.
8 * testsuite/libgomp.oacc-c/c.exp: Likewise.
9 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
10
11 2015-07-08 Tom de Vries <tom@codesourcery.com>
12
13 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
14 second call to f.
15 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
16
17 2015-07-07 Tom de Vries <tom@codesourcery.com>
18
19 PR tree-optimization/66642
20 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
21 iteration count case.
22 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
23 function, factor out of ...
24 (main): ... here. Test low iteration count case.
25
26 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
27
28 * libgomp.h (gomp_thread_pool): Comment last_team field.
29
30 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
31
32 * testsuite/libgomp.c++/pr66702-1.C: Require
33 vect_simd_clones effective target.
34 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
35
36 2015-06-30 Tom de Vries <tom@codesourcery.com>
37
38 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
39 already set. Use DEFAULT_CFLAGS in dg-runtest.
40 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
41 "-O2".
42
43 2015-06-30 Tom de Vries <tom@codesourcery.com>
44
45 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
46 already set. Use DEFAULT_CFLAGS in dg-runtest.
47 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
48 * testsuite/libgomp.c++/pr64824.C: Same.
49 * testsuite/libgomp.c++/pr64868.C: Same.
50 * testsuite/libgomp.c++/pr66199-1.C: Same.
51 * testsuite/libgomp.c++/pr66199-2.C: Same.
52 * testsuite/libgomp.c++/target-2.C: Same.
53 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
54 -std=<standard> option.
55 * testsuite/libgomp.c++/udr-11.C: Same.
56 * testsuite/libgomp.c++/udr-12.C: Same.
57 * testsuite/libgomp.c++/udr-13.C: Same.
58 * testsuite/libgomp.c++/udr-14.C: Same.
59 * testsuite/libgomp.c++/udr-15.C: Same.
60 * testsuite/libgomp.c++/udr-16.C: Same.
61 * testsuite/libgomp.c++/udr-17.C: Same.
62 * testsuite/libgomp.c++/udr-18.C: Same.
63 * testsuite/libgomp.c++/udr-19.C: Same.
64 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
65 * testsuite/libgomp.c++/simd-1.C: Same.
66 * testsuite/libgomp.c++/simd-2.C: Same.
67 * testsuite/libgomp.c++/simd-3.C: Same.
68 * testsuite/libgomp.c++/simd-4.C: Same.
69 * testsuite/libgomp.c++/simd-5.C: Same.
70 * testsuite/libgomp.c++/simd-6.C: Same.
71 * testsuite/libgomp.c++/simd-7.C: Same.
72 * testsuite/libgomp.c++/simd-8.C: Same.
73 * testsuite/libgomp.c++/simd-9.C: Same.
74 * testsuite/libgomp.c++/simd10.C: Same.
75 * testsuite/libgomp.c++/simd11.C: Same.
76 * testsuite/libgomp.c++/simd12.C: Same.
77 * testsuite/libgomp.c++/simd13.C: Same.
78
79 2015-06-30 Jakub Jelinek <jakub@redhat.com>
80
81 PR middle-end/66702
82 * testsuite/libgomp.c++/pr66702-1.C: New test.
83 * testsuite/libgomp.c++/pr66702-2.C: New test.
84
85 2015-06-30 Tom de Vries <tom@codesourcery.com>
86
87 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
88 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
89 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
90 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
91
92 2015-06-30 Tom de Vries <tom@codesourcery.com>
93
94 PR tree-optimization/66652
95 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
96 using restrict pointers.
97 (main): Add arguments to calls to f.
98 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
99
100 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
101
102 * configure.ac: Fix check for header <sys/sysctl.h>.
103 * configure: Regenerate.
104 * config.h.in: Likewise.
105
106 2015-06-23 Tom de Vries <tom@codesourcery.com>
107
108 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
109 abort.
110 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
111
112 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
113
114 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
115 acc_device_nvidia.
116
117 PR libgomp/66518
118 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
119 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
120
121 2015-06-15 Tom de Vries <tom@codesourcery.com>
122
123 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
124 dg-additional-options for any remaining options.
125 * testsuite/libgomp.c/atomic-2.c: Same.
126 * testsuite/libgomp.c/atomic-4.c: Same.
127 * testsuite/libgomp.c/atomic-5.c: Same.
128 * testsuite/libgomp.c/atomic-6.c: Same.
129 * testsuite/libgomp.c/autopar-1.c: Same.
130 * testsuite/libgomp.c/copyin-1.c: Same.
131 * testsuite/libgomp.c/copyin-2.c: Same.
132 * testsuite/libgomp.c/copyin-3.c: Same.
133 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
134 * testsuite/libgomp.c/nestedfn-5.c: Same.
135 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
136 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
137 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
138 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
139 * testsuite/libgomp.c/pr32362-1.c: Same.
140 * testsuite/libgomp.c/pr32362-2.c: Same.
141 * testsuite/libgomp.c/pr32362-3.c: Same.
142 * testsuite/libgomp.c/pr39591-1.c: Same.
143 * testsuite/libgomp.c/pr39591-2.c: Same.
144 * testsuite/libgomp.c/pr39591-3.c: Same.
145 * testsuite/libgomp.c/pr58392.c: Same.
146 * testsuite/libgomp.c/pr58756.c: Same.
147 * testsuite/libgomp.c/simd-1.c: Same.
148 * testsuite/libgomp.c/simd-10.c: Same.
149 * testsuite/libgomp.c/simd-11.c: Same.
150 * testsuite/libgomp.c/simd-12.c: Same.
151 * testsuite/libgomp.c/simd-13.c: Same.
152 * testsuite/libgomp.c/simd-14.c: Same.
153 * testsuite/libgomp.c/simd-15.c: Same.
154 * testsuite/libgomp.c/simd-2.c: Same.
155 * testsuite/libgomp.c/simd-3.c: Same.
156 * testsuite/libgomp.c/simd-4.c: Same.
157 * testsuite/libgomp.c/simd-5.c: Same.
158 * testsuite/libgomp.c/simd-6.c: Same.
159 * testsuite/libgomp.c/simd-7.c: Same.
160 * testsuite/libgomp.c/simd-8.c: Same.
161 * testsuite/libgomp.c/simd-9.c: Same.
162
163 2015-06-15 Tom de Vries <tom@codesourcery.com>
164
165 * testsuite/libgomp.c/pr35625.c: Fix typo.
166
167 2015-06-15 Tom de Vries <tom@codesourcery.com>
168
169 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
170 in dg-options.
171 * testsuite/libgomp.c/atomic-3.c: Same.
172 * testsuite/libgomp.c/debug-1.c: Same.
173 * testsuite/libgomp.c/nqueens-1.c: Same.
174 * testsuite/libgomp.c/pr26171.c: Same.
175 * testsuite/libgomp.c/pr48591.c: Same.
176 * testsuite/libgomp.c/pr64824.c: Same.
177 * testsuite/libgomp.c/pr64868.c: Same.
178 * testsuite/libgomp.c/pr66133.c: Same.
179 * testsuite/libgomp.c/pr66199-1.c: Same.
180 * testsuite/libgomp.c/pr66199-2.c: Same.
181 * testsuite/libgomp.c/target-8.c: Same.
182
183 2015-06-15 Tom de Vries <tom@codesourcery.com>
184
185 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
186 -std={gnu99,c99}.
187 * testsuite/libgomp.c/for-1.c: Same.
188 * testsuite/libgomp.c/for-2.c: Same.
189 * testsuite/libgomp.c/for-3.c: Same.
190 * testsuite/libgomp.c/pr35625.c: Same.
191 * testsuite/libgomp.c/pr39154.c: Same.
192 * testsuite/libgomp.c/simd-16.c: Same.
193 * testsuite/libgomp.c/simd-17.c: Same.
194
195 2015-06-13 Tom de Vries <tom@codesourcery.com>
196
197 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
198
199 2015-06-13 Tom de Vries <tom@codesourcery.com>
200
201 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
202 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
203 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
204 (N): Define.
205 (main): Use N instead of hardcoded constants.
206
207 2015-06-05 Tom de Vries <tom@codesourcery.com>
208
209 merge from gomp4 branch:
210 2015-05-28 Tom de Vries <tom@codesourcery.com>
211
212 PR tree-optimization/65443
213 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
214 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
215 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
216
217 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
218
219 * testsuite/libgomp.graphite/bounds.c: Adjust for
220 cleanup-tree-dump removal.
221 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
222 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
223 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
224 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
225 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
226 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
227 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
228 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
229 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
230 * testsuite/libgomp.graphite/pr41118.c: Likewise.
231
232 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
233
234 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
235 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
236 (futex_wake) [!__x86_64__]: Ditto.
237
238 2015-05-28 Julian Brown <julian@codesourcery.com>
239
240 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
241 function comment. Only call gomp_fatal if new argument is true.
242 (acc_dev_num_out_of_range): New function.
243 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
244 acc_dev_num_out_of_range as appropriate.
245 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
246 (acc_get_device_num, acc_set_device_num): Update calls to
247 resolve_device.
248 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
249 output.
250
251 2015-05-28 Julian Brown <julian@codesourcery.com>
252
253 PR libgomp/65742
254 * oacc-init.c (plugin/plugin-host.h): Include.
255 (acc_on_device): Check whether we're in an offloaded region for
256 host_nonshm
257 plugin. Don't use __builtin_acc_on_device.
258 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
259 nonshm_exec flag in thread-local data.
260 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
261 data for host_nonshm plugin.
262 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
263 for host_nonshm plugin.
264 * plugin/plugin-host.h: New.
265
266 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
267
268 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
269
270 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
271
272 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
273 Declare as int.
274 (FUTEX_PRIVATE_FLAG): Remove L suffix.
275 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
276 Declare as int.
277
278 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
279
280 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
281
282 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
283
284 * target.c (gomp_map_pointer): New function abstracting out
285 GOMP_MAP_POINTER handling.
286 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
287 gomp_map_pointer().
288
289 2015-05-19 Jakub Jelinek <jakub@redhat.com>
290
291 PR middle-end/66199
292 * testsuite/libgomp.c/pr66199-1.c: New test.
293 * testsuite/libgomp.c/pr66199-2.c: New test.
294 * testsuite/libgomp.c++/pr66199-1.C: New test.
295 * testsuite/libgomp.c++/pr66199-2.C: New test.
296 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
297 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
298
299 2015-05-19 Julian Brown <julian@codesourcery.com>
300
301 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
302 on cuInit failure.
303
304 2015-05-13 Jakub Jelinek <jakub@redhat.com>
305
306 PR middle-end/66133
307 * testsuite/libgomp.c/pr66133.c: New test.
308
309 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
310
311 * Makefile.in: Regenerated with automake-1.11.6.
312 * aclocal.m4: Likewise.
313 * config.h.in: Likewise.
314 * configure: Likewise.
315 * testsuite/Makefile.in: Likewise.
316
317 2015-05-08 Jason Merrill <jason@redhat.com>
318
319 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
320 _Complex.
321
322 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
323
324 2015-05-06 Julian Brown <julian@codesourcery.com>
325
326 * oacc-init.c (acc_device_lock): Add explanatory comment.
327 (resolve_device): Add comment about locking requirement.
328 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
329 gomp_init_device and gomp_fini_device calls.
330 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
331 (acc_get_device_num, acc_set_device_num): Add locking around
332 resolve_device and gomp_init_device calls.
333
334 2015-05-06 Julian Brown <julian@codesourcery.com>
335
336 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
337 goacc_thread_lock on error paths.
338 * oacc-mem.c (lookup_host): Remove locking from function. Note
339 locking requirement for caller in function comment.
340 (lookup_dev): Likewise.
341 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
342 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
343 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
344 Add locking.
345
346 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
347
348 PR testsuite/65205
349 PR libgomp/65993
350 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
351 don't expect "0x" prefix for "%p" format specifier, don't expect
352 "(nil)" for NULL pointer.
353 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
354 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
355 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
356 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
357 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
358 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
359 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
360 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
361 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
362 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
363 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
364 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
365 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
366 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
367 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
368 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
369 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
370 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
371 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
372 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
373 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
374 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
375 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
376 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
377 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
378 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
379 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
380 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
381 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
382 accurately specify what we're looking for.
383 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
384 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
385 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
386 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
387 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
388
389 2015-04-30 James Norris <jnorris@codesourcery.com>
390
391 PR testsuite/65205
392 * testsuite/lib/libgomp.exp
393 (check_effective_target_openacc_host_selected)
394 (check_effective_target_openacc_host_nonshm_selected): New
395 procedures.
396 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
397 dg-shouldfail.
398 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
399 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
400 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
401 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
402 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
403 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
404 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
405 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
406 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
407 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
408 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
409 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
410 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
411 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
412 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
413 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
414 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
415 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
416 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
417 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
418 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
419 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
420 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
421 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
422 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
423 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
424 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
425 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
426 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
427 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
428 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
429 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
430 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
431 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
432 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
433 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
434 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
435 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
436 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
437 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
438 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
439 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
440 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
441
442 2015-04-08 Julian Brown <julian@codesourcery.com>
443
444 * libgomp.h (target_mem_desc: Remove mem_map field.
445 (acc_dispatch_t): Remove open_device_func, close_device_func,
446 get_device_num_func, set_device_num_func, target_data members.
447 Change create_thread_data_func argument to device number instead of
448 generic pointer.
449 * oacc-async.c (assert.h): Include.
450 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
451 (acc_wait_all, acc_wait_all_async): Use current host thread's
452 active device, not base_dev.
453 * oacc-cuda.c (acc_get_current_cuda_device)
454 (acc_get_current_cuda_context, acc_get_cuda_stream)
455 (acc_set_cuda_stream): Likewise.
456 * oacc-host.c (host_dispatch): Don't set open_device_func,
457 close_device_func, get_device_num_func or set_device_num_func.
458 * oacc-init.c (base_dev, init_key): Remove.
459 (cached_base_dev): New.
460 (name_of_acc_device_t): New.
461 (acc_init_1): Initialise default-numbered device, not zeroth.
462 (acc_shutdown_1): Close all devices of a given type.
463 (goacc_destroy_thread): Don't use base_dev.
464 (lazy_open, lazy_init, lazy_init_and_open): Remove.
465 (goacc_attach_host_thread_to_device): New.
466 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
467 (acc_get_num_devices): Don't use base_dev.
468 (acc_set_device_type): Reimplement.
469 (acc_get_device_type): Don't use base_dev.
470 (acc_get_device_num): Tweak logic.
471 (acc_set_device_num): Likewise.
472 (acc_on_device): Use acc_get_device_type.
473 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
474 (goacc_lazy_initialize): Reimplement with acc_init and
475 goacc_attach_host_thread_to_device.
476 * oacc-int.h (goacc_thread): Add base_dev field.
477 (base_dev): Remove extern declaration.
478 (goacc_attach_host_thread_to_device): Add prototype.
479 * oacc-mem.c (acc_malloc): Use current thread's device instead of
480 base_dev.
481 (acc_free): Likewise.
482 (acc_memcpy_to_device): Likewise.
483 (acc_memcpy_from_device): Likewise.
484 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
485 goacc_lazy_initialize (throughout).
486 (GOACC_parallel): Use tgt_offset to locate target functions.
487 * target.c (gomp_map_vars): Don't set tgt->mem_map.
488 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
489 (gomp_load_plugin_for_device): Remove open_device, close_device,
490 get_device_num, set_device_num openacc hook initialisation. Don't set
491 openacc.target_data.
492 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
493 (GOMP_OFFLOAD_openacc_close_device)
494 (GOMP_OFFLOAD_openacc_get_device_num)
495 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
496 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
497 to int.
498 * plugin/plugin-nvptx.c (ptx_inited): Remove.
499 (instantiated_devices, ptx_dev_lock): New.
500 (struct ptx_image_data): New.
501 (ptx_devices, ptx_images, ptx_image_lock): New.
502 (fini_streams_for_device): Reorder cuStreamDestroy call.
503 (nvptx_get_num_devices): Remove forward declaration.
504 (nvptx_init): Change return type to bool.
505 (nvptx_fini): Remove.
506 (nvptx_attach_host_thread_to_device): New.
507 (nvptx_open_device): Return struct ptx_device* instead of void*.
508 (nvptx_close_device): Change argument type to struct ptx_device*,
509 return type to void.
510 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
511 (kernel_target_data, kernel_host_table): Remove static globals.
512 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
513 (GOMP_OFFLOAD_init_device): Reimplement.
514 (GOMP_OFFLOAD_fini_device): Likewise.
515 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
516 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
517 (GOMP_OFFLOAD_host2dev): Use ORD argument.
518 (GOMP_OFFLOAD_openacc_open_device)
519 (GOMP_OFFLOAD_openacc_close_device)
520 (GOMP_OFFLOAD_openacc_set_device_num)
521 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
522 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
523 (device number).
524
525 testsuite/
526 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
527
528 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
529
530 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
531 * libgomp.h (struct gomp_memory_mapping): Remove.
532 (struct target_mem_desc): Change type of mem_map from
533 gomp_memory_mapping * to splay_tree_s *.
534 (struct gomp_device_descr): Remove register_image_func, get_table_func.
535 Add load_image_func, unload_image_func.
536 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
537 Remove offload_regions_registered.
538 (gomp_init_tables): Remove.
539 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
540 to splay_tree_s *.
541 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
542 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
543 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
544 offload_regions_registered.
545 Initialize load_image_func, unload_image_func, mem_map.root.
546 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
547 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
548 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
549 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
550 gomp_memory_mapping *. Use dev's lock and splay_tree.
551 (lookup_dev): Use dev's lock.
552 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
553 (acc_is_present): Likewise.
554 (acc_map_data): Likewise.
555 (acc_unmap_data): Likewise. Use dev's lock.
556 (present_create_copy): Likewise.
557 (delete_copyout): Pass dev to lookup_host instead of mem_map.
558 (update_dev_host): Likewise.
559 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
560 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
561 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
562 (GOMP_OFFLOAD_get_table): Remove
563 (GOMP_OFFLOAD_load_image): New function.
564 (GOMP_OFFLOAD_unload_image): New function.
565 * target.c (register_lock): New mutex for offload image registration.
566 (num_devices): Do not guard with PLUGIN_SUPPORT.
567 (gomp_realloc_unlock): New static function.
568 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
569 before gomp_fatal.
570 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
571 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
572 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
573 mem_map's.
574 (gomp_unmap_vars): Likewise.
575 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
576 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
577 (gomp_offload_image_to_device): New static function.
578 (GOMP_offload_register): Add mutex lock.
579 Call gomp_offload_image_to_device for all initialized devices.
580 Replace gomp_realloc with gomp_realloc_unlock.
581 (GOMP_offload_unregister): New function.
582 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
583 get_table_func from the plugin with calls to init_device_func and
584 gomp_offload_image_to_device.
585 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
586 to splay_tree_s *.
587 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
588 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
589 (GOMP_target_data): Do not call gomp_init_tables.
590 (GOMP_target_update): Likewise. Remove argument from gomp_update.
591 (gomp_load_plugin_for_device): Replace register_image and get_table
592 with load_image and unload_image in DLSYM ().
593 (gomp_register_images_for_device): Remove function.
594 (gomp_target_init): Do not initialize current_device.mem_map.*,
595 current_device.offload_regions_registered.
596 Remove call to gomp_register_images_for_device.
597 Do not free offload_images and num_offload_images.
598
599 2015-03-30 Jakub Jelinek <jakub@redhat.com>
600
601 PR fortran/65597
602 * testsuite/libgomp.fortran/pr65597.f90: New test.
603
604 2015-03-27 Tom de Vries <tom@codesourcery.com>
605
606 PR testsuite/65594
607 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
608 (init, check): New function.
609 (foo): Change return type to void.
610 (main): Call init and check.
611
612 2015-03-27 Tom de Vries <tom@codesourcery.com>
613
614 PR testsuite/65594
615 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
616 (foo): Use M for non-inner loops to scale down test-case.
617
618 2015-03-25 Kai Tietz <ktietz@redhat.com>
619
620 PR libgomp/64972
621 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
622 (GOACC_data_start): Likewise.
623 * target.c (gomp_map_vars): Likewise.
624
625 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
626
627 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
628 hppa*-*-hpux*.
629
630 2015-03-19 Jakub Jelinek <jakub@redhat.com>
631
632 * testsuite/libgomp.c/target-10.c: New test.
633 * testsuite/libgomp.c++/target-4.C: New test.
634
635 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
636
637 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
638 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
639
640 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
641
642 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
643 * configure.ac (*-*-rtems*): Assume Pthread is supported.
644 (pthread.h): Check for this header file.
645 * configure: Regenerate.
646
647 2015-02-25 Tom de Vries <tom@codesourcery.com>
648
649 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
650 (check_reduction_op, check_reduction_macro, max, min):
651 Declare.
652 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
653 function.
654 (main): Use new functions.
655
656 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
657
658 * target.c (gomp_load_plugin_for_device): Use const char * instead of
659 char * for variables holding dlerror return values.
660 (DLSYM_OPT): Ditto.
661
662 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
663
664 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
665
666 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
667 Cesar Philippidis <cesar@codesourcery.com>
668
669 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
670 GOACC_ctaid, and GOACC_nctaid routines.
671
672 2015-02-11 Jakub Jelinek <jakub@redhat.com>
673
674 PR c/64824
675 * testsuite/libgomp.c/atomic-18.c: New test.
676 * testsuite/libgomp.c++/atomic-16.C: New test.
677
678 2015-02-04 Jakub Jelinek <jakub@redhat.com>
679
680 PR c/64824
681 PR c/64868
682 * testsuite/libgomp.c/pr64824.c: New test.
683 * testsuite/libgomp.c/pr64868.c: New test.
684 * testsuite/libgomp.c++/pr64824.C: New test.
685 * testsuite/libgomp.c++/pr64868.C: New test.
686
687 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
688
689 PR libgomp/64635
690 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
691 Link with -lpthread.
692 * config/aix/plugin-suffix.h: Delete.
693
694 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
695
696 PR libgomp/64635
697 * configure.tgt (*-*-aix*): Use config_path "aix posix".
698 (*-*-darwin*): Use config_path "bsd darwin posix".
699 (*-*-hpux*): Use config_path "hpux posix".
700 * target.c: Add include of plugin-suffix.h and use
701 SONAME_SUFFIX macro.
702 * config/aix/plugin-suffix.h: New file.
703 * config/darwin/plugin-suffix.h: New file.
704 * config/hpux/plugin-suffix.h: New file.
705 * config/posix/plugin-suffix.h: New file.
706
707 2015-01-23 Jakub Jelinek <jakub@redhat.com>
708
709 PR middle-end/64734
710 * libgomp.c/pr64734.c: New test.
711
712 2015-01-23 Tom de Vries <tom@codesourcery.com>
713
714 PR libgomp/64672
715 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
716
717 2015-01-23 Tom de Vries <tom@codesourcery.com>
718
719 PR libgomp/64707
720 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
721 dg-options.
722
723 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
724
725 PR libgomp/64625
726 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
727 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
728 formal parameter. Update all users.
729 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
730 Document unused formal parameter.
731
732 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
733
734 * oacc-parallel.c: Don't include <alloca.h>.
735 (GOACC_parallel): Use gomp_alloca instead of alloca.
736
737 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
738
739 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
740
741 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
742 James Norris <jnorris@codesourcery.com>
743 Tom de Vries <tom@codesourcery.com>
744 Julian Brown <julian@codesourcery.com>
745 Cesar Philippidis <cesar@codesourcery.com>
746 Nathan Sidwell <nathan@codesourcery.com>
747 Tobias Burnus <burnus@net-b.de>
748
749 * Makefile.am (search_path): Add $(top_srcdir)/../include.
750 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
751 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
752 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
753 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
754 Include $(top_srcdir)/plugin/Makefrag.am.
755 (nodist_libsubinclude_HEADERS): Add openacc.h.
756 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
757 openacc.f90, openacc.mod, openacc_kinds.mod.
758 (omp_lib.mod): Generalize into...
759 (%.mod): ... this new rule.
760 (openacc_kinds.mod, openacc.mod): New rules.
761 * plugin/configfrag.ac: New file.
762 * configure.ac: Move plugin/offloading support into it. Include
763 it. Instantiate testsuite/libgomp-test-support.pt.exp.
764 * plugin/Makefrag.am: New file.
765 * testsuite/Makefile.am (OFFLOAD_TARGETS)
766 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
767 export.
768 (libgomp-test-support.exp): New rule.
769 (all-local): Depend on it.
770 * Makefile.in: Regenerate.
771 * testsuite/Makefile.in: Regenerate.
772 * config.h.in: Likewise.
773 * configure: Likewise.
774 * configure.tgt: Harden shell syntax.
775 * env.c: Include "oacc-int.h".
776 (parse_acc_device_type): New function.
777 (gomp_debug_var, goacc_device_type, goacc_device_num): New
778 variables.
779 (initialize_env): Initialize those. Call
780 goacc_runtime_initialize.
781 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
782 (gomp_fatal): Call gomp_vfatal.
783 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
784 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
785 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
786 (splay_tree_node, splay_tree, splay_tree_key)
787 (struct target_mem_desc, struct splay_tree_key_s)
788 (struct gomp_memory_mapping, struct acc_dispatch_t)
789 (struct gomp_device_descr, gomp_acc_insert_pointer)
790 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
791 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
792 (gomp_free_memmap, gomp_fini_device): New declarations.
793 (gomp_vdebug, gomp_debug): New macros.
794 Include "splay-tree.h".
795 * libgomp.map (OACC_2.0): New symbol version. Use for
796 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
797 acc_set_device_type_h_, acc_get_device_type,
798 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
799 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
800 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
801 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
802 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
803 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
804 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
805 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
806 acc_copyin_array_h_, acc_present_or_copyin,
807 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
808 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
809 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
810 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
811 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
812 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
813 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
814 acc_update_device, acc_update_device_32_h_,
815 acc_update_device_64_h_, acc_update_device_array_h_,
816 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
817 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
818 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
819 acc_is_present_64_h_, acc_is_present_array_h_,
820 acc_memcpy_to_device, acc_memcpy_from_device,
821 acc_get_current_cuda_device, acc_get_current_cuda_context,
822 acc_get_cuda_stream, acc_set_cuda_stream.
823 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
824 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
825 GOACC_update, GOACC_wait, GOACC_get_thread_num,
826 GOACC_get_num_threads.
827 (GOMP_PLUGIN_1.0): New symbol version. Use for
828 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
829 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
830 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
831 GOMP_PLUGIN_acc_thread.
832 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
833 environment variable.
834 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
835 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
836 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
837 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
838 (splay_tree_remove): New declarations.
839 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
840 (splay_tree_remove, splay_tree_lookup): Move into...
841 * splay-tree.c: ... this new file.
842 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
843 (splay_tree_node, splay_tree, splay_tree_key)
844 (struct target_mem_desc, struct splay_tree_key_s)
845 (struct gomp_device_descr): Don't declare.
846 (num_devices_openmp): New variable.
847 (gomp_get_num_devices ): Use it.
848 (gomp_init_targets_once): New function.
849 (gomp_get_num_devices ): Use it.
850 (get_kind, gomp_copy_from_async, gomp_free_memmap)
851 (gomp_fini_device, gomp_register_image_for_device): New functions.
852 (gomp_map_vars): Add devaddrs parameter.
853 (gomp_update): Add mm parameter.
854 (gomp_init_device): Move most of it into...
855 (gomp_init_tables): ... this new function.
856 (gomp_register_images_for_device): Remove function.
857 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
858 Make them hidden instead of static.
859 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
860 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
861 (GOMP_target_end_data, GOMP_target_update)
862 (gomp_load_plugin_for_device, gomp_target_init): Update for
863 OpenACC changes.
864 * oacc-async.c: New file.
865 * oacc-cuda.c: Likewise.
866 * oacc-host.c: Likewise.
867 * oacc-init.c: Likewise.
868 * oacc-int.h: Likewise.
869 * oacc-mem.c: Likewise.
870 * oacc-parallel.c: Likewise.
871 * oacc-plugin.c: Likewise.
872 * oacc-plugin.h: Likewise.
873 * oacc-ptx.h: Likewise.
874 * openacc.f90: Likewise.
875 * openacc.h: Likewise.
876 * openacc_lib.h: Likewise.
877 * plugin/plugin-host.c: Likewise.
878 * plugin/plugin-nvptx.c: Likewise.
879 * libgomp-plugin.c: Likewise.
880 * libgomp-plugin.h: Likewise.
881 * libgomp_target.h: Remove file after merging content into the
882 former file. Update all users.
883 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
884 (offload_targets_s, offload_targets_s_openacc): New variables.
885 (check_effective_target_openacc_nvidia_accel_present)
886 (check_effective_target_openacc_nvidia_accel_selected): New
887 procedures.
888 (libgomp_init): Update for OpenACC changes.
889 * testsuite/libgomp-test-support.exp.in: New file.
890 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
891 * testsuite/libgomp.oacc-c/c.exp: Likewise.
892 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
893 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
894 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
895 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
896 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
897 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
898 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
899 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
900 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
901 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
902 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
903 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
904 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
905 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
906 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
907 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
908 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
909 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
910 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
911 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
912 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
913 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
914 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
915 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
916 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
917 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
918 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
919 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
920 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
921 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
922 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
923 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
924 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
925 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
926 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
927 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
928 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
929 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
930 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
931 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
932 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
933 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
934 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
935 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
936 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
937 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
938 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
939 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
940 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
941 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
942 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
943 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
944 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
945 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
946 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
947 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
948 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
949 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
950 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
951 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
952 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
953 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
954 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
955 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
956 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
957 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
958 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
959 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
960 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
961 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
962 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
963 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
964 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
965 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
966 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
967 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
968 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
969 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
970 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
971 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
972 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
973 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
974 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
975 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
976 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
977 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
978 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
979 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
980 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
981 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
982 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
983 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
984 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
985 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
986 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
987 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
988 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
989 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
990 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
991 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
992 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
993 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
994 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
995 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
996 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
997 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
998 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
999 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
1000 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
1001 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1002 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
1003 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
1004 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1005 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1006 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
1007 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1008 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
1009 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
1010 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
1011 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
1012 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
1013 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
1014 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
1015 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
1016 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1017 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
1018 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
1019 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
1020 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
1021 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
1022 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
1023 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
1024 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
1025 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1026 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1027 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1028 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1029 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
1030 Likewise.
1031 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
1032 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
1033 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
1034 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
1035 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
1036 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
1037 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
1038 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1039 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1040 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1041 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1042 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1043 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1044 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
1045 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
1046 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
1047 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
1048 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
1049 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
1050 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
1051 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
1052 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
1053 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
1054 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
1055 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
1056 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
1057 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
1058 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1059 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1060 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1061 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1062 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1063 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1064 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1065 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
1066 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
1067 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
1068 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
1069 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
1070 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
1071 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
1072 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
1073 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
1074 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
1075 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
1076 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
1077 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
1078 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
1079 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1080 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
1081 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
1082 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
1083 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1084 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1085 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
1086 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
1087 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
1088 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
1089 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
1090 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
1091
1092 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
1093 Julian Brown <julian@codesourcery.com>
1094 David Malcolm <dmalcolm@redhat.com>
1095
1096 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
1097 to "GNU Offloading and Multi Processing Runtime Library". Change
1098 all users.
1099 * configure: Regenerate.
1100 * libgomp.texi: Update.
1101
1102 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
1103
1104 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
1105 "$tgt_dir/lib32".
1106 * configure: Regenerate.
1107
1108 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
1109 "intelmic" in $offload_targets.
1110
1111 2015-01-05 Jakub Jelinek <jakub@redhat.com>
1112
1113 Update copyright years.
1114
1115 * libgomp.texi: Bump @copying's copyright year.
1116
1117 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1118
1119 * testsuite/lib/libgomp.exp: Load target-utils.exp.
1120 Move load of target-supportes.exp earlier.
1121
1122 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
1123
1124 * testsuite/libgomp.c/target-9.c: New test.
1125
1126 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
1127
1128 * config.h.in: Regenerate.
1129 * configure: Regenerate.
1130 * configure.ac: Add GCC_CHECK_EMUTLS.
1131 * libgomp.h: Add check for USE_EMUTLS: this case
1132 is equal to HAVE_TLS.
1133 * team.c: Likewise.
1134
1135 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
1136
1137 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
1138
1139 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
1140 Ilya Verbin <ilya.verbin@intel.com>
1141
1142 * testsuite/libgomp.c/target-critical-1.c: New test.
1143
1144 2014-11-26 Jakub Jelinek <jakub@redhat.com>
1145
1146 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
1147 to dg-options unless expensive testing is on.
1148 (TESTITERS): Define to N if not defined.
1149 (main): Use TESTITERS instead of N.
1150 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
1151 dg-additional-options depending on whether expensive testing is on.
1152 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
1153 Decrease N to 100000 and CHUNKSZ to 10000.
1154
1155 2014-11-24 Jakub Jelinek <jakub@redhat.com>
1156
1157 PR fortran/63938
1158 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
1159 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
1160
1161 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
1162
1163 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
1164
1165 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
1166
1167 PR bootstrap/63784
1168 * configure: Regenerated.
1169
1170 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
1171
1172 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
1173 vect_simd_clones effective target.
1174 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
1175
1176 2014-11-14 Jakub Jelinek <jakub@redhat.com>
1177
1178 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
1179 of 32 as block_size.
1180 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
1181 instead of 32 as block_size.
1182
1183 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
1184 Ilya Verbin <ilya.verbin@intel.com>
1185
1186 * Makefile.in: Regenerate.
1187 * configure: Regenerate.
1188 * configure.ac: Set up offload_additional_options,
1189 offload_additional_lib_paths and offload_targets.
1190 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
1191 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
1192 * testsuite/Makefile.in: Regenerate.
1193 * testsuite/lib/libgomp.exp (libgomp_init): Append
1194 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
1195 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
1196 build directory to LD_LIBRARY_PATH for intelmic offload targets.
1197
1198 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
1199 Ilya Verbin <ilya.verbin@intel.com>
1200 Kirill Yukhin <kirill.yukhin@intel.com>
1201 Ilya Tocar <ilya.tocar@intel.com>
1202
1203 * testsuite/lib/libgomp.exp
1204 (check_effective_target_offload_device): New.
1205 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
1206 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
1207 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
1208 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
1209 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
1210 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
1211 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
1212 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
1213 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
1214 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
1215 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
1216 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
1217 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
1218 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
1219 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
1220 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
1221 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
1222 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
1223 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
1224 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
1225 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
1226 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
1227 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
1228 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
1229 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
1230 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
1231 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
1232 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
1233 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
1234 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
1235 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
1236 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
1237 * testsuite/libgomp.c/target-7.c: Fix test.
1238 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
1239 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
1240 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
1241 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
1242 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
1243 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
1244 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
1245 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
1246 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
1247 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
1248 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
1249 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
1250 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
1251 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
1252 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
1253 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
1254 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
1255 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
1256 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
1257 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
1258 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
1259 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
1260 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
1261 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
1262 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
1263 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
1264 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
1265 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
1266 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
1267 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
1268 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
1269
1270 2014-11-13 Jakub Jelinek <jakub@redhat.com>
1271 Ilya Verbin <ilya.verbin@intel.com>
1272 Thomas Schwinge <thomas@codesourcery.com>
1273 Andrey Turetskiy <andrey.turetskiy@intel.com>
1274
1275 * libgomp.map (GOMP_4.0.1): New symbol version.
1276 Add GOMP_offload_register.
1277 * libgomp_target.h: New file.
1278 * splay-tree.h: New file.
1279 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
1280 (gomp_target_init): New forward declaration.
1281 (gomp_is_initialized): New static variable.
1282 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
1283 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
1284 New structures.
1285 (offload_images, num_offload_images, devices, num_devices): New static
1286 variables.
1287 (splay_compare): New static function.
1288 (struct gomp_device_descr): New structure.
1289 (gomp_get_num_devices): Call gomp_target_init.
1290 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
1291 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
1292 (GOMP_offload_register): New function.
1293 (GOMP_target): Arrange for host callback to be performed in a separate
1294 initial thread and contention group, inheriting ICVs from
1295 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
1296 Add device initialization and lookup for target function in splay tree.
1297 (GOMP_target_data): Add device initialization and call gomp_map_vars.
1298 (GOMP_target_end_data): Call gomp_unmap_vars.
1299 (GOMP_target_update): Add device initialization and call gomp_update.
1300 (gomp_load_plugin_for_device, gomp_register_images_for_device)
1301 (gomp_target_init): New static functions.
1302
1303 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
1304 Thomas Schwinge <thomas@codesourcery.com>
1305 Ilya Verbin <ilya.verbin@intel.com>
1306 Andrey Turetskiy <andrey.turetskiy@intel.com>
1307
1308 * config.h.in: Regenerate.
1309 * configure: Regenerate.
1310 * configure.ac: Check for libdl, required for plugin support.
1311 (PLUGIN_SUPPORT): Define if plugins are supported.
1312 (enable_offload_targets): Support Intel MIC targets.
1313 (OFFLOAD_TARGETS): List of target names suitable for offloading.
1314
1315 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1316
1317 PR target/63610
1318 * configure: Regenerate.
1319
1320 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1321
1322 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
1323
1324 2014-10-06 Marek Polacek <polacek@redhat.com>
1325
1326 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
1327 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
1328 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
1329 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1330
1331 2014-10-06 Marek Polacek <polacek@redhat.com>
1332
1333 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
1334 * testsuite/libgomp.c/nqueens-1.c: Likewise.
1335 * testsuite/libgomp.c/pr26943-3.c: Likewise.
1336 * testsuite/libgomp.c/pr26943-4.c: Likewise.
1337 * testsuite/libgomp.c/pr36802-2.c: Likewise.
1338 * testsuite/libgomp.c/pr36802-3.c: Likewise.
1339 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
1340 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1341 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
1342 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
1343 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
1344 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
1345 * testsuite/libgomp.c/omp-single-1.c: Likewise.
1346 * testsuite/libgomp.c/omp-single-2.c: Likewise.
1347 * testsuite/libgomp.c/omp_matvec.c: Likewise.
1348 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
1349 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
1350 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
1351 declarations.
1352
1353 2014-10-03 Jakub Jelinek <jakub@redhat.com>
1354
1355 PR libgomp/61200
1356 * testsuite/libgomp.c/pr61200.c: New test.
1357
1358 2014-09-18 Jakub Jelinek <jakub@redhat.com>
1359
1360 PR c++/63248
1361 * testsuite/libgomp.c++/pr63248.C: New test.
1362
1363 2014-08-04 Jakub Jelinek <jakub@redhat.com>
1364
1365 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
1366 is not zero, but taskgroup->children is NULL and there are
1367 any task->children, schedule those instead of waiting.
1368 * testsuite/libgomp.c/depend-6.c: New test.
1369 * testsuite/libgomp.c/depend-7.c: New test.
1370 * testsuite/libgomp.c/depend-8.c: New test.
1371 * testsuite/libgomp.c/depend-9.c: New test.
1372 * testsuite/libgomp.c/depend-10.c: New test.
1373
1374 2014-08-01 Jakub Jelinek <jakub@redhat.com>
1375
1376 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
1377 (struct gomp_taskwait): New type.
1378 (struct gomp_task): Add taskwait and parent_depends_on, remove
1379 in_taskwait and taskwait_sem fields.
1380 (gomp_finish_task): Don't destroy taskwait_sem.
1381 * task.c (gomp_init_task): Don't init in_taskwait, instead init
1382 taskwait and parent_depends_on.
1383 (GOMP_task): For if (0) tasks with depend clause that depend on
1384 earlier tasks don't defer them, instead call
1385 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
1386 Initialize redundant_out field, for redundant out entries just
1387 move them at the end of linked list instead of removing them
1388 completely, and set redundant_out flag instead of redundant.
1389 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
1390 that task.
1391 (gomp_task_run_post_handle_dependers): If parent is in
1392 gomp_task_maybe_wait_for_dependencies and newly runnable task
1393 is not parent_depends_on, queue it in parent->children linked
1394 list after all runnable tasks with parent_depends_on set.
1395 Adjust for addition of taskwait indirection.
1396 (gomp_task_run_post_remove_parent): If parent is in
1397 gomp_task_maybe_wait_for_dependencies and task to be removed
1398 is parent_depends_on, decrement n_depend and if needed awake
1399 parent. Adjust for addition of taskwait indirection.
1400 (GOMP_taskwait): Adjust for addition of taskwait indirection.
1401 (gomp_task_maybe_wait_for_dependencies): New function.
1402 * testsuite/libgomp.c/depend-5.c: New test.
1403
1404 2014-07-13 Tobias Burnus <burnus@net-b.de>
1405
1406 * testsuite/libgomp.fortran/pr34020.f90: Make compile
1407 with TS 18508/Fortran 2015.
1408
1409 2014-07-06 Marek Polacek <polacek@redhat.com>
1410
1411 PR c/6940
1412 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
1413
1414 2014-07-03 Jakub Jelinek <jakub@redhat.com>
1415
1416 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
1417 matches regex $lang_source_re, add $lang_include_flags to options.
1418 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
1419 * testsuite/libgomp.c++/c++.exp: Likewise.
1420 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
1421 and lang_include_flags instead of adding -fintrinsic-modules-path= to
1422 ALWAYS_CFLAGS.
1423 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
1424
1425 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
1426
1427 * testsuite/libgomp.fortran/fortran.exp: Explain
1428 gfortran-dg-runtest usage.
1429
1430 2014-06-25 Jakub Jelinek <jakub@redhat.com>
1431
1432 * testsuite/libgomp.fortran/simd5.f90: New test.
1433 * testsuite/libgomp.fortran/simd6.f90: New test.
1434 * testsuite/libgomp.fortran/simd7.f90: New test.
1435
1436 2014-06-24 Jakub Jelinek <jakub@redhat.com>
1437
1438 * testsuite/libgomp.c/for-2.c: Define SC to static for
1439 #pragma omp for simd testing.
1440 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
1441 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
1442 SC macro.
1443 * testsuite/libgomp.c/simd-14.c: New test.
1444 * testsuite/libgomp.c/simd-15.c: New test.
1445 * testsuite/libgomp.c/simd-16.c: New test.
1446 * testsuite/libgomp.c/simd-17.c: New test.
1447 * testsuite/libgomp.c++/for-10.C: Define SC to static for
1448 #pragma omp for simd testing.
1449 * testsuite/libgomp.c++/simd10.C: New test.
1450 * testsuite/libgomp.c++/simd11.C: New test.
1451 * testsuite/libgomp.c++/simd12.C: New test.
1452 * testsuite/libgomp.c++/simd13.C: New test.
1453
1454 * testsuite/libgomp.fortran/aligned1.f03: New test.
1455 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
1456 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
1457 tasks with !$omp parallel !$omp single.
1458 * testsuite/libgomp.fortran/target8.f90: New test.
1459 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
1460 not to use trim in the combiner, instead call elemental function.
1461 (fn): New elemental function.
1462 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
1463 Make elemental.
1464 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
1465 omp_in): Likewise.
1466 * testsuite/libgomp.fortran/udr12.f90: New test.
1467 * testsuite/libgomp.fortran/udr13.f90: New test.
1468 * testsuite/libgomp.fortran/udr14.f90: New test.
1469 * testsuite/libgomp.fortran/udr15.f90: New test.
1470
1471 2014-06-18 Jakub Jelinek <jakub@redhat.com>
1472
1473 * omp_lib.f90.in (openmp_version): Set to 201307.
1474 * omp_lib.h.in (openmp_version): Likewise.
1475 * testsuite/libgomp.c/target-8.c: New test.
1476 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
1477 and inbranch clauses.
1478 * testsuite/libgomp.fortran/depend-3.f90: New test.
1479 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
1480 openmp_version.
1481 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
1482 * testsuite/libgomp.fortran/target1.f90: New test.
1483 * testsuite/libgomp.fortran/target2.f90: New test.
1484 * testsuite/libgomp.fortran/target3.f90: New test.
1485 * testsuite/libgomp.fortran/target4.f90: New test.
1486 * testsuite/libgomp.fortran/target5.f90: New test.
1487 * testsuite/libgomp.fortran/target6.f90: New test.
1488 * testsuite/libgomp.fortran/target7.f90: New test.
1489
1490 2014-06-10 Jakub Jelinek <jakub@redhat.com>
1491
1492 PR fortran/60928
1493 * testsuite/libgomp.fortran/allocatable9.f90: New test.
1494 * testsuite/libgomp.fortran/allocatable10.f90: New test.
1495 * testsuite/libgomp.fortran/allocatable11.f90: New test.
1496 * testsuite/libgomp.fortran/allocatable12.f90: New test.
1497 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
1498 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
1499 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
1500 * testsuite/libgomp.fortran/associate1.f90: New test.
1501 * testsuite/libgomp.fortran/associate2.f90: New test.
1502 * testsuite/libgomp.fortran/procptr1.f90: New test.
1503
1504 2014-06-06 Jakub Jelinek <jakub@redhat.com>
1505
1506 * testsuite/libgomp.fortran/simd1.f90: New test.
1507 * testsuite/libgomp.fortran/udr1.f90: New test.
1508 * testsuite/libgomp.fortran/udr2.f90: New test.
1509 * testsuite/libgomp.fortran/udr3.f90: New test.
1510 * testsuite/libgomp.fortran/udr4.f90: New test.
1511 * testsuite/libgomp.fortran/udr5.f90: New test.
1512 * testsuite/libgomp.fortran/udr6.f90: New test.
1513 * testsuite/libgomp.fortran/udr7.f90: New test.
1514 * testsuite/libgomp.fortran/udr8.f90: New test.
1515 * testsuite/libgomp.fortran/udr9.f90: New test.
1516 * testsuite/libgomp.fortran/udr10.f90: New test.
1517 * testsuite/libgomp.fortran/udr11.f90: New test.
1518
1519 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
1520
1521 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
1522 vect_simd_clones effective target.
1523 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
1524
1525 2014-05-21 Jakub Jelinek <jakub@redhat.com>
1526
1527 PR middle-end/61252
1528 * testsuite/libgomp.c++/simd-9.C: New test.
1529
1530 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
1531
1532 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
1533 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
1534 texts according to their @menu entry positions.
1535
1536 2014-05-11 Jakub Jelinek <jakub@redhat.com>
1537
1538 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
1539 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
1540 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
1541 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
1542 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
1543 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
1544 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
1545 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
1546 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
1547 * testsuite/libgomp.fortran/depend-1.f90: New test.
1548 * testsuite/libgomp.fortran/depend-2.f90: New test.
1549 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
1550 * testsuite/libgomp.fortran/simd1.f90: New test.
1551 * testsuite/libgomp.fortran/simd2.f90: New test.
1552 * testsuite/libgomp.fortran/simd3.f90: New test.
1553 * testsuite/libgomp.fortran/simd4.f90: New test.
1554 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
1555
1556 2014-05-02 Jakub Jelinek <jakub@redhat.com>
1557
1558 * testsuite/libgomp.c/simd-10.c: New test.
1559 * testsuite/libgomp.c/simd-11.c: New test.
1560 * testsuite/libgomp.c/simd-12.c: New test.
1561 * testsuite/libgomp.c/simd-13.c: New test.
1562
1563 2014-04-24 Jakub Jelinek <jakub@redhat.com>
1564
1565 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
1566 atomic type clauses in any order and optional comma in between.
1567 * testsuite/libgomp.c++/atomic-15.C: Likewise.
1568 * testsuite/libgomp.c/atomic-17.c: Likewise.
1569
1570 * testsuite/libgomp.c/simd-7.c: New test.
1571 * testsuite/libgomp.c/simd-8.c: New test.
1572 * testsuite/libgomp.c/simd-9.c: New test.
1573 * testsuite/libgomp.c/loop-16.c: New test.
1574
1575 2014-04-02 Richard Henderson <rth@redhat.com>
1576
1577 * config/linux/futex.h (futex_wait): Get error value from errno.
1578 (futex_wake): Likewise.
1579
1580 2014-03-25 Jakub Jelinek <jakub@redhat.com>
1581
1582 PR c++/60331
1583 * testsuite/libgomp.c++/udr-11.C: New test.
1584 * testsuite/libgomp.c++/udr-12.C: New test.
1585 * testsuite/libgomp.c++/udr-13.C: New test.
1586 * testsuite/libgomp.c++/udr-14.C: New test.
1587 * testsuite/libgomp.c++/udr-15.C: New test.
1588 * testsuite/libgomp.c++/udr-16.C: New test.
1589 * testsuite/libgomp.c++/udr-17.C: New test.
1590 * testsuite/libgomp.c++/udr-18.C: New test.
1591 * testsuite/libgomp.c++/udr-19.C: New test.
1592
1593 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1594
1595 Update copyright years
1596
1597 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1598
1599 * hashtab.h: Use the standard form for the copyright notice.
1600
1601 2014-01-02 Tobias Burnus <burnus@net-b.de>
1602
1603 * libgomp.texi: Bump @copying's copyright year.
1604
1605 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
1606
1607 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
1608 alloca () with __builtin_alloca ().
1609 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
1610 * testsuite/libgomp.c/lock-3.c: Likewise.
1611 * testsuite/libgomp.c/pr48591.c: Likewise.
1612
1613 2013-12-17 Jakub Jelinek <jakub@redhat.com>
1614
1615 PR testsuite/59534
1616 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
1617 comparisons.
1618
1619 2013-12-16 Jakub Jelinek <jakub@redhat.com>
1620
1621 PR libgomp/58756
1622 * testsuite/libgomp.c/pr58756.c: New test.
1623
1624 2013-12-12 Jakub Jelinek <jakub@redhat.com>
1625
1626 PR libgomp/59467
1627 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
1628 !$omp parallel.
1629
1630 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
1631
1632 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
1633 ALWAYS_CFLAGS.
1634 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
1635 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
1636 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
1637 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
1638 Likewise.
1639
1640 * libgomp_g.h: Include <stddef.h> for size_t.
1641
1642 * libgomp.spec.in: Update comment about libgomp's dependencies.
1643 * configure.ac: Likewise.
1644 * configure: Regenerate.
1645
1646 2013-10-16 Tobias Burnus <burnus@net-b.de>
1647
1648 * libgomp.texi: (Runtime Library Routines): Update references for
1649 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
1650 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
1651 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
1652 (Environment Variables): Update references for OpenMP 4.0. Add
1653 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
1654 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
1655 order.
1656
1657 2013-10-14 Jakub Jelinek <jakub@redhat.com>
1658
1659 * env.c (parse_bind_var): Initialize value to avoid
1660 (false positive) warning.
1661
1662 2013-10-12 Jakub Jelinek <jakub@redhat.com>
1663
1664 PR libgomp/58691
1665 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
1666 to check variable.
1667 (gomp_init_num_threads): Move i variable declaration into
1668 #ifdef CPU_ALLOC_SIZE block.
1669 * config/linux/affinity.c (gomp_affinity_init_level): Test
1670 gomp_places_list_len == 0 rather than gomp_places_list == 0
1671 when checking for topology reading error.
1672 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
1673 * env.c (parse_affinity): Add ignore argument, if true, don't populate
1674 gomp_places_list, only parse env var and always return false.
1675 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
1676 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
1677 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
1678 and either of these variables were parsed correctly into a places
1679 list.
1680
1681 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
1682 Jakub Jelinek <jakub@redhat.com>
1683
1684 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
1685 of 5 loopfn matches.
1686 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
1687 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
1688 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
1689 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
1690 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
1691 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
1692 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
1693 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
1694
1695 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
1696
1697 * Makefile.am (omp_lib.mod): Streamline rule.
1698 * Makefile.in: Regenerate.
1699
1700 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
1701 exceptions.
1702
1703 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
1704 * testsuite/libgomp.fortran/lib1.f90: Likewise.
1705 * testsuite/libgomp.fortran/lib2.f: Likewise.
1706 * testsuite/libgomp.fortran/lib3.f: Likewise.
1707
1708 * configure.ac: Typo fix.
1709 * configure: Regenerate.
1710
1711 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
1712 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
1713
1714 * omp.h.in: Don't touch the user's namespace.
1715
1716 2013-10-11 Jakub Jelinek <jakub@redhat.com>
1717 Tobias Burnus <burnus@net-b.de>
1718 Richard Henderson <rth@redhat.com>
1719
1720 * target.c: New file.
1721 * Makefile.am (libgomp_la_SOURCES): Add target.c.
1722 * Makefile.in: Regenerated.
1723 * libgomp_g.h (GOMP_task): Add depend argument.
1724 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
1725 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
1726 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
1727 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
1728 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
1729 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
1730 GOMP_taskgroup_start, GOMP_taskgroup_end,
1731 GOMP_parallel_sections): New prototypes.
1732 * fortran.c (omp_is_initial_device): Add ialias_redirect.
1733 (omp_is_initial_device_): New function.
1734 (ULP, STR1, STR2, ialias_redirect): Removed.
1735 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
1736 omp_set_default_device_8_, omp_get_default_device_,
1737 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
1738 functions.
1739 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
1740 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
1741 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
1742 @@GOMP_4.0.
1743 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
1744 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
1745 omp_set_default_device, omp_set_default_device_,
1746 omp_set_default_device_8_, omp_get_default_device,
1747 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
1748 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
1749 omp_get_team_num_): Export @@OMP_4.0.
1750 * team.c (struct gomp_thread_start_data): Add place field.
1751 (gomp_thread_start): Clear thr->thread_pool and
1752 thr->task before returning. Use gomp_team_barrier_wait_final
1753 instead of gomp_team_barrier_wait. Initialize thr->place.
1754 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
1755 team_cancelled and task_queued_count fields.
1756 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
1757 before calling pthread_exit.
1758 (gomp_free_thread): No longer static. Use
1759 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
1760 (gomp_team_start): Add flags argument. Set
1761 thr->thread_pool->threads_busy to nthreads immediately after creating
1762 new pool. Use gomp_managed_threads_lock instead of
1763 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
1764 (gomp_team_end): Use gomp_managed_threads_lock instead of
1765 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
1766 of gomp_team_barrier_wait. If team->team_cancelled, call
1767 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
1768 rather than thr->ts.work_share.
1769 (initialize_team): Don't call gomp_sem_init here.
1770 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
1771 caller.
1772 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
1773 * env.c (gomp_global_icv): Add default_device_var, target_data and
1774 bind_var initializers.
1775 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
1776 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
1777 gomp_places_list_len): New variables.
1778 (parse_bind_var, parse_one_place, parse_places_var): New functions.
1779 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
1780 sized places.
1781 (gomp_cancel_var): New global variable.
1782 (parse_int): New function.
1783 (handle_omp_display_env): New function.
1784 (initialize_env): Use it. Initialize default_device_var.
1785 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
1786 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
1787 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
1788 been successfully parsed (and call gomp_init_affinity in that case).
1789 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
1790 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
1791 omp_get_team_num, omp_is_initial_device): New functions.
1792 * libgomp.h: Include stdlib.h.
1793 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
1794 Define.
1795 (struct target_mem_desc): Forward declare.
1796 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
1797 and thread_limit_var fields.
1798 (gomp_get_num_devices): New prototype.
1799 (gomp_cancel_var): New extern decl.
1800 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
1801 team_cancelled and task_queued_count fields. Add comments about
1802 task_{,queued_,running_}count.
1803 (gomp_cancel_kind): New enum.
1804 (gomp_work_share_end_cancel): New prototype.
1805 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
1806 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
1807 and depend fields.
1808 (struct gomp_taskgroup): New type.
1809 (struct gomp_task_depend_entry,
1810 struct gomp_dependers_vec): New types.
1811 (gomp_finish_task): Free depend_hash if non-NULL.
1812 (struct gomp_team_state): Add place_partition_off
1813 and place_partition_len fields.
1814 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
1815 gomp_places_list_len): New extern decls.
1816 (struct gomp_thread): Add place field.
1817 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
1818 (gomp_init_thread_affinity): Add place argument.
1819 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
1820 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
1821 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
1822 gomp_affinity_init_level, gomp_affinity_print_place): New
1823 prototypes.
1824 (gomp_team_start): Add flags argument.
1825 (gomp_thread_limit_var, gomp_remaining_threads_count,
1826 gomp_remaining_threads_lock): Remove.
1827 (gomp_managed_threads_lock): New variable.
1828 (struct gomp_thread_pool): Add threads_busy field.
1829 (gomp_free_thread): New prototype.
1830 * task.c: Include hashtab.h.
1831 (hash_entry_type): New typedef.
1832 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
1833 (gomp_init_task): Clear dependers, depend_hash, depend_count,
1834 copy_ctors_done and taskgroup fields.
1835 (GOMP_task): Add depend argument, handle depend clauses. If
1836 gomp_team_barrier_cancelled or if it's taskgroup has been
1837 cancelled, don't queue or start new tasks. Set copy_ctors_done
1838 field if needed. Initialize taskgroup field. If copy_ctors_done
1839 and already cancelled, don't discard the task. If taskgroup is
1840 non-NULL, enqueue the task into taskgroup queue. Increment
1841 num_children field in taskgroup. Increment task_queued_count.
1842 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
1843 gomp_task_run_post_remove_taskgroup): New inline functions.
1844 (gomp_task_run_post_handle_depend_hash,
1845 gomp_task_run_post_handle_dependers,
1846 gomp_task_run_post_handle_depend): New functions.
1847 (GOMP_taskwait): Use them. If more than one new tasks
1848 have been queued, wake other threads if needed.
1849 (gomp_barrier_handle_tasks): Likewise. If
1850 gomp_team_barrier_cancelled, don't start any new tasks, just free
1851 all tasks.
1852 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
1853 * omp_lib.f90.in
1854 (omp_proc_bind_kind, omp_proc_bind_false,
1855 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
1856 omp_proc_bind_spread): New params.
1857 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
1858 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
1859 omp_get_team_num, omp_is_initial_device): New interfaces.
1860 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
1861 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
1862 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
1863 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
1864 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
1865 useless use omp_lib_kinds.
1866 * omp.h.in (omp_proc_bind_t): New typedef.
1867 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
1868 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
1869 omp_get_team_num, omp_is_initial_device): New prototypes.
1870 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
1871 through to gomp_team_start.
1872 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
1873 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
1874 Adjust gomp_parallel_loop_start callers.
1875 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
1876 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
1877 GOMP_loop_end_cancel): New functions.
1878 (GOMP_parallel_end): Add ialias_redirect.
1879 * hashtab.h: New file.
1880 * libgomp.texi (Environment Variables): Minor cleanup,
1881 update section refs to OpenMP 4.0rc2.
1882 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
1883 environment variables.
1884 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
1885 team->work_shares_to_free to thr->ts.work_share before calling
1886 free_work_share.
1887 (gomp_work_share_end_cancel): New function.
1888 * config/linux/proc.c: Include errno.h.
1889 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
1890 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
1891 sizeof (cpu_set_t) to determine number of iterations. Fix up check
1892 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
1893 gomp_cpuset_size is sizeof (cpu_set_t).
1894 (gomp_init_num_threads): Initialize gomp_cpuset_size,
1895 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
1896 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
1897 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
1898 contain any logical CPUs.
1899 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
1900 is NULL. Use gomp_cpusetp instead of &cpuset and pass
1901 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
1902 pthread_getaffinity_np. Check gomp_places_list instead of
1903 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
1904 * config/linux/bar.c (gomp_barrier_wait_end,
1905 gomp_barrier_wait_last): Use BAR_* defines.
1906 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
1907 from state where needed. Set work_share_cancelled to 0 on last
1908 thread.
1909 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
1910 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
1911 functions.
1912 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
1913 Add cpusetsize argument.
1914 (gomp_cpuset_size, gomp_cpusetp): Declare.
1915 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
1916 (affinity_counter): Remove.
1917 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
1918 if CPU_ALLOC_SIZE isn't defined.
1919 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
1920 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
1921 bind current thread to the first place.
1922 (gomp_init_thread_affinity): Rewritten. Add place argument, just
1923 pthread_setaffinity_np to gomp_places_list[place].
1924 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
1925 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
1926 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
1927 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
1928 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
1929 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
1930 (gomp_barrier_t): Add awaited_final field.
1931 (gomp_barrier_init): Initialize awaited_final field.
1932 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
1933 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
1934 prototypes.
1935 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
1936 defines.
1937 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
1938 gomp_team_barrier_cancelled): New inline functions.
1939 (gomp_barrier_last_thread,
1940 gomp_team_barrier_set_task_pending,
1941 gomp_team_barrier_clear_task_pending,
1942 gomp_team_barrier_set_waiting_for_tasks,
1943 gomp_team_barrier_waiting_for_tasks,
1944 gomp_team_barrier_done): Use BAR_* defines.
1945 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
1946 (gomp_barrier_wait_end): Use BAR_* defines.
1947 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
1948 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
1949 Use BAR_* defines.
1950 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
1951 gomp_team_barrier_cancel): New functions.
1952 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
1953 argument.
1954 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
1955 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
1956 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
1957 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
1958 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
1959 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
1960 (gomp_barrier_t): Add cancellable field.
1961 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
1962 gomp_team_barrier_cancel): New prototypes.
1963 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
1964 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
1965 gomp_team_barrier_cancelled): New inline functions.
1966 (gomp_barrier_wait_start, gomp_barrier_last_thread,
1967 gomp_team_barrier_set_task_pending,
1968 gomp_team_barrier_clear_task_pending,
1969 gomp_team_barrier_set_waiting_for_tasks,
1970 gomp_team_barrier_waiting_for_tasks,
1971 gomp_team_barrier_done): Use BAR_* defines.
1972 * barrier.c (GOMP_barrier_cancel): New function.
1973 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
1974 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
1975 omp_proc_bind_spread): New params.
1976 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
1977 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
1978 omp_get_team_num, omp_is_initial_device): New externals.
1979 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
1980 New functions.
1981 (gomp_resolve_num_threads): Adjust for thread_limit now being in
1982 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
1983 infinity. If not nested, just return minimum of max_num_threads
1984 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
1985 to the returned value. Otherwise, don't update atomically
1986 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
1987 (GOMP_parallel_end): Adjust for thread_limit now being in
1988 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
1989 infinity. Adjust threads_busy in the pool rather than
1990 gomp_remaining_threads_count. Remember team->nthreads and call
1991 gomp_team_end before adjusting threads_busy, if not nested
1992 afterwards, just set it to 1 non-atomically. Add ialias.
1993 (GOMP_parallel_start): Adjust gomp_team_start caller.
1994 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
1995 * testsuite/libgomp.c/affinity-1.c: New test.
1996 * testsuite/libgomp.c/atomic-15.c: New test.
1997 * testsuite/libgomp.c/atomic-16.c: New test.
1998 * testsuite/libgomp.c/atomic-17.c: New test.
1999 * testsuite/libgomp.c/cancel-for-1.c: New test.
2000 * testsuite/libgomp.c/cancel-for-2.c: New test.
2001 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
2002 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
2003 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
2004 * testsuite/libgomp.c/cancel-sections-1.c: New test.
2005 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
2006 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
2007 * testsuite/libgomp.c/depend-1.c: New test.
2008 * testsuite/libgomp.c/depend-2.c: New test.
2009 * testsuite/libgomp.c/depend-3.c: New test.
2010 * testsuite/libgomp.c/depend-4.c: New test.
2011 * testsuite/libgomp.c/for-1.c: New test.
2012 * testsuite/libgomp.c/for-1.h: New file.
2013 * testsuite/libgomp.c/for-2.c: New test.
2014 * testsuite/libgomp.c/for-2.h: New file.
2015 * testsuite/libgomp.c/for-3.c: New test.
2016 * testsuite/libgomp.c/pr58392.c: New test.
2017 * testsuite/libgomp.c/simd-1.c: New test.
2018 * testsuite/libgomp.c/simd-2.c: New test.
2019 * testsuite/libgomp.c/simd-3.c: New test.
2020 * testsuite/libgomp.c/simd-4.c: New test.
2021 * testsuite/libgomp.c/simd-5.c: New test.
2022 * testsuite/libgomp.c/simd-6.c: New test.
2023 * testsuite/libgomp.c/target-1.c: New test.
2024 * testsuite/libgomp.c/target-2.c: New test.
2025 * testsuite/libgomp.c/target-3.c: New test.
2026 * testsuite/libgomp.c/target-4.c: New test.
2027 * testsuite/libgomp.c/target-5.c: New test.
2028 * testsuite/libgomp.c/target-6.c: New test.
2029 * testsuite/libgomp.c/target-7.c: New test.
2030 * testsuite/libgomp.c/taskgroup-1.c: New test.
2031 * testsuite/libgomp.c/thread-limit-1.c: New test.
2032 * testsuite/libgomp.c/thread-limit-2.c: New test.
2033 * testsuite/libgomp.c/thread-limit-3.c: New test.
2034 * testsuite/libgomp.c/udr-1.c: New test.
2035 * testsuite/libgomp.c/udr-2.c: New test.
2036 * testsuite/libgomp.c/udr-3.c: New test.
2037 * testsuite/libgomp.c++/affinity-1.C: New test.
2038 * testsuite/libgomp.c++/atomic-10.C: New test.
2039 * testsuite/libgomp.c++/atomic-11.C: New test.
2040 * testsuite/libgomp.c++/atomic-12.C: New test.
2041 * testsuite/libgomp.c++/atomic-13.C: New test.
2042 * testsuite/libgomp.c++/atomic-14.C: New test.
2043 * testsuite/libgomp.c++/atomic-15.C: New test.
2044 * testsuite/libgomp.c++/cancel-for-1.C: New test.
2045 * testsuite/libgomp.c++/cancel-for-2.C: New test.
2046 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
2047 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
2048 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
2049 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
2050 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
2051 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
2052 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
2053 * testsuite/libgomp.c++/cancel-test.h: New file.
2054 * testsuite/libgomp.c++/for-9.C: New test.
2055 * testsuite/libgomp.c++/for-10.C: New test.
2056 * testsuite/libgomp.c++/for-11.C: New test.
2057 * testsuite/libgomp.c++/simd-1.C: New test.
2058 * testsuite/libgomp.c++/simd-2.C: New test.
2059 * testsuite/libgomp.c++/simd-3.C: New test.
2060 * testsuite/libgomp.c++/simd-4.C: New test.
2061 * testsuite/libgomp.c++/simd-5.C: New test.
2062 * testsuite/libgomp.c++/simd-6.C: New test.
2063 * testsuite/libgomp.c++/simd-7.C: New test.
2064 * testsuite/libgomp.c++/simd-8.C: New test.
2065 * testsuite/libgomp.c++/target-1.C: New test.
2066 * testsuite/libgomp.c++/target-2.C: New test.
2067 * testsuite/libgomp.c++/target-2-aux.cc: New file.
2068 * testsuite/libgomp.c++/target-3.C: New test.
2069 * testsuite/libgomp.c++/taskgroup-1.C: New test.
2070 * testsuite/libgomp.c++/udr-1.C: New test.
2071 * testsuite/libgomp.c++/udr-2.C: New test.
2072 * testsuite/libgomp.c++/udr-3.C: New test.
2073 * testsuite/libgomp.c++/udr-4.C: New test.
2074 * testsuite/libgomp.c++/udr-5.C: New test.
2075 * testsuite/libgomp.c++/udr-6.C: New test.
2076 * testsuite/libgomp.c++/udr-7.C: New test.
2077 * testsuite/libgomp.c++/udr-8.C: New test.
2078 * testsuite/libgomp.c++/udr-9.C: New test.
2079
2080 2013-09-20 Jakub Jelinek <jakub@redhat.com>
2081
2082 PR testsuite/57605
2083 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
2084 ALWAYS_CFLAGS.
2085
2086 2013-09-20 Alan Modra <amodra@gmail.com>
2087
2088 * configure: Regenerate.
2089
2090 2013-09-19 Jakub Jelinek <jakub@redhat.com>
2091
2092 * testsuite/libgomp.c/sections-2.c: New test.
2093
2094 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
2095
2096 * testsuite/libgomp.fortran/strassen.f90:
2097 Add dg-skip-if aarch64_tiny.
2098
2099 2013-06-20 Iain Sandoe <iain@codesourcery.com>
2100 Cesar Philippidis <cesar@codesourcery.com>
2101
2102 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
2103 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
2104 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
2105 * testsuite/libgomp.fortran/fortran.exp: Likewise.
2106 * testsuite/libgomp.graphite/graphite.exp: Likewise.
2107 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
2108 Use dg-runtest rather than gfortran-dg-runtest.
2109
2110 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
2111
2112 * testsuite/libgomp.c/icv-2.c: Extend current handling of
2113 Linux-based x86 systems to cover all GNU systems.
2114 * testsuite/libgomp.c/lock-3.c: Likewise.
2115 * testsuite/libgomp.c/pr48591.c: Likewise.
2116
2117 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
2118
2119 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
2120 GNU/Hurd, as done for Linux-based systems.
2121
2122 * config/posix/ptrlock.h: Fix comment.
2123
2124 2013-05-27 Tobias Burnus <burnus@net-b.de>
2125
2126 PR fortran/57423
2127 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
2128 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
2129 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
2130 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
2131 omp_destroy_nest_lock): Correct arguments to match the one in
2132 the OpenMP spec.
2133 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
2134 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
2135 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
2136 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
2137
2138 2013-05-16 Jakub Jelinek <jakub@redhat.com>
2139
2140 * testsuite/libgomp.c/loop-13.c: New test.
2141 * testsuite/libgomp.c/loop-14.c: New test.
2142 * testsuite/libgomp.c/loop-15.c: New test.
2143 * testsuite/libgomp.c++/loop-13.C: New test.
2144 * testsuite/libgomp.c++/loop-14.C: New test.
2145 * testsuite/libgomp.c++/loop-15.C: New test.
2146
2147 2013-02-06 Jakub Jelinek <jakub@redhat.com>
2148
2149 PR middle-end/56217
2150 * testsuite/libgomp.c++/pr56217.C: New test.
2151
2152 2013-02-01 Alan Modra <amodra@gmail.com>
2153
2154 * task.c (GOMP_task, GOMP_taskwait): Comment.
2155
2156 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
2157 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
2158
2159 PR libgomp/55561
2160 * config/linux/wait.h (do_spin): Use atomic load for addr.
2161 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
2162 for intptr and ptrlock.
2163 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
2164 for ptrlock.
2165
2166 2013-01-22 Alan Modra <amodra@gmail.com>
2167
2168 PR libgomp/51376
2169 PR libgomp/56073
2170 * task.c (GOMP_task): Revert 2011-12-09 change.
2171 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
2172 barrier to read task->children..
2173 (gomp_barrier_handle_tasks): ..and matching atomic store with
2174 release barrier here when setting parent->children to NULL.
2175
2176 2013-01-16 Jakub Jelinek <jakub@redhat.com>
2177 Tobias Burnus <burnus@net-b.de>
2178
2179 PR driver/55884
2180 * testsuite/libgomp.fortran/fortran.exp: Use
2181 -fintrinsic-modules-path= instead of
2182 -fintrinsic-modules-path.
2183
2184 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
2185
2186 Update copyright years.
2187
2188 2012-12-19 Tobias Burnus <burnus@net-b.de>
2189
2190 * testsuite/libgomp.fortran/fortran.exp: Set
2191 -fintrinsic-modules-path.
2192
2193 2012-12-19 Tobias Burnus <burnus@net-b.de>
2194
2195 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
2196 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
2197
2198 2012-11-21 Jakub Jelinek <jakub@redhat.com>
2199
2200 PR libgomp/55411
2201 * team.c (gomp_free_thread): Decrease gomp_managed_threads
2202 if pool had any threads_used.
2203
2204 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
2205
2206 * testsuite/libgomp.c++/pr24455.C: Use
2207 -Wl,-undefined,dynamic_lookup on darwin.
2208
2209 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
2210
2211 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
2212
2213 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
2214
2215 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
2216
2217 2012-10-23 Ian Bolton <ian.bolton@arm.com>
2218 Jim MacArthur <jim.macarthur@arm.com>
2219 Marcus Shawcroft <marcus.shawcroft@arm.com>
2220 Nigel Stephens <nigel.stephens@arm.com>
2221 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2222 Richard Earnshaw <rearnsha@arm.com>
2223 Sofiane Naci <sofiane.naci@arm.com>
2224 Stephen Thomas <stephen.thomas@arm.com>
2225 Tejas Belagod <tejas.belagod@arm.com>
2226 Yufeng Zhang <yufeng.zhang@arm.com>
2227
2228 * configure.tgt: Add AArch64.
2229
2230 2012-10-04 Jason Merrill <jason@redhat.com>
2231
2232 * testsuite/libgomp.c++/tls-init1.C: New.
2233
2234 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
2235
2236 * configure: Regenerated.
2237
2238 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
2239
2240 * config/linux/mips/futex.h (sys_futex0): Change to static
2241 function with noinline, nomips16 attributes under MIPS16. Adjust
2242 asm statement to place 'li v0,SYS_futex' immediately before
2243 syscall insn.
2244
2245 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
2246
2247 * libgomp.texi (Library Index): Renamed from "Index" to prevent
2248 conflict with index.html on case-insensitive file systems.
2249
2250 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
2251
2252 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
2253 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
2254
2255 2012-07-02 Richard Guenther <rguenther@suse.de>
2256 Michael Matz <matz@suse.de>
2257 Tobias Grosser <tobias@grosser.es>
2258 Sebastian Pop <sebpop@gmail.com>
2259
2260 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
2261 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
2262 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
2263 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
2264
2265 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
2266
2267 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
2268
2269 2012-06-22 Richard Guenther <rguenther@suse.de>
2270
2271 Merge from graphite branch
2272 2012-01-13 Tobias Grosser <tobias@grosser.es>
2273
2274 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
2275 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
2276
2277 2012-06-07 Jakub Jelinek <jakub@redhat.com>
2278
2279 PR middle-end/53580
2280 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
2281 use GOMP_barrier () call instead.
2282 * testsuite/libgomp.c/pr26943-3.c: Likewise.
2283 * testsuite/libgomp.c/pr26943-4.c: Likewise.
2284 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
2285 call GOMP_barrier instead.
2286 * testsuite/libgomp.fortran/vla5.f90: Likewise.
2287
2288 2012-06-06 Jakub Jelinek <jakub@redhat.com>
2289
2290 PR libgomp/52993
2291 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
2292 argument to memset call.
2293
2294 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
2295
2296 * configure: Regenerated.
2297
2298 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2299
2300 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
2301
2302 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
2303
2304 PR bootstrap/52812
2305 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
2306
2307 2012-03-22 Jakub Jelinek <jakub@redhat.com>
2308
2309 PR middle-end/52547
2310 * testsuite/libgomp.c/pr52547.c: New test.
2311
2312 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2313
2314 * testsuite/lib/libgomp.exp: load fortran-modules.exp
2315
2316 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2317
2318 * configure.tgt (mips-sgi-irix6*): Remove.
2319
2320 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2321
2322 * configure.tgt (alpha*-dec-osf*): Remove.
2323
2324 * config/osf/sem.h: Remove.
2325 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
2326
2327 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
2328
2329 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
2330
2331 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2332
2333 PR libstdc++/52188
2334 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
2335 Remove ENABLE_SYMVERS_SOL2.
2336 * configure: Regenerate.
2337 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
2338 (PREPROCESS): New variable.
2339 (libgomp.ver): New target.
2340 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
2341 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
2342 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
2343 Use libgomp.ver.
2344 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
2345 * Makefile.in: Regenerate.
2346
2347 2012-02-14 Walter Lee <walt@tilera.com>
2348
2349 * configure.tgt: Handle tilegx and tilepro.
2350 * config/linux/tile/futex.h: New file.
2351
2352 2012-02-08 Richard Guenther <rguenther@suse.de>
2353
2354 PR tree-optimization/46886
2355 * testsuite/libgomp.c/pr46886.c: New testcase.
2356
2357 2012-01-25 Matthias Klose <doko@ubuntu.com>
2358
2359 * config/linux/arm: Remove empty directory.
2360 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
2361
2362 2011-12-09 Alan Modra <amodra@gmail.com>
2363
2364 PR libgomp/51376
2365 * task.c (GOMP_taskwait): Don't access task->children outside of
2366 task_lock mutex region.
2367 (GOMP_task): Likewise.
2368
2369 2011-12-06 Jakub Jelinek <jakub@redhat.com>
2370
2371 PR libgomp/51132
2372 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
2373 to file scope.
2374 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
2375 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
2376 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
2377 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
2378 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
2379
2380 2011-12-02 Alan Modra <amodra@gmail.com>
2381
2382 * config/linux/affinity.c: Use atomic rather than sync builtin.
2383 * config/linux/lock.c: Likewise.
2384 * config/linux/ptrlock.h: Likewise.
2385 * config/linux/ptrlock.c: Likewise.
2386 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
2387 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
2388 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
2389 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
2390 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
2391 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
2392 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
2393 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
2394 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
2395 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
2396
2397 2011-11-30 Alan Modra <amodra@gmail.com>
2398
2399 PR libgomp/51298
2400 * config/linux/bar.h: Use atomic rather than sync builtins.
2401 * config/linux/bar.c: Likewise. Add missing acquire
2402 synchronisation on generation field.
2403 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
2404 double unlock.
2405
2406 2011-11-30 Alan Modra <amodra@gmail.com>
2407
2408 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
2409 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
2410 * config/linux/mutex.h: Use atomic rather than sync builtins.
2411 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
2412 * config/linux/omp-lock.h: Comment fix.
2413 * config/linux/arm/mutex.h: Delete.
2414 * config/linux/powerpc/mutex.h: Delete.
2415 * config/linux/ia64/mutex.h: Delete.
2416 * config/linux/mips/mutex.h: Delete.
2417
2418 2011-11-30 Alan Modra <amodra@gmail.com>
2419
2420 PR libgomp/51249
2421 * config/linux/sem.h: Rewrite.
2422 * config/linux/sem.c: Rewrite.
2423
2424 2011-11-28 Richard Henderson <rth@redhat.com>
2425
2426 * libgomp.h (enum memmodel): New.
2427
2428 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
2429
2430 * configure: Regenerate.
2431
2432 2011-10-10 Matthias Klose <doko@ubuntu.com>
2433
2434 * config/posix95: Remove empty directory.
2435
2436 2011-08-26 Jakub Jelinek <jakub@redhat.com>
2437
2438 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
2439
2440 2011-08-19 Jakub Jelinek <jakub@redhat.com>
2441
2442 PR fortran/49792
2443 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
2444 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
2445
2446 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2447
2448 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
2449
2450 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2451
2452 PR libgomp/49965
2453 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
2454
2455 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
2456
2457 * config/linux/proc.h: New.
2458 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
2459 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
2460 (gomp_init_num_threads): Update call to cpuset_popcount.
2461 (get_num_procs): Ditto.
2462 * config/linux/affinity.c (gomp_init_affinity): Call
2463 gomp_cpuset_popcount.
2464
2465 2011-08-02 Jakub Jelinek <jakub@redhat.com>
2466
2467 PR fortran/42041
2468 PR fortran/46752
2469 * omp.h.in (omp_in_final): New prototype.
2470 * omp_lib.f90.in (omp_in_final): New interface.
2471 (omp_integer_kind, omp_logical_kind): Remove
2472 and replace all its uses in the module with 4.
2473 (openmp_version): Change to 201107.
2474 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
2475 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
2476 kind for the parameters.
2477 (omp_in_final): New external.
2478 (openmp_version): Change to 201107.
2479 * task.c (omp_in_final): New function.
2480 (gomp_init_task): Initialize final_task.
2481 (GOMP_task): Remove unused attribute from flags. Handle final
2482 tasks.
2483 (GOMP_taskyield): New function.
2484 (omp_in_final): Return true if if (false) or final (true) task
2485 or descendant of final (true).
2486 * fortran.c (omp_in_final_): New function.
2487 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
2488 (GOMP_3.0): Export GOMP_taskyield.
2489 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
2490 variables.
2491 (parse_unsigned_long_list): New function.
2492 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
2493 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
2494 even if parse_affinity returned false.
2495 * config/linux/affinity.c (gomp_init_affinity): Handle
2496 gomp_cpu_affinity_len == 0.
2497 * libgomp_g.h (GOMP_taskyield): New prototype.
2498 * libgomp.h (struct gomp_task): Add final_task field.
2499 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
2500 * team.c (gomp_team_start): Override new task's nthreads_var icv
2501 if list form OMP_NUM_THREADS has been used and it has value for
2502 the new nesting level.
2503
2504 * testsuite/libgomp.c/atomic-11.c: New test.
2505 * testsuite/libgomp.c/atomic-12.c: New test.
2506 * testsuite/libgomp.c/atomic-13.c: New test.
2507 * testsuite/libgomp.c/atomic-14.c: New test.
2508 * testsuite/libgomp.c/reduction-6.c: New test.
2509 * testsuite/libgomp.c/task-5.c: New test.
2510 * testsuite/libgomp.c++/atomic-2.C: New test.
2511 * testsuite/libgomp.c++/atomic-3.C: New test.
2512 * testsuite/libgomp.c++/atomic-4.C: New test.
2513 * testsuite/libgomp.c++/atomic-5.C: New test.
2514 * testsuite/libgomp.c++/atomic-6.C: New test.
2515 * testsuite/libgomp.c++/atomic-7.C: New test.
2516 * testsuite/libgomp.c++/atomic-8.C: New test.
2517 * testsuite/libgomp.c++/atomic-9.C: New test.
2518 * testsuite/libgomp.c++/task-8.C: New test.
2519 * testsuite/libgomp.c++/reduction-4.C: New test.
2520 * testsuite/libgomp.fortran/allocatable7.f90: New test.
2521 * testsuite/libgomp.fortran/allocatable8.f90: New test.
2522 * testsuite/libgomp.fortran/crayptr3.f90: New test.
2523 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
2524 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
2525 * testsuite/libgomp.fortran/pointer1.f90: New test.
2526 * testsuite/libgomp.fortran/pointer2.f90: New test.
2527 * testsuite/libgomp.fortran/task4.f90: New test.
2528
2529 2011-08-02 Tobias Burnus <burnus@net-b.de>
2530
2531 * libgomp.texi: Update OpenMP spec references to 3.1.
2532 (omp_in_final,OMP_PROC_BIND): New sections.
2533 (OMP_NUM_THREADS): Document that the value can be now a list.
2534 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
2535
2536 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
2537
2538 * config/linux/x86/futex.h: Check __x86_64__ instead of
2539 __LP64__.
2540
2541 2011-07-29 Jakub Jelinek <jakub@redhat.com>
2542
2543 PR middle-end/49897
2544 PR middle-end/49898
2545 * testsuite/libgomp.c/pr49897-1.c: New test.
2546 * testsuite/libgomp.c/pr49897-2.c: New test.
2547 * testsuite/libgomp.c/pr49898-1.c: New test.
2548 * testsuite/libgomp.c/pr49898-2.c: New test.
2549
2550 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
2551
2552 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
2553 for ia32 instead of ilp32.
2554
2555 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
2556 * testsuite/libgomp.c/atomic-6.c: Likewise.
2557
2558 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
2559
2560 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
2561 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
2562
2563 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2564
2565 PR libgomp/45351
2566 * config/osf/sem.h: New file.
2567 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
2568
2569 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2570
2571 PR target/49541
2572 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
2573 ldflags.
2574
2575 2011-07-15 Jakub Jelinek <jakub@redhat.com>
2576
2577 * config/linux/wait.h (do_spin): New inline, largely copied
2578 from do_wait, just don't do futex_wait here, instead return true if
2579 it should be done.
2580 (do_wait): Implement using do_spin.
2581 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
2582 to prototype.
2583 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
2584 __sync_bool_compare_and_swap, pass the oldval to
2585 gomp_mutex_lock_slow.
2586 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
2587 If all mutex contenders are just spinning and not sleeping, don't
2588 change state to 2 unnecessarily. Optimize the loop when state has
2589 already become 2 to use just one atomic operation per loop instead
2590 of two.
2591 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
2592 to prototype.
2593 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
2594 __sync_bool_compare_and_swap, pass the oldval to
2595 gomp_mutex_lock_slow.
2596
2597 2011-06-22 Jakub Jelinek <jakub@redhat.com>
2598
2599 PR libgomp/49490
2600 * iter.c (gomp_iter_static_next): For chunk size 0
2601 only use n ceil/ nthreads size for the first
2602 n % nthreads threads in the team instead of
2603 all threads except for the last few ones which
2604 get less work or none at all.
2605 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
2606 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
2607 chunk argument, set run_sched_modifier to 0 for static
2608 resp. 1 for other kinds. If chunk argument is 0
2609 and not static, set value to 1.
2610
2611 2011-05-19 Jakub Jelinek <jakub@redhat.com>
2612
2613 PR c++/49043
2614 * testsuite/libgomp.c++/pr49043.C: New test.
2615
2616 PR c++/48869
2617 * testsuite/libgomp.c++/pr48869.C: New test.
2618
2619 2011-05-06 Jakub Jelinek <jakub@redhat.com>
2620
2621 PR fortran/48894
2622 * fortran.c: Include limits.h.
2623 (TO_INT): Define.
2624 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
2625 *set.
2626 (omp_set_num_threads_8_, omp_set_schedule_8_,
2627 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
2628 omp_get_team_size_8_): Use TO_INT macro.
2629 * testsuite/libgomp.fortran/pr48894.f90: New test.
2630
2631 2011-04-13 Jakub Jelinek <jakub@redhat.com>
2632
2633 PR middle-end/48591
2634 * testsuite/libgomp.c/pr48591.c: New test.
2635
2636 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2637
2638 PR bootstrap/48135
2639 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
2640 * configure: Regenerate.
2641
2642 2011-02-27 Jakub Jelinek <jakub@redhat.com>
2643
2644 PR fortran/47886
2645 * testsuite/libgomp.fortran/task3.f90: New test.
2646
2647 2011-02-24 Tobias Burnus <burnus@net-b.de>
2648
2649 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
2650
2651 2011-02-23 Jakub Jelinek <jakub@redhat.com>
2652
2653 PR libgomp/47854
2654 * libgomp.texi (omp_get_wtime): Don't say time in the past
2655 must be Unix Epoch.
2656
2657 2011-02-18 Jakub Jelinek <jakub@redhat.com>
2658
2659 PR libgomp/47804
2660 * testsuite/libgomp.fortran/fortran.exp: Check for both
2661 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
2662 but $blddir != "", still append ${blddir}/${lang_library_path}
2663 to ld_library_path.
2664
2665 2011-02-16 Tobias Burnus <burnus@net-b.de>
2666
2667 PR libgomp/47758
2668 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
2669 of libquadmath.a before adding its libpath to ldflags.
2670
2671 2011-02-14 Jakub Jelinek <jakub@redhat.com>
2672
2673 PR libgomp/47731
2674 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
2675 to FUTEX_WAIT futex syscall.
2676 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
2677
2678 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2679
2680 * configure: Regenerate.
2681
2682 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
2683
2684 PR libstdc++/36104
2685 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
2686
2687 2011-01-16 Gerald Pfeifer
2688
2689 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
2690
2691 2010-12-14 Jakub Jelinek <jakub@redhat.com>
2692
2693 PR fortran/46874
2694 * libgomp.fortran/allocatable6.f90: New test.
2695
2696 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2697
2698 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
2699 * configure: Regenerate.
2700
2701 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
2702
2703 PR target/40125
2704 PR lto/46695
2705 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
2706 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
2707 * aclocal.m4: Regenerate.
2708 * configure: Regenerate.
2709 * Makefile.in: Regenerate.
2710 * testsuite/Makefile.in: Regenerate.
2711
2712 2010-12-02 Jakub Jelinek <jakub@redhat.com>
2713
2714 PR fortran/46753
2715 * libgomp.fortran/pr46753.f90: New test.
2716
2717 PR libgomp/43706
2718 * env.c (initialize_env): Default to spin count 300000
2719 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
2720 is specified.
2721
2722 PR libgomp/45240
2723 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
2724 at the end if sync builtins aren't supported.
2725
2726 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2727
2728 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
2729
2730 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2731
2732 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
2733
2734 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
2735
2736 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
2737
2738 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2739 Tobias Burnus <burnus@net-b.de>
2740
2741 PR fortran/32049
2742 * configure.ac:
2743 * configure: Regenerate.
2744
2745 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
2746
2747 * config/linux/futex.h: New.
2748 * config/linux/arm/mutex.h: New.
2749 * configure.tgt (arm*-*-linux*): Add config path.
2750
2751 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
2752
2753 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
2754
2755 2010-09-23 Tobias Burnus <burnus@net-b.de>
2756
2757 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
2758 Change Fortran datatype to LOGICAL.
2759 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
2760 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
2761
2762 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2763
2764 * configure: Regenerate.
2765
2766 2010-07-26 Jakub Jelinek <jakub@redhat.com>
2767
2768 * libgomp.texi: Add function keyword to a couple of Fortran
2769 interfaces, use integer instead of int for Fortran.
2770
2771 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
2772
2773 * libgomp.texi: Fix spelling and pasto problems throughout.
2774 Adjust prototypes to match code.
2775
2776 2010-07-24 Tobias Burnus <burnus@net-b.de>
2777
2778 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
2779 silence -fwhole-file warning.
2780
2781 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2782
2783 * configure.tgt (*-*-solaris2.[56]*): Removed.
2784
2785 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2786
2787 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
2788 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
2789 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
2790 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
2791 targetting solaris2*.
2792 * configure: Regenerate.
2793 * config.h.in: Regenerate.
2794
2795 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
2796 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
2797 Add libgomp_version_dep.
2798 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
2799 versioning.
2800 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
2801 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
2802 * Makefile.in: Regenerate.
2803
2804 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
2805 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
2806 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
2807 to common block, protected by
2808 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
2809
2810 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
2811
2812 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
2813
2814 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
2815
2816 PR bootstrap/43170
2817 * configure: Regenerate.
2818
2819 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2820
2821 PR other/43620
2822 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
2823 * configure: Regenerate.
2824 * Makefile.in: Regenerate.
2825 * testsuite/Makefile.in: Regenerate.
2826
2827 2010-04-26 Jakub Jelinek <jakub@redhat.com>
2828
2829 PR c/43893
2830 * testsuite/libgomp.c/pr43893.c: New test.
2831 * testsuite/libgomp.c++/pr43893.C: New test.
2832
2833 2010-04-21 Jakub Jelinek <jakub@redhat.com>
2834
2835 PR middle-end/43570
2836 * testsuite/libgomp.fortran/vla8.f90: New test.
2837
2838 2010-04-20 Jakub Jelinek <jakub@redhat.com>
2839
2840 PR libgomp/43706
2841 * config/linux/affinity.c (gomp_init_affinity): Decrease
2842 gomp_available_cpus if affinity mask confines the process to fewer
2843 CPUs.
2844 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
2845 non-NULL, just return gomp_available_cpus.
2846
2847 PR libgomp/43569
2848 * sections.c (gomp_sections_init): Initialize ws->mode.
2849
2850 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
2851
2852 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
2853 not unused bar variable.
2854 * configure: Regenerate.
2855
2856 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2857
2858 * Makefile.in: Regenerate.
2859 * aclocal.m4: Regenerate.
2860 * testsuite/Makefile.in: Regenerate.
2861
2862 2010-03-22 Jakub Jelinek <jakub@redhat.com>
2863
2864 PR libgomp/42942
2865 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
2866 (initialize_env): Adjust callers.
2867 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
2868 when the argument is 0.
2869
2870 * testsuite/libgomp.c/pr42942.c: New test.
2871
2872 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
2873
2874 PR middle-end/42644
2875 PR middle-end/42130
2876 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
2877 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
2878
2879 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2880
2881 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
2882 * testsuite/libgomp.c++/task-6.C: Likewise.
2883
2884 2010-01-28 Steve Ellcey <sje@cup.hp.com>
2885
2886 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
2887
2888 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
2889
2890 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
2891 * configure: Regenerate.
2892
2893 2010-01-26 Jakub Jelinek <jakub@redhat.com>
2894
2895 PR fortran/42866
2896 * testsuite/libgomp.fortran/allocatable5.f90: New test.
2897
2898 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
2899
2900 * configure.ac: Test for executability of GFORTRAN.
2901 * configure: Regenerate.
2902
2903 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2904
2905 * configure: Regenerate.
2906
2907 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
2908
2909 PR libgomp/42602
2910 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
2911
2912 2010-01-03 Richard Guenther <rguenther@suse.de>
2913
2914 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
2915
2916 2009-12-23 Sebastian Pop <sebpop@gmail.com>
2917
2918 * testsuite/libgomp.graphite/pr4118.c: New.
2919
2920 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
2921
2922 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
2923 for darwin, protect the test with require-effective-target tls_runtime.
2924 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
2925
2926 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
2927
2928 PR target/41605
2929 * testsuite/lib/libgomp.exp: Provide -B options to allow for
2930 link spec %s substitutions for static libraries.
2931
2932 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
2933
2934 PR testsuite/42135
2935 * libgomp.graphite/force-parallel-2.c: Reduce array size.
2936
2937 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2938
2939 * Makefile.in: Regenerate.
2940 * configure: Regenerate.
2941 * testsuite/Makefile.in: Regenerate.
2942
2943 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
2944
2945 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
2946 settings for LC_ALL and LANG.
2947
2948 2009-11-25 Jakub Jelinek <jakub@redhat.com>
2949
2950 PR fortran/42162
2951 * testsuite/libgomp.fortran/pr42162.f90: New test.
2952
2953 2009-11-13 Jakub Jelinek <jakub@redhat.com>
2954
2955 PR middle-end/42029
2956 * testsuite/libgomp.c/pr42029.c: New test.
2957
2958 2009-10-26 Jakub Jelinek <jakub@redhat.com>
2959
2960 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
2961 *s. Accept ld version without text in ()s.
2962 * configure: Regenerated.
2963
2964 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
2965
2966 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
2967
2968 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2969
2970 PR libgomp/41418
2971 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
2972 or a hyphen (happens with fortran language disabled).
2973 * configure: Regenerate.
2974
2975 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2976
2977 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
2978 use sed script portable to Solaris /bin/sed for extracting ld
2979 version.
2980 * configure: Regenerate.
2981
2982 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
2983
2984 * testsuite/libgomp.graphite/bounds.c: New test.
2985
2986 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2987
2988 * Makefile.am (libgomp_la_LINK): New.
2989 * Makefile.in: Regenerate.
2990
2991 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2992
2993 * configure.ac (AC_PREREQ): Bump to 2.64.
2994
2995 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2996
2997 * Makefile.am (install-html, install-pdf): Remove.
2998 * Makefile.in: Regenerate.
2999
3000 * Makefile.in: Regenerate.
3001 * aclocal.m4: Regenerate.
3002 * config.h.in: Regenerate.
3003 * configure: Regenerate.
3004 * testsuite/Makefile.in: Regenerate.
3005
3006 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3007
3008 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
3009 * Makefile.in: Regenerate.
3010
3011 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
3012
3013 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
3014 * Makefile.in: Regenerate.
3015
3016 2009-08-19 Tobias Burnus <burnus@net-b.de>
3017
3018 PR fortran/41102
3019 omp_lib.h.in: Fix -std=f95 errors.
3020
3021
3022 2009-08-14 David Edelsohn <edelsohn@gnu.org>
3023
3024 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
3025 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
3026 * testsuite/libgomp.graphite/graphite.exp: New.
3027
3028 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
3029
3030 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
3031 only build.
3032
3033 2009-08-04 David Daney <ddaney@caviumnetworks.com>
3034
3035 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
3036 needed memory barrier semantics.
3037 * config/linux/mips/mutex.h: New file.
3038
3039 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3040
3041 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
3042
3043 2009-07-16 Joseph Myers <joseph@codesourcery.com>
3044
3045 * configure: Regenerate.
3046
3047 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
3048
3049 PR testsuite/40699
3050 PR testsuite/40707
3051 PR testsuite/40709
3052 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
3053 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
3054 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
3055
3056 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
3057
3058 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
3059 options when choosing a multilib.
3060
3061 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
3062
3063 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
3064 ld_library_path. Use add_path. Add just find_libgcc_s to
3065 ld_library_path, not every libgcc multilib directory.
3066 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
3067 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
3068 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
3069 Use add_path.
3070 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
3071
3072 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
3073
3074 * Makefile.am (LTLDFLAGS): Define.
3075 (LINK): Define.
3076 * Makefile.in: Regenerate.
3077
3078 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
3079
3080 PR fortran/39718
3081 * testsuite/libgomp.fortran/fortran.exp: Don't link with
3082 libgfortranbegin, check existence of libgfortran.a instead of
3083 libgfortranbegin.a.
3084
3085 2009-05-20 Jakub Jelinek <jakub@redhat.com>
3086
3087 PR libgomp/40174
3088 * team.c (gomp_thread_start): Destroy thr->release semaphore.
3089 (gomp_free_pool_helper): Likewise.
3090
3091 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
3092 Jakub Jelinek <jakub@redhat.com>
3093
3094 PR fortran/35423
3095 * testsuite/libgomp.fortran/workshare2.f90: New test.
3096
3097 2009-04-09 Nick Clifton <nickc@redhat.com>
3098
3099 * iter.c: Change copyright header to refer to version 3 of the
3100 GNU General Public License with version 3.1 of the GCC Runtime
3101 Library Exception and to point readers at the COPYING3 and
3102 COPYING3.RUNTIME files and the FSF's license web page.
3103 * alloc.c: Likewise.
3104 * barrier.c: Likewise.
3105 * config/bsd/proc.c: Likewise.
3106 * config/linux/affinity.c: Likewise.
3107 * config/linux/alpha/futex.h: Likewise.
3108 * config/linux/bar.c: Likewise.
3109 * config/linux/bar.h: Likewise.
3110 * config/linux/ia64/futex.h: Likewise.
3111 * config/linux/ia64/mutex.h: Likewise.
3112 * config/linux/lock.c: Likewise.
3113 * config/linux/mips/futex.h: Likewise.
3114 * config/linux/mutex.c: Likewise.
3115 * config/linux/mutex.h: Likewise.
3116 * config/linux/powerpc/futex.h: Likewise.
3117 * config/linux/proc.c: Likewise.
3118 * config/linux/ptrlock.c: Likewise.
3119 * config/linux/ptrlock.h: Likewise.
3120 * config/linux/s390/futex.h: Likewise.
3121 * config/linux/sem.c: Likewise.
3122 * config/linux/sem.h: Likewise.
3123 * config/linux/sparc/futex.h: Likewise.
3124 * config/linux/wait.h: Likewise.
3125 * config/linux/x86/futex.h: Likewise.
3126 * config/mingw32/proc.c: Likewise.
3127 * config/mingw32/time.c: Likewise.
3128 * config/posix/affinity.c: Likewise.
3129 * config/posix/bar.c: Likewise.
3130 * config/posix/bar.h: Likewise.
3131 * config/posix/lock.c: Likewise.
3132 * config/posix/mutex.h: Likewise.
3133 * config/posix/proc.c: Likewise.
3134 * config/posix/ptrlock.h: Likewise.
3135 * config/posix/sem.c: Likewise.
3136 * config/posix/sem.h: Likewise.
3137 * config/posix/time.c: Likewise.
3138 * config/posix95/lock.c: Likewise.
3139 * critical.c: Likewise.
3140 * env.c: Likewise.
3141 * error.c: Likewise.
3142 * fortran.c: Likewise.
3143 * iter_ull.c: Likewise.
3144 * libgomp.h: Likewise.
3145 * libgomp_f.h.in: Likewise.
3146 * libgomp_g.h: Likewise.
3147 * loop.c: Likewise.
3148 * loop_ull.c: Likewise.
3149 * omp.h.in: Likewise.
3150 * omp_lib.f90.in: Likewise.
3151 * omp_lib.h.in: Likewise.
3152 * ordered.c: Likewise.
3153 * parallel.c: Likewise.
3154 * sections.c: Likewise.
3155 * single.c: Likewise.
3156 * task.c: Likewise.
3157 * team.c: Likewise.
3158 * work.c: Likewise.
3159
3160 2009-04-09 Jakub Jelinek <jakub@redhat.com>
3161
3162 * testsuite/config/default.exp: Change copyright header to refer to
3163 version 3 of the GNU General Public License and to point readers
3164 at the COPYING3 file and the FSF's license web page.
3165
3166 2009-04-08 Jakub Jelinek <jakub@redhat.com>
3167
3168 PR middle-end/39573
3169 * libgomp.c++/pr39573.C: New test.
3170
3171 2009-04-01 Jakub Jelinek <jakub@redhat.com>
3172
3173 PR other/39591
3174 * testsuite/libgomp.c/pr39591-1.c: New test.
3175 * testsuite/libgomp.c/pr39591-2.c: New test.
3176 * testsuite/libgomp.c/pr39591-3.c: New test.
3177
3178 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
3179
3180 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
3181 * testsuite/libgomp.c/atomic-6.c: Ditto.
3182
3183 2009-03-23 Jakub Jelinek <jakub@redhat.com>
3184
3185 PR c/39495
3186 * testsuite/libgomp.c/loop-12.c: New test.
3187 * testsuite/libgomp.c/loop-11.c: New test.
3188 * testsuite/libgomp.c++/loop-11.C: New test.
3189 * testsuite/libgomp.c++/loop-12.C: New test.
3190 * testsuite/libgomp.c++/for-8.C: New test.
3191
3192 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3193
3194 * configure: Regenerate.
3195
3196 2009-02-11 Jakub Jelinek <jakub@redhat.com>
3197
3198 PR middle-end/39154
3199 * testsuite/libgomp.c/pr39154.c: New test.
3200
3201 2009-01-30 Ian Lance Taylor <iant@google.com>
3202
3203 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
3204 libgomp_ld_is_gold. Get gold version number.
3205 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
3206 * configure: Rebuild.
3207
3208 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
3209
3210 * testsuite/lib/libgomp.exp: Add -B option for targets that
3211 use libgfortran.a%s in their specs.
3212
3213 2009-01-07 Jakub Jelinek <jakub@redhat.com>
3214
3215 PR libgomp/38086
3216 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
3217 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
3218 HAVE_AS_SYMVER_DIRECTIVE is not defined.
3219 * configure: Regenerated.
3220 * config.h.in: Likewise.
3221
3222 2008-12-28 Jakub Jelinek <jakub@redhat.com>
3223
3224 PR c++/38650
3225 * testsuite/libgomp.c/pr38650.c: New test.
3226 * testsuite/libgomp.c++/pr38650.C: New test.
3227
3228 2008-12-27 Jakub Jelinek <jakub@redhat.com>
3229
3230 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
3231
3232 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
3233
3234 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
3235
3236 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3237
3238 * configure: Regenerate.
3239
3240 2008-12-08 Jakub Jelinek <jakub@redhat.com>
3241
3242 PR middle-end/36802
3243 * testsuite/libgomp.c/pr36802-1.c: New test.
3244 * testsuite/libgomp.c/pr36802-2.c: New test.
3245 * testsuite/libgomp.c/pr36802-3.c: New test.
3246
3247 2008-12-01 Janis Johnson <janis187@us.ibm.com>
3248
3249 PR libgomp/38270
3250 * config/linux/powerpc/mutex.h: New.
3251
3252 2008-12-01 Jakub Jelinek <jakub@redhat.com>
3253
3254 PR c++/38257
3255 * testsuite/libgomp.c++/for-7.C: New test.
3256
3257 PR c++/38348
3258 * testsuite/libgomp.c++/for-6.C: New test.
3259
3260 2008-11-26 Janis Johnson <janis187@us.ibm.com>
3261
3262 PR testsuite/28870
3263 * testsuite/lib/libgomp.exp: Include new timeout library files.
3264 (libgomp_target_compile): Set timeout value from new proc.
3265
3266 2008-11-13 Steve Ellcey <sje@cup.hp.com>
3267
3268 PR libgomp/37938
3269 * config/linux/ia64/mutex.h: New.
3270
3271 2008-11-04 Tobias Burnus <burnus@net-b.de>
3272
3273 PR libgomp/37935
3274 * libgomp.texi (Runtime library routines, environment variables):
3275 Update for OpenMP version 3.0.
3276
3277 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
3278 Steve Ellcey <sje@cup.hp.com>
3279
3280 * configure: Regenerate for new libtool.
3281 * Makefile.in: Ditto.
3282 * testsuite/Makefile.in: Ditto.
3283
3284 2008-09-19 Jakub Jelinek <jakub@redhat.com>
3285 Andreas Tobler <a.tobler@schweiz.org>
3286
3287 * config/bsd/proc.c: New file.
3288 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
3289 * configure.ac: Check for header <sys/sysctl.h>
3290 * configure: Regenerate.
3291 * config.h.in: Likewise.
3292
3293 2008-09-05 Janis Johnson <janis187@us.ibm.com>
3294
3295 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
3296
3297 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
3298
3299 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
3300 * Makefile.in: Regenerated.
3301 * testsuite/Makefile.in: Regenerated.
3302
3303 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
3304
3305 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
3306 depend on blddir if blddir exists.
3307 (libgomp_target_compile): Likewise.
3308 * testsuite/libgomp.c++/c++.exp: Likewise.
3309 * testsuite/libgomp.fortran/fortran.exp: Likewise.
3310
3311 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3312
3313 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
3314 Do not list GPL as Invariant Section.
3315
3316 2008-07-28 Ilie Garbacea <ilie@mips.com>
3317 Chao-ying Fu <fu@mips.com>
3318
3319 * configure.tgt: Enable futex for MIPS.
3320 * config/linux/mips/futex.h: New file.
3321
3322 2008-07-16 Jakub Jelinek <jakub@redhat.com>
3323
3324 * team.c (gomp_team_end): Free team immediately if it has
3325 just one thread.
3326
3327 2008-07-08 David Edelsohn <edelsohn@gnu.org>
3328
3329 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
3330 * testsuite/libgomp.fortran/fortran.exp: Same.
3331 * testsuite/libgomp.c/c.exp: Same.
3332 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
3333 directory to library path first.
3334
3335 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
3336
3337 * env.c (parse_stacksize): Add cast to avoid warning.
3338 (parse_spincount): Likewise.
3339
3340 2008-06-27 Jakub Jelinek <jakub@redhat.com>
3341
3342 * testsuite/libgomp.c/loop-10.c: New test.
3343 * libgomp.c/loop-3.c (main): Add lastprivate clause.
3344 * libgomp.c++/loop-6.C (main): Likewise.
3345
3346 PR debug/36617
3347 * testsuite/libgomp.c/debug-1.c: New test.
3348
3349 2008-06-19 Jakub Jelinek <jakub@redhat.com>
3350
3351 * testsuite/libgomp.c/nqueens-1.c: New test.
3352
3353 PR c++/36523
3354 * testsuite/libgomp.c++/task-7.C: New function.
3355
3356 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3357
3358 * configure: Regenerate.
3359
3360 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3361
3362 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
3363 mutex when HAVE_SYNC_BUILTINS isn't defined.
3364
3365 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3366
3367 * libgomp.texi (omp_test_lock): Fix typo.
3368
3369 2008-06-12 Tobias Burnus <burnus@net-b.de>
3370
3371 * omp_lib.f90.in: Add "implicit none".
3372
3373 2008-06-12 Jakub Jelinek <jakub@redhat.com>
3374
3375 PR middle-end/36506
3376 * testsuite/libgomp.c/reduction-5.c: New test.
3377
3378 2008-06-11 Jakub Jelinek <jakub@redhat.com>
3379
3380 * libgomp.h (struct gomp_task): Add in_tied_task field.
3381 * task.c (gomp_init_task): Initialize it.
3382 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
3383 unconditionally. Don't call gomp_team_barrier_wake if
3384 current task is implicit or if(0) from implicit and number of
3385 running tasks is equal to nthreads - 1.
3386
3387 PR libgomp/36471
3388 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
3389 omp_get_team_size_8): Fix pastos.
3390
3391 PR libgomp/36469
3392 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
3393 * configure: Regenerated.
3394 * config.h.in: Regenerated.
3395 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
3396 defined.
3397
3398 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
3399
3400 PR bootstrap/36452
3401 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
3402 (GOMP_loop_ull_dynamic_start): Likewise.
3403 (GOMP_loop_ull_guided_start): Likewise.
3404 (GOMP_loop_ull_ordered_static_start): Likewise.
3405 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
3406 (GOMP_loop_ull_ordered_guided_start): Likewise.
3407
3408 2008-06-06 Jakub Jelinek <jakub@redhat.com>
3409 Richard Henderson <rth@redhat.com>
3410 Ulrich Drepper <drepper@redhat.com>
3411 Jakob Blomer <jakob.blomer@ira.uka.de>
3412
3413 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
3414 Substitute also OMP_*LOCK_25*.
3415 * configure: Regenerated.
3416 * config.h.in: Regenerated.
3417 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
3418 ptrlock.c and task.c.
3419 * Makefile.in: Regenerated.
3420 * testsuite/Makefile.in: Regenerated.
3421 * task.c: New file.
3422 * loop_ull.c: New file.
3423 * iter_ull.c: New file.
3424 * libgomp.h: Include ptrlock.h.
3425 (enum gomp_task_kind): New type.
3426 (struct gomp_team): Add task_lock, task_queue, task_count,
3427 task_running_count, single_count fields. Add
3428 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
3429 Remove work_share_lock, generation_mask,
3430 oldest_live_gen, num_live_gen and init_work_shares fields, add
3431 work work_share_list_alloc, work_share_list_free and work_share_chunk
3432 fields. Change work_shares from pointer to pointers into an array.
3433 Change ordered_release field into gomp_sem_t ** from flexible array
3434 member. Add implicit_task and initial_work_shares fields.
3435 Move close to the end of the struct.
3436 (struct gomp_team_state): Add single_count, last_work_share,
3437 active_level and level fields, remove work_share_generation.
3438 (gomp_barrier_handle_tasks): New prototype.
3439 (gomp_finish_task): New inline function.
3440 (struct gomp_work_share): Move chunk_size, end, incr into
3441 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
3442 next_ll fields. Reshuffle fields. Add next_alloc,
3443 next_ws, next_free and inline_ordered_team_ids fields, change
3444 ordered_team_ids into pointer from flexible array member.
3445 Add mode field. Put lock and next into a different cache line
3446 from most of the write-once fields.
3447 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
3448 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
3449 gomp_iter_ull_guided_next): New prototypes.
3450 (gomp_new_icv): New prototype.
3451 (struct gomp_thread): Add thread_pool and task fields.
3452 (struct gomp_thread_pool): New type.
3453 (gomp_new_team): New prototype.
3454 (gomp_team_start): Change type of last argument.
3455 (gomp_new_work_share): Removed.
3456 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
3457 (gomp_work_share_init_done): New static inline.
3458 (gomp_throttled_spin_count_var, gomp_available_cpus,
3459 gomp_managed_threads): New extern decls.
3460 (gomp_init_task): New prototype.
3461 (gomp_spin_count_var): New extern var decl.
3462 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
3463 or no alias support, or if not PIC.
3464 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
3465 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
3466 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
3467 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
3468 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
3469 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
3470 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
3471 gomp_test_nest_lock_25): New prototypes.
3472 (omp_lock_symver, strong_alias): Define.
3473 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
3474 decls.
3475 (gomp_end_task): New.
3476 (struct gomp_task_icv, gomp_global_icv): New.
3477 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
3478 (struct gomp_task): New.
3479 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
3480 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
3481 (gomp_icv): New.
3482 (gomp_schedule_type): Reorder enum to match
3483 omp_sched_t.
3484 * team.c (struct gomp_thread_start_data): Add thread_pool and task
3485 fields.
3486 (gomp_thread_start): Add gomp_team_barrier_wait call.
3487 For non-nested case remove clearing of docked thread thr fields.
3488 Use pool fields instead of global gomp_* variables. Use
3489 gomp_barrier_wait_last when needed. Initialize ts.active_level.
3490 Create tasks for each member thread.
3491 (free_team): Only destroy team barrier, task_lock here and free it.
3492 (gomp_free_thread): Free last_team if non-NULL.
3493 (gomp_team_end): Call gomp_team_barrier_wait instead of
3494 gomp_barrier_wait. For nested case call one extra
3495 gomp_barrier_wait. Move here some destruction from free_team.
3496 Call free_team on pool->last_team if any, rather than freeing
3497 current team. Destroy work_share_list_free_lock ifndef
3498 HAVE_SYNC_BUILTINS.
3499 (gomp_new_icv): New function.
3500 (gomp_threads, gomp_threads_size, gomp_threads_used,
3501 gomp_threads_dock): Removed.
3502 (gomp_thread_destructor): New variable.
3503 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
3504 functions.
3505 (gomp_team_start): Create new pool if current thread doesn't have
3506 one. Use pool fields instead of global gomp_* variables.
3507 Initialize thread_pool field for new threads. Clear single_count.
3508 Change last argument from ws to team, don't create
3509 new team, set ts.work_share to &team->work_shares[0] and clear
3510 ts.last_work_share. Don't clear ts.work_share_generation.
3511 If number of threads changed, adjust atomically gomp_managed_threads.
3512 Use gomp_init_task instead of gomp_new_task,
3513 set thr->task to the corresponding implicit_task array entry.
3514 Create tasks for each member thread. Initialize ts.level.
3515 (initialize_team): Call pthread_key_create on
3516 gomp_thread_destructor.
3517 (team_destructor): New function.
3518 (new_team): Removed.
3519 (gomp_new_team): New function.
3520 (free_team): Free gomp_work_share blocks chained through next_alloc,
3521 instead of freeing work_shares and destroying work_share_lock.
3522 (gomp_team_end): Call gomp_fini_work_share. If number of threads
3523 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
3524 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
3525 of gomp_barrier_wait.
3526 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
3527 instead of gomp_barrier_wait. Call gomp_work_share_init_done
3528 if gomp_work_share_start returned true. Don't unlock ws->lock.
3529 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
3530 of gomp_barrier_wait.
3531 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
3532 gomp_work_share_init_done if gomp_work_share_start returned true.
3533 Don't unlock ws->lock.
3534 * work.c: Include stddef.h.
3535 (free_work_share): Use work_share_list_free_lock instead
3536 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
3537 Call gomp_fini_work_share and then either free ws if orphaned, or
3538 put it into work_share_list_free list of the current team.
3539 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
3540 functions.
3541 (gomp_work_share_start, gomp_work_share_end,
3542 gomp_work_share_end_nowait): Rewritten.
3543 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
3544 (openmp_version): Set to 200805.
3545 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
3546 omp_sched_guided, omp_sched_auto): New parameters.
3547 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
3548 omp_set_max_active_levels, omp_get_max_active_levels,
3549 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
3550 omp_get_active_level): New interfaces.
3551 * omp_lib.h.in (openmp_version): Set to 200805.
3552 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
3553 omp_sched_guided, omp_sched_auto): New parameters.
3554 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
3555 omp_set_max_active_levels, omp_get_max_active_levels,
3556 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
3557 omp_get_active_level): New externals.
3558 * loop.c: Include limits.h.
3559 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
3560 GFS_AUTO.
3561 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
3562 Likewise. Use gomp_icv.
3563 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
3564 ts.static_trip here.
3565 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
3566 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
3567 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
3568 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
3569 don't unlock ws->lock, otherwise lock it.
3570 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
3571 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
3572 (gomp_parallel_loop_start): Call gomp_new_team instead of
3573 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
3574 Adjust gomp_team_start caller. Pass 0 as second argument to
3575 gomp_resolve_num_threads.
3576 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
3577 If adding ws->chunk_size nthreads + 1 times after end won't
3578 overflow, set ws->mode to 1.
3579 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
3580 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
3581 GOMP_loop_ull_ordered_static_start,
3582 GOMP_loop_ull_ordered_dynamic_start,
3583 GOMP_loop_ull_ordered_guided_start,
3584 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
3585 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
3586 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
3587 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
3588 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
3589 prototypes.
3590 * libgomp.map: Export lock routines also @@OMP_2.0.
3591 (GOMP_loop_ordered_dynamic_first,
3592 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
3593 GOMP_loop_ordered_static_first): Remove.
3594 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
3595 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
3596 GOMP_loop_ull_ordered_dynamic_next,
3597 GOMP_loop_ull_ordered_dynamic_start,
3598 GOMP_loop_ull_ordered_guided_next,
3599 GOMP_loop_ull_ordered_guided_start,
3600 GOMP_loop_ull_ordered_runtime_next,
3601 GOMP_loop_ull_ordered_runtime_start,
3602 GOMP_loop_ull_ordered_static_next,
3603 GOMP_loop_ull_ordered_static_start,
3604 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
3605 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
3606 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
3607 (omp_set_schedule, omp_get_schedule,
3608 omp_get_thread_limit, omp_set_max_active_levels,
3609 omp_get_max_active_levels, omp_get_level,
3610 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
3611 omp_set_schedule_, omp_set_schedule_8_,
3612 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
3613 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
3614 omp_get_max_active_levels_, omp_get_level_,
3615 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
3616 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
3617 New exports @@OMP_3.0.
3618 * omp.h.in (omp_sched_t): New type.
3619 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
3620 omp_set_max_active_levels, omp_get_max_active_levels,
3621 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
3622 omp_get_active_level): New prototypes.
3623 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
3624 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
3625 gomp_thread_limit_var, gomp_remaining_threads_count,
3626 gomp_remaining_threads_lock): New variables.
3627 (parse_spincount): New function.
3628 (initialize_env): Call gomp_init_num_threads unconditionally.
3629 Initialize gomp_available_cpus. Call parse_spincount,
3630 initialize gomp_{,throttled_}spin_count_var
3631 depending on presence and value of OMP_WAIT_POLICY and
3632 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
3633 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
3634 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
3635 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
3636 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
3637 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
3638 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
3639 (gomp_global_icv): New.
3640 (parse_schedule): Use it. Parse "auto".
3641 (omp_set_num_threads): Use gomp_icv.
3642 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
3643 Likewise.
3644 (omp_get_max_threads): Move from parallel.c.
3645 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
3646 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
3647 add ialias.
3648 (parse_stacksize, parse_wait_policy): New functions.
3649 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
3650 both wrappers for compatibility and new locks.
3651 (omp_set_schedule, omp_get_schedule,
3652 omp_get_thread_limit, omp_set_max_active_levels,
3653 omp_get_max_active_levels, omp_get_level,
3654 omp_get_ancestor_thread_num, omp_get_team_size,
3655 omp_get_active_level): New ialias_redirect.
3656 (omp_set_schedule_, omp_set_schedule_8_,
3657 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
3658 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
3659 omp_get_max_active_levels_, omp_get_level_,
3660 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
3661 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
3662 New functions.
3663 * parallel.c: Include limits.h.
3664 (gomp_resolve_num_threads): Add count argument. Rewritten.
3665 (GOMP_parallel_start): Call gomp_new_team and pass that as last
3666 argument to gomp_team_start. Pass 0 as second argument to
3667 gomp_resolve_num_threads.
3668 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
3669 if gomp_thread_limit_var != ULONG_MAX.
3670 (omp_in_parallel): Implement using ts.active_level.
3671 (omp_get_max_threads): Move to env.c.
3672 (omp_get_level, omp_get_ancestor_thread_num,
3673 omp_get_team_size, omp_get_active_level): New functions,
3674 add ialias.
3675 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
3676 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
3677 gomp_iter_dynamic_next instead of the _locked variant and don't take
3678 lock around it, otherwise acquire it before calling
3679 gomp_iter_dynamic_next_locked.
3680 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
3681 gomp_iter_dynamic_next instead of the _locked variant and don't take
3682 lock around it.
3683 (GOMP_parallel_sections_start): Call gomp_new_team instead of
3684 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
3685 Adjust gomp_team_start caller. Pass count as second argument to
3686 gomp_resolve_num_threads, don't adjust num_threads after the call.
3687 Use gomp_icv.
3688 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
3689 ws->chunk_size by incr.
3690 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
3691 code.
3692 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
3693 types.
3694 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
3695 (omp_check_defines): Check even the compat defines.
3696 * config/linux/ptrlock.c: New file.
3697 * config/linux/ptrlock.h: New file.
3698 * config/linux/wait.h: New file.
3699 * config/posix/ptrlock.c: New file.
3700 * config/posix/ptrlock.h: New file.
3701 * config/linux/bar.h (gomp_team_barrier_wait,
3702 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
3703 (gomp_team_barrier_set_task_pending,
3704 gomp_team_barrier_clear_task_pending,
3705 gomp_team_barrier_set_waiting_for_tasks,
3706 gomp_team_barrier_waiting_for_tasks,
3707 gomp_team_barrier_done): New inlines.
3708 (gomp_barrier_t): Rewritten.
3709 (gomp_barrier_state_t): New typedef.
3710 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
3711 gomp_barrier_wait_start): Rewritten.
3712 (gomp_barrier_wait_end): Change second argument to
3713 gomp_barrier_state_t.
3714 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
3715 inlines.
3716 * config/linux/bar.c: Include wait.h instead of libgomp.h and
3717 futex.h.
3718 (gomp_barrier_wait_end): Rewritten.
3719 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
3720 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
3721 * config/posix/bar.h (gomp_barrier_t): Add generation field.
3722 (gomp_barrier_state_t): New typedef.
3723 (gomp_team_barrier_wait,
3724 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
3725 (gomp_barrier_wait_start): Or all but low 2 bits from generation
3726 into the return value. Return gomp_barrier_state_t.
3727 (gomp_team_barrier_set_task_pending,
3728 gomp_team_barrier_clear_task_pending,
3729 gomp_team_barrier_set_waiting_for_tasks,
3730 gomp_team_barrier_waiting_for_tasks,
3731 gomp_team_barrier_done): New inlines.
3732 (gomp_barrier_wait_end): Change second argument to
3733 gomp_barrier_state_t.
3734 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
3735 inlines.
3736 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
3737 (gomp_barrier_wait_end): Change second argument to
3738 gomp_barrier_state_t.
3739 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
3740 gomp_team_barrier_wake): New functions.
3741 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
3742 futex.h.
3743 (gomp_futex_wake, gomp_futex_wait): New variables.
3744 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
3745 * config/linux/lock.c: Rewrite to make locks task owned,
3746 for backwards compatibility provide the old entrypoints
3747 if symbol versioning. Include wait.h instead of libgomp.h and
3748 futex.h.
3749 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
3750 * config/posix95/lock.c: Rewrite to make locks task owned,
3751 for backwards compatibility provide the old entrypoints
3752 if symbol versioning.
3753 * config/posix/lock.c: Rewrite to make locks task owned,
3754 for backwards compatibility provide the old entrypoints
3755 if symbol versioning.
3756 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
3757 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
3758 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
3759 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
3760 (sys_futex0): Return error code.
3761 (futex_wake, futex_wait): If ENOSYS was returned, clear
3762 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
3763 (cpu_relax, atomic_write_barrier): New static inlines.
3764 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
3765 (futex_wake, futex_wait): If ENOSYS was returned, clear
3766 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
3767 (cpu_relax, atomic_write_barrier): New static inlines.
3768 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
3769 (sys_futex0): Return error code.
3770 (futex_wake, futex_wait): If ENOSYS was returned, clear
3771 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
3772 (cpu_relax, atomic_write_barrier): New static inlines.
3773 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
3774 (sys_futex0): Return error code.
3775 (futex_wake, futex_wait): If ENOSYS was returned, clear
3776 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
3777 (cpu_relax, atomic_write_barrier): New static inlines.
3778 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
3779 (sys_futex0): Return error code.
3780 (futex_wake, futex_wait): If ENOSYS was returned, clear
3781 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
3782 (cpu_relax, atomic_write_barrier): New static inlines.
3783 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
3784 (sys_futex0): Return error code.
3785 (futex_wake, futex_wait): If ENOSYS was returned, clear
3786 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
3787 (cpu_relax, atomic_write_barrier): New static inlines.
3788 * config/linux/sem.c: Include wait.h instead of libgomp.h and
3789 futex.h.
3790 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
3791 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
3792 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
3793 types.
3794 (omp_nest_lock_t): Change owner into void *, add lock field.
3795 * config/posix95/omp-lock.h: Include semaphore.h.
3796 (omp_lock_25_t, omp_nest_lock_25_t): New types.
3797 (omp_lock_t): Use sem_t instead of mutex if semaphores
3798 aren't broken.
3799 (omp_nest_lock_t): Likewise. Change owner to void *.
3800 * config/posix/omp-lock.h: Include semaphore.h.
3801 (omp_lock_25_t, omp_nest_lock_25_t): New types.
3802 (omp_lock_t): Use sem_t instead of mutex if semaphores
3803 aren't broken.
3804 (omp_nest_lock_t): Likewise. Add owner field.
3805
3806 2008-06-06 Jakub Jelinek <jakub@redhat.com>
3807
3808 * testsuite/libgomp.c/collapse-1.c: New test.
3809 * testsuite/libgomp.c/collapse-2.c: New test.
3810 * testsuite/libgomp.c/collapse-3.c: New test.
3811 * testsuite/libgomp.c/icv-1.c: New test.
3812 * testsuite/libgomp.c/icv-2.c: New test.
3813 * testsuite/libgomp.c/lib-2.c: New test.
3814 * testsuite/libgomp.c/lock-1.c: New test.
3815 * testsuite/libgomp.c/lock-2.c: New test.
3816 * testsuite/libgomp.c/lock-3.c: New test.
3817 * testsuite/libgomp.c/loop-4.c: New test.
3818 * testsuite/libgomp.c/loop-5.c: New test.
3819 * testsuite/libgomp.c/loop-6.c: New test.
3820 * testsuite/libgomp.c/loop-7.c: New test.
3821 * testsuite/libgomp.c/loop-8.c: New test.
3822 * testsuite/libgomp.c/loop-9.c: New test.
3823 * testsuite/libgomp.c/nested-3.c: New test.
3824 * testsuite/libgomp.c/nestedfn-6.c: New test.
3825 * testsuite/libgomp.c/sort-1.c: New test.
3826 * testsuite/libgomp.c/task-1.c: New test.
3827 * testsuite/libgomp.c/task-2.c: New test.
3828 * testsuite/libgomp.c/task-3.c: New test.
3829 * testsuite/libgomp.c/task-4.c: New test.
3830 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
3831 to C++ testsuite default compiler options.
3832 * testsuite/libgomp.c++/collapse-1.C: New test.
3833 * testsuite/libgomp.c++/collapse-2.C: New test.
3834 * testsuite/libgomp.c++/ctor-10.C: New test.
3835 * testsuite/libgomp.c++/for-1.C: New test.
3836 * testsuite/libgomp.c++/for-2.C: New test.
3837 * testsuite/libgomp.c++/for-3.C: New test.
3838 * testsuite/libgomp.c++/for-4.C: New test.
3839 * testsuite/libgomp.c++/for-5.C: New test.
3840 * testsuite/libgomp.c++/loop-8.C: New test.
3841 * testsuite/libgomp.c++/loop-9.C: New test.
3842 * testsuite/libgomp.c++/loop-10.C: New test.
3843 * testsuite/libgomp.c++/task-1.C: New test.
3844 * testsuite/libgomp.c++/task-2.C: New test.
3845 * testsuite/libgomp.c++/task-3.C: New test.
3846 * testsuite/libgomp.c++/task-4.C: New test.
3847 * testsuite/libgomp.c++/task-5.C: New test.
3848 * testsuite/libgomp.c++/task-6.C: New test.
3849 * testsuite/libgomp.fortran/allocatable1.f90: New test.
3850 * testsuite/libgomp.fortran/allocatable2.f90: New test.
3851 * testsuite/libgomp.fortran/allocatable3.f90: New test.
3852 * testsuite/libgomp.fortran/allocatable4.f90: New test.
3853 * testsuite/libgomp.fortran/collapse1.f90: New test.
3854 * testsuite/libgomp.fortran/collapse2.f90: New test.
3855 * testsuite/libgomp.fortran/collapse3.f90: New test.
3856 * testsuite/libgomp.fortran/collapse4.f90: New test.
3857 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
3858 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
3859 * testsuite/libgomp.fortran/lib4.f90: New test.
3860 * testsuite/libgomp.fortran/lock-1.f90: New test.
3861 * testsuite/libgomp.fortran/lock-2.f90: New test.
3862 * testsuite/libgomp.fortran/nested1.f90: New test.
3863 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
3864 * testsuite/libgomp.fortran/strassen.f90: New test.
3865 * testsuite/libgomp.fortran/tabs1.f90: New test.
3866 * testsuite/libgomp.fortran/tabs2.f: New test.
3867 * testsuite/libgomp.fortran/task1.f90: New test.
3868 * testsuite/libgomp.fortran/task2.f90: New test.
3869 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
3870 * testsuite/libgomp.fortran/vla5.f90: Likewise.
3871 * testsuite/libgomp.c/pr26943-2.c: Likewise.
3872 * testsuite/libgomp.c/pr26943-3.c: Likewise.
3873 * testsuite/libgomp.c/pr26943-4.c: Likewise.
3874
3875 2008-05-23 Jakub Jelinek <jakub@redhat.com>
3876
3877 PR c++/36308
3878 * testsuite/libgomp.c++/ctor-11.C: New test.
3879 * testsuite/libgomp.c++/ctor-12.C: New test.
3880
3881 2008-05-15 Janis Johnson <janis187@us.ibm.com>
3882
3883 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
3884
3885 2008-05-07 Jakub Jelinek <jakub@redhat.com>
3886
3887 PR middle-end/36106
3888 * testsuite/libgomp.c/atomic-5.c: New test.
3889 * testsuite/libgomp.c/atomic-6.c: New test.
3890 * testsuite/libgomp.c/autopar-1.c: New test.
3891
3892 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3893
3894 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
3895 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
3896 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
3897 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
3898 * configure: Regenerate.
3899 * Makefile.in, testsuite/Makefile.in: Likewise.
3900
3901 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
3902
3903 PR bootstrap/35457
3904 * aclocal.m4: Regenerate.
3905 * configure: Regenerate.
3906
3907 2008-03-18 Jakub Jelinek <jakub@redhat.com>
3908
3909 PR middle-end/35611
3910 * testsuite/libgomp.c/atomic-4.c: New test.
3911
3912 PR libgomp/35625
3913 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
3914 (gomp_iter_guided_next): Likewise.
3915 * testsuite/libgomp.c/pr35625.c: New test.
3916
3917 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3918
3919 * aclocal.m4: Regenerate.
3920 * configure: Likewise.
3921 * Makefile.in: Likewise.
3922 * testsuite/Makefile.in: Likewise.
3923
3924 2008-03-13 Jakub Jelinek <jakub@redhat.com>
3925
3926 PR middle-end/35185
3927 * testsuite/libgomp.c++/pr35185.C: New test.
3928
3929 2008-03-12 Jakub Jelinek <jakub@redhat.com>
3930
3931 PR middle-end/35549
3932 * testsuite/libgomp.c/pr35549.c: New test.
3933
3934 2008-03-06 Jakub Jelinek <jakub@redhat.com>
3935
3936 * testsuite/libgomp.c/atomic-3.c: New test.
3937
3938 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3939
3940 PR fortran/33197
3941 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
3942 .F08 file suffixes.
3943
3944 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
3945
3946 PR libgomp/33131
3947 * configure.ac: Add ACX_HEADER_STRING.
3948 * env.c: Include strings.h.
3949 * aclocal.m4: Regenerate.
3950 * config.h.in: Regenerate.
3951 * configure: Regenerate.
3952 * Makefile.in: Regenerate.
3953 * testsuite/Makefile.in: Regenerate.
3954
3955 2008-02-15 Jakub Jelinek <jakub@redhat.com>
3956
3957 PR middle-end/35196
3958 * testsuite/libgomp.c/pr35196.c: New test.
3959
3960 PR middle-end/35130
3961 * testsuite/libgomp.fortran/pr35130.f90: New test.
3962 * testsuite/libgomp.c/pr35130.c: New test.
3963
3964 2008-01-25 Jakub Jelinek <jakub@redhat.com>
3965
3966 PR middle-end/33880
3967 * testsuite/libgomp.c/pr33880.c: New test.
3968 * testsuite/libgomp.fortran/pr33880.f90: New test.
3969
3970 2008-01-24 David Edelsohn <edelsohn@gnu.org>
3971
3972 * configure: Regenerate.
3973
3974 2008-01-08 Jakub Jelinek <jakub@redhat.com>
3975
3976 * configure.ac: Move futex checking into ../config/futex.m4.
3977 * configure: Rebuilt.
3978 * aclocal.m4: Rebuilt.
3979 * Makefile.in: Rebuilt.
3980
3981 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
3982 2007-10-15 ../config/tls.m4 change.
3983
3984 2007-12-19 Jakub Jelinek <jakub@redhat.com>
3985
3986 PR c++/34513
3987 * testsuite/libgomp.c/pr34513.c: New test.
3988 * testsuite/libgomp.c++/pr34513.C: New test.
3989
3990 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
3991
3992 PR target/32765
3993 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
3994
3995 2007-12-04 Jakub Jelinek <jakub@redhat.com>
3996
3997 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
3998
3999 2007-12-03 Jakub Jelinek <jakub@redhat.com>
4000
4001 * testsuite/libgomp.c/private-1.c: New test.
4002
4003 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
4004 Paolo Bonzini <bonzini@gnu.org>
4005
4006 * Makefile.am: Use space as vpath separator. Use 'vpath %'
4007 instead of 'VPATH ='.
4008 * Makefile.in: Regenerate.
4009
4010 2007-11-23 Matthias Klose <doko@ubuntu.com>
4011
4012 * configure.ac: Adjust makeinfo version check.
4013 * configure: Regenerate.
4014
4015 2007-11-10 Jakub Jelinek <jakub@redhat.com>
4016
4017 PR fortran/34020
4018 * testsuite/libgomp.fortran/pr34020.f90: New test.
4019
4020 2007-11-06 Jakub Jelinek <jakub@redhat.com>
4021
4022 PR c++/33894
4023 * testsuite/libgomp.c++/atomic-1.C: New test.
4024
4025 2007-10-25 Jakub Jelinek <jakub@redhat.com>
4026
4027 PR libgomp/33275
4028 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
4029 Make x and y integers rather than (implicit) reals. Add private (j)
4030 clause to the last omp parallel.
4031
4032 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
4033
4034 * configure: Regenerate following changes to ../config/tls.m4.
4035
4036 2007-09-28 Jakub Jelinek <jakub@redhat.com>
4037
4038 * testsuite/libgomp.fortran/stack.f90: New test.
4039
4040 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
4041
4042 * config/mingw32/proc.c: New file.
4043
4044 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
4045
4046 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
4047 (main): Use __get_cpuid to get i386 target fetaures.
4048 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
4049 (main): Use __get_cpuid to get x86_64 target fetaures.
4050
4051 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
4052
4053 PR target/32765
4054 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
4055 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
4056
4057 2007-07-12 Jakub Jelinek <jakub@redhat.com>
4058
4059 PR fortran/32550
4060 * testsuite/libgomp.fortran/pr32550.f90: New test.
4061 * testsuite/libgomp.fortran/crayptr2.f90: New test.
4062
4063 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
4064
4065 * aclocal.m4: Regenerated.
4066
4067 2007-07-05 Tobias Burnus <burnus@net-b.de>
4068
4069 PR fortran/32359
4070 * testsuite/libgomp.fortran/pr32359.f90: New.
4071
4072 2007-07-02 Jakub Jelinek <jakub@redhat.com>
4073
4074 PR libgomp/32468
4075 * sections.c (GOMP_parallel_sections_start): Only decrease
4076 number of threads to COUNT if dyn_var is true.
4077 * testsuite/libgomp.c/pr32468.c: New test.
4078
4079 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4080
4081 PR libgomp/26308
4082 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
4083
4084 2007-06-21 Jakub Jelinek <jakub@redhat.com>
4085
4086 PR middle-end/32362
4087 * testsuite/libgomp.c/pr32362-1.c: New test.
4088 * testsuite/libgomp.c/pr32362-2.c: New test.
4089 * testsuite/libgomp.c/pr32362-3.c: New test.
4090
4091 2007-06-07 Jakub Jelinek <jakub@redhat.com>
4092
4093 * team.c (gomp_team_start): Fix setting up thread_attr
4094 stack size.
4095
4096 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
4097
4098 * configure: Regenerate.
4099
4100 2007-05-23 Steve Ellcey <sje@cup.hp.com>
4101
4102 * Makefile.in: Regenerate.
4103 * configure: Regenerate.
4104 * aclocal.m4: Regenerate.
4105 * testsuite/Makefile.in: Regenerate.
4106
4107 2007-05-04 Jakub Jelinek <jakub@redhat.com>
4108
4109 * config/linux/proc.c: New file.
4110
4111 PR libgomp/28482
4112 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
4113
4114 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
4115
4116 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
4117
4118 2007-04-16 Matthias Klose <doko@debian.org>
4119
4120 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
4121 flags if not building with -m64.
4122 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
4123 flag for i?86-*-* targets, if current target matches -m64.
4124
4125 2007-04-14 Steve Ellcey <sje@cup.hp.com>
4126
4127 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
4128 * Makefile.in: Regenerate.
4129
4130 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4131
4132 PR testsuite/31369
4133 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
4134 ld_library_path.
4135 * testsuite/libgomp.fortran/fortran.exp: Likewise.
4136
4137 2007-04-04 Jakub Jelinek <jakub@redhat.com>
4138
4139 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
4140 decls.
4141 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
4142 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
4143 (parse_affinity): New function.
4144 (initialize_env): Call it and gomp_init_affinity.
4145 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
4146 create new pthread_attr_t and call gomp_init_thread_affinity
4147 on it for each thread before passing the attribute to pthread_create.
4148 * config/linux/affinity.c: New file.
4149 * config/posix/affinity.c: New file.
4150 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
4151 * configure: Rebuilt.
4152 * config.h.in: Rebuilt.
4153 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
4154 * Makefile.in: Rebuilt.
4155
4156 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
4157
4158 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
4159 *-*-darwin*.
4160 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
4161 and use it if found.
4162
4163 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
4164
4165 * testsuite/config/default.exp: New file.
4166 * testsuite/lib/libgomp.exp: New file.
4167 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
4168 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
4169 load_lib *, load_gcc_lib *): Move to libgomp.exp.
4170 (libgomp_load): Remove.
4171 * testsuite/lib/libgomp.exp (libgomp_init): Compute
4172 always_ld_library_path, not ld_library_path. Set additional_flags
4173 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
4174 (target_compile): Do not call libgomp_init. Append lang_library_path
4175 and lang_link_flags to options.
4176 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
4177 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
4178 here.
4179 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
4180 always_ld_library_path. Set LD_LIBRARY_PATH here.
4181 * testsuite/libgomp.fortran/fortran.exp: Ditto.
4182 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
4183 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
4184 CX8 flag.
4185 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
4186 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
4187 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
4188 * testsuite/libgomp.c/pr29947-1.c: Ditto.
4189 * testsuite/libgomp.c/atomic-10.c: Ditto.
4190
4191 2007-03-21 Jakub Jelinek <jakub@redhat.com>
4192
4193 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
4194 dg-final cleanup-modules line.
4195 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
4196 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
4197 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
4198 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
4199 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
4200 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
4201 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
4202
4203 2007-03-18 Andreas Schwab <schwab@suse.de>
4204
4205 * acinclude.m4: Adjust regular expression for ld version
4206 extraction.
4207 * configure: Regenerate.
4208
4209 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
4210
4211 * Makefile.am: Add install-pdf target as copied from
4212 automake v1.10 rules.
4213 * Makefile.in: Regenerate
4214
4215 2007-02-07 Jakub Jelinek <jakub@redhat.com>
4216
4217 PR libgomp/28486
4218 * configure: Regenerate.
4219
4220 PR c++/30703
4221 * testsuite/libgomp.c++/pr30703.C: New test.
4222
4223 2007-02-02 Jakub Jelinek <jakub@redhat.com>
4224
4225 Revert:
4226 2006-07-05 Eric Christopher <echristo@apple.com>
4227 * configure.ac: Depend addition of -pthread on host OS.
4228 * configure: Regenerate.
4229
4230 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4231
4232 * libgomp.texi: Fix spacing after abbreviations.
4233
4234 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
4235
4236 PR libgomp/30546
4237 * configure.ac: Add check for makeinfo
4238 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
4239 if an appropiate version of makeinfo is found.
4240 * aclocal.m4: Regenerated.
4241 * configure: Regenerated.
4242 * Makefile.in: Regenerated.
4243 * testsuite/Makefile.in: Regenerated.
4244
4245 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
4246
4247 PR libgomp/30540
4248 * libgomp.texi: More about implementation-dependent settings.
4249
4250 2007-01-26 Tobias Burnus <burnus@net-b.de>
4251
4252 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
4253
4254 2007-01-24 Jakub Jelinek <jakub@redhat.com>
4255
4256 PR middle-end/30494
4257 * testsuite/libgomp.c/pr30494.c: New test.
4258
4259 2007-01-15 Tom Tromey <tromey@redhat.com>
4260
4261 * configure: Rebuilt.
4262 * configure.ac: Fixed comment.
4263
4264 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
4265
4266 * libgomp.texi: Document implementation specific default values of
4267 environment variables.
4268
4269 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
4270
4271 PR libgomp/28209
4272 * libgomp.texi: New file.
4273 * configure.ac: Add --enable-generated-files-in-srcdir option.
4274 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
4275 files to srcdir.
4276 * Makefile.in: Regenerated.
4277 * config.h.in: Regenerated.
4278 * testsuite/Makefile.in: Regenerated.
4279 * NOTES: Removed.
4280
4281 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
4282
4283 PR libgomp/29949
4284 * env.c (omp_set_num_threads): Set illegal thread count to 1.
4285
4286 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
4287
4288 * configure: Regenerate.
4289
4290 2006-12-04 Jakub Jelinek <jakub@redhat.com>
4291
4292 PR libgomp/29947
4293 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
4294 start if there shouldn't be any loop iterations.
4295 (gomp_loop_ordered_static_start): Remove start == end test.
4296 * testsuite/libgomp.c/pr29947-1.c: New test.
4297 * testsuite/libgomp.c/pr29947-2.c: New test.
4298
4299 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
4300
4301 * configure.tgt: Force initial-exec TLS model on Linux only.
4302
4303 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
4304
4305 * configure: Regenerated.
4306
4307 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
4308
4309 * env.c (parse_schedule): Reject out of range values.
4310 (parse_unsigned_long): Reject out of range, negative or zero values.
4311
4312 2006-10-29 Jakub Jelinek <jakub@redhat.com>
4313
4314 PR fortran/29629
4315 * testsuite/libgomp.fortran/pr29629.f90: New test.
4316
4317 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
4318
4319 PR libgomp/29494
4320 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
4321 * config/posix95: New directory.
4322 * config/posix95/omp-lock.h: New file.
4323 * config/posix95/lock.c: Likewise.
4324
4325 2006-10-14 Geoffrey Keating <geoffk@apple.com>
4326
4327 * aclocal.m4: Regenerate.
4328 * configure: Regenerate.
4329
4330 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
4331
4332 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
4333 '<' to '<='.
4334
4335 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
4336
4337 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
4338 test.
4339 * configure: Regenerate.
4340 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
4341
4342 2006-09-26 Jakub Jelinek <jakub@redhat.com>
4343
4344 PR middle-end/25261
4345 PR middle-end/28790
4346 * testsuite/libgomp.c/nestedfn-4.c: New test.
4347 * testsuite/libgomp.c/nestedfn-5.c: New test.
4348 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
4349
4350 PR fortran/29097
4351 * testsuite/libgomp.fortran/condinc1.f: New test.
4352 * testsuite/libgomp.fortran/condinc2.f: New test.
4353 * testsuite/libgomp.fortran/condinc3.f90: New test.
4354 * testsuite/libgomp.fortran/condinc4.f90: New test.
4355 * testsuite/libgomp.fortran/condinc1.inc: New file.
4356
4357 2006-09-18 Tom Tromey <tromey@redhat.com>
4358
4359 * configure: Rebuilt.
4360
4361 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
4362
4363 PR c/28768
4364 PR preprocessor/14634
4365 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
4366 to AC_DEFINE.
4367 * configure: Regenerate.
4368
4369 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
4370
4371 * testsuite/libgomp.fortran/reduction3.f90: Change
4372 -2147483648 to -huge(i)-1 to avoid overflow.
4373 * testsuite/libgomp.fortran/reduction4.f90: Change
4374 Z'ffffffff' to not(0) to avoid overflow.
4375
4376 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
4377
4378 PR libgomp/25938
4379 * Makefile.am (libsubincludedir): New.
4380 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
4381 * Makefile.in: Regenerate.
4382
4383 2006-08-17 Jakub Jelinek <jakub@redhat.com>
4384
4385 PR libgomp/28725
4386 * env.c: Include ctype.h.
4387 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
4388 leading and/or trailing whitespace and compare strings case
4389 insensitively.
4390
4391 2006-07-16 Jakub Jelinek <jakub@redhat.com>
4392
4393 PR fortran/28390
4394 * testsuite/libgomp.fortran/pr28390.f: New test.
4395
4396 2006-07-05 Eric Christopher <echristo@apple.com>
4397
4398 * configure.ac: Depend addition of -pthread on host OS.
4399 * configure: Regenerate.
4400
4401 2006-06-21 Jakub Jelinek <jakub@redhat.com>
4402
4403 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
4404 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
4405 defined.
4406
4407 2006-06-20 Jakub Jelinek <jakub@redhat.com>
4408
4409 PR libgomp/26175
4410 PR libgomp/26477
4411 * configure.ac: If neither --enable-linux-futex nor
4412 --disable-linux-futex is passed, determine the default by checking
4413 for compiling and/or running against NPTL. With --enable-linux-futex,
4414 check if SYS_gettid and SYS_futex are defined.
4415 * configure: Rebuilt.
4416
4417 2006-06-14 Richard Henderson <rth@redhat.com>
4418
4419 PR libgomp/28008
4420 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
4421 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
4422
4423 2006-06-09 Richard Henderson <rth@redhat.com>
4424
4425 * env.c (gomp_nthreads_var): Change to unsigned long.
4426 (gomp_run_sched_chunk): Likewise.
4427 (parse_unsigned_long): Rename from parse_num_threads and generalize.
4428 (initialize_env): Initialize gomp_thread_attr.
4429 * libgomp.h (gomp_nthreads_var): Update decl.
4430 (gomp_run_sched_chunk): Likewise.
4431 (gomp_thread_attr): Declare.
4432 * team.c (gomp_thread_attr): Export.
4433 (initialize_team): Don't initialize it.
4434
4435 2006-06-09 Jakub Jelinek <jakub@redhat.com>
4436
4437 PR fortran/27916
4438 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
4439 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
4440
4441 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
4442
4443 * config/mingw32/time.c: New file.
4444 * configure.tgt: Use it.
4445
4446 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
4447
4448 * Makefile.am: Add install-html target. Add install-html to .PHONY
4449 * Makefile.in: Regenerate.
4450
4451 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4452
4453 PR libgomp/27612
4454 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
4455 * testsuite/libgomp.c/critical-1.c: Likewise.
4456 * testsuite/libgomp.c/loop-1.c: Likewise.
4457 * testsuite/libgomp.c/loop-2.c: Likewise.
4458 * testsuite/libgomp.c/single-1.c: Likewise.
4459 * testsuite/libgomp.c/ordered-1.c: Likewise.
4460 * testsuite/libgomp.c/ordered-2.c: Likewise.
4461
4462 2006-05-15 Jakub Jelinek <jakub@redhat.com>
4463
4464 PR middle-end/27416
4465 * libgomp.fortran/pr27416-1.f90: New test.
4466
4467 2006-05-03 Jakub Jelinek <jakub@redhat.com>
4468
4469 PR fortran/27395
4470 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
4471 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
4472
4473 2006-05-02 Jakub Jelinek <jakub@redhat.com>
4474
4475 PR c++/26943
4476 * testsuite/libgomp.c/pr26943-1.c: New test.
4477 * testsuite/libgomp.c/pr26943-2.c: New test.
4478 * testsuite/libgomp.c/pr26943-3.c: New test.
4479 * testsuite/libgomp.c/pr26943-4.c: New test.
4480 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
4481 * testsuite/libgomp.c++/pr26943.C: New test.
4482
4483 2006-05-02 Jakub Jelinek <jakub@redhat.com>
4484
4485 PR middle-end/27337
4486 * testsuite/libgomp.c++/pr27337.C: New test.
4487
4488 2006-04-26 Jakub Jelinek <jakub@redhat.com>
4489
4490 PR c/26171
4491 * testsuite/libgomp.c/pr26171.c: New test.
4492
4493 2006-04-25 Richard Henderson <rth@redhat.com>
4494
4495 PR libgomp/25865
4496 * configure.ac: Use GCC_CHECK_TLS.
4497 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
4498 * Makefile.in, aclocal.m4, configure: Regenerate.
4499
4500 2006-04-10 Matthias Klose <doko@debian.org>
4501
4502 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
4503 directory names containing underscores.
4504
4505 2006-03-21 Jakub Jelinek <jakub@redhat.com>
4506
4507 PR c++/26691
4508 * testsuite/libgomp.c++/pr26691.C: New test.
4509
4510 2006-03-13 Jakub Jelinek <jakub@redhat.com>
4511
4512 * testsuite/libgomp.fortran/retval2.f90: New test.
4513
4514 2006-03-09 Diego Novillo <dnovillo@redhat.com>
4515
4516 * testsuite/libgomp.c++: New directory.
4517
4518 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
4519
4520 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
4521 * config/posix/sem.c: Implement the above.
4522
4523 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
4524
4525 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
4526 define HAVE_BROKEN_POSIX_SEMAPHORES.
4527 * configure: Rebuilt.
4528 * config.h.in: Rebuilt.
4529
4530 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
4531
4532 PR bootstrap/26161
4533 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
4534 for the other pthread check.
4535 * configure: Regenerate.
4536 * config.h.in: Regenerate.
4537
4538 2006-02-15 Jakub Jelinek <jakub@redhat.com>
4539
4540 PR libgomp/25938
4541 PR libgomp/25984
4542 * Makefile.am (fincludedir): New variable.
4543 (nodist_include_HEADERS): Remove Fortran files.
4544 (nodist_finclude_HEADERS): New variable.
4545 * Makefile.in: Regenerated.
4546
4547 2006-02-13 Jakub Jelinek <jakub@redhat.com>
4548
4549 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
4550 Remove tests for returning assumed character length arrays.
4551
4552 2006-02-12 Roger Sayle <roger@eyesopen.com>
4553 John David Anglin <dave@hiauly1.hia.nrc.ca>
4554
4555 PR libgomp/25936
4556 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
4557
4558 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
4559
4560 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
4561
4562 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
4563
4564 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
4565 part of LD_LIBRARY_PATH manually.
4566
4567 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
4568
4569 PR libgomp/25852
4570 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
4571 libgomp_init.
4572
4573 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
4574
4575 PR libgomp/25884
4576 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
4577 * configure.ac (PERL): Don't set.
4578 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
4579 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
4580 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
4581 * omp.h.in: Wrap the new configure substitutions with @ characters.
4582 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
4583 * aclocal.m4, configure, Makefile.in: Regenerate.
4584 * mkomp_h.pl: Delete.
4585
4586 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
4587
4588 PR libgomp/25259
4589 * configure.ac: Use GCC_HEADER_STDINT.
4590 * libgomp.h: Include gstdint.h.
4591 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
4592 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
4593
4594 2006-01-24 Richard Henderson <rth@redhat.com>
4595
4596 PR libgomp/25942
4597 * configure.ac: Add AM_MAINTAINER_MODE.
4598 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
4599
4600 2006-01-24 Diego Novillo <dnovillo@redhat.com>
4601
4602 * Makefile.in: Regenerate.
4603 * testsuite/Makefile.in: Regenerate.
4604 * aclocal.m4: Regenerate.
4605
4606 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
4607
4608 * config/posix/proc.c: Conditional include of sys/loadavg.h for
4609 Solaris.
4610 * configure.ac: Add check for loadavg.h.
4611 (link_gomp): Adjust comment.
4612 * configure: Regenerate.
4613 * config.h.in: Regenerate.
4614
4615 2006-01-21 Steve Ellcey <sje@cup.hp.com>
4616
4617 PR libgomp/25877
4618 * configure.ac: Remove check for alloca.h.
4619 * configure: Regenerate.
4620 * config.h.in: Regenerate.
4621 * libgomp.h: define gomp_alloca to be __builtin_alloca.
4622 * team.c: Remove use of alloca.h.
4623 Call gomp_alloca instead of alloca.
4624
4625 2006-01-20 Steve Ellcey <sje@cup.hp.com>
4626
4627 PR libgomp/25877
4628 * team.c: Add include of alloca.h.
4629 * configure.ac: Add check for alloca.h.
4630 * configure: Regenerate.
4631 * config.h.in: Regenerate.
4632
4633 2006-01-17 Jakub Jelinek <jakub@redhat.com>
4634
4635 PR fortran/25219
4636 * testsuite/libgomp.fortran/pr25219.f90: New test.
4637
4638 2005-12-05 Uros Bizjak <uros@kss-loka.si>
4639
4640 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
4641 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
4642 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
4643 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
4644 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
4645 testsuite/libgomp.fortran/threadprivate1.f90,
4646 testsuite/libgomp.fortran/threadprivate2.f90,
4647 testsuite/libgomp.fortran/threadprivate3.f90,
4648 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
4649 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
4650 testsuite/libgomp.fortran/omp_parse3.f90: Change required
4651 effective-target to TLS runtime.
4652
4653 * testsuite/libgomp.fortran/pr25162.f: Require
4654 effective-target TLS runtime.
4655
4656 2005-12-01 Jakub Jelinek <jakub@redhat.com>
4657
4658 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
4659 * testsuite/libgomp.c/nestedfn-3.c: New test.
4660
4661 2005-11-30 Jakub Jelinek <jakub@redhat.com>
4662
4663 PR fortran/25162
4664 * testsuite/libgomp.fortran/pr25162.f: New test.
4665
4666 2005-11-28 Jakub Jelinek <jakub@redhat.com>
4667
4668 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
4669 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
4670
4671 2005-11-25 Jakub Jelinek <jakub@redhat.com>
4672
4673 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
4674 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
4675 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
4676 single.c, team.c, work.c, config/linux/alpha/futex.h,
4677 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
4678 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
4679 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
4680 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
4681 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
4682 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
4683 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
4684 FSF address.
4685
4686 2005-11-18 Jakub Jelinek <jakub@redhat.com>
4687
4688 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
4689 to nodist_noinst_HEADERS.
4690 * Makefile.in: Rebuilt.
4691
4692 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
4693 add integer count field.
4694 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
4695 omp_nest_lock_t type change.
4696 (omp_init_nest_lock): Likewise. Initialize count to 0.
4697 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
4698 Increment count.
4699 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
4700 Decrement count.
4701 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
4702 Increment count if successful and return the new nesting level.
4703 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
4704 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
4705 * testsuite/libgomp.c/lib-1.c: New test.
4706 * testsuite/libgomp.fortran/lib1.f90: New test.
4707 * testsuite/libgomp.fortran/lib2.f: New test.
4708 * testsuite/libgomp.fortran/lib3.f: New test.
4709
4710 2005-11-17 Richard Henderson <rth@redhat.com>
4711
4712 PR 24845
4713 * Makefile.am (nodist_toolexeclib_HEADERS): New.
4714 * configure.ac (link_gomp): New. Substitute it.
4715 (AC_CONFIG_FILES): Add libgomp.spec.
4716 * libgomp.spec.in: New file.
4717 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
4718 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
4719
4720 2005-11-18 Jakub Jelinek <jakub@redhat.com>
4721
4722 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
4723 reduction(-:var) behaving the same as reduction(+:var).
4724 * testsuite/libgomp.c/reduction-4.c: New test.
4725
4726 2005-11-15 Uros Bizjak <uros@kss-loka.si>
4727
4728 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
4729 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
4730 testsuite/libgomp.c/copyin-3.c,
4731 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
4732 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
4733 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
4734 testsuite/libgomp.c++/pr24455.C,
4735 testsuite/libgomp.fortran/threadprivate1.f90,
4736 testsuite/libgomp.fortran/threadprivate2.f90,
4737 testsuite/libgomp.fortran/threadprivate3.f90,
4738 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
4739 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
4740 testsuite/libgomp.fortran/omp_parse3.f90: Require
4741 effective-target TLS.
4742
4743 2005-11-14 Diego Novillo <dnovillo@redhat.com>
4744
4745 * HEADER: Remove.
4746
4747 2005-11-13 Jakub Jelinek <jakub@redhat.com>
4748
4749 PR libgomp/24797
4750 * team.c (initialize_team): Pass NULL rather than free as
4751 pthread_key_create destructor. Initialize thread specific data
4752 pointer in initial thread to a static local variable rather than
4753 malloced memory.
4754
4755 2005-11-11 Uros Bizjak <uros@kss-loka.si>
4756
4757 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
4758 its location to ld_library_path.
4759
4760 2005-11-10 Diego Novillo <dnovillo@redhat.com>
4761
4762 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
4763
4764 2005-11-10 Diego Novillo <dnovillo@redhat.com>
4765
4766 * testsuite/libgomp.c: Rename from libgomp.dg.
4767
4768 2005-11-09 Diego Novillo <dnovillo@redhat.com>
4769
4770 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
4771 threadprivate variable 'i'.
4772
4773 2005-11-09 Jakub Jelinek <jakub@redhat.com>
4774
4775 * config/linux/s390/futex.h: New file.
4776 * configure.tgt: Use it.
4777
4778 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
4779 before the parallel.
4780
4781 2005-11-08 Jakub Jelinek <jakub@redhat.com>
4782
4783 PR c++/24734
4784 * testsuite/libgomp.c++/master-1.C: New test.
4785
4786 2005-11-07 Jakub Jelinek <jakub@redhat.com>
4787
4788 * testsuite/libgomp.dg/copyin-3.c: New test.
4789
4790 2005-11-07 Jakub Jelinek <jakub@redhat.com>
4791
4792 * testsuite/libgomp.fortran/retval1.f90: New test.
4793 * testsuite/libgomp.fortran/vla7.f90: New test.
4794
4795 2005-11-06 Jakub Jelinek <jakub@redhat.com>
4796
4797 * testsuite/libgomp.fortran/vla2.f90: New test.
4798 * testsuite/libgomp.fortran/vla3.f90: New test.
4799 * testsuite/libgomp.fortran/vla4.f90: New test.
4800 * testsuite/libgomp.fortran/vla5.f90: New test.
4801 * testsuite/libgomp.fortran/vla6.f90: New test.
4802
4803 2005-11-01 Jakub Jelinek <jakub@redhat.com>
4804
4805 * config/linux/sparc/futex.h: New file.
4806 * configure.tgt: Use it.
4807 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
4808
4809 * critical.c: Include stdlib.h.
4810 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
4811 ignoring return value.
4812 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
4813 LIBGOMP_CHECK_SYNC_BUILTINS check.
4814 * configure: Rebuilt.
4815
4816 2005-10-31 Jakub Jelinek <jakub@redhat.com>
4817
4818 * testsuite/libgomp.fortran/vla1.f90: New test.
4819
4820 2005-10-31 Richard Henderson <rth@redhat.com>
4821
4822 * testsuite/libgomp.fortran/character2.f90: Fix race condition
4823 setting 's' in different threads.
4824
4825 2005-10-31 Jakub Jelinek <jakub@redhat.com>
4826
4827 * libgomp.h (attribute_hidden, ialias): Define.
4828 * config/posix/proc.c (omp_get_num_procs): Add ialias.
4829 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
4830 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
4831 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
4832 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
4833 omp_test_lock, omp_test_nest_lock): Likewise.
4834 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
4835 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
4836 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
4837 omp_test_lock, omp_test_nest_lock): Likewise.
4838 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
4839 omp_get_dynamic, omp_get_nested): Likewise.
4840 * parallel.c (omp_get_num_threads, omp_get_max_threads,
4841 omp_get_thread_num, omp_in_parallel): Likewise.
4842 * fortran.c (ialias_redirect): Define.
4843 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
4844 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
4845 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
4846 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
4847 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
4848 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
4849 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
4850 omp_get_wtime): Add ialias_redirect.
4851
4852 2005-10-30 Jakub Jelinek <jakub@redhat.com>
4853
4854 * fortran.c: Include stdlib.h.
4855
4856 2005-10-29 Jakub Jelinek <jakub@redhat.com>
4857
4858 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
4859 * Makefile.in: Regenerated.
4860
4861 2005-10-28 Jakub Jelinek <jakub@redhat.com>
4862
4863 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
4864 * libgomp_f.h.in (omp_check_defines): New function.
4865 * env.c: Include libgomp_f.h.
4866 (initialize_env): Call omp_check_defines.
4867
4868 * testsuite/libgomp.dg/copyin-2.c: New test.
4869 * testsuite/libgomp.c++/copyin-2.C: New test.
4870 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
4871
4872 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
4873 * testsuite/libgomp.fortran/sharing2.f90: New test.
4874
4875 * testsuite/libgomp.dg/copyin-1.c: New test.
4876 * testsuite/libgomp.c++/copyin-1.C: New test.
4877
4878 2005-10-26 Jakub Jelinek <jakub@redhat.com>
4879
4880 * testsuite/libgomp.fortran/crayptr1.f90: New test.
4881
4882 * testsuite/libgomp.fortran/workshare1.f90: New test.
4883
4884 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
4885 only test.
4886 * libgomp.fortran/sharing1.f90: New test.
4887
4888 2005-10-24 Jakub Jelinek <jakub@redhat.com>
4889
4890 PR c++/24502
4891 * testsuite/libgomp.c++/loop-7.C: New test.
4892
4893 * testsuite/libgomp.dg/nestedfn-2.c: New test.
4894
4895 * testsuite/libgomp.dg/nestedfn-1.c: New test.
4896 * testsuite/libgomp.fortran/reduction6.f90: New test.
4897 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
4898
4899 2005-10-23 Richard Henderson <rth@redhat.com>
4900
4901 * testsuite/libgomp.c++/ctor-1.C: New.
4902 * testsuite/libgomp.c++/ctor-2.C: New.
4903 * testsuite/libgomp.c++/ctor-3.C: New.
4904 * testsuite/libgomp.c++/ctor-4.C: New.
4905 * testsuite/libgomp.c++/ctor-5.C: New.
4906 * testsuite/libgomp.c++/ctor-6.C: New.
4907 * testsuite/libgomp.c++/ctor-7.C: New.
4908 * testsuite/libgomp.c++/ctor-8.C: New.
4909 * testsuite/libgomp.c++/ctor-9.C: New.
4910
4911 2005-10-21 Diego Novillo <dnovillo@redhat.com>
4912
4913 PR 24455
4914 * testsuite/libgomp.c++/pr24455-1.C: New test.
4915 * testsuite/libgomp.c++/pr24455.C: New test.
4916 * testsuite/libgomp.dg/pr24455-1.c: New test.
4917 * testsuite/libgomp.dg/pr24455.c: New test.
4918
4919 2005-10-20 Richard Henderson <rth@redhat.com>
4920
4921 * testsuite/libgomp.c++/loop-6.C: New.
4922 * testsuite/libgomp.dg/loop-3.c: New.
4923
4924 2005-10-20 Jakub Jelinek <jakub@redhat.com>
4925
4926 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
4927 explicitly private.
4928 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
4929 explicitly shared.
4930
4931 2005-10-19 Diego Novillo <dnovillo@redhat.com>
4932
4933 * testsuite/libgomp.fortran/jacobi.f: New test.
4934
4935 2005-10-19 Richard Henderson <rth@redhat.com>
4936
4937 * configure.tgt (i?86-linux): Default to with_arch instead of
4938 CFLAGS. Add -mtune to match target_cpu.
4939 (x86_64-linux): Tune to i686.
4940
4941 * fortran.c (omp_test_nest_lock_): Fix typo.
4942
4943 2005-10-19 Jakub Jelinek <jakub@redhat.com>
4944
4945 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
4946 gomp_ordered_sync): Do nothing if team->nthreads == 1.
4947 * testsuite/libgomp.dg/ordered-3.c: New test.
4948
4949 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
4950 Remove volatile keyword.
4951
4952 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
4953 in COMMON block to avoid warnings on 64-bit targets.
4954
4955 2005-10-18 Diego Novillo <dnovillo@redhat.com>
4956
4957 * testsuite/libgomp.dg/shared-3.c: New test.
4958
4959 2005-10-18 Jakub Jelinek <jakub@redhat.com>
4960
4961 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
4962 * testsuite/libgomp.fortran/reduction5.f90: New test.
4963
4964 2005-10-18 Jakub Jelinek <jakub@redhat.com>
4965
4966 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
4967 dg-options.
4968 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
4969 flush loop now that __sync_synchronize has proper memory barrier.
4970 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
4971 Add -ffixed-form to dg-options.
4972
4973 2005-10-17 Diego Novillo <dnovillo@redhat.com>
4974
4975 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
4976 from subdirectories.
4977 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
4978 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
4979 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
4980 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
4981 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
4982 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
4983 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
4984 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
4985 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
4986 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
4987 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
4988 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
4989 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
4990 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
4991 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
4992 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
4993 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
4994 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
4995 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
4996 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
4997 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
4998 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
4999 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
5000 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
5001 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
5002
5003 2005-10-17 Jakub Jelinek <jakub@redhat.com>
5004
5005 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
5006 lang_library_path exists. Use find instead of glob to gather tests.
5007 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
5008
5009 2005-10-17 Diego Novillo <dnovillo@redhat.com>
5010
5011 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
5012 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
5013 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
5014 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
5015 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
5016 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
5017 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
5018 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
5019 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
5020 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
5021 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
5022 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
5023 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
5024
5025 2005-10-15 Jakub Jelinek <jakub@redhat.com>
5026
5027 * testsuite/libgomp.dg/vla-1.c: New test.
5028
5029 * testsuite/libgomp.fortran/reference2.f90: New test.
5030
5031 * testsuite/libgomp.fortran/character2.f90: Remove explicit
5032 declaration of omp_get_thread_num.
5033 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
5034 use omp_lib.
5035
5036 * testsuite/libgomp.fortran/reduction1.f90: New test.
5037 * testsuite/libgomp.fortran/reduction2.f90: New test.
5038 * testsuite/libgomp.fortran/reduction3.f90: New test.
5039 * testsuite/libgomp.fortran/reduction4.f90: New test.
5040
5041 2005-10-13 Richard Henderson <rth@redhat.com>
5042
5043 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
5044 * Makefile.in: Regenerate.
5045 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
5046 * libgomp.h: Include bar.h.
5047 (struct gomp_barrier): Remove.
5048 (struct gomp_team): Add barrier. Replace master_barrier with
5049 master_release. Replace threads with ordered_release.
5050 (struct gomp_thread): Replace barrier with release.
5051 * ordered.c (gomp_ordered_first): Update for ordered_release change.
5052 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
5053 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
5054 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
5055 (GOMP_single_copy_end): Likewise.
5056 * team.c (gomp_threads_dock): New.
5057 (gomp_barrier_init, gomp_barrier_destroy): Remove.
5058 (gomp_thread_start): Use gomp_barrier_wait.
5059 (new_team, free_team): Update for gomp_team changes.
5060 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
5061 (gomp_team_end): Use gomp_barrier_wait.
5062 (initialize_team): Update for gomp_thread changes.
5063 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
5064 (gomp_work_share_end_nowait): Use atomic ops when available.
5065 * config/linux/bar.c, config/linux/bar.h: New files.
5066 * config/posix/bar.c, config/posix/bar.h: New files.
5067
5068 2005-10-13 Jakub Jelinek <jakub@redhat.com>
5069
5070 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
5071 * testsuite/libgomp.dg/single-2.c: New test.
5072
5073 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
5074 lang_link_flags): Unset, so that they aren't inherited from previously
5075 sourced *.exp.
5076
5077 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
5078
5079 2005-10-12 Richard Henderson <rth@redhat.com>
5080
5081 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
5082 (libgomp_init): Use lang_test_file, lang_library_path, and
5083 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
5084
5085 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
5086 (lang_test_file, lang_link_flags): New.
5087 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
5088
5089 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
5090 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
5091 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
5092 testsuite/libgomp.c++/parallel-1.C,
5093 testsuite/libgomp.c++/reduction-1.C,
5094 testsuite/libgomp.c++/reduction-2.C,
5095 testsuite/libgomp.c++/reduction-3.C,
5096 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
5097 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
5098 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
5099 New files, largely cribbed from the C testsuite.
5100
5101 2005-10-12 Jakub Jelinek <jakub@redhat.com>
5102
5103 * testsuite/libgomp.fortran/character1.f90: New test.
5104 * testsuite/libgomp.fortran/character2.f90: New test.
5105
5106 * testsuite/libgomp.dg/nested-1.c: New test.
5107 * testsuite/libgomp.dg/nested-2.c: New test.
5108 * testsuite/libgomp.fortran/do1.f90: New test.
5109 * testsuite/libgomp.fortran/do2.f90: New test.
5110
5111 * testsuite/libgomp.fortran/reference1.f90: New test.
5112
5113 2005-10-11 Jakub Jelinek <jakub@redhat.com>
5114
5115 * testsuite/libgomp.dg/reduction-1.c: New test.
5116 * testsuite/libgomp.dg/reduction-2.c: New test.
5117 * testsuite/libgomp.dg/reduction-3.c: New test.
5118
5119 2005-10-10 Jakub Jelinek <jakub@redhat.com>
5120
5121 * testsuite/libgomp.dg/atomic-1.c: New test.
5122 * testsuite/libgomp.dg/atomic-2.c: New test.
5123
5124 2005-10-09 Richard Henderson <rth@redhat.com>
5125
5126 * critical.c (atomic_lock): New.
5127 (initialize_critical): Initialize it.
5128 (GOMP_atomic_start, GOMP_atomic_end): New.
5129 * libgomp.map: Export them.
5130 * libgomp_g.h: Declare them.
5131
5132 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
5133
5134 2005-10-02 Richard Henderson <rth@redhat.com>
5135
5136 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
5137 to XCFLAGS instead of CFLAGS.
5138
5139 2005-09-30 Richard Henderson <rth@redhat.com>
5140
5141 * configure.ac: Determine whether -pthread or -lpthread is needed.
5142 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
5143 * Makefine.in, configure: Rebuild.
5144
5145 2005-09-28 Richard Henderson <rth@redhat.com>
5146
5147 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
5148 * testsuite/libgomp.dg/omp-single-3.c: New test.
5149
5150 2005-09-28 Diego Novillo <dnovillo@redhat.com>
5151
5152 * testsuite/libgomp.dg/omp-single-2.c: New test.
5153 * testsuite/libgomp.dg/shared-2.c: Fix return code.
5154
5155 2005-09-27 Richard Henderson <rth@redhat.com>
5156
5157 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
5158 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
5159
5160 2005-09-27 Jakub Jelinek <jakub@redhat.com>
5161
5162 * testsuite/libgomp.dg/omp-loop03.c: New test.
5163
5164 2005-09-27 Diego Novillo <dnovillo@redhat.com>
5165
5166 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
5167
5168 2005-09-27 Diego Novillo <dnovillo@redhat.com>
5169
5170 * testsuite/libgomp.dg/omp-single-1.c: New test.
5171 * testsuite/libgomp.dg/shared-1.c: Return 0.
5172 Add prototype for abort.
5173 * testsuite/libgomp.dg/shared-2.c: Likewise.
5174
5175 2005-09-26 Jakub Jelinek <jakub@redhat.com>
5176
5177 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
5178 constructs.
5179
5180 2005-09-26 Diego Novillo <dnovillo@redhat.com>
5181
5182 * testsuite/libgomp.dg/shared-1.c: New test.
5183 * testsuite/libgomp.dg/shared-2.c: New test.
5184
5185 2005-09-24 Richard Henderson <rth@redhat.com>
5186
5187 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
5188
5189 2005-09-24 Richard Henderson <rth@redhat.com>
5190
5191 * iter.c (gomp_iter_static_next): Round up when computing number
5192 of iterations. Don't bother distributing a remainder equally.
5193
5194 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
5195 Don't call srand. Zero b before testing.
5196 (main): New.
5197
5198 2005-09-24 Jakub Jelinek <jakub@redhat.com>
5199
5200 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
5201 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
5202
5203 2005-09-23 Jakub Jelinek <jakub@redhat.com>
5204
5205 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
5206 without !$omp end do, followed immediately by subroutine end.
5207
5208 2005-09-23 Diego Novillo <dnovillo@redhat.com>
5209
5210 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
5211
5212 2005-09-22 Richard Henderson <rth@redhat.com>
5213
5214 * critical.c (GOMP_critical_name_start): Change argument to void**.
5215 Reuse the pointer space if the mutex fits.
5216 (GOMP_critical_name_end): Likewise.
5217 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
5218 * libgomp_g.h (GOMP_critical_name_start): Update decl.
5219 (GOMP_critical_name_end): Likewise.
5220 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
5221 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
5222
5223 2005-09-20 Richard Henderson <rth@redhat.com>
5224
5225 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
5226 (create_lock_lock): New.
5227 (initialize_critical): Initialize it.
5228 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
5229 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
5230
5231 2005-09-20 Diego Novillo <dnovillo@redhat.com>
5232
5233 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
5234
5235 2005-09-20 Diego Novillo <dnovillo@redhat.com>
5236
5237 * testsuite/libgomp.dg/omp-loop01.c: New test.
5238 * testsuite/libgomp.dg/omp-loop02.c: New test.
5239
5240 2005-09-20 Jakub Jelinek <jakub@redhat.com>
5241
5242 * configure.ac (AC_PROG_FC): Add.
5243 (USE_FORTRAN): New automake conditional.
5244 * configure: Rebuilt.
5245 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
5246 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
5247 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
5248 Add rules to build them.
5249 * Makefile.in: Rebuilt.
5250 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
5251 OMP_NEST_LOCK_KIND.
5252 * libgomp.map: Add Fortran wrappers.
5253 * libgomp_f.h.in: New file.
5254 * omp_lib.h.in: New file.
5255 * omp_lib.f90.in: New file.
5256 * fortran.c: New file.
5257 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
5258 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
5259 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
5260 libgfortran has been built.
5261 * testsuite/libgomp.fortran/fortran.exp: New file.
5262 * testsuite/libgomp.fortran/omp_cond1.f: New test.
5263 * testsuite/libgomp.fortran/omp_cond2.f: New test.
5264 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
5265 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
5266 * testsuite/libgomp.fortran/omp_hello.f: New test.
5267 * testsuite/libgomp.fortran/omp_orphan.f: New test.
5268 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
5269 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
5270 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
5271 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
5272 * testsuite/libgomp.fortran/omp_reduction.f: New test.
5273 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
5274 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
5275
5276 2005-08-30 Richard Henderson <rth@redhat.com>
5277
5278 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
5279 function for when aliases are not usable.
5280 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
5281 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
5282 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
5283 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
5284 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
5285 GOMP_loop_ordered_guided_next): Likewise.
5286 * ordered.c (GOMP_ordered_start): Likewise.
5287
5288 2005-08-01 Diego Novillo <dnovillo@redhat.com>
5289
5290 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
5291 * testsuite/libgomp.dg/omp_hello.c: Fix return code
5292 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
5293 * testsuite/libgomp.dg/omp_orphan.c: Likewise
5294 * testsuite/libgomp.dg/omp_reduction.c: Likewise
5295 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
5296 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
5297 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
5298 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
5299
5300 2005-07-07 Eric Christopher <echristo@redhat.com>
5301 Diego Novillo <dnovillo@redhat.com>
5302
5303 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
5304 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
5305 up code.
5306 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
5307 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
5308 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
5309 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
5310 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
5311 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
5312 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
5313
5314 2005-06-13 Diego Novillo <dnovillo@redhat.com>
5315
5316 * TOPLEVEL.patch: Remove.
5317
5318 2005-05-16 Richard Henderson <rth@redhat.com>
5319
5320 * configure.ac: Test for clock_gettime.
5321 * config.h.in, configure: Rebuild.
5322 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
5323 (omp_get_wtime): Use clock_gettime if available.
5324 (omp_get_wtick): Use clock_getres if available.
5325
5326 2005-05-11 Richard Henderson <rth@redhat.com>
5327
5328 * config/linux/ia64/futex.h: New file.
5329 * configure.tgt: Use it.
5330
5331 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
5332
5333 2005-05-07 Richard Henderson <rth@redhat.com>
5334
5335 * config/linux/powerpc/futex.h: New file.
5336 * configure.tgt: Use it.
5337
5338 * config/linux/i486/futex.h: Merge ...
5339 * config/linux/x86_64/futex.h: ... into ...
5340 * config/linux/x86/futex.h: ... here.
5341 * configure.tgt: Update to match.
5342
5343 2005-05-06 Richard Henderson <rth@redhat.com>
5344
5345 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
5346 * config/linux/i486/futex.h: Likewise.
5347 * config/linux/x86_64/futex.h: Likewise.
5348
5349 * config/linux/lock.c: New file.
5350 * config/linux/omp-lock.h: New file.
5351
5352 * critical.c, env.h: Don't include omp.h
5353 * config/posix/lock.c: Include libgomp.h instead of omp.h.
5354 * config/posix/time.c: Likewise.
5355 * config/posix/omp-lock.h: New file.
5356 * libgomp.h: Include omp-lock.h and omp.h.
5357 * Makefile.am (nodist_include_HEADERS): New.
5358 (omp.h): New rule.
5359 * configure.ac (PERL): New.
5360 * mkomp_h.pl: New file.
5361 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
5362 with templates.
5363 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
5364
5365 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
5366 build directory. Re-add -march=i486 hack.
5367
5368 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
5369 (libgomp_link_flags): Remove.
5370 (libgomp_initialized): Remove.
5371 (libgomp_init): Don't protect from reinitialization. Copy code
5372 from libstdc++ for getting the multilib set correctly.
5373
5374 2005-05-05 Richard Henderson <rth@redhat.com>
5375
5376 * config/linux/alpha/futex.h: New file.
5377 * configure.tgt (alpha*-*-linux*): Use it.
5378
5379 * config/posix/mutex.c: New file.
5380 * config/posix/sem.c: Use libgomp.h.
5381
5382 * configure.tgt (x86_64-linux): Also test CC for -m32.
5383 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
5384
5385 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
5386 after $gccpath.
5387
5388 * Makefile.am (SUBDIRS): New.
5389 (libgomp_la_LDFLAGS): Add -lpthread.
5390 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
5391 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
5392
5393 * libgomp_g.h: New file.
5394 * libgomp.h: Split out all public declarations to libgomp_g.h.
5395 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
5396 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
5397 * config/linux/sem.h: Likewise.
5398 * config/posix/sem.h: Likewise.
5399
5400 * Makefile.am (AM_LDFLAGS): New.
5401 (libgomp_version_script): Split out from ...
5402 (libgomp_la_LDFLAGS): ... here.
5403 (libgomp_version_info): New.
5404 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
5405 (LIBGOMP_ENABLE): New.
5406 (LIBGOMP_CHECK_LINKER_FEATURES): New.
5407 (LIBGOMP_ENABLE_SYMVERS): New.
5408 * configure.ac (AC_INIT): Version 1.0.
5409 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
5410 (enable-linux-futex): Likewise. Rename from enable-futex.
5411 (libtool_VERSION): New.
5412 (LIBGOMP_ENABLE_SYMVERS): Use it.
5413 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
5414 * Makefile.in, aclocal.m4, configure: Rebuild.
5415
5416 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
5417 (gomp_mutex_unlock_slow): Fix typo.
5418 * config/linux/sem.c: Similarly.
5419 (gomp_sem_post_slow): Fix typo.
5420 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
5421 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
5422 [__PIC__] (sys_futex0): Don't use tmp output in asm.
5423
5424 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
5425 (libgomp_la_LDFLAGS): Add top_srcdir to path.
5426 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
5427 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
5428 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
5429 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
5430 LDFLAGS. Pull enable_futex check to top-level.
5431 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
5432 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
5433
5434 First attempt at real configury.
5435 * Makefile, config.h: Remove file.
5436 * Makefile.am, Makefile.in: New file.
5437 * acinclude.m4 aclocal.m4: New file.
5438 * configure.ac, configure.tgt, configure: New file.
5439
5440 * config/posix/lock.c: Rename from sys-lock.c.
5441 * config/posix/mutex.h: Rename from sys-mutex.h.
5442 * config/posix/sem.c: Rename from sys-sem.c.
5443 * config/posix/sem.h: Rename from sys-sem.h.
5444 * config/posix/proc.c: Rename from sys-proc.c.
5445 * config/posix/time.c: Rename from sys-proc.c.
5446
5447 * config/linux/mutex.c: New file.
5448 * config/linux/mutex.h: New file.
5449 * config/linux/sem.c: New file.
5450 * config/linux/sem.h: New file.
5451 * config/linux/i486/futex.h: New file.
5452 * config/linux/x86_64/futex.h: New file.
5453
5454 2005-05-04 Richard Henderson <rth@redhat.com>
5455
5456 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
5457 * libgomp.h: Declare them.
5458 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
5459 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
5460
5461 2005-05-04 Richard Henderson <rth@redhat.com>
5462
5463 * libgomp-1 code drop
5464
5465 2005-05-04 Richard Henderson <rth@redhat.com>
5466
5467 * iter.c (gomp_iter_static_next): Return tri-state on 0.
5468 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
5469 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
5470 (gomp_iter_static_next): Update.
5471 (gomp_ordered_static_next): Update.
5472 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
5473 (gomp_loop_ordered_static_start): Likewise. Exit early for a
5474 totally empty range.
5475 (gomp_loop_ordered_static_next): Refine test for calling
5476 gomp_ordered_static_next.
5477 * testsuite/ordered-1.c: Add case for more threads than iterations.
5478
5479 * iter.c (gomp_iter_runtime_next_locked): Remove.
5480 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
5481 gomp_loop_guided_start, gomp_loop_ordered_static_start,
5482 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
5483 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
5484 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
5485 gomp_loop_ordered_guided_next): Downcase name, make static, add
5486 an external alias with the old name.
5487 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
5488 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
5489 switch and call one of the above static functions.
5490 * libgomp.h: Update.
5491
5492 * work.c (gomp_work_share_start): Lock the mutex for !first too.
5493 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
5494 GOMP_loop_guided_start, GOMP_loop_runtime_start,
5495 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
5496 GOMP_loop_ordered_guided_start): Update to match.
5497 * sections.c (GOMP_sections_start): Likewise.
5498 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
5499
5500 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
5501 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
5502 Use bounds check instead of modulus.
5503 (gomp_ordered_sync): Split out of GOMP_ordered_start.
5504 (gomp_ordered_last): Don't sync with ordered_owner here.
5505 (gomp_ordered_next): Likewise.
5506 (gomp_ordered_static_loop_next): Likewise.
5507 * loop.c, libgomp.h: Update to match.
5508
5509 * libgomp.h (GOMP_barrier): Declare.
5510
5511 * testsuite/barrier-1.c: New file.
5512 * testsuite/critical-1.c: New file.
5513 * testsuite/ordered-2.c: New file.
5514 * testsuite/ordered-1.c: New file.
5515 * testsuite/sections-1.c: New file.
5516 * testsuite/single-1.c: New file.
5517 * testsuite/Makefile (TESTS): Add them.
5518
5519 2005-05-04 Richard Henderson <rth@redhat.com>
5520
5521 * libgomp.h (struct gomp_work_share): Add ordered_owner.
5522 * loop.c (GOMP_loop_static_start): If not the startup thread,
5523 acquire the mutex to wait for initialization complete.
5524 (GOMP_loop_ordered_static_start): Likewise.
5525 (GOMP_loop_ordered_runtime_start): Likewise.
5526 (GOMP_loop_ordered_static_first): Remove.
5527 (GOMP_loop_ordered_dynamic_first): Remove.
5528 (GOMP_loop_ordered_guided_first): Remove.
5529 (GOMP_loop_ordered_runtime_first): Remove.
5530 * ordered.c (gomp_ordered_loop_first): Post to own release when
5531 we're the first thread.
5532 (gomp_ordered_loop_last): Wait on release if not owner.
5533 (gomp_ordered_loop_next): Likewise.
5534 (gomp_ordered_static_loop_init): New.
5535 (gomp_ordered_static_loop_next): Use ordered_owner.
5536 (GOMP_ordered_start): Likewise.
5537 * work.c (gomp_new_work_share): Initialize ordered_owner.
5538
5539 2005-05-03 Richard Henderson <rth@redhat.com>
5540
5541 * Makefile (OPT): New.
5542 (CFLAGS): Use it.
5543
5544 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
5545 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
5546 * libgomp.h, libgomp.map, NOTES: Update to match.
5547
5548 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
5549 Add initialized and thr members.
5550 (gomp_thread_start): Pause when initially spawned to wait for
5551 the whole team to be created.
5552 (gomp_team_start): Release team members at the end.
5553
5554 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
5555 (f_foo_1): Use GOMP_loop_end.
5556 (f_foo_2): Use GOMP_loop_end_nowait.
5557
5558 * testsuite/loop-2.c: New file.
5559 * testsuite/Makefile (TESTS): Add it.
5560
5561 2005-05-03 Richard Henderson <rth@redhat.com>
5562
5563 * iter.c (gomp_iter_static_next): Fix overflow check typo.
5564 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
5565 * team.c (new_team): Initialize oldest_live_gen to 1 if no
5566 initial work_share.
5567
5568 * testsuite/Makefile: New file.
5569 * testsuite/loop-1.c: New file.
5570
5571 2005-05-03 Richard Henderson <rth@redhat.com>
5572
5573 Initial implementation and checkin.