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