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