]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
inlude/
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
e561d5e1 12015-09-28 Nathan Sidwell <nathan@codesourcery.com>
2
3 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
4 array.
5 * libgomp.map (GOACC_parallel_keyed): New.
6 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
7 all callers.
8 (GOACC_parallel_keyed): New interface. Lose geometry arguments
9 and take keyed varargs list. Adjust call to exec_func.
10 (GOACC_parallel): Force host fallback.
11 * libgomp_g.h (GOACC_parallel): Remove.
12 (GOACC_parallel_keyed): Declare.
13 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
14 (stuct targ_gn_descriptor): Replace name field with launch field.
15 (nvptx_exec): Lose separate geometry args, take array. Process
16 dynamic dimensions and adjust.
17 (struct nvptx_tdata): Replace fn_names field with fn_descs.
18 (GOMP_OFFLOAD_load_image): Adjust for change in function table
19 data.
20 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
21 passing.
22 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
23 passing.
24
2f6c4c35 252015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
26
27 PR libgomp/67141
28 * oacc-int.h (goacc_host_init): Add declaration.
29 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
30 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
31
fa4dba85 322015-09-08 Aditya Kumar <hiraditya@msn.com>
33 Sebastian Pop <s.pop@samsung.com>
34
35 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
36 match o/p.
37 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
38 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
39 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
40 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
41 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
42
13c58648 432015-09-03 Jakub Jelinek <jakub@redhat.com>
44
45 * configure.tgt: Add missing ;; in between nvptx and rtems
46 snippets.
47
6e723739 482015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
49
50 * config/posix/pool.h (gomp_adjust_thread_attr): New.
51 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
52 (gomp_thread_pool_reservoir): Add priority member.
53 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
54 priority.
55 (parse_thread_pools): Likewise.
56 * team.c (gomp_team_start): Call configuration provided
57 gomp_adjust_thread_attr(). Destroy thread attributes if
58 necessary.
59 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
60
65cb1e66 612015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
62
63 * config/posix/pool.h: New.
64 * config/rtems/pool.h: Likewise.
65 * config/rtems/proc.c: Likewise.
66 * libgomp.h (gomp_thread_destructor): Declare.
67 * team.c: Include configuration provided "pool.h".
68 (gomp_get_thread_pool): Define in configuration.
69 (gomp_team_end): Call configuration defined
70 gomp_release_thread_pool().
71
4bf07de7 722015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
73
74 * config/rtems/bar.c: New.
75 * config/rtems/bar.h: Likewise.
76 * config/rtems/mutex.c: Likewise.
77 * config/rtems/mutex.h: Likewise.
78 * config/rtems/sem.c: Likewise.
79 * config/rtems/sem.h: Likewise.
80 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
81 <sys/lock.h> header file.
82 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
83 supported by Newlib.
84 * configure: Regenerate.
85
8087e8d0 862015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
87
88 * team.c (gomp_new_thread_pool): Delete and move content to ...
89 (gomp_get_thread_pool): ... new function. Allocate and
90 initialize thread pool on demand.
91 (get_last_team): Use gomp_get_thread_pool().
92 (gomp_team_start): Delete thread pool initialization.
93
281001a9 942015-09-03 Tom de Vries <tom@codesourcery.com>
95
96 PR tree-optimization/65637
97 * testsuite/libgomp.c/autopar-2.c: New test.
98
5902cce5 992015-08-29 Tom de Vries <tom@codesourcery.com>
100
101 PR tree-optimization/46193
102 * testsuite/libgomp.c/pr46193.c: New test.
103
d3d8e632 1042015-08-24 Nathan Sidwell <nathan@codesourcery.com>
105
106 libgomp/
107 * libgomp.map: Add 4.0.2 version.
108 * target.c (offload_image_descr): Add version field.
109 (gomp_load_image_to_device): Add version argument. Adjust plugin
110 call. Improve load mismatch diagnostic.
111 (gomp_unload_image_from_device): Add version argument. Adjust plugin
112 call.
113 (GOMP_offload_regster): Make stub function, move bulk to ...
114 (GOMP_offload_register_ver): ... here. Process version argument.
115 (GOMP_offload_unregister): Make stub function, move bulk to ...
116 (GOMP_offload_unregister_ver): ... here. Process version argument.
117 (gomp_init_device): Process version field.
118 (gomp_unload_device): Process version field.
119 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
120 macros. Check plugin version.
121 * libgomp.h (gomp_device_descr): Add version function field. Adjust
122 loader and unloader types.
123 * oacc-host.c: Include gomp-constants.h.
124 (host_version): New.
125 (host_load_image, host_unload_image): Adjust.
126 (host_dispatch): Add host_version.
127 * plugin/plugin-nvptx.c: Include gomp-constants.h.
128 (GOMP_OFFLOAD_version): New.
129 (GOMP_OFFLOAD_load_image): Add version arg and check it.
130 (GOMP_OFFLOAD_unload_image): Likewise.
131 * plugin/plugin-host.c: Include gomp-constants.h.
132 (GOMP_OFFLOAD_version): New.
133 (GOMP_OFFLOAD_load_image): Add version arg.
134 (GOMP_OFFLOAD_unload_image): Likewise.
135
bcaf4c15 1362015-08-24 Tom de Vries <tom@codesourcery.com>
137
138 PR tree-optimization/65468
139 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
140
345f9789 1412015-08-24 Tom de Vries <tom@codesourcery.com>
142
143 PR tree-optimization/65468
144 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
145
150899aa 1462015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
147
148 PR libgomp/66761
149 PR libgomp/67303
150 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
151 (gomp_iter_guided_next): Idem.
152 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
153 (gomp_iter_ull_guided_next): Idem.
154 * config/linux/wait.h (do_spin): Idem.
155
f212338e 1562015-08-10 Thomas Schwinge <thomas@codesourcery.com>
157
158 * libgomp-plugin.h (enum offload_target_type): Remove
159 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
160 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
161 * openacc.h (enum acc_device_t): Likewise.
162 * openacc_lib.h: Likewise.
163 * oacc-init.c (name_of_acc_device_t): Don't handle it.
164 (acc_on_device): Just use __builtin_acc_on_device.
165 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
166 of acc_on_device builtin.
167 * plugin/plugin-host.h: Remove file.
168 * plugin/plugin-host.c: Likewise, but salvage some content into...
169 * oacc-host.c: ... this file.
170 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
171 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
172 * Makefile.in: Regenerate.
173 * configure: Likewise.
174 * testsuite/lib/libgomp.exp
175 (check_effective_target_openacc_host_nonshm_selected): Remove.
176 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
177 ACC_DEVICE_TYPE=host_nonshm.
178 * testsuite/libgomp.oacc-c/c.exp: Likewise.
179 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
180 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
181 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
182 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
183 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
184
fdcd05c8 1852015-08-10 Thomas Schwinge <thomas@codesourcery.com>
186 Jakub Jelinek <jakub@redhat.com>
187
188 * config/nvptx/affinity.c: New file.
189 * config/nvptx/alloc.c: Likewise.
190 * config/nvptx/bar.c: Likewise.
191 * config/nvptx/barrier.c: Likewise.
192 * config/nvptx/critical.c: Likewise.
193 * config/nvptx/env.c: Likewise.
194 * config/nvptx/error.c: Likewise.
195 * config/nvptx/fortran.c: Likewise.
196 * config/nvptx/iter.c: Likewise.
197 * config/nvptx/iter_ull.c: Likewise.
198 * config/nvptx/libgomp-plugin.c: Likewise.
199 * config/nvptx/lock.c: Likewise.
200 * config/nvptx/loop.c: Likewise.
201 * config/nvptx/loop_ull.c: Likewise.
202 * config/nvptx/mutex.c: Likewise.
203 * config/nvptx/oacc-async.c: Likewise.
204 * config/nvptx/oacc-cuda.c: Likewise.
205 * config/nvptx/oacc-host.c: Likewise.
206 * config/nvptx/oacc-init.c: Likewise.
207 * config/nvptx/oacc-mem.c: Likewise.
208 * config/nvptx/oacc-parallel.c: Likewise.
209 * config/nvptx/oacc-plugin.c: Likewise.
210 * config/nvptx/omp-lock.h: Likewise.
211 * config/nvptx/ordered.c: Likewise.
212 * config/nvptx/parallel.c: Likewise.
213 * config/nvptx/proc.c: Likewise.
214 * config/nvptx/ptrlock.c: Likewise.
215 * config/nvptx/sections.c: Likewise.
216 * config/nvptx/sem.c: Likewise.
217 * config/nvptx/single.c: Likewise.
218 * config/nvptx/splay-tree.c: Likewise.
219 * config/nvptx/target.c: Likewise.
220 * config/nvptx/task.c: Likewise.
221 * config/nvptx/team.c: Likewise.
222 * config/nvptx/time.c: Likewise.
223 * config/nvptx/work.c: Likewise.
224 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
225 * configure: Regenerate.
226 * configure.tgt (config_path): Set to "nvptx" for target
227 nvptx*-*-*.
228
b308f4a0 2292015-08-10 Thomas Schwinge <thomas@codesourcery.com>
230
231 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
232
fae2de17 2332015-08-03 Nathan Sidwell <nathan@codesourcery.com>
234
235 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
236 (cuda_errlist): Constify.
237 (errmsg): Move into ...
238 (cuda_error): ... here. Make smaller.
239 (_XSTR, _STR): Delete.
240 (cuda_synames): Delete.
241 (verify_device_library): Delete.
242 (nvptx_init): Don't call it.
243
95f4166a 2442015-07-28 Tom de Vries <tom@codesourcery.com>
245
246 * testsuite/libgomp.c/uns-outer-4.c: New test.
247
44f86782 2482015-07-24 Cesar Philippidis <cesar@codesourcery.com>
249
250 * testsuite/libgomp.c/pr66714.c: New test.
251
4bb2d106 2522015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
253
254 PR libgomp/66950
255 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
256 (fib_ref): New function.
257 (fib): Correct corner cases in the recursion.
258 (main): Replace the non-simd loop with fib_ref call.
259 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
260 subroutine.
261 (fibonacci): Lower the parameter N to 30. Correct accordingly check
262 for the last array element value. Replace the non-simd loop with
263 fib_ref call. Remove redundant b_ref array. Remove the comparison
264 of the last array element with according Fibonacci sequence element.
265 (fib): Correct corner cases in the recursion.
266
7de5731e 2672015-07-21 Nathan Sidwell <nathan@codesourcery.com>
268
269 * target.c (gomp_offload_image_to_device): Rename to ...
270 (gomp_load_image_to_device): ... here.
271 (GOMP_offload_register): Adjust call.
272 (gomp_init_device): Likewise.
273 (gomp_unload_image_from_device): New. Broken out of ...
274 (GOMP_offload_unregister): ... here. Call it.
275 (gomp_unload_device): New.
276 * libgomp.h (gomp_unload_device): Declare.
277 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
278 mem maps.
279
196c8bc3 2802015-07-20 Nathan Sidwell <nathan@codesourcery.com>
281
933b0582 282 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
283 wait=-specific if.
284 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
285 !=0 condition.
286 (goacc_waits): Move !num_waits handling to ...
287 (GOACC_wait): ... here, the only caller that might have zero waits.
288
196c8bc3 289 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
290 (struct ptx_image_data): Move earlier, add fns field.
291 (struct ptx_device): Add images and image_lock fields.
292 (ptx_images, ptx_image_lock): Delete.
293 (nvptx_open_device): Initialize images and image_lock fields.
294 (nvptx_close_device): Destroy image_lock.
295 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
296 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
297 fields.
298
70046055 2992015-07-17 Nathan Sidwell <nathan@codesourcery.com>
300
ff96563a 301 * target.c (GOMP_offload_register): Use int for device type arg.
302 (GOMP_offload_unregister): Likewise.
303
4e985e0f 304 * target.c (struct_offload_image_descr): Constify host_table.
305 (gomp_offload_image_to_device): Likewise.
306 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
307
70046055 308 * libgomp.h (gomp_device_descr): Constify target data arguments.
309 * target.c (struct offload_image_descr): Constify target_data.
310 (gomp_offload_image_to_device): Likewise.
311 (GOMP_offload_register): Likewise.
312 (GOMP_offload_unrefister): Likewise.
313 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
314 GOMP_OFFLOAD_unload_image): Constify target data.
315 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
316 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
317
f9d1cd4c 3182015-07-16 Nathan Sidwell <nathan@codesourcery.com>
319
320 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
321 Workaround driver library const error.
322 (struct nvptx_tdata, nvptx_tdata_t): New.
323 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
324 type.
325
7ee4563f 3262015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
327
328 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
329 of EPS parameter from integer to real.
330 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
331 type of EPS parameter from integer to real.
332
119b02b7 3332015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
334
335 * team.c (get_last_team): New.
336 (gomp_new_team): Recycle last non-nested team if possible.
337 (gomp_team_end): Move team work share list free lock destruction
338 to ...
339 (free_team): ... here.
340
f44cb3df 3412015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
342
343 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
344 and ref from int to double. Replaced their comparison with
345 an inequality of their difference and EPS.
346 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
347 comparison of pri and a reference number with an inequality of their
348 difference and EPS.
349 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
350 the comparison of sum and sum_ref with an inequality of their
351 difference and EPS.
352 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
353 the comparison of pri and a reference number with an inequality of
354 their difference and EPS.
355
f4e3ba84 3562015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
357
358 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
359 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
360 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
361 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
362 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
363 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
364 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
365 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
366 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
367 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
368 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
369 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
370 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
371 variables.
372 (vec_mult): Likewise. Add #pragma omp taskwait.
373 (main): Adjust caller.
374 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
375 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
376 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
377 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
378 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
379 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
380 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
381 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
382 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
383 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
384 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
385 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
386 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
387 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
388 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
389 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
390 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
391 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
392 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
393 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
394 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
395 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
396 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
397 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
398 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
399 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
400 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
401 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
402 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
403 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
404 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
405 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
406 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
407 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
408 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
409 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
410 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
411 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
412 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
413 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
414 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
415 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
416 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
417 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
418 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
419 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
420 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
421 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
422 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
423 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
424 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
425 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
426 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
427 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
428 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
429 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
430 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
431 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
432 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
433 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
434 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
435 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
436 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
437 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
438 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
439 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
440 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
441 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
442 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
443 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
444 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
445 (vec_mult): Add !$omp taskwait.
446 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
447 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
448 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
449 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
450 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
451 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
452 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
453 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
454 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
455 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
456 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
457 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
458 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
459 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
460 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
461 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
462 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
463 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
464 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
465 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
466 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
467 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
468 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
469 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
470 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
471 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
472 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
473 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
474 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
475 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
476 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
477 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
478 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
479 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
480 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
481 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
482 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
483 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
484 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
485 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
486 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
487 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
488 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
489 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
490 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
491 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
492 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
493 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
494 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
495 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
496 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
497 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
498 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
499 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
500 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
501 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
502 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
503 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
504 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
505 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
506 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
507 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
508 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
509 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
510 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
511 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
512 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
513
3c31a6c6 5142015-07-10 Tom de Vries <tom@codesourcery.com>
515
516 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
517 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
518
fe265ad3 5192015-07-08 Thomas Schwinge <thomas@codesourcery.com>
520
521 PR libgomp/65099
522 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
523 in a 64-bit configuration.
524 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
525 offloading testing if no such device is available.
526 * testsuite/libgomp.oacc-c/c.exp: Likewise.
527 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
528
60084b25 5292015-07-08 Tom de Vries <tom@codesourcery.com>
530
531 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
532 second call to f.
533 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
534
5a3d2e18 5352015-07-07 Tom de Vries <tom@codesourcery.com>
536
537 PR tree-optimization/66642
538 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
539 iteration count case.
540 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
541 function, factor out of ...
542 (main): ... here. Test low iteration count case.
543
a29fd1b8 5442015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
545
546 * libgomp.h (gomp_thread_pool): Comment last_team field.
547
959a496c 5482015-07-02 Uros Bizjak <ubizjak@gmail.com>
549
550 * testsuite/libgomp.c++/pr66702-1.C: Require
551 vect_simd_clones effective target.
552 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
553
6870ed49 5542015-06-30 Tom de Vries <tom@codesourcery.com>
555
556 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
557 already set. Use DEFAULT_CFLAGS in dg-runtest.
558 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
559 "-O2".
560
49005727 5612015-06-30 Tom de Vries <tom@codesourcery.com>
562
563 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
564 already set. Use DEFAULT_CFLAGS in dg-runtest.
565 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
566 * testsuite/libgomp.c++/pr64824.C: Same.
567 * testsuite/libgomp.c++/pr64868.C: Same.
568 * testsuite/libgomp.c++/pr66199-1.C: Same.
569 * testsuite/libgomp.c++/pr66199-2.C: Same.
570 * testsuite/libgomp.c++/target-2.C: Same.
571 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
572 -std=<standard> option.
573 * testsuite/libgomp.c++/udr-11.C: Same.
574 * testsuite/libgomp.c++/udr-12.C: Same.
575 * testsuite/libgomp.c++/udr-13.C: Same.
576 * testsuite/libgomp.c++/udr-14.C: Same.
577 * testsuite/libgomp.c++/udr-15.C: Same.
578 * testsuite/libgomp.c++/udr-16.C: Same.
579 * testsuite/libgomp.c++/udr-17.C: Same.
580 * testsuite/libgomp.c++/udr-18.C: Same.
581 * testsuite/libgomp.c++/udr-19.C: Same.
582 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
583 * testsuite/libgomp.c++/simd-1.C: Same.
584 * testsuite/libgomp.c++/simd-2.C: Same.
585 * testsuite/libgomp.c++/simd-3.C: Same.
586 * testsuite/libgomp.c++/simd-4.C: Same.
587 * testsuite/libgomp.c++/simd-5.C: Same.
588 * testsuite/libgomp.c++/simd-6.C: Same.
589 * testsuite/libgomp.c++/simd-7.C: Same.
590 * testsuite/libgomp.c++/simd-8.C: Same.
591 * testsuite/libgomp.c++/simd-9.C: Same.
592 * testsuite/libgomp.c++/simd10.C: Same.
593 * testsuite/libgomp.c++/simd11.C: Same.
594 * testsuite/libgomp.c++/simd12.C: Same.
595 * testsuite/libgomp.c++/simd13.C: Same.
596
97a82d40 5972015-06-30 Jakub Jelinek <jakub@redhat.com>
598
599 PR middle-end/66702
600 * testsuite/libgomp.c++/pr66702-1.C: New test.
601 * testsuite/libgomp.c++/pr66702-2.C: New test.
602
6f6c75e2 6032015-06-30 Tom de Vries <tom@codesourcery.com>
604
605 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
606 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
607 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
608 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
609
5d4f3ed8 6102015-06-30 Tom de Vries <tom@codesourcery.com>
611
612 PR tree-optimization/66652
613 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
614 using restrict pointers.
615 (main): Add arguments to calls to f.
616 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
617
85f988d0 6182015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
619
620 * configure.ac: Fix check for header <sys/sysctl.h>.
621 * configure: Regenerate.
622 * config.h.in: Likewise.
623
bd19243a 6242015-06-23 Tom de Vries <tom@codesourcery.com>
625
626 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
627 abort.
628 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
629
c130d11c 6302015-06-19 Thomas Schwinge <thomas@codesourcery.com>
631
3625ad60 632 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
633 acc_device_nvidia.
634
c130d11c 635 PR libgomp/66518
636 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
637 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
638
081f3e64 6392015-06-15 Tom de Vries <tom@codesourcery.com>
640
641 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
642 dg-additional-options for any remaining options.
643 * testsuite/libgomp.c/atomic-2.c: Same.
644 * testsuite/libgomp.c/atomic-4.c: Same.
645 * testsuite/libgomp.c/atomic-5.c: Same.
646 * testsuite/libgomp.c/atomic-6.c: Same.
647 * testsuite/libgomp.c/autopar-1.c: Same.
648 * testsuite/libgomp.c/copyin-1.c: Same.
649 * testsuite/libgomp.c/copyin-2.c: Same.
650 * testsuite/libgomp.c/copyin-3.c: Same.
651 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
652 * testsuite/libgomp.c/nestedfn-5.c: Same.
653 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
654 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
655 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
656 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
657 * testsuite/libgomp.c/pr32362-1.c: Same.
658 * testsuite/libgomp.c/pr32362-2.c: Same.
659 * testsuite/libgomp.c/pr32362-3.c: Same.
660 * testsuite/libgomp.c/pr39591-1.c: Same.
661 * testsuite/libgomp.c/pr39591-2.c: Same.
662 * testsuite/libgomp.c/pr39591-3.c: Same.
663 * testsuite/libgomp.c/pr58392.c: Same.
664 * testsuite/libgomp.c/pr58756.c: Same.
665 * testsuite/libgomp.c/simd-1.c: Same.
666 * testsuite/libgomp.c/simd-10.c: Same.
667 * testsuite/libgomp.c/simd-11.c: Same.
668 * testsuite/libgomp.c/simd-12.c: Same.
669 * testsuite/libgomp.c/simd-13.c: Same.
670 * testsuite/libgomp.c/simd-14.c: Same.
671 * testsuite/libgomp.c/simd-15.c: Same.
672 * testsuite/libgomp.c/simd-2.c: Same.
673 * testsuite/libgomp.c/simd-3.c: Same.
674 * testsuite/libgomp.c/simd-4.c: Same.
675 * testsuite/libgomp.c/simd-5.c: Same.
676 * testsuite/libgomp.c/simd-6.c: Same.
677 * testsuite/libgomp.c/simd-7.c: Same.
678 * testsuite/libgomp.c/simd-8.c: Same.
679 * testsuite/libgomp.c/simd-9.c: Same.
680
45221313 6812015-06-15 Tom de Vries <tom@codesourcery.com>
682
683 * testsuite/libgomp.c/pr35625.c: Fix typo.
684
fe5ea207 6852015-06-15 Tom de Vries <tom@codesourcery.com>
686
687 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
688 in dg-options.
689 * testsuite/libgomp.c/atomic-3.c: Same.
690 * testsuite/libgomp.c/debug-1.c: Same.
691 * testsuite/libgomp.c/nqueens-1.c: Same.
692 * testsuite/libgomp.c/pr26171.c: Same.
693 * testsuite/libgomp.c/pr48591.c: Same.
694 * testsuite/libgomp.c/pr64824.c: Same.
695 * testsuite/libgomp.c/pr64868.c: Same.
696 * testsuite/libgomp.c/pr66133.c: Same.
697 * testsuite/libgomp.c/pr66199-1.c: Same.
698 * testsuite/libgomp.c/pr66199-2.c: Same.
699 * testsuite/libgomp.c/target-8.c: Same.
700
1ac7f5a6 7012015-06-15 Tom de Vries <tom@codesourcery.com>
702
703 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
704 -std={gnu99,c99}.
705 * testsuite/libgomp.c/for-1.c: Same.
706 * testsuite/libgomp.c/for-2.c: Same.
707 * testsuite/libgomp.c/for-3.c: Same.
708 * testsuite/libgomp.c/pr35625.c: Same.
709 * testsuite/libgomp.c/pr39154.c: Same.
710 * testsuite/libgomp.c/simd-16.c: Same.
711 * testsuite/libgomp.c/simd-17.c: Same.
712
125a2cf7 7132015-06-13 Tom de Vries <tom@codesourcery.com>
714
715 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
716
fde7153f 7172015-06-13 Tom de Vries <tom@codesourcery.com>
718
719 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
720 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
721 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
722 (N): Define.
723 (main): Use N instead of hardcoded constants.
724
d38409cd 7252015-06-05 Tom de Vries <tom@codesourcery.com>
726
727 merge from gomp4 branch:
728 2015-05-28 Tom de Vries <tom@codesourcery.com>
729
730 PR tree-optimization/65443
731 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
732 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
733 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
734
79d46209 7352015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
736
737 * testsuite/libgomp.graphite/bounds.c: Adjust for
738 cleanup-tree-dump removal.
739 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
740 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
741 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
742 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
743 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
744 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
745 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
746 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
747 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
748 * testsuite/libgomp.graphite/pr41118.c: Likewise.
749
6214ff79 7502015-05-28 Uros Bizjak <ubizjak@gmail.com>
751
752 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
753 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
754 (futex_wake) [!__x86_64__]: Ditto.
755
dd7f667e 7562015-05-28 Julian Brown <julian@codesourcery.com>
757
758 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
759 function comment. Only call gomp_fatal if new argument is true.
760 (acc_dev_num_out_of_range): New function.
761 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
762 acc_dev_num_out_of_range as appropriate.
763 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
6214ff79 764 (acc_get_device_num, acc_set_device_num): Update calls to
765 resolve_device.
dd7f667e 766 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
767 output.
768
071f2c66 7692015-05-28 Julian Brown <julian@codesourcery.com>
770
771 PR libgomp/65742
071f2c66 772 * oacc-init.c (plugin/plugin-host.h): Include.
773 (acc_on_device): Check whether we're in an offloaded region for
774 host_nonshm
775 plugin. Don't use __builtin_acc_on_device.
776 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
777 nonshm_exec flag in thread-local data.
778 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
779 data for host_nonshm plugin.
780 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
781 for host_nonshm plugin.
782 * plugin/plugin-host.h: New.
783
4ad2e065 7842015-05-27 Uros Bizjak <ubizjak@gmail.com>
785
11d92d93 786 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
787
7882015-05-27 Uros Bizjak <ubizjak@gmail.com>
789
790 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
791 Declare as int.
792 (FUTEX_PRIVATE_FLAG): Remove L suffix.
793 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
794 Declare as int.
795
7962015-05-27 Uros Bizjak <ubizjak@gmail.com>
797
6214ff79 798 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
4ad2e065 799
84f53106 8002015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
801
802 * target.c (gomp_map_pointer): New function abstracting out
803 GOMP_MAP_POINTER handling.
804 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
805 gomp_map_pointer().
806
d7729e26 8072015-05-19 Jakub Jelinek <jakub@redhat.com>
808
809 PR middle-end/66199
810 * testsuite/libgomp.c/pr66199-1.c: New test.
811 * testsuite/libgomp.c/pr66199-2.c: New test.
812 * testsuite/libgomp.c++/pr66199-1.C: New test.
813 * testsuite/libgomp.c++/pr66199-2.C: New test.
814 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
815 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
816
f35b05c9 8172015-05-19 Julian Brown <julian@codesourcery.com>
818
819 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
820 on cuInit failure.
821
b25f70fd 8222015-05-13 Jakub Jelinek <jakub@redhat.com>
823
824 PR middle-end/66133
825 * testsuite/libgomp.c/pr66133.c: New test.
826
b5cfe980 8272015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
828
829 * Makefile.in: Regenerated with automake-1.11.6.
830 * aclocal.m4: Likewise.
831 * config.h.in: Likewise.
832 * configure: Likewise.
833 * testsuite/Makefile.in: Likewise.
834
4a850eb7 8352015-05-08 Jason Merrill <jason@redhat.com>
836
837 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
838 _Complex.
839
840 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
841
d39966e5 8422015-05-06 Julian Brown <julian@codesourcery.com>
843
844 * oacc-init.c (acc_device_lock): Add explanatory comment.
845 (resolve_device): Add comment about locking requirement.
846 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
847 gomp_init_device and gomp_fini_device calls.
848 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
849 (acc_get_device_num, acc_set_device_num): Add locking around
850 resolve_device and gomp_init_device calls.
851
09f66ac1 8522015-05-06 Julian Brown <julian@codesourcery.com>
853
854 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
855 goacc_thread_lock on error paths.
856 * oacc-mem.c (lookup_host): Remove locking from function. Note
857 locking requirement for caller in function comment.
858 (lookup_dev): Likewise.
859 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
860 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
861 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
862 Add locking.
863
92d46f1a 8642015-05-05 Thomas Schwinge <thomas@codesourcery.com>
865
866 PR testsuite/65205
867 PR libgomp/65993
868 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
869 don't expect "0x" prefix for "%p" format specifier, don't expect
870 "(nil)" for NULL pointer.
871 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
872 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
873 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
874 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
875 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
876 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
877 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
878 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
879 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
880 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
881 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
882 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
883 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
884 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
885 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
886 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
887 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
888 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
889 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
890 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
891 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
892 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
893 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
894 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
895 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
896 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
897 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
898 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
899 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
900 accurately specify what we're looking for.
901 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
902 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
903 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
904 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
905 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
906
cf9c09c4 9072015-04-30 James Norris <jnorris@codesourcery.com>
908
909 PR testsuite/65205
910 * testsuite/lib/libgomp.exp
911 (check_effective_target_openacc_host_selected)
912 (check_effective_target_openacc_host_nonshm_selected): New
913 procedures.
914 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
915 dg-shouldfail.
916 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
917 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
918 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
919 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
920 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
921 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
922 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
923 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
924 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
925 * testsuite/libgomp.oacc-c-c++-common/lib-23.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-34.c: Likewise.
934 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
935 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
936 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
937 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
938 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
939 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
940 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
941 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
942 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
943 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
944 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
945 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
946 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
947 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
948 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
949 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
950 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
951 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
952 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
953 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
954 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
955 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
956 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
957 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
958 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
959
0a1fe572 9602015-04-08 Julian Brown <julian@codesourcery.com>
961
962 * libgomp.h (target_mem_desc: Remove mem_map field.
963 (acc_dispatch_t): Remove open_device_func, close_device_func,
964 get_device_num_func, set_device_num_func, target_data members.
965 Change create_thread_data_func argument to device number instead of
966 generic pointer.
967 * oacc-async.c (assert.h): Include.
968 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
969 (acc_wait_all, acc_wait_all_async): Use current host thread's
970 active device, not base_dev.
971 * oacc-cuda.c (acc_get_current_cuda_device)
972 (acc_get_current_cuda_context, acc_get_cuda_stream)
973 (acc_set_cuda_stream): Likewise.
974 * oacc-host.c (host_dispatch): Don't set open_device_func,
975 close_device_func, get_device_num_func or set_device_num_func.
976 * oacc-init.c (base_dev, init_key): Remove.
977 (cached_base_dev): New.
978 (name_of_acc_device_t): New.
979 (acc_init_1): Initialise default-numbered device, not zeroth.
980 (acc_shutdown_1): Close all devices of a given type.
981 (goacc_destroy_thread): Don't use base_dev.
982 (lazy_open, lazy_init, lazy_init_and_open): Remove.
983 (goacc_attach_host_thread_to_device): New.
984 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
985 (acc_get_num_devices): Don't use base_dev.
986 (acc_set_device_type): Reimplement.
987 (acc_get_device_type): Don't use base_dev.
988 (acc_get_device_num): Tweak logic.
989 (acc_set_device_num): Likewise.
990 (acc_on_device): Use acc_get_device_type.
991 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
992 (goacc_lazy_initialize): Reimplement with acc_init and
993 goacc_attach_host_thread_to_device.
994 * oacc-int.h (goacc_thread): Add base_dev field.
995 (base_dev): Remove extern declaration.
996 (goacc_attach_host_thread_to_device): Add prototype.
997 * oacc-mem.c (acc_malloc): Use current thread's device instead of
998 base_dev.
999 (acc_free): Likewise.
1000 (acc_memcpy_to_device): Likewise.
1001 (acc_memcpy_from_device): Likewise.
1002 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
1003 goacc_lazy_initialize (throughout).
1004 (GOACC_parallel): Use tgt_offset to locate target functions.
1005 * target.c (gomp_map_vars): Don't set tgt->mem_map.
1006 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
1007 (gomp_load_plugin_for_device): Remove open_device, close_device,
1008 get_device_num, set_device_num openacc hook initialisation. Don't set
1009 openacc.target_data.
1010 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
1011 (GOMP_OFFLOAD_openacc_close_device)
1012 (GOMP_OFFLOAD_openacc_get_device_num)
1013 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
1014 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
1015 to int.
1016 * plugin/plugin-nvptx.c (ptx_inited): Remove.
1017 (instantiated_devices, ptx_dev_lock): New.
1018 (struct ptx_image_data): New.
1019 (ptx_devices, ptx_images, ptx_image_lock): New.
1020 (fini_streams_for_device): Reorder cuStreamDestroy call.
1021 (nvptx_get_num_devices): Remove forward declaration.
1022 (nvptx_init): Change return type to bool.
1023 (nvptx_fini): Remove.
1024 (nvptx_attach_host_thread_to_device): New.
1025 (nvptx_open_device): Return struct ptx_device* instead of void*.
1026 (nvptx_close_device): Change argument type to struct ptx_device*,
1027 return type to void.
1028 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
1029 (kernel_target_data, kernel_host_table): Remove static globals.
1030 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
1031 (GOMP_OFFLOAD_init_device): Reimplement.
1032 (GOMP_OFFLOAD_fini_device): Likewise.
1033 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
1034 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
1035 (GOMP_OFFLOAD_host2dev): Use ORD argument.
1036 (GOMP_OFFLOAD_openacc_open_device)
1037 (GOMP_OFFLOAD_openacc_close_device)
1038 (GOMP_OFFLOAD_openacc_set_device_num)
1039 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
1040 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
1041 (device number).
1042
1043 testsuite/
1044 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
1045
0d8c703d 10462015-04-06 Ilya Verbin <ilya.verbin@intel.com>
1047
1048 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
1049 * libgomp.h (struct gomp_memory_mapping): Remove.
1050 (struct target_mem_desc): Change type of mem_map from
1051 gomp_memory_mapping * to splay_tree_s *.
1052 (struct gomp_device_descr): Remove register_image_func, get_table_func.
1053 Add load_image_func, unload_image_func.
1054 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
1055 Remove offload_regions_registered.
1056 (gomp_init_tables): Remove.
1057 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
1058 to splay_tree_s *.
1059 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
1060 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
1061 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
1062 offload_regions_registered.
1063 Initialize load_image_func, unload_image_func, mem_map.root.
1064 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
1065 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
1066 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
1067 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
1068 gomp_memory_mapping *. Use dev's lock and splay_tree.
1069 (lookup_dev): Use dev's lock.
1070 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
1071 (acc_is_present): Likewise.
1072 (acc_map_data): Likewise.
1073 (acc_unmap_data): Likewise. Use dev's lock.
1074 (present_create_copy): Likewise.
1075 (delete_copyout): Pass dev to lookup_host instead of mem_map.
1076 (update_dev_host): Likewise.
1077 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
1078 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
1079 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
1080 (GOMP_OFFLOAD_get_table): Remove
1081 (GOMP_OFFLOAD_load_image): New function.
1082 (GOMP_OFFLOAD_unload_image): New function.
1083 * target.c (register_lock): New mutex for offload image registration.
1084 (num_devices): Do not guard with PLUGIN_SUPPORT.
1085 (gomp_realloc_unlock): New static function.
1086 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
1087 before gomp_fatal.
1088 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
1089 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
1090 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
1091 mem_map's.
1092 (gomp_unmap_vars): Likewise.
1093 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
1094 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
1095 (gomp_offload_image_to_device): New static function.
1096 (GOMP_offload_register): Add mutex lock.
1097 Call gomp_offload_image_to_device for all initialized devices.
1098 Replace gomp_realloc with gomp_realloc_unlock.
1099 (GOMP_offload_unregister): New function.
1100 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
1101 get_table_func from the plugin with calls to init_device_func and
1102 gomp_offload_image_to_device.
1103 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
1104 to splay_tree_s *.
1105 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
1106 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
1107 (GOMP_target_data): Do not call gomp_init_tables.
1108 (GOMP_target_update): Likewise. Remove argument from gomp_update.
1109 (gomp_load_plugin_for_device): Replace register_image and get_table
1110 with load_image and unload_image in DLSYM ().
1111 (gomp_register_images_for_device): Remove function.
1112 (gomp_target_init): Do not initialize current_device.mem_map.*,
1113 current_device.offload_regions_registered.
1114 Remove call to gomp_register_images_for_device.
1115 Do not free offload_images and num_offload_images.
1116
8126264b 11172015-03-30 Jakub Jelinek <jakub@redhat.com>
1118
1119 PR fortran/65597
1120 * testsuite/libgomp.fortran/pr65597.f90: New test.
1121
2a4e8fbd 11222015-03-27 Tom de Vries <tom@codesourcery.com>
1123
1124 PR testsuite/65594
1125 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
1126 (init, check): New function.
1127 (foo): Change return type to void.
1128 (main): Call init and check.
1129
7e1b4976 11302015-03-27 Tom de Vries <tom@codesourcery.com>
1131
1132 PR testsuite/65594
1133 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
1134 (foo): Use M for non-inner loops to scale down test-case.
1135
2634aed9 11362015-03-25 Kai Tietz <ktietz@redhat.com>
1137
1138 PR libgomp/64972
1139 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
1140 (GOACC_data_start): Likewise.
1141 * target.c (gomp_map_vars): Likewise.
1142
0104fd14 11432015-03-21 John David Anglin <danglin@gcc.gnu.org>
1144
1145 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
1146 hppa*-*-hpux*.
1147
1443772f 11482015-03-19 Jakub Jelinek <jakub@redhat.com>
1149
1150 * testsuite/libgomp.c/target-10.c: New test.
1151 * testsuite/libgomp.c++/target-4.C: New test.
1152
69409999 11532015-03-13 Ilya Verbin <ilya.verbin@intel.com>
1154
1155 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
1156 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
1157
a88ef88c 11582015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
1159
1160 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
1161 * configure.ac (*-*-rtems*): Assume Pthread is supported.
1162 (pthread.h): Check for this header file.
1163 * configure: Regenerate.
1164
c1f81c8b 11652015-02-25 Tom de Vries <tom@codesourcery.com>
1166
1167 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
1168 (check_reduction_op, check_reduction_macro, max, min):
1169 Declare.
1170 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
1171 function.
1172 (main): Use new functions.
1173
c6aa02c6 11742015-02-18 Ilya Tocar <ilya.tocar@intel.com>
1175
1176 * target.c (gomp_load_plugin_for_device): Use const char * instead of
1177 char * for variables holding dlerror return values.
1178 (DLSYM_OPT): Ditto.
1179
84551a30 11802015-02-17 Thomas Schwinge <thomas@codesourcery.com>
1181
1182 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
1183
f816d7a6 11842015-02-17 Thomas Schwinge <thomas@codesourcery.com>
1185 Cesar Philippidis <cesar@codesourcery.com>
1186
1187 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
1188 GOACC_ctaid, and GOACC_nctaid routines.
1189
35ff54b5 11902015-02-11 Jakub Jelinek <jakub@redhat.com>
1191
1192 PR c/64824
1193 * testsuite/libgomp.c/atomic-18.c: New test.
1194 * testsuite/libgomp.c++/atomic-16.C: New test.
1195
bbf8fbec 11962015-02-04 Jakub Jelinek <jakub@redhat.com>
1197
1198 PR c/64824
1199 PR c/64868
1200 * testsuite/libgomp.c/pr64824.c: New test.
1201 * testsuite/libgomp.c/pr64868.c: New test.
1202 * testsuite/libgomp.c++/pr64824.C: New test.
1203 * testsuite/libgomp.c++/pr64868.C: New test.
1204
167f76ed 12052015-02-01 David Edelsohn <dje.gcc@gmail.com>
1206
1207 PR libgomp/64635
1208 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
1209 Link with -lpthread.
1210 * config/aix/plugin-suffix.h: Delete.
1211
4fda895a 12122015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
1213
1214 PR libgomp/64635
1215 * configure.tgt (*-*-aix*): Use config_path "aix posix".
1216 (*-*-darwin*): Use config_path "bsd darwin posix".
1217 (*-*-hpux*): Use config_path "hpux posix".
1218 * target.c: Add include of plugin-suffix.h and use
1219 SONAME_SUFFIX macro.
1220 * config/aix/plugin-suffix.h: New file.
1221 * config/darwin/plugin-suffix.h: New file.
1222 * config/hpux/plugin-suffix.h: New file.
1223 * config/posix/plugin-suffix.h: New file.
1224
c1a114c2 12252015-01-23 Jakub Jelinek <jakub@redhat.com>
1226
1227 PR middle-end/64734
1228 * libgomp.c/pr64734.c: New test.
1229
85977647 12302015-01-23 Tom de Vries <tom@codesourcery.com>
1231
1232 PR libgomp/64672
1233 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
1234
fa175926 12352015-01-23 Tom de Vries <tom@codesourcery.com>
1236
1237 PR libgomp/64707
1238 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
1239 dg-options.
1240
dc19c8fd 12412015-01-19 Thomas Schwinge <thomas@codesourcery.com>
1242
dfa9bd43 1243 PR libgomp/64625
dc19c8fd 1244 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
1245 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
1246 formal parameter. Update all users.
1247 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
1248 Document unused formal parameter.
1249
a6f19a7c 12502015-01-16 Thomas Schwinge <thomas@codesourcery.com>
1251
1252 * oacc-parallel.c: Don't include <alloca.h>.
1253 (GOACC_parallel): Use gomp_alloca instead of alloca.
1254
59773cd9 12552015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
1256
1257 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
1258
ca4c3545 12592015-01-15 Thomas Schwinge <thomas@codesourcery.com>
1260 James Norris <jnorris@codesourcery.com>
1261 Tom de Vries <tom@codesourcery.com>
1262 Julian Brown <julian@codesourcery.com>
1263 Cesar Philippidis <cesar@codesourcery.com>
1264 Nathan Sidwell <nathan@codesourcery.com>
1265 Tobias Burnus <burnus@net-b.de>
1266
1267 * Makefile.am (search_path): Add $(top_srcdir)/../include.
1268 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
1269 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
1270 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
1271 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
1272 Include $(top_srcdir)/plugin/Makefrag.am.
1273 (nodist_libsubinclude_HEADERS): Add openacc.h.
1274 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
1275 openacc.f90, openacc.mod, openacc_kinds.mod.
1276 (omp_lib.mod): Generalize into...
1277 (%.mod): ... this new rule.
1278 (openacc_kinds.mod, openacc.mod): New rules.
1279 * plugin/configfrag.ac: New file.
1280 * configure.ac: Move plugin/offloading support into it. Include
1281 it. Instantiate testsuite/libgomp-test-support.pt.exp.
1282 * plugin/Makefrag.am: New file.
1283 * testsuite/Makefile.am (OFFLOAD_TARGETS)
1284 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
1285 export.
1286 (libgomp-test-support.exp): New rule.
1287 (all-local): Depend on it.
1288 * Makefile.in: Regenerate.
1289 * testsuite/Makefile.in: Regenerate.
1290 * config.h.in: Likewise.
1291 * configure: Likewise.
1292 * configure.tgt: Harden shell syntax.
1293 * env.c: Include "oacc-int.h".
1294 (parse_acc_device_type): New function.
1295 (gomp_debug_var, goacc_device_type, goacc_device_num): New
1296 variables.
1297 (initialize_env): Initialize those. Call
1298 goacc_runtime_initialize.
1299 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
1300 (gomp_fatal): Call gomp_vfatal.
1301 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
1302 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
1303 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
1304 (splay_tree_node, splay_tree, splay_tree_key)
1305 (struct target_mem_desc, struct splay_tree_key_s)
1306 (struct gomp_memory_mapping, struct acc_dispatch_t)
1307 (struct gomp_device_descr, gomp_acc_insert_pointer)
1308 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
1309 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
1310 (gomp_free_memmap, gomp_fini_device): New declarations.
1311 (gomp_vdebug, gomp_debug): New macros.
1312 Include "splay-tree.h".
1313 * libgomp.map (OACC_2.0): New symbol version. Use for
1314 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
1315 acc_set_device_type_h_, acc_get_device_type,
1316 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
1317 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
1318 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
1319 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
1320 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
1321 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
1322 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
1323 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
1324 acc_copyin_array_h_, acc_present_or_copyin,
1325 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
1326 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
1327 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
1328 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
1329 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
1330 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
1331 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
1332 acc_update_device, acc_update_device_32_h_,
1333 acc_update_device_64_h_, acc_update_device_array_h_,
1334 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
1335 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
1336 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
1337 acc_is_present_64_h_, acc_is_present_array_h_,
1338 acc_memcpy_to_device, acc_memcpy_from_device,
1339 acc_get_current_cuda_device, acc_get_current_cuda_context,
1340 acc_get_cuda_stream, acc_set_cuda_stream.
1341 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
1342 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
1343 GOACC_update, GOACC_wait, GOACC_get_thread_num,
1344 GOACC_get_num_threads.
1345 (GOMP_PLUGIN_1.0): New symbol version. Use for
1346 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
1347 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
1348 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
1349 GOMP_PLUGIN_acc_thread.
1350 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
1351 environment variable.
1352 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
1353 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
1354 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
1355 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
1356 (splay_tree_remove): New declarations.
1357 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
1358 (splay_tree_remove, splay_tree_lookup): Move into...
1359 * splay-tree.c: ... this new file.
1360 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
1361 (splay_tree_node, splay_tree, splay_tree_key)
1362 (struct target_mem_desc, struct splay_tree_key_s)
1363 (struct gomp_device_descr): Don't declare.
1364 (num_devices_openmp): New variable.
1365 (gomp_get_num_devices ): Use it.
1366 (gomp_init_targets_once): New function.
1367 (gomp_get_num_devices ): Use it.
1368 (get_kind, gomp_copy_from_async, gomp_free_memmap)
1369 (gomp_fini_device, gomp_register_image_for_device): New functions.
1370 (gomp_map_vars): Add devaddrs parameter.
1371 (gomp_update): Add mm parameter.
1372 (gomp_init_device): Move most of it into...
1373 (gomp_init_tables): ... this new function.
1374 (gomp_register_images_for_device): Remove function.
1375 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
1376 Make them hidden instead of static.
1377 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
1378 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
1379 (GOMP_target_end_data, GOMP_target_update)
1380 (gomp_load_plugin_for_device, gomp_target_init): Update for
1381 OpenACC changes.
1382 * oacc-async.c: New file.
1383 * oacc-cuda.c: Likewise.
1384 * oacc-host.c: Likewise.
1385 * oacc-init.c: Likewise.
1386 * oacc-int.h: Likewise.
1387 * oacc-mem.c: Likewise.
1388 * oacc-parallel.c: Likewise.
1389 * oacc-plugin.c: Likewise.
1390 * oacc-plugin.h: Likewise.
1391 * oacc-ptx.h: Likewise.
1392 * openacc.f90: Likewise.
1393 * openacc.h: Likewise.
1394 * openacc_lib.h: Likewise.
1395 * plugin/plugin-host.c: Likewise.
1396 * plugin/plugin-nvptx.c: Likewise.
1397 * libgomp-plugin.c: Likewise.
1398 * libgomp-plugin.h: Likewise.
1399 * libgomp_target.h: Remove file after merging content into the
1400 former file. Update all users.
1401 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
1402 (offload_targets_s, offload_targets_s_openacc): New variables.
1403 (check_effective_target_openacc_nvidia_accel_present)
1404 (check_effective_target_openacc_nvidia_accel_selected): New
1405 procedures.
1406 (libgomp_init): Update for OpenACC changes.
1407 * testsuite/libgomp-test-support.exp.in: New file.
1408 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1409 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1410 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1411 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
1412 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
1413 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
1414 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
1415 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
1416 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
1417 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
1418 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
1419 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
1420 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
1421 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
1422 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
1423 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
1424 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
1425 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
1426 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
1427 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
1428 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
1429 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1430 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1431 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
1432 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1433 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1434 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1435 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1436 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1437 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1438 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1439 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
1440 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
1441 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
1442 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
1443 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
1444 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
1445 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
1446 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
1447 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
1448 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1449 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
1450 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1451 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
1452 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1453 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
1454 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
1455 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1456 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
1457 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
1458 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1459 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
1460 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1461 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
1462 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
1463 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
1464 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
1465 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
1466 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1467 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
1468 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
1469 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
1470 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1471 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
1472 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
1473 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
1474 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
1475 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
1476 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
1477 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
1478 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
1479 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1480 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
1481 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1482 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
1483 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
1484 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
1485 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1486 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
1487 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
1488 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
1489 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
1490 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
1491 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1492 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1493 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
1494 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
1495 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
1496 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
1497 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
1498 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
1499 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
1500 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
1501 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
1502 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
1503 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
1504 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
1505 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
1506 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
1507 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
1508 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
1509 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
1510 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
1511 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
1512 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
1513 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
1514 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
1515 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
1516 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
1517 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
1518 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
1519 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1520 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
1521 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
1522 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
1523 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1524 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
1525 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1526 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
1527 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
1528 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
1529 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
1530 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
1531 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
1532 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
1533 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
1534 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
1535 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
1536 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
1537 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
1538 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
1539 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
1540 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
1541 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
1542 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
1543 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1544 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1545 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1546 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1547 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
1548 Likewise.
1549 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
1550 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
1551 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
1552 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
1553 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
1554 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
1555 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
1556 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1557 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1558 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1559 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1560 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1561 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1562 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
1563 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
1564 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
1565 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
1566 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
1567 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
1568 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
1569 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
1570 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
1571 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
1572 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
1573 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
1574 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
1575 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
1576 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1577 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1578 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1579 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1580 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1581 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1582 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1583 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
1584 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
1585 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
1586 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
1587 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
1588 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
1589 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
1590 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
1591 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
1592 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
1593 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
1594 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
1595 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
1596 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
1597 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1598 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
1599 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
1600 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
1601 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1602 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1603 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
1604 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
1605 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
1606 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
1607 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
1608 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
1609
c35c9a62 16102015-01-10 Thomas Schwinge <thomas@codesourcery.com>
1611 Julian Brown <julian@codesourcery.com>
1612 David Malcolm <dmalcolm@redhat.com>
1613
1614 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
1615 to "GNU Offloading and Multi Processing Runtime Library". Change
1616 all users.
1617 * configure: Regenerate.
1618 * libgomp.texi: Update.
1619
b21c795f 16202015-01-08 Thomas Schwinge <thomas@codesourcery.com>
1621
49b6c472 1622 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
1623 "$tgt_dir/lib32".
1624 * configure: Regenerate.
1625
b21c795f 1626 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
1627 "intelmic" in $offload_targets.
1628
e3afb61d 16292015-01-05 Jakub Jelinek <jakub@redhat.com>
1630
d353bf18 1631 Update copyright years.
1632
e3afb61d 1633 * libgomp.texi: Bump @copying's copyright year.
1634
a530bcf4 16352014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1636
1637 * testsuite/lib/libgomp.exp: Load target-utils.exp.
1638 Move load of target-supportes.exp earlier.
1639
67b75493 16402014-12-10 Ilya Verbin <ilya.verbin@intel.com>
1641
1642 * testsuite/libgomp.c/target-9.c: New test.
1643
4b9d11e9 16442014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
1645
1646 * config.h.in: Regenerate.
1647 * configure: Regenerate.
1648 * configure.ac: Add GCC_CHECK_EMUTLS.
1649 * libgomp.h: Add check for USE_EMUTLS: this case
1650 is equal to HAVE_TLS.
1651 * team.c: Likewise.
1652
3913f5f8 16532014-12-03 Uros Bizjak <ubizjak@gmail.com>
1654
1655 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
1656
351fb0ce 16572014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
1658 Ilya Verbin <ilya.verbin@intel.com>
1659
1660 * testsuite/libgomp.c/target-critical-1.c: New test.
1661
21ccc797 16622014-11-26 Jakub Jelinek <jakub@redhat.com>
1663
1664 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
3913f5f8 1665 to dg-options unless expensive testing is on.
21ccc797 1666 (TESTITERS): Define to N if not defined.
1667 (main): Use TESTITERS instead of N.
1668 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
1669 dg-additional-options depending on whether expensive testing is on.
1670 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
1671 Decrease N to 100000 and CHUNKSZ to 10000.
1672
5dc4d291 16732014-11-24 Jakub Jelinek <jakub@redhat.com>
1674
1675 PR fortran/63938
21ccc797 1676 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
1677 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
5dc4d291 1678
6d2b15c4 16792014-11-21 Steve Ellcey <sellcey@imgtec.com>
1680
1681 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
1682
4e8a08d4 16832014-11-21 H.J. Lu <hongjiu.lu@intel.com>
1684
1685 PR bootstrap/63784
1686 * configure: Regenerated.
1687
82e62318 16882014-11-19 Uros Bizjak <ubizjak@gmail.com>
1689
1690 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
1691 vect_simd_clones effective target.
1692 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
1693
f3d688fb 16942014-11-14 Jakub Jelinek <jakub@redhat.com>
1695
1696 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
1697 of 32 as block_size.
1698 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
1699 instead of 32 as block_size.
1700
ba0f7503 17012014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
1702 Ilya Verbin <ilya.verbin@intel.com>
1703
1704 * Makefile.in: Regenerate.
1705 * configure: Regenerate.
1706 * configure.ac: Set up offload_additional_options,
1707 offload_additional_lib_paths and offload_targets.
1708 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
1709 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
1710 * testsuite/Makefile.in: Regenerate.
1711 * testsuite/lib/libgomp.exp (libgomp_init): Append
1712 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
1713 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
1714 build directory to LD_LIBRARY_PATH for intelmic offload targets.
1715
23525216 17162014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
1717 Ilya Verbin <ilya.verbin@intel.com>
1718 Kirill Yukhin <kirill.yukhin@intel.com>
1719 Ilya Tocar <ilya.tocar@intel.com>
1720
1721 * testsuite/lib/libgomp.exp
1722 (check_effective_target_offload_device): New.
1723 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
1724 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
1725 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
1726 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
1727 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
1728 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
1729 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
1730 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
1731 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
1732 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
1733 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
1734 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
1735 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
1736 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
1737 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
1738 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
1739 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
1740 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
1741 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
1742 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
1743 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
1744 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
1745 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
1746 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
1747 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
1748 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
1749 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
1750 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
1751 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
1752 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
1753 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
1754 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
1755 * testsuite/libgomp.c/target-7.c: Fix test.
1756 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
1757 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
1758 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
1759 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
1760 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
1761 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
1762 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
1763 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
1764 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
1765 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
1766 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
1767 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
1768 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
1769 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
1770 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
1771 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
1772 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
1773 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
1774 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
1775 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
1776 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
1777 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
1778 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
1779 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
1780 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
1781 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
1782 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
1783 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
1784 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
1785 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
1786 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
1787
995b27b9 17882014-11-13 Jakub Jelinek <jakub@redhat.com>
1789 Ilya Verbin <ilya.verbin@intel.com>
1790 Thomas Schwinge <thomas@codesourcery.com>
1791 Andrey Turetskiy <andrey.turetskiy@intel.com>
1792
1793 * libgomp.map (GOMP_4.0.1): New symbol version.
1794 Add GOMP_offload_register.
1795 * libgomp_target.h: New file.
1796 * splay-tree.h: New file.
1797 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
1798 (gomp_target_init): New forward declaration.
1799 (gomp_is_initialized): New static variable.
1800 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
1801 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
1802 New structures.
1803 (offload_images, num_offload_images, devices, num_devices): New static
1804 variables.
1805 (splay_compare): New static function.
1806 (struct gomp_device_descr): New structure.
1807 (gomp_get_num_devices): Call gomp_target_init.
1808 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
1809 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
1810 (GOMP_offload_register): New function.
1811 (GOMP_target): Arrange for host callback to be performed in a separate
1812 initial thread and contention group, inheriting ICVs from
1813 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
1814 Add device initialization and lookup for target function in splay tree.
1815 (GOMP_target_data): Add device initialization and call gomp_map_vars.
1816 (GOMP_target_end_data): Call gomp_unmap_vars.
1817 (GOMP_target_update): Add device initialization and call gomp_update.
1818 (gomp_load_plugin_for_device, gomp_register_images_for_device)
1819 (gomp_target_init): New static functions.
1820
a3d93be3 18212014-11-13 Bernd Schmidt <bernds@codesourcery.com>
1822 Thomas Schwinge <thomas@codesourcery.com>
1823 Ilya Verbin <ilya.verbin@intel.com>
1824 Andrey Turetskiy <andrey.turetskiy@intel.com>
1825
1826 * config.h.in: Regenerate.
1827 * configure: Regenerate.
1828 * configure.ac: Check for libdl, required for plugin support.
1829 (PLUGIN_SUPPORT): Define if plugins are supported.
1830 (enable_offload_targets): Support Intel MIC targets.
1831 (OFFLOAD_TARGETS): List of target names suitable for offloading.
1832
7c407808 18332014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
1834
1835 PR target/63610
1836 * configure: Regenerate.
1837
08344fc7 18382014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1839
1840 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
1841
542ae458 18422014-10-06 Marek Polacek <polacek@redhat.com>
1843
1844 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
1845 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
1846 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
1847 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1848
58ff907a 18492014-10-06 Marek Polacek <polacek@redhat.com>
1850
1851 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
1852 * testsuite/libgomp.c/nqueens-1.c: Likewise.
1853 * testsuite/libgomp.c/pr26943-3.c: Likewise.
1854 * testsuite/libgomp.c/pr26943-4.c: Likewise.
1855 * testsuite/libgomp.c/pr36802-2.c: Likewise.
1856 * testsuite/libgomp.c/pr36802-3.c: Likewise.
1857 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
1858 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
1859 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
1860 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
1861 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
1862 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
1863 * testsuite/libgomp.c/omp-single-1.c: Likewise.
1864 * testsuite/libgomp.c/omp-single-2.c: Likewise.
1865 * testsuite/libgomp.c/omp_matvec.c: Likewise.
1866 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
1867 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
1868 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
1869 declarations.
1870
37eaded9 18712014-10-03 Jakub Jelinek <jakub@redhat.com>
1872
1873 PR libgomp/61200
1874 * testsuite/libgomp.c/pr61200.c: New test.
1875
66579ffa 18762014-09-18 Jakub Jelinek <jakub@redhat.com>
1877
1878 PR c++/63248
1879 * testsuite/libgomp.c++/pr63248.C: New test.
1880
f2c1add2 18812014-08-04 Jakub Jelinek <jakub@redhat.com>
1882
1883 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
1884 is not zero, but taskgroup->children is NULL and there are
1885 any task->children, schedule those instead of waiting.
1886 * testsuite/libgomp.c/depend-6.c: New test.
1887 * testsuite/libgomp.c/depend-7.c: New test.
1888 * testsuite/libgomp.c/depend-8.c: New test.
1889 * testsuite/libgomp.c/depend-9.c: New test.
1890 * testsuite/libgomp.c/depend-10.c: New test.
1891
96013422 18922014-08-01 Jakub Jelinek <jakub@redhat.com>
1893
1894 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
1895 (struct gomp_taskwait): New type.
1896 (struct gomp_task): Add taskwait and parent_depends_on, remove
1897 in_taskwait and taskwait_sem fields.
1898 (gomp_finish_task): Don't destroy taskwait_sem.
1899 * task.c (gomp_init_task): Don't init in_taskwait, instead init
1900 taskwait and parent_depends_on.
1901 (GOMP_task): For if (0) tasks with depend clause that depend on
1902 earlier tasks don't defer them, instead call
1903 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
1904 Initialize redundant_out field, for redundant out entries just
1905 move them at the end of linked list instead of removing them
1906 completely, and set redundant_out flag instead of redundant.
1907 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
1908 that task.
1909 (gomp_task_run_post_handle_dependers): If parent is in
1910 gomp_task_maybe_wait_for_dependencies and newly runnable task
1911 is not parent_depends_on, queue it in parent->children linked
1912 list after all runnable tasks with parent_depends_on set.
1913 Adjust for addition of taskwait indirection.
1914 (gomp_task_run_post_remove_parent): If parent is in
1915 gomp_task_maybe_wait_for_dependencies and task to be removed
1916 is parent_depends_on, decrement n_depend and if needed awake
1917 parent. Adjust for addition of taskwait indirection.
1918 (GOMP_taskwait): Adjust for addition of taskwait indirection.
1919 (gomp_task_maybe_wait_for_dependencies): New function.
1920 * testsuite/libgomp.c/depend-5.c: New test.
1921
fd838190 19222014-07-13 Tobias Burnus <burnus@net-b.de>
1923
1924 * testsuite/libgomp.fortran/pr34020.f90: Make compile
96013422 1925 with TS 18508/Fortran 2015.
fd838190 1926
87d59e72 19272014-07-06 Marek Polacek <polacek@redhat.com>
1928
1929 PR c/6940
1930 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
1931
68e4cca1 19322014-07-03 Jakub Jelinek <jakub@redhat.com>
1933
1934 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
1935 matches regex $lang_source_re, add $lang_include_flags to options.
1936 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
1937 * testsuite/libgomp.c++/c++.exp: Likewise.
1938 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
1939 and lang_include_flags instead of adding -fintrinsic-modules-path= to
1940 ALWAYS_CFLAGS.
1941 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
1942
2cfc6258 19432014-07-03 Thomas Schwinge <thomas@codesourcery.com>
1944
1945 * testsuite/libgomp.fortran/fortran.exp: Explain
1946 gfortran-dg-runtest usage.
1947
9580cb79 19482014-06-25 Jakub Jelinek <jakub@redhat.com>
1949
1950 * testsuite/libgomp.fortran/simd5.f90: New test.
1951 * testsuite/libgomp.fortran/simd6.f90: New test.
1952 * testsuite/libgomp.fortran/simd7.f90: New test.
1953
c3f3b68d 19542014-06-24 Jakub Jelinek <jakub@redhat.com>
1955
e471cc6f 1956 * testsuite/libgomp.c/for-2.c: Define SC to static for
1957 #pragma omp for simd testing.
1958 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
1959 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
1960 SC macro.
1961 * testsuite/libgomp.c/simd-14.c: New test.
1962 * testsuite/libgomp.c/simd-15.c: New test.
1963 * testsuite/libgomp.c/simd-16.c: New test.
1964 * testsuite/libgomp.c/simd-17.c: New test.
1965 * testsuite/libgomp.c++/for-10.C: Define SC to static for
1966 #pragma omp for simd testing.
1967 * testsuite/libgomp.c++/simd10.C: New test.
1968 * testsuite/libgomp.c++/simd11.C: New test.
1969 * testsuite/libgomp.c++/simd12.C: New test.
1970 * testsuite/libgomp.c++/simd13.C: New test.
1971
c3f3b68d 1972 * testsuite/libgomp.fortran/aligned1.f03: New test.
1973 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
1974 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
1975 tasks with !$omp parallel !$omp single.
1976 * testsuite/libgomp.fortran/target8.f90: New test.
1977 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
1978 not to use trim in the combiner, instead call elemental function.
1979 (fn): New elemental function.
1980 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
1981 Make elemental.
1982 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
1983 omp_in): Likewise.
1984 * testsuite/libgomp.fortran/udr12.f90: New test.
1985 * testsuite/libgomp.fortran/udr13.f90: New test.
1986 * testsuite/libgomp.fortran/udr14.f90: New test.
1987 * testsuite/libgomp.fortran/udr15.f90: New test.
1988
691447ab 19892014-06-18 Jakub Jelinek <jakub@redhat.com>
1990
1991 * omp_lib.f90.in (openmp_version): Set to 201307.
1992 * omp_lib.h.in (openmp_version): Likewise.
1993 * testsuite/libgomp.c/target-8.c: New test.
1994 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
1995 and inbranch clauses.
1996 * testsuite/libgomp.fortran/depend-3.f90: New test.
1997 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
1998 openmp_version.
1999 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2000 * testsuite/libgomp.fortran/target1.f90: New test.
2001 * testsuite/libgomp.fortran/target2.f90: New test.
2002 * testsuite/libgomp.fortran/target3.f90: New test.
2003 * testsuite/libgomp.fortran/target4.f90: New test.
2004 * testsuite/libgomp.fortran/target5.f90: New test.
2005 * testsuite/libgomp.fortran/target6.f90: New test.
2006 * testsuite/libgomp.fortran/target7.f90: New test.
2007
cf5f881f 20082014-06-10 Jakub Jelinek <jakub@redhat.com>
2009
2010 PR fortran/60928
2011 * testsuite/libgomp.fortran/allocatable9.f90: New test.
2012 * testsuite/libgomp.fortran/allocatable10.f90: New test.
2013 * testsuite/libgomp.fortran/allocatable11.f90: New test.
2014 * testsuite/libgomp.fortran/allocatable12.f90: New test.
2015 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
2016 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
2017 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
2018 * testsuite/libgomp.fortran/associate1.f90: New test.
2019 * testsuite/libgomp.fortran/associate2.f90: New test.
2020 * testsuite/libgomp.fortran/procptr1.f90: New test.
2021
b14b82d9 20222014-06-06 Jakub Jelinek <jakub@redhat.com>
2023
2024 * testsuite/libgomp.fortran/simd1.f90: New test.
2025 * testsuite/libgomp.fortran/udr1.f90: New test.
2026 * testsuite/libgomp.fortran/udr2.f90: New test.
2027 * testsuite/libgomp.fortran/udr3.f90: New test.
2028 * testsuite/libgomp.fortran/udr4.f90: New test.
2029 * testsuite/libgomp.fortran/udr5.f90: New test.
2030 * testsuite/libgomp.fortran/udr6.f90: New test.
2031 * testsuite/libgomp.fortran/udr7.f90: New test.
2032 * testsuite/libgomp.fortran/udr8.f90: New test.
2033 * testsuite/libgomp.fortran/udr9.f90: New test.
2034 * testsuite/libgomp.fortran/udr10.f90: New test.
2035 * testsuite/libgomp.fortran/udr11.f90: New test.
2036
cfcab6d7 20372014-05-27 Uros Bizjak <ubizjak@gmail.com>
2038
2039 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
2040 vect_simd_clones effective target.
2041 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
2042
2712b6de 20432014-05-21 Jakub Jelinek <jakub@redhat.com>
2044
2045 PR middle-end/61252
2046 * testsuite/libgomp.c++/simd-9.C: New test.
2047
3220a34d 20482014-05-18 Uros Bizjak <ubizjak@gmail.com>
2049
2050 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
2051 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
2052 texts according to their @menu entry positions.
2053
15b28553 20542014-05-11 Jakub Jelinek <jakub@redhat.com>
2055
2056 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
2057 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
2058 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
2059 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
2060 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
2061 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
2062 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
2063 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
2064 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
2065 * testsuite/libgomp.fortran/depend-1.f90: New test.
2066 * testsuite/libgomp.fortran/depend-2.f90: New test.
2067 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
2068 * testsuite/libgomp.fortran/simd1.f90: New test.
2069 * testsuite/libgomp.fortran/simd2.f90: New test.
2070 * testsuite/libgomp.fortran/simd3.f90: New test.
2071 * testsuite/libgomp.fortran/simd4.f90: New test.
2072 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
2073
9d172013 20742014-05-02 Jakub Jelinek <jakub@redhat.com>
2075
2076 * testsuite/libgomp.c/simd-10.c: New test.
2077 * testsuite/libgomp.c/simd-11.c: New test.
2078 * testsuite/libgomp.c/simd-12.c: New test.
2079 * testsuite/libgomp.c/simd-13.c: New test.
2080
2b536a17 20812014-04-24 Jakub Jelinek <jakub@redhat.com>
2082
e1029911 2083 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
2084 atomic type clauses in any order and optional comma in between.
2085 * testsuite/libgomp.c++/atomic-15.C: Likewise.
2086 * testsuite/libgomp.c/atomic-17.c: Likewise.
2087
2b536a17 2088 * testsuite/libgomp.c/simd-7.c: New test.
2089 * testsuite/libgomp.c/simd-8.c: New test.
2090 * testsuite/libgomp.c/simd-9.c: New test.
2091 * testsuite/libgomp.c/loop-16.c: New test.
2092
15129d8a 20932014-04-02 Richard Henderson <rth@redhat.com>
2094
2095 * config/linux/futex.h (futex_wait): Get error value from errno.
2096 (futex_wake): Likewise.
2097
de48ad32 20982014-03-25 Jakub Jelinek <jakub@redhat.com>
2099
2100 PR c++/60331
2101 * testsuite/libgomp.c++/udr-11.C: New test.
2102 * testsuite/libgomp.c++/udr-12.C: New test.
2103 * testsuite/libgomp.c++/udr-13.C: New test.
2104 * testsuite/libgomp.c++/udr-14.C: New test.
2105 * testsuite/libgomp.c++/udr-15.C: New test.
2106 * testsuite/libgomp.c++/udr-16.C: New test.
2107 * testsuite/libgomp.c++/udr-17.C: New test.
2108 * testsuite/libgomp.c++/udr-18.C: New test.
2109 * testsuite/libgomp.c++/udr-19.C: New test.
2110
a942eb53 21112014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2112
2113 Update copyright years
2114
e4f22041 21152014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
2116
2117 * hashtab.h: Use the standard form for the copyright notice.
2118
d67510b9 21192014-01-02 Tobias Burnus <burnus@net-b.de>
2120
2121 * libgomp.texi: Bump @copying's copyright year.
2122
17587b2a 21232013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
2124
2125 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
2126 alloca () with __builtin_alloca ().
2127 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
2128 * testsuite/libgomp.c/lock-3.c: Likewise.
2129 * testsuite/libgomp.c/pr48591.c: Likewise.
2130
6eba44a7 21312013-12-17 Jakub Jelinek <jakub@redhat.com>
2132
2133 PR testsuite/59534
2134 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
2135 comparisons.
2136
c22ad515 21372013-12-16 Jakub Jelinek <jakub@redhat.com>
2138
2139 PR libgomp/58756
2140 * testsuite/libgomp.c/pr58756.c: New test.
2141
b45e536e 21422013-12-12 Jakub Jelinek <jakub@redhat.com>
2143
2144 PR libgomp/59467
2145 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
2146 !$omp parallel.
2147
4d07f291 21482013-11-07 Thomas Schwinge <thomas@codesourcery.com>
2149
79e1d4fb 2150 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
2151 ALWAYS_CFLAGS.
2152 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
2153 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
2154 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
2155 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
2156 Likewise.
2157
e1417b50 2158 * libgomp_g.h: Include <stddef.h> for size_t.
2159
4d07f291 2160 * libgomp.spec.in: Update comment about libgomp's dependencies.
2161 * configure.ac: Likewise.
2162 * configure: Regenerate.
2163
d9338249 21642013-10-16 Tobias Burnus <burnus@net-b.de>
2165
2166 * libgomp.texi: (Runtime Library Routines): Update references for
2167 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
2168 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
2169 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
2170 (Environment Variables): Update references for OpenMP 4.0. Add
2171 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
2172 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
2173 order.
2174
849b08ac 21752013-10-14 Jakub Jelinek <jakub@redhat.com>
2176
2177 * env.c (parse_bind_var): Initialize value to avoid
2178 (false positive) warning.
2179
4892de53 21802013-10-12 Jakub Jelinek <jakub@redhat.com>
2181
2182 PR libgomp/58691
2183 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
2184 to check variable.
2185 (gomp_init_num_threads): Move i variable declaration into
2186 #ifdef CPU_ALLOC_SIZE block.
2187 * config/linux/affinity.c (gomp_affinity_init_level): Test
2188 gomp_places_list_len == 0 rather than gomp_places_list == 0
2189 when checking for topology reading error.
2190 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
2191 * env.c (parse_affinity): Add ignore argument, if true, don't populate
2192 gomp_places_list, only parse env var and always return false.
2193 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
2194 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
2195 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
2196 and either of these variables were parsed correctly into a places
2197 list.
2198
5fb52163 21992013-10-11 Thomas Schwinge <thomas@codesourcery.com>
2200 Jakub Jelinek <jakub@redhat.com>
2201
2202 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
2203 of 5 loopfn matches.
2204 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
2205 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
2206 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
2207 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
2208 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
2209 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
2210 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
2211 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
2212
6bdfe4ab 22132013-10-11 Thomas Schwinge <thomas@codesourcery.com>
2214
b2f39dcb 2215 * Makefile.am (omp_lib.mod): Streamline rule.
2216 * Makefile.in: Regenerate.
2217
23caa0d6 2218 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
2219 exceptions.
2220
fe3e2178 2221 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
2222 * testsuite/libgomp.fortran/lib1.f90: Likewise.
2223 * testsuite/libgomp.fortran/lib2.f: Likewise.
2224 * testsuite/libgomp.fortran/lib3.f: Likewise.
2225
edb5e609 2226 * configure.ac: Typo fix.
2227 * configure: Regenerate.
2228
20e0f070 2229 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
2230 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2231
6bdfe4ab 2232 * omp.h.in: Don't touch the user's namespace.
2233
bc7bff74 22342013-10-11 Jakub Jelinek <jakub@redhat.com>
2235 Tobias Burnus <burnus@net-b.de>
2236 Richard Henderson <rth@redhat.com>
2237
2238 * target.c: New file.
2239 * Makefile.am (libgomp_la_SOURCES): Add target.c.
2240 * Makefile.in: Regenerated.
2241 * libgomp_g.h (GOMP_task): Add depend argument.
2242 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
2243 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
2244 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
2245 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
2246 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
2247 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
2248 GOMP_taskgroup_start, GOMP_taskgroup_end,
2249 GOMP_parallel_sections): New prototypes.
2250 * fortran.c (omp_is_initial_device): Add ialias_redirect.
2251 (omp_is_initial_device_): New function.
2252 (ULP, STR1, STR2, ialias_redirect): Removed.
2253 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
2254 omp_set_default_device_8_, omp_get_default_device_,
2255 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
2256 functions.
2257 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
2258 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
2259 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
2260 @@GOMP_4.0.
2261 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
2262 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
2263 omp_set_default_device, omp_set_default_device_,
2264 omp_set_default_device_8_, omp_get_default_device,
2265 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
2266 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
2267 omp_get_team_num_): Export @@OMP_4.0.
2268 * team.c (struct gomp_thread_start_data): Add place field.
2269 (gomp_thread_start): Clear thr->thread_pool and
2270 thr->task before returning. Use gomp_team_barrier_wait_final
2271 instead of gomp_team_barrier_wait. Initialize thr->place.
2272 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
2273 team_cancelled and task_queued_count fields.
2274 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
2275 before calling pthread_exit.
2276 (gomp_free_thread): No longer static. Use
2277 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
2278 (gomp_team_start): Add flags argument. Set
2279 thr->thread_pool->threads_busy to nthreads immediately after creating
2280 new pool. Use gomp_managed_threads_lock instead of
2281 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
2282 (gomp_team_end): Use gomp_managed_threads_lock instead of
2283 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
2284 of gomp_team_barrier_wait. If team->team_cancelled, call
2285 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
2286 rather than thr->ts.work_share.
2287 (initialize_team): Don't call gomp_sem_init here.
2288 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
2289 caller.
2290 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
2291 * env.c (gomp_global_icv): Add default_device_var, target_data and
2292 bind_var initializers.
2293 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
2294 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
2295 gomp_places_list_len): New variables.
2296 (parse_bind_var, parse_one_place, parse_places_var): New functions.
2297 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
2298 sized places.
2299 (gomp_cancel_var): New global variable.
2300 (parse_int): New function.
2301 (handle_omp_display_env): New function.
2302 (initialize_env): Use it. Initialize default_device_var.
2303 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
2304 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
2305 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
2306 been successfully parsed (and call gomp_init_affinity in that case).
2307 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
2308 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
2309 omp_get_team_num, omp_is_initial_device): New functions.
2310 * libgomp.h: Include stdlib.h.
2311 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
2312 Define.
2313 (struct target_mem_desc): Forward declare.
2314 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
2315 and thread_limit_var fields.
2316 (gomp_get_num_devices): New prototype.
2317 (gomp_cancel_var): New extern decl.
2318 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
2319 team_cancelled and task_queued_count fields. Add comments about
2320 task_{,queued_,running_}count.
2321 (gomp_cancel_kind): New enum.
2322 (gomp_work_share_end_cancel): New prototype.
2323 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
2324 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
2325 and depend fields.
2326 (struct gomp_taskgroup): New type.
2327 (struct gomp_task_depend_entry,
2328 struct gomp_dependers_vec): New types.
2329 (gomp_finish_task): Free depend_hash if non-NULL.
2330 (struct gomp_team_state): Add place_partition_off
2331 and place_partition_len fields.
2332 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
2333 gomp_places_list_len): New extern decls.
2334 (struct gomp_thread): Add place field.
2335 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
2336 (gomp_init_thread_affinity): Add place argument.
2337 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
2338 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
2339 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
2340 gomp_affinity_init_level, gomp_affinity_print_place): New
2341 prototypes.
2342 (gomp_team_start): Add flags argument.
2343 (gomp_thread_limit_var, gomp_remaining_threads_count,
2344 gomp_remaining_threads_lock): Remove.
2345 (gomp_managed_threads_lock): New variable.
2346 (struct gomp_thread_pool): Add threads_busy field.
2347 (gomp_free_thread): New prototype.
2348 * task.c: Include hashtab.h.
2349 (hash_entry_type): New typedef.
2350 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
2351 (gomp_init_task): Clear dependers, depend_hash, depend_count,
2352 copy_ctors_done and taskgroup fields.
2353 (GOMP_task): Add depend argument, handle depend clauses. If
2354 gomp_team_barrier_cancelled or if it's taskgroup has been
2355 cancelled, don't queue or start new tasks. Set copy_ctors_done
2356 field if needed. Initialize taskgroup field. If copy_ctors_done
2357 and already cancelled, don't discard the task. If taskgroup is
2358 non-NULL, enqueue the task into taskgroup queue. Increment
2359 num_children field in taskgroup. Increment task_queued_count.
2360 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
2361 gomp_task_run_post_remove_taskgroup): New inline functions.
2362 (gomp_task_run_post_handle_depend_hash,
2363 gomp_task_run_post_handle_dependers,
2364 gomp_task_run_post_handle_depend): New functions.
2365 (GOMP_taskwait): Use them. If more than one new tasks
2366 have been queued, wake other threads if needed.
2367 (gomp_barrier_handle_tasks): Likewise. If
2368 gomp_team_barrier_cancelled, don't start any new tasks, just free
2369 all tasks.
2370 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
2371 * omp_lib.f90.in
2372 (omp_proc_bind_kind, omp_proc_bind_false,
2373 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
2374 omp_proc_bind_spread): New params.
2375 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
2376 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
2377 omp_get_team_num, omp_is_initial_device): New interfaces.
2378 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
2379 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
2380 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
2381 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
2382 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
2383 useless use omp_lib_kinds.
2384 * omp.h.in (omp_proc_bind_t): New typedef.
2385 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
2386 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
2387 omp_get_team_num, omp_is_initial_device): New prototypes.
2388 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
2389 through to gomp_team_start.
2390 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
2391 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
2392 Adjust gomp_parallel_loop_start callers.
2393 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
2394 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
2395 GOMP_loop_end_cancel): New functions.
2396 (GOMP_parallel_end): Add ialias_redirect.
2397 * hashtab.h: New file.
2398 * libgomp.texi (Environment Variables): Minor cleanup,
2399 update section refs to OpenMP 4.0rc2.
2400 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
2401 environment variables.
2402 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
2403 team->work_shares_to_free to thr->ts.work_share before calling
2404 free_work_share.
2405 (gomp_work_share_end_cancel): New function.
2406 * config/linux/proc.c: Include errno.h.
2407 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
2408 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
2409 sizeof (cpu_set_t) to determine number of iterations. Fix up check
2410 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
2411 gomp_cpuset_size is sizeof (cpu_set_t).
2412 (gomp_init_num_threads): Initialize gomp_cpuset_size,
2413 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
2414 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
2415 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
2416 contain any logical CPUs.
2417 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
2418 is NULL. Use gomp_cpusetp instead of &cpuset and pass
2419 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
2420 pthread_getaffinity_np. Check gomp_places_list instead of
2421 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
2422 * config/linux/bar.c (gomp_barrier_wait_end,
2423 gomp_barrier_wait_last): Use BAR_* defines.
2424 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
2425 from state where needed. Set work_share_cancelled to 0 on last
2426 thread.
2427 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
2428 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
2429 functions.
2430 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
2431 Add cpusetsize argument.
2432 (gomp_cpuset_size, gomp_cpusetp): Declare.
2433 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
2434 (affinity_counter): Remove.
2435 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
2436 if CPU_ALLOC_SIZE isn't defined.
2437 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
2438 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
2439 bind current thread to the first place.
2440 (gomp_init_thread_affinity): Rewritten. Add place argument, just
2441 pthread_setaffinity_np to gomp_places_list[place].
2442 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
2443 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
2444 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
2445 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
2446 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
2447 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
2448 (gomp_barrier_t): Add awaited_final field.
2449 (gomp_barrier_init): Initialize awaited_final field.
2450 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
2451 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
2452 prototypes.
2453 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
2454 defines.
2455 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
2456 gomp_team_barrier_cancelled): New inline functions.
2457 (gomp_barrier_last_thread,
2458 gomp_team_barrier_set_task_pending,
2459 gomp_team_barrier_clear_task_pending,
2460 gomp_team_barrier_set_waiting_for_tasks,
2461 gomp_team_barrier_waiting_for_tasks,
2462 gomp_team_barrier_done): Use BAR_* defines.
2463 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
2464 (gomp_barrier_wait_end): Use BAR_* defines.
2465 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
2466 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
2467 Use BAR_* defines.
2468 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
2469 gomp_team_barrier_cancel): New functions.
2470 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
2471 argument.
2472 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
2473 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
2474 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
2475 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
2476 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
2477 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
2478 (gomp_barrier_t): Add cancellable field.
2479 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
2480 gomp_team_barrier_cancel): New prototypes.
2481 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
2482 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
2483 gomp_team_barrier_cancelled): New inline functions.
2484 (gomp_barrier_wait_start, gomp_barrier_last_thread,
2485 gomp_team_barrier_set_task_pending,
2486 gomp_team_barrier_clear_task_pending,
2487 gomp_team_barrier_set_waiting_for_tasks,
2488 gomp_team_barrier_waiting_for_tasks,
2489 gomp_team_barrier_done): Use BAR_* defines.
2490 * barrier.c (GOMP_barrier_cancel): New function.
2491 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
2492 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
2493 omp_proc_bind_spread): New params.
2494 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
2495 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
2496 omp_get_team_num, omp_is_initial_device): New externals.
2497 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
2498 New functions.
2499 (gomp_resolve_num_threads): Adjust for thread_limit now being in
2500 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
2501 infinity. If not nested, just return minimum of max_num_threads
2502 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
2503 to the returned value. Otherwise, don't update atomically
2504 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
2505 (GOMP_parallel_end): Adjust for thread_limit now being in
2506 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
2507 infinity. Adjust threads_busy in the pool rather than
2508 gomp_remaining_threads_count. Remember team->nthreads and call
2509 gomp_team_end before adjusting threads_busy, if not nested
2510 afterwards, just set it to 1 non-atomically. Add ialias.
2511 (GOMP_parallel_start): Adjust gomp_team_start caller.
2512 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
2513 * testsuite/libgomp.c/affinity-1.c: New test.
2514 * testsuite/libgomp.c/atomic-15.c: New test.
2515 * testsuite/libgomp.c/atomic-16.c: New test.
2516 * testsuite/libgomp.c/atomic-17.c: New test.
2517 * testsuite/libgomp.c/cancel-for-1.c: New test.
2518 * testsuite/libgomp.c/cancel-for-2.c: New test.
2519 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
2520 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
2521 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
2522 * testsuite/libgomp.c/cancel-sections-1.c: New test.
2523 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
2524 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
2525 * testsuite/libgomp.c/depend-1.c: New test.
2526 * testsuite/libgomp.c/depend-2.c: New test.
2527 * testsuite/libgomp.c/depend-3.c: New test.
2528 * testsuite/libgomp.c/depend-4.c: New test.
2529 * testsuite/libgomp.c/for-1.c: New test.
2530 * testsuite/libgomp.c/for-1.h: New file.
2531 * testsuite/libgomp.c/for-2.c: New test.
2532 * testsuite/libgomp.c/for-2.h: New file.
2533 * testsuite/libgomp.c/for-3.c: New test.
2534 * testsuite/libgomp.c/pr58392.c: New test.
2535 * testsuite/libgomp.c/simd-1.c: New test.
2536 * testsuite/libgomp.c/simd-2.c: New test.
2537 * testsuite/libgomp.c/simd-3.c: New test.
2538 * testsuite/libgomp.c/simd-4.c: New test.
2539 * testsuite/libgomp.c/simd-5.c: New test.
2540 * testsuite/libgomp.c/simd-6.c: New test.
2541 * testsuite/libgomp.c/target-1.c: New test.
2542 * testsuite/libgomp.c/target-2.c: New test.
2543 * testsuite/libgomp.c/target-3.c: New test.
2544 * testsuite/libgomp.c/target-4.c: New test.
2545 * testsuite/libgomp.c/target-5.c: New test.
2546 * testsuite/libgomp.c/target-6.c: New test.
2547 * testsuite/libgomp.c/target-7.c: New test.
2548 * testsuite/libgomp.c/taskgroup-1.c: New test.
2549 * testsuite/libgomp.c/thread-limit-1.c: New test.
2550 * testsuite/libgomp.c/thread-limit-2.c: New test.
2551 * testsuite/libgomp.c/thread-limit-3.c: New test.
2552 * testsuite/libgomp.c/udr-1.c: New test.
2553 * testsuite/libgomp.c/udr-2.c: New test.
2554 * testsuite/libgomp.c/udr-3.c: New test.
2555 * testsuite/libgomp.c++/affinity-1.C: New test.
2556 * testsuite/libgomp.c++/atomic-10.C: New test.
2557 * testsuite/libgomp.c++/atomic-11.C: New test.
2558 * testsuite/libgomp.c++/atomic-12.C: New test.
2559 * testsuite/libgomp.c++/atomic-13.C: New test.
2560 * testsuite/libgomp.c++/atomic-14.C: New test.
2561 * testsuite/libgomp.c++/atomic-15.C: New test.
2562 * testsuite/libgomp.c++/cancel-for-1.C: New test.
2563 * testsuite/libgomp.c++/cancel-for-2.C: New test.
2564 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
2565 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
2566 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
2567 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
2568 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
2569 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
2570 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
2571 * testsuite/libgomp.c++/cancel-test.h: New file.
2572 * testsuite/libgomp.c++/for-9.C: New test.
2573 * testsuite/libgomp.c++/for-10.C: New test.
2574 * testsuite/libgomp.c++/for-11.C: New test.
2575 * testsuite/libgomp.c++/simd-1.C: New test.
2576 * testsuite/libgomp.c++/simd-2.C: New test.
2577 * testsuite/libgomp.c++/simd-3.C: New test.
2578 * testsuite/libgomp.c++/simd-4.C: New test.
2579 * testsuite/libgomp.c++/simd-5.C: New test.
2580 * testsuite/libgomp.c++/simd-6.C: New test.
2581 * testsuite/libgomp.c++/simd-7.C: New test.
2582 * testsuite/libgomp.c++/simd-8.C: New test.
2583 * testsuite/libgomp.c++/target-1.C: New test.
2584 * testsuite/libgomp.c++/target-2.C: New test.
2585 * testsuite/libgomp.c++/target-2-aux.cc: New file.
2586 * testsuite/libgomp.c++/target-3.C: New test.
2587 * testsuite/libgomp.c++/taskgroup-1.C: New test.
2588 * testsuite/libgomp.c++/udr-1.C: New test.
2589 * testsuite/libgomp.c++/udr-2.C: New test.
2590 * testsuite/libgomp.c++/udr-3.C: New test.
2591 * testsuite/libgomp.c++/udr-4.C: New test.
2592 * testsuite/libgomp.c++/udr-5.C: New test.
2593 * testsuite/libgomp.c++/udr-6.C: New test.
2594 * testsuite/libgomp.c++/udr-7.C: New test.
2595 * testsuite/libgomp.c++/udr-8.C: New test.
2596 * testsuite/libgomp.c++/udr-9.C: New test.
2597
ca9c8f8a 25982013-09-20 Jakub Jelinek <jakub@redhat.com>
2599
2600 PR testsuite/57605
2601 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
2602 ALWAYS_CFLAGS.
2603
9613c003 26042013-09-20 Alan Modra <amodra@gmail.com>
2605
2606 * configure: Regenerate.
2607
39cb6d68 26082013-09-19 Jakub Jelinek <jakub@redhat.com>
2609
2610 * testsuite/libgomp.c/sections-2.c: New test.
2611
756fea72 26122013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
2613
2614 * testsuite/libgomp.fortran/strassen.f90:
2615 Add dg-skip-if aarch64_tiny.
2616
eab47c61 26172013-06-20 Iain Sandoe <iain@codesourcery.com>
2618 Cesar Philippidis <cesar@codesourcery.com>
2619
2620 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
2621 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
2622 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
2623 * testsuite/libgomp.fortran/fortran.exp: Likewise.
2624 * testsuite/libgomp.graphite/graphite.exp: Likewise.
2625 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
2626 Use dg-runtest rather than gfortran-dg-runtest.
2627
2c27bea9 26282013-06-10 Thomas Schwinge <thomas@codesourcery.com>
2629
2630 * testsuite/libgomp.c/icv-2.c: Extend current handling of
2631 Linux-based x86 systems to cover all GNU systems.
2632 * testsuite/libgomp.c/lock-3.c: Likewise.
2633 * testsuite/libgomp.c/pr48591.c: Likewise.
2634
6731634d 26352013-06-06 Thomas Schwinge <thomas@codesourcery.com>
2636
3a930d3f 2637 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
2638 GNU/Hurd, as done for Linux-based systems.
2639
6731634d 2640 * config/posix/ptrlock.h: Fix comment.
2641
0479dc77 26422013-05-27 Tobias Burnus <burnus@net-b.de>
2643
2644 PR fortran/57423
2645 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
2646 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
2647 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
2648 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
2649 omp_destroy_nest_lock): Correct arguments to match the one in
2650 the OpenMP spec.
2651 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
2652 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
2653 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
2654 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
2655
8e6b4515 26562013-05-16 Jakub Jelinek <jakub@redhat.com>
2657
2658 * testsuite/libgomp.c/loop-13.c: New test.
2659 * testsuite/libgomp.c/loop-14.c: New test.
2660 * testsuite/libgomp.c/loop-15.c: New test.
2661 * testsuite/libgomp.c++/loop-13.C: New test.
2662 * testsuite/libgomp.c++/loop-14.C: New test.
2663 * testsuite/libgomp.c++/loop-15.C: New test.
2664
b8214689 26652013-02-06 Jakub Jelinek <jakub@redhat.com>
2666
2667 PR middle-end/56217
2668 * testsuite/libgomp.c++/pr56217.C: New test.
2669
2d46e4b9 26702013-02-01 Alan Modra <amodra@gmail.com>
2671
2672 * task.c (GOMP_task, GOMP_taskwait): Comment.
2673
29416343 26742013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
2675 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
2676
2677 PR libgomp/55561
2678 * config/linux/wait.h (do_spin): Use atomic load for addr.
2679 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
2680 for intptr and ptrlock.
2681 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
2682 for ptrlock.
2683
114b4a04 26842013-01-22 Alan Modra <amodra@gmail.com>
2685
2686 PR libgomp/51376
2687 PR libgomp/56073
2688 * task.c (GOMP_task): Revert 2011-12-09 change.
2689 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
2690 barrier to read task->children..
2691 (gomp_barrier_handle_tasks): ..and matching atomic store with
2692 release barrier here when setting parent->children to NULL.
2693
7cb1cb52 26942013-01-16 Jakub Jelinek <jakub@redhat.com>
2695 Tobias Burnus <burnus@net-b.de>
2696
2697 PR driver/55884
2698 * testsuite/libgomp.fortran/fortran.exp: Use
2699 -fintrinsic-modules-path= instead of
2700 -fintrinsic-modules-path.
2701
cde7530c 27022013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
2703
2704 Update copyright years.
2705
9476c497 27062012-12-19 Tobias Burnus <burnus@net-b.de>
2707
2708 * testsuite/libgomp.fortran/fortran.exp: Set
2709 -fintrinsic-modules-path.
2710
8b235160 27112012-12-19 Tobias Burnus <burnus@net-b.de>
2712
2713 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
2714 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
2715
926ffdda 27162012-11-21 Jakub Jelinek <jakub@redhat.com>
2717
2718 PR libgomp/55411
2719 * team.c (gomp_free_thread): Decrease gomp_managed_threads
2720 if pool had any threads_used.
2721
1f123166 27222012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
2723
2724 * testsuite/libgomp.c++/pr24455.C: Use
2725 -Wl,-undefined,dynamic_lookup on darwin.
2726
654dee1e 27272012-11-07 David Edelsohn <dje.gcc@gmail.com>
2728
2729 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
2730
707cf6c3 27312012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
2732
2733 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
2734
1075a9f5 27352012-10-23 Ian Bolton <ian.bolton@arm.com>
2736 Jim MacArthur <jim.macarthur@arm.com>
2737 Marcus Shawcroft <marcus.shawcroft@arm.com>
2738 Nigel Stephens <nigel.stephens@arm.com>
2739 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2740 Richard Earnshaw <rearnsha@arm.com>
2741 Sofiane Naci <sofiane.naci@arm.com>
2742 Stephen Thomas <stephen.thomas@arm.com>
2743 Tejas Belagod <tejas.belagod@arm.com>
2744 Yufeng Zhang <yufeng.zhang@arm.com>
2745
2746 * configure.tgt: Add AArch64.
2747
462819c8 27482012-10-04 Jason Merrill <jason@redhat.com>
2749
2750 * testsuite/libgomp.c++/tls-init1.C: New.
2751
33cbbd54 27522012-09-14 David Edelsohn <dje.gcc@gmail.com>
2753
2754 * configure: Regenerated.
2755
396bc2f7 27562012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
2757
2758 * config/linux/mips/futex.h (sys_futex0): Change to static
2759 function with noinline, nomips16 attributes under MIPS16. Adjust
2760 asm statement to place 'li v0,SYS_futex' immediately before
2761 syscall insn.
2762
a3f4b5cc 27632012-07-04 Sandra Loosemore <sandra@codesourcery.com>
2764
2765 * libgomp.texi (Library Index): Renamed from "Index" to prevent
2766 conflict with index.html on case-insensitive file systems.
2767
44bfcc4f 27682012-07-03 Uros Bizjak <ubizjak@gmail.com>
2769
2770 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
2771 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
2772
87e20041 27732012-07-02 Richard Guenther <rguenther@suse.de>
44bfcc4f 2774 Michael Matz <matz@suse.de>
2775 Tobias Grosser <tobias@grosser.es>
2776 Sebastian Pop <sebpop@gmail.com>
87e20041 2777
2778 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
2779 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
2780 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
2781 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
2782
3e3743d9 27832012-06-28 Andreas Schwab <schwab@linux-m68k.org>
2784
2785 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
2786
479a6d79 27872012-06-22 Richard Guenther <rguenther@suse.de>
2788
2789 Merge from graphite branch
2790 2012-01-13 Tobias Grosser <tobias@grosser.es>
2791
2792 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
2793 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
2794
ab129075 27952012-06-07 Jakub Jelinek <jakub@redhat.com>
2796
2797 PR middle-end/53580
2798 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
2799 use GOMP_barrier () call instead.
2800 * testsuite/libgomp.c/pr26943-3.c: Likewise.
2801 * testsuite/libgomp.c/pr26943-4.c: Likewise.
2802 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
2803 call GOMP_barrier instead.
2804 * testsuite/libgomp.fortran/vla5.f90: Likewise.
2805
b0eb3deb 28062012-06-06 Jakub Jelinek <jakub@redhat.com>
2807
2808 PR libgomp/52993
2809 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
2810 argument to memset call.
2811
b4b3bbba 28122012-05-16 H.J. Lu <hongjiu.lu@intel.com>
2813
2814 * configure: Regenerated.
2815
ca3d1b33 28162012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
2817
2818 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
2819
d09a689d 28202012-03-31 H.J. Lu <hongjiu.lu@intel.com>
2821
2822 PR bootstrap/52812
2823 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
2824
2ea94a74 28252012-03-22 Jakub Jelinek <jakub@redhat.com>
2826
2827 PR middle-end/52547
2828 * testsuite/libgomp.c/pr52547.c: New test.
2829
1e84c1e0 28302012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2831
2832 * testsuite/lib/libgomp.exp: load fortran-modules.exp
2833
5641963c 28342012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2835
2836 * configure.tgt (mips-sgi-irix6*): Remove.
2837
126b6848 28382012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2839
2840 * configure.tgt (alpha*-dec-osf*): Remove.
2841
2842 * config/osf/sem.h: Remove.
2843 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
2844
165391bc 28452012-02-29 Eric Botcazou <ebotcazou@adacore.com>
2846
2847 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
2848
fb6822c1 28492012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2850
2851 PR libstdc++/52188
2852 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
2853 Remove ENABLE_SYMVERS_SOL2.
2854 * configure: Regenerate.
2855 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
2856 (PREPROCESS): New variable.
2857 (libgomp.ver): New target.
2858 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
2859 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
2860 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
2861 Use libgomp.ver.
2862 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
2863 * Makefile.in: Regenerate.
2864
7ce78e23 28652012-02-14 Walter Lee <walt@tilera.com>
2866
2867 * configure.tgt: Handle tilegx and tilepro.
2868 * config/linux/tile/futex.h: New file.
2869
8b0287e2 28702012-02-08 Richard Guenther <rguenther@suse.de>
2871
2872 PR tree-optimization/46886
2873 * testsuite/libgomp.c/pr46886.c: New testcase.
2874
92355c31 28752012-01-25 Matthias Klose <doko@ubuntu.com>
2876
2877 * config/linux/arm: Remove empty directory.
2878 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
2879
ce9ff32c 28802011-12-09 Alan Modra <amodra@gmail.com>
2881
2882 PR libgomp/51376
2883 * task.c (GOMP_taskwait): Don't access task->children outside of
2884 task_lock mutex region.
2885 (GOMP_task): Likewise.
2886
ed235da6 28872011-12-06 Jakub Jelinek <jakub@redhat.com>
2888
2889 PR libgomp/51132
2890 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
2891 to file scope.
2892 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
2893 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
2894 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
2895 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
2896 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
2897
9736f4d2 28982011-12-02 Alan Modra <amodra@gmail.com>
2899
2900 * config/linux/affinity.c: Use atomic rather than sync builtin.
2901 * config/linux/lock.c: Likewise.
2902 * config/linux/ptrlock.h: Likewise.
2903 * config/linux/ptrlock.c: Likewise.
2904 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
2905 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
2906 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
2907 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
2908 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
2909 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
2910 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
2911 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
2912 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
2913 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
2914
7262c91f 29152011-11-30 Alan Modra <amodra@gmail.com>
2916
2917 PR libgomp/51298
2918 * config/linux/bar.h: Use atomic rather than sync builtins.
2919 * config/linux/bar.c: Likewise. Add missing acquire
2920 synchronisation on generation field.
2921 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
2922 double unlock.
2923
a28ddb67 29242011-11-30 Alan Modra <amodra@gmail.com>
2925
2926 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
2927 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
2928 * config/linux/mutex.h: Use atomic rather than sync builtins.
2929 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
2930 * config/linux/omp-lock.h: Comment fix.
2931 * config/linux/arm/mutex.h: Delete.
2932 * config/linux/powerpc/mutex.h: Delete.
2933 * config/linux/ia64/mutex.h: Delete.
2934 * config/linux/mips/mutex.h: Delete.
2935
df17b94d 29362011-11-30 Alan Modra <amodra@gmail.com>
2937
2938 PR libgomp/51249
2939 * config/linux/sem.h: Rewrite.
2940 * config/linux/sem.c: Rewrite.
2941
24e74fd0 29422011-11-28 Richard Henderson <rth@redhat.com>
2943
2944 * libgomp.h (enum memmodel): New.
2945
30369aff 29462011-11-21 Andreas Tobler <andreast@fgznet.ch>
2947
2948 * configure: Regenerate.
2949
ea2885f4 29502011-10-10 Matthias Klose <doko@ubuntu.com>
2951
2952 * config/posix95: Remove empty directory.
2953
8fb1768c 29542011-08-26 Jakub Jelinek <jakub@redhat.com>
2955
2956 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
2957
b538a1ef 29582011-08-19 Jakub Jelinek <jakub@redhat.com>
2959
2960 PR fortran/49792
2961 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
2962 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
2963
fe5ef4a0 29642011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2965
2966 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
2967
4e29c2f5 29682011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2969
2970 PR libgomp/49965
2971 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
2972
737efd99 29732011-08-03 Uros Bizjak <ubizjak@gmail.com>
2974
2975 * config/linux/proc.h: New.
2976 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
2977 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
2978 (gomp_init_num_threads): Update call to cpuset_popcount.
2979 (get_num_procs): Ditto.
2980 * config/linux/affinity.c (gomp_init_affinity): Call
2981 gomp_cpuset_popcount.
2982
2169f33b 29832011-08-02 Jakub Jelinek <jakub@redhat.com>
2984
2985 PR fortran/42041
2986 PR fortran/46752
2987 * omp.h.in (omp_in_final): New prototype.
2988 * omp_lib.f90.in (omp_in_final): New interface.
2989 (omp_integer_kind, omp_logical_kind): Remove
2990 and replace all its uses in the module with 4.
2991 (openmp_version): Change to 201107.
2992 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
2993 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
2994 kind for the parameters.
2995 (omp_in_final): New external.
2996 (openmp_version): Change to 201107.
2997 * task.c (omp_in_final): New function.
2998 (gomp_init_task): Initialize final_task.
2999 (GOMP_task): Remove unused attribute from flags. Handle final
3000 tasks.
3001 (GOMP_taskyield): New function.
3002 (omp_in_final): Return true if if (false) or final (true) task
3003 or descendant of final (true).
3004 * fortran.c (omp_in_final_): New function.
3005 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
3006 (GOMP_3.0): Export GOMP_taskyield.
3007 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
3008 variables.
3009 (parse_unsigned_long_list): New function.
3010 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
3011 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
3012 even if parse_affinity returned false.
3013 * config/linux/affinity.c (gomp_init_affinity): Handle
3014 gomp_cpu_affinity_len == 0.
3015 * libgomp_g.h (GOMP_taskyield): New prototype.
3016 * libgomp.h (struct gomp_task): Add final_task field.
3017 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
3018 * team.c (gomp_team_start): Override new task's nthreads_var icv
3019 if list form OMP_NUM_THREADS has been used and it has value for
3020 the new nesting level.
3021
3022 * testsuite/libgomp.c/atomic-11.c: New test.
3023 * testsuite/libgomp.c/atomic-12.c: New test.
3024 * testsuite/libgomp.c/atomic-13.c: New test.
3025 * testsuite/libgomp.c/atomic-14.c: New test.
3026 * testsuite/libgomp.c/reduction-6.c: New test.
3027 * testsuite/libgomp.c/task-5.c: New test.
3028 * testsuite/libgomp.c++/atomic-2.C: New test.
3029 * testsuite/libgomp.c++/atomic-3.C: New test.
3030 * testsuite/libgomp.c++/atomic-4.C: New test.
3031 * testsuite/libgomp.c++/atomic-5.C: New test.
3032 * testsuite/libgomp.c++/atomic-6.C: New test.
3033 * testsuite/libgomp.c++/atomic-7.C: New test.
3034 * testsuite/libgomp.c++/atomic-8.C: New test.
3035 * testsuite/libgomp.c++/atomic-9.C: New test.
3036 * testsuite/libgomp.c++/task-8.C: New test.
3037 * testsuite/libgomp.c++/reduction-4.C: New test.
3038 * testsuite/libgomp.fortran/allocatable7.f90: New test.
3039 * testsuite/libgomp.fortran/allocatable8.f90: New test.
3040 * testsuite/libgomp.fortran/crayptr3.f90: New test.
3041 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
3042 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
3043 * testsuite/libgomp.fortran/pointer1.f90: New test.
3044 * testsuite/libgomp.fortran/pointer2.f90: New test.
3045 * testsuite/libgomp.fortran/task4.f90: New test.
3046
30472011-08-02 Tobias Burnus <burnus@net-b.de>
3048
3049 * libgomp.texi: Update OpenMP spec references to 3.1.
3050 (omp_in_final,OMP_PROC_BIND): New sections.
3051 (OMP_NUM_THREADS): Document that the value can be now a list.
3052 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
3053
73d3a7ed 30542011-08-02 H.J. Lu <hongjiu.lu@intel.com>
3055
3056 * config/linux/x86/futex.h: Check __x86_64__ instead of
3057 __LP64__.
3058
784ad964 30592011-07-29 Jakub Jelinek <jakub@redhat.com>
3060
3061 PR middle-end/49897
3062 PR middle-end/49898
3063 * testsuite/libgomp.c/pr49897-1.c: New test.
3064 * testsuite/libgomp.c/pr49897-2.c: New test.
3065 * testsuite/libgomp.c/pr49898-1.c: New test.
3066 * testsuite/libgomp.c/pr49898-2.c: New test.
3067
338a7570 30682011-07-28 H.J. Lu <hongjiu.lu@intel.com>
3069
3070 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
3071 for ia32 instead of ilp32.
3072
3073 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
3074 * testsuite/libgomp.c/atomic-6.c: Likewise.
3075
38a66497 30762011-07-23 Sebastian Pop <sebastian.pop@amd.com>
3077
3078 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
3079 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
3080
bed7a04c 30812011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3082
3083 PR libgomp/45351
3084 * config/osf/sem.h: New file.
3085 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
3086
e9a8fef6 30872011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3088
3089 PR target/49541
3090 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
3091 ldflags.
3092
4dcd09ad 30932011-07-15 Jakub Jelinek <jakub@redhat.com>
3094
3095 * config/linux/wait.h (do_spin): New inline, largely copied
3096 from do_wait, just don't do futex_wait here, instead return true if
3097 it should be done.
3098 (do_wait): Implement using do_spin.
3099 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
3100 to prototype.
3101 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
3102 __sync_bool_compare_and_swap, pass the oldval to
3103 gomp_mutex_lock_slow.
3104 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
3105 If all mutex contenders are just spinning and not sleeping, don't
3106 change state to 2 unnecessarily. Optimize the loop when state has
3107 already become 2 to use just one atomic operation per loop instead
3108 of two.
3109 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
3110 to prototype.
3111 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
3112 __sync_bool_compare_and_swap, pass the oldval to
3113 gomp_mutex_lock_slow.
3114
31712e83 31152011-06-22 Jakub Jelinek <jakub@redhat.com>
3116
3117 PR libgomp/49490
3118 * iter.c (gomp_iter_static_next): For chunk size 0
3119 only use n ceil/ nthreads size for the first
3120 n % nthreads threads in the team instead of
3121 all threads except for the last few ones which
3122 get less work or none at all.
3123 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
3124 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
3125 chunk argument, set run_sched_modifier to 0 for static
3126 resp. 1 for other kinds. If chunk argument is 0
3127 and not static, set value to 1.
3128
9b222de3 31292011-05-19 Jakub Jelinek <jakub@redhat.com>
3130
14a77a22 3131 PR c++/49043
3132 * testsuite/libgomp.c++/pr49043.C: New test.
3133
9b222de3 3134 PR c++/48869
3135 * testsuite/libgomp.c++/pr48869.C: New test.
3136
086a139c 31372011-05-06 Jakub Jelinek <jakub@redhat.com>
3138
3139 PR fortran/48894
3140 * fortran.c: Include limits.h.
3141 (TO_INT): Define.
3142 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
3143 *set.
3144 (omp_set_num_threads_8_, omp_set_schedule_8_,
3145 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
3146 omp_get_team_size_8_): Use TO_INT macro.
3147 * testsuite/libgomp.fortran/pr48894.f90: New test.
3148
0f94f46b 31492011-04-13 Jakub Jelinek <jakub@redhat.com>
3150
3151 PR middle-end/48591
3152 * testsuite/libgomp.c/pr48591.c: New test.
3153
bbb514dc 31542011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3155
3156 PR bootstrap/48135
3157 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
3158 * configure: Regenerate.
3159
30f922c4 31602011-02-27 Jakub Jelinek <jakub@redhat.com>
3161
3162 PR fortran/47886
3163 * testsuite/libgomp.fortran/task3.f90: New test.
3164
6ae74627 31652011-02-24 Tobias Burnus <burnus@net-b.de>
3166
3167 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
3168
58979379 31692011-02-23 Jakub Jelinek <jakub@redhat.com>
3170
3171 PR libgomp/47854
3172 * libgomp.texi (omp_get_wtime): Don't say time in the past
3173 must be Unix Epoch.
3174
0f7730b8 31752011-02-18 Jakub Jelinek <jakub@redhat.com>
3176
3177 PR libgomp/47804
3178 * testsuite/libgomp.fortran/fortran.exp: Check for both
3179 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
3180 but $blddir != "", still append ${blddir}/${lang_library_path}
3181 to ld_library_path.
3182
95ca71d7 31832011-02-16 Tobias Burnus <burnus@net-b.de>
3184
3185 PR libgomp/47758
3186 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
3187 of libquadmath.a before adding its libpath to ldflags.
3188
7a1d4fa0 31892011-02-14 Jakub Jelinek <jakub@redhat.com>
3190
3191 PR libgomp/47731
3192 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
3193 to FUTEX_WAIT futex syscall.
3194 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
3195
4b20b68c 31962011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3197
3198 * configure: Regenerate.
3199
de656189 32002011-01-20 Benjamin Kosnik <bkoz@redhat.com>
3201
3202 PR libstdc++/36104
3203 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
3204
e49efc8c 32052011-01-16 Gerald Pfeifer
3206
3207 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
3208
383fbece 32092010-12-14 Jakub Jelinek <jakub@redhat.com>
3210
3211 PR fortran/46874
3212 * libgomp.fortran/allocatable6.f90: New test.
3213
5498a4cc 32142010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3215
3216 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
3217 * configure: Regenerate.
3218
8c35d268 32192010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
3220
3221 PR target/40125
3222 PR lto/46695
3223 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
3224 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
3225 * aclocal.m4: Regenerate.
3226 * configure: Regenerate.
3227 * Makefile.in: Regenerate.
3228 * testsuite/Makefile.in: Regenerate.
3229
dc25ce58 32302010-12-02 Jakub Jelinek <jakub@redhat.com>
3231
ffa79363 3232 PR fortran/46753
3233 * libgomp.fortran/pr46753.f90: New test.
3234
0b810b10 3235 PR libgomp/43706
3236 * env.c (initialize_env): Default to spin count 300000
3237 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
3238 is specified.
3239
dc25ce58 3240 PR libgomp/45240
3241 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
3242 at the end if sync builtins aren't supported.
3243
51bd4fa3 32442010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3245
3246 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
3247
b3e42c2f 32482010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3249
3250 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
3251
b728c9d4 32522010-11-24 Iain Sandoe <iains@gcc.gnu.org>
3253
3254 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
3255
87969c8c 32562010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3257 Tobias Burnus <burnus@net-b.de>
3258
3259 PR fortran/32049
df17b94d 3260 * configure.ac:
87969c8c 3261 * configure: Regenerate.
3262
1e4b64e3 32632010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
3264
3265 * config/linux/futex.h: New.
3266 * config/linux/arm/mutex.h: New.
3267 * configure.tgt (arm*-*-linux*): Add config path.
3268
8afca39d 32692010-09-30 Sebastian Pop <sebastian.pop@amd.com>
3270
3271 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
3272
0c320ed3 32732010-09-23 Tobias Burnus <burnus@net-b.de>
3274
3275 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
3276 Change Fortran datatype to LOGICAL.
3277 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
3278 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
3279
9b15a251 32802010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3281
3282 * configure: Regenerate.
3283
6e67728e 32842010-07-26 Jakub Jelinek <jakub@redhat.com>
3285
3286 * libgomp.texi: Add function keyword to a couple of Fortran
3287 interfaces, use integer instead of int for Fortran.
3288
a70dabf5 32892010-07-26 Aldy Hernandez <aldyh@redhat.com>
3290
3291 * libgomp.texi: Fix spelling and pasto problems throughout.
3292 Adjust prototypes to match code.
3293
9c6cdcae 32942010-07-24 Tobias Burnus <burnus@net-b.de>
3295
3296 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
3297 silence -fwhole-file warning.
3298
eedcd8ac 32992010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3300
3301 * configure.tgt (*-*-solaris2.[56]*): Removed.
3302
71cbce26 33032010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3304
3305 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
3306 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
3307 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
3308 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
3309 targetting solaris2*.
3310 * configure: Regenerate.
3311 * config.h.in: Regenerate.
3312
3313 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
3314 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
3315 Add libgomp_version_dep.
3316 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
3317 versioning.
3318 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
3319 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
3320 * Makefile.in: Regenerate.
3321
3322 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
3323 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
3324 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
3325 to common block, protected by
3326 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
3327
2d0c81dc 33282010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
3329
3330 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
3331
9a2be164 33322010-06-09 Iain Sandoe <iains@gcc.gnu.org>
3333
3334 PR bootstrap/43170
3335 * configure: Regenerate.
3336
5dbeae57 33372010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3338
3339 PR other/43620
3340 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
3341 * configure: Regenerate.
3342 * Makefile.in: Regenerate.
3343 * testsuite/Makefile.in: Regenerate.
3344
abc3b078 33452010-04-26 Jakub Jelinek <jakub@redhat.com>
3346
3347 PR c/43893
3348 * testsuite/libgomp.c/pr43893.c: New test.
3349 * testsuite/libgomp.c++/pr43893.C: New test.
3350
cb561506 33512010-04-21 Jakub Jelinek <jakub@redhat.com>
3352
3353 PR middle-end/43570
3354 * testsuite/libgomp.fortran/vla8.f90: New test.
3355
c3e85a57 33562010-04-20 Jakub Jelinek <jakub@redhat.com>
3357
3fef88f8 3358 PR libgomp/43706
3359 * config/linux/affinity.c (gomp_init_affinity): Decrease
3360 gomp_available_cpus if affinity mask confines the process to fewer
3361 CPUs.
3362 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
3363 non-NULL, just return gomp_available_cpus.
3364
c3e85a57 3365 PR libgomp/43569
3366 * sections.c (gomp_sections_init): Initialize ws->mode.
3367
14a88549 33682010-04-14 Uros Bizjak <ubizjak@gmail.com>
3369
3370 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
3371 not unused bar variable.
3372 * configure: Regenerate.
3373
e0934084 33742010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3375
3376 * Makefile.in: Regenerate.
3377 * aclocal.m4: Regenerate.
3378 * testsuite/Makefile.in: Regenerate.
3379
0bdba776 33802010-03-22 Jakub Jelinek <jakub@redhat.com>
3381
3382 PR libgomp/42942
3383 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
3384 (initialize_env): Adjust callers.
3385 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
3386 when the argument is 0.
3387
3388 * testsuite/libgomp.c/pr42942.c: New test.
3389
4a6097ab 33902010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
3391
3392 PR middle-end/42644
3393 PR middle-end/42130
3394 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
3395 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
3396
14203959 33972010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3398
3399 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
3400 * testsuite/libgomp.c++/task-6.C: Likewise.
3401
4efe8a43 34022010-01-28 Steve Ellcey <sje@cup.hp.com>
3403
3404 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
3405
a5e97ab0 34062010-01-26 Paolo Bonzini <bonzini@gnu.org>
3407
3408 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
3409 * configure: Regenerate.
3410
295e9e85 34112010-01-26 Jakub Jelinek <jakub@redhat.com>
3412
3413 PR fortran/42866
3414 * testsuite/libgomp.fortran/allocatable5.f90: New test.
3415
647ee0e4 34162010-01-20 Paolo Bonzini <bonzini@gnu.org>
3417
3418 * configure.ac: Test for executability of GFORTRAN.
3419 * configure: Regenerate.
3420
9ad2e3f3 34212010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3422
3423 * configure: Regenerate.
3424
39b3a9ec 34252010-01-04 H.J. Lu <hongjiu.lu@intel.com>
3426
3427 PR libgomp/42602
3428 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
3429
77108489 34302010-01-03 Richard Guenther <rguenther@suse.de>
3431
3432 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
3433
0540206c 34342009-12-23 Sebastian Pop <sebpop@gmail.com>
3435
3436 * testsuite/libgomp.graphite/pr4118.c: New.
3437
ca2e0e1f 34382009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
3439
3440 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
3441 for darwin, protect the test with require-effective-target tls_runtime.
3442 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
3443
145d8b5f 34442009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
3445
3446 PR target/41605
3447 * testsuite/lib/libgomp.exp: Provide -B options to allow for
3448 link spec %s substitutions for static libraries.
3449
437c6f83 34502009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
3451
3452 PR testsuite/42135
3453 * libgomp.graphite/force-parallel-2.c: Reduce array size.
3454
e6408286 34552009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3456
3457 * Makefile.in: Regenerate.
3458 * configure: Regenerate.
3459 * testsuite/Makefile.in: Regenerate.
3460
9cf0a538 34612009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
3462
3463 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
3464 settings for LC_ALL and LANG.
3465
c92cf9e4 34662009-11-25 Jakub Jelinek <jakub@redhat.com>
3467
3468 PR fortran/42162
3469 * testsuite/libgomp.fortran/pr42162.f90: New test.
3470
960d903e 34712009-11-13 Jakub Jelinek <jakub@redhat.com>
3472
3473 PR middle-end/42029
c92cf9e4 3474 * testsuite/libgomp.c/pr42029.c: New test.
960d903e 3475
8b501d36 34762009-10-26 Jakub Jelinek <jakub@redhat.com>
3477
3478 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
3479 *s. Accept ld version without text in ()s.
3480 * configure: Regenerated.
3481
cbfd7bf8 34822009-10-22 Razya Ladelsky <razya@il.ibm.com>
3483
3484 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
3485
00b1a0e2 34862009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3487
3488 PR libgomp/41418
3489 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
3490 or a hyphen (happens with fortran language disabled).
3491 * configure: Regenerate.
3492
8dc52806 34932009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3494
3495 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
3496 use sed script portable to Solaris /bin/sed for extracting ld
3497 version.
3498 * configure: Regenerate.
3499
249d544d 35002009-09-17 Alexander Monakov <amonakov@ispras.ru>
3501
3502 * testsuite/libgomp.graphite/bounds.c: New test.
3503
fd5623f3 35042009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3505
3506 * Makefile.am (libgomp_la_LINK): New.
3507 * Makefile.in: Regenerate.
3508
81a71e2b 35092009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3510
3511 * configure.ac (AC_PREREQ): Bump to 2.64.
3512
cd9a469c 35132009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3514
115d57c5 3515 * Makefile.am (install-html, install-pdf): Remove.
3516 * Makefile.in: Regenerate.
3517
cd9a469c 3518 * Makefile.in: Regenerate.
3519 * aclocal.m4: Regenerate.
3520 * config.h.in: Regenerate.
3521 * configure: Regenerate.
3522 * testsuite/Makefile.in: Regenerate.
3523
60598a3a 35242009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3525
3526 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
3527 * Makefile.in: Regenerate.
3528
a410fae3 35292009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
3530
3531 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
3532 * Makefile.in: Regenerate.
3533
0f156b47 35342009-08-19 Tobias Burnus <burnus@net-b.de>
3535
3536 PR fortran/41102
3537 omp_lib.h.in: Fix -std=f95 errors.
3538
3539
0f6e1991 35402009-08-14 David Edelsohn <edelsohn@gnu.org>
3541
3542 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
3543 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
3544 * testsuite/libgomp.graphite/graphite.exp: New.
3545
10122b13 35462009-08-05 Andreas Tobler <a.tobler@schweiz.org>
3547
3548 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
3549 only build.
3550
8385ad79 35512009-08-04 David Daney <ddaney@caviumnetworks.com>
3552
3553 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
3554 needed memory barrier semantics.
3555 * config/linux/mips/mutex.h: New file.
3556
9abe4a66 35572009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3558
3559 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
3560
0a475b3b 35612009-07-16 Joseph Myers <joseph@codesourcery.com>
3562
3563 * configure: Regenerate.
3564
f09e0522 35652009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
3566
3567 PR testsuite/40699
3568 PR testsuite/40707
3569 PR testsuite/40709
3570 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
3571 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
3572 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
3573
e08fa0d7 35742009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
3575
3576 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
3577 options when choosing a multilib.
3578
2f0e2680 35792009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
3580
3581 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
3582 ld_library_path. Use add_path. Add just find_libgcc_s to
3583 ld_library_path, not every libgcc multilib directory.
3584 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
3585 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
3586 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
3587 Use add_path.
3588 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
3589
cfe87ee0 35902009-06-09 Nathan Froyd <froydnj@codesourcery.com>
3591
3592 * Makefile.am (LTLDFLAGS): Define.
3593 (LINK): Define.
3594 * Makefile.in: Regenerate.
3595
df6a1b5f 35962009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
3597
3598 PR fortran/39718
3599 * testsuite/libgomp.fortran/fortran.exp: Don't link with
3600 libgfortranbegin, check existence of libgfortran.a instead of
3601 libgfortranbegin.a.
3602
af0f9c72 36032009-05-20 Jakub Jelinek <jakub@redhat.com>
3604
3605 PR libgomp/40174
3606 * team.c (gomp_thread_start): Destroy thr->release semaphore.
3607 (gomp_free_pool_helper): Likewise.
3608
e2720a06 36092009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
3610 Jakub Jelinek <jakub@redhat.com>
3611
3612 PR fortran/35423
3613 * testsuite/libgomp.fortran/workshare2.f90: New test.
3614
6bc9506f 36152009-04-09 Nick Clifton <nickc@redhat.com>
3616
3617 * iter.c: Change copyright header to refer to version 3 of the
3618 GNU General Public License with version 3.1 of the GCC Runtime
3619 Library Exception and to point readers at the COPYING3 and
3620 COPYING3.RUNTIME files and the FSF's license web page.
3621 * alloc.c: Likewise.
3622 * barrier.c: Likewise.
3623 * config/bsd/proc.c: Likewise.
3624 * config/linux/affinity.c: Likewise.
3625 * config/linux/alpha/futex.h: Likewise.
3626 * config/linux/bar.c: Likewise.
3627 * config/linux/bar.h: Likewise.
3628 * config/linux/ia64/futex.h: Likewise.
3629 * config/linux/ia64/mutex.h: Likewise.
3630 * config/linux/lock.c: Likewise.
3631 * config/linux/mips/futex.h: Likewise.
3632 * config/linux/mutex.c: Likewise.
3633 * config/linux/mutex.h: Likewise.
3634 * config/linux/powerpc/futex.h: Likewise.
3635 * config/linux/proc.c: Likewise.
3636 * config/linux/ptrlock.c: Likewise.
3637 * config/linux/ptrlock.h: Likewise.
3638 * config/linux/s390/futex.h: Likewise.
3639 * config/linux/sem.c: Likewise.
3640 * config/linux/sem.h: Likewise.
3641 * config/linux/sparc/futex.h: Likewise.
3642 * config/linux/wait.h: Likewise.
3643 * config/linux/x86/futex.h: Likewise.
3644 * config/mingw32/proc.c: Likewise.
3645 * config/mingw32/time.c: Likewise.
3646 * config/posix/affinity.c: Likewise.
3647 * config/posix/bar.c: Likewise.
3648 * config/posix/bar.h: Likewise.
3649 * config/posix/lock.c: Likewise.
3650 * config/posix/mutex.h: Likewise.
3651 * config/posix/proc.c: Likewise.
3652 * config/posix/ptrlock.h: Likewise.
3653 * config/posix/sem.c: Likewise.
3654 * config/posix/sem.h: Likewise.
3655 * config/posix/time.c: Likewise.
3656 * config/posix95/lock.c: Likewise.
3657 * critical.c: Likewise.
3658 * env.c: Likewise.
3659 * error.c: Likewise.
3660 * fortran.c: Likewise.
3661 * iter_ull.c: Likewise.
3662 * libgomp.h: Likewise.
3663 * libgomp_f.h.in: Likewise.
3664 * libgomp_g.h: Likewise.
3665 * loop.c: Likewise.
3666 * loop_ull.c: Likewise.
3667 * omp.h.in: Likewise.
3668 * omp_lib.f90.in: Likewise.
3669 * omp_lib.h.in: Likewise.
3670 * ordered.c: Likewise.
3671 * parallel.c: Likewise.
3672 * sections.c: Likewise.
3673 * single.c: Likewise.
3674 * task.c: Likewise.
3675 * team.c: Likewise.
3676 * work.c: Likewise.
3677
36782009-04-09 Jakub Jelinek <jakub@redhat.com>
3679
3680 * testsuite/config/default.exp: Change copyright header to refer to
3681 version 3 of the GNU General Public License and to point readers
3682 at the COPYING3 file and the FSF's license web page.
3683
e1a7ccb9 36842009-04-08 Jakub Jelinek <jakub@redhat.com>
3685
3686 PR middle-end/39573
3687 * libgomp.c++/pr39573.C: New test.
3688
4a04f4b4 36892009-04-01 Jakub Jelinek <jakub@redhat.com>
3690
3691 PR other/39591
3692 * testsuite/libgomp.c/pr39591-1.c: New test.
3693 * testsuite/libgomp.c/pr39591-2.c: New test.
3694 * testsuite/libgomp.c/pr39591-3.c: New test.
3695
665c5290 36962009-03-25 Uros Bizjak <ubizjak@gmail.com>
3697
3698 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
3699 * testsuite/libgomp.c/atomic-6.c: Ditto.
3700
4390875c 37012009-03-23 Jakub Jelinek <jakub@redhat.com>
3702
3703 PR c/39495
3704 * testsuite/libgomp.c/loop-12.c: New test.
3705 * testsuite/libgomp.c/loop-11.c: New test.
3706 * testsuite/libgomp.c++/loop-11.C: New test.
3707 * testsuite/libgomp.c++/loop-12.C: New test.
3708 * testsuite/libgomp.c++/for-8.C: New test.
3709
9af964d4 37102009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3711
3712 * configure: Regenerate.
3713
2a92826d 37142009-02-11 Jakub Jelinek <jakub@redhat.com>
3715
3716 PR middle-end/39154
3717 * testsuite/libgomp.c/pr39154.c: New test.
3718
d3d87030 37192009-01-30 Ian Lance Taylor <iant@google.com>
3720
3721 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
3722 libgomp_ld_is_gold. Get gold version number.
3723 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
3724 * configure: Rebuild.
3725
94cd11b9 37262009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
3727
665c5290 3728 * testsuite/lib/libgomp.exp: Add -B option for targets that
94cd11b9 3729 use libgfortran.a%s in their specs.
3730
8a75144c 37312009-01-07 Jakub Jelinek <jakub@redhat.com>
3732
3733 PR libgomp/38086
3734 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
3735 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
3736 HAVE_AS_SYMVER_DIRECTIVE is not defined.
3737 * configure: Regenerated.
3738 * config.h.in: Likewise.
3739
267f2f49 37402008-12-28 Jakub Jelinek <jakub@redhat.com>
3741
3742 PR c++/38650
3743 * testsuite/libgomp.c/pr38650.c: New test.
3744 * testsuite/libgomp.c++/pr38650.C: New test.
3745
29380f16 37462008-12-27 Jakub Jelinek <jakub@redhat.com>
3747
3748 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
3749
170ee69e 37502008-12-26 Uros Bizjak <ubizjak@gmail.com>
3751
3752 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
3753
9e6fd619 37542008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3755
3756 * configure: Regenerate.
3757
0cb159ec 37582008-12-08 Jakub Jelinek <jakub@redhat.com>
3759
3760 PR middle-end/36802
3761 * testsuite/libgomp.c/pr36802-1.c: New test.
3762 * testsuite/libgomp.c/pr36802-2.c: New test.
3763 * testsuite/libgomp.c/pr36802-3.c: New test.
3764
177fe92f 37652008-12-01 Janis Johnson <janis187@us.ibm.com>
3766
3767 PR libgomp/38270
3768 * config/linux/powerpc/mutex.h: New.
3769
5846b949 37702008-12-01 Jakub Jelinek <jakub@redhat.com>
3771
304ac225 3772 PR c++/38257
3773 * testsuite/libgomp.c++/for-7.C: New test.
3774
5846b949 3775 PR c++/38348
3776 * testsuite/libgomp.c++/for-6.C: New test.
3777
0557b60a 37782008-11-26 Janis Johnson <janis187@us.ibm.com>
3779
3780 PR testsuite/28870
3781 * testsuite/lib/libgomp.exp: Include new timeout library files.
3782 (libgomp_target_compile): Set timeout value from new proc.
3783
07d78576 37842008-11-13 Steve Ellcey <sje@cup.hp.com>
3785
3786 PR libgomp/37938
3787 * config/linux/ia64/mutex.h: New.
3788
99d828f0 37892008-11-04 Tobias Burnus <burnus@net-b.de>
3790
3791 PR libgomp/37935
3792 * libgomp.texi (Runtime library routines, environment variables):
3793 Update for OpenMP version 3.0.
3794
6d873a38 37952008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
3796 Steve Ellcey <sje@cup.hp.com>
3797
3798 * configure: Regenerate for new libtool.
3799 * Makefile.in: Ditto.
3800 * testsuite/Makefile.in: Ditto.
3801
84f90f7d 38022008-09-19 Jakub Jelinek <jakub@redhat.com>
3803 Andreas Tobler <a.tobler@schweiz.org>
3804
3805 * config/bsd/proc.c: New file.
19ff6a29 3806 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
84f90f7d 3807 * configure.ac: Check for header <sys/sysctl.h>
3808 * configure: Regenerate.
3809 * config.h.in: Likewise.
3810
278f20fc 38112008-09-05 Janis Johnson <janis187@us.ibm.com>
3812
3813 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
3814
b23697a0 38152008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
3816
3817 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
3818 * Makefile.in: Regenerated.
3819 * testsuite/Makefile.in: Regenerated.
3820
e4eae705 38212008-08-21 Nathan Froyd <froydnj@codesourcery.com>
1af4c848 3822
9e320429 3823 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
1af4c848 3824 depend on blddir if blddir exists.
3825 (libgomp_target_compile): Likewise.
3826 * testsuite/libgomp.c++/c++.exp: Likewise.
3827 * testsuite/libgomp.fortran/fortran.exp: Likewise.
3828
a4cb9727 38292008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3830
3831 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
3832 Do not list GPL as Invariant Section.
3833
780abcd6 38342008-07-28 Ilie Garbacea <ilie@mips.com>
3835 Chao-ying Fu <fu@mips.com>
3836
3837 * configure.tgt: Enable futex for MIPS.
3838 * config/linux/mips/futex.h: New file.
3839
a746af82 38402008-07-16 Jakub Jelinek <jakub@redhat.com>
3841
3842 * team.c (gomp_team_end): Free team immediately if it has
3843 just one thread.
3844
06c10456 38452008-07-08 David Edelsohn <edelsohn@gnu.org>
3846
3847 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
3848 * testsuite/libgomp.fortran/fortran.exp: Same.
3849 * testsuite/libgomp.c/c.exp: Same.
3850 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
3851 directory to library path first.
3852
787c2ac3 38532008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
3854
3855 * env.c (parse_stacksize): Add cast to avoid warning.
3856 (parse_spincount): Likewise.
3857
1d22f541 38582008-06-27 Jakub Jelinek <jakub@redhat.com>
3859
919041c7 3860 * testsuite/libgomp.c/loop-10.c: New test.
3861 * libgomp.c/loop-3.c (main): Add lastprivate clause.
3862 * libgomp.c++/loop-6.C (main): Likewise.
3863
1d22f541 3864 PR debug/36617
3865 * testsuite/libgomp.c/debug-1.c: New test.
3866
a47a9a49 38672008-06-19 Jakub Jelinek <jakub@redhat.com>
3868
3869 * testsuite/libgomp.c/nqueens-1.c: New test.
3870
f6430caa 3871 PR c++/36523
3872 * testsuite/libgomp.c++/task-7.C: New function.
3873
5b2c7553 38742008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3875
3876 * configure: Regenerate.
3877
04752a80 38782008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
3879
3880 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
3881 mutex when HAVE_SYNC_BUILTINS isn't defined.
3882
c24c5fac 38832008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
3884
3885 * libgomp.texi (omp_test_lock): Fix typo.
3886
666d490b 38872008-06-12 Tobias Burnus <burnus@net-b.de>
3888
3889 * omp_lib.f90.in: Add "implicit none".
3890
9884aaf8 38912008-06-12 Jakub Jelinek <jakub@redhat.com>
3892
3893 PR middle-end/36506
3894 * testsuite/libgomp.c/reduction-5.c: New test.
3895
17f4f6cb 38962008-06-11 Jakub Jelinek <jakub@redhat.com>
3897
9ead5ba0 3898 * libgomp.h (struct gomp_task): Add in_tied_task field.
3899 * task.c (gomp_init_task): Initialize it.
3900 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
3901 unconditionally. Don't call gomp_team_barrier_wake if
3902 current task is implicit or if(0) from implicit and number of
3903 running tasks is equal to nthreads - 1.
3904
e29597cc 3905 PR libgomp/36471
3906 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
3907 omp_get_team_size_8): Fix pastos.
3908
17f4f6cb 3909 PR libgomp/36469
3910 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
3911 * configure: Regenerated.
3912 * config.h.in: Regenerated.
3913 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
3914 defined.
3915
78722ce5 39162008-06-06 Andreas Tobler <a.tobler@schweiz.org>
3917
3918 PR bootstrap/36452
3919 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
3920 (GOMP_loop_ull_dynamic_start): Likewise.
3921 (GOMP_loop_ull_guided_start): Likewise.
3922 (GOMP_loop_ull_ordered_static_start): Likewise.
3923 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
3924 (GOMP_loop_ull_ordered_guided_start): Likewise.
3925
fd6481cf 39262008-06-06 Jakub Jelinek <jakub@redhat.com>
3927 Richard Henderson <rth@redhat.com>
3928 Ulrich Drepper <drepper@redhat.com>
3929 Jakob Blomer <jakob.blomer@ira.uka.de>
3930
3931 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
3932 Substitute also OMP_*LOCK_25*.
3933 * configure: Regenerated.
3934 * config.h.in: Regenerated.
3935 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
3936 ptrlock.c and task.c.
3937 * Makefile.in: Regenerated.
3938 * testsuite/Makefile.in: Regenerated.
3939 * task.c: New file.
3940 * loop_ull.c: New file.
3941 * iter_ull.c: New file.
3942 * libgomp.h: Include ptrlock.h.
3943 (enum gomp_task_kind): New type.
3944 (struct gomp_team): Add task_lock, task_queue, task_count,
3945 task_running_count, single_count fields. Add
3946 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
3947 Remove work_share_lock, generation_mask,
3948 oldest_live_gen, num_live_gen and init_work_shares fields, add
3949 work work_share_list_alloc, work_share_list_free and work_share_chunk
3950 fields. Change work_shares from pointer to pointers into an array.
3951 Change ordered_release field into gomp_sem_t ** from flexible array
3952 member. Add implicit_task and initial_work_shares fields.
3953 Move close to the end of the struct.
3954 (struct gomp_team_state): Add single_count, last_work_share,
3955 active_level and level fields, remove work_share_generation.
3956 (gomp_barrier_handle_tasks): New prototype.
3957 (gomp_finish_task): New inline function.
3958 (struct gomp_work_share): Move chunk_size, end, incr into
3959 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
3960 next_ll fields. Reshuffle fields. Add next_alloc,
3961 next_ws, next_free and inline_ordered_team_ids fields, change
3962 ordered_team_ids into pointer from flexible array member.
3963 Add mode field. Put lock and next into a different cache line
3964 from most of the write-once fields.
3965 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
3966 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
3967 gomp_iter_ull_guided_next): New prototypes.
3968 (gomp_new_icv): New prototype.
3969 (struct gomp_thread): Add thread_pool and task fields.
3970 (struct gomp_thread_pool): New type.
3971 (gomp_new_team): New prototype.
3972 (gomp_team_start): Change type of last argument.
3973 (gomp_new_work_share): Removed.
3974 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
3975 (gomp_work_share_init_done): New static inline.
3976 (gomp_throttled_spin_count_var, gomp_available_cpus,
3977 gomp_managed_threads): New extern decls.
3978 (gomp_init_task): New prototype.
3979 (gomp_spin_count_var): New extern var decl.
3980 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
3981 or no alias support, or if not PIC.
3982 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
3983 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
3984 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
3985 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
3986 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
3987 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
3988 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
3989 gomp_test_nest_lock_25): New prototypes.
3990 (omp_lock_symver, strong_alias): Define.
3991 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
3992 decls.
3993 (gomp_end_task): New.
3994 (struct gomp_task_icv, gomp_global_icv): New.
3995 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
3996 (struct gomp_task): New.
3997 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
3998 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
3999 (gomp_icv): New.
4000 (gomp_schedule_type): Reorder enum to match
4001 omp_sched_t.
4002 * team.c (struct gomp_thread_start_data): Add thread_pool and task
4003 fields.
4004 (gomp_thread_start): Add gomp_team_barrier_wait call.
4005 For non-nested case remove clearing of docked thread thr fields.
4006 Use pool fields instead of global gomp_* variables. Use
4007 gomp_barrier_wait_last when needed. Initialize ts.active_level.
4008 Create tasks for each member thread.
4009 (free_team): Only destroy team barrier, task_lock here and free it.
4010 (gomp_free_thread): Free last_team if non-NULL.
4011 (gomp_team_end): Call gomp_team_barrier_wait instead of
4012 gomp_barrier_wait. For nested case call one extra
4013 gomp_barrier_wait. Move here some destruction from free_team.
4014 Call free_team on pool->last_team if any, rather than freeing
4015 current team. Destroy work_share_list_free_lock ifndef
4016 HAVE_SYNC_BUILTINS.
4017 (gomp_new_icv): New function.
4018 (gomp_threads, gomp_threads_size, gomp_threads_used,
4019 gomp_threads_dock): Removed.
4020 (gomp_thread_destructor): New variable.
4021 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
4022 functions.
4023 (gomp_team_start): Create new pool if current thread doesn't have
df17b94d 4024 one. Use pool fields instead of global gomp_* variables.
fd6481cf 4025 Initialize thread_pool field for new threads. Clear single_count.
4026 Change last argument from ws to team, don't create
4027 new team, set ts.work_share to &team->work_shares[0] and clear
4028 ts.last_work_share. Don't clear ts.work_share_generation.
4029 If number of threads changed, adjust atomically gomp_managed_threads.
4030 Use gomp_init_task instead of gomp_new_task,
4031 set thr->task to the corresponding implicit_task array entry.
4032 Create tasks for each member thread. Initialize ts.level.
4033 (initialize_team): Call pthread_key_create on
4034 gomp_thread_destructor.
4035 (team_destructor): New function.
4036 (new_team): Removed.
4037 (gomp_new_team): New function.
4038 (free_team): Free gomp_work_share blocks chained through next_alloc,
4039 instead of freeing work_shares and destroying work_share_lock.
4040 (gomp_team_end): Call gomp_fini_work_share. If number of threads
4041 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
4042 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
4043 of gomp_barrier_wait.
4044 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
4045 instead of gomp_barrier_wait. Call gomp_work_share_init_done
4046 if gomp_work_share_start returned true. Don't unlock ws->lock.
4047 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
4048 of gomp_barrier_wait.
4049 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
4050 gomp_work_share_init_done if gomp_work_share_start returned true.
4051 Don't unlock ws->lock.
4052 * work.c: Include stddef.h.
4053 (free_work_share): Use work_share_list_free_lock instead
4054 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
4055 Call gomp_fini_work_share and then either free ws if orphaned, or
4056 put it into work_share_list_free list of the current team.
4057 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
4058 functions.
4059 (gomp_work_share_start, gomp_work_share_end,
4060 gomp_work_share_end_nowait): Rewritten.
4061 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
4062 (openmp_version): Set to 200805.
4063 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
4064 omp_sched_guided, omp_sched_auto): New parameters.
4065 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
4066 omp_set_max_active_levels, omp_get_max_active_levels,
4067 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
4068 omp_get_active_level): New interfaces.
4069 * omp_lib.h.in (openmp_version): Set to 200805.
4070 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
4071 omp_sched_guided, omp_sched_auto): New parameters.
4072 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
4073 omp_set_max_active_levels, omp_get_max_active_levels,
4074 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
4075 omp_get_active_level): New externals.
4076 * loop.c: Include limits.h.
4077 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
4078 GFS_AUTO.
4079 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
4080 Likewise. Use gomp_icv.
4081 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
4082 ts.static_trip here.
4083 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
4084 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
4085 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
4086 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
4087 don't unlock ws->lock, otherwise lock it.
4088 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
4089 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
4090 (gomp_parallel_loop_start): Call gomp_new_team instead of
4091 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
4092 Adjust gomp_team_start caller. Pass 0 as second argument to
4093 gomp_resolve_num_threads.
4094 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
4095 If adding ws->chunk_size nthreads + 1 times after end won't
4096 overflow, set ws->mode to 1.
4097 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
4098 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
4099 GOMP_loop_ull_ordered_static_start,
4100 GOMP_loop_ull_ordered_dynamic_start,
4101 GOMP_loop_ull_ordered_guided_start,
4102 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
4103 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
4104 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
4105 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
4106 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
4107 prototypes.
4108 * libgomp.map: Export lock routines also @@OMP_2.0.
4109 (GOMP_loop_ordered_dynamic_first,
4110 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
4111 GOMP_loop_ordered_static_first): Remove.
4112 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
4113 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
4114 GOMP_loop_ull_ordered_dynamic_next,
4115 GOMP_loop_ull_ordered_dynamic_start,
4116 GOMP_loop_ull_ordered_guided_next,
4117 GOMP_loop_ull_ordered_guided_start,
4118 GOMP_loop_ull_ordered_runtime_next,
4119 GOMP_loop_ull_ordered_runtime_start,
4120 GOMP_loop_ull_ordered_static_next,
4121 GOMP_loop_ull_ordered_static_start,
4122 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
4123 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
4124 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
4125 (omp_set_schedule, omp_get_schedule,
4126 omp_get_thread_limit, omp_set_max_active_levels,
4127 omp_get_max_active_levels, omp_get_level,
4128 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
4129 omp_set_schedule_, omp_set_schedule_8_,
4130 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
4131 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
4132 omp_get_max_active_levels_, omp_get_level_,
4133 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
4134 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
4135 New exports @@OMP_3.0.
4136 * omp.h.in (omp_sched_t): New type.
4137 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
4138 omp_set_max_active_levels, omp_get_max_active_levels,
4139 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
4140 omp_get_active_level): New prototypes.
4141 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
4142 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
4143 gomp_thread_limit_var, gomp_remaining_threads_count,
4144 gomp_remaining_threads_lock): New variables.
4145 (parse_spincount): New function.
4146 (initialize_env): Call gomp_init_num_threads unconditionally.
4147 Initialize gomp_available_cpus. Call parse_spincount,
4148 initialize gomp_{,throttled_}spin_count_var
4149 depending on presence and value of OMP_WAIT_POLICY and
4150 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
4151 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
4152 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
4153 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
4154 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
4155 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
4156 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
4157 (gomp_global_icv): New.
4158 (parse_schedule): Use it. Parse "auto".
4159 (omp_set_num_threads): Use gomp_icv.
4160 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
4161 Likewise.
4162 (omp_get_max_threads): Move from parallel.c.
4163 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
4164 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
4165 add ialias.
4166 (parse_stacksize, parse_wait_policy): New functions.
4167 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
4168 both wrappers for compatibility and new locks.
4169 (omp_set_schedule, omp_get_schedule,
4170 omp_get_thread_limit, omp_set_max_active_levels,
4171 omp_get_max_active_levels, omp_get_level,
4172 omp_get_ancestor_thread_num, omp_get_team_size,
4173 omp_get_active_level): New ialias_redirect.
4174 (omp_set_schedule_, omp_set_schedule_8_,
4175 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
4176 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
4177 omp_get_max_active_levels_, omp_get_level_,
4178 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
4179 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
4180 New functions.
4181 * parallel.c: Include limits.h.
4182 (gomp_resolve_num_threads): Add count argument. Rewritten.
4183 (GOMP_parallel_start): Call gomp_new_team and pass that as last
4184 argument to gomp_team_start. Pass 0 as second argument to
4185 gomp_resolve_num_threads.
4186 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
4187 if gomp_thread_limit_var != ULONG_MAX.
4188 (omp_in_parallel): Implement using ts.active_level.
4189 (omp_get_max_threads): Move to env.c.
4190 (omp_get_level, omp_get_ancestor_thread_num,
4191 omp_get_team_size, omp_get_active_level): New functions,
4192 add ialias.
4193 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
4194 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
4195 gomp_iter_dynamic_next instead of the _locked variant and don't take
4196 lock around it, otherwise acquire it before calling
4197 gomp_iter_dynamic_next_locked.
4198 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
4199 gomp_iter_dynamic_next instead of the _locked variant and don't take
4200 lock around it.
4201 (GOMP_parallel_sections_start): Call gomp_new_team instead of
4202 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
4203 Adjust gomp_team_start caller. Pass count as second argument to
4204 gomp_resolve_num_threads, don't adjust num_threads after the call.
4205 Use gomp_icv.
4206 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
4207 ws->chunk_size by incr.
4208 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
4209 code.
4210 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
4211 types.
4212 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
4213 (omp_check_defines): Check even the compat defines.
4214 * config/linux/ptrlock.c: New file.
4215 * config/linux/ptrlock.h: New file.
4216 * config/linux/wait.h: New file.
4217 * config/posix/ptrlock.c: New file.
4218 * config/posix/ptrlock.h: New file.
4219 * config/linux/bar.h (gomp_team_barrier_wait,
4220 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
4221 (gomp_team_barrier_set_task_pending,
4222 gomp_team_barrier_clear_task_pending,
4223 gomp_team_barrier_set_waiting_for_tasks,
4224 gomp_team_barrier_waiting_for_tasks,
4225 gomp_team_barrier_done): New inlines.
4226 (gomp_barrier_t): Rewritten.
4227 (gomp_barrier_state_t): New typedef.
4228 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
4229 gomp_barrier_wait_start): Rewritten.
4230 (gomp_barrier_wait_end): Change second argument to
4231 gomp_barrier_state_t.
4232 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
4233 inlines.
4234 * config/linux/bar.c: Include wait.h instead of libgomp.h and
4235 futex.h.
4236 (gomp_barrier_wait_end): Rewritten.
4237 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
4238 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
4239 * config/posix/bar.h (gomp_barrier_t): Add generation field.
4240 (gomp_barrier_state_t): New typedef.
4241 (gomp_team_barrier_wait,
4242 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
4243 (gomp_barrier_wait_start): Or all but low 2 bits from generation
4244 into the return value. Return gomp_barrier_state_t.
4245 (gomp_team_barrier_set_task_pending,
4246 gomp_team_barrier_clear_task_pending,
4247 gomp_team_barrier_set_waiting_for_tasks,
4248 gomp_team_barrier_waiting_for_tasks,
4249 gomp_team_barrier_done): New inlines.
4250 (gomp_barrier_wait_end): Change second argument to
4251 gomp_barrier_state_t.
4252 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
4253 inlines.
4254 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
4255 (gomp_barrier_wait_end): Change second argument to
df17b94d 4256 gomp_barrier_state_t.
fd6481cf 4257 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
4258 gomp_team_barrier_wake): New functions.
4259 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
4260 futex.h.
4261 (gomp_futex_wake, gomp_futex_wait): New variables.
4262 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
4263 * config/linux/lock.c: Rewrite to make locks task owned,
4264 for backwards compatibility provide the old entrypoints
4265 if symbol versioning. Include wait.h instead of libgomp.h and
4266 futex.h.
4267 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
4268 * config/posix95/lock.c: Rewrite to make locks task owned,
4269 for backwards compatibility provide the old entrypoints
4270 if symbol versioning.
4271 * config/posix/lock.c: Rewrite to make locks task owned,
4272 for backwards compatibility provide the old entrypoints
4273 if symbol versioning.
4274 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
4275 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
4276 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
4277 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4278 (sys_futex0): Return error code.
4279 (futex_wake, futex_wait): If ENOSYS was returned, clear
4280 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4281 (cpu_relax, atomic_write_barrier): New static inlines.
4282 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4283 (futex_wake, futex_wait): If ENOSYS was returned, clear
4284 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4285 (cpu_relax, atomic_write_barrier): New static inlines.
4286 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4287 (sys_futex0): Return error code.
4288 (futex_wake, futex_wait): If ENOSYS was returned, clear
4289 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4290 (cpu_relax, atomic_write_barrier): New static inlines.
4291 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4292 (sys_futex0): Return error code.
4293 (futex_wake, futex_wait): If ENOSYS was returned, clear
4294 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4295 (cpu_relax, atomic_write_barrier): New static inlines.
4296 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4297 (sys_futex0): Return error code.
4298 (futex_wake, futex_wait): If ENOSYS was returned, clear
4299 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4300 (cpu_relax, atomic_write_barrier): New static inlines.
4301 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
4302 (sys_futex0): Return error code.
4303 (futex_wake, futex_wait): If ENOSYS was returned, clear
4304 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
4305 (cpu_relax, atomic_write_barrier): New static inlines.
4306 * config/linux/sem.c: Include wait.h instead of libgomp.h and
4307 futex.h.
4308 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
4309 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
4310 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
4311 types.
4312 (omp_nest_lock_t): Change owner into void *, add lock field.
4313 * config/posix95/omp-lock.h: Include semaphore.h.
4314 (omp_lock_25_t, omp_nest_lock_25_t): New types.
4315 (omp_lock_t): Use sem_t instead of mutex if semaphores
4316 aren't broken.
4317 (omp_nest_lock_t): Likewise. Change owner to void *.
4318 * config/posix/omp-lock.h: Include semaphore.h.
4319 (omp_lock_25_t, omp_nest_lock_25_t): New types.
4320 (omp_lock_t): Use sem_t instead of mutex if semaphores
4321 aren't broken.
4322 (omp_nest_lock_t): Likewise. Add owner field.
4323
43242008-06-06 Jakub Jelinek <jakub@redhat.com>
4325
4326 * testsuite/libgomp.c/collapse-1.c: New test.
4327 * testsuite/libgomp.c/collapse-2.c: New test.
4328 * testsuite/libgomp.c/collapse-3.c: New test.
4329 * testsuite/libgomp.c/icv-1.c: New test.
4330 * testsuite/libgomp.c/icv-2.c: New test.
4331 * testsuite/libgomp.c/lib-2.c: New test.
4332 * testsuite/libgomp.c/lock-1.c: New test.
4333 * testsuite/libgomp.c/lock-2.c: New test.
4334 * testsuite/libgomp.c/lock-3.c: New test.
4335 * testsuite/libgomp.c/loop-4.c: New test.
4336 * testsuite/libgomp.c/loop-5.c: New test.
4337 * testsuite/libgomp.c/loop-6.c: New test.
4338 * testsuite/libgomp.c/loop-7.c: New test.
4339 * testsuite/libgomp.c/loop-8.c: New test.
4340 * testsuite/libgomp.c/loop-9.c: New test.
4341 * testsuite/libgomp.c/nested-3.c: New test.
4342 * testsuite/libgomp.c/nestedfn-6.c: New test.
4343 * testsuite/libgomp.c/sort-1.c: New test.
4344 * testsuite/libgomp.c/task-1.c: New test.
4345 * testsuite/libgomp.c/task-2.c: New test.
4346 * testsuite/libgomp.c/task-3.c: New test.
4347 * testsuite/libgomp.c/task-4.c: New test.
4348 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
4349 to C++ testsuite default compiler options.
4350 * testsuite/libgomp.c++/collapse-1.C: New test.
4351 * testsuite/libgomp.c++/collapse-2.C: New test.
4352 * testsuite/libgomp.c++/ctor-10.C: New test.
4353 * testsuite/libgomp.c++/for-1.C: New test.
4354 * testsuite/libgomp.c++/for-2.C: New test.
4355 * testsuite/libgomp.c++/for-3.C: New test.
4356 * testsuite/libgomp.c++/for-4.C: New test.
4357 * testsuite/libgomp.c++/for-5.C: New test.
4358 * testsuite/libgomp.c++/loop-8.C: New test.
4359 * testsuite/libgomp.c++/loop-9.C: New test.
4360 * testsuite/libgomp.c++/loop-10.C: New test.
4361 * testsuite/libgomp.c++/task-1.C: New test.
4362 * testsuite/libgomp.c++/task-2.C: New test.
4363 * testsuite/libgomp.c++/task-3.C: New test.
4364 * testsuite/libgomp.c++/task-4.C: New test.
4365 * testsuite/libgomp.c++/task-5.C: New test.
4366 * testsuite/libgomp.c++/task-6.C: New test.
4367 * testsuite/libgomp.fortran/allocatable1.f90: New test.
4368 * testsuite/libgomp.fortran/allocatable2.f90: New test.
4369 * testsuite/libgomp.fortran/allocatable3.f90: New test.
4370 * testsuite/libgomp.fortran/allocatable4.f90: New test.
4371 * testsuite/libgomp.fortran/collapse1.f90: New test.
4372 * testsuite/libgomp.fortran/collapse2.f90: New test.
4373 * testsuite/libgomp.fortran/collapse3.f90: New test.
4374 * testsuite/libgomp.fortran/collapse4.f90: New test.
4375 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
4376 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
4377 * testsuite/libgomp.fortran/lib4.f90: New test.
4378 * testsuite/libgomp.fortran/lock-1.f90: New test.
4379 * testsuite/libgomp.fortran/lock-2.f90: New test.
4380 * testsuite/libgomp.fortran/nested1.f90: New test.
4381 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
4382 * testsuite/libgomp.fortran/strassen.f90: New test.
4383 * testsuite/libgomp.fortran/tabs1.f90: New test.
4384 * testsuite/libgomp.fortran/tabs2.f: New test.
4385 * testsuite/libgomp.fortran/task1.f90: New test.
4386 * testsuite/libgomp.fortran/task2.f90: New test.
4387 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
4388 * testsuite/libgomp.fortran/vla5.f90: Likewise.
4389 * testsuite/libgomp.c/pr26943-2.c: Likewise.
4390 * testsuite/libgomp.c/pr26943-3.c: Likewise.
4391 * testsuite/libgomp.c/pr26943-4.c: Likewise.
4392
372231a0 43932008-05-23 Jakub Jelinek <jakub@redhat.com>
4394
4395 PR c++/36308
4396 * testsuite/libgomp.c++/ctor-11.C: New test.
4397 * testsuite/libgomp.c++/ctor-12.C: New test.
4398
07e23beb 43992008-05-15 Janis Johnson <janis187@us.ibm.com>
4400
4401 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
4402
790368c5 44032008-05-07 Jakub Jelinek <jakub@redhat.com>
4404
4405 PR middle-end/36106
4406 * testsuite/libgomp.c/atomic-5.c: New test.
4407 * testsuite/libgomp.c/atomic-6.c: New test.
4408 * testsuite/libgomp.c/autopar-1.c: New test.
4409
6992582a 44102008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4411
4412 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
4413 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
4414 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
4415 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
4416 * configure: Regenerate.
4417 * Makefile.in, testsuite/Makefile.in: Likewise.
4418
6a88da51 44192008-04-18 Paolo Bonzini <bonzini@gnu.org>
4420
4421 PR bootstrap/35457
4422 * aclocal.m4: Regenerate.
4423 * configure: Regenerate.
4424
5205ccb0 44252008-03-18 Jakub Jelinek <jakub@redhat.com>
4426
0c378ed9 4427 PR middle-end/35611
4428 * testsuite/libgomp.c/atomic-4.c: New test.
4429
5205ccb0 4430 PR libgomp/35625
4431 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
4432 (gomp_iter_guided_next): Likewise.
4433 * testsuite/libgomp.c/pr35625.c: New test.
4434
82eaf560 44352008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4436
4437 * aclocal.m4: Regenerate.
4438 * configure: Likewise.
4439 * Makefile.in: Likewise.
4440 * testsuite/Makefile.in: Likewise.
4441
a4890dc9 44422008-03-13 Jakub Jelinek <jakub@redhat.com>
4443
4444 PR middle-end/35185
4445 * testsuite/libgomp.c++/pr35185.C: New test.
4446
e8a588af 44472008-03-12 Jakub Jelinek <jakub@redhat.com>
4448
4449 PR middle-end/35549
4450 * testsuite/libgomp.c/pr35549.c: New test.
4451
83c5f690 44522008-03-06 Jakub Jelinek <jakub@redhat.com>
4453
4454 * testsuite/libgomp.c/atomic-3.c: New test.
4455
ff4425cf 44562008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4457
4458 PR fortran/33197
83c5f690 4459 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
ff4425cf 4460 .F08 file suffixes.
4461
ab7cd804 44622008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
4463
4464 PR libgomp/33131
4465 * configure.ac: Add ACX_HEADER_STRING.
4466 * env.c: Include strings.h.
4467 * aclocal.m4: Regenerate.
4468 * config.h.in: Regenerate.
4469 * configure: Regenerate.
4470 * Makefile.in: Regenerate.
4471 * testsuite/Makefile.in: Regenerate.
4472
a5268989 44732008-02-15 Jakub Jelinek <jakub@redhat.com>
4474
d74e6897 4475 PR middle-end/35196
4476 * testsuite/libgomp.c/pr35196.c: New test.
4477
a5268989 4478 PR middle-end/35130
4479 * testsuite/libgomp.fortran/pr35130.f90: New test.
4480 * testsuite/libgomp.c/pr35130.c: New test.
4481
b43fc0dc 44822008-01-25 Jakub Jelinek <jakub@redhat.com>
4483
4484 PR middle-end/33880
4485 * testsuite/libgomp.c/pr33880.c: New test.
4486 * testsuite/libgomp.fortran/pr33880.f90: New test.
4487
c230b883 44882008-01-24 David Edelsohn <edelsohn@gnu.org>
c8db569e 4489
4490 * configure: Regenerate.
4491
cfbdd7de 44922008-01-08 Jakub Jelinek <jakub@redhat.com>
4493
4494 * configure.ac: Move futex checking into ../config/futex.m4.
4495 * configure: Rebuilt.
4496 * aclocal.m4: Rebuilt.
4497 * Makefile.in: Rebuilt.
4498
4499 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
4500 2007-10-15 ../config/tls.m4 change.
4501
355efab1 45022007-12-19 Jakub Jelinek <jakub@redhat.com>
4503
4504 PR c++/34513
4505 * testsuite/libgomp.c/pr34513.c: New test.
4506 * testsuite/libgomp.c++/pr34513.C: New test.
4507
a3e43c56 45082007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
4509
4510 PR target/32765
4511 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
4512
658b4427 45132007-12-04 Jakub Jelinek <jakub@redhat.com>
4514
4515 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
4516
87b31375 45172007-12-03 Jakub Jelinek <jakub@redhat.com>
4518
4519 * testsuite/libgomp.c/private-1.c: New test.
4520
097bd8a7 45212007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
4522 Paolo Bonzini <bonzini@gnu.org>
4523
4524 * Makefile.am: Use space as vpath separator. Use 'vpath %'
4525 instead of 'VPATH ='.
4526 * Makefile.in: Regenerate.
4527
41b2fb5d 45282007-11-23 Matthias Klose <doko@ubuntu.com>
4529
4530 * configure.ac: Adjust makeinfo version check.
4531 * configure: Regenerate.
4532
dcaa067e 45332007-11-10 Jakub Jelinek <jakub@redhat.com>
4534
4535 PR fortran/34020
4536 * testsuite/libgomp.fortran/pr34020.f90: New test.
4537
221e68f2 45382007-11-06 Jakub Jelinek <jakub@redhat.com>
4539
4540 PR c++/33894
4541 * testsuite/libgomp.c++/atomic-1.C: New test.
4542
f0cc9288 45432007-10-25 Jakub Jelinek <jakub@redhat.com>
4544
4545 PR libgomp/33275
4546 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
4547 Make x and y integers rather than (implicit) reals. Add private (j)
4548 clause to the last omp parallel.
4549
23d7dd8c 45502007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
4551
4552 * configure: Regenerate following changes to ../config/tls.m4.
4553
c56154bd 45542007-09-28 Jakub Jelinek <jakub@redhat.com>
4555
4556 * testsuite/libgomp.fortran/stack.f90: New test.
4557
7169d0ea 45582007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
4559
4560 * config/mingw32/proc.c: New file.
4561
daf03e2f 45622007-09-05 Uros Bizjak <ubizjak@gmail.com>
4563
4564 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
4565 (main): Use __get_cpuid to get i386 target fetaures.
4566 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
4567 (main): Use __get_cpuid to get x86_64 target fetaures.
4568
e028e5d7 45692007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
4570
4571 PR target/32765
4572 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
4573 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
4574
7ba2cc33 45752007-07-12 Jakub Jelinek <jakub@redhat.com>
4576
4577 PR fortran/32550
4578 * testsuite/libgomp.fortran/pr32550.f90: New test.
4579 * testsuite/libgomp.fortran/crayptr2.f90: New test.
4580
cecc75a9 45812007-07-05 H.J. Lu <hongjiu.lu@intel.com>
4582
4583 * aclocal.m4: Regenerated.
4584
bc5d6438 45852007-07-05 Tobias Burnus <burnus@net-b.de>
4586
4587 PR fortran/32359
4588 * testsuite/libgomp.fortran/pr32359.f90: New.
4589
c4fb4e80 45902007-07-02 Jakub Jelinek <jakub@redhat.com>
4591
4592 PR libgomp/32468
4593 * sections.c (GOMP_parallel_sections_start): Only decrease
4594 number of threads to COUNT if dyn_var is true.
4595 * testsuite/libgomp.c/pr32468.c: New test.
4596
b131297d 45972007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
4598
4599 PR libgomp/26308
4600 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
4601
c37594c7 46022007-06-21 Jakub Jelinek <jakub@redhat.com>
4603
4604 PR middle-end/32362
4605 * testsuite/libgomp.c/pr32362-1.c: New test.
4606 * testsuite/libgomp.c/pr32362-2.c: New test.
4607 * testsuite/libgomp.c/pr32362-3.c: New test.
4608
ec7f3db0 46092007-06-07 Jakub Jelinek <jakub@redhat.com>
4610
4611 * team.c (gomp_team_start): Fix setting up thread_attr
4612 stack size.
4613
07c46636 46142007-06-02 Paolo Bonzini <bonzini@gnu.org>
4615
4616 * configure: Regenerate.
4617
542f9784 46182007-05-23 Steve Ellcey <sje@cup.hp.com>
4619
4620 * Makefile.in: Regenerate.
4621 * configure: Regenerate.
4622 * aclocal.m4: Regenerate.
4623 * testsuite/Makefile.in: Regenerate.
4624
f86a5520 46252007-05-04 Jakub Jelinek <jakub@redhat.com>
4626
4627 * config/linux/proc.c: New file.
4628
6d7d7002 4629 PR libgomp/28482
4630 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
4631
d8020e98 46322007-04-19 Daniel Franke <franke.daniel@gmail.com>
4633
4634 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
4635
d9f51b56 46362007-04-16 Matthias Klose <doko@debian.org>
4637
4638 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
4639 flags if not building with -m64.
4640 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
4641 flag for i?86-*-* targets, if current target matches -m64.
4642
21d39539 46432007-04-14 Steve Ellcey <sje@cup.hp.com>
4644
4645 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
4646 * Makefile.in: Regenerate.
4647
4eb4d92d 46482007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4649
4650 PR testsuite/31369
4651 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
4652 ld_library_path.
4653 * testsuite/libgomp.fortran/fortran.exp: Likewise.
4654
8f697de6 46552007-04-04 Jakub Jelinek <jakub@redhat.com>
4656
4657 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
4658 decls.
4659 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
4660 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
4661 (parse_affinity): New function.
4662 (initialize_env): Call it and gomp_init_affinity.
4663 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
4664 create new pthread_attr_t and call gomp_init_thread_affinity
4665 on it for each thread before passing the attribute to pthread_create.
4666 * config/linux/affinity.c: New file.
4667 * config/posix/affinity.c: New file.
4668 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
4669 * configure: Rebuilt.
4670 * config.h.in: Rebuilt.
4671 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
4672 * Makefile.in: Rebuilt.
4673
e00b2142 46742007-03-23 Andreas Tobler <a.tobler@schweiz.org>
4675
4676 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
4677 *-*-darwin*.
4678 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
4679 and use it if found.
4680
a17d193e 46812007-03-18 Uros Bizjak <ubizjak@gmail.com>
4682
4683 * testsuite/config/default.exp: New file.
4684 * testsuite/lib/libgomp.exp: New file.
4685 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
4686 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
4687 load_lib *, load_gcc_lib *): Move to libgomp.exp.
4688 (libgomp_load): Remove.
4689 * testsuite/lib/libgomp.exp (libgomp_init): Compute
4690 always_ld_library_path, not ld_library_path. Set additional_flags
4691 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
4692 (target_compile): Do not call libgomp_init. Append lang_library_path
4693 and lang_link_flags to options.
4694 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
4695 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
4696 here.
4697 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
4698 always_ld_library_path. Set LD_LIBRARY_PATH here.
4699 * testsuite/libgomp.fortran/fortran.exp: Ditto.
4700 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
4701 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
4702 CX8 flag.
4703 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
4704 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
4705 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
4706 * testsuite/libgomp.c/pr29947-1.c: Ditto.
4707 * testsuite/libgomp.c/atomic-10.c: Ditto.
4708
7619cb36 47092007-03-21 Jakub Jelinek <jakub@redhat.com>
4710
4711 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
4712 dg-final cleanup-modules line.
4713 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
4714 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
4715 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
4716 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
4717 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
4718 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
4719 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
4720
20d905ca 47212007-03-18 Andreas Schwab <schwab@suse.de>
4722
4723 * acinclude.m4: Adjust regular expression for ld version
4724 extraction.
4725 * configure: Regenerate.
4726
bdad761b 47272007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
4728
4729 * Makefile.am: Add install-pdf target as copied from
4730 automake v1.10 rules.
4731 * Makefile.in: Regenerate
4732
6bfa729b 47332007-02-07 Jakub Jelinek <jakub@redhat.com>
4734
1196de9e 4735 PR libgomp/28486
4736 * configure: Regenerate.
4737
6bfa729b 4738 PR c++/30703
4739 * testsuite/libgomp.c++/pr30703.C: New test.
4740
cd7cbccd 47412007-02-02 Jakub Jelinek <jakub@redhat.com>
4742
4743 Revert:
4744 2006-07-05 Eric Christopher <echristo@apple.com>
4745 * configure.ac: Depend addition of -pthread on host OS.
4746 * configure: Regenerate.
4747
ae9377a0 47482007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4749
4750 * libgomp.texi: Fix spacing after abbreviations.
4751
439d698f 47522007-01-31 Daniel Franke <franke.daniel@gmail.com>
4753
4754 PR libgomp/30546
4755 * configure.ac: Add check for makeinfo
4756 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
4757 if an appropiate version of makeinfo is found.
4758 * aclocal.m4: Regenerated.
4759 * configure: Regenerated.
4760 * Makefile.in: Regenerated.
4761 * testsuite/Makefile.in: Regenerated.
4762
4340eeb4 47632007-01-29 Daniel Franke <franke.daniel@gmail.com>
4764
4765 PR libgomp/30540
4766 * libgomp.texi: More about implementation-dependent settings.
4767
f30a3c31 47682007-01-26 Tobias Burnus <burnus@net-b.de>
4769
4770 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
4771
fc6ebbc0 47722007-01-24 Jakub Jelinek <jakub@redhat.com>
4773
4774 PR middle-end/30494
4775 * testsuite/libgomp.c/pr30494.c: New test.
4776
aeda7a78 47772007-01-15 Tom Tromey <tromey@redhat.com>
4778
4779 * configure: Rebuilt.
4780 * configure.ac: Fixed comment.
4781
020b8d27 47822007-01-14 Daniel Franke <franke.daniel@gmail.com>
4783
4784 * libgomp.texi: Document implementation specific default values of
4785 environment variables.
4786
0ed6d012 47872006-12-21 Daniel Franke <franke.daniel@gmail.com>
4788
4789 PR libgomp/28209
4790 * libgomp.texi: New file.
4791 * configure.ac: Add --enable-generated-files-in-srcdir option.
4792 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
4793 files to srcdir.
4794 * Makefile.in: Regenerated.
4795 * config.h.in: Regenerated.
4796 * testsuite/Makefile.in: Regenerated.
4797 * NOTES: Removed.
4798
f17fac86 47992006-12-04 Daniel Franke <franke.daniel@gmail.com>
4800
4801 PR libgomp/29949
4802 * env.c (omp_set_num_threads): Set illegal thread count to 1.
4803
72a430e4 48042006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
4805
4806 * configure: Regenerate.
4807
497f2858 48082006-12-04 Jakub Jelinek <jakub@redhat.com>
4809
4810 PR libgomp/29947
4811 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
4812 start if there shouldn't be any loop iterations.
4813 (gomp_loop_ordered_static_start): Remove start == end test.
4814 * testsuite/libgomp.c/pr29947-1.c: New test.
4815 * testsuite/libgomp.c/pr29947-2.c: New test.
4816
656db5a0 48172006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
4818
4819 * configure.tgt: Force initial-exec TLS model on Linux only.
4820
67ba0753 48212006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
4822
4823 * configure: Regenerated.
4824
168d85f0 48252006-11-09 Uros Bizjak <ubizjak@gmail.com>
4826
4827 * env.c (parse_schedule): Reject out of range values.
4828 (parse_unsigned_long): Reject out of range, negative or zero values.
4829
6b969640 48302006-10-29 Jakub Jelinek <jakub@redhat.com>
4831
4832 PR fortran/29629
4833 * testsuite/libgomp.fortran/pr29629.f90: New test.
4834
c1c80391 48352006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
4836
4837 PR libgomp/29494
4838 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
4839 * config/posix95: New directory.
4840 * config/posix95/omp-lock.h: New file.
4841 * config/posix95/lock.c: Likewise.
4842
ff434425 48432006-10-14 Geoffrey Keating <geoffk@apple.com>
4844
4845 * aclocal.m4: Regenerate.
4846 * configure: Regenerate.
4847
3adbdf3a 48482006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
4849
4850 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
4851 '<' to '<='.
4852
c812091b 48532006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
4854
4855 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
4856 test.
4857 * configure: Regenerate.
4858 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
4859
a5297f53 48602006-09-26 Jakub Jelinek <jakub@redhat.com>
4861
76d042ab 4862 PR middle-end/25261
4863 PR middle-end/28790
4864 * testsuite/libgomp.c/nestedfn-4.c: New test.
4865 * testsuite/libgomp.c/nestedfn-5.c: New test.
4866 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
4867
a5297f53 4868 PR fortran/29097
4869 * testsuite/libgomp.fortran/condinc1.f: New test.
4870 * testsuite/libgomp.fortran/condinc2.f: New test.
4871 * testsuite/libgomp.fortran/condinc3.f90: New test.
4872 * testsuite/libgomp.fortran/condinc4.f90: New test.
4873 * testsuite/libgomp.fortran/condinc1.inc: New file.
4874
e564ddd8 48752006-09-18 Tom Tromey <tromey@redhat.com>
4876
4877 * configure: Rebuilt.
4878
0b67f687 48792006-09-13 Joseph S. Myers <joseph@codesourcery.com>
4880
4881 PR c/28768
4882 PR preprocessor/14634
4883 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
4884 to AC_DEFINE.
4885 * configure: Regenerate.
4886
180476fa 48872006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
4888
4889 * testsuite/libgomp.fortran/reduction3.f90: Change
4890 -2147483648 to -huge(i)-1 to avoid overflow.
4891 * testsuite/libgomp.fortran/reduction4.f90: Change
4892 Z'ffffffff' to not(0) to avoid overflow.
4893
f46c9433 48942006-08-26 Joseph S. Myers <joseph@codesourcery.com>
4895
4896 PR libgomp/25938
4897 * Makefile.am (libsubincludedir): New.
4898 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
4899 * Makefile.in: Regenerate.
4900
8278bf29 49012006-08-17 Jakub Jelinek <jakub@redhat.com>
4902
4903 PR libgomp/28725
4904 * env.c: Include ctype.h.
4905 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
4906 leading and/or trailing whitespace and compare strings case
4907 insensitively.
4908
fadc302e 49092006-07-16 Jakub Jelinek <jakub@redhat.com>
4910
4911 PR fortran/28390
4912 * testsuite/libgomp.fortran/pr28390.f: New test.
4913
536f65bb 49142006-07-05 Eric Christopher <echristo@apple.com>
4915
4916 * configure.ac: Depend addition of -pthread on host OS.
4917 * configure: Regenerate.
4918
f1e89bc3 49192006-06-21 Jakub Jelinek <jakub@redhat.com>
4920
4921 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
4922 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
4923 defined.
4924
2eca990d 49252006-06-20 Jakub Jelinek <jakub@redhat.com>
4926
4927 PR libgomp/26175
4928 PR libgomp/26477
4929 * configure.ac: If neither --enable-linux-futex nor
4930 --disable-linux-futex is passed, determine the default by checking
4931 for compiling and/or running against NPTL. With --enable-linux-futex,
4932 check if SYS_gettid and SYS_futex are defined.
4933 * configure: Rebuilt.
4934
2ea0eaec 49352006-06-14 Richard Henderson <rth@redhat.com>
4936
4937 PR libgomp/28008
4938 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
4939 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
4940
ba893327 49412006-06-09 Richard Henderson <rth@redhat.com>
4942
4943 * env.c (gomp_nthreads_var): Change to unsigned long.
4944 (gomp_run_sched_chunk): Likewise.
4945 (parse_unsigned_long): Rename from parse_num_threads and generalize.
4946 (initialize_env): Initialize gomp_thread_attr.
4947 * libgomp.h (gomp_nthreads_var): Update decl.
4948 (gomp_run_sched_chunk): Likewise.
4949 (gomp_thread_attr): Declare.
4950 * team.c (gomp_thread_attr): Export.
4951 (initialize_team): Don't initialize it.
4952
d678a061 49532006-06-09 Jakub Jelinek <jakub@redhat.com>
4954
4955 PR fortran/27916
4956 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
4957 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
4958
5fbe6585 49592006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
4960
4961 * config/mingw32/time.c: New file.
4962 * configure.tgt: Use it.
4963
b03c1c38 49642006-05-23 Carlos O'Donell <carlos@codesourcery.com>
4965
4966 * Makefile.am: Add install-html target. Add install-html to .PHONY
4967 * Makefile.in: Regenerate.
4968
3e790634 49692006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
4970
4971 PR libgomp/27612
4972 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
4973 * testsuite/libgomp.c/critical-1.c: Likewise.
4974 * testsuite/libgomp.c/loop-1.c: Likewise.
4975 * testsuite/libgomp.c/loop-2.c: Likewise.
4976 * testsuite/libgomp.c/single-1.c: Likewise.
4977 * testsuite/libgomp.c/ordered-1.c: Likewise.
4978 * testsuite/libgomp.c/ordered-2.c: Likewise.
4979
9438af57 49802006-05-15 Jakub Jelinek <jakub@redhat.com>
4981
4982 PR middle-end/27416
4983 * libgomp.fortran/pr27416-1.f90: New test.
4984
0f9d10d4 49852006-05-03 Jakub Jelinek <jakub@redhat.com>
4986
4987 PR fortran/27395
4988 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
4989 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
4990
f49d7bb5 49912006-05-02 Jakub Jelinek <jakub@redhat.com>
4992
4993 PR c++/26943
4994 * testsuite/libgomp.c/pr26943-1.c: New test.
4995 * testsuite/libgomp.c/pr26943-2.c: New test.
4996 * testsuite/libgomp.c/pr26943-3.c: New test.
4997 * testsuite/libgomp.c/pr26943-4.c: New test.
4998 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
4999 * testsuite/libgomp.c++/pr26943.C: New test.
5000
df2c34fc 50012006-05-02 Jakub Jelinek <jakub@redhat.com>
5002
5003 PR middle-end/27337
5004 * testsuite/libgomp.c++/pr27337.C: New test.
5005
d91321f0 50062006-04-26 Jakub Jelinek <jakub@redhat.com>
5007
5008 PR c/26171
5009 * testsuite/libgomp.c/pr26171.c: New test.
5010
4d006f8a 50112006-04-25 Richard Henderson <rth@redhat.com>
5012
5013 PR libgomp/25865
5014 * configure.ac: Use GCC_CHECK_TLS.
5015 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
5016 * Makefile.in, aclocal.m4, configure: Regenerate.
5017
d35f63a9 50182006-04-10 Matthias Klose <doko@debian.org>
5019
5020 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
5021 directory names containing underscores.
5022
2f2c591f 50232006-03-21 Jakub Jelinek <jakub@redhat.com>
5024
5025 PR c++/26691
5026 * testsuite/libgomp.c++/pr26691.C: New test.
5027
b01f72f3 50282006-03-13 Jakub Jelinek <jakub@redhat.com>
5029
5030 * testsuite/libgomp.fortran/retval2.f90: New test.
5031
8487df40 50322006-03-09 Diego Novillo <dnovillo@redhat.com>
5033
5034 * testsuite/libgomp.c++: New directory.
5035
59da30e1 50362006-02-25 Shantonu Sen <ssen@opendarwin.org>
5037
5038 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
5039 * config/posix/sem.c: Implement the above.
5040
50412006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
5042
5043 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
5044 define HAVE_BROKEN_POSIX_SEMAPHORES.
5045 * configure: Rebuilt.
5046 * config.h.in: Rebuilt.
5047
b00e3183 50482006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
5049
5050 PR bootstrap/26161
5051 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
5052 for the other pthread check.
5053 * configure: Regenerate.
5054 * config.h.in: Regenerate.
5055
ebe48f5e 50562006-02-15 Jakub Jelinek <jakub@redhat.com>
5057
5058 PR libgomp/25938
5059 PR libgomp/25984
5060 * Makefile.am (fincludedir): New variable.
5061 (nodist_include_HEADERS): Remove Fortran files.
5062 (nodist_finclude_HEADERS): New variable.
5063 * Makefile.in: Regenerated.
5064
764f1175 50652006-02-13 Jakub Jelinek <jakub@redhat.com>
5066
5067 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
5068 Remove tests for returning assumed character length arrays.
5069
88291313 50702006-02-12 Roger Sayle <roger@eyesopen.com>
5071 John David Anglin <dave@hiauly1.hia.nrc.ca>
5072
5073 PR libgomp/25936
5074 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
536f65bb 5075
be5a58a2 50762006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
5077
5078 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
5079
9992cb6a 50802006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
5081
5082 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
5083 part of LD_LIBRARY_PATH manually.
5084
efb53cf6 50852006-02-03 H.J. Lu <hongjiu.lu@intel.com>
5086
5087 PR libgomp/25852
5088 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
5089 libgomp_init.
5090
107c3bbf 50912005-01-25 Paolo Bonzini <bonzini@gnu.org>
5092
5093 PR libgomp/25884
efb53cf6 5094 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
5095 * configure.ac (PERL): Don't set.
5096 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
5097 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
5098 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
5099 * omp.h.in: Wrap the new configure substitutions with @ characters.
5100 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
5101 * aclocal.m4, configure, Makefile.in: Regenerate.
5102 * mkomp_h.pl: Delete.
107c3bbf 5103
01473a49 51042005-01-24 Paolo Bonzini <bonzini@gnu.org>
5105
5106 PR libgomp/25259
5107 * configure.ac: Use GCC_HEADER_STDINT.
5108 * libgomp.h: Include gstdint.h.
5109 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
5110 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
5111
a263d1ab 51122006-01-24 Richard Henderson <rth@redhat.com>
5113
5114 PR libgomp/25942
5115 * configure.ac: Add AM_MAINTAINER_MODE.
5116 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
5117
d88a3dee 51182006-01-24 Diego Novillo <dnovillo@redhat.com>
5119
5120 * Makefile.in: Regenerate.
5121 * testsuite/Makefile.in: Regenerate.
5122 * aclocal.m4: Regenerate.
5123
138f59be 51242006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
5125
5126 * config/posix/proc.c: Conditional include of sys/loadavg.h for
5127 Solaris.
5128 * configure.ac: Add check for loadavg.h.
5129 (link_gomp): Adjust comment.
5130 * configure: Regenerate.
5131 * config.h.in: Regenerate.
5132
fe87ce9b 51332006-01-21 Steve Ellcey <sje@cup.hp.com>
5134
5135 PR libgomp/25877
5136 * configure.ac: Remove check for alloca.h.
5137 * configure: Regenerate.
5138 * config.h.in: Regenerate.
5139 * libgomp.h: define gomp_alloca to be __builtin_alloca.
5140 * team.c: Remove use of alloca.h.
5141 Call gomp_alloca instead of alloca.
5142
ef2e6d4f 51432006-01-20 Steve Ellcey <sje@cup.hp.com>
5144
5145 PR libgomp/25877
5146 * team.c: Add include of alloca.h.
5147 * configure.ac: Add check for alloca.h.
5148 * configure: Regenerate.
5149 * config.h.in: Regenerate.
5150
1e8e9920 51512006-01-17 Jakub Jelinek <jakub@redhat.com>
5152
5153 PR fortran/25219
5154 * testsuite/libgomp.fortran/pr25219.f90: New test.
5155
51562005-12-05 Uros Bizjak <uros@kss-loka.si>
5157
5158 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
5159 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
5160 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
5161 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
5162 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
5163 testsuite/libgomp.fortran/threadprivate1.f90,
5164 testsuite/libgomp.fortran/threadprivate2.f90,
5165 testsuite/libgomp.fortran/threadprivate3.f90,
5166 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
5167 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
5168 testsuite/libgomp.fortran/omp_parse3.f90: Change required
5169 effective-target to TLS runtime.
5170
5171 * testsuite/libgomp.fortran/pr25162.f: Require
5172 effective-target TLS runtime.
5173
51742005-12-01 Jakub Jelinek <jakub@redhat.com>
5175
5176 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
5177 * testsuite/libgomp.c/nestedfn-3.c: New test.
5178
51792005-11-30 Jakub Jelinek <jakub@redhat.com>
5180
5181 PR fortran/25162
5182 * testsuite/libgomp.fortran/pr25162.f: New test.
5183
51842005-11-28 Jakub Jelinek <jakub@redhat.com>
5185
5186 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
5187 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
5188
51892005-11-25 Jakub Jelinek <jakub@redhat.com>
5190
5191 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
5192 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
5193 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
5194 single.c, team.c, work.c, config/linux/alpha/futex.h,
5195 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
5196 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
5197 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
5198 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
5199 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
5200 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
5201 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
5202 FSF address.
5203
52042005-11-18 Jakub Jelinek <jakub@redhat.com>
5205
5206 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
5207 to nodist_noinst_HEADERS.
5208 * Makefile.in: Rebuilt.
5209
5210 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
5211 add integer count field.
5212 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
5213 omp_nest_lock_t type change.
5214 (omp_init_nest_lock): Likewise. Initialize count to 0.
5215 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
5216 Increment count.
5217 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
5218 Decrement count.
5219 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
5220 Increment count if successful and return the new nesting level.
5221 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
5222 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
5223 * testsuite/libgomp.c/lib-1.c: New test.
5224 * testsuite/libgomp.fortran/lib1.f90: New test.
5225 * testsuite/libgomp.fortran/lib2.f: New test.
5226 * testsuite/libgomp.fortran/lib3.f: New test.
5227
52282005-11-17 Richard Henderson <rth@redhat.com>
5229
5230 PR 24845
5231 * Makefile.am (nodist_toolexeclib_HEADERS): New.
5232 * configure.ac (link_gomp): New. Substitute it.
5233 (AC_CONFIG_FILES): Add libgomp.spec.
5234 * libgomp.spec.in: New file.
5235 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
5236 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
5237
52382005-11-18 Jakub Jelinek <jakub@redhat.com>
5239
5240 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
5241 reduction(-:var) behaving the same as reduction(+:var).
5242 * testsuite/libgomp.c/reduction-4.c: New test.
5243
52442005-11-15 Uros Bizjak <uros@kss-loka.si>
5245
5246 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
5247 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
5248 testsuite/libgomp.c/copyin-3.c,
5249 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
5250 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
5251 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
5252 testsuite/libgomp.c++/pr24455.C,
5253 testsuite/libgomp.fortran/threadprivate1.f90,
5254 testsuite/libgomp.fortran/threadprivate2.f90,
5255 testsuite/libgomp.fortran/threadprivate3.f90,
5256 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
5257 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
5258 testsuite/libgomp.fortran/omp_parse3.f90: Require
5259 effective-target TLS.
5260
52612005-11-14 Diego Novillo <dnovillo@redhat.com>
5262
5263 * HEADER: Remove.
5264
52652005-11-13 Jakub Jelinek <jakub@redhat.com>
5266
5267 PR libgomp/24797
5268 * team.c (initialize_team): Pass NULL rather than free as
5269 pthread_key_create destructor. Initialize thread specific data
5270 pointer in initial thread to a static local variable rather than
5271 malloced memory.
5272
52732005-11-11 Uros Bizjak <uros@kss-loka.si>
5274
5275 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
5276 its location to ld_library_path.
5277
52782005-11-10 Diego Novillo <dnovillo@redhat.com>
5279
5280 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
5281
52822005-11-10 Diego Novillo <dnovillo@redhat.com>
5283
5284 * testsuite/libgomp.c: Rename from libgomp.dg.
5285
52862005-11-09 Diego Novillo <dnovillo@redhat.com>
5287
5288 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
5289 threadprivate variable 'i'.
5290
52912005-11-09 Jakub Jelinek <jakub@redhat.com>
5292
5293 * config/linux/s390/futex.h: New file.
5294 * configure.tgt: Use it.
5295
5296 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
5297 before the parallel.
5298
52992005-11-08 Jakub Jelinek <jakub@redhat.com>
5300
5301 PR c++/24734
5302 * testsuite/libgomp.c++/master-1.C: New test.
5303
53042005-11-07 Jakub Jelinek <jakub@redhat.com>
5305
5306 * testsuite/libgomp.dg/copyin-3.c: New test.
5307
53082005-11-07 Jakub Jelinek <jakub@redhat.com>
5309
5310 * testsuite/libgomp.fortran/retval1.f90: New test.
5311 * testsuite/libgomp.fortran/vla7.f90: New test.
5312
53132005-11-06 Jakub Jelinek <jakub@redhat.com>
5314
5315 * testsuite/libgomp.fortran/vla2.f90: New test.
5316 * testsuite/libgomp.fortran/vla3.f90: New test.
5317 * testsuite/libgomp.fortran/vla4.f90: New test.
5318 * testsuite/libgomp.fortran/vla5.f90: New test.
5319 * testsuite/libgomp.fortran/vla6.f90: New test.
5320
53212005-11-01 Jakub Jelinek <jakub@redhat.com>
5322
5323 * config/linux/sparc/futex.h: New file.
5324 * configure.tgt: Use it.
5325 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
5326
5327 * critical.c: Include stdlib.h.
5328 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
5329 ignoring return value.
5330 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
5331 LIBGOMP_CHECK_SYNC_BUILTINS check.
5332 * configure: Rebuilt.
5333
53342005-10-31 Jakub Jelinek <jakub@redhat.com>
5335
5336 * testsuite/libgomp.fortran/vla1.f90: New test.
5337
53382005-10-31 Richard Henderson <rth@redhat.com>
5339
5340 * testsuite/libgomp.fortran/character2.f90: Fix race condition
5341 setting 's' in different threads.
5342
53432005-10-31 Jakub Jelinek <jakub@redhat.com>
5344
5345 * libgomp.h (attribute_hidden, ialias): Define.
5346 * config/posix/proc.c (omp_get_num_procs): Add ialias.
5347 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
5348 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
5349 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
5350 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
5351 omp_test_lock, omp_test_nest_lock): Likewise.
5352 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
5353 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
5354 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
5355 omp_test_lock, omp_test_nest_lock): Likewise.
5356 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
5357 omp_get_dynamic, omp_get_nested): Likewise.
5358 * parallel.c (omp_get_num_threads, omp_get_max_threads,
5359 omp_get_thread_num, omp_in_parallel): Likewise.
5360 * fortran.c (ialias_redirect): Define.
5361 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
5362 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
5363 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
5364 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
5365 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
5366 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
5367 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
5368 omp_get_wtime): Add ialias_redirect.
5369
53702005-10-30 Jakub Jelinek <jakub@redhat.com>
5371
5372 * fortran.c: Include stdlib.h.
5373
53742005-10-29 Jakub Jelinek <jakub@redhat.com>
5375
5376 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
5377 * Makefile.in: Regenerated.
5378
53792005-10-28 Jakub Jelinek <jakub@redhat.com>
5380
5381 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
5382 * libgomp_f.h.in (omp_check_defines): New function.
5383 * env.c: Include libgomp_f.h.
5384 (initialize_env): Call omp_check_defines.
5385
5386 * testsuite/libgomp.dg/copyin-2.c: New test.
5387 * testsuite/libgomp.c++/copyin-2.C: New test.
5388 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
5389
5390 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
5391 * testsuite/libgomp.fortran/sharing2.f90: New test.
5392
5393 * testsuite/libgomp.dg/copyin-1.c: New test.
5394 * testsuite/libgomp.c++/copyin-1.C: New test.
5395
53962005-10-26 Jakub Jelinek <jakub@redhat.com>
5397
5398 * testsuite/libgomp.fortran/crayptr1.f90: New test.
5399
5400 * testsuite/libgomp.fortran/workshare1.f90: New test.
5401
5402 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
5403 only test.
5404 * libgomp.fortran/sharing1.f90: New test.
5405
54062005-10-24 Jakub Jelinek <jakub@redhat.com>
5407
5408 PR c++/24502
5409 * testsuite/libgomp.c++/loop-7.C: New test.
5410
5411 * testsuite/libgomp.dg/nestedfn-2.c: New test.
5412
5413 * testsuite/libgomp.dg/nestedfn-1.c: New test.
5414 * testsuite/libgomp.fortran/reduction6.f90: New test.
5415 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
5416
54172005-10-23 Richard Henderson <rth@redhat.com>
5418
5419 * testsuite/libgomp.c++/ctor-1.C: New.
5420 * testsuite/libgomp.c++/ctor-2.C: New.
5421 * testsuite/libgomp.c++/ctor-3.C: New.
5422 * testsuite/libgomp.c++/ctor-4.C: New.
5423 * testsuite/libgomp.c++/ctor-5.C: New.
5424 * testsuite/libgomp.c++/ctor-6.C: New.
5425 * testsuite/libgomp.c++/ctor-7.C: New.
5426 * testsuite/libgomp.c++/ctor-8.C: New.
5427 * testsuite/libgomp.c++/ctor-9.C: New.
5428
54292005-10-21 Diego Novillo <dnovillo@redhat.com>
5430
5431 PR 24455
5432 * testsuite/libgomp.c++/pr24455-1.C: New test.
5433 * testsuite/libgomp.c++/pr24455.C: New test.
5434 * testsuite/libgomp.dg/pr24455-1.c: New test.
5435 * testsuite/libgomp.dg/pr24455.c: New test.
5436
54372005-10-20 Richard Henderson <rth@redhat.com>
5438
5439 * testsuite/libgomp.c++/loop-6.C: New.
5440 * testsuite/libgomp.dg/loop-3.c: New.
5441
54422005-10-20 Jakub Jelinek <jakub@redhat.com>
5443
5444 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
5445 explicitly private.
5446 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
5447 explicitly shared.
5448
54492005-10-19 Diego Novillo <dnovillo@redhat.com>
5450
5451 * testsuite/libgomp.fortran/jacobi.f: New test.
5452
54532005-10-19 Richard Henderson <rth@redhat.com>
5454
5455 * configure.tgt (i?86-linux): Default to with_arch instead of
5456 CFLAGS. Add -mtune to match target_cpu.
5457 (x86_64-linux): Tune to i686.
5458
5459 * fortran.c (omp_test_nest_lock_): Fix typo.
5460
54612005-10-19 Jakub Jelinek <jakub@redhat.com>
5462
5463 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
5464 gomp_ordered_sync): Do nothing if team->nthreads == 1.
5465 * testsuite/libgomp.dg/ordered-3.c: New test.
5466
5467 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
5468 Remove volatile keyword.
5469
5470 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
5471 in COMMON block to avoid warnings on 64-bit targets.
5472
54732005-10-18 Diego Novillo <dnovillo@redhat.com>
5474
5475 * testsuite/libgomp.dg/shared-3.c: New test.
5476
54772005-10-18 Jakub Jelinek <jakub@redhat.com>
5478
5479 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
5480 * testsuite/libgomp.fortran/reduction5.f90: New test.
5481
54822005-10-18 Jakub Jelinek <jakub@redhat.com>
5483
5484 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
5485 dg-options.
5486 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
5487 flush loop now that __sync_synchronize has proper memory barrier.
5488 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
5489 Add -ffixed-form to dg-options.
5490
54912005-10-17 Diego Novillo <dnovillo@redhat.com>
5492
5493 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
5494 from subdirectories.
5495 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
5496 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
5497 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
5498 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
5499 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
5500 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
5501 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
5502 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
5503 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
5504 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
5505 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
5506 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
5507 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
5508 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
5509 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
5510 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
5511 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
5512 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
5513 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
5514 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
5515 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
5516 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
5517 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
5518 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
5519 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
5520
55212005-10-17 Jakub Jelinek <jakub@redhat.com>
5522
5523 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
5524 lang_library_path exists. Use find instead of glob to gather tests.
5525 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
5526
55272005-10-17 Diego Novillo <dnovillo@redhat.com>
5528
5529 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
5530 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
5531 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
5532 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
5533 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
5534 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
5535 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
5536 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
5537 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
5538 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
5539 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
5540 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
5541 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
5542
55432005-10-15 Jakub Jelinek <jakub@redhat.com>
5544
5545 * testsuite/libgomp.dg/vla-1.c: New test.
5546
5547 * testsuite/libgomp.fortran/reference2.f90: New test.
5548
5549 * testsuite/libgomp.fortran/character2.f90: Remove explicit
5550 declaration of omp_get_thread_num.
5551 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
5552 use omp_lib.
5553
5554 * testsuite/libgomp.fortran/reduction1.f90: New test.
5555 * testsuite/libgomp.fortran/reduction2.f90: New test.
5556 * testsuite/libgomp.fortran/reduction3.f90: New test.
5557 * testsuite/libgomp.fortran/reduction4.f90: New test.
5558
55592005-10-13 Richard Henderson <rth@redhat.com>
5560
5561 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
5562 * Makefile.in: Regenerate.
5563 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
5564 * libgomp.h: Include bar.h.
5565 (struct gomp_barrier): Remove.
5566 (struct gomp_team): Add barrier. Replace master_barrier with
5567 master_release. Replace threads with ordered_release.
5568 (struct gomp_thread): Replace barrier with release.
5569 * ordered.c (gomp_ordered_first): Update for ordered_release change.
5570 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
5571 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
5572 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
5573 (GOMP_single_copy_end): Likewise.
5574 * team.c (gomp_threads_dock): New.
5575 (gomp_barrier_init, gomp_barrier_destroy): Remove.
5576 (gomp_thread_start): Use gomp_barrier_wait.
5577 (new_team, free_team): Update for gomp_team changes.
5578 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
5579 (gomp_team_end): Use gomp_barrier_wait.
5580 (initialize_team): Update for gomp_thread changes.
5581 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
5582 (gomp_work_share_end_nowait): Use atomic ops when available.
5583 * config/linux/bar.c, config/linux/bar.h: New files.
5584 * config/posix/bar.c, config/posix/bar.h: New files.
5585
55862005-10-13 Jakub Jelinek <jakub@redhat.com>
5587
5588 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
5589 * testsuite/libgomp.dg/single-2.c: New test.
5590
5591 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
5592 lang_link_flags): Unset, so that they aren't inherited from previously
5593 sourced *.exp.
5594
5595 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
5596
55972005-10-12 Richard Henderson <rth@redhat.com>
5598
5599 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
5600 (libgomp_init): Use lang_test_file, lang_library_path, and
5601 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
5602
5603 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
5604 (lang_test_file, lang_link_flags): New.
5605 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
5606
5607 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
5608 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
5609 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
5610 testsuite/libgomp.c++/parallel-1.C,
5611 testsuite/libgomp.c++/reduction-1.C,
5612 testsuite/libgomp.c++/reduction-2.C,
5613 testsuite/libgomp.c++/reduction-3.C,
5614 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
5615 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
5616 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
5617 New files, largely cribbed from the C testsuite.
5618
56192005-10-12 Jakub Jelinek <jakub@redhat.com>
5620
5621 * testsuite/libgomp.fortran/character1.f90: New test.
5622 * testsuite/libgomp.fortran/character2.f90: New test.
5623
5624 * testsuite/libgomp.dg/nested-1.c: New test.
5625 * testsuite/libgomp.dg/nested-2.c: New test.
5626 * testsuite/libgomp.fortran/do1.f90: New test.
5627 * testsuite/libgomp.fortran/do2.f90: New test.
5628
5629 * testsuite/libgomp.fortran/reference1.f90: New test.
5630
56312005-10-11 Jakub Jelinek <jakub@redhat.com>
5632
5633 * testsuite/libgomp.dg/reduction-1.c: New test.
5634 * testsuite/libgomp.dg/reduction-2.c: New test.
5635 * testsuite/libgomp.dg/reduction-3.c: New test.
5636
56372005-10-10 Jakub Jelinek <jakub@redhat.com>
5638
5639 * testsuite/libgomp.dg/atomic-1.c: New test.
5640 * testsuite/libgomp.dg/atomic-2.c: New test.
5641
56422005-10-09 Richard Henderson <rth@redhat.com>
5643
5644 * critical.c (atomic_lock): New.
5645 (initialize_critical): Initialize it.
5646 (GOMP_atomic_start, GOMP_atomic_end): New.
5647 * libgomp.map: Export them.
5648 * libgomp_g.h: Declare them.
5649
5650 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
5651
56522005-10-02 Richard Henderson <rth@redhat.com>
5653
5654 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
5655 to XCFLAGS instead of CFLAGS.
5656
56572005-09-30 Richard Henderson <rth@redhat.com>
5658
5659 * configure.ac: Determine whether -pthread or -lpthread is needed.
5660 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
5661 * Makefine.in, configure: Rebuild.
5662
56632005-09-28 Richard Henderson <rth@redhat.com>
5664
5665 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
5666 * testsuite/libgomp.dg/omp-single-3.c: New test.
5667
56682005-09-28 Diego Novillo <dnovillo@redhat.com>
5669
5670 * testsuite/libgomp.dg/omp-single-2.c: New test.
5671 * testsuite/libgomp.dg/shared-2.c: Fix return code.
5672
56732005-09-27 Richard Henderson <rth@redhat.com>
5674
5675 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
5676 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
5677
56782005-09-27 Jakub Jelinek <jakub@redhat.com>
5679
5680 * testsuite/libgomp.dg/omp-loop03.c: New test.
5681
56822005-09-27 Diego Novillo <dnovillo@redhat.com>
5683
5684 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
5685
56862005-09-27 Diego Novillo <dnovillo@redhat.com>
5687
5688 * testsuite/libgomp.dg/omp-single-1.c: New test.
5689 * testsuite/libgomp.dg/shared-1.c: Return 0.
5690 Add prototype for abort.
5691 * testsuite/libgomp.dg/shared-2.c: Likewise.
5692
56932005-09-26 Jakub Jelinek <jakub@redhat.com>
5694
5695 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
5696 constructs.
5697
56982005-09-26 Diego Novillo <dnovillo@redhat.com>
5699
5700 * testsuite/libgomp.dg/shared-1.c: New test.
5701 * testsuite/libgomp.dg/shared-2.c: New test.
5702
57032005-09-24 Richard Henderson <rth@redhat.com>
5704
5705 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
5706
57072005-09-24 Richard Henderson <rth@redhat.com>
5708
5709 * iter.c (gomp_iter_static_next): Round up when computing number
5710 of iterations. Don't bother distributing a remainder equally.
5711
5712 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
5713 Don't call srand. Zero b before testing.
5714 (main): New.
5715
57162005-09-24 Jakub Jelinek <jakub@redhat.com>
5717
5718 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
5719 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
5720
57212005-09-23 Jakub Jelinek <jakub@redhat.com>
5722
5723 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
5724 without !$omp end do, followed immediately by subroutine end.
5725
57262005-09-23 Diego Novillo <dnovillo@redhat.com>
5727
5728 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
5729
57302005-09-22 Richard Henderson <rth@redhat.com>
5731
5732 * critical.c (GOMP_critical_name_start): Change argument to void**.
5733 Reuse the pointer space if the mutex fits.
5734 (GOMP_critical_name_end): Likewise.
5735 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
5736 * libgomp_g.h (GOMP_critical_name_start): Update decl.
5737 (GOMP_critical_name_end): Likewise.
5738 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
5739 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
5740
57412005-09-20 Richard Henderson <rth@redhat.com>
5742
5743 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
5744 (create_lock_lock): New.
5745 (initialize_critical): Initialize it.
5746 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
5747 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
5748
57492005-09-20 Diego Novillo <dnovillo@redhat.com>
5750
5751 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
5752
57532005-09-20 Diego Novillo <dnovillo@redhat.com>
5754
5755 * testsuite/libgomp.dg/omp-loop01.c: New test.
5756 * testsuite/libgomp.dg/omp-loop02.c: New test.
5757
57582005-09-20 Jakub Jelinek <jakub@redhat.com>
5759
5760 * configure.ac (AC_PROG_FC): Add.
5761 (USE_FORTRAN): New automake conditional.
5762 * configure: Rebuilt.
5763 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
5764 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
5765 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
5766 Add rules to build them.
5767 * Makefile.in: Rebuilt.
5768 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
5769 OMP_NEST_LOCK_KIND.
5770 * libgomp.map: Add Fortran wrappers.
5771 * libgomp_f.h.in: New file.
5772 * omp_lib.h.in: New file.
5773 * omp_lib.f90.in: New file.
5774 * fortran.c: New file.
5775 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
5776 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
5777 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
5778 libgfortran has been built.
5779 * testsuite/libgomp.fortran/fortran.exp: New file.
5780 * testsuite/libgomp.fortran/omp_cond1.f: New test.
5781 * testsuite/libgomp.fortran/omp_cond2.f: New test.
5782 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
5783 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
5784 * testsuite/libgomp.fortran/omp_hello.f: New test.
5785 * testsuite/libgomp.fortran/omp_orphan.f: New test.
5786 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
5787 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
5788 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
5789 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
5790 * testsuite/libgomp.fortran/omp_reduction.f: New test.
5791 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
5792 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
5793
57942005-08-30 Richard Henderson <rth@redhat.com>
5795
5796 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
5797 function for when aliases are not usable.
5798 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
5799 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
5800 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
5801 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
5802 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
5803 GOMP_loop_ordered_guided_next): Likewise.
5804 * ordered.c (GOMP_ordered_start): Likewise.
5805
58062005-08-01 Diego Novillo <dnovillo@redhat.com>
5807
5808 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
5809 * testsuite/libgomp.dg/omp_hello.c: Fix return code
5810 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
5811 * testsuite/libgomp.dg/omp_orphan.c: Likewise
5812 * testsuite/libgomp.dg/omp_reduction.c: Likewise
5813 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
5814 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
5815 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
5816 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
5817
58182005-07-07 Eric Christopher <echristo@redhat.com>
5819 Diego Novillo <dnovillo@redhat.com>
5820
5821 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
5822 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
5823 up code.
5824 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
5825 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
5826 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
5827 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
5828 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
5829 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
5830 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
5831
58322005-06-13 Diego Novillo <dnovillo@redhat.com>
5833
5834 * TOPLEVEL.patch: Remove.
5835
58362005-05-16 Richard Henderson <rth@redhat.com>
5837
5838 * configure.ac: Test for clock_gettime.
5839 * config.h.in, configure: Rebuild.
5840 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
5841 (omp_get_wtime): Use clock_gettime if available.
5842 (omp_get_wtick): Use clock_getres if available.
5843
58442005-05-11 Richard Henderson <rth@redhat.com>
5845
5846 * config/linux/ia64/futex.h: New file.
5847 * configure.tgt: Use it.
5848
5849 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
5850
58512005-05-07 Richard Henderson <rth@redhat.com>
5852
5853 * config/linux/powerpc/futex.h: New file.
5854 * configure.tgt: Use it.
5855
5856 * config/linux/i486/futex.h: Merge ...
5857 * config/linux/x86_64/futex.h: ... into ...
5858 * config/linux/x86/futex.h: ... here.
5859 * configure.tgt: Update to match.
5860
58612005-05-06 Richard Henderson <rth@redhat.com>
5862
5863 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
5864 * config/linux/i486/futex.h: Likewise.
5865 * config/linux/x86_64/futex.h: Likewise.
5866
5867 * config/linux/lock.c: New file.
5868 * config/linux/omp-lock.h: New file.
5869
5870 * critical.c, env.h: Don't include omp.h
5871 * config/posix/lock.c: Include libgomp.h instead of omp.h.
5872 * config/posix/time.c: Likewise.
5873 * config/posix/omp-lock.h: New file.
5874 * libgomp.h: Include omp-lock.h and omp.h.
5875 * Makefile.am (nodist_include_HEADERS): New.
5876 (omp.h): New rule.
5877 * configure.ac (PERL): New.
5878 * mkomp_h.pl: New file.
5879 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
5880 with templates.
5881 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
5882
5883 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
5884 build directory. Re-add -march=i486 hack.
5885
5886 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
5887 (libgomp_link_flags): Remove.
5888 (libgomp_initialized): Remove.
5889 (libgomp_init): Don't protect from reinitialization. Copy code
5890 from libstdc++ for getting the multilib set correctly.
5891
58922005-05-05 Richard Henderson <rth@redhat.com>
5893
5894 * config/linux/alpha/futex.h: New file.
5895 * configure.tgt (alpha*-*-linux*): Use it.
5896
5897 * config/posix/mutex.c: New file.
5898 * config/posix/sem.c: Use libgomp.h.
5899
5900 * configure.tgt (x86_64-linux): Also test CC for -m32.
5901 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
5902
536f65bb 5903 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
1e8e9920 5904 after $gccpath.
5905
5906 * Makefile.am (SUBDIRS): New.
5907 (libgomp_la_LDFLAGS): Add -lpthread.
5908 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
5909 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
5910
5911 * libgomp_g.h: New file.
5912 * libgomp.h: Split out all public declarations to libgomp_g.h.
5913 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
5914 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
5915 * config/linux/sem.h: Likewise.
5916 * config/posix/sem.h: Likewise.
5917
5918 * Makefile.am (AM_LDFLAGS): New.
5919 (libgomp_version_script): Split out from ...
5920 (libgomp_la_LDFLAGS): ... here.
5921 (libgomp_version_info): New.
5922 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
5923 (LIBGOMP_ENABLE): New.
5924 (LIBGOMP_CHECK_LINKER_FEATURES): New.
5925 (LIBGOMP_ENABLE_SYMVERS): New.
5926 * configure.ac (AC_INIT): Version 1.0.
5927 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
5928 (enable-linux-futex): Likewise. Rename from enable-futex.
5929 (libtool_VERSION): New.
5930 (LIBGOMP_ENABLE_SYMVERS): Use it.
5931 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
5932 * Makefile.in, aclocal.m4, configure: Rebuild.
5933
5934 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
5935 (gomp_mutex_unlock_slow): Fix typo.
5936 * config/linux/sem.c: Similarly.
5937 (gomp_sem_post_slow): Fix typo.
5938 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
5939 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
5940 [__PIC__] (sys_futex0): Don't use tmp output in asm.
5941
5942 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
5943 (libgomp_la_LDFLAGS): Add top_srcdir to path.
5944 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
5945 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
5946 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
5947 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
5948 LDFLAGS. Pull enable_futex check to top-level.
5949 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
5950 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
5951
5952 First attempt at real configury.
5953 * Makefile, config.h: Remove file.
5954 * Makefile.am, Makefile.in: New file.
5955 * acinclude.m4 aclocal.m4: New file.
5956 * configure.ac, configure.tgt, configure: New file.
5957
5958 * config/posix/lock.c: Rename from sys-lock.c.
5959 * config/posix/mutex.h: Rename from sys-mutex.h.
5960 * config/posix/sem.c: Rename from sys-sem.c.
5961 * config/posix/sem.h: Rename from sys-sem.h.
5962 * config/posix/proc.c: Rename from sys-proc.c.
5963 * config/posix/time.c: Rename from sys-proc.c.
5964
5965 * config/linux/mutex.c: New file.
5966 * config/linux/mutex.h: New file.
5967 * config/linux/sem.c: New file.
5968 * config/linux/sem.h: New file.
5969 * config/linux/i486/futex.h: New file.
5970 * config/linux/x86_64/futex.h: New file.
5971
59722005-05-04 Richard Henderson <rth@redhat.com>
5973
5974 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
5975 * libgomp.h: Declare them.
5976 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
5977 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
5978
59792005-05-04 Richard Henderson <rth@redhat.com>
5980
5981 * libgomp-1 code drop
5982
59832005-05-04 Richard Henderson <rth@redhat.com>
5984
5985 * iter.c (gomp_iter_static_next): Return tri-state on 0.
5986 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
5987 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
5988 (gomp_iter_static_next): Update.
5989 (gomp_ordered_static_next): Update.
5990 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
5991 (gomp_loop_ordered_static_start): Likewise. Exit early for a
5992 totally empty range.
5993 (gomp_loop_ordered_static_next): Refine test for calling
5994 gomp_ordered_static_next.
5995 * testsuite/ordered-1.c: Add case for more threads than iterations.
5996
5997 * iter.c (gomp_iter_runtime_next_locked): Remove.
5998 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
536f65bb 5999 gomp_loop_guided_start, gomp_loop_ordered_static_start,
1e8e9920 6000 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
6001 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
6002 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
6003 gomp_loop_ordered_guided_next): Downcase name, make static, add
6004 an external alias with the old name.
6005 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
6006 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
6007 switch and call one of the above static functions.
6008 * libgomp.h: Update.
6009
6010 * work.c (gomp_work_share_start): Lock the mutex for !first too.
6011 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
6012 GOMP_loop_guided_start, GOMP_loop_runtime_start,
6013 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
6014 GOMP_loop_ordered_guided_start): Update to match.
6015 * sections.c (GOMP_sections_start): Likewise.
6016 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
6017
6018 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
6019 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
6020 Use bounds check instead of modulus.
6021 (gomp_ordered_sync): Split out of GOMP_ordered_start.
6022 (gomp_ordered_last): Don't sync with ordered_owner here.
6023 (gomp_ordered_next): Likewise.
6024 (gomp_ordered_static_loop_next): Likewise.
6025 * loop.c, libgomp.h: Update to match.
6026
6027 * libgomp.h (GOMP_barrier): Declare.
6028
6029 * testsuite/barrier-1.c: New file.
6030 * testsuite/critical-1.c: New file.
6031 * testsuite/ordered-2.c: New file.
6032 * testsuite/ordered-1.c: New file.
6033 * testsuite/sections-1.c: New file.
6034 * testsuite/single-1.c: New file.
6035 * testsuite/Makefile (TESTS): Add them.
6036
60372005-05-04 Richard Henderson <rth@redhat.com>
6038
6039 * libgomp.h (struct gomp_work_share): Add ordered_owner.
6040 * loop.c (GOMP_loop_static_start): If not the startup thread,
6041 acquire the mutex to wait for initialization complete.
6042 (GOMP_loop_ordered_static_start): Likewise.
6043 (GOMP_loop_ordered_runtime_start): Likewise.
6044 (GOMP_loop_ordered_static_first): Remove.
6045 (GOMP_loop_ordered_dynamic_first): Remove.
6046 (GOMP_loop_ordered_guided_first): Remove.
6047 (GOMP_loop_ordered_runtime_first): Remove.
6048 * ordered.c (gomp_ordered_loop_first): Post to own release when
6049 we're the first thread.
6050 (gomp_ordered_loop_last): Wait on release if not owner.
6051 (gomp_ordered_loop_next): Likewise.
6052 (gomp_ordered_static_loop_init): New.
6053 (gomp_ordered_static_loop_next): Use ordered_owner.
6054 (GOMP_ordered_start): Likewise.
6055 * work.c (gomp_new_work_share): Initialize ordered_owner.
6056
60572005-05-03 Richard Henderson <rth@redhat.com>
6058
6059 * Makefile (OPT): New.
6060 (CFLAGS): Use it.
6061
6062 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
6063 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
6064 * libgomp.h, libgomp.map, NOTES: Update to match.
6065
6066 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
6067 Add initialized and thr members.
6068 (gomp_thread_start): Pause when initially spawned to wait for
6069 the whole team to be created.
6070 (gomp_team_start): Release team members at the end.
6071
6072 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
6073 (f_foo_1): Use GOMP_loop_end.
6074 (f_foo_2): Use GOMP_loop_end_nowait.
6075
6076 * testsuite/loop-2.c: New file.
6077 * testsuite/Makefile (TESTS): Add it.
6078
60792005-05-03 Richard Henderson <rth@redhat.com>
6080
6081 * iter.c (gomp_iter_static_next): Fix overflow check typo.
6082 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
6083 * team.c (new_team): Initialize oldest_live_gen to 1 if no
6084 initial work_share.
6085
6086 * testsuite/Makefile: New file.
6087 * testsuite/loop-1.c: New file.
6088
60892005-05-03 Richard Henderson <rth@redhat.com>
6090
6091 Initial implementation and checkin.