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