Fix -Wreturn-type fallout.
[gcc.git] / libgomp / ChangeLog
1 2017-11-06 Martin Liska <mliska@suse.cz>
2
3 * testsuite/libgomp.c++/loop-2.C: Return a value
4 for functions with non-void return type, or change type to void,
5 or add -Wno-return-type for test.
6 * testsuite/libgomp.c++/loop-4.C: Likewise.
7 * testsuite/libgomp.c++/parallel-1.C: Likewise.
8 * testsuite/libgomp.c++/shared-1.C: Likewise.
9 * testsuite/libgomp.c++/single-1.C: Likewise.
10 * testsuite/libgomp.c++/single-2.C: Likewise.
11
12 2017-10-31 Tom de Vries <tom@codesourcery.com>
13
14 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
15 "do {} while (false)".
16 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
17 after HSA_DEBUG call.
18
19 2017-10-28 Jakub Jelinek <jakub@redhat.com>
20
21 * target.c (struct gomp_coalesce_buf): New type.
22 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
23 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
24 (gomp_copy_host2dev): Add CBUF argument, if copying into
25 the cached ranges, memcpy into buffer instead of copying
26 into device.
27 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
28 Add CBUF argument, pass it through to other calls.
29 (gomp_map_vars): Aggregate copies from host to device if small enough
30 and with small enough gaps in between into memcpy into a buffer and
31 fewer host to device copies from the buffer.
32 (gomp_update): Adjust gomp_copy_host2dev caller.
33
34 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
35
36 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
37 run" directive.
38 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
39 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
40 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
41 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
42
43 2017-10-16 Tom de Vries <tom@codesourcery.com>
44
45 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
46 openacc_nvidia_accel_selected.
47 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
48 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
49 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
50 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
51 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
52 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
53 openacc_nvidia_accel_selected. Skip for shared memory device.
54 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
55 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
56
57 2017-10-09 Martin Jambor <mjambor@suse.cz>
58
59 PR hsa/82416
60 * testsuite/libgomp.hsa.c/pr82416.c: New test.
61
62 2017-10-07 Tom de Vries <tom@codesourcery.com>
63
64 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
65 Remove acc_device_nvidia references.
66 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
67 Same.
68
69 2017-10-05 Tom de Vries <tom@codesourcery.com>
70
71 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
72 vector_length(32) clause from acc parallel directive.
73 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
74
75 2017-10-04 Tom de Vries <tom@codesourcery.com>
76
77 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
78 (main): Reduce sum of arr elements. Assert that hres is exactly
79 representable in 32-bit floating point.
80 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
81 (main): Reduce sum of arr elements. Assert that hres and hmres are
82 exactly representable in 32-bit floating point.
83 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
84
85 2017-09-28 Tom de Vries <tom@codesourcery.com>
86
87 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
88 setting.
89 * testsuite/libgomp.c++/pr69393.C: Same.
90 * testsuite/libgomp.c++/taskloop-1.C: Same.
91 * testsuite/libgomp.c++/taskloop-3.C: Same.
92 * testsuite/libgomp.c++/taskloop-4.C: Same.
93 * testsuite/libgomp.c/for-4.c: Same.
94 * testsuite/libgomp.c/pr66199-3.c: Same.
95 * testsuite/libgomp.c/pr66199-4.c: Same.
96 * testsuite/libgomp.c/pr66199-6.c: Same.
97 * testsuite/libgomp.c/taskloop-1.c: Same.
98 * testsuite/libgomp.c/taskloop-3.c: Same.
99 * testsuite/libgomp.c/taskloop-4.c: Same.
100 * testsuite/libgomp.fortran/aligned1.f03: Same.
101 * testsuite/libgomp.fortran/condinc1.f: Same.
102 * testsuite/libgomp.fortran/condinc3.f90: Same.
103 * testsuite/libgomp.fortran/crayptr1.f90: Same.
104 * testsuite/libgomp.fortran/crayptr2.f90: Same.
105 * testsuite/libgomp.fortran/crayptr3.f90: Same.
106 * testsuite/libgomp.fortran/omp_cond1.f: Same.
107 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
108 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
109 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
110 * testsuite/libgomp.fortran/recursion1.f90: Same.
111 * testsuite/libgomp.fortran/target2.f90: Same.
112 * testsuite/libgomp.fortran/target5.f90: Same.
113 * testsuite/libgomp.fortran/task3.f90: Same.
114
115 2017-09-28 Tom de Vries <tom@codesourcery.com>
116
117 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
118 vector_length(32) clause from acc parallel directive.
119 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
120
121 2017-09-27 Tom de Vries <tom@codesourcery.com>
122
123 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
124 Remove acc_device_nvidia references.
125
126 2017-09-16 Tom de Vries <tom@codesourcery.com>
127
128 PR c/81875
129 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
130
131 2017-09-14 Tom de Vries <tom@codesourcery.com>
132
133 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
134 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
135 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
136 * testsuite/libgomp.c/c.exp: Include test-cases from
137 libgomp.c-c++-common.
138 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
139 files.
140
141 2017-09-14 Jakub Jelinek <jakub@redhat.com>
142
143 PR c++/81314
144 * testsuite/libgomp.c++/pr81314.C: New test.
145
146 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
147
148 * libgomp.texi (Top): www.openacc.org now uses https.
149 (Enabling OpenACC): Ditto.
150 (acc_get_num_devices): Ditto.
151 (acc_set_device_type): Ditto.
152 (acc_get_device_type): Ditto.
153 (acc_set_device_num): Ditto.
154 (acc_get_device_num): Ditto.
155 (acc_async_test): Ditto.
156 (acc_async_test_all): Ditto.
157 (acc_wait): Ditto.
158 (acc_wait_all): Ditto.
159 (acc_wait_all_async): Ditto.
160 (acc_wait_async): Ditto.
161 (acc_init): Ditto.
162 (acc_shutdown): Ditto.
163 (acc_on_device): Ditto.
164 (acc_malloc): Ditto.
165 (acc_free): Ditto.
166 (acc_copyin): Ditto.
167 (acc_present_or_copyin): Ditto.
168 (acc_create): Ditto.
169 (acc_present_or_create): Ditto.
170 (acc_copyout): Ditto.
171 (acc_delete): Ditto.
172 (acc_update_device): Ditto.
173 (acc_update_self): Ditto.
174 (acc_map_data): Ditto.
175 (acc_unmap_data): Ditto.
176 (acc_deviceptr): Ditto.
177 (acc_hostptr): Ditto.
178 (acc_is_present): Ditto.
179 (acc_memcpy_to_device): Ditto.
180 (acc_memcpy_from_device): Ditto.
181 (acc_get_current_cuda_device): Ditto.
182 (acc_get_current_cuda_context): Ditto.
183 (acc_get_cuda_stream): Ditto.
184 (acc_set_cuda_stream): Ditto.
185 (ACC_DEVICE_TYPE): Ditto.
186 (ACC_DEVICE_NUM): Ditto.
187 (OpenACC Library Interoperability): Ditto.
188
189 2017-08-09 Jakub Jelinek <jakub@redhat.com>
190
191 PR c/81687
192 * testsuite/libgomp.c/pr81687-1.c: New test.
193 * testsuite/libgomp.c/pr81687-2.c: New test.
194
195 2017-08-07 Jakub Jelinek <jakub@redhat.com>
196
197 PR c/69389
198 * testsuite/libgomp.c/pr69389.c: New test.
199 * testsuite/libgomp.c++/pr69389.C: New test.
200
201 2017-08-07 Tom de Vries <tom@codesourcery.com>
202
203 PR middle-end/78266
204 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
205 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
206
207 2017-07-27 Jakub Jelinek <jakub@redhat.com>
208
209 PR c/45784
210 * testsuite/libgomp.c/pr45784.c: New test.
211 * testsuite/libgomp.c++/pr45784.C: New test.
212
213 2017-07-19 Tom de Vries <tom@codesourcery.com>
214
215 * testsuite/libgomp.oacc-c/vec.c: New test.
216
217 2017-07-03 Tom de Vries <tom@codesourcery.com>
218
219 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
220
221 2017-06-27 Tom de Vries <tom@codesourcery.com>
222
223 * plugin/plugin-nvptx.c (notify_var): New function.
224 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
225
226 2017-06-27 Tom de Vries <tom@codesourcery.com>
227
228 * env.c (parse_unsigned_long_1): Factor out of ...
229 (parse_unsigned_long): ... here.
230 (parse_int_1): Factor out of ...
231 (parse_int): ... here.
232 (parse_int_secure): New function.
233 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
234 * secure_getenv.h: Factor out of ...
235 * plugin/plugin-hsa.c: ... here.
236 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
237
238 2017-06-21 Jakub Jelinek <jakub@redhat.com>
239
240 PR c++/81130
241 * testsuite/libgomp.c++/pr81130.C: New test.
242
243 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
244
245 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
246 default args.
247 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
248 dg-xfail-run-if default args.
249
250 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
251
252 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
253 * testsuite/libgomp.c/pr39591-3.c: Likewise.
254
255 2017-05-30 Jakub Jelinek <jakub@redhat.com>
256
257 PR libgomp/80822
258 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
259 (gomp_affinity_init_level): Use it. Always analyze the core and thread
260 sibling lists, depending on level just pick up what CPUs to put
261 together into a place vs. whether add multiple ordered places.
262
263 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
264
265 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
266 * libgomp.map (OACC_2.0.1): Add these.
267 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
268 for "acc_wait", and "acc_wait_all", respectively.
269 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
270 for "acc_wait", and "acc_wait_all", respectively.
271 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
272 * libgomp.texi (acc_wait, acc_wait_all): Update.
273 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
274 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
275 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
276
277 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
278 acc_present_or_copyin and acc_present_or_create procedures,
279 respectively.
280 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
281 generally different variants of OpenACC Runtime Library functions.
282 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
283
284 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
285 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
286
287 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
288 of preprocessor definitions.
289 * libgomp.h (strong_alias): Guard by "#ifdef
290 HAVE_ATTRIBUTE_ALIAS".
291 * oacc-mem.c: Provide "acc_pcreate" as alias for
292 "acc_present_or_create", and "acc_pcopyin" as alias for
293 "acc_present_or_copyin".
294 * libgomp.map: New version "OACC_2.0.1".
295 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
296 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
297 its content into...
298 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
299 Extend testing.
300
301 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
302 when disabling nvptx offloading.
303
304 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
305
306 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
307 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
308 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
309
310 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
311 * testsuite/lib/libgomp.exp
312 (check_effective_target_openacc_nvidia_accel_configured): New
313 proc.
314 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
315 (check_effective_target_c++): New procs.
316 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
317 (check_effective_target_c++): Likewise.
318
319 2017-05-22 Jakub Jelinek <jakub@redhat.com>
320
321 PR middle-end/80809
322 * testsuite/libgomp.c/pr80809-2.c: New test.
323 * testsuite/libgomp.c/pr80809-3.c: New test.
324
325 PR middle-end/80809
326 * testsuite/libgomp.c/pr80809-1.c: New test.
327
328 PR middle-end/80853
329 * testsuite/libgomp.c/pr80853.c: New test.
330
331 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
332
333 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
334 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
335 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
336 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
337 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
338
339 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
340 Debug output for failure.
341
342 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
343
344 * testsuite/lib/libgomp.exp: Load scanlang.exp.
345
346 2017-04-27 Jakub Jelinek <jakub@redhat.com>
347
348 PR bootstrap/80531
349 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
350 bootstrap compare failures.
351
352 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
353
354 * testsuite/libgomp.c/target-36.c: New testcase.
355
356 2017-04-13 Jakub Jelinek <jakub@redhat.com>
357
358 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
359 instead of char.
360
361 2017-04-11 Jakub Jelinek <jakub@redhat.com>
362
363 PR libgomp/80394
364 * testsuite/libgomp.c/pr80394.c: New test.
365
366 2017-04-04 Jakub Jelinek <jakub@redhat.com>
367
368 PR libgomp/79876
369 * config/posix/thread-stacksize.h: New file.
370 * config/darwin/thread-stacksize.h: New file.
371 * config/nvptx/thread-stacksize.h: New file.
372 * env.c: Include thread-stacksize.h.
373 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
374 instead of 0. Call pthread_attr_setstacksize even if
375 GOMP_DEFAULT_STACKSIZE is non-zero.
376
377 2017-03-30 Jakub Jelinek <jakub@redhat.com>
378
379 * env.c (initialize_env): Initialize stacksize to 0.
380
381 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
382
383 PR c++/80029
384 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
385
386 2017-03-08 Jakub Jelinek <jakub@redhat.com>
387
388 PR c/79940
389 * testsuite/libgomp.c/pr79940.c: New test.
390
391 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
392
393 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
394 targets.
395 Add __float128 options.
396
397 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
398
399 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
400 hppa*-*-* dg-skip-if directive.
401
402 2017-02-09 Jakub Jelinek <jakub@redhat.com>
403
404 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
405 dg-skip-if directive into a comment.
406
407 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
408 Chung-Lin Tang <cltang@codesourcery.com>
409
410 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
411 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
412 add additional case.
413 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
414 "openacc_nvidia_accel_selected".
415 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
416 Add num_workers(8) clause.
417
418 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
419
420 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
421 hppa*-*-*.
422 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
423 include complex.h on hppa*-*-hpux*.
424 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
425
426 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
427
428 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
429
430 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
431 GOMP_OFFLOAD_openacc_exec. Adjust all users.
432 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
433 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
434 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
435 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
436 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
437 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
438 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
439 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
440
441 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
442
443 * libgomp-plugin.h: #include <stdbool.h>.
444 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
445 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
446 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
447 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
448 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
449 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
450 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
451 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
452 (GOMP_OFFLOAD_openacc_register_async_cleanup)
453 (GOMP_OFFLOAD_openacc_async_test)
454 (GOMP_OFFLOAD_openacc_async_test_all)
455 (GOMP_OFFLOAD_openacc_async_wait)
456 (GOMP_OFFLOAD_openacc_async_wait_async)
457 (GOMP_OFFLOAD_openacc_async_wait_all)
458 (GOMP_OFFLOAD_openacc_async_wait_all_async)
459 (GOMP_OFFLOAD_openacc_async_set_async)
460 (GOMP_OFFLOAD_openacc_create_thread_data)
461 (GOMP_OFFLOAD_openacc_destroy_thread_data)
462 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
463 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
464 (GOMP_OFFLOAD_openacc_get_cuda_stream)
465 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
466 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
467 these.
468 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
469 (GOMP_OFFLOAD_unload_image): Fix argument types.
470
471 2017-01-26 Jakub Jelinek <jakub@redhat.com>
472
473 * testsuite/lib/libgomp.exp
474 (check_effective_target_hsa_offloading_selected_nocache): Fix up
475 check_compile invocation. Fix up removal of executable. Drop
476 bogus "2>&1" argument.
477
478 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
479 directive.
480
481 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
482 Martin Jambor <mjambor@suse.cz>
483
484 * plugin/hsa.h: Moved to top level include.
485 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
486
487 2017-01-21 Jakub Jelinek <jakub@redhat.com>
488
489 PR other/79046
490 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
491 of cat to get version from BASE-VER file.
492 * testsuite/Makefile.in: Regenerated.
493
494 2017-01-19 Jakub Jelinek <jakub@redhat.com>
495
496 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
497 for _WIN64.
498
499 2017-01-17 Jakub Jelinek <jakub@redhat.com>
500
501 * plugin/hsa.h: Add GCC runtime library exception.
502 * plugin/hsa_ext_finalize.h: Likewise.
503
504 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
505 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
506 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
507 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
508 plugin/include/cuda as include dir and -ldl instead of -lcuda as
509 library to link ptx plugin against.
510 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
511 (CUDA_CALLS): Define.
512 (cuda_lib, cuda_lib_inited): New variables.
513 (init_cuda_lib): New function.
514 (CUDA_CALL_PREFIX): Define.
515 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
516 (CUDA_CALL): Use FN instead of (FN).
517 (CUDA_CALL_NOCHECK): Define.
518 (cuda_error, fini_streams_for_device, select_stream_for_async,
519 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
520 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
521 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
522 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
523 CUDA_CALL_NOCHECK.
524 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
525 CUDA_CALL_NOCHECK.
526 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
527 Use CUDA_CALL_NOCHECK.
528 * plugin/cuda/cuda.h: New file.
529 * config.h.in: Regenerated.
530 * configure: Regenerated.
531
532 PR other/79046
533 * configure.ac: Add GCC_BASE_VER.
534 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
535 get version from BASE-VER file.
536 * testsuite/Makefile.in: Regenerated.
537 * configure: Regenerated.
538 * Makefile.in: Regenerated.
539
540 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
541
542 PR libgomp/60670
543 * Makefile.am: Make fincludedir multilib-aware.
544 * Makefile.in: Regenerate.
545
546 2017-01-01 Jakub Jelinek <jakub@redhat.com>
547
548 Update copyright years.
549
550 * libgomp.texi: Bump @copying's copyright year.
551
552 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
553
554 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
555 pthread_spinlock_t instead of gomp_mutex_t lock.
556 (gomp_get_thread_pool): Likewise.
557 (gomp_release_thread_pool): Likewise.
558 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
559 Likewise.
560
561 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
562
563 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
564 thread pool in case nthreads == 1.
565
566 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
567
568 * config/nvptx/env.c: Delete.
569 * icv.c: Move definitions of ICV variables back ...
570 * env.c: ...here. Do not compile environment-related functionality if
571 LIBGOMP_OFFLOADED_ONLY is set.
572
573 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
574
575 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
576 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
577 * configure: Regenerate.
578 * config.h.in: Likewise.
579
580 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
581
582 * Makefile.in: Regenerate with automake-1.11.6.
583 * aclocal.m4: Likewise.
584 * configure: Likewise.
585 * testsuite/Makefile.in: Likewise.
586
587 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
588
589 * config/nvptx/critical.c: Delete to use generic implementation.
590
591 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
592
593 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
594 ../../affinity.c as fallback.
595 * config/nvptx/affinity.c: Delete to use fallback implementation.
596
597 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
598 Jakub Jelinek <jakub@redhat.com>
599 Dmitry Melnik <dm@ispras.ru>
600
601 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
602 * Makefile.in. Regenerate.
603 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
604 (LIBGOMP_USE_PTHREADS): ...here; new define.
605 * configure: Regenerate.
606 * config.h.in: Likewise.
607 * config/posix/affinity.c: Move to...
608 * affinity.c: ...here (new file). Guard use of Pthreads-specific
609 interface by LIBGOMP_USE_PTHREADS.
610 * critical.c: Split out GOMP_atomic_{start,end} into...
611 * atomic.c: ...here (new file).
612 * env.c: Split out ICV definitions into...
613 * icv.c: ...here (new file) and...
614 * icv-device.c: ...here. New file.
615 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
616 (gomp_destroy_lock_30): Ditto.
617 (gomp_set_lock_30): Ditto.
618 (gomp_unset_lock_30): Ditto.
619 (gomp_test_lock_30): Ditto.
620 (gomp_init_nest_lock_30): Ditto.
621 (gomp_destroy_nest_lock_30): Ditto.
622 (gomp_set_nest_lock_30): Ditto.
623 (gomp_unset_nest_lock_30): Ditto.
624 (gomp_test_nest_lock_30): Ditto.
625 * lock.c: New.
626 * config/nvptx/lock.c: New.
627 * config/nvptx/bar.c: New.
628 * config/nvptx/bar.h: New.
629 * config/nvptx/doacross.h: New.
630 * config/nvptx/error.c: New.
631 * config/nvptx/icv-device.c: New.
632 * config/nvptx/mutex.h: New.
633 * config/nvptx/pool.h: New.
634 * config/nvptx/proc.c: New.
635 * config/nvptx/ptrlock.h: New.
636 * config/nvptx/sem.h: New.
637 * config/nvptx/simple-bar.h: New.
638 * config/nvptx/target.c: New.
639 * config/nvptx/task.c: New.
640 * config/nvptx/team.c: New.
641 * config/nvptx/time.c: New.
642 * config/posix/simple-bar.h: New.
643 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
644 (gomp_num_teams_var): Declare.
645 (struct gomp_thread_pool): Change threads_dock member to
646 gomp_simple_barrier_t.
647 [__nvptx__] (gomp_thread): New implementation.
648 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
649 (gomp_thread_destructor): Ditto.
650 (gomp_init_thread_affinity): Ditto.
651 * team.c: Guard uses of Pthreads-specific interfaces by
652 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
653 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
654 * config/nvptx/alloc.c: Delete.
655 * config/nvptx/barrier.c: Ditto.
656 * config/nvptx/fortran.c: Ditto.
657 * config/nvptx/iter.c: Ditto.
658 * config/nvptx/iter_ull.c: Ditto.
659 * config/nvptx/loop.c: Ditto.
660 * config/nvptx/loop_ull.c: Ditto.
661 * config/nvptx/ordered.c: Ditto.
662 * config/nvptx/parallel.c: Ditto.
663 * config/nvptx/priority_queue.c: Ditto.
664 * config/nvptx/sections.c: Ditto.
665 * config/nvptx/single.c: Ditto.
666 * config/nvptx/splay-tree.c: Ditto.
667 * config/nvptx/work.c: Ditto.
668 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
669 -foffload=-lgfortran in addition to -lgfortran.
670 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
671 * plugin/plugin-nvptx.c: Include <limits.h>.
672 (struct targ_fn_descriptor): Add new fields.
673 (struct ptx_device): Ditto. Set them...
674 (nvptx_open_device): ...here.
675 (nvptx_adjust_launch_bounds): New.
676 (nvptx_host2dev): Allow NULL 'nvthd'.
677 (nvptx_dev2host): Ditto.
678 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
679 (link_ptx): Adjust log sizes.
680 (nvptx_host2dev): Allow NULL 'nvthd'.
681 (nvptx_dev2host): Ditto.
682 (nvptx_set_clocktick): New. Use it...
683 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
684 fields.
685 (GOMP_OFFLOAD_dev2dev): New.
686 (nvptx_adjust_launch_bounds): New.
687 (nvptx_stacks_size): New.
688 (nvptx_stacks_alloc): New.
689 (nvptx_stacks_free): New.
690 (GOMP_OFFLOAD_run): New.
691 (GOMP_OFFLOAD_async_run): New (stub).
692
693 2016-11-23 Martin Jambor <mjambor@suse.cz>
694
695 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
696 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
697 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
698
699 2016-11-23 Martin Liska <mliska@suse.cz>
700 Martin Jambor <mjambor@suse.cz>
701
702 * plugin/hsa.h: New file.
703 * plugin/hsa_ext_finalize.h: New file.
704 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
705 header file unistd.h, and functions secure_getenv, __secure_getenv,
706 getuid, geteuid, getgid and getegid.
707 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
708 -D_GNU_SOURCE.
709 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
710 Handle various cases of secure_getenv presence, add an implementation
711 when we can test effective UID and GID.
712 (struct hsa_runtime_fn_info): New structure.
713 (hsa_runtime_fn_info hsa_fns): New variable.
714 (hsa_runtime_lib): Likewise.
715 (support_cpu_devices): Likewise.
716 (init_enviroment_variables): Load newly introduced ENV
717 variables.
718 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
719 (hsa_fatal): Likewise.
720 (DLSYM_FN): New macro.
721 (init_hsa_runtime_functions): New function.
722 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
723 structure. Depending on environment, also allow CPU devices.
724 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
725 (get_kernarg_memory_region): Likewise.
726 (GOMP_OFFLOAD_init_device): Likewise.
727 (destroy_hsa_program): Likewise.
728 (init_basic_kernel_info): New function.
729 (GOMP_OFFLOAD_load_image): Use it.
730 (create_and_finalize_hsa_program): Call hsa run-time functions via
731 hsa_fns structure.
732 (create_single_kernel_dispatch): Likewise.
733 (release_kernel_dispatch): Likewise.
734 (init_single_kernel): Likewise.
735 (parse_target_attributes): Allow up multiple HSA grid dimensions.
736 (get_group_size): New function.
737 (run_kernel): Likewise.
738 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
739 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
740 structure.
741 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
742 * testsuite/libgomp-test-support.exp.in: Likewise.
743 * Makefile.in: Regenerated.
744 * aclocal.m4: Likewise.
745 * config.h.in: Likewise.
746 * configure: Likewise.
747 * testsuite/Makefile.in: Likewise.
748
749 2016-11-15 Martin Jambor <mjambor@suse.cz>
750 Alexander Monakov <amonakov@ispras.ru>
751
752 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
753 mapping clauses to target constructs.
754 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
755
756 2016-11-15 Matthias Klose <doko@ubuntu.com>
757
758 * configure: Regenerate.
759
760 2016-11-10 Jakub Jelinek <jakub@redhat.com>
761
762 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
763 * omp_lib.h.in (openmp_version): Likewise.
764 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
765 of 201307.
766 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
767
768 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
769 (fib_wrapper): Add map(from: x) clause.
770 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
771 (e_53_2): Likewise.
772 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
773 (accum): Add map(tmp) clause.
774 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
775 (accum): Add map(tofrom: tmp) clause.
776 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
777 (gramSchmidt): Likewise.
778 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
779 map(tofrom: sum) clause.
780 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
781 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
782 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
783 only allowed on the loop iterator.
784 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
785 * testsuite/libgomp.fortran/taskloop2.f90: New test.
786 * testsuite/libgomp.fortran/taskloop4.f90: New test.
787 * testsuite/libgomp.fortran/doacross1.f90: New test.
788 * testsuite/libgomp.fortran/doacross3.f90: New test.
789 * testsuite/libgomp.fortran/taskloop1.f90: New test.
790 * testsuite/libgomp.fortran/taskloop3.f90: New test.
791 * testsuite/libgomp.fortran/doacross2.f90: New test.
792 * testsuite/libgomp.c/doacross-1.c (main): Add missing
793 #pragma omp atomic read.
794 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
795 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
796
797 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
798 Nathan Sidwell <nathan@acm.org>
799
800 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
801 to determine default geometry.
802 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
803 dimension.
804
805 2016-11-01 Jakub Jelinek <jakub@redhat.com>
806
807 * hashtab.h: Use standard GPLv3 with runtime exception
808 boilerplate.
809
810 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
811
812 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
813 size when allocating new thread.
814
815 2016-09-14 Marek Polacek <polacek@redhat.com>
816
817 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
818
819 2016-08-19 Jakub Jelinek <jakub@redhat.com>
820
821 PR fortran/71014
822 * testsuite/libgomp.fortran/pr71014.f90: New test.
823
824 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
825
826 PR middle-end/70895
827 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
828 firstprivate clauses.
829 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
830 copy clauses.
831 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
832 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
833 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
834 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
835 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
836 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
837 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
838 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
839 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
840 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
841 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
842 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
843
844 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
845
846 PR fortran/70598
847 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
848
849 2016-08-08 Jakub Jelinek <jakub@redhat.com>
850
851 PR c++/58706
852 * testsuite/libgomp.c++/pr58706.C: New test.
853
854 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
855
856 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
857 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
858 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
859 Likewise.
860 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
861 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
862 Likewise.
863 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
864
865 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
866 test, and don't hardcode -O0.
867
868 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
869
870 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
871
872 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
873
874 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
875 test.
876
877 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
878
879 PR middle-end/71734
880 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
881 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
882
883 2016-07-01 Jakub Jelinek <jakub@redhat.com>
884
885 PR fortran/71717
886 * testsuite/libgomp.fortran/associate3.f90: New test.
887
888 2016-06-17 Jakub Jelinek <jakub@redhat.com>
889
890 * testsuite/libgomp.c++/target-21.C: New test.
891
892 2016-06-16 Jakub Jelinek <jakub@redhat.com>
893
894 * testsuite/libgomp.c++/target-20.C: New test.
895
896 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
897 Cesar Philippidis <cesar@codesourcery.com>
898
899 PR middle-end/71373
900 * libgomp.oacc-c/nested-function-1.c: New file.
901 * libgomp.oacc-c/nested-function-2.c: Likewise.
902 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
903 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
904 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
905
906 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
907
908 PR c/71381
909 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
910 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
911 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
912
913 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
914
915 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
916 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
917
918 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
919
920 PR c/70688
921 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
922
923 2016-05-26 Jakub Jelinek <jakub@redhat.com>
924
925 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
926 instead of invalid schedule(static, 0).
927 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
928
929 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
930
931 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
932 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
933 parameter, use to set async stream around call to gomp_unmap_vars,
934 call gomp_unmap_vars() with 'do_copyfrom' set to true.
935 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
936 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
937 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
938 (event_add): Add int parameter, initialize 'val' field when
939 adding new ptx_event struct.
940 (nvptx_evec): Adjust event_add() call arguments.
941 (nvptx_host2dev): Likewise.
942 (nvptx_dev2host): Likewise.
943 (nvptx_wait_async): Likewise.
944 (nvptx_wait_all_async): Likewise.
945 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
946 pass to event_add() call.
947 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
948 parameter.
949 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
950 call openacc.register_async_cleanup_func() hook.
951 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
952 * target.c (gomp_copy_from_async): Delete function.
953 (gomp_map_vars): Remove async_refcount.
954 (gomp_unmap_vars): Likewise.
955 (gomp_load_image_to_device): Likewise.
956 (omp_target_associate_ptr): Likewise.
957 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
958 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
959 (gomp_copy_from_async): Remove.
960
961 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
962
963 * target.c (gomp_device_copy): New function.
964 (gomp_copy_host2dev): Likewise.
965 (gomp_copy_dev2host): Likewise.
966 (gomp_free_device_memory): Likewise.
967 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
968 (gomp_map_pointer): Likewise.
969 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
970 NULL value from alloc_func plugin hook.
971 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
972 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
973 (gomp_unmap_vars): Likewise.
974 (gomp_update): Adjust to call gomp_copy_dev2host and
975 gomp_copy_host2dev functions.
976 (gomp_unload_image_from_device): Handle false value from
977 unload_image_func plugin hook.
978 (gomp_init_device): Handle false value from init_device_func
979 plugin hook.
980 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
981 (omp_target_free): Adjust to call gomp_free_device_memory.
982 (omp_target_memcpy): Handle return values from host2dev_func,
983 dev2host_func, and dev2dev_func plugin hooks.
984 (omp_target_memcpy_rect_worker): Likewise.
985 (gomp_target_fini): Handle false value from fini_device_func
986 plugin hook.
987 * libgomp.h (struct gomp_device_descr): Adjust return type of
988 init_device_func, fini_device_func, unload_image_func, free_func,
989 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
990 * oacc-init.c (acc_shutdown_1): Handle false value from
991 fini_device_func plugin hook.
992 * oacc-host.c (host_init_device): Change return type to bool.
993 (host_fini_device): Likewise.
994 (host_unload_image): Likewise.
995 (host_free): Likewise.
996 (host_dev2host): Likewise.
997 (host_host2dev): Likewise.
998 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
999 (acc_memcpy_to_device): Likewise.
1000 (acc_memcpy_from_device): Likewise.
1001 (delete_copyout): Add libfnname parameter, handle free_func
1002 hook fatal error case.
1003 (acc_delete): Adjust delete_copyout call.
1004 (acc_copyout): Likewise.
1005 (update_dev_host): Move gomp_mutex_unlock to after
1006 host2dev/dev2host hook calls.
1007
1008 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
1009 to 'hsa_error_msg', for clarity.
1010 (hsa_fatal): Likewise.
1011 (hsa_error): New function.
1012 (init_hsa_context): Change return type to bool, adjust to return
1013 false on error.
1014 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
1015 return value.
1016 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
1017 return false on error.
1018 (get_agent_info): Adjust to return NULL on error.
1019 (destroy_hsa_program): Change return type to bool, adjust to
1020 return false on error.
1021 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
1022 (destroy_module): Change return type to bool, adjust to
1023 return false on error.
1024 (GOMP_OFFLOAD_unload_image): Likewise.
1025 (GOMP_OFFLOAD_fini_device): Likewise.
1026 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
1027 (GOMP_OFFLOAD_free): Change to return false when called.
1028 (GOMP_OFFLOAD_dev2host): Likewise.
1029 (GOMP_OFFLOAD_host2dev): Likewise.
1030 (GOMP_OFFLOAD_dev2dev): Likewise.
1031
1032 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
1033 (CUDA_CALL): Likewise.
1034 (CUDA_CALL_ASSERT): Likewise.
1035 (map_init): Change return type to bool, use CUDA_CALL* macros.
1036 (map_fini): Likewise.
1037 (init_streams_for_device): Change return type to bool, adjust
1038 call to map_init.
1039 (fini_streams_for_device): Change return type to bool, adjust
1040 call to map_fini.
1041 (select_stream_for_async): Release stream_lock before calls to
1042 GOMP_PLUGIN_fatal, adjust call to map_init.
1043 (nvptx_init): Use CUDA_CALL* macros.
1044 (nvptx_attach_host_thread_to_device): Change return type to bool,
1045 use CUDA_CALL* macros.
1046 (nvptx_open_device): Use CUDA_CALL* macros.
1047 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
1048 macros.
1049 (nvptx_get_num_devices): Use CUDA_CALL* macros.
1050 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
1051 (nvptx_exec): Use CUDA_CALL* macros.
1052 (nvptx_alloc): Use CUDA_CALL* macros.
1053 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
1054 (nvptx_host2dev): Likewise.
1055 (nvptx_dev2host): Likewise.
1056 (nvptx_wait): Use CUDA_CALL* macros.
1057 (nvptx_wait_async): Likewise.
1058 (nvptx_wait_all): Likewise.
1059 (nvptx_wait_all_async): Likewise.
1060 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
1061 use CUDA_CALL* macros, adjust call to map_fini.
1062 (GOMP_OFFLOAD_init_device): Change return type to bool,
1063 adjust code accordingly.
1064 (GOMP_OFFLOAD_fini_device): Likewise.
1065 (GOMP_OFFLOAD_load_image): Adjust calls to
1066 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
1067 use CUDA_CALL* macros.
1068 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
1069 return code.
1070 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
1071 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
1072 handle error return.
1073 (GOMP_OFFLOAD_dev2host): Likewise.
1074 (GOMP_OFFLOAD_host2dev): Likewise.
1075 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
1076 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
1077
1078 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
1079
1080 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
1081 (acc_free): Likewise.
1082 (acc_memcpy_to_device): Likewise.
1083 (acc_memcpy_from_device): Likewise.
1084 (acc_deviceptr): Likewise.
1085 (acc_hostptr): Likewise.
1086 (acc_is_present): Likewise.
1087 (acc_map_data): Likewise.
1088 (acc_unmap_data): Likewise.
1089 (present_create_copy): Likewise.
1090 (delete_copyout): Likewise.
1091 (update_dev_host): Likewise.
1092 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
1093 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
1094 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
1095 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1096 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
1097 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
1098 it only runs on nvptx targets.
1099 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1100 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
1101 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1102 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
1103 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1104 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1105 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
1106 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
1107 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1108 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
1109 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1110 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
1111 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
1112 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1113 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1114 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1115 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
1116 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1117 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
1118 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1119 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
1120 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1121 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1122
1123 2016-05-23 Martin Jambor <mjambor@suse.cz>
1124
1125 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
1126
1127 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
1128
1129 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
1130 to gomp_init_targets_once.
1131 (acc_set_device_type): Remove !cached_base_dev condition on call to
1132 gomp_init_targets_once, move call to before acc_device_lock acquire,
1133 to avoid deadlock.
1134 (acc_get_device_num): Remove !cached_base_dev condition on call to
1135 gomp_init_targets_once.
1136 (acc_set_device_num): Likewise.
1137
1138 2016-05-16 Martin Jambor <mjambor@suse.cz>
1139
1140 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
1141
1142 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
1143
1144 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
1145 expected partitioning.
1146
1147 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
1148
1149 PR middle-end/70626
1150 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
1151 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
1152 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
1153
1154 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
1155
1156 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
1157 non-fatal.
1158
1159 2016-04-19 Jakub Jelinek <jakub@redhat.com>
1160
1161 PR middle-end/70680
1162 * testsuite/libgomp.c/pr70680-1.c: New test.
1163 * testsuite/libgomp.c/pr70680-2.c: New test.
1164
1165 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
1166
1167 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
1168 pass parameter variables to subroutines.
1169
1170 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
1171
1172 PR middle-end/70643
1173 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
1174
1175 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
1176
1177 PR testsuite/68242
1178 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
1179 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1180
1181 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
1182
1183 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
1184 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
1185 GOACC_declare prototype.
1186
1187 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
1188 Merge this file, and...
1189 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
1190 ... this file, and...
1191 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
1192 ... this file, and...
1193 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
1194 ... this file, and...
1195 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
1196 ... this file, and...
1197 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
1198 ... this file, and...
1199 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
1200 ... this file, and...
1201 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
1202 ... this file, and...
1203 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
1204 ... this file, and...
1205 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
1206 ... this file, and...
1207 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
1208 ... this file, and...
1209 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
1210 ... this file, and...
1211 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
1212 ... this file into...
1213 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
1214 file.
1215
1216 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1217 Make failure observable.
1218
1219 2016-04-12 Jakub Jelinek <jakub@redhat.com>
1220
1221 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
1222 field.
1223 * target.c (gomp_target_fallback_firstprivate,
1224 gomp_target_unshare_firstprivate): Removed.
1225 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
1226 before waiting for dependencies.
1227 (gomp_target_task_fn): Don't copy firstprivate vars here.
1228 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
1229 firstprivate_copies here.
1230 (gomp_create_target_task): Don't initialize firstprivate_copies field.
1231 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
1232 explicit/implicit firstprivate.
1233
1234 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
1235
1236 PR lto/70289
1237 PR ipa/70348
1238 PR tree-optimization/70373
1239 PR middle-end/70533
1240 PR middle-end/70534
1241 PR middle-end/70535
1242 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
1243 test.
1244 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
1245 test.
1246 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
1247 test.
1248 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
1249 test.
1250 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
1251 test.
1252 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
1253 test.
1254 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
1255 test.
1256 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
1257 test.
1258 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
1259 test.
1260 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
1261 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
1262 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
1263 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
1264 test.
1265 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
1266 test.
1267 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
1268 test.
1269 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
1270 test.
1271 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
1272 coverage.
1273 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1274 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1275 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
1276 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
1277 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
1278 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
1279 coverage.
1280 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1281 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1282 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1283 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1284 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
1285 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
1286 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
1287 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
1288 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
1289 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
1290 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
1291 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
1292 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1293 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1294 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
1295
1296 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
1297 James Norris <jnorris@codesourcery.com>
1298 Nathan Sidwell <nathan@codesourcery.com>
1299 Julian Brown <julian@codesourcery.com>
1300 Cesar Philippidis <cesar@codesourcery.com>
1301 Chung-Lin Tang <cltang@codesourcery.com>
1302 Tom de Vries <tom@codesourcery.com>
1303
1304 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
1305 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
1306 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
1307 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
1308 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1309 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1310 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1311 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
1312 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
1313 XFAIL.
1314 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
1315 Incorporate...
1316 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
1317 file.
1318 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
1319 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
1320 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
1321 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
1322 Likewise.
1323 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1324 Likewise.
1325 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1326 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
1327 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
1328 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1329 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
1330 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
1331 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
1332 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
1333 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1334 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
1335 Likewise.
1336 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
1337 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1338 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
1339 file...
1340 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
1341 file into...
1342 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
1343 file. Update.
1344 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
1345 file.
1346 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
1347 Likewise.
1348 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
1349 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
1350 ... this new file. Update.
1351 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
1352 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
1353 ... this new file. Update.
1354 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
1355 file. Incorporate...
1356 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
1357 file, and...
1358 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
1359 file, and...
1360 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
1361 file.
1362 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
1363
1364 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
1365
1366 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
1367 set-torture-options.
1368
1369 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
1370
1371 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
1372 gcc-dg-runtest.
1373 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1374 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
1375 -fno-builtin-acc_on_device instead of -O0.
1376 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
1377 -O0.
1378 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
1379 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
1380 Likewise.
1381 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
1382 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
1383 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
1384 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1385 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1386 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1387 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1388 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1389 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1390 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1391 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1392 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1393 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
1394 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
1395 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
1396 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1397 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
1398 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
1399 Don't specify -O2.
1400 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
1401 Likewise.
1402 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
1403 Likewise.
1404
1405 2016-03-24 Martin Liska <mliska@suse.cz>
1406
1407 * plugin/plugin-hsa.c (packet_store_release): New function
1408 that is taken from the HSA runtime manual.
1409 (GOMP_OFFLOAD_run): Use the function.
1410
1411 2016-03-23 Jakub Jelinek <jakub@redhat.com>
1412
1413 PR c++/70376
1414 * testsuite/libgomp.c++/pr70376.C: New test.
1415
1416 2016-03-23 Tom de Vries <tom@codesourcery.com>
1417
1418 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
1419 initialization of lresult and lvresult.
1420 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
1421
1422 2016-03-23 James Norris <jnorris@codesourcery.com>
1423 Daichi Fukuoka <dc-fukuoka@sgi.com>
1424
1425 PR libgomp/69414
1426 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
1427 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
1428 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
1429 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
1430
1431 2016-03-23 Martin Liska <mliska@suse.cz>
1432
1433 PR hsa/70337
1434 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
1435 argument just in case a dispatched kernel uses that argument.
1436
1437 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
1438
1439 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
1440 -ftree-parallelize-loops/-fopenacc changes.
1441 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
1442 Likewise.
1443 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
1444 Likewise.
1445 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
1446 Likewise.
1447 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
1448 Likewise.
1449 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
1450 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
1451
1452 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
1453
1454 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
1455 always_ld_library_path the path to libgcc_s.
1456
1457 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
1458
1459 PR testsuite/70009
1460 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
1461
1462 2016-03-09 Tom de Vries <tom@codesourcery.com>
1463
1464 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
1465 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
1466 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
1467 Same.
1468 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
1469 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
1470 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
1471 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
1472
1473 2016-03-07 Martin Jambor <mjambor@suse.cz>
1474
1475 * testsuite/lib/libgomp.exp
1476 (check_effective_target_hsa_offloading_selected_nocache): New.
1477 (check_effective_target_hsa_offloading_selected): Likewise.
1478 * testsuite/libgomp.hsa.c/c.exp: Likewise.
1479 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
1480 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
1481 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
1482 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
1483 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
1484 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
1485 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
1486 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
1487 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
1488 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
1489 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
1490 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
1491 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
1492 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
1493 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
1494 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
1495
1496 2016-03-07 Martin Jambor <mjambor@suse.cz>
1497
1498 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
1499 non-shared memory accelerators.
1500 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
1501 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
1502 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
1503 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
1504 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
1505 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
1506 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
1507 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
1508 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
1509
1510 2016-03-07 Martin Jambor <mjambor@suse.cz>
1511
1512 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
1513 ALWAYS_CFLAGS.
1514
1515 2016-03-02 Jakub Jelinek <jakub@redhat.com>
1516
1517 PR libgomp/69555
1518 * testsuite/libgomp.c++/pr69555-1.C: New test.
1519 * testsuite/libgomp.c++/pr69555-2.C: New test.
1520
1521 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
1522 Martin Jambor <mjambor@suse.cz>
1523
1524 * testsuite/lib/libgomp.exp
1525 (check_effective_target_offload_device_shared_as): New proc.
1526 * testsuite/libgomp.c++/declare_target-1.C: New test.
1527
1528 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
1529
1530 PR driver/68463
1531 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
1532
1533 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
1534
1535 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
1536 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
1537 dims.
1538 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
1539 -ftree-parallelize-loops/-fopenacc changes.
1540 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
1541 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
1542 Likewise.
1543 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
1544 Likewise.
1545 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
1546 Likewise.
1547 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
1548 Likewise.
1549 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
1550 Likewise.
1551 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
1552 Likewise.
1553 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
1554 Likewise.
1555 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
1556 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
1557 Likewise.
1558 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
1559 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
1560 Likewise.
1561 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
1562 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
1563 Likewise.
1564
1565 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
1566
1567 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
1568
1569 2016-02-19 Jakub Jelinek <jakub@redhat.com>
1570
1571 PR driver/69805
1572 * testsuite/libgomp.c/pr69805.c: New test.
1573
1574 2016-02-16 Tom de Vries <tom@codesourcery.com>
1575
1576 PR lto/67709
1577 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
1578
1579 2016-02-09 Tom de Vries <tom@codesourcery.com>
1580
1581 PR tree-optimization/69599
1582 * testsuite/libgomp.c/omp-nested-3.c: New test.
1583 * testsuite/libgomp.c/pr46032-2.c: New test.
1584 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
1585 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
1586
1587 2016-02-09 Tom de Vries <tom@codesourcery.com>
1588
1589 PR lto/69707
1590 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
1591
1592 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
1593
1594 * testsuite/libgomp.c/target-31.c: Fix testcase.
1595
1596 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
1597
1598 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
1599 clause.
1600 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
1601 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
1602 reduction and map clauses.
1603 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
1604
1605 2016-02-02 James Norris <jnorris@codesourcery.com>
1606
1607 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
1608
1609 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
1610
1611 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
1612 * oacc-parallel.c (GOACC_host_data): Remove function definition.
1613
1614 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
1615 cases.
1616
1617 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
1618 variables.
1619 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
1620 (hsa_kmt_lib): Set variables.
1621 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
1622 always_ld_library_path.
1623 * Makefile.in: Regenerate.
1624 * configure: Likewise.
1625 * testsuite/Makefile.in: Likewise.
1626
1627 * plugin/configfrag.ac (offload_additional_options)
1628 (offload_additional_lib_paths): Don't amend for hsa offloading.
1629 * configure: Regenerate.
1630
1631 * plugin/configfrag.ac: Don't configure for offloading target if
1632 we don't build the corresponding plugin.
1633 * configure: Regenerate.
1634
1635 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
1636
1637 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
1638 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
1639
1640 2016-01-26 Tom de Vries <tom@codesourcery.com>
1641
1642 PR tree-optimization/69110
1643 * testsuite/libgomp.c/pr69110.c: New test.
1644
1645 2016-01-25 Richard Biener <rguenther@suse.de>
1646
1647 PR lto/69393
1648 * testsuite/libgomp.c++/pr69393.C: New testcase.
1649
1650 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
1651
1652 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
1653 function wasn't mapped to the device with non-shared memory.
1654
1655 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
1656
1657 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
1658
1659 2016-01-19 Martin Jambor <mjambor@suse.cz>
1660 Martin Liska <mliska@suse.cz>
1661
1662 * plugin/Makefrag.am: Add HSA plugin requirements.
1663 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
1664 (HSA_RUNTIME_LIB): Likewise.
1665 (HSA_RUNTIME_CPPFLAGS): Likewise.
1666 (HSA_RUNTIME_INCLUDE): New substitution.
1667 (HSA_RUNTIME_LIB): Likewise.
1668 (HSA_RUNTIME_LDFLAGS): Likewise.
1669 (hsa-runtime): New configure option.
1670 (hsa-runtime-include): Likewise.
1671 (hsa-runtime-lib): Likewise.
1672 (PLUGIN_HSA): New substitution variable.
1673 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
1674 configure options.
1675 (PLUGIN_HSA_CPPFLAGS): Likewise.
1676 (PLUGIN_HSA_LDFLAGS): Likewise.
1677 (PLUGIN_HSA_LIBS): Likewise.
1678 Check that we have access to HSA run-time.
1679 * libgomp-plugin.h (offload_target_type): New element
1680 OFFLOAD_TARGET_TYPE_HSA.
1681 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
1682 args.
1683 (bool gomp_create_target_task): Updated.
1684 (gomp_device_descr): Extra parameter of run_func and async_run_func,
1685 new field can_run_func.
1686 * libgomp_g.h (GOMP_target_ext): Update prototype.
1687 * oacc-host.c (host_run): Added a new parameter args.
1688 * target.c (calculate_firstprivate_requirements): New function.
1689 (copy_firstprivate_data): Likewise.
1690 (gomp_target_fallback_firstprivate): Use them.
1691 (gomp_target_unshare_firstprivate): New function.
1692 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
1693 devices.
1694 (GOMP_target): Do host fallback for all shared memory devices. Do not
1695 pass any args to plugins.
1696 (GOMP_target_ext): Introduce device-specific argument parameter args.
1697 Allow host fallback if device shares memory. Do not remap data if
1698 device has shared memory.
1699 (gomp_target_task_fn): Likewise. Also treat shared memory devices
1700 like host fallback for mappings.
1701 (GOMP_target_data): Treat shared memory devices like host fallback.
1702 (GOMP_target_data_ext): Likewise.
1703 (GOMP_target_update): Likewise.
1704 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
1705 gomp_create_target_task.
1706 (GOMP_target_enter_exit_data): Likewise.
1707 (omp_target_alloc): Treat shared memory devices like host fallback.
1708 (omp_target_free): Likewise.
1709 (omp_target_is_present): Likewise.
1710 (omp_target_memcpy): Likewise.
1711 (omp_target_memcpy_rect): Likewise.
1712 (omp_target_associate_ptr): Likewise.
1713 (gomp_load_plugin_for_device): Also load can_run.
1714 * task.c (GOMP_PLUGIN_target_task_completion): Free
1715 firstprivate_copies.
1716 (gomp_create_target_task): Accept new argument args and store it to
1717 ttask.
1718 * plugin/plugin-hsa.c: New file.
1719
1720 2016-01-18 Tom de Vries <tom@codesourcery.com>
1721
1722 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
1723 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
1724 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
1725 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
1726 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
1727 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
1728 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
1729 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
1730 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
1731 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
1732 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
1733 Same.
1734 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
1735 Same.
1736 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
1737 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
1738 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
1739 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
1740 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
1741 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
1742 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
1743 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
1744 Same.
1745 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
1746
1747 2016-01-15 Jakub Jelinek <jakub@redhat.com>
1748
1749 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
1750
1751 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
1752
1753 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
1754
1755 2016-01-12 James Norris <jnorris@codesourcery.com>
1756
1757 * libgomp.texi: Updates for OpenACC.
1758
1759 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
1760
1761 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
1762
1763 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
1764
1765 PR fortran/66680
1766 * testsuite/libgomp.fortran/pr66680.f90: New test.
1767
1768 2016-01-07 Jakub Jelinek <jakub@redhat.com>
1769
1770 PR middle-end/68960
1771 * testsuite/libgomp.c/pr68960.c: New test.
1772
1773 2016-01-06 Nathan Sidwell <nathan@acm.org>
1774
1775 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
1776 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
1777
1778 2016-01-04 Jakub Jelinek <jakub@redhat.com>
1779
1780 Update copyright years.
1781
1782 * libgomp.texi: Bump @copying's copyright year.
1783
1784 2015-12-31 Nathan Sidwell <nathan@acm.org>
1785
1786 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
1787 dg-additional-options syntax.
1788 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1789 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
1790 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
1791 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1792 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
1793 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
1794 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1795 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
1796 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1797 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
1798 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1799 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
1800 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1801 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1802 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1803 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
1804 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1805 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1806
1807 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1808
1809 * libgomp.h (REFCOUNT_LINK): Define.
1810 (struct splay_tree_key_s): Add link_key.
1811 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
1812 Replace target address of the pointer with target address of newly
1813 mapped object in the splay tree. Set link pointer on target to the
1814 device address of the mapped object.
1815 (gomp_unmap_vars): Restore target address of the pointer in the splay
1816 tree for REFCOUNT_LINK objects after unmapping.
1817 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
1818 declare target link" objects.
1819 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
1820 "omp declare target link" objects, which were mapped for the image.
1821 (gomp_exit_data): Restore target address of the pointer in the splay
1822 tree for REFCOUNT_LINK objects after unmapping.
1823 * testsuite/libgomp.c/target-link-1.c: New file.
1824
1825 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
1826
1827 * libgomp.h (gomp_device_state): New enum.
1828 (struct gomp_device_descr): Replace is_initialized with state.
1829 (gomp_fini_device): Remove declaration.
1830 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
1831 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
1832 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
1833 (acc_set_device_type): Use state instead of is_initialized.
1834 (acc_set_device_num): Likewise.
1835 * target.c (resolve_device): Use state instead of is_initialized.
1836 Do not initialize finalized device.
1837 (gomp_map_vars): Do nothing if device is finalized.
1838 (gomp_unmap_vars): Likewise.
1839 (gomp_update): Likewise.
1840 (GOMP_offload_register_ver): Use state instead of is_initialized.
1841 (GOMP_offload_unregister_ver): Likewise.
1842 (gomp_init_device): Likewise.
1843 (gomp_unload_device): Likewise.
1844 (gomp_fini_device): Remove.
1845 (gomp_get_target_fn_addr): Do nothing if device is finalized.
1846 (GOMP_target): Go to host fallback if device is finalized.
1847 (GOMP_target_ext): Likewise.
1848 (gomp_exit_data): Do nothing if device is finalized.
1849 (gomp_target_task_fn): Go to host fallback if device is finalized.
1850 (gomp_target_fini): New static function.
1851 (gomp_target_init): Use state instead of is_initialized.
1852 Call gomp_target_fini at exit.
1853
1854 2015-12-09 Tom de Vries <tom@codesourcery.com>
1855
1856 PR tree-optimization/68716
1857 * testsuite/libgomp.c/omp-nested-2.c: New test.
1858
1859 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
1860
1861 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
1862 target openacc_nvidia_accel_selected.
1863 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
1864 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
1865 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
1866 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
1867
1868 2015-12-01 Julian Brown <julian@codesourcery.com>
1869 James Norris <James_Norris@mentor.com>
1870
1871 * oacc-parallel.c (GOACC_host_data): New function.
1872 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
1873 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
1874 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
1875 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
1876 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
1877 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
1878 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
1879
1880 2015-11-30 James Norris <jnorris@codesourcery.com>
1881 Cesar Philippidis <cesar@codesourcery.com>
1882
1883 libgomp/
1884 * libgomp.oacc-fortran/routine-5.f90: New test.
1885 * libgomp.oacc-fortran/routine-7.f90: New test.
1886 * libgomp.oacc-fortran/routine-9.f90: New test.
1887
1888 2015-11-30 Tom de Vries <tom@codesourcery.com>
1889
1890 PR tree-optimization/46032
1891 * testsuite/libgomp.c/pr46032.c: New test.
1892
1893 2015-11-27 Jakub Jelinek <jakub@redhat.com>
1894
1895 PR libgomp/68579
1896 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
1897 (gomp_create_target_task): Call it before freeing
1898 GOMP_TARGET_TASK_DATA tasks.
1899
1900 PR c/63326
1901 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
1902 in between case label and OpenMP standalone directives.
1903 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
1904
1905 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
1906
1907 * configure: Regenerate.
1908
1909 2015-11-26 Jakub Jelinek <jakub@redhat.com>
1910
1911 * testsuite/libgomp.c/target-35.c: New test.
1912
1913 2015-11-22 James Norris <jnorris@codesourcery.com>
1914 Cesar Philippidis <cesar@codesourcery.com>
1915
1916 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
1917 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
1918 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
1919 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
1920 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
1921
1922 2015-11-20 Jakub Jelinek <jakub@redhat.com>
1923
1924 PR middle-end/68221
1925 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
1926 * testsuite/libgomp.c/reduction-12.c: Likewise.
1927 * testsuite/libgomp.c++/reduction-11.C: Likewise.
1928 * testsuite/libgomp.c++/reduction-12.C: Likewise.
1929
1930 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
1931
1932 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
1933 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
1934 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
1935 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
1936 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
1937 and fix.
1938 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1939 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1940
1941 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
1942
1943 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
1944 worker & gang cases.
1945 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
1946
1947 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
1948
1949 * config/nvptx/priority_queue.c: New file.
1950
1951 2015-11-14 Jakub Jelinek <jakub@redhat.com>
1952
1953 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
1954 sections.
1955
1956 2015-11-14 Jakub Jelinek <jakub@redhat.com>
1957 Aldy Hernandez <aldyh@redhat.com>
1958 Ilya Verbin <ilya.verbin@intel.com>
1959
1960 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
1961 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
1962 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
1963 iterators or IV by chunk size.
1964 * parallel.c (gomp_resolve_num_threads): Don't assume that
1965 if thr->ts.team is non-NULL, then pool must be non-NULL.
1966 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
1967 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
1968 GOMP_PLUGIN_target_task_completion.
1969 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
1970 * Makefile.in: Regenerate.
1971 * libgomp.h: Shuffle prototypes and forward definitions around so
1972 priority queues can be defined.
1973 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
1974 (enum gomp_target_task_state): New enum.
1975 (struct gomp_target_task): Add state, tgt, task and team fields.
1976 (gomp_create_target_task): Change return type to bool, add
1977 state argument.
1978 (gomp_target_task_fn): Change return type to bool.
1979 (struct gomp_device_descr): Add async_run_func.
1980 (struct gomp_task): Remove children, next_child, prev_child,
1981 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
1982 Add pnode field.
1983 (struct gomp_taskgroup): Remove children.
1984 Add taskgroup_queue.
1985 (struct gomp_team): Change task_queue type to a priority queue.
1986 (splay_compare): Define inline.
1987 (priority_queue_offset): New.
1988 (priority_node_to_task): New.
1989 (task_to_priority_node): New.
1990 * oacc-mem.c: Do not include splay-tree.h.
1991 * priority_queue.c: New file.
1992 * priority_queue.h: New file.
1993 * splay-tree.c: Do not include splay-tree.h.
1994 (splay_tree_foreach_internal): New.
1995 (splay_tree_foreach): New.
1996 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
1997 (splay_tree_callback): Define typedef.
1998 * target.c (splay_compare): Move to libgomp.h.
1999 (GOMP_target): Don't adjust *thr in any way around running offloaded
2000 task.
2001 (GOMP_target_ext): Likewise. Handle target nowait.
2002 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
2003 return value from gomp_create_target_task, if false, fallthrough
2004 as if no dependencies exist.
2005 (gomp_target_task_fn): Change return type to bool, return true
2006 if the task should have another part scheduled later. Handle
2007 target nowait.
2008 (gomp_load_plugin_for_device): Initialize async_run.
2009 * task.c (gomp_init_task): Initialize children_queue.
2010 (gomp_clear_parent_in_list): New.
2011 (gomp_clear_parent_in_tree): New.
2012 (gomp_clear_parent): Handle priorities.
2013 (GOMP_task): Likewise.
2014 (priority_queue_move_task_first,
2015 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
2016 New functions.
2017 (gomp_create_target_task): Use priority queues. Change return type
2018 to bool, add state argument, return false if for async
2019 {{enter,exit} data,update} constructs no dependencies need to be
2020 waited for, handle target nowait. Set task->fn to NULL instead of
2021 gomp_target_task_fn.
2022 (verify_children_queue): Remove.
2023 (priority_list_upgrade_task): New.
2024 (priority_queue_upgrade_task): New.
2025 (verify_task_queue): Remove.
2026 (priority_list_downgrade_task): New.
2027 (priority_queue_downgrade_task): New.
2028 (gomp_task_run_pre): Use priority queues.
2029 Abstract code out to priority_queue_downgrade_task.
2030 (gomp_task_run_post_handle_dependers): Use priority queues.
2031 (gomp_task_run_post_remove_parent): Likewise.
2032 (gomp_task_run_post_remove_taskgroup): Likewise.
2033 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
2034 tasks specially.
2035 (GOMP_taskwait): Likewise.
2036 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
2037 priority-queue_upgrade_task.
2038 (GOMP_taskgroup_start): Use priority queues.
2039 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
2040 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
2041 barrier.
2042 * taskloop.c (GOMP_taskloop): Handle priorities.
2043 * team.c (gomp_new_team): Call priority_queue_init.
2044 (free_team): Call priority_queue_free.
2045 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
2046 team created for target nowait in implicit parallel region.
2047 (gomp_team_start): For nested check, test thr->ts.level instead of
2048 thr->ts.team != NULL.
2049 * testsuite/libgomp.c/doacross-3.c: New test.
2050 * testsuite/libgomp.c/ordered-5.c: New test.
2051 * testsuite/libgomp.c/priority.c: New test.
2052 * testsuite/libgomp.c/target-31.c: New test.
2053 * testsuite/libgomp.c/target-32.c: New test.
2054 * testsuite/libgomp.c/target-33.c: New test.
2055 * testsuite/libgomp.c/target-34.c: New test.
2056
2057 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
2058
2059 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
2060
2061 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
2062 loop is sequential.
2063
2064 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
2065
2066 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
2067 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
2068
2069 2015-11-12 James Norris <jnorris@codesourcery.com>
2070 Joseph Myers <joseph@codesourcery.com>
2071
2072 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
2073 * oacc-parallel.c (GOACC_declare): New function.
2074 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
2075 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
2076 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
2077 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
2078 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
2079
2080 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
2081
2082 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
2083
2084 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
2085
2086 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
2087 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
2088
2089 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
2090
2091 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
2092 inadvertent commit.
2093
2094 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
2095
2096 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
2097 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
2098 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
2099 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
2100 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
2101
2102 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
2103
2104 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
2105 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2106
2107 2015-11-05 Jakub Jelinek <jakub@redhat.com>
2108 Ilya Verbin <ilya.verbin@intel.com>
2109
2110 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
2111 GOMP_loop_nonmonotonic_dynamic_start,
2112 GOMP_loop_nonmonotonic_guided_next,
2113 GOMP_loop_nonmonotonic_guided_start,
2114 GOMP_loop_ull_nonmonotonic_dynamic_next,
2115 GOMP_loop_ull_nonmonotonic_dynamic_start,
2116 GOMP_loop_ull_nonmonotonic_guided_next,
2117 GOMP_loop_ull_nonmonotonic_guided_start,
2118 GOMP_parallel_loop_nonmonotonic_dynamic,
2119 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
2120 (GOMP_target_41): Renamed to ...
2121 (GOMP_target_ext): ... this. Add num_teams and thread_limit
2122 arguments.
2123 (GOMP_target_data_41): Renamed to ...
2124 (GOMP_target_data_ext): ... this.
2125 (GOMP_target_update_41): Renamed to ...
2126 (GOMP_target_update_ext): ... this.
2127 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
2128 GOMP_target_data_ext and GOMP_target_update_ext instead of
2129 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
2130 Export GOMP_loop_nonmonotonic_dynamic_next,
2131 GOMP_loop_nonmonotonic_dynamic_start,
2132 GOMP_loop_nonmonotonic_guided_next,
2133 GOMP_loop_nonmonotonic_guided_start,
2134 GOMP_loop_ull_nonmonotonic_dynamic_next,
2135 GOMP_loop_ull_nonmonotonic_dynamic_start,
2136 GOMP_loop_ull_nonmonotonic_guided_next,
2137 GOMP_loop_ull_nonmonotonic_guided_start,
2138 GOMP_parallel_loop_nonmonotonic_dynamic and
2139 GOMP_parallel_loop_nonmonotonic_guided.
2140 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
2141 GOMP_parallel_loop_nonmonotonic_guided,
2142 GOMP_loop_nonmonotonic_dynamic_start,
2143 GOMP_loop_nonmonotonic_guided_start,
2144 GOMP_loop_nonmonotonic_dynamic_next,
2145 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
2146 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
2147 GOMP_loop_ull_nonmonotonic_guided_start,
2148 GOMP_loop_ull_nonmonotonic_dynamic_next,
2149 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
2150 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
2151 functions.
2152 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
2153 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
2154 Use gomp_map_val function.
2155 (gomp_target_fallback_firstprivate): New static function.
2156 (GOMP_target_41): Renamed to ...
2157 (GOMP_target_ext): ... this. Add num_teams and thread_limit
2158 arguments. Move firstprivate fallback handling into a new
2159 function.
2160 (GOMP_target_data_41): Renamed to ...
2161 (GOMP_target_data_ext): ... this.
2162 (GOMP_target_update_41): Renamed to ...
2163 (GOMP_target_update_ext): ... this.
2164 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
2165 gomp_map_0len_lookup instead of gomp_map_lookup.
2166 (omp_target_is_present): Use gomp_map_0len_lookup instead of
2167 gomp_map_lookup.
2168 * testsuite/libgomp.c/target-28.c: Likewise.
2169 * testsuite/libgomp.c/monotonic-1.c: New test.
2170 * testsuite/libgomp.c/monotonic-2.c: New test.
2171 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
2172 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
2173 * testsuite/libgomp.c/pr66199-5.c: New test.
2174 * testsuite/libgomp.c/pr66199-6.c: New test.
2175 * testsuite/libgomp.c/pr66199-7.c: New test.
2176 * testsuite/libgomp.c/pr66199-8.c: New test.
2177 * testsuite/libgomp.c/pr66199-9.c: New test.
2178 * testsuite/libgomp.c/reduction-11.c: New test.
2179 * testsuite/libgomp.c/reduction-12.c: New test.
2180 * testsuite/libgomp.c/reduction-13.c: New test.
2181 * testsuite/libgomp.c/reduction-14.c: New test.
2182 * testsuite/libgomp.c/reduction-15.c: New test.
2183 * testsuite/libgomp.c/target-12.c (main): Adjust for
2184 omp_target_is_present change for one-past-last element.
2185 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
2186 the same var is both mapped and privatized.
2187 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
2188 handling of zero-length array sections.
2189 * testsuite/libgomp.c/target-28.c: New test.
2190 * testsuite/libgomp.c/target-29.c: New test.
2191 * testsuite/libgomp.c/target-30.c: New test.
2192 * testsuite/libgomp.c/target-teams-1.c: New test.
2193 * testsuite/libgomp.c++/member-6.C: New test.
2194 * testsuite/libgomp.c++/member-7.C: New test.
2195 * testsuite/libgomp.c++/monotonic-1.C: New test.
2196 * testsuite/libgomp.c++/monotonic-2.C: New test.
2197 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
2198 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
2199 * testsuite/libgomp.c++/pr66199-3.C: New test.
2200 * testsuite/libgomp.c++/pr66199-4.C: New test.
2201 * testsuite/libgomp.c++/pr66199-5.C: New test.
2202 * testsuite/libgomp.c++/pr66199-6.C: New test.
2203 * testsuite/libgomp.c++/pr66199-7.C: New test.
2204 * testsuite/libgomp.c++/pr66199-8.C: New test.
2205 * testsuite/libgomp.c++/pr66199-9.C: New test.
2206 * testsuite/libgomp.c++/reduction-11.C: New test.
2207 * testsuite/libgomp.c++/reduction-12.C: New test.
2208 * testsuite/libgomp.c++/target-13.C: New test.
2209 * testsuite/libgomp.c++/target-14.C: New test.
2210 * testsuite/libgomp.c++/target-15.C: New test.
2211 * testsuite/libgomp.c++/target-16.C: New test.
2212 * testsuite/libgomp.c++/target-17.C: New test.
2213 * testsuite/libgomp.c++/target-18.C: New test.
2214 * testsuite/libgomp.c++/target-19.C: New test.
2215
2216 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2217
2218 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
2219 and reduction copy.
2220 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2221 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2222 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2223 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2224 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2225 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
2226 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
2227 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2228 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
2229 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
2230 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
2231 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2232 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
2233 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
2234
2235 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2236
2237 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
2238 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
2239 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
2240 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
2241 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
2242 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
2243 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
2244 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
2245
2246 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
2247
2248 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
2249 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
2250 (GOMP_OFFLOAD_openacc_parallel): Likewise.
2251 * oacc-host.c (host_openacc_exec): Likewise.
2252 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
2253
2254 2015-11-03 Julian Brown <julian@codesourcery.com>
2255 Thomas Schwinge <thomas@codesourcery.com>
2256
2257 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
2258 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2259 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
2260 Likewise.
2261 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
2262 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
2263
2264 2015-11-03 James Norris <jnorris@codesourcery.com>
2265
2266 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
2267 file.
2268 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
2269 Likewise.
2270 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
2271 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
2272 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
2273 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
2274 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
2275
2276 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
2277
2278 * openacc.h (enum acc_device_t): Reformat. Ensure layout
2279 compatibility.
2280 (enum acc_async_t): Reformat.
2281 (acc_on_device): Declare compatible with builtin and provide C++
2282 wrapper.
2283 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
2284
2285 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
2286 Cesar Philippidis <cesar@codesourcery.com>
2287
2288 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
2289 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
2290 ... this. Add a description of the test at the top of the file.
2291 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
2292 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
2293 ... this. Add a description of the test at the top of the file.
2294
2295 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
2296
2297 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
2298 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
2299 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
2300 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
2301 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
2302 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
2303
2304 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
2305
2306 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
2307 dimensions.
2308
2309 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
2310
2311 PR testsuite/68063
2312 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
2313
2314 2015-10-27 James Norris <jnorris@codesourcery.com>
2315
2316 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
2317 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
2318
2319 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
2320
2321 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
2322 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
2323
2324 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
2325 acc_device_nvidia usage.
2326 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
2327 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
2328 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
2329
2330 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
2331 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
2332
2333 PR libgomp/66518
2334 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
2335
2336 PR libgomp/65437
2337 PR libgomp/66518
2338 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
2339 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
2340
2341 2015-10-23 Tom de Vries <tom@codesourcery.com>
2342
2343 PR testsuite/68063
2344 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
2345
2346 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
2347
2348 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
2349 vector_length.
2350 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2351
2352 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
2353 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
2354
2355 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
2356 to 0 when mapnum is 0.
2357
2358 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
2359
2360 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
2361 Cast to int from int32_t.
2362
2363 2015-10-13 Jakub Jelinek <jakub@redhat.com>
2364 Aldy Hernandez <aldyh@redhat.com>
2365 Ilya Verbin <ilya.verbin@intel.com>
2366
2367 * config/linux/affinity.c (omp_get_place_num_procs,
2368 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
2369 * config/linux/doacross.h: New file.
2370 * config/posix/affinity.c (omp_get_place_num_procs,
2371 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
2372 * config/posix/doacross.h: New file.
2373 * env.c: Include gomp-constants.h.
2374 (struct gomp_task_icv): Rename run_sched_modifier to
2375 run_sched_chunk_size.
2376 (gomp_max_task_priority_var): New variable.
2377 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
2378 (handle_omp_display_env): Change _OPENMP value from 201307 to
2379 201511. Print OMP_MAX_TASK_PRIORITY.
2380 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
2381 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
2382 chunk_size and run_sched_modifier to run_sched_chunk_size.
2383 (omp_get_max_task_priority, omp_get_initial_device,
2384 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
2385 omp_get_partition_place_nums): New functions.
2386 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
2387 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
2388 to chunk_size.
2389 (omp_get_num_places_, omp_get_place_num_procs_,
2390 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
2391 omp_get_place_proc_ids_8_, omp_get_place_num_,
2392 omp_get_partition_num_places_, omp_get_partition_place_nums_,
2393 omp_get_partition_place_nums_8_, omp_get_initial_device_,
2394 omp_get_max_task_priority_): New functions.
2395 * libgomp_g.h (GOMP_loop_doacross_static_start,
2396 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
2397 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
2398 GOMP_loop_ull_doacross_dynamic_start,
2399 GOMP_loop_ull_doacross_guided_start,
2400 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
2401 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
2402 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
2403 GOMP_target_data_41, GOMP_target_update_41,
2404 GOMP_target_enter_exit_data): New prototypes.
2405 (GOMP_task): Add prototype argument.
2406 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
2407 (struct gomp_doacross_work_share): New type.
2408 (struct gomp_work_share): Add doacross field.
2409 (struct gomp_task_icv): Rename run_sched_modifier to
2410 run_sched_chunk_size.
2411 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
2412 GOMP_TASK_UNDEFERRED. Add comments.
2413 (struct gomp_task_depend_entry): Add comments.
2414 (struct gomp_task): Likewise.
2415 (struct gomp_taskgroup): Likewise.
2416 (struct gomp_target_task): New type.
2417 (struct gomp_team): Add comment.
2418 (gomp_get_place_proc_ids_8, gomp_doacross_init,
2419 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
2420 gomp_create_target_task, gomp_target_task_fn): New prototypes.
2421 (struct target_var_desc): New type.
2422 (struct target_mem_desc): Adjust comment. Use struct
2423 target_var_desc instead of splay_tree_key for list.
2424 (REFCOUNT_INFINITY): Define.
2425 (struct splay_tree_key_s): Remove copy_from field.
2426 (struct gomp_device_descr): Add dev2dev_func field.
2427 (enum gomp_map_vars_kind): New enum.
2428 (gomp_map_vars): Add one argument.
2429 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
2430 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
2431 omp_get_place_num_procs, omp_get_place_num_procs_,
2432 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
2433 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
2434 omp_get_place_num_, omp_get_partition_num_places,
2435 omp_get_partition_num_places_, omp_get_partition_place_nums,
2436 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
2437 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
2438 omp_target_free, omp_target_is_present, omp_target_memcpy,
2439 omp_target_memcpy_rect, omp_target_associate_ptr and
2440 omp_target_disassociate_ptr.
2441 (GOMP_4.0.2): Renamed to ...
2442 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
2443 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
2444 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
2445 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
2446 GOMP_loop_doacross_static_start, GOMP_doacross_post,
2447 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
2448 GOMP_loop_ull_doacross_guided_start,
2449 GOMP_loop_ull_doacross_runtime_start,
2450 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
2451 GOMP_doacross_ull_wait.
2452 * libgomp.texi: Document omp_get_max_task_priority.
2453 Rename modifier argument to chunk_size for omp_set_schedule and
2454 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
2455 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
2456 to run_sched_chunk_size renaming.
2457 (GOMP_loop_ordered_runtime_start): Likewise.
2458 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
2459 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
2460 GOMP_parallel_loop_runtime_start): New functions.
2461 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
2462 to run_sched_chunk_size renaming.
2463 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
2464 GOMP_loop_doacross_guided_start): New functions or aliases.
2465 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
2466 run_sched_modifier to run_sched_chunk_size renaming.
2467 (GOMP_loop_ull_ordered_runtime_start): Likewise.
2468 (gomp_loop_ull_doacross_static_start,
2469 gomp_loop_ull_doacross_dynamic_start,
2470 gomp_loop_ull_doacross_guided_start,
2471 GOMP_loop_ull_doacross_runtime_start): New functions.
2472 (GOMP_loop_ull_doacross_static_start,
2473 GOMP_loop_ull_doacross_dynamic_start,
2474 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
2475 * oacc-mem.c (acc_map_data, present_create_copy,
2476 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
2477 to gomp_map_vars.
2478 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
2479 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
2480 instead of false to gomp_map_vars.
2481 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
2482 * omp.h.in (omp_lock_hint_t): New type.
2483 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
2484 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
2485 omp_get_place_num, omp_get_partition_num_places,
2486 omp_get_partition_place_nums, omp_get_initial_device,
2487 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
2488 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
2489 omp_target_associate_ptr, omp_target_disassociate_ptr): New
2490 prototypes.
2491 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
2492 (omp_lock_hint_none, omp_lock_hint_uncontended,
2493 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
2494 omp_lock_hint_speculative): New parameters.
2495 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
2496 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
2497 omp_get_place_num, omp_get_partition_num_places,
2498 omp_get_partition_place_nums, omp_get_initial_device,
2499 omp_get_max_task_priority): New interfaces.
2500 (omp_set_schedule, omp_get_schedule): Rename modifier argument
2501 to chunk_size.
2502 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
2503 (omp_lock_hint_none, omp_lock_hint_uncontended,
2504 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
2505 omp_lock_hint_speculative): New parameters.
2506 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
2507 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
2508 omp_get_place_num, omp_get_partition_num_places,
2509 omp_get_partition_place_nums, omp_get_initial_device,
2510 omp_get_max_task_priority): New functions and subroutines.
2511 * ordered.c: Include stdarg.h and string.h.
2512 (MAX_COLLAPSED_BITS): Define.
2513 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
2514 gomp_doacross_ull_init, GOMP_doacross_ull_post,
2515 GOMP_doacross_ull_wait): New functions.
2516 * target.c: Include errno.h.
2517 (resolve_device): If device is not initialized, call
2518 gomp_init_device on it.
2519 (gomp_map_lookup): New function.
2520 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
2521 Don't bump refcount if REFCOUNT_INFINITY. Handle
2522 GOMP_MAP_ALWAYS_TO_P.
2523 (get_kind): Rename is_openacc argument to short_mapkind.
2524 (gomp_map_pointer): Use gomp_map_lookup.
2525 (gomp_map_fields_existing): New function.
2526 (gomp_map_vars): Rename is_openacc argument to short_mapkind
2527 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
2528 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
2529 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
2530 Adjust for tgt->list changed type and copy_from living in there.
2531 (gomp_copy_from_async): Adjust for tgt->list changed type and
2532 copy_from living in there.
2533 (gomp_unmap_vars): Likewise.
2534 (gomp_update): Likewise. Rename is_openacc argument to
2535 short_mapkind. Don't fail if object is not mapped.
2536 (gomp_load_image_to_device): Initialize refcount to
2537 REFCOUNT_INFINITY.
2538 (gomp_target_fallback): New function.
2539 (gomp_get_target_fn_addr): Likewise.
2540 (GOMP_target): Adjust gomp_map_vars caller, use
2541 gomp_get_target_fn_addr and gomp_target_fallback.
2542 (GOMP_target_41): New function.
2543 (gomp_target_data_fallback): New function.
2544 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
2545 (GOMP_target_data_41): New function.
2546 (GOMP_target_update): Adjust gomp_update caller.
2547 (GOMP_target_update_41): New function.
2548 (gomp_exit_data, GOMP_target_enter_exit_data,
2549 gomp_target_task_fn, omp_target_alloc, omp_target_free,
2550 omp_target_is_present, omp_target_memcpy,
2551 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
2552 omp_target_associate_ptr, omp_target_disassociate_ptr,
2553 gomp_load_plugin_for_device): New functions.
2554 * task.c: Include gomp-constants.h. Include taskloop.c
2555 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
2556 (gomp_task_handle_depend): New function.
2557 (GOMP_task): Use it. Add priority argument. Use
2558 gomp-constant.h constants instead of hardcoded numbers.
2559 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
2560 (gomp_create_target_task): New function.
2561 (verify_children_queue, verify_taskgroup_queue,
2562 verify_task_queue): New functions.
2563 (gomp_task_run_pre): Call verify_*_queue functions.
2564 If an upcoming tied task is about to leave the sibling or
2565 taskgroup queues in an invalid state, adjust appropriately.
2566 Remove taskgroup argument. Add comments.
2567 (gomp_task_run_post_handle_dependers): Add comments.
2568 (gomp_task_run_post_remove_parent): Likewise.
2569 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
2570 (GOMP_taskwait): Likewise. Add comments.
2571 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
2572 problem such that the first non parent_depends_on task does not
2573 end up at the end of the children queue.
2574 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
2575 GOMP_TASK_UNDEFERRED.
2576 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
2577 * taskloop.c: New file.
2578 * testsuite/lib/libgomp.exp
2579 (check_effective_target_offload_device_nonshared_as): New proc.
2580 * testsuite/libgomp.c/affinity-2.c: New test.
2581 * testsuite/libgomp.c/doacross-1.c: New test.
2582 * testsuite/libgomp.c/doacross-2.c: New test.
2583 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
2584 Add map clause to target.
2585 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
2586 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
2587 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
2588 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
2589 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
2590 Likewise.
2591 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
2592 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
2593 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
2594 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
2595 not defined. Use those where needed.
2596 * testsuite/libgomp.c/for-4.c: New test.
2597 * testsuite/libgomp.c/for-5.c: New test.
2598 * testsuite/libgomp.c/for-6.c: New test.
2599 * testsuite/libgomp.c/linear-1.c: New test.
2600 * testsuite/libgomp.c/ordered-4.c: New test.
2601 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
2602 only allowed on the loop iterator.
2603 * testsuite/libgomp.c/pr66199-3.c: New test.
2604 * testsuite/libgomp.c/pr66199-4.c: New test.
2605 * testsuite/libgomp.c/reduction-7.c: New test.
2606 * testsuite/libgomp.c/reduction-8.c: New test.
2607 * testsuite/libgomp.c/reduction-9.c: New test.
2608 * testsuite/libgomp.c/reduction-10.c: New test.
2609 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
2610 map(tofrom:s).
2611 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
2612 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
2613 * testsuite/libgomp.c/target-11.c: New test.
2614 * testsuite/libgomp.c/target-12.c: New test.
2615 * testsuite/libgomp.c/target-13.c: New test.
2616 * testsuite/libgomp.c/target-14.c: New test.
2617 * testsuite/libgomp.c/target-15.c: New test.
2618 * testsuite/libgomp.c/target-16.c: New test.
2619 * testsuite/libgomp.c/target-17.c: New test.
2620 * testsuite/libgomp.c/target-18.c: New test.
2621 * testsuite/libgomp.c/target-19.c: New test.
2622 * testsuite/libgomp.c/target-20.c: New test.
2623 * testsuite/libgomp.c/target-21.c: New test.
2624 * testsuite/libgomp.c/target-22.c: New test.
2625 * testsuite/libgomp.c/target-23.c: New test.
2626 * testsuite/libgomp.c/target-24.c: New test.
2627 * testsuite/libgomp.c/target-25.c: New test.
2628 * testsuite/libgomp.c/target-26.c: New test.
2629 * testsuite/libgomp.c/target-27.c: New test.
2630 * testsuite/libgomp.c/taskloop-1.c: New test.
2631 * testsuite/libgomp.c/taskloop-2.c: New test.
2632 * testsuite/libgomp.c/taskloop-3.c: New test.
2633 * testsuite/libgomp.c/taskloop-4.c: New test.
2634 * testsuite/libgomp.c++/ctor-13.C: New test.
2635 * testsuite/libgomp.c++/doacross-1.C: New test.
2636 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
2637 Replace offload_device with offload_device_nonshared_as.
2638 * testsuite/libgomp.c++/for-12.C: New test.
2639 * testsuite/libgomp.c++/for-13.C: New test.
2640 * testsuite/libgomp.c++/for-14.C: New test.
2641 * testsuite/libgomp.c++/linear-1.C: New test.
2642 * testsuite/libgomp.c++/member-1.C: New test.
2643 * testsuite/libgomp.c++/member-2.C: New test.
2644 * testsuite/libgomp.c++/member-3.C: New test.
2645 * testsuite/libgomp.c++/member-4.C: New test.
2646 * testsuite/libgomp.c++/member-5.C: New test.
2647 * testsuite/libgomp.c++/ordered-1.C: New test.
2648 * testsuite/libgomp.c++/reduction-5.C: New test.
2649 * testsuite/libgomp.c++/reduction-6.C: New test.
2650 * testsuite/libgomp.c++/reduction-7.C: New test.
2651 * testsuite/libgomp.c++/reduction-8.C: New test.
2652 * testsuite/libgomp.c++/reduction-9.C: New test.
2653 * testsuite/libgomp.c++/reduction-10.C: New test.
2654 * testsuite/libgomp.c++/reference-1.C: New test.
2655 * testsuite/libgomp.c++/simd14.C: New test.
2656 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
2657 * testsuite/libgomp.c++/target-5.C: New test.
2658 * testsuite/libgomp.c++/target-6.C: New test.
2659 * testsuite/libgomp.c++/target-7.C: New test.
2660 * testsuite/libgomp.c++/target-8.C: New test.
2661 * testsuite/libgomp.c++/target-9.C: New test.
2662 * testsuite/libgomp.c++/target-10.C: New test.
2663 * testsuite/libgomp.c++/target-11.C: New test.
2664 * testsuite/libgomp.c++/target-12.C: New test.
2665 * testsuite/libgomp.c++/taskloop-1.C: New test.
2666 * testsuite/libgomp.c++/taskloop-2.C: New test.
2667 * testsuite/libgomp.c++/taskloop-3.C: New test.
2668 * testsuite/libgomp.c++/taskloop-4.C: New test.
2669 * testsuite/libgomp.c++/taskloop-5.C: New test.
2670 * testsuite/libgomp.c++/taskloop-6.C: New test.
2671 * testsuite/libgomp.c++/taskloop-7.C: New test.
2672 * testsuite/libgomp.c++/taskloop-8.C: New test.
2673 * testsuite/libgomp.c++/taskloop-9.C: New test.
2674 * testsuite/libgomp.fortran/affinity1.f90: New test.
2675 * testsuite/libgomp.fortran/affinity2.f90: New test.
2676
2677 2015-10-13 Tom de Vries <tom@codesourcery.com>
2678
2679 PR tree-optimization/67476
2680 * testsuite/libgomp.c/autopar-3.c: New test.
2681 * testsuite/libgomp.c/autopar-4.c: New test.
2682 * testsuite/libgomp.c/autopar-5.c: New test.
2683 * testsuite/libgomp.c/autopar-6.c: New test.
2684 * testsuite/libgomp.c/autopar-7.c: New test.
2685 * testsuite/libgomp.c/autopar-8.c: New test.
2686
2687 2015-10-12 James Norris <jnorris@codesourcery.com>
2688
2689 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
2690 initializer.
2691
2692 2015-10-09 David Malcolm <dmalcolm@redhat.com>
2693
2694 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
2695 using load_gcc_lib.
2696
2697 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
2698
2699 * oacc-ptx.h: Remove file, moving its content into...
2700 * config/nvptx/fortran.c: ... here...
2701 * config/nvptx/oacc-init.c: ..., here...
2702 * config/nvptx/oacc-parallel.c: ..., and here.
2703 * config/nvptx/openacc.f90: New file.
2704 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
2705 (link_ptx): Don't link in predefined bits of PTX code.
2706
2707 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
2708 Bernd Schmidt <bernds@codesourcery.com>
2709
2710 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
2711 (struct targ_ptx_obj): New.
2712 (nvptx_tdata): Move earlier, change data format.
2713 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
2714 objects.
2715 (GOMP_OFFLOAD_load_image): Adjust.
2716
2717 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
2718
2719 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
2720 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
2721 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
2722 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
2723 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2724 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2725 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2726 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2727 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2728 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2729 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2730 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
2731 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
2732 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2733 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
2734 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
2735 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
2736 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2737 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
2738 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
2739 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2740 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2741 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
2742 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
2743 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
2744 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
2745 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
2746 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2747 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2748 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
2749 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
2750 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
2751 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
2752 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
2753 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2754 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
2755 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2756 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
2757 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2758 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
2759 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2760 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2761 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
2762 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2763 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
2764 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2765 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2766 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2767 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2768 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2769 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
2770 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
2771 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
2772 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
2773 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
2774 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2775 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2776 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2777 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2778 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2779 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2780 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2781 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2782
2783 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
2784
2785 * oacc-init.c (acc_on_device): Force optimization level.
2786
2787 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
2788
2789 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
2790 (cuda_errlist): Delete.
2791 (cuda_error): Reimplement.
2792
2793 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
2794
2795 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
2796 array.
2797 * libgomp.map (GOACC_parallel_keyed): New.
2798 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
2799 all callers.
2800 (GOACC_parallel_keyed): New interface. Lose geometry arguments
2801 and take keyed varargs list. Adjust call to exec_func.
2802 (GOACC_parallel): Force host fallback.
2803 * libgomp_g.h (GOACC_parallel): Remove.
2804 (GOACC_parallel_keyed): Declare.
2805 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
2806 (stuct targ_gn_descriptor): Replace name field with launch field.
2807 (nvptx_exec): Lose separate geometry args, take array. Process
2808 dynamic dimensions and adjust.
2809 (struct nvptx_tdata): Replace fn_names field with fn_descs.
2810 (GOMP_OFFLOAD_load_image): Adjust for change in function table
2811 data.
2812 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
2813 passing.
2814 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
2815 passing.
2816
2817 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
2818
2819 PR libgomp/67141
2820 * oacc-int.h (goacc_host_init): Add declaration.
2821 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
2822 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
2823
2824 2015-09-08 Aditya Kumar <hiraditya@msn.com>
2825 Sebastian Pop <s.pop@samsung.com>
2826
2827 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
2828 match o/p.
2829 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
2830 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
2831 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
2832 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
2833 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
2834
2835 2015-09-03 Jakub Jelinek <jakub@redhat.com>
2836
2837 * configure.tgt: Add missing ;; in between nvptx and rtems
2838 snippets.
2839
2840 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
2841
2842 * config/posix/pool.h (gomp_adjust_thread_attr): New.
2843 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
2844 (gomp_thread_pool_reservoir): Add priority member.
2845 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
2846 priority.
2847 (parse_thread_pools): Likewise.
2848 * team.c (gomp_team_start): Call configuration provided
2849 gomp_adjust_thread_attr(). Destroy thread attributes if
2850 necessary.
2851 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
2852
2853 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
2854
2855 * config/posix/pool.h: New.
2856 * config/rtems/pool.h: Likewise.
2857 * config/rtems/proc.c: Likewise.
2858 * libgomp.h (gomp_thread_destructor): Declare.
2859 * team.c: Include configuration provided "pool.h".
2860 (gomp_get_thread_pool): Define in configuration.
2861 (gomp_team_end): Call configuration defined
2862 gomp_release_thread_pool().
2863
2864 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
2865
2866 * config/rtems/bar.c: New.
2867 * config/rtems/bar.h: Likewise.
2868 * config/rtems/mutex.c: Likewise.
2869 * config/rtems/mutex.h: Likewise.
2870 * config/rtems/sem.c: Likewise.
2871 * config/rtems/sem.h: Likewise.
2872 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
2873 <sys/lock.h> header file.
2874 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
2875 supported by Newlib.
2876 * configure: Regenerate.
2877
2878 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
2879
2880 * team.c (gomp_new_thread_pool): Delete and move content to ...
2881 (gomp_get_thread_pool): ... new function. Allocate and
2882 initialize thread pool on demand.
2883 (get_last_team): Use gomp_get_thread_pool().
2884 (gomp_team_start): Delete thread pool initialization.
2885
2886 2015-09-03 Tom de Vries <tom@codesourcery.com>
2887
2888 PR tree-optimization/65637
2889 * testsuite/libgomp.c/autopar-2.c: New test.
2890
2891 2015-08-29 Tom de Vries <tom@codesourcery.com>
2892
2893 PR tree-optimization/46193
2894 * testsuite/libgomp.c/pr46193.c: New test.
2895
2896 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
2897
2898 libgomp/
2899 * libgomp.map: Add 4.0.2 version.
2900 * target.c (offload_image_descr): Add version field.
2901 (gomp_load_image_to_device): Add version argument. Adjust plugin
2902 call. Improve load mismatch diagnostic.
2903 (gomp_unload_image_from_device): Add version argument. Adjust plugin
2904 call.
2905 (GOMP_offload_regster): Make stub function, move bulk to ...
2906 (GOMP_offload_register_ver): ... here. Process version argument.
2907 (GOMP_offload_unregister): Make stub function, move bulk to ...
2908 (GOMP_offload_unregister_ver): ... here. Process version argument.
2909 (gomp_init_device): Process version field.
2910 (gomp_unload_device): Process version field.
2911 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
2912 macros. Check plugin version.
2913 * libgomp.h (gomp_device_descr): Add version function field. Adjust
2914 loader and unloader types.
2915 * oacc-host.c: Include gomp-constants.h.
2916 (host_version): New.
2917 (host_load_image, host_unload_image): Adjust.
2918 (host_dispatch): Add host_version.
2919 * plugin/plugin-nvptx.c: Include gomp-constants.h.
2920 (GOMP_OFFLOAD_version): New.
2921 (GOMP_OFFLOAD_load_image): Add version arg and check it.
2922 (GOMP_OFFLOAD_unload_image): Likewise.
2923 * plugin/plugin-host.c: Include gomp-constants.h.
2924 (GOMP_OFFLOAD_version): New.
2925 (GOMP_OFFLOAD_load_image): Add version arg.
2926 (GOMP_OFFLOAD_unload_image): Likewise.
2927
2928 2015-08-24 Tom de Vries <tom@codesourcery.com>
2929
2930 PR tree-optimization/65468
2931 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
2932
2933 2015-08-24 Tom de Vries <tom@codesourcery.com>
2934
2935 PR tree-optimization/65468
2936 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
2937
2938 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
2939
2940 PR libgomp/66761
2941 PR libgomp/67303
2942 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
2943 (gomp_iter_guided_next): Idem.
2944 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
2945 (gomp_iter_ull_guided_next): Idem.
2946 * config/linux/wait.h (do_spin): Idem.
2947
2948 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
2949
2950 * libgomp-plugin.h (enum offload_target_type): Remove
2951 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
2952 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
2953 * openacc.h (enum acc_device_t): Likewise.
2954 * openacc_lib.h: Likewise.
2955 * oacc-init.c (name_of_acc_device_t): Don't handle it.
2956 (acc_on_device): Just use __builtin_acc_on_device.
2957 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
2958 of acc_on_device builtin.
2959 * plugin/plugin-host.h: Remove file.
2960 * plugin/plugin-host.c: Likewise, but salvage some content into...
2961 * oacc-host.c: ... this file.
2962 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
2963 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
2964 * Makefile.in: Regenerate.
2965 * configure: Likewise.
2966 * testsuite/lib/libgomp.exp
2967 (check_effective_target_openacc_host_nonshm_selected): Remove.
2968 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
2969 ACC_DEVICE_TYPE=host_nonshm.
2970 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2971 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2972 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
2973 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2974 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2975 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2976
2977 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
2978 Jakub Jelinek <jakub@redhat.com>
2979
2980 * config/nvptx/affinity.c: New file.
2981 * config/nvptx/alloc.c: Likewise.
2982 * config/nvptx/bar.c: Likewise.
2983 * config/nvptx/barrier.c: Likewise.
2984 * config/nvptx/critical.c: Likewise.
2985 * config/nvptx/env.c: Likewise.
2986 * config/nvptx/error.c: Likewise.
2987 * config/nvptx/fortran.c: Likewise.
2988 * config/nvptx/iter.c: Likewise.
2989 * config/nvptx/iter_ull.c: Likewise.
2990 * config/nvptx/libgomp-plugin.c: Likewise.
2991 * config/nvptx/lock.c: Likewise.
2992 * config/nvptx/loop.c: Likewise.
2993 * config/nvptx/loop_ull.c: Likewise.
2994 * config/nvptx/mutex.c: Likewise.
2995 * config/nvptx/oacc-async.c: Likewise.
2996 * config/nvptx/oacc-cuda.c: Likewise.
2997 * config/nvptx/oacc-host.c: Likewise.
2998 * config/nvptx/oacc-init.c: Likewise.
2999 * config/nvptx/oacc-mem.c: Likewise.
3000 * config/nvptx/oacc-parallel.c: Likewise.
3001 * config/nvptx/oacc-plugin.c: Likewise.
3002 * config/nvptx/omp-lock.h: Likewise.
3003 * config/nvptx/ordered.c: Likewise.
3004 * config/nvptx/parallel.c: Likewise.
3005 * config/nvptx/proc.c: Likewise.
3006 * config/nvptx/ptrlock.c: Likewise.
3007 * config/nvptx/sections.c: Likewise.
3008 * config/nvptx/sem.c: Likewise.
3009 * config/nvptx/single.c: Likewise.
3010 * config/nvptx/splay-tree.c: Likewise.
3011 * config/nvptx/target.c: Likewise.
3012 * config/nvptx/task.c: Likewise.
3013 * config/nvptx/team.c: Likewise.
3014 * config/nvptx/time.c: Likewise.
3015 * config/nvptx/work.c: Likewise.
3016 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
3017 * configure: Regenerate.
3018 * configure.tgt (config_path): Set to "nvptx" for target
3019 nvptx*-*-*.
3020
3021 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
3022
3023 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
3024
3025 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
3026
3027 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
3028 (cuda_errlist): Constify.
3029 (errmsg): Move into ...
3030 (cuda_error): ... here. Make smaller.
3031 (_XSTR, _STR): Delete.
3032 (cuda_synames): Delete.
3033 (verify_device_library): Delete.
3034 (nvptx_init): Don't call it.
3035
3036 2015-07-28 Tom de Vries <tom@codesourcery.com>
3037
3038 * testsuite/libgomp.c/uns-outer-4.c: New test.
3039
3040 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
3041
3042 * testsuite/libgomp.c/pr66714.c: New test.
3043
3044 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
3045
3046 PR libgomp/66950
3047 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
3048 (fib_ref): New function.
3049 (fib): Correct corner cases in the recursion.
3050 (main): Replace the non-simd loop with fib_ref call.
3051 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
3052 subroutine.
3053 (fibonacci): Lower the parameter N to 30. Correct accordingly check
3054 for the last array element value. Replace the non-simd loop with
3055 fib_ref call. Remove redundant b_ref array. Remove the comparison
3056 of the last array element with according Fibonacci sequence element.
3057 (fib): Correct corner cases in the recursion.
3058
3059 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
3060
3061 * target.c (gomp_offload_image_to_device): Rename to ...
3062 (gomp_load_image_to_device): ... here.
3063 (GOMP_offload_register): Adjust call.
3064 (gomp_init_device): Likewise.
3065 (gomp_unload_image_from_device): New. Broken out of ...
3066 (GOMP_offload_unregister): ... here. Call it.
3067 (gomp_unload_device): New.
3068 * libgomp.h (gomp_unload_device): Declare.
3069 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
3070 mem maps.
3071
3072 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
3073
3074 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
3075 wait=-specific if.
3076 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
3077 !=0 condition.
3078 (goacc_waits): Move !num_waits handling to ...
3079 (GOACC_wait): ... here, the only caller that might have zero waits.
3080
3081 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
3082 (struct ptx_image_data): Move earlier, add fns field.
3083 (struct ptx_device): Add images and image_lock fields.
3084 (ptx_images, ptx_image_lock): Delete.
3085 (nvptx_open_device): Initialize images and image_lock fields.
3086 (nvptx_close_device): Destroy image_lock.
3087 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
3088 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
3089 fields.
3090
3091 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
3092
3093 * target.c (GOMP_offload_register): Use int for device type arg.
3094 (GOMP_offload_unregister): Likewise.
3095
3096 * target.c (struct_offload_image_descr): Constify host_table.
3097 (gomp_offload_image_to_device): Likewise.
3098 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
3099
3100 * libgomp.h (gomp_device_descr): Constify target data arguments.
3101 * target.c (struct offload_image_descr): Constify target_data.
3102 (gomp_offload_image_to_device): Likewise.
3103 (GOMP_offload_register): Likewise.
3104 (GOMP_offload_unrefister): Likewise.
3105 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
3106 GOMP_OFFLOAD_unload_image): Constify target data.
3107 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
3108 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
3109
3110 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
3111
3112 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
3113 Workaround driver library const error.
3114 (struct nvptx_tdata, nvptx_tdata_t): New.
3115 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
3116 type.
3117
3118 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
3119
3120 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
3121 of EPS parameter from integer to real.
3122 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
3123 type of EPS parameter from integer to real.
3124
3125 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
3126
3127 * team.c (get_last_team): New.
3128 (gomp_new_team): Recycle last non-nested team if possible.
3129 (gomp_team_end): Move team work share list free lock destruction
3130 to ...
3131 (free_team): ... here.
3132
3133 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
3134
3135 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
3136 and ref from int to double. Replaced their comparison with
3137 an inequality of their difference and EPS.
3138 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
3139 comparison of pri and a reference number with an inequality of their
3140 difference and EPS.
3141 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
3142 the comparison of sum and sum_ref with an inequality of their
3143 difference and EPS.
3144 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
3145 the comparison of pri and a reference number with an inequality of
3146 their difference and EPS.
3147
3148 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
3149
3150 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
3151 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
3152 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
3153 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
3154 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
3155 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
3156 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
3157 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
3158 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
3159 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
3160 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
3161 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
3162 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
3163 variables.
3164 (vec_mult): Likewise. Add #pragma omp taskwait.
3165 (main): Adjust caller.
3166 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
3167 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
3168 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
3169 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
3170 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
3171 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
3172 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
3173 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
3174 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
3175 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
3176 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
3177 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
3178 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
3179 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
3180 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
3181 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
3182 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
3183 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
3184 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
3185 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
3186 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
3187 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
3188 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
3189 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
3190 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
3191 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
3192 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
3193 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
3194 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
3195 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
3196 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
3197 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
3198 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
3199 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
3200 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
3201 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
3202 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
3203 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
3204 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
3205 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
3206 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
3207 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
3208 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
3209 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
3210 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
3211 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
3212 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
3213 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
3214 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
3215 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
3216 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
3217 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
3218 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
3219 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
3220 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
3221 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
3222 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
3223 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
3224 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
3225 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
3226 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
3227 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
3228 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
3229 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
3230 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
3231 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
3232 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
3233 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
3234 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
3235 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
3236 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
3237 (vec_mult): Add !$omp taskwait.
3238 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
3239 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
3240 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
3241 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
3242 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
3243 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
3244 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
3245 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
3246 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
3247 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
3248 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
3249 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
3250 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
3251 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
3252 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
3253 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
3254 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
3255 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
3256 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
3257 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
3258 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
3259 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
3260 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
3261 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
3262 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
3263 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
3264 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
3265 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
3266 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
3267 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
3268 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
3269 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
3270 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
3271 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
3272 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
3273 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
3274 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
3275 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
3276 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
3277 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
3278 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
3279 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
3280 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
3281 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
3282 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
3283 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
3284 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
3285 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
3286 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
3287 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
3288 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
3289 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
3290 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
3291 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
3292 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
3293 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
3294 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
3295 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
3296 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
3297 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
3298 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
3299 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
3300 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
3301 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
3302 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
3303 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
3304 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
3305
3306 2015-07-10 Tom de Vries <tom@codesourcery.com>
3307
3308 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
3309 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
3310
3311 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
3312
3313 PR libgomp/65099
3314 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
3315 in a 64-bit configuration.
3316 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
3317 offloading testing if no such device is available.
3318 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3319 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3320
3321 2015-07-08 Tom de Vries <tom@codesourcery.com>
3322
3323 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
3324 second call to f.
3325 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3326
3327 2015-07-07 Tom de Vries <tom@codesourcery.com>
3328
3329 PR tree-optimization/66642
3330 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
3331 iteration count case.
3332 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
3333 function, factor out of ...
3334 (main): ... here. Test low iteration count case.
3335
3336 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
3337
3338 * libgomp.h (gomp_thread_pool): Comment last_team field.
3339
3340 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
3341
3342 * testsuite/libgomp.c++/pr66702-1.C: Require
3343 vect_simd_clones effective target.
3344 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
3345
3346 2015-06-30 Tom de Vries <tom@codesourcery.com>
3347
3348 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
3349 already set. Use DEFAULT_CFLAGS in dg-runtest.
3350 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
3351 "-O2".
3352
3353 2015-06-30 Tom de Vries <tom@codesourcery.com>
3354
3355 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
3356 already set. Use DEFAULT_CFLAGS in dg-runtest.
3357 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
3358 * testsuite/libgomp.c++/pr64824.C: Same.
3359 * testsuite/libgomp.c++/pr64868.C: Same.
3360 * testsuite/libgomp.c++/pr66199-1.C: Same.
3361 * testsuite/libgomp.c++/pr66199-2.C: Same.
3362 * testsuite/libgomp.c++/target-2.C: Same.
3363 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
3364 -std=<standard> option.
3365 * testsuite/libgomp.c++/udr-11.C: Same.
3366 * testsuite/libgomp.c++/udr-12.C: Same.
3367 * testsuite/libgomp.c++/udr-13.C: Same.
3368 * testsuite/libgomp.c++/udr-14.C: Same.
3369 * testsuite/libgomp.c++/udr-15.C: Same.
3370 * testsuite/libgomp.c++/udr-16.C: Same.
3371 * testsuite/libgomp.c++/udr-17.C: Same.
3372 * testsuite/libgomp.c++/udr-18.C: Same.
3373 * testsuite/libgomp.c++/udr-19.C: Same.
3374 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
3375 * testsuite/libgomp.c++/simd-1.C: Same.
3376 * testsuite/libgomp.c++/simd-2.C: Same.
3377 * testsuite/libgomp.c++/simd-3.C: Same.
3378 * testsuite/libgomp.c++/simd-4.C: Same.
3379 * testsuite/libgomp.c++/simd-5.C: Same.
3380 * testsuite/libgomp.c++/simd-6.C: Same.
3381 * testsuite/libgomp.c++/simd-7.C: Same.
3382 * testsuite/libgomp.c++/simd-8.C: Same.
3383 * testsuite/libgomp.c++/simd-9.C: Same.
3384 * testsuite/libgomp.c++/simd10.C: Same.
3385 * testsuite/libgomp.c++/simd11.C: Same.
3386 * testsuite/libgomp.c++/simd12.C: Same.
3387 * testsuite/libgomp.c++/simd13.C: Same.
3388
3389 2015-06-30 Jakub Jelinek <jakub@redhat.com>
3390
3391 PR middle-end/66702
3392 * testsuite/libgomp.c++/pr66702-1.C: New test.
3393 * testsuite/libgomp.c++/pr66702-2.C: New test.
3394
3395 2015-06-30 Tom de Vries <tom@codesourcery.com>
3396
3397 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
3398 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
3399 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
3400 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
3401
3402 2015-06-30 Tom de Vries <tom@codesourcery.com>
3403
3404 PR tree-optimization/66652
3405 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
3406 using restrict pointers.
3407 (main): Add arguments to calls to f.
3408 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3409
3410 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
3411
3412 * configure.ac: Fix check for header <sys/sysctl.h>.
3413 * configure: Regenerate.
3414 * config.h.in: Likewise.
3415
3416 2015-06-23 Tom de Vries <tom@codesourcery.com>
3417
3418 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
3419 abort.
3420 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
3421
3422 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
3423
3424 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
3425 acc_device_nvidia.
3426
3427 PR libgomp/66518
3428 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
3429 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3430
3431 2015-06-15 Tom de Vries <tom@codesourcery.com>
3432
3433 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
3434 dg-additional-options for any remaining options.
3435 * testsuite/libgomp.c/atomic-2.c: Same.
3436 * testsuite/libgomp.c/atomic-4.c: Same.
3437 * testsuite/libgomp.c/atomic-5.c: Same.
3438 * testsuite/libgomp.c/atomic-6.c: Same.
3439 * testsuite/libgomp.c/autopar-1.c: Same.
3440 * testsuite/libgomp.c/copyin-1.c: Same.
3441 * testsuite/libgomp.c/copyin-2.c: Same.
3442 * testsuite/libgomp.c/copyin-3.c: Same.
3443 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
3444 * testsuite/libgomp.c/nestedfn-5.c: Same.
3445 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
3446 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
3447 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
3448 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3449 * testsuite/libgomp.c/pr32362-1.c: Same.
3450 * testsuite/libgomp.c/pr32362-2.c: Same.
3451 * testsuite/libgomp.c/pr32362-3.c: Same.
3452 * testsuite/libgomp.c/pr39591-1.c: Same.
3453 * testsuite/libgomp.c/pr39591-2.c: Same.
3454 * testsuite/libgomp.c/pr39591-3.c: Same.
3455 * testsuite/libgomp.c/pr58392.c: Same.
3456 * testsuite/libgomp.c/pr58756.c: Same.
3457 * testsuite/libgomp.c/simd-1.c: Same.
3458 * testsuite/libgomp.c/simd-10.c: Same.
3459 * testsuite/libgomp.c/simd-11.c: Same.
3460 * testsuite/libgomp.c/simd-12.c: Same.
3461 * testsuite/libgomp.c/simd-13.c: Same.
3462 * testsuite/libgomp.c/simd-14.c: Same.
3463 * testsuite/libgomp.c/simd-15.c: Same.
3464 * testsuite/libgomp.c/simd-2.c: Same.
3465 * testsuite/libgomp.c/simd-3.c: Same.
3466 * testsuite/libgomp.c/simd-4.c: Same.
3467 * testsuite/libgomp.c/simd-5.c: Same.
3468 * testsuite/libgomp.c/simd-6.c: Same.
3469 * testsuite/libgomp.c/simd-7.c: Same.
3470 * testsuite/libgomp.c/simd-8.c: Same.
3471 * testsuite/libgomp.c/simd-9.c: Same.
3472
3473 2015-06-15 Tom de Vries <tom@codesourcery.com>
3474
3475 * testsuite/libgomp.c/pr35625.c: Fix typo.
3476
3477 2015-06-15 Tom de Vries <tom@codesourcery.com>
3478
3479 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
3480 in dg-options.
3481 * testsuite/libgomp.c/atomic-3.c: Same.
3482 * testsuite/libgomp.c/debug-1.c: Same.
3483 * testsuite/libgomp.c/nqueens-1.c: Same.
3484 * testsuite/libgomp.c/pr26171.c: Same.
3485 * testsuite/libgomp.c/pr48591.c: Same.
3486 * testsuite/libgomp.c/pr64824.c: Same.
3487 * testsuite/libgomp.c/pr64868.c: Same.
3488 * testsuite/libgomp.c/pr66133.c: Same.
3489 * testsuite/libgomp.c/pr66199-1.c: Same.
3490 * testsuite/libgomp.c/pr66199-2.c: Same.
3491 * testsuite/libgomp.c/target-8.c: Same.
3492
3493 2015-06-15 Tom de Vries <tom@codesourcery.com>
3494
3495 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
3496 -std={gnu99,c99}.
3497 * testsuite/libgomp.c/for-1.c: Same.
3498 * testsuite/libgomp.c/for-2.c: Same.
3499 * testsuite/libgomp.c/for-3.c: Same.
3500 * testsuite/libgomp.c/pr35625.c: Same.
3501 * testsuite/libgomp.c/pr39154.c: Same.
3502 * testsuite/libgomp.c/simd-16.c: Same.
3503 * testsuite/libgomp.c/simd-17.c: Same.
3504
3505 2015-06-13 Tom de Vries <tom@codesourcery.com>
3506
3507 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
3508
3509 2015-06-13 Tom de Vries <tom@codesourcery.com>
3510
3511 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
3512 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3513 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
3514 (N): Define.
3515 (main): Use N instead of hardcoded constants.
3516
3517 2015-06-05 Tom de Vries <tom@codesourcery.com>
3518
3519 merge from gomp4 branch:
3520 2015-05-28 Tom de Vries <tom@codesourcery.com>
3521
3522 PR tree-optimization/65443
3523 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
3524 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
3525 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
3526
3527 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
3528
3529 * testsuite/libgomp.graphite/bounds.c: Adjust for
3530 cleanup-tree-dump removal.
3531 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
3532 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
3533 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
3534 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
3535 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
3536 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
3537 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
3538 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
3539 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
3540 * testsuite/libgomp.graphite/pr41118.c: Likewise.
3541
3542 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
3543
3544 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
3545 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
3546 (futex_wake) [!__x86_64__]: Ditto.
3547
3548 2015-05-28 Julian Brown <julian@codesourcery.com>
3549
3550 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
3551 function comment. Only call gomp_fatal if new argument is true.
3552 (acc_dev_num_out_of_range): New function.
3553 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
3554 acc_dev_num_out_of_range as appropriate.
3555 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
3556 (acc_get_device_num, acc_set_device_num): Update calls to
3557 resolve_device.
3558 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
3559 output.
3560
3561 2015-05-28 Julian Brown <julian@codesourcery.com>
3562
3563 PR libgomp/65742
3564 * oacc-init.c (plugin/plugin-host.h): Include.
3565 (acc_on_device): Check whether we're in an offloaded region for
3566 host_nonshm
3567 plugin. Don't use __builtin_acc_on_device.
3568 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
3569 nonshm_exec flag in thread-local data.
3570 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
3571 data for host_nonshm plugin.
3572 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
3573 for host_nonshm plugin.
3574 * plugin/plugin-host.h: New.
3575
3576 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
3577
3578 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
3579
3580 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
3581
3582 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
3583 Declare as int.
3584 (FUTEX_PRIVATE_FLAG): Remove L suffix.
3585 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
3586 Declare as int.
3587
3588 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
3589
3590 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
3591
3592 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
3593
3594 * target.c (gomp_map_pointer): New function abstracting out
3595 GOMP_MAP_POINTER handling.
3596 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
3597 gomp_map_pointer().
3598
3599 2015-05-19 Jakub Jelinek <jakub@redhat.com>
3600
3601 PR middle-end/66199
3602 * testsuite/libgomp.c/pr66199-1.c: New test.
3603 * testsuite/libgomp.c/pr66199-2.c: New test.
3604 * testsuite/libgomp.c++/pr66199-1.C: New test.
3605 * testsuite/libgomp.c++/pr66199-2.C: New test.
3606 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
3607 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
3608
3609 2015-05-19 Julian Brown <julian@codesourcery.com>
3610
3611 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
3612 on cuInit failure.
3613
3614 2015-05-13 Jakub Jelinek <jakub@redhat.com>
3615
3616 PR middle-end/66133
3617 * testsuite/libgomp.c/pr66133.c: New test.
3618
3619 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
3620
3621 * Makefile.in: Regenerated with automake-1.11.6.
3622 * aclocal.m4: Likewise.
3623 * config.h.in: Likewise.
3624 * configure: Likewise.
3625 * testsuite/Makefile.in: Likewise.
3626
3627 2015-05-08 Jason Merrill <jason@redhat.com>
3628
3629 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
3630 _Complex.
3631
3632 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
3633
3634 2015-05-06 Julian Brown <julian@codesourcery.com>
3635
3636 * oacc-init.c (acc_device_lock): Add explanatory comment.
3637 (resolve_device): Add comment about locking requirement.
3638 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
3639 gomp_init_device and gomp_fini_device calls.
3640 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
3641 (acc_get_device_num, acc_set_device_num): Add locking around
3642 resolve_device and gomp_init_device calls.
3643
3644 2015-05-06 Julian Brown <julian@codesourcery.com>
3645
3646 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
3647 goacc_thread_lock on error paths.
3648 * oacc-mem.c (lookup_host): Remove locking from function. Note
3649 locking requirement for caller in function comment.
3650 (lookup_dev): Likewise.
3651 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
3652 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
3653 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
3654 Add locking.
3655
3656 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
3657
3658 PR testsuite/65205
3659 PR libgomp/65993
3660 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
3661 don't expect "0x" prefix for "%p" format specifier, don't expect
3662 "(nil)" for NULL pointer.
3663 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3664 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3665 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3666 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3667 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3668 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3669 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3670 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3671 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
3672 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
3673 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3674 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3675 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3676 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3677 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
3678 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
3679 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
3680 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
3681 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3682 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3683 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3684 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3685 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3686 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3687 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3688 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3689 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
3690 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
3691 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
3692 accurately specify what we're looking for.
3693 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3694 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3695 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3696 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3697 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3698
3699 2015-04-30 James Norris <jnorris@codesourcery.com>
3700
3701 PR testsuite/65205
3702 * testsuite/lib/libgomp.exp
3703 (check_effective_target_openacc_host_selected)
3704 (check_effective_target_openacc_host_nonshm_selected): New
3705 procedures.
3706 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
3707 dg-shouldfail.
3708 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
3709 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
3710 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3711 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3712 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3713 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
3714 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3715 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3716 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3717 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3718 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3719 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
3720 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
3721 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3722 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3723 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
3724 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3725 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3726 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
3727 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
3728 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
3729 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
3730 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
3731 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3732 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3733 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3734 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3735 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3736 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3737 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3738 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3739 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
3740 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
3741 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
3742 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
3743 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
3744 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
3745 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
3746 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
3747 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
3748 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
3749 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
3750 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
3751
3752 2015-04-08 Julian Brown <julian@codesourcery.com>
3753
3754 * libgomp.h (target_mem_desc: Remove mem_map field.
3755 (acc_dispatch_t): Remove open_device_func, close_device_func,
3756 get_device_num_func, set_device_num_func, target_data members.
3757 Change create_thread_data_func argument to device number instead of
3758 generic pointer.
3759 * oacc-async.c (assert.h): Include.
3760 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
3761 (acc_wait_all, acc_wait_all_async): Use current host thread's
3762 active device, not base_dev.
3763 * oacc-cuda.c (acc_get_current_cuda_device)
3764 (acc_get_current_cuda_context, acc_get_cuda_stream)
3765 (acc_set_cuda_stream): Likewise.
3766 * oacc-host.c (host_dispatch): Don't set open_device_func,
3767 close_device_func, get_device_num_func or set_device_num_func.
3768 * oacc-init.c (base_dev, init_key): Remove.
3769 (cached_base_dev): New.
3770 (name_of_acc_device_t): New.
3771 (acc_init_1): Initialise default-numbered device, not zeroth.
3772 (acc_shutdown_1): Close all devices of a given type.
3773 (goacc_destroy_thread): Don't use base_dev.
3774 (lazy_open, lazy_init, lazy_init_and_open): Remove.
3775 (goacc_attach_host_thread_to_device): New.
3776 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
3777 (acc_get_num_devices): Don't use base_dev.
3778 (acc_set_device_type): Reimplement.
3779 (acc_get_device_type): Don't use base_dev.
3780 (acc_get_device_num): Tweak logic.
3781 (acc_set_device_num): Likewise.
3782 (acc_on_device): Use acc_get_device_type.
3783 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
3784 (goacc_lazy_initialize): Reimplement with acc_init and
3785 goacc_attach_host_thread_to_device.
3786 * oacc-int.h (goacc_thread): Add base_dev field.
3787 (base_dev): Remove extern declaration.
3788 (goacc_attach_host_thread_to_device): Add prototype.
3789 * oacc-mem.c (acc_malloc): Use current thread's device instead of
3790 base_dev.
3791 (acc_free): Likewise.
3792 (acc_memcpy_to_device): Likewise.
3793 (acc_memcpy_from_device): Likewise.
3794 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
3795 goacc_lazy_initialize (throughout).
3796 (GOACC_parallel): Use tgt_offset to locate target functions.
3797 * target.c (gomp_map_vars): Don't set tgt->mem_map.
3798 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
3799 (gomp_load_plugin_for_device): Remove open_device, close_device,
3800 get_device_num, set_device_num openacc hook initialisation. Don't set
3801 openacc.target_data.
3802 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
3803 (GOMP_OFFLOAD_openacc_close_device)
3804 (GOMP_OFFLOAD_openacc_get_device_num)
3805 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
3806 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
3807 to int.
3808 * plugin/plugin-nvptx.c (ptx_inited): Remove.
3809 (instantiated_devices, ptx_dev_lock): New.
3810 (struct ptx_image_data): New.
3811 (ptx_devices, ptx_images, ptx_image_lock): New.
3812 (fini_streams_for_device): Reorder cuStreamDestroy call.
3813 (nvptx_get_num_devices): Remove forward declaration.
3814 (nvptx_init): Change return type to bool.
3815 (nvptx_fini): Remove.
3816 (nvptx_attach_host_thread_to_device): New.
3817 (nvptx_open_device): Return struct ptx_device* instead of void*.
3818 (nvptx_close_device): Change argument type to struct ptx_device*,
3819 return type to void.
3820 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
3821 (kernel_target_data, kernel_host_table): Remove static globals.
3822 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
3823 (GOMP_OFFLOAD_init_device): Reimplement.
3824 (GOMP_OFFLOAD_fini_device): Likewise.
3825 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
3826 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
3827 (GOMP_OFFLOAD_host2dev): Use ORD argument.
3828 (GOMP_OFFLOAD_openacc_open_device)
3829 (GOMP_OFFLOAD_openacc_close_device)
3830 (GOMP_OFFLOAD_openacc_set_device_num)
3831 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
3832 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
3833 (device number).
3834
3835 testsuite/
3836 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
3837
3838 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
3839
3840 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
3841 * libgomp.h (struct gomp_memory_mapping): Remove.
3842 (struct target_mem_desc): Change type of mem_map from
3843 gomp_memory_mapping * to splay_tree_s *.
3844 (struct gomp_device_descr): Remove register_image_func, get_table_func.
3845 Add load_image_func, unload_image_func.
3846 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
3847 Remove offload_regions_registered.
3848 (gomp_init_tables): Remove.
3849 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
3850 to splay_tree_s *.
3851 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
3852 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
3853 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
3854 offload_regions_registered.
3855 Initialize load_image_func, unload_image_func, mem_map.root.
3856 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
3857 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
3858 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
3859 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
3860 gomp_memory_mapping *. Use dev's lock and splay_tree.
3861 (lookup_dev): Use dev's lock.
3862 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
3863 (acc_is_present): Likewise.
3864 (acc_map_data): Likewise.
3865 (acc_unmap_data): Likewise. Use dev's lock.
3866 (present_create_copy): Likewise.
3867 (delete_copyout): Pass dev to lookup_host instead of mem_map.
3868 (update_dev_host): Likewise.
3869 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
3870 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
3871 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
3872 (GOMP_OFFLOAD_get_table): Remove
3873 (GOMP_OFFLOAD_load_image): New function.
3874 (GOMP_OFFLOAD_unload_image): New function.
3875 * target.c (register_lock): New mutex for offload image registration.
3876 (num_devices): Do not guard with PLUGIN_SUPPORT.
3877 (gomp_realloc_unlock): New static function.
3878 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
3879 before gomp_fatal.
3880 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
3881 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
3882 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
3883 mem_map's.
3884 (gomp_unmap_vars): Likewise.
3885 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
3886 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
3887 (gomp_offload_image_to_device): New static function.
3888 (GOMP_offload_register): Add mutex lock.
3889 Call gomp_offload_image_to_device for all initialized devices.
3890 Replace gomp_realloc with gomp_realloc_unlock.
3891 (GOMP_offload_unregister): New function.
3892 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
3893 get_table_func from the plugin with calls to init_device_func and
3894 gomp_offload_image_to_device.
3895 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
3896 to splay_tree_s *.
3897 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
3898 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
3899 (GOMP_target_data): Do not call gomp_init_tables.
3900 (GOMP_target_update): Likewise. Remove argument from gomp_update.
3901 (gomp_load_plugin_for_device): Replace register_image and get_table
3902 with load_image and unload_image in DLSYM ().
3903 (gomp_register_images_for_device): Remove function.
3904 (gomp_target_init): Do not initialize current_device.mem_map.*,
3905 current_device.offload_regions_registered.
3906 Remove call to gomp_register_images_for_device.
3907 Do not free offload_images and num_offload_images.
3908
3909 2015-03-30 Jakub Jelinek <jakub@redhat.com>
3910
3911 PR fortran/65597
3912 * testsuite/libgomp.fortran/pr65597.f90: New test.
3913
3914 2015-03-27 Tom de Vries <tom@codesourcery.com>
3915
3916 PR testsuite/65594
3917 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
3918 (init, check): New function.
3919 (foo): Change return type to void.
3920 (main): Call init and check.
3921
3922 2015-03-27 Tom de Vries <tom@codesourcery.com>
3923
3924 PR testsuite/65594
3925 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
3926 (foo): Use M for non-inner loops to scale down test-case.
3927
3928 2015-03-25 Kai Tietz <ktietz@redhat.com>
3929
3930 PR libgomp/64972
3931 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
3932 (GOACC_data_start): Likewise.
3933 * target.c (gomp_map_vars): Likewise.
3934
3935 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
3936
3937 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
3938 hppa*-*-hpux*.
3939
3940 2015-03-19 Jakub Jelinek <jakub@redhat.com>
3941
3942 * testsuite/libgomp.c/target-10.c: New test.
3943 * testsuite/libgomp.c++/target-4.C: New test.
3944
3945 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
3946
3947 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
3948 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
3949
3950 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
3951
3952 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
3953 * configure.ac (*-*-rtems*): Assume Pthread is supported.
3954 (pthread.h): Check for this header file.
3955 * configure: Regenerate.
3956
3957 2015-02-25 Tom de Vries <tom@codesourcery.com>
3958
3959 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
3960 (check_reduction_op, check_reduction_macro, max, min):
3961 Declare.
3962 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
3963 function.
3964 (main): Use new functions.
3965
3966 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
3967
3968 * target.c (gomp_load_plugin_for_device): Use const char * instead of
3969 char * for variables holding dlerror return values.
3970 (DLSYM_OPT): Ditto.
3971
3972 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
3973
3974 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
3975
3976 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
3977 Cesar Philippidis <cesar@codesourcery.com>
3978
3979 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
3980 GOACC_ctaid, and GOACC_nctaid routines.
3981
3982 2015-02-11 Jakub Jelinek <jakub@redhat.com>
3983
3984 PR c/64824
3985 * testsuite/libgomp.c/atomic-18.c: New test.
3986 * testsuite/libgomp.c++/atomic-16.C: New test.
3987
3988 2015-02-04 Jakub Jelinek <jakub@redhat.com>
3989
3990 PR c/64824
3991 PR c/64868
3992 * testsuite/libgomp.c/pr64824.c: New test.
3993 * testsuite/libgomp.c/pr64868.c: New test.
3994 * testsuite/libgomp.c++/pr64824.C: New test.
3995 * testsuite/libgomp.c++/pr64868.C: New test.
3996
3997 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
3998
3999 PR libgomp/64635
4000 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
4001 Link with -lpthread.
4002 * config/aix/plugin-suffix.h: Delete.
4003
4004 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
4005
4006 PR libgomp/64635
4007 * configure.tgt (*-*-aix*): Use config_path "aix posix".
4008 (*-*-darwin*): Use config_path "bsd darwin posix".
4009 (*-*-hpux*): Use config_path "hpux posix".
4010 * target.c: Add include of plugin-suffix.h and use
4011 SONAME_SUFFIX macro.
4012 * config/aix/plugin-suffix.h: New file.
4013 * config/darwin/plugin-suffix.h: New file.
4014 * config/hpux/plugin-suffix.h: New file.
4015 * config/posix/plugin-suffix.h: New file.
4016
4017 2015-01-23 Jakub Jelinek <jakub@redhat.com>
4018
4019 PR middle-end/64734
4020 * libgomp.c/pr64734.c: New test.
4021
4022 2015-01-23 Tom de Vries <tom@codesourcery.com>
4023
4024 PR libgomp/64672
4025 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
4026
4027 2015-01-23 Tom de Vries <tom@codesourcery.com>
4028
4029 PR libgomp/64707
4030 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
4031 dg-options.
4032
4033 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
4034
4035 PR libgomp/64625
4036 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
4037 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
4038 formal parameter. Update all users.
4039 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
4040 Document unused formal parameter.
4041
4042 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
4043
4044 * oacc-parallel.c: Don't include <alloca.h>.
4045 (GOACC_parallel): Use gomp_alloca instead of alloca.
4046
4047 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
4048
4049 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
4050
4051 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
4052 James Norris <jnorris@codesourcery.com>
4053 Tom de Vries <tom@codesourcery.com>
4054 Julian Brown <julian@codesourcery.com>
4055 Cesar Philippidis <cesar@codesourcery.com>
4056 Nathan Sidwell <nathan@codesourcery.com>
4057 Tobias Burnus <burnus@net-b.de>
4058
4059 * Makefile.am (search_path): Add $(top_srcdir)/../include.
4060 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
4061 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
4062 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
4063 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
4064 Include $(top_srcdir)/plugin/Makefrag.am.
4065 (nodist_libsubinclude_HEADERS): Add openacc.h.
4066 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
4067 openacc.f90, openacc.mod, openacc_kinds.mod.
4068 (omp_lib.mod): Generalize into...
4069 (%.mod): ... this new rule.
4070 (openacc_kinds.mod, openacc.mod): New rules.
4071 * plugin/configfrag.ac: New file.
4072 * configure.ac: Move plugin/offloading support into it. Include
4073 it. Instantiate testsuite/libgomp-test-support.pt.exp.
4074 * plugin/Makefrag.am: New file.
4075 * testsuite/Makefile.am (OFFLOAD_TARGETS)
4076 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
4077 export.
4078 (libgomp-test-support.exp): New rule.
4079 (all-local): Depend on it.
4080 * Makefile.in: Regenerate.
4081 * testsuite/Makefile.in: Regenerate.
4082 * config.h.in: Likewise.
4083 * configure: Likewise.
4084 * configure.tgt: Harden shell syntax.
4085 * env.c: Include "oacc-int.h".
4086 (parse_acc_device_type): New function.
4087 (gomp_debug_var, goacc_device_type, goacc_device_num): New
4088 variables.
4089 (initialize_env): Initialize those. Call
4090 goacc_runtime_initialize.
4091 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
4092 (gomp_fatal): Call gomp_vfatal.
4093 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
4094 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
4095 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
4096 (splay_tree_node, splay_tree, splay_tree_key)
4097 (struct target_mem_desc, struct splay_tree_key_s)
4098 (struct gomp_memory_mapping, struct acc_dispatch_t)
4099 (struct gomp_device_descr, gomp_acc_insert_pointer)
4100 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
4101 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
4102 (gomp_free_memmap, gomp_fini_device): New declarations.
4103 (gomp_vdebug, gomp_debug): New macros.
4104 Include "splay-tree.h".
4105 * libgomp.map (OACC_2.0): New symbol version. Use for
4106 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
4107 acc_set_device_type_h_, acc_get_device_type,
4108 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
4109 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
4110 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
4111 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
4112 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
4113 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
4114 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
4115 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
4116 acc_copyin_array_h_, acc_present_or_copyin,
4117 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
4118 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
4119 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
4120 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
4121 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
4122 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
4123 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
4124 acc_update_device, acc_update_device_32_h_,
4125 acc_update_device_64_h_, acc_update_device_array_h_,
4126 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
4127 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
4128 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
4129 acc_is_present_64_h_, acc_is_present_array_h_,
4130 acc_memcpy_to_device, acc_memcpy_from_device,
4131 acc_get_current_cuda_device, acc_get_current_cuda_context,
4132 acc_get_cuda_stream, acc_set_cuda_stream.
4133 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
4134 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
4135 GOACC_update, GOACC_wait, GOACC_get_thread_num,
4136 GOACC_get_num_threads.
4137 (GOMP_PLUGIN_1.0): New symbol version. Use for
4138 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
4139 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
4140 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
4141 GOMP_PLUGIN_acc_thread.
4142 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
4143 environment variable.
4144 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
4145 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
4146 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
4147 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
4148 (splay_tree_remove): New declarations.
4149 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
4150 (splay_tree_remove, splay_tree_lookup): Move into...
4151 * splay-tree.c: ... this new file.
4152 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
4153 (splay_tree_node, splay_tree, splay_tree_key)
4154 (struct target_mem_desc, struct splay_tree_key_s)
4155 (struct gomp_device_descr): Don't declare.
4156 (num_devices_openmp): New variable.
4157 (gomp_get_num_devices ): Use it.
4158 (gomp_init_targets_once): New function.
4159 (gomp_get_num_devices ): Use it.
4160 (get_kind, gomp_copy_from_async, gomp_free_memmap)
4161 (gomp_fini_device, gomp_register_image_for_device): New functions.
4162 (gomp_map_vars): Add devaddrs parameter.
4163 (gomp_update): Add mm parameter.
4164 (gomp_init_device): Move most of it into...
4165 (gomp_init_tables): ... this new function.
4166 (gomp_register_images_for_device): Remove function.
4167 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
4168 Make them hidden instead of static.
4169 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
4170 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
4171 (GOMP_target_end_data, GOMP_target_update)
4172 (gomp_load_plugin_for_device, gomp_target_init): Update for
4173 OpenACC changes.
4174 * oacc-async.c: New file.
4175 * oacc-cuda.c: Likewise.
4176 * oacc-host.c: Likewise.
4177 * oacc-init.c: Likewise.
4178 * oacc-int.h: Likewise.
4179 * oacc-mem.c: Likewise.
4180 * oacc-parallel.c: Likewise.
4181 * oacc-plugin.c: Likewise.
4182 * oacc-plugin.h: Likewise.
4183 * oacc-ptx.h: Likewise.
4184 * openacc.f90: Likewise.
4185 * openacc.h: Likewise.
4186 * openacc_lib.h: Likewise.
4187 * plugin/plugin-host.c: Likewise.
4188 * plugin/plugin-nvptx.c: Likewise.
4189 * libgomp-plugin.c: Likewise.
4190 * libgomp-plugin.h: Likewise.
4191 * libgomp_target.h: Remove file after merging content into the
4192 former file. Update all users.
4193 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
4194 (offload_targets_s, offload_targets_s_openacc): New variables.
4195 (check_effective_target_openacc_nvidia_accel_present)
4196 (check_effective_target_openacc_nvidia_accel_selected): New
4197 procedures.
4198 (libgomp_init): Update for OpenACC changes.
4199 * testsuite/libgomp-test-support.exp.in: New file.
4200 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
4201 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4202 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4203 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
4204 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
4205 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4206 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
4207 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
4208 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
4209 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
4210 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
4211 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
4212 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
4213 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4214 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
4215 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4216 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4217 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4218 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4219 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4220 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
4221 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
4222 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4223 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
4224 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4225 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4226 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4227 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4228 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4229 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4230 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4231 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
4232 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
4233 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
4234 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
4235 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
4236 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
4237 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
4238 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
4239 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4240 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4241 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4242 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4243 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4244 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4245 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
4246 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4247 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4248 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4249 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4250 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4251 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4252 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4253 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4254 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4255 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4256 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4257 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
4258 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4259 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
4260 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
4261 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
4262 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4263 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4264 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4265 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
4266 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
4267 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4268 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
4269 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4270 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
4271 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4272 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4273 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4274 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
4275 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
4276 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4277 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4278 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
4279 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
4280 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
4281 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
4282 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4283 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4284 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4285 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
4286 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
4287 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4288 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4289 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
4290 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
4291 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
4292 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
4293 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
4294 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4295 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4296 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4297 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
4298 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4299 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4300 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
4301 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
4302 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
4303 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
4304 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
4305 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
4306 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
4307 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
4308 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
4309 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
4310 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
4311 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
4312 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
4313 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
4314 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4315 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4316 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
4317 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
4318 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
4319 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
4320 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
4321 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
4322 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
4323 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
4324 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
4325 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
4326 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4327 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
4328 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
4329 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
4330 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
4331 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
4332 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
4333 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
4334 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
4335 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4336 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4337 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4338 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4339 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
4340 Likewise.
4341 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
4342 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
4343 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
4344 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
4345 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
4346 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4347 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4348 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4349 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4350 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4351 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4352 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4353 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4354 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4355 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4356 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4357 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4358 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4359 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4360 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4361 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4362 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4363 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4364 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4365 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4366 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4367 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
4368 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4369 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4370 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4371 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4372 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4373 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4374 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4375 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4376 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4377 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4378 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4379 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4380 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4381 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4382 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4383 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4384 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4385 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4386 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4387 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4388 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4389 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4390 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4391 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4392 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4393 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4394 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4395 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4396 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4397 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4398 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4399 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4400 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4401
4402 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
4403 Julian Brown <julian@codesourcery.com>
4404 David Malcolm <dmalcolm@redhat.com>
4405
4406 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
4407 to "GNU Offloading and Multi Processing Runtime Library". Change
4408 all users.
4409 * configure: Regenerate.
4410 * libgomp.texi: Update.
4411
4412 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
4413
4414 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
4415 "$tgt_dir/lib32".
4416 * configure: Regenerate.
4417
4418 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
4419 "intelmic" in $offload_targets.
4420
4421 2015-01-05 Jakub Jelinek <jakub@redhat.com>
4422
4423 Update copyright years.
4424
4425 * libgomp.texi: Bump @copying's copyright year.
4426
4427 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4428
4429 * testsuite/lib/libgomp.exp: Load target-utils.exp.
4430 Move load of target-supportes.exp earlier.
4431
4432 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
4433
4434 * testsuite/libgomp.c/target-9.c: New test.
4435
4436 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
4437
4438 * config.h.in: Regenerate.
4439 * configure: Regenerate.
4440 * configure.ac: Add GCC_CHECK_EMUTLS.
4441 * libgomp.h: Add check for USE_EMUTLS: this case
4442 is equal to HAVE_TLS.
4443 * team.c: Likewise.
4444
4445 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
4446
4447 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
4448
4449 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
4450 Ilya Verbin <ilya.verbin@intel.com>
4451
4452 * testsuite/libgomp.c/target-critical-1.c: New test.
4453
4454 2014-11-26 Jakub Jelinek <jakub@redhat.com>
4455
4456 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
4457 to dg-options unless expensive testing is on.
4458 (TESTITERS): Define to N if not defined.
4459 (main): Use TESTITERS instead of N.
4460 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
4461 dg-additional-options depending on whether expensive testing is on.
4462 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
4463 Decrease N to 100000 and CHUNKSZ to 10000.
4464
4465 2014-11-24 Jakub Jelinek <jakub@redhat.com>
4466
4467 PR fortran/63938
4468 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
4469 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
4470
4471 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
4472
4473 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
4474
4475 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
4476
4477 PR bootstrap/63784
4478 * configure: Regenerated.
4479
4480 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
4481
4482 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
4483 vect_simd_clones effective target.
4484 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
4485
4486 2014-11-14 Jakub Jelinek <jakub@redhat.com>
4487
4488 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
4489 of 32 as block_size.
4490 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
4491 instead of 32 as block_size.
4492
4493 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
4494 Ilya Verbin <ilya.verbin@intel.com>
4495
4496 * Makefile.in: Regenerate.
4497 * configure: Regenerate.
4498 * configure.ac: Set up offload_additional_options,
4499 offload_additional_lib_paths and offload_targets.
4500 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
4501 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
4502 * testsuite/Makefile.in: Regenerate.
4503 * testsuite/lib/libgomp.exp (libgomp_init): Append
4504 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
4505 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
4506 build directory to LD_LIBRARY_PATH for intelmic offload targets.
4507
4508 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
4509 Ilya Verbin <ilya.verbin@intel.com>
4510 Kirill Yukhin <kirill.yukhin@intel.com>
4511 Ilya Tocar <ilya.tocar@intel.com>
4512
4513 * testsuite/lib/libgomp.exp
4514 (check_effective_target_offload_device): New.
4515 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
4516 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
4517 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
4518 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
4519 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
4520 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
4521 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
4522 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
4523 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
4524 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
4525 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
4526 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
4527 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
4528 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
4529 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
4530 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
4531 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
4532 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
4533 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
4534 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
4535 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
4536 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
4537 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
4538 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
4539 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
4540 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
4541 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
4542 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
4543 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
4544 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
4545 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
4546 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
4547 * testsuite/libgomp.c/target-7.c: Fix test.
4548 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
4549 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
4550 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
4551 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
4552 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
4553 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
4554 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
4555 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
4556 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
4557 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
4558 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
4559 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
4560 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
4561 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
4562 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
4563 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
4564 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
4565 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
4566 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
4567 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
4568 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
4569 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
4570 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
4571 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
4572 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
4573 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
4574 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
4575 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
4576 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
4577 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
4578 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
4579
4580 2014-11-13 Jakub Jelinek <jakub@redhat.com>
4581 Ilya Verbin <ilya.verbin@intel.com>
4582 Thomas Schwinge <thomas@codesourcery.com>
4583 Andrey Turetskiy <andrey.turetskiy@intel.com>
4584
4585 * libgomp.map (GOMP_4.0.1): New symbol version.
4586 Add GOMP_offload_register.
4587 * libgomp_target.h: New file.
4588 * splay-tree.h: New file.
4589 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
4590 (gomp_target_init): New forward declaration.
4591 (gomp_is_initialized): New static variable.
4592 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
4593 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
4594 New structures.
4595 (offload_images, num_offload_images, devices, num_devices): New static
4596 variables.
4597 (splay_compare): New static function.
4598 (struct gomp_device_descr): New structure.
4599 (gomp_get_num_devices): Call gomp_target_init.
4600 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
4601 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
4602 (GOMP_offload_register): New function.
4603 (GOMP_target): Arrange for host callback to be performed in a separate
4604 initial thread and contention group, inheriting ICVs from
4605 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
4606 Add device initialization and lookup for target function in splay tree.
4607 (GOMP_target_data): Add device initialization and call gomp_map_vars.
4608 (GOMP_target_end_data): Call gomp_unmap_vars.
4609 (GOMP_target_update): Add device initialization and call gomp_update.
4610 (gomp_load_plugin_for_device, gomp_register_images_for_device)
4611 (gomp_target_init): New static functions.
4612
4613 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
4614 Thomas Schwinge <thomas@codesourcery.com>
4615 Ilya Verbin <ilya.verbin@intel.com>
4616 Andrey Turetskiy <andrey.turetskiy@intel.com>
4617
4618 * config.h.in: Regenerate.
4619 * configure: Regenerate.
4620 * configure.ac: Check for libdl, required for plugin support.
4621 (PLUGIN_SUPPORT): Define if plugins are supported.
4622 (enable_offload_targets): Support Intel MIC targets.
4623 (OFFLOAD_TARGETS): List of target names suitable for offloading.
4624
4625 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4626
4627 PR target/63610
4628 * configure: Regenerate.
4629
4630 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4631
4632 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
4633
4634 2014-10-06 Marek Polacek <polacek@redhat.com>
4635
4636 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
4637 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
4638 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
4639 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4640
4641 2014-10-06 Marek Polacek <polacek@redhat.com>
4642
4643 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
4644 * testsuite/libgomp.c/nqueens-1.c: Likewise.
4645 * testsuite/libgomp.c/pr26943-3.c: Likewise.
4646 * testsuite/libgomp.c/pr26943-4.c: Likewise.
4647 * testsuite/libgomp.c/pr36802-2.c: Likewise.
4648 * testsuite/libgomp.c/pr36802-3.c: Likewise.
4649 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
4650 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4651 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
4652 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
4653 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
4654 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
4655 * testsuite/libgomp.c/omp-single-1.c: Likewise.
4656 * testsuite/libgomp.c/omp-single-2.c: Likewise.
4657 * testsuite/libgomp.c/omp_matvec.c: Likewise.
4658 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
4659 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
4660 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
4661 declarations.
4662
4663 2014-10-03 Jakub Jelinek <jakub@redhat.com>
4664
4665 PR libgomp/61200
4666 * testsuite/libgomp.c/pr61200.c: New test.
4667
4668 2014-09-18 Jakub Jelinek <jakub@redhat.com>
4669
4670 PR c++/63248
4671 * testsuite/libgomp.c++/pr63248.C: New test.
4672
4673 2014-08-04 Jakub Jelinek <jakub@redhat.com>
4674
4675 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
4676 is not zero, but taskgroup->children is NULL and there are
4677 any task->children, schedule those instead of waiting.
4678 * testsuite/libgomp.c/depend-6.c: New test.
4679 * testsuite/libgomp.c/depend-7.c: New test.
4680 * testsuite/libgomp.c/depend-8.c: New test.
4681 * testsuite/libgomp.c/depend-9.c: New test.
4682 * testsuite/libgomp.c/depend-10.c: New test.
4683
4684 2014-08-01 Jakub Jelinek <jakub@redhat.com>
4685
4686 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
4687 (struct gomp_taskwait): New type.
4688 (struct gomp_task): Add taskwait and parent_depends_on, remove
4689 in_taskwait and taskwait_sem fields.
4690 (gomp_finish_task): Don't destroy taskwait_sem.
4691 * task.c (gomp_init_task): Don't init in_taskwait, instead init
4692 taskwait and parent_depends_on.
4693 (GOMP_task): For if (0) tasks with depend clause that depend on
4694 earlier tasks don't defer them, instead call
4695 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
4696 Initialize redundant_out field, for redundant out entries just
4697 move them at the end of linked list instead of removing them
4698 completely, and set redundant_out flag instead of redundant.
4699 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
4700 that task.
4701 (gomp_task_run_post_handle_dependers): If parent is in
4702 gomp_task_maybe_wait_for_dependencies and newly runnable task
4703 is not parent_depends_on, queue it in parent->children linked
4704 list after all runnable tasks with parent_depends_on set.
4705 Adjust for addition of taskwait indirection.
4706 (gomp_task_run_post_remove_parent): If parent is in
4707 gomp_task_maybe_wait_for_dependencies and task to be removed
4708 is parent_depends_on, decrement n_depend and if needed awake
4709 parent. Adjust for addition of taskwait indirection.
4710 (GOMP_taskwait): Adjust for addition of taskwait indirection.
4711 (gomp_task_maybe_wait_for_dependencies): New function.
4712 * testsuite/libgomp.c/depend-5.c: New test.
4713
4714 2014-07-13 Tobias Burnus <burnus@net-b.de>
4715
4716 * testsuite/libgomp.fortran/pr34020.f90: Make compile
4717 with TS 18508/Fortran 2015.
4718
4719 2014-07-06 Marek Polacek <polacek@redhat.com>
4720
4721 PR c/6940
4722 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
4723
4724 2014-07-03 Jakub Jelinek <jakub@redhat.com>
4725
4726 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
4727 matches regex $lang_source_re, add $lang_include_flags to options.
4728 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
4729 * testsuite/libgomp.c++/c++.exp: Likewise.
4730 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
4731 and lang_include_flags instead of adding -fintrinsic-modules-path= to
4732 ALWAYS_CFLAGS.
4733 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
4734
4735 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
4736
4737 * testsuite/libgomp.fortran/fortran.exp: Explain
4738 gfortran-dg-runtest usage.
4739
4740 2014-06-25 Jakub Jelinek <jakub@redhat.com>
4741
4742 * testsuite/libgomp.fortran/simd5.f90: New test.
4743 * testsuite/libgomp.fortran/simd6.f90: New test.
4744 * testsuite/libgomp.fortran/simd7.f90: New test.
4745
4746 2014-06-24 Jakub Jelinek <jakub@redhat.com>
4747
4748 * testsuite/libgomp.c/for-2.c: Define SC to static for
4749 #pragma omp for simd testing.
4750 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
4751 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
4752 SC macro.
4753 * testsuite/libgomp.c/simd-14.c: New test.
4754 * testsuite/libgomp.c/simd-15.c: New test.
4755 * testsuite/libgomp.c/simd-16.c: New test.
4756 * testsuite/libgomp.c/simd-17.c: New test.
4757 * testsuite/libgomp.c++/for-10.C: Define SC to static for
4758 #pragma omp for simd testing.
4759 * testsuite/libgomp.c++/simd10.C: New test.
4760 * testsuite/libgomp.c++/simd11.C: New test.
4761 * testsuite/libgomp.c++/simd12.C: New test.
4762 * testsuite/libgomp.c++/simd13.C: New test.
4763
4764 * testsuite/libgomp.fortran/aligned1.f03: New test.
4765 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
4766 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
4767 tasks with !$omp parallel !$omp single.
4768 * testsuite/libgomp.fortran/target8.f90: New test.
4769 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
4770 not to use trim in the combiner, instead call elemental function.
4771 (fn): New elemental function.
4772 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
4773 Make elemental.
4774 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
4775 omp_in): Likewise.
4776 * testsuite/libgomp.fortran/udr12.f90: New test.
4777 * testsuite/libgomp.fortran/udr13.f90: New test.
4778 * testsuite/libgomp.fortran/udr14.f90: New test.
4779 * testsuite/libgomp.fortran/udr15.f90: New test.
4780
4781 2014-06-18 Jakub Jelinek <jakub@redhat.com>
4782
4783 * omp_lib.f90.in (openmp_version): Set to 201307.
4784 * omp_lib.h.in (openmp_version): Likewise.
4785 * testsuite/libgomp.c/target-8.c: New test.
4786 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
4787 and inbranch clauses.
4788 * testsuite/libgomp.fortran/depend-3.f90: New test.
4789 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
4790 openmp_version.
4791 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4792 * testsuite/libgomp.fortran/target1.f90: New test.
4793 * testsuite/libgomp.fortran/target2.f90: New test.
4794 * testsuite/libgomp.fortran/target3.f90: New test.
4795 * testsuite/libgomp.fortran/target4.f90: New test.
4796 * testsuite/libgomp.fortran/target5.f90: New test.
4797 * testsuite/libgomp.fortran/target6.f90: New test.
4798 * testsuite/libgomp.fortran/target7.f90: New test.
4799
4800 2014-06-10 Jakub Jelinek <jakub@redhat.com>
4801
4802 PR fortran/60928
4803 * testsuite/libgomp.fortran/allocatable9.f90: New test.
4804 * testsuite/libgomp.fortran/allocatable10.f90: New test.
4805 * testsuite/libgomp.fortran/allocatable11.f90: New test.
4806 * testsuite/libgomp.fortran/allocatable12.f90: New test.
4807 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
4808 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
4809 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
4810 * testsuite/libgomp.fortran/associate1.f90: New test.
4811 * testsuite/libgomp.fortran/associate2.f90: New test.
4812 * testsuite/libgomp.fortran/procptr1.f90: New test.
4813
4814 2014-06-06 Jakub Jelinek <jakub@redhat.com>
4815
4816 * testsuite/libgomp.fortran/simd1.f90: New test.
4817 * testsuite/libgomp.fortran/udr1.f90: New test.
4818 * testsuite/libgomp.fortran/udr2.f90: New test.
4819 * testsuite/libgomp.fortran/udr3.f90: New test.
4820 * testsuite/libgomp.fortran/udr4.f90: New test.
4821 * testsuite/libgomp.fortran/udr5.f90: New test.
4822 * testsuite/libgomp.fortran/udr6.f90: New test.
4823 * testsuite/libgomp.fortran/udr7.f90: New test.
4824 * testsuite/libgomp.fortran/udr8.f90: New test.
4825 * testsuite/libgomp.fortran/udr9.f90: New test.
4826 * testsuite/libgomp.fortran/udr10.f90: New test.
4827 * testsuite/libgomp.fortran/udr11.f90: New test.
4828
4829 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
4830
4831 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
4832 vect_simd_clones effective target.
4833 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
4834
4835 2014-05-21 Jakub Jelinek <jakub@redhat.com>
4836
4837 PR middle-end/61252
4838 * testsuite/libgomp.c++/simd-9.C: New test.
4839
4840 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
4841
4842 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
4843 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
4844 texts according to their @menu entry positions.
4845
4846 2014-05-11 Jakub Jelinek <jakub@redhat.com>
4847
4848 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
4849 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
4850 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
4851 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
4852 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
4853 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
4854 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
4855 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
4856 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
4857 * testsuite/libgomp.fortran/depend-1.f90: New test.
4858 * testsuite/libgomp.fortran/depend-2.f90: New test.
4859 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
4860 * testsuite/libgomp.fortran/simd1.f90: New test.
4861 * testsuite/libgomp.fortran/simd2.f90: New test.
4862 * testsuite/libgomp.fortran/simd3.f90: New test.
4863 * testsuite/libgomp.fortran/simd4.f90: New test.
4864 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
4865
4866 2014-05-02 Jakub Jelinek <jakub@redhat.com>
4867
4868 * testsuite/libgomp.c/simd-10.c: New test.
4869 * testsuite/libgomp.c/simd-11.c: New test.
4870 * testsuite/libgomp.c/simd-12.c: New test.
4871 * testsuite/libgomp.c/simd-13.c: New test.
4872
4873 2014-04-24 Jakub Jelinek <jakub@redhat.com>
4874
4875 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
4876 atomic type clauses in any order and optional comma in between.
4877 * testsuite/libgomp.c++/atomic-15.C: Likewise.
4878 * testsuite/libgomp.c/atomic-17.c: Likewise.
4879
4880 * testsuite/libgomp.c/simd-7.c: New test.
4881 * testsuite/libgomp.c/simd-8.c: New test.
4882 * testsuite/libgomp.c/simd-9.c: New test.
4883 * testsuite/libgomp.c/loop-16.c: New test.
4884
4885 2014-04-02 Richard Henderson <rth@redhat.com>
4886
4887 * config/linux/futex.h (futex_wait): Get error value from errno.
4888 (futex_wake): Likewise.
4889
4890 2014-03-25 Jakub Jelinek <jakub@redhat.com>
4891
4892 PR c++/60331
4893 * testsuite/libgomp.c++/udr-11.C: New test.
4894 * testsuite/libgomp.c++/udr-12.C: New test.
4895 * testsuite/libgomp.c++/udr-13.C: New test.
4896 * testsuite/libgomp.c++/udr-14.C: New test.
4897 * testsuite/libgomp.c++/udr-15.C: New test.
4898 * testsuite/libgomp.c++/udr-16.C: New test.
4899 * testsuite/libgomp.c++/udr-17.C: New test.
4900 * testsuite/libgomp.c++/udr-18.C: New test.
4901 * testsuite/libgomp.c++/udr-19.C: New test.
4902
4903 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4904
4905 Update copyright years
4906
4907 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4908
4909 * hashtab.h: Use the standard form for the copyright notice.
4910
4911 2014-01-02 Tobias Burnus <burnus@net-b.de>
4912
4913 * libgomp.texi: Bump @copying's copyright year.
4914
4915 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
4916
4917 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
4918 alloca () with __builtin_alloca ().
4919 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
4920 * testsuite/libgomp.c/lock-3.c: Likewise.
4921 * testsuite/libgomp.c/pr48591.c: Likewise.
4922
4923 2013-12-17 Jakub Jelinek <jakub@redhat.com>
4924
4925 PR testsuite/59534
4926 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
4927 comparisons.
4928
4929 2013-12-16 Jakub Jelinek <jakub@redhat.com>
4930
4931 PR libgomp/58756
4932 * testsuite/libgomp.c/pr58756.c: New test.
4933
4934 2013-12-12 Jakub Jelinek <jakub@redhat.com>
4935
4936 PR libgomp/59467
4937 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
4938 !$omp parallel.
4939
4940 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
4941
4942 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
4943 ALWAYS_CFLAGS.
4944 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
4945 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
4946 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
4947 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
4948 Likewise.
4949
4950 * libgomp_g.h: Include <stddef.h> for size_t.
4951
4952 * libgomp.spec.in: Update comment about libgomp's dependencies.
4953 * configure.ac: Likewise.
4954 * configure: Regenerate.
4955
4956 2013-10-16 Tobias Burnus <burnus@net-b.de>
4957
4958 * libgomp.texi: (Runtime Library Routines): Update references for
4959 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
4960 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
4961 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
4962 (Environment Variables): Update references for OpenMP 4.0. Add
4963 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
4964 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
4965 order.
4966
4967 2013-10-14 Jakub Jelinek <jakub@redhat.com>
4968
4969 * env.c (parse_bind_var): Initialize value to avoid
4970 (false positive) warning.
4971
4972 2013-10-12 Jakub Jelinek <jakub@redhat.com>
4973
4974 PR libgomp/58691
4975 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
4976 to check variable.
4977 (gomp_init_num_threads): Move i variable declaration into
4978 #ifdef CPU_ALLOC_SIZE block.
4979 * config/linux/affinity.c (gomp_affinity_init_level): Test
4980 gomp_places_list_len == 0 rather than gomp_places_list == 0
4981 when checking for topology reading error.
4982 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
4983 * env.c (parse_affinity): Add ignore argument, if true, don't populate
4984 gomp_places_list, only parse env var and always return false.
4985 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
4986 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
4987 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
4988 and either of these variables were parsed correctly into a places
4989 list.
4990
4991 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
4992 Jakub Jelinek <jakub@redhat.com>
4993
4994 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
4995 of 5 loopfn matches.
4996 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
4997 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
4998 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
4999 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
5000 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
5001 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5002 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5003 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
5004
5005 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
5006
5007 * Makefile.am (omp_lib.mod): Streamline rule.
5008 * Makefile.in: Regenerate.
5009
5010 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
5011 exceptions.
5012
5013 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
5014 * testsuite/libgomp.fortran/lib1.f90: Likewise.
5015 * testsuite/libgomp.fortran/lib2.f: Likewise.
5016 * testsuite/libgomp.fortran/lib3.f: Likewise.
5017
5018 * configure.ac: Typo fix.
5019 * configure: Regenerate.
5020
5021 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
5022 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
5023
5024 * omp.h.in: Don't touch the user's namespace.
5025
5026 2013-10-11 Jakub Jelinek <jakub@redhat.com>
5027 Tobias Burnus <burnus@net-b.de>
5028 Richard Henderson <rth@redhat.com>
5029
5030 * target.c: New file.
5031 * Makefile.am (libgomp_la_SOURCES): Add target.c.
5032 * Makefile.in: Regenerated.
5033 * libgomp_g.h (GOMP_task): Add depend argument.
5034 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
5035 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
5036 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
5037 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
5038 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
5039 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
5040 GOMP_taskgroup_start, GOMP_taskgroup_end,
5041 GOMP_parallel_sections): New prototypes.
5042 * fortran.c (omp_is_initial_device): Add ialias_redirect.
5043 (omp_is_initial_device_): New function.
5044 (ULP, STR1, STR2, ialias_redirect): Removed.
5045 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
5046 omp_set_default_device_8_, omp_get_default_device_,
5047 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
5048 functions.
5049 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
5050 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
5051 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
5052 @@GOMP_4.0.
5053 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
5054 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
5055 omp_set_default_device, omp_set_default_device_,
5056 omp_set_default_device_8_, omp_get_default_device,
5057 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
5058 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
5059 omp_get_team_num_): Export @@OMP_4.0.
5060 * team.c (struct gomp_thread_start_data): Add place field.
5061 (gomp_thread_start): Clear thr->thread_pool and
5062 thr->task before returning. Use gomp_team_barrier_wait_final
5063 instead of gomp_team_barrier_wait. Initialize thr->place.
5064 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
5065 team_cancelled and task_queued_count fields.
5066 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
5067 before calling pthread_exit.
5068 (gomp_free_thread): No longer static. Use
5069 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
5070 (gomp_team_start): Add flags argument. Set
5071 thr->thread_pool->threads_busy to nthreads immediately after creating
5072 new pool. Use gomp_managed_threads_lock instead of
5073 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
5074 (gomp_team_end): Use gomp_managed_threads_lock instead of
5075 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
5076 of gomp_team_barrier_wait. If team->team_cancelled, call
5077 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
5078 rather than thr->ts.work_share.
5079 (initialize_team): Don't call gomp_sem_init here.
5080 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
5081 caller.
5082 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
5083 * env.c (gomp_global_icv): Add default_device_var, target_data and
5084 bind_var initializers.
5085 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
5086 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
5087 gomp_places_list_len): New variables.
5088 (parse_bind_var, parse_one_place, parse_places_var): New functions.
5089 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
5090 sized places.
5091 (gomp_cancel_var): New global variable.
5092 (parse_int): New function.
5093 (handle_omp_display_env): New function.
5094 (initialize_env): Use it. Initialize default_device_var.
5095 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
5096 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
5097 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
5098 been successfully parsed (and call gomp_init_affinity in that case).
5099 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5100 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5101 omp_get_team_num, omp_is_initial_device): New functions.
5102 * libgomp.h: Include stdlib.h.
5103 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
5104 Define.
5105 (struct target_mem_desc): Forward declare.
5106 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
5107 and thread_limit_var fields.
5108 (gomp_get_num_devices): New prototype.
5109 (gomp_cancel_var): New extern decl.
5110 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
5111 team_cancelled and task_queued_count fields. Add comments about
5112 task_{,queued_,running_}count.
5113 (gomp_cancel_kind): New enum.
5114 (gomp_work_share_end_cancel): New prototype.
5115 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
5116 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
5117 and depend fields.
5118 (struct gomp_taskgroup): New type.
5119 (struct gomp_task_depend_entry,
5120 struct gomp_dependers_vec): New types.
5121 (gomp_finish_task): Free depend_hash if non-NULL.
5122 (struct gomp_team_state): Add place_partition_off
5123 and place_partition_len fields.
5124 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
5125 gomp_places_list_len): New extern decls.
5126 (struct gomp_thread): Add place field.
5127 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
5128 (gomp_init_thread_affinity): Add place argument.
5129 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5130 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5131 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5132 gomp_affinity_init_level, gomp_affinity_print_place): New
5133 prototypes.
5134 (gomp_team_start): Add flags argument.
5135 (gomp_thread_limit_var, gomp_remaining_threads_count,
5136 gomp_remaining_threads_lock): Remove.
5137 (gomp_managed_threads_lock): New variable.
5138 (struct gomp_thread_pool): Add threads_busy field.
5139 (gomp_free_thread): New prototype.
5140 * task.c: Include hashtab.h.
5141 (hash_entry_type): New typedef.
5142 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
5143 (gomp_init_task): Clear dependers, depend_hash, depend_count,
5144 copy_ctors_done and taskgroup fields.
5145 (GOMP_task): Add depend argument, handle depend clauses. If
5146 gomp_team_barrier_cancelled or if it's taskgroup has been
5147 cancelled, don't queue or start new tasks. Set copy_ctors_done
5148 field if needed. Initialize taskgroup field. If copy_ctors_done
5149 and already cancelled, don't discard the task. If taskgroup is
5150 non-NULL, enqueue the task into taskgroup queue. Increment
5151 num_children field in taskgroup. Increment task_queued_count.
5152 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
5153 gomp_task_run_post_remove_taskgroup): New inline functions.
5154 (gomp_task_run_post_handle_depend_hash,
5155 gomp_task_run_post_handle_dependers,
5156 gomp_task_run_post_handle_depend): New functions.
5157 (GOMP_taskwait): Use them. If more than one new tasks
5158 have been queued, wake other threads if needed.
5159 (gomp_barrier_handle_tasks): Likewise. If
5160 gomp_team_barrier_cancelled, don't start any new tasks, just free
5161 all tasks.
5162 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
5163 * omp_lib.f90.in
5164 (omp_proc_bind_kind, omp_proc_bind_false,
5165 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
5166 omp_proc_bind_spread): New params.
5167 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5168 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5169 omp_get_team_num, omp_is_initial_device): New interfaces.
5170 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
5171 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
5172 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
5173 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
5174 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
5175 useless use omp_lib_kinds.
5176 * omp.h.in (omp_proc_bind_t): New typedef.
5177 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5178 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5179 omp_get_team_num, omp_is_initial_device): New prototypes.
5180 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
5181 through to gomp_team_start.
5182 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
5183 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
5184 Adjust gomp_parallel_loop_start callers.
5185 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
5186 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
5187 GOMP_loop_end_cancel): New functions.
5188 (GOMP_parallel_end): Add ialias_redirect.
5189 * hashtab.h: New file.
5190 * libgomp.texi (Environment Variables): Minor cleanup,
5191 update section refs to OpenMP 4.0rc2.
5192 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
5193 environment variables.
5194 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
5195 team->work_shares_to_free to thr->ts.work_share before calling
5196 free_work_share.
5197 (gomp_work_share_end_cancel): New function.
5198 * config/linux/proc.c: Include errno.h.
5199 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
5200 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
5201 sizeof (cpu_set_t) to determine number of iterations. Fix up check
5202 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
5203 gomp_cpuset_size is sizeof (cpu_set_t).
5204 (gomp_init_num_threads): Initialize gomp_cpuset_size,
5205 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
5206 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
5207 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
5208 contain any logical CPUs.
5209 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
5210 is NULL. Use gomp_cpusetp instead of &cpuset and pass
5211 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
5212 pthread_getaffinity_np. Check gomp_places_list instead of
5213 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
5214 * config/linux/bar.c (gomp_barrier_wait_end,
5215 gomp_barrier_wait_last): Use BAR_* defines.
5216 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
5217 from state where needed. Set work_share_cancelled to 0 on last
5218 thread.
5219 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
5220 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
5221 functions.
5222 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
5223 Add cpusetsize argument.
5224 (gomp_cpuset_size, gomp_cpusetp): Declare.
5225 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
5226 (affinity_counter): Remove.
5227 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
5228 if CPU_ALLOC_SIZE isn't defined.
5229 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
5230 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
5231 bind current thread to the first place.
5232 (gomp_init_thread_affinity): Rewritten. Add place argument, just
5233 pthread_setaffinity_np to gomp_places_list[place].
5234 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5235 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5236 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5237 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
5238 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
5239 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
5240 (gomp_barrier_t): Add awaited_final field.
5241 (gomp_barrier_init): Initialize awaited_final field.
5242 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
5243 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
5244 prototypes.
5245 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
5246 defines.
5247 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
5248 gomp_team_barrier_cancelled): New inline functions.
5249 (gomp_barrier_last_thread,
5250 gomp_team_barrier_set_task_pending,
5251 gomp_team_barrier_clear_task_pending,
5252 gomp_team_barrier_set_waiting_for_tasks,
5253 gomp_team_barrier_waiting_for_tasks,
5254 gomp_team_barrier_done): Use BAR_* defines.
5255 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
5256 (gomp_barrier_wait_end): Use BAR_* defines.
5257 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
5258 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
5259 Use BAR_* defines.
5260 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
5261 gomp_team_barrier_cancel): New functions.
5262 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
5263 argument.
5264 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5265 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5266 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5267 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
5268 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
5269 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
5270 (gomp_barrier_t): Add cancellable field.
5271 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
5272 gomp_team_barrier_cancel): New prototypes.
5273 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
5274 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
5275 gomp_team_barrier_cancelled): New inline functions.
5276 (gomp_barrier_wait_start, gomp_barrier_last_thread,
5277 gomp_team_barrier_set_task_pending,
5278 gomp_team_barrier_clear_task_pending,
5279 gomp_team_barrier_set_waiting_for_tasks,
5280 gomp_team_barrier_waiting_for_tasks,
5281 gomp_team_barrier_done): Use BAR_* defines.
5282 * barrier.c (GOMP_barrier_cancel): New function.
5283 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
5284 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
5285 omp_proc_bind_spread): New params.
5286 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5287 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5288 omp_get_team_num, omp_is_initial_device): New externals.
5289 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
5290 New functions.
5291 (gomp_resolve_num_threads): Adjust for thread_limit now being in
5292 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
5293 infinity. If not nested, just return minimum of max_num_threads
5294 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
5295 to the returned value. Otherwise, don't update atomically
5296 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
5297 (GOMP_parallel_end): Adjust for thread_limit now being in
5298 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
5299 infinity. Adjust threads_busy in the pool rather than
5300 gomp_remaining_threads_count. Remember team->nthreads and call
5301 gomp_team_end before adjusting threads_busy, if not nested
5302 afterwards, just set it to 1 non-atomically. Add ialias.
5303 (GOMP_parallel_start): Adjust gomp_team_start caller.
5304 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
5305 * testsuite/libgomp.c/affinity-1.c: New test.
5306 * testsuite/libgomp.c/atomic-15.c: New test.
5307 * testsuite/libgomp.c/atomic-16.c: New test.
5308 * testsuite/libgomp.c/atomic-17.c: New test.
5309 * testsuite/libgomp.c/cancel-for-1.c: New test.
5310 * testsuite/libgomp.c/cancel-for-2.c: New test.
5311 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
5312 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
5313 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
5314 * testsuite/libgomp.c/cancel-sections-1.c: New test.
5315 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
5316 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
5317 * testsuite/libgomp.c/depend-1.c: New test.
5318 * testsuite/libgomp.c/depend-2.c: New test.
5319 * testsuite/libgomp.c/depend-3.c: New test.
5320 * testsuite/libgomp.c/depend-4.c: New test.
5321 * testsuite/libgomp.c/for-1.c: New test.
5322 * testsuite/libgomp.c/for-1.h: New file.
5323 * testsuite/libgomp.c/for-2.c: New test.
5324 * testsuite/libgomp.c/for-2.h: New file.
5325 * testsuite/libgomp.c/for-3.c: New test.
5326 * testsuite/libgomp.c/pr58392.c: New test.
5327 * testsuite/libgomp.c/simd-1.c: New test.
5328 * testsuite/libgomp.c/simd-2.c: New test.
5329 * testsuite/libgomp.c/simd-3.c: New test.
5330 * testsuite/libgomp.c/simd-4.c: New test.
5331 * testsuite/libgomp.c/simd-5.c: New test.
5332 * testsuite/libgomp.c/simd-6.c: New test.
5333 * testsuite/libgomp.c/target-1.c: New test.
5334 * testsuite/libgomp.c/target-2.c: New test.
5335 * testsuite/libgomp.c/target-3.c: New test.
5336 * testsuite/libgomp.c/target-4.c: New test.
5337 * testsuite/libgomp.c/target-5.c: New test.
5338 * testsuite/libgomp.c/target-6.c: New test.
5339 * testsuite/libgomp.c/target-7.c: New test.
5340 * testsuite/libgomp.c/taskgroup-1.c: New test.
5341 * testsuite/libgomp.c/thread-limit-1.c: New test.
5342 * testsuite/libgomp.c/thread-limit-2.c: New test.
5343 * testsuite/libgomp.c/thread-limit-3.c: New test.
5344 * testsuite/libgomp.c/udr-1.c: New test.
5345 * testsuite/libgomp.c/udr-2.c: New test.
5346 * testsuite/libgomp.c/udr-3.c: New test.
5347 * testsuite/libgomp.c++/affinity-1.C: New test.
5348 * testsuite/libgomp.c++/atomic-10.C: New test.
5349 * testsuite/libgomp.c++/atomic-11.C: New test.
5350 * testsuite/libgomp.c++/atomic-12.C: New test.
5351 * testsuite/libgomp.c++/atomic-13.C: New test.
5352 * testsuite/libgomp.c++/atomic-14.C: New test.
5353 * testsuite/libgomp.c++/atomic-15.C: New test.
5354 * testsuite/libgomp.c++/cancel-for-1.C: New test.
5355 * testsuite/libgomp.c++/cancel-for-2.C: New test.
5356 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
5357 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
5358 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
5359 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
5360 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
5361 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
5362 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
5363 * testsuite/libgomp.c++/cancel-test.h: New file.
5364 * testsuite/libgomp.c++/for-9.C: New test.
5365 * testsuite/libgomp.c++/for-10.C: New test.
5366 * testsuite/libgomp.c++/for-11.C: New test.
5367 * testsuite/libgomp.c++/simd-1.C: New test.
5368 * testsuite/libgomp.c++/simd-2.C: New test.
5369 * testsuite/libgomp.c++/simd-3.C: New test.
5370 * testsuite/libgomp.c++/simd-4.C: New test.
5371 * testsuite/libgomp.c++/simd-5.C: New test.
5372 * testsuite/libgomp.c++/simd-6.C: New test.
5373 * testsuite/libgomp.c++/simd-7.C: New test.
5374 * testsuite/libgomp.c++/simd-8.C: New test.
5375 * testsuite/libgomp.c++/target-1.C: New test.
5376 * testsuite/libgomp.c++/target-2.C: New test.
5377 * testsuite/libgomp.c++/target-2-aux.cc: New file.
5378 * testsuite/libgomp.c++/target-3.C: New test.
5379 * testsuite/libgomp.c++/taskgroup-1.C: New test.
5380 * testsuite/libgomp.c++/udr-1.C: New test.
5381 * testsuite/libgomp.c++/udr-2.C: New test.
5382 * testsuite/libgomp.c++/udr-3.C: New test.
5383 * testsuite/libgomp.c++/udr-4.C: New test.
5384 * testsuite/libgomp.c++/udr-5.C: New test.
5385 * testsuite/libgomp.c++/udr-6.C: New test.
5386 * testsuite/libgomp.c++/udr-7.C: New test.
5387 * testsuite/libgomp.c++/udr-8.C: New test.
5388 * testsuite/libgomp.c++/udr-9.C: New test.
5389
5390 2013-09-20 Jakub Jelinek <jakub@redhat.com>
5391
5392 PR testsuite/57605
5393 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
5394 ALWAYS_CFLAGS.
5395
5396 2013-09-20 Alan Modra <amodra@gmail.com>
5397
5398 * configure: Regenerate.
5399
5400 2013-09-19 Jakub Jelinek <jakub@redhat.com>
5401
5402 * testsuite/libgomp.c/sections-2.c: New test.
5403
5404 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
5405
5406 * testsuite/libgomp.fortran/strassen.f90:
5407 Add dg-skip-if aarch64_tiny.
5408
5409 2013-06-20 Iain Sandoe <iain@codesourcery.com>
5410 Cesar Philippidis <cesar@codesourcery.com>
5411
5412 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
5413 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
5414 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
5415 * testsuite/libgomp.fortran/fortran.exp: Likewise.
5416 * testsuite/libgomp.graphite/graphite.exp: Likewise.
5417 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
5418 Use dg-runtest rather than gfortran-dg-runtest.
5419
5420 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
5421
5422 * testsuite/libgomp.c/icv-2.c: Extend current handling of
5423 Linux-based x86 systems to cover all GNU systems.
5424 * testsuite/libgomp.c/lock-3.c: Likewise.
5425 * testsuite/libgomp.c/pr48591.c: Likewise.
5426
5427 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
5428
5429 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
5430 GNU/Hurd, as done for Linux-based systems.
5431
5432 * config/posix/ptrlock.h: Fix comment.
5433
5434 2013-05-27 Tobias Burnus <burnus@net-b.de>
5435
5436 PR fortran/57423
5437 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
5438 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
5439 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
5440 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
5441 omp_destroy_nest_lock): Correct arguments to match the one in
5442 the OpenMP spec.
5443 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
5444 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
5445 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
5446 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
5447
5448 2013-05-16 Jakub Jelinek <jakub@redhat.com>
5449
5450 * testsuite/libgomp.c/loop-13.c: New test.
5451 * testsuite/libgomp.c/loop-14.c: New test.
5452 * testsuite/libgomp.c/loop-15.c: New test.
5453 * testsuite/libgomp.c++/loop-13.C: New test.
5454 * testsuite/libgomp.c++/loop-14.C: New test.
5455 * testsuite/libgomp.c++/loop-15.C: New test.
5456
5457 2013-02-06 Jakub Jelinek <jakub@redhat.com>
5458
5459 PR middle-end/56217
5460 * testsuite/libgomp.c++/pr56217.C: New test.
5461
5462 2013-02-01 Alan Modra <amodra@gmail.com>
5463
5464 * task.c (GOMP_task, GOMP_taskwait): Comment.
5465
5466 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
5467 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
5468
5469 PR libgomp/55561
5470 * config/linux/wait.h (do_spin): Use atomic load for addr.
5471 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
5472 for intptr and ptrlock.
5473 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
5474 for ptrlock.
5475
5476 2013-01-22 Alan Modra <amodra@gmail.com>
5477
5478 PR libgomp/51376
5479 PR libgomp/56073
5480 * task.c (GOMP_task): Revert 2011-12-09 change.
5481 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
5482 barrier to read task->children..
5483 (gomp_barrier_handle_tasks): ..and matching atomic store with
5484 release barrier here when setting parent->children to NULL.
5485
5486 2013-01-16 Jakub Jelinek <jakub@redhat.com>
5487 Tobias Burnus <burnus@net-b.de>
5488
5489 PR driver/55884
5490 * testsuite/libgomp.fortran/fortran.exp: Use
5491 -fintrinsic-modules-path= instead of
5492 -fintrinsic-modules-path.
5493
5494 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
5495
5496 Update copyright years.
5497
5498 2012-12-19 Tobias Burnus <burnus@net-b.de>
5499
5500 * testsuite/libgomp.fortran/fortran.exp: Set
5501 -fintrinsic-modules-path.
5502
5503 2012-12-19 Tobias Burnus <burnus@net-b.de>
5504
5505 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
5506 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
5507
5508 2012-11-21 Jakub Jelinek <jakub@redhat.com>
5509
5510 PR libgomp/55411
5511 * team.c (gomp_free_thread): Decrease gomp_managed_threads
5512 if pool had any threads_used.
5513
5514 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
5515
5516 * testsuite/libgomp.c++/pr24455.C: Use
5517 -Wl,-undefined,dynamic_lookup on darwin.
5518
5519 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
5520
5521 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
5522
5523 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
5524
5525 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
5526
5527 2012-10-23 Ian Bolton <ian.bolton@arm.com>
5528 Jim MacArthur <jim.macarthur@arm.com>
5529 Marcus Shawcroft <marcus.shawcroft@arm.com>
5530 Nigel Stephens <nigel.stephens@arm.com>
5531 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5532 Richard Earnshaw <rearnsha@arm.com>
5533 Sofiane Naci <sofiane.naci@arm.com>
5534 Stephen Thomas <stephen.thomas@arm.com>
5535 Tejas Belagod <tejas.belagod@arm.com>
5536 Yufeng Zhang <yufeng.zhang@arm.com>
5537
5538 * configure.tgt: Add AArch64.
5539
5540 2012-10-04 Jason Merrill <jason@redhat.com>
5541
5542 * testsuite/libgomp.c++/tls-init1.C: New.
5543
5544 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
5545
5546 * configure: Regenerated.
5547
5548 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
5549
5550 * config/linux/mips/futex.h (sys_futex0): Change to static
5551 function with noinline, nomips16 attributes under MIPS16. Adjust
5552 asm statement to place 'li v0,SYS_futex' immediately before
5553 syscall insn.
5554
5555 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
5556
5557 * libgomp.texi (Library Index): Renamed from "Index" to prevent
5558 conflict with index.html on case-insensitive file systems.
5559
5560 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
5561
5562 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
5563 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
5564
5565 2012-07-02 Richard Guenther <rguenther@suse.de>
5566 Michael Matz <matz@suse.de>
5567 Tobias Grosser <tobias@grosser.es>
5568 Sebastian Pop <sebpop@gmail.com>
5569
5570 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
5571 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
5572 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5573 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5574
5575 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
5576
5577 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
5578
5579 2012-06-22 Richard Guenther <rguenther@suse.de>
5580
5581 Merge from graphite branch
5582 2012-01-13 Tobias Grosser <tobias@grosser.es>
5583
5584 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
5585 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
5586
5587 2012-06-07 Jakub Jelinek <jakub@redhat.com>
5588
5589 PR middle-end/53580
5590 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
5591 use GOMP_barrier () call instead.
5592 * testsuite/libgomp.c/pr26943-3.c: Likewise.
5593 * testsuite/libgomp.c/pr26943-4.c: Likewise.
5594 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
5595 call GOMP_barrier instead.
5596 * testsuite/libgomp.fortran/vla5.f90: Likewise.
5597
5598 2012-06-06 Jakub Jelinek <jakub@redhat.com>
5599
5600 PR libgomp/52993
5601 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
5602 argument to memset call.
5603
5604 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
5605
5606 * configure: Regenerated.
5607
5608 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5609
5610 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
5611
5612 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
5613
5614 PR bootstrap/52812
5615 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
5616
5617 2012-03-22 Jakub Jelinek <jakub@redhat.com>
5618
5619 PR middle-end/52547
5620 * testsuite/libgomp.c/pr52547.c: New test.
5621
5622 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
5623
5624 * testsuite/lib/libgomp.exp: load fortran-modules.exp
5625
5626 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5627
5628 * configure.tgt (mips-sgi-irix6*): Remove.
5629
5630 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5631
5632 * configure.tgt (alpha*-dec-osf*): Remove.
5633
5634 * config/osf/sem.h: Remove.
5635 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
5636
5637 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
5638
5639 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
5640
5641 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5642
5643 PR libstdc++/52188
5644 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
5645 Remove ENABLE_SYMVERS_SOL2.
5646 * configure: Regenerate.
5647 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
5648 (PREPROCESS): New variable.
5649 (libgomp.ver): New target.
5650 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
5651 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
5652 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
5653 Use libgomp.ver.
5654 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
5655 * Makefile.in: Regenerate.
5656
5657 2012-02-14 Walter Lee <walt@tilera.com>
5658
5659 * configure.tgt: Handle tilegx and tilepro.
5660 * config/linux/tile/futex.h: New file.
5661
5662 2012-02-08 Richard Guenther <rguenther@suse.de>
5663
5664 PR tree-optimization/46886
5665 * testsuite/libgomp.c/pr46886.c: New testcase.
5666
5667 2012-01-25 Matthias Klose <doko@ubuntu.com>
5668
5669 * config/linux/arm: Remove empty directory.
5670 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
5671
5672 2011-12-09 Alan Modra <amodra@gmail.com>
5673
5674 PR libgomp/51376
5675 * task.c (GOMP_taskwait): Don't access task->children outside of
5676 task_lock mutex region.
5677 (GOMP_task): Likewise.
5678
5679 2011-12-06 Jakub Jelinek <jakub@redhat.com>
5680
5681 PR libgomp/51132
5682 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
5683 to file scope.
5684 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
5685 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
5686 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5687 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5688 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
5689
5690 2011-12-02 Alan Modra <amodra@gmail.com>
5691
5692 * config/linux/affinity.c: Use atomic rather than sync builtin.
5693 * config/linux/lock.c: Likewise.
5694 * config/linux/ptrlock.h: Likewise.
5695 * config/linux/ptrlock.c: Likewise.
5696 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
5697 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
5698 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
5699 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
5700 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
5701 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
5702 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
5703 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
5704 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
5705 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
5706
5707 2011-11-30 Alan Modra <amodra@gmail.com>
5708
5709 PR libgomp/51298
5710 * config/linux/bar.h: Use atomic rather than sync builtins.
5711 * config/linux/bar.c: Likewise. Add missing acquire
5712 synchronisation on generation field.
5713 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
5714 double unlock.
5715
5716 2011-11-30 Alan Modra <amodra@gmail.com>
5717
5718 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
5719 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
5720 * config/linux/mutex.h: Use atomic rather than sync builtins.
5721 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
5722 * config/linux/omp-lock.h: Comment fix.
5723 * config/linux/arm/mutex.h: Delete.
5724 * config/linux/powerpc/mutex.h: Delete.
5725 * config/linux/ia64/mutex.h: Delete.
5726 * config/linux/mips/mutex.h: Delete.
5727
5728 2011-11-30 Alan Modra <amodra@gmail.com>
5729
5730 PR libgomp/51249
5731 * config/linux/sem.h: Rewrite.
5732 * config/linux/sem.c: Rewrite.
5733
5734 2011-11-28 Richard Henderson <rth@redhat.com>
5735
5736 * libgomp.h (enum memmodel): New.
5737
5738 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
5739
5740 * configure: Regenerate.
5741
5742 2011-10-10 Matthias Klose <doko@ubuntu.com>
5743
5744 * config/posix95: Remove empty directory.
5745
5746 2011-08-26 Jakub Jelinek <jakub@redhat.com>
5747
5748 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
5749
5750 2011-08-19 Jakub Jelinek <jakub@redhat.com>
5751
5752 PR fortran/49792
5753 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
5754 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
5755
5756 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5757
5758 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
5759
5760 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5761
5762 PR libgomp/49965
5763 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
5764
5765 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
5766
5767 * config/linux/proc.h: New.
5768 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
5769 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
5770 (gomp_init_num_threads): Update call to cpuset_popcount.
5771 (get_num_procs): Ditto.
5772 * config/linux/affinity.c (gomp_init_affinity): Call
5773 gomp_cpuset_popcount.
5774
5775 2011-08-02 Jakub Jelinek <jakub@redhat.com>
5776
5777 PR fortran/42041
5778 PR fortran/46752
5779 * omp.h.in (omp_in_final): New prototype.
5780 * omp_lib.f90.in (omp_in_final): New interface.
5781 (omp_integer_kind, omp_logical_kind): Remove
5782 and replace all its uses in the module with 4.
5783 (openmp_version): Change to 201107.
5784 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
5785 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
5786 kind for the parameters.
5787 (omp_in_final): New external.
5788 (openmp_version): Change to 201107.
5789 * task.c (omp_in_final): New function.
5790 (gomp_init_task): Initialize final_task.
5791 (GOMP_task): Remove unused attribute from flags. Handle final
5792 tasks.
5793 (GOMP_taskyield): New function.
5794 (omp_in_final): Return true if if (false) or final (true) task
5795 or descendant of final (true).
5796 * fortran.c (omp_in_final_): New function.
5797 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
5798 (GOMP_3.0): Export GOMP_taskyield.
5799 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
5800 variables.
5801 (parse_unsigned_long_list): New function.
5802 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
5803 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
5804 even if parse_affinity returned false.
5805 * config/linux/affinity.c (gomp_init_affinity): Handle
5806 gomp_cpu_affinity_len == 0.
5807 * libgomp_g.h (GOMP_taskyield): New prototype.
5808 * libgomp.h (struct gomp_task): Add final_task field.
5809 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
5810 * team.c (gomp_team_start): Override new task's nthreads_var icv
5811 if list form OMP_NUM_THREADS has been used and it has value for
5812 the new nesting level.
5813
5814 * testsuite/libgomp.c/atomic-11.c: New test.
5815 * testsuite/libgomp.c/atomic-12.c: New test.
5816 * testsuite/libgomp.c/atomic-13.c: New test.
5817 * testsuite/libgomp.c/atomic-14.c: New test.
5818 * testsuite/libgomp.c/reduction-6.c: New test.
5819 * testsuite/libgomp.c/task-5.c: New test.
5820 * testsuite/libgomp.c++/atomic-2.C: New test.
5821 * testsuite/libgomp.c++/atomic-3.C: New test.
5822 * testsuite/libgomp.c++/atomic-4.C: New test.
5823 * testsuite/libgomp.c++/atomic-5.C: New test.
5824 * testsuite/libgomp.c++/atomic-6.C: New test.
5825 * testsuite/libgomp.c++/atomic-7.C: New test.
5826 * testsuite/libgomp.c++/atomic-8.C: New test.
5827 * testsuite/libgomp.c++/atomic-9.C: New test.
5828 * testsuite/libgomp.c++/task-8.C: New test.
5829 * testsuite/libgomp.c++/reduction-4.C: New test.
5830 * testsuite/libgomp.fortran/allocatable7.f90: New test.
5831 * testsuite/libgomp.fortran/allocatable8.f90: New test.
5832 * testsuite/libgomp.fortran/crayptr3.f90: New test.
5833 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
5834 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
5835 * testsuite/libgomp.fortran/pointer1.f90: New test.
5836 * testsuite/libgomp.fortran/pointer2.f90: New test.
5837 * testsuite/libgomp.fortran/task4.f90: New test.
5838
5839 2011-08-02 Tobias Burnus <burnus@net-b.de>
5840
5841 * libgomp.texi: Update OpenMP spec references to 3.1.
5842 (omp_in_final,OMP_PROC_BIND): New sections.
5843 (OMP_NUM_THREADS): Document that the value can be now a list.
5844 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
5845
5846 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
5847
5848 * config/linux/x86/futex.h: Check __x86_64__ instead of
5849 __LP64__.
5850
5851 2011-07-29 Jakub Jelinek <jakub@redhat.com>
5852
5853 PR middle-end/49897
5854 PR middle-end/49898
5855 * testsuite/libgomp.c/pr49897-1.c: New test.
5856 * testsuite/libgomp.c/pr49897-2.c: New test.
5857 * testsuite/libgomp.c/pr49898-1.c: New test.
5858 * testsuite/libgomp.c/pr49898-2.c: New test.
5859
5860 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
5861
5862 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
5863 for ia32 instead of ilp32.
5864
5865 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
5866 * testsuite/libgomp.c/atomic-6.c: Likewise.
5867
5868 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
5869
5870 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
5871 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
5872
5873 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5874
5875 PR libgomp/45351
5876 * config/osf/sem.h: New file.
5877 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
5878
5879 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5880
5881 PR target/49541
5882 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
5883 ldflags.
5884
5885 2011-07-15 Jakub Jelinek <jakub@redhat.com>
5886
5887 * config/linux/wait.h (do_spin): New inline, largely copied
5888 from do_wait, just don't do futex_wait here, instead return true if
5889 it should be done.
5890 (do_wait): Implement using do_spin.
5891 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
5892 to prototype.
5893 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
5894 __sync_bool_compare_and_swap, pass the oldval to
5895 gomp_mutex_lock_slow.
5896 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
5897 If all mutex contenders are just spinning and not sleeping, don't
5898 change state to 2 unnecessarily. Optimize the loop when state has
5899 already become 2 to use just one atomic operation per loop instead
5900 of two.
5901 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
5902 to prototype.
5903 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
5904 __sync_bool_compare_and_swap, pass the oldval to
5905 gomp_mutex_lock_slow.
5906
5907 2011-06-22 Jakub Jelinek <jakub@redhat.com>
5908
5909 PR libgomp/49490
5910 * iter.c (gomp_iter_static_next): For chunk size 0
5911 only use n ceil/ nthreads size for the first
5912 n % nthreads threads in the team instead of
5913 all threads except for the last few ones which
5914 get less work or none at all.
5915 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
5916 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
5917 chunk argument, set run_sched_modifier to 0 for static
5918 resp. 1 for other kinds. If chunk argument is 0
5919 and not static, set value to 1.
5920
5921 2011-05-19 Jakub Jelinek <jakub@redhat.com>
5922
5923 PR c++/49043
5924 * testsuite/libgomp.c++/pr49043.C: New test.
5925
5926 PR c++/48869
5927 * testsuite/libgomp.c++/pr48869.C: New test.
5928
5929 2011-05-06 Jakub Jelinek <jakub@redhat.com>
5930
5931 PR fortran/48894
5932 * fortran.c: Include limits.h.
5933 (TO_INT): Define.
5934 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
5935 *set.
5936 (omp_set_num_threads_8_, omp_set_schedule_8_,
5937 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
5938 omp_get_team_size_8_): Use TO_INT macro.
5939 * testsuite/libgomp.fortran/pr48894.f90: New test.
5940
5941 2011-04-13 Jakub Jelinek <jakub@redhat.com>
5942
5943 PR middle-end/48591
5944 * testsuite/libgomp.c/pr48591.c: New test.
5945
5946 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5947
5948 PR bootstrap/48135
5949 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
5950 * configure: Regenerate.
5951
5952 2011-02-27 Jakub Jelinek <jakub@redhat.com>
5953
5954 PR fortran/47886
5955 * testsuite/libgomp.fortran/task3.f90: New test.
5956
5957 2011-02-24 Tobias Burnus <burnus@net-b.de>
5958
5959 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
5960
5961 2011-02-23 Jakub Jelinek <jakub@redhat.com>
5962
5963 PR libgomp/47854
5964 * libgomp.texi (omp_get_wtime): Don't say time in the past
5965 must be Unix Epoch.
5966
5967 2011-02-18 Jakub Jelinek <jakub@redhat.com>
5968
5969 PR libgomp/47804
5970 * testsuite/libgomp.fortran/fortran.exp: Check for both
5971 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
5972 but $blddir != "", still append ${blddir}/${lang_library_path}
5973 to ld_library_path.
5974
5975 2011-02-16 Tobias Burnus <burnus@net-b.de>
5976
5977 PR libgomp/47758
5978 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
5979 of libquadmath.a before adding its libpath to ldflags.
5980
5981 2011-02-14 Jakub Jelinek <jakub@redhat.com>
5982
5983 PR libgomp/47731
5984 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
5985 to FUTEX_WAIT futex syscall.
5986 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
5987
5988 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5989
5990 * configure: Regenerate.
5991
5992 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
5993
5994 PR libstdc++/36104
5995 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
5996
5997 2011-01-16 Gerald Pfeifer
5998
5999 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
6000
6001 2010-12-14 Jakub Jelinek <jakub@redhat.com>
6002
6003 PR fortran/46874
6004 * libgomp.fortran/allocatable6.f90: New test.
6005
6006 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6007
6008 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
6009 * configure: Regenerate.
6010
6011 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
6012
6013 PR target/40125
6014 PR lto/46695
6015 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
6016 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
6017 * aclocal.m4: Regenerate.
6018 * configure: Regenerate.
6019 * Makefile.in: Regenerate.
6020 * testsuite/Makefile.in: Regenerate.
6021
6022 2010-12-02 Jakub Jelinek <jakub@redhat.com>
6023
6024 PR fortran/46753
6025 * libgomp.fortran/pr46753.f90: New test.
6026
6027 PR libgomp/43706
6028 * env.c (initialize_env): Default to spin count 300000
6029 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
6030 is specified.
6031
6032 PR libgomp/45240
6033 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
6034 at the end if sync builtins aren't supported.
6035
6036 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6037
6038 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
6039
6040 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6041
6042 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
6043
6044 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
6045
6046 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
6047
6048 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6049 Tobias Burnus <burnus@net-b.de>
6050
6051 PR fortran/32049
6052 * configure.ac:
6053 * configure: Regenerate.
6054
6055 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
6056
6057 * config/linux/futex.h: New.
6058 * config/linux/arm/mutex.h: New.
6059 * configure.tgt (arm*-*-linux*): Add config path.
6060
6061 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
6062
6063 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
6064
6065 2010-09-23 Tobias Burnus <burnus@net-b.de>
6066
6067 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
6068 Change Fortran datatype to LOGICAL.
6069 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
6070 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
6071
6072 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6073
6074 * configure: Regenerate.
6075
6076 2010-07-26 Jakub Jelinek <jakub@redhat.com>
6077
6078 * libgomp.texi: Add function keyword to a couple of Fortran
6079 interfaces, use integer instead of int for Fortran.
6080
6081 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
6082
6083 * libgomp.texi: Fix spelling and pasto problems throughout.
6084 Adjust prototypes to match code.
6085
6086 2010-07-24 Tobias Burnus <burnus@net-b.de>
6087
6088 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
6089 silence -fwhole-file warning.
6090
6091 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6092
6093 * configure.tgt (*-*-solaris2.[56]*): Removed.
6094
6095 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6096
6097 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
6098 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
6099 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
6100 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
6101 targetting solaris2*.
6102 * configure: Regenerate.
6103 * config.h.in: Regenerate.
6104
6105 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
6106 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
6107 Add libgomp_version_dep.
6108 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
6109 versioning.
6110 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
6111 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
6112 * Makefile.in: Regenerate.
6113
6114 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
6115 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
6116 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
6117 to common block, protected by
6118 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
6119
6120 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
6121
6122 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
6123
6124 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
6125
6126 PR bootstrap/43170
6127 * configure: Regenerate.
6128
6129 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6130
6131 PR other/43620
6132 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
6133 * configure: Regenerate.
6134 * Makefile.in: Regenerate.
6135 * testsuite/Makefile.in: Regenerate.
6136
6137 2010-04-26 Jakub Jelinek <jakub@redhat.com>
6138
6139 PR c/43893
6140 * testsuite/libgomp.c/pr43893.c: New test.
6141 * testsuite/libgomp.c++/pr43893.C: New test.
6142
6143 2010-04-21 Jakub Jelinek <jakub@redhat.com>
6144
6145 PR middle-end/43570
6146 * testsuite/libgomp.fortran/vla8.f90: New test.
6147
6148 2010-04-20 Jakub Jelinek <jakub@redhat.com>
6149
6150 PR libgomp/43706
6151 * config/linux/affinity.c (gomp_init_affinity): Decrease
6152 gomp_available_cpus if affinity mask confines the process to fewer
6153 CPUs.
6154 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
6155 non-NULL, just return gomp_available_cpus.
6156
6157 PR libgomp/43569
6158 * sections.c (gomp_sections_init): Initialize ws->mode.
6159
6160 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
6161
6162 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
6163 not unused bar variable.
6164 * configure: Regenerate.
6165
6166 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6167
6168 * Makefile.in: Regenerate.
6169 * aclocal.m4: Regenerate.
6170 * testsuite/Makefile.in: Regenerate.
6171
6172 2010-03-22 Jakub Jelinek <jakub@redhat.com>
6173
6174 PR libgomp/42942
6175 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
6176 (initialize_env): Adjust callers.
6177 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
6178 when the argument is 0.
6179
6180 * testsuite/libgomp.c/pr42942.c: New test.
6181
6182 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
6183
6184 PR middle-end/42644
6185 PR middle-end/42130
6186 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
6187 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
6188
6189 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6190
6191 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
6192 * testsuite/libgomp.c++/task-6.C: Likewise.
6193
6194 2010-01-28 Steve Ellcey <sje@cup.hp.com>
6195
6196 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
6197
6198 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
6199
6200 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
6201 * configure: Regenerate.
6202
6203 2010-01-26 Jakub Jelinek <jakub@redhat.com>
6204
6205 PR fortran/42866
6206 * testsuite/libgomp.fortran/allocatable5.f90: New test.
6207
6208 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
6209
6210 * configure.ac: Test for executability of GFORTRAN.
6211 * configure: Regenerate.
6212
6213 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6214
6215 * configure: Regenerate.
6216
6217 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
6218
6219 PR libgomp/42602
6220 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
6221
6222 2010-01-03 Richard Guenther <rguenther@suse.de>
6223
6224 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
6225
6226 2009-12-23 Sebastian Pop <sebpop@gmail.com>
6227
6228 * testsuite/libgomp.graphite/pr4118.c: New.
6229
6230 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
6231
6232 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
6233 for darwin, protect the test with require-effective-target tls_runtime.
6234 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
6235
6236 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
6237
6238 PR target/41605
6239 * testsuite/lib/libgomp.exp: Provide -B options to allow for
6240 link spec %s substitutions for static libraries.
6241
6242 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
6243
6244 PR testsuite/42135
6245 * libgomp.graphite/force-parallel-2.c: Reduce array size.
6246
6247 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6248
6249 * Makefile.in: Regenerate.
6250 * configure: Regenerate.
6251 * testsuite/Makefile.in: Regenerate.
6252
6253 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
6254
6255 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
6256 settings for LC_ALL and LANG.
6257
6258 2009-11-25 Jakub Jelinek <jakub@redhat.com>
6259
6260 PR fortran/42162
6261 * testsuite/libgomp.fortran/pr42162.f90: New test.
6262
6263 2009-11-13 Jakub Jelinek <jakub@redhat.com>
6264
6265 PR middle-end/42029
6266 * testsuite/libgomp.c/pr42029.c: New test.
6267
6268 2009-10-26 Jakub Jelinek <jakub@redhat.com>
6269
6270 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
6271 *s. Accept ld version without text in ()s.
6272 * configure: Regenerated.
6273
6274 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
6275
6276 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
6277
6278 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6279
6280 PR libgomp/41418
6281 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
6282 or a hyphen (happens with fortran language disabled).
6283 * configure: Regenerate.
6284
6285 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6286
6287 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
6288 use sed script portable to Solaris /bin/sed for extracting ld
6289 version.
6290 * configure: Regenerate.
6291
6292 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
6293
6294 * testsuite/libgomp.graphite/bounds.c: New test.
6295
6296 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6297
6298 * Makefile.am (libgomp_la_LINK): New.
6299 * Makefile.in: Regenerate.
6300
6301 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6302
6303 * configure.ac (AC_PREREQ): Bump to 2.64.
6304
6305 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6306
6307 * Makefile.am (install-html, install-pdf): Remove.
6308 * Makefile.in: Regenerate.
6309
6310 * Makefile.in: Regenerate.
6311 * aclocal.m4: Regenerate.
6312 * config.h.in: Regenerate.
6313 * configure: Regenerate.
6314 * testsuite/Makefile.in: Regenerate.
6315
6316 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6317
6318 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
6319 * Makefile.in: Regenerate.
6320
6321 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
6322
6323 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
6324 * Makefile.in: Regenerate.
6325
6326 2009-08-19 Tobias Burnus <burnus@net-b.de>
6327
6328 PR fortran/41102
6329 omp_lib.h.in: Fix -std=f95 errors.
6330
6331 2009-08-14 David Edelsohn <edelsohn@gnu.org>
6332
6333 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
6334 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
6335 * testsuite/libgomp.graphite/graphite.exp: New.
6336
6337 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
6338
6339 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
6340 only build.
6341
6342 2009-08-04 David Daney <ddaney@caviumnetworks.com>
6343
6344 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
6345 needed memory barrier semantics.
6346 * config/linux/mips/mutex.h: New file.
6347
6348 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6349
6350 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
6351
6352 2009-07-16 Joseph Myers <joseph@codesourcery.com>
6353
6354 * configure: Regenerate.
6355
6356 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
6357
6358 PR testsuite/40699
6359 PR testsuite/40707
6360 PR testsuite/40709
6361 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
6362 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
6363 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
6364
6365 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
6366
6367 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
6368 options when choosing a multilib.
6369
6370 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
6371
6372 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
6373 ld_library_path. Use add_path. Add just find_libgcc_s to
6374 ld_library_path, not every libgcc multilib directory.
6375 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
6376 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
6377 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
6378 Use add_path.
6379 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
6380
6381 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
6382
6383 * Makefile.am (LTLDFLAGS): Define.
6384 (LINK): Define.
6385 * Makefile.in: Regenerate.
6386
6387 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
6388
6389 PR fortran/39718
6390 * testsuite/libgomp.fortran/fortran.exp: Don't link with
6391 libgfortranbegin, check existence of libgfortran.a instead of
6392 libgfortranbegin.a.
6393
6394 2009-05-20 Jakub Jelinek <jakub@redhat.com>
6395
6396 PR libgomp/40174
6397 * team.c (gomp_thread_start): Destroy thr->release semaphore.
6398 (gomp_free_pool_helper): Likewise.
6399
6400 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
6401 Jakub Jelinek <jakub@redhat.com>
6402
6403 PR fortran/35423
6404 * testsuite/libgomp.fortran/workshare2.f90: New test.
6405
6406 2009-04-09 Nick Clifton <nickc@redhat.com>
6407
6408 * iter.c: Change copyright header to refer to version 3 of the
6409 GNU General Public License with version 3.1 of the GCC Runtime
6410 Library Exception and to point readers at the COPYING3 and
6411 COPYING3.RUNTIME files and the FSF's license web page.
6412 * alloc.c: Likewise.
6413 * barrier.c: Likewise.
6414 * config/bsd/proc.c: Likewise.
6415 * config/linux/affinity.c: Likewise.
6416 * config/linux/alpha/futex.h: Likewise.
6417 * config/linux/bar.c: Likewise.
6418 * config/linux/bar.h: Likewise.
6419 * config/linux/ia64/futex.h: Likewise.
6420 * config/linux/ia64/mutex.h: Likewise.
6421 * config/linux/lock.c: Likewise.
6422 * config/linux/mips/futex.h: Likewise.
6423 * config/linux/mutex.c: Likewise.
6424 * config/linux/mutex.h: Likewise.
6425 * config/linux/powerpc/futex.h: Likewise.
6426 * config/linux/proc.c: Likewise.
6427 * config/linux/ptrlock.c: Likewise.
6428 * config/linux/ptrlock.h: Likewise.
6429 * config/linux/s390/futex.h: Likewise.
6430 * config/linux/sem.c: Likewise.
6431 * config/linux/sem.h: Likewise.
6432 * config/linux/sparc/futex.h: Likewise.
6433 * config/linux/wait.h: Likewise.
6434 * config/linux/x86/futex.h: Likewise.
6435 * config/mingw32/proc.c: Likewise.
6436 * config/mingw32/time.c: Likewise.
6437 * config/posix/affinity.c: Likewise.
6438 * config/posix/bar.c: Likewise.
6439 * config/posix/bar.h: Likewise.
6440 * config/posix/lock.c: Likewise.
6441 * config/posix/mutex.h: Likewise.
6442 * config/posix/proc.c: Likewise.
6443 * config/posix/ptrlock.h: Likewise.
6444 * config/posix/sem.c: Likewise.
6445 * config/posix/sem.h: Likewise.
6446 * config/posix/time.c: Likewise.
6447 * config/posix95/lock.c: Likewise.
6448 * critical.c: Likewise.
6449 * env.c: Likewise.
6450 * error.c: Likewise.
6451 * fortran.c: Likewise.
6452 * iter_ull.c: Likewise.
6453 * libgomp.h: Likewise.
6454 * libgomp_f.h.in: Likewise.
6455 * libgomp_g.h: Likewise.
6456 * loop.c: Likewise.
6457 * loop_ull.c: Likewise.
6458 * omp.h.in: Likewise.
6459 * omp_lib.f90.in: Likewise.
6460 * omp_lib.h.in: Likewise.
6461 * ordered.c: Likewise.
6462 * parallel.c: Likewise.
6463 * sections.c: Likewise.
6464 * single.c: Likewise.
6465 * task.c: Likewise.
6466 * team.c: Likewise.
6467 * work.c: Likewise.
6468
6469 2009-04-09 Jakub Jelinek <jakub@redhat.com>
6470
6471 * testsuite/config/default.exp: Change copyright header to refer to
6472 version 3 of the GNU General Public License and to point readers
6473 at the COPYING3 file and the FSF's license web page.
6474
6475 2009-04-08 Jakub Jelinek <jakub@redhat.com>
6476
6477 PR middle-end/39573
6478 * libgomp.c++/pr39573.C: New test.
6479
6480 2009-04-01 Jakub Jelinek <jakub@redhat.com>
6481
6482 PR other/39591
6483 * testsuite/libgomp.c/pr39591-1.c: New test.
6484 * testsuite/libgomp.c/pr39591-2.c: New test.
6485 * testsuite/libgomp.c/pr39591-3.c: New test.
6486
6487 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
6488
6489 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
6490 * testsuite/libgomp.c/atomic-6.c: Ditto.
6491
6492 2009-03-23 Jakub Jelinek <jakub@redhat.com>
6493
6494 PR c/39495
6495 * testsuite/libgomp.c/loop-12.c: New test.
6496 * testsuite/libgomp.c/loop-11.c: New test.
6497 * testsuite/libgomp.c++/loop-11.C: New test.
6498 * testsuite/libgomp.c++/loop-12.C: New test.
6499 * testsuite/libgomp.c++/for-8.C: New test.
6500
6501 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6502
6503 * configure: Regenerate.
6504
6505 2009-02-11 Jakub Jelinek <jakub@redhat.com>
6506
6507 PR middle-end/39154
6508 * testsuite/libgomp.c/pr39154.c: New test.
6509
6510 2009-01-30 Ian Lance Taylor <iant@google.com>
6511
6512 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
6513 libgomp_ld_is_gold. Get gold version number.
6514 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
6515 * configure: Rebuild.
6516
6517 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
6518
6519 * testsuite/lib/libgomp.exp: Add -B option for targets that
6520 use libgfortran.a%s in their specs.
6521
6522 2009-01-07 Jakub Jelinek <jakub@redhat.com>
6523
6524 PR libgomp/38086
6525 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
6526 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
6527 HAVE_AS_SYMVER_DIRECTIVE is not defined.
6528 * configure: Regenerated.
6529 * config.h.in: Likewise.
6530
6531 2008-12-28 Jakub Jelinek <jakub@redhat.com>
6532
6533 PR c++/38650
6534 * testsuite/libgomp.c/pr38650.c: New test.
6535 * testsuite/libgomp.c++/pr38650.C: New test.
6536
6537 2008-12-27 Jakub Jelinek <jakub@redhat.com>
6538
6539 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
6540
6541 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
6542
6543 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
6544
6545 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6546
6547 * configure: Regenerate.
6548
6549 2008-12-08 Jakub Jelinek <jakub@redhat.com>
6550
6551 PR middle-end/36802
6552 * testsuite/libgomp.c/pr36802-1.c: New test.
6553 * testsuite/libgomp.c/pr36802-2.c: New test.
6554 * testsuite/libgomp.c/pr36802-3.c: New test.
6555
6556 2008-12-01 Janis Johnson <janis187@us.ibm.com>
6557
6558 PR libgomp/38270
6559 * config/linux/powerpc/mutex.h: New.
6560
6561 2008-12-01 Jakub Jelinek <jakub@redhat.com>
6562
6563 PR c++/38257
6564 * testsuite/libgomp.c++/for-7.C: New test.
6565
6566 PR c++/38348
6567 * testsuite/libgomp.c++/for-6.C: New test.
6568
6569 2008-11-26 Janis Johnson <janis187@us.ibm.com>
6570
6571 PR testsuite/28870
6572 * testsuite/lib/libgomp.exp: Include new timeout library files.
6573 (libgomp_target_compile): Set timeout value from new proc.
6574
6575 2008-11-13 Steve Ellcey <sje@cup.hp.com>
6576
6577 PR libgomp/37938
6578 * config/linux/ia64/mutex.h: New.
6579
6580 2008-11-04 Tobias Burnus <burnus@net-b.de>
6581
6582 PR libgomp/37935
6583 * libgomp.texi (Runtime library routines, environment variables):
6584 Update for OpenMP version 3.0.
6585
6586 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
6587 Steve Ellcey <sje@cup.hp.com>
6588
6589 * configure: Regenerate for new libtool.
6590 * Makefile.in: Ditto.
6591 * testsuite/Makefile.in: Ditto.
6592
6593 2008-09-19 Jakub Jelinek <jakub@redhat.com>
6594 Andreas Tobler <a.tobler@schweiz.org>
6595
6596 * config/bsd/proc.c: New file.
6597 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
6598 * configure.ac: Check for header <sys/sysctl.h>
6599 * configure: Regenerate.
6600 * config.h.in: Likewise.
6601
6602 2008-09-05 Janis Johnson <janis187@us.ibm.com>
6603
6604 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
6605
6606 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
6607
6608 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
6609 * Makefile.in: Regenerated.
6610 * testsuite/Makefile.in: Regenerated.
6611
6612 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
6613
6614 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
6615 depend on blddir if blddir exists.
6616 (libgomp_target_compile): Likewise.
6617 * testsuite/libgomp.c++/c++.exp: Likewise.
6618 * testsuite/libgomp.fortran/fortran.exp: Likewise.
6619
6620 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6621
6622 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
6623 Do not list GPL as Invariant Section.
6624
6625 2008-07-28 Ilie Garbacea <ilie@mips.com>
6626 Chao-ying Fu <fu@mips.com>
6627
6628 * configure.tgt: Enable futex for MIPS.
6629 * config/linux/mips/futex.h: New file.
6630
6631 2008-07-16 Jakub Jelinek <jakub@redhat.com>
6632
6633 * team.c (gomp_team_end): Free team immediately if it has
6634 just one thread.
6635
6636 2008-07-08 David Edelsohn <edelsohn@gnu.org>
6637
6638 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
6639 * testsuite/libgomp.fortran/fortran.exp: Same.
6640 * testsuite/libgomp.c/c.exp: Same.
6641 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
6642 directory to library path first.
6643
6644 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
6645
6646 * env.c (parse_stacksize): Add cast to avoid warning.
6647 (parse_spincount): Likewise.
6648
6649 2008-06-27 Jakub Jelinek <jakub@redhat.com>
6650
6651 * testsuite/libgomp.c/loop-10.c: New test.
6652 * libgomp.c/loop-3.c (main): Add lastprivate clause.
6653 * libgomp.c++/loop-6.C (main): Likewise.
6654
6655 PR debug/36617
6656 * testsuite/libgomp.c/debug-1.c: New test.
6657
6658 2008-06-19 Jakub Jelinek <jakub@redhat.com>
6659
6660 * testsuite/libgomp.c/nqueens-1.c: New test.
6661
6662 PR c++/36523
6663 * testsuite/libgomp.c++/task-7.C: New function.
6664
6665 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6666
6667 * configure: Regenerate.
6668
6669 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6670
6671 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
6672 mutex when HAVE_SYNC_BUILTINS isn't defined.
6673
6674 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6675
6676 * libgomp.texi (omp_test_lock): Fix typo.
6677
6678 2008-06-12 Tobias Burnus <burnus@net-b.de>
6679
6680 * omp_lib.f90.in: Add "implicit none".
6681
6682 2008-06-12 Jakub Jelinek <jakub@redhat.com>
6683
6684 PR middle-end/36506
6685 * testsuite/libgomp.c/reduction-5.c: New test.
6686
6687 2008-06-11 Jakub Jelinek <jakub@redhat.com>
6688
6689 * libgomp.h (struct gomp_task): Add in_tied_task field.
6690 * task.c (gomp_init_task): Initialize it.
6691 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
6692 unconditionally. Don't call gomp_team_barrier_wake if
6693 current task is implicit or if(0) from implicit and number of
6694 running tasks is equal to nthreads - 1.
6695
6696 PR libgomp/36471
6697 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
6698 omp_get_team_size_8): Fix pastos.
6699
6700 PR libgomp/36469
6701 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
6702 * configure: Regenerated.
6703 * config.h.in: Regenerated.
6704 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
6705 defined.
6706
6707 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
6708
6709 PR bootstrap/36452
6710 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
6711 (GOMP_loop_ull_dynamic_start): Likewise.
6712 (GOMP_loop_ull_guided_start): Likewise.
6713 (GOMP_loop_ull_ordered_static_start): Likewise.
6714 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
6715 (GOMP_loop_ull_ordered_guided_start): Likewise.
6716
6717 2008-06-06 Jakub Jelinek <jakub@redhat.com>
6718 Richard Henderson <rth@redhat.com>
6719 Ulrich Drepper <drepper@redhat.com>
6720 Jakob Blomer <jakob.blomer@ira.uka.de>
6721
6722 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
6723 Substitute also OMP_*LOCK_25*.
6724 * configure: Regenerated.
6725 * config.h.in: Regenerated.
6726 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
6727 ptrlock.c and task.c.
6728 * Makefile.in: Regenerated.
6729 * testsuite/Makefile.in: Regenerated.
6730 * task.c: New file.
6731 * loop_ull.c: New file.
6732 * iter_ull.c: New file.
6733 * libgomp.h: Include ptrlock.h.
6734 (enum gomp_task_kind): New type.
6735 (struct gomp_team): Add task_lock, task_queue, task_count,
6736 task_running_count, single_count fields. Add
6737 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
6738 Remove work_share_lock, generation_mask,
6739 oldest_live_gen, num_live_gen and init_work_shares fields, add
6740 work work_share_list_alloc, work_share_list_free and work_share_chunk
6741 fields. Change work_shares from pointer to pointers into an array.
6742 Change ordered_release field into gomp_sem_t ** from flexible array
6743 member. Add implicit_task and initial_work_shares fields.
6744 Move close to the end of the struct.
6745 (struct gomp_team_state): Add single_count, last_work_share,
6746 active_level and level fields, remove work_share_generation.
6747 (gomp_barrier_handle_tasks): New prototype.
6748 (gomp_finish_task): New inline function.
6749 (struct gomp_work_share): Move chunk_size, end, incr into
6750 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
6751 next_ll fields. Reshuffle fields. Add next_alloc,
6752 next_ws, next_free and inline_ordered_team_ids fields, change
6753 ordered_team_ids into pointer from flexible array member.
6754 Add mode field. Put lock and next into a different cache line
6755 from most of the write-once fields.
6756 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
6757 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
6758 gomp_iter_ull_guided_next): New prototypes.
6759 (gomp_new_icv): New prototype.
6760 (struct gomp_thread): Add thread_pool and task fields.
6761 (struct gomp_thread_pool): New type.
6762 (gomp_new_team): New prototype.
6763 (gomp_team_start): Change type of last argument.
6764 (gomp_new_work_share): Removed.
6765 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
6766 (gomp_work_share_init_done): New static inline.
6767 (gomp_throttled_spin_count_var, gomp_available_cpus,
6768 gomp_managed_threads): New extern decls.
6769 (gomp_init_task): New prototype.
6770 (gomp_spin_count_var): New extern var decl.
6771 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
6772 or no alias support, or if not PIC.
6773 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
6774 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
6775 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
6776 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
6777 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
6778 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
6779 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
6780 gomp_test_nest_lock_25): New prototypes.
6781 (omp_lock_symver, strong_alias): Define.
6782 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
6783 decls.
6784 (gomp_end_task): New.
6785 (struct gomp_task_icv, gomp_global_icv): New.
6786 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
6787 (struct gomp_task): New.
6788 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
6789 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
6790 (gomp_icv): New.
6791 (gomp_schedule_type): Reorder enum to match
6792 omp_sched_t.
6793 * team.c (struct gomp_thread_start_data): Add thread_pool and task
6794 fields.
6795 (gomp_thread_start): Add gomp_team_barrier_wait call.
6796 For non-nested case remove clearing of docked thread thr fields.
6797 Use pool fields instead of global gomp_* variables. Use
6798 gomp_barrier_wait_last when needed. Initialize ts.active_level.
6799 Create tasks for each member thread.
6800 (free_team): Only destroy team barrier, task_lock here and free it.
6801 (gomp_free_thread): Free last_team if non-NULL.
6802 (gomp_team_end): Call gomp_team_barrier_wait instead of
6803 gomp_barrier_wait. For nested case call one extra
6804 gomp_barrier_wait. Move here some destruction from free_team.
6805 Call free_team on pool->last_team if any, rather than freeing
6806 current team. Destroy work_share_list_free_lock ifndef
6807 HAVE_SYNC_BUILTINS.
6808 (gomp_new_icv): New function.
6809 (gomp_threads, gomp_threads_size, gomp_threads_used,
6810 gomp_threads_dock): Removed.
6811 (gomp_thread_destructor): New variable.
6812 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
6813 functions.
6814 (gomp_team_start): Create new pool if current thread doesn't have
6815 one. Use pool fields instead of global gomp_* variables.
6816 Initialize thread_pool field for new threads. Clear single_count.
6817 Change last argument from ws to team, don't create
6818 new team, set ts.work_share to &team->work_shares[0] and clear
6819 ts.last_work_share. Don't clear ts.work_share_generation.
6820 If number of threads changed, adjust atomically gomp_managed_threads.
6821 Use gomp_init_task instead of gomp_new_task,
6822 set thr->task to the corresponding implicit_task array entry.
6823 Create tasks for each member thread. Initialize ts.level.
6824 (initialize_team): Call pthread_key_create on
6825 gomp_thread_destructor.
6826 (team_destructor): New function.
6827 (new_team): Removed.
6828 (gomp_new_team): New function.
6829 (free_team): Free gomp_work_share blocks chained through next_alloc,
6830 instead of freeing work_shares and destroying work_share_lock.
6831 (gomp_team_end): Call gomp_fini_work_share. If number of threads
6832 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
6833 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
6834 of gomp_barrier_wait.
6835 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
6836 instead of gomp_barrier_wait. Call gomp_work_share_init_done
6837 if gomp_work_share_start returned true. Don't unlock ws->lock.
6838 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
6839 of gomp_barrier_wait.
6840 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
6841 gomp_work_share_init_done if gomp_work_share_start returned true.
6842 Don't unlock ws->lock.
6843 * work.c: Include stddef.h.
6844 (free_work_share): Use work_share_list_free_lock instead
6845 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
6846 Call gomp_fini_work_share and then either free ws if orphaned, or
6847 put it into work_share_list_free list of the current team.
6848 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
6849 functions.
6850 (gomp_work_share_start, gomp_work_share_end,
6851 gomp_work_share_end_nowait): Rewritten.
6852 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
6853 (openmp_version): Set to 200805.
6854 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
6855 omp_sched_guided, omp_sched_auto): New parameters.
6856 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
6857 omp_set_max_active_levels, omp_get_max_active_levels,
6858 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
6859 omp_get_active_level): New interfaces.
6860 * omp_lib.h.in (openmp_version): Set to 200805.
6861 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
6862 omp_sched_guided, omp_sched_auto): New parameters.
6863 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
6864 omp_set_max_active_levels, omp_get_max_active_levels,
6865 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
6866 omp_get_active_level): New externals.
6867 * loop.c: Include limits.h.
6868 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
6869 GFS_AUTO.
6870 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
6871 Likewise. Use gomp_icv.
6872 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
6873 ts.static_trip here.
6874 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
6875 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
6876 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
6877 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
6878 don't unlock ws->lock, otherwise lock it.
6879 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
6880 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
6881 (gomp_parallel_loop_start): Call gomp_new_team instead of
6882 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
6883 Adjust gomp_team_start caller. Pass 0 as second argument to
6884 gomp_resolve_num_threads.
6885 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
6886 If adding ws->chunk_size nthreads + 1 times after end won't
6887 overflow, set ws->mode to 1.
6888 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
6889 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
6890 GOMP_loop_ull_ordered_static_start,
6891 GOMP_loop_ull_ordered_dynamic_start,
6892 GOMP_loop_ull_ordered_guided_start,
6893 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
6894 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
6895 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
6896 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
6897 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
6898 prototypes.
6899 * libgomp.map: Export lock routines also @@OMP_2.0.
6900 (GOMP_loop_ordered_dynamic_first,
6901 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
6902 GOMP_loop_ordered_static_first): Remove.
6903 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
6904 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
6905 GOMP_loop_ull_ordered_dynamic_next,
6906 GOMP_loop_ull_ordered_dynamic_start,
6907 GOMP_loop_ull_ordered_guided_next,
6908 GOMP_loop_ull_ordered_guided_start,
6909 GOMP_loop_ull_ordered_runtime_next,
6910 GOMP_loop_ull_ordered_runtime_start,
6911 GOMP_loop_ull_ordered_static_next,
6912 GOMP_loop_ull_ordered_static_start,
6913 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
6914 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
6915 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
6916 (omp_set_schedule, omp_get_schedule,
6917 omp_get_thread_limit, omp_set_max_active_levels,
6918 omp_get_max_active_levels, omp_get_level,
6919 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
6920 omp_set_schedule_, omp_set_schedule_8_,
6921 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
6922 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
6923 omp_get_max_active_levels_, omp_get_level_,
6924 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
6925 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
6926 New exports @@OMP_3.0.
6927 * omp.h.in (omp_sched_t): New type.
6928 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
6929 omp_set_max_active_levels, omp_get_max_active_levels,
6930 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
6931 omp_get_active_level): New prototypes.
6932 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
6933 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
6934 gomp_thread_limit_var, gomp_remaining_threads_count,
6935 gomp_remaining_threads_lock): New variables.
6936 (parse_spincount): New function.
6937 (initialize_env): Call gomp_init_num_threads unconditionally.
6938 Initialize gomp_available_cpus. Call parse_spincount,
6939 initialize gomp_{,throttled_}spin_count_var
6940 depending on presence and value of OMP_WAIT_POLICY and
6941 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
6942 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
6943 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
6944 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
6945 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
6946 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
6947 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
6948 (gomp_global_icv): New.
6949 (parse_schedule): Use it. Parse "auto".
6950 (omp_set_num_threads): Use gomp_icv.
6951 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
6952 Likewise.
6953 (omp_get_max_threads): Move from parallel.c.
6954 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
6955 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
6956 add ialias.
6957 (parse_stacksize, parse_wait_policy): New functions.
6958 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
6959 both wrappers for compatibility and new locks.
6960 (omp_set_schedule, omp_get_schedule,
6961 omp_get_thread_limit, omp_set_max_active_levels,
6962 omp_get_max_active_levels, omp_get_level,
6963 omp_get_ancestor_thread_num, omp_get_team_size,
6964 omp_get_active_level): New ialias_redirect.
6965 (omp_set_schedule_, omp_set_schedule_8_,
6966 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
6967 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
6968 omp_get_max_active_levels_, omp_get_level_,
6969 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
6970 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
6971 New functions.
6972 * parallel.c: Include limits.h.
6973 (gomp_resolve_num_threads): Add count argument. Rewritten.
6974 (GOMP_parallel_start): Call gomp_new_team and pass that as last
6975 argument to gomp_team_start. Pass 0 as second argument to
6976 gomp_resolve_num_threads.
6977 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
6978 if gomp_thread_limit_var != ULONG_MAX.
6979 (omp_in_parallel): Implement using ts.active_level.
6980 (omp_get_max_threads): Move to env.c.
6981 (omp_get_level, omp_get_ancestor_thread_num,
6982 omp_get_team_size, omp_get_active_level): New functions,
6983 add ialias.
6984 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
6985 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
6986 gomp_iter_dynamic_next instead of the _locked variant and don't take
6987 lock around it, otherwise acquire it before calling
6988 gomp_iter_dynamic_next_locked.
6989 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
6990 gomp_iter_dynamic_next instead of the _locked variant and don't take
6991 lock around it.
6992 (GOMP_parallel_sections_start): Call gomp_new_team instead of
6993 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
6994 Adjust gomp_team_start caller. Pass count as second argument to
6995 gomp_resolve_num_threads, don't adjust num_threads after the call.
6996 Use gomp_icv.
6997 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
6998 ws->chunk_size by incr.
6999 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
7000 code.
7001 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
7002 types.
7003 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
7004 (omp_check_defines): Check even the compat defines.
7005 * config/linux/ptrlock.c: New file.
7006 * config/linux/ptrlock.h: New file.
7007 * config/linux/wait.h: New file.
7008 * config/posix/ptrlock.c: New file.
7009 * config/posix/ptrlock.h: New file.
7010 * config/linux/bar.h (gomp_team_barrier_wait,
7011 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
7012 (gomp_team_barrier_set_task_pending,
7013 gomp_team_barrier_clear_task_pending,
7014 gomp_team_barrier_set_waiting_for_tasks,
7015 gomp_team_barrier_waiting_for_tasks,
7016 gomp_team_barrier_done): New inlines.
7017 (gomp_barrier_t): Rewritten.
7018 (gomp_barrier_state_t): New typedef.
7019 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
7020 gomp_barrier_wait_start): Rewritten.
7021 (gomp_barrier_wait_end): Change second argument to
7022 gomp_barrier_state_t.
7023 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
7024 inlines.
7025 * config/linux/bar.c: Include wait.h instead of libgomp.h and
7026 futex.h.
7027 (gomp_barrier_wait_end): Rewritten.
7028 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
7029 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
7030 * config/posix/bar.h (gomp_barrier_t): Add generation field.
7031 (gomp_barrier_state_t): New typedef.
7032 (gomp_team_barrier_wait,
7033 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
7034 (gomp_barrier_wait_start): Or all but low 2 bits from generation
7035 into the return value. Return gomp_barrier_state_t.
7036 (gomp_team_barrier_set_task_pending,
7037 gomp_team_barrier_clear_task_pending,
7038 gomp_team_barrier_set_waiting_for_tasks,
7039 gomp_team_barrier_waiting_for_tasks,
7040 gomp_team_barrier_done): New inlines.
7041 (gomp_barrier_wait_end): Change second argument to
7042 gomp_barrier_state_t.
7043 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
7044 inlines.
7045 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
7046 (gomp_barrier_wait_end): Change second argument to
7047 gomp_barrier_state_t.
7048 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
7049 gomp_team_barrier_wake): New functions.
7050 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
7051 futex.h.
7052 (gomp_futex_wake, gomp_futex_wait): New variables.
7053 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
7054 * config/linux/lock.c: Rewrite to make locks task owned,
7055 for backwards compatibility provide the old entrypoints
7056 if symbol versioning. Include wait.h instead of libgomp.h and
7057 futex.h.
7058 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
7059 * config/posix95/lock.c: Rewrite to make locks task owned,
7060 for backwards compatibility provide the old entrypoints
7061 if symbol versioning.
7062 * config/posix/lock.c: Rewrite to make locks task owned,
7063 for backwards compatibility provide the old entrypoints
7064 if symbol versioning.
7065 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
7066 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
7067 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
7068 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7069 (sys_futex0): Return error code.
7070 (futex_wake, futex_wait): If ENOSYS was returned, clear
7071 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7072 (cpu_relax, atomic_write_barrier): New static inlines.
7073 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7074 (futex_wake, futex_wait): If ENOSYS was returned, clear
7075 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7076 (cpu_relax, atomic_write_barrier): New static inlines.
7077 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7078 (sys_futex0): Return error code.
7079 (futex_wake, futex_wait): If ENOSYS was returned, clear
7080 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7081 (cpu_relax, atomic_write_barrier): New static inlines.
7082 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7083 (sys_futex0): Return error code.
7084 (futex_wake, futex_wait): If ENOSYS was returned, clear
7085 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7086 (cpu_relax, atomic_write_barrier): New static inlines.
7087 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7088 (sys_futex0): Return error code.
7089 (futex_wake, futex_wait): If ENOSYS was returned, clear
7090 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7091 (cpu_relax, atomic_write_barrier): New static inlines.
7092 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
7093 (sys_futex0): Return error code.
7094 (futex_wake, futex_wait): If ENOSYS was returned, clear
7095 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
7096 (cpu_relax, atomic_write_barrier): New static inlines.
7097 * config/linux/sem.c: Include wait.h instead of libgomp.h and
7098 futex.h.
7099 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
7100 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
7101 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
7102 types.
7103 (omp_nest_lock_t): Change owner into void *, add lock field.
7104 * config/posix95/omp-lock.h: Include semaphore.h.
7105 (omp_lock_25_t, omp_nest_lock_25_t): New types.
7106 (omp_lock_t): Use sem_t instead of mutex if semaphores
7107 aren't broken.
7108 (omp_nest_lock_t): Likewise. Change owner to void *.
7109 * config/posix/omp-lock.h: Include semaphore.h.
7110 (omp_lock_25_t, omp_nest_lock_25_t): New types.
7111 (omp_lock_t): Use sem_t instead of mutex if semaphores
7112 aren't broken.
7113 (omp_nest_lock_t): Likewise. Add owner field.
7114
7115 2008-06-06 Jakub Jelinek <jakub@redhat.com>
7116
7117 * testsuite/libgomp.c/collapse-1.c: New test.
7118 * testsuite/libgomp.c/collapse-2.c: New test.
7119 * testsuite/libgomp.c/collapse-3.c: New test.
7120 * testsuite/libgomp.c/icv-1.c: New test.
7121 * testsuite/libgomp.c/icv-2.c: New test.
7122 * testsuite/libgomp.c/lib-2.c: New test.
7123 * testsuite/libgomp.c/lock-1.c: New test.
7124 * testsuite/libgomp.c/lock-2.c: New test.
7125 * testsuite/libgomp.c/lock-3.c: New test.
7126 * testsuite/libgomp.c/loop-4.c: New test.
7127 * testsuite/libgomp.c/loop-5.c: New test.
7128 * testsuite/libgomp.c/loop-6.c: New test.
7129 * testsuite/libgomp.c/loop-7.c: New test.
7130 * testsuite/libgomp.c/loop-8.c: New test.
7131 * testsuite/libgomp.c/loop-9.c: New test.
7132 * testsuite/libgomp.c/nested-3.c: New test.
7133 * testsuite/libgomp.c/nestedfn-6.c: New test.
7134 * testsuite/libgomp.c/sort-1.c: New test.
7135 * testsuite/libgomp.c/task-1.c: New test.
7136 * testsuite/libgomp.c/task-2.c: New test.
7137 * testsuite/libgomp.c/task-3.c: New test.
7138 * testsuite/libgomp.c/task-4.c: New test.
7139 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
7140 to C++ testsuite default compiler options.
7141 * testsuite/libgomp.c++/collapse-1.C: New test.
7142 * testsuite/libgomp.c++/collapse-2.C: New test.
7143 * testsuite/libgomp.c++/ctor-10.C: New test.
7144 * testsuite/libgomp.c++/for-1.C: New test.
7145 * testsuite/libgomp.c++/for-2.C: New test.
7146 * testsuite/libgomp.c++/for-3.C: New test.
7147 * testsuite/libgomp.c++/for-4.C: New test.
7148 * testsuite/libgomp.c++/for-5.C: New test.
7149 * testsuite/libgomp.c++/loop-8.C: New test.
7150 * testsuite/libgomp.c++/loop-9.C: New test.
7151 * testsuite/libgomp.c++/loop-10.C: New test.
7152 * testsuite/libgomp.c++/task-1.C: New test.
7153 * testsuite/libgomp.c++/task-2.C: New test.
7154 * testsuite/libgomp.c++/task-3.C: New test.
7155 * testsuite/libgomp.c++/task-4.C: New test.
7156 * testsuite/libgomp.c++/task-5.C: New test.
7157 * testsuite/libgomp.c++/task-6.C: New test.
7158 * testsuite/libgomp.fortran/allocatable1.f90: New test.
7159 * testsuite/libgomp.fortran/allocatable2.f90: New test.
7160 * testsuite/libgomp.fortran/allocatable3.f90: New test.
7161 * testsuite/libgomp.fortran/allocatable4.f90: New test.
7162 * testsuite/libgomp.fortran/collapse1.f90: New test.
7163 * testsuite/libgomp.fortran/collapse2.f90: New test.
7164 * testsuite/libgomp.fortran/collapse3.f90: New test.
7165 * testsuite/libgomp.fortran/collapse4.f90: New test.
7166 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
7167 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
7168 * testsuite/libgomp.fortran/lib4.f90: New test.
7169 * testsuite/libgomp.fortran/lock-1.f90: New test.
7170 * testsuite/libgomp.fortran/lock-2.f90: New test.
7171 * testsuite/libgomp.fortran/nested1.f90: New test.
7172 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
7173 * testsuite/libgomp.fortran/strassen.f90: New test.
7174 * testsuite/libgomp.fortran/tabs1.f90: New test.
7175 * testsuite/libgomp.fortran/tabs2.f: New test.
7176 * testsuite/libgomp.fortran/task1.f90: New test.
7177 * testsuite/libgomp.fortran/task2.f90: New test.
7178 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
7179 * testsuite/libgomp.fortran/vla5.f90: Likewise.
7180 * testsuite/libgomp.c/pr26943-2.c: Likewise.
7181 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7182 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7183
7184 2008-05-23 Jakub Jelinek <jakub@redhat.com>
7185
7186 PR c++/36308
7187 * testsuite/libgomp.c++/ctor-11.C: New test.
7188 * testsuite/libgomp.c++/ctor-12.C: New test.
7189
7190 2008-05-15 Janis Johnson <janis187@us.ibm.com>
7191
7192 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
7193
7194 2008-05-07 Jakub Jelinek <jakub@redhat.com>
7195
7196 PR middle-end/36106
7197 * testsuite/libgomp.c/atomic-5.c: New test.
7198 * testsuite/libgomp.c/atomic-6.c: New test.
7199 * testsuite/libgomp.c/autopar-1.c: New test.
7200
7201 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7202
7203 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
7204 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
7205 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
7206 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
7207 * configure: Regenerate.
7208 * Makefile.in, testsuite/Makefile.in: Likewise.
7209
7210 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
7211
7212 PR bootstrap/35457
7213 * aclocal.m4: Regenerate.
7214 * configure: Regenerate.
7215
7216 2008-03-18 Jakub Jelinek <jakub@redhat.com>
7217
7218 PR middle-end/35611
7219 * testsuite/libgomp.c/atomic-4.c: New test.
7220
7221 PR libgomp/35625
7222 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
7223 (gomp_iter_guided_next): Likewise.
7224 * testsuite/libgomp.c/pr35625.c: New test.
7225
7226 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7227
7228 * aclocal.m4: Regenerate.
7229 * configure: Likewise.
7230 * Makefile.in: Likewise.
7231 * testsuite/Makefile.in: Likewise.
7232
7233 2008-03-13 Jakub Jelinek <jakub@redhat.com>
7234
7235 PR middle-end/35185
7236 * testsuite/libgomp.c++/pr35185.C: New test.
7237
7238 2008-03-12 Jakub Jelinek <jakub@redhat.com>
7239
7240 PR middle-end/35549
7241 * testsuite/libgomp.c/pr35549.c: New test.
7242
7243 2008-03-06 Jakub Jelinek <jakub@redhat.com>
7244
7245 * testsuite/libgomp.c/atomic-3.c: New test.
7246
7247 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7248
7249 PR fortran/33197
7250 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
7251 .F08 file suffixes.
7252
7253 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
7254
7255 PR libgomp/33131
7256 * configure.ac: Add ACX_HEADER_STRING.
7257 * env.c: Include strings.h.
7258 * aclocal.m4: Regenerate.
7259 * config.h.in: Regenerate.
7260 * configure: Regenerate.
7261 * Makefile.in: Regenerate.
7262 * testsuite/Makefile.in: Regenerate.
7263
7264 2008-02-15 Jakub Jelinek <jakub@redhat.com>
7265
7266 PR middle-end/35196
7267 * testsuite/libgomp.c/pr35196.c: New test.
7268
7269 PR middle-end/35130
7270 * testsuite/libgomp.fortran/pr35130.f90: New test.
7271 * testsuite/libgomp.c/pr35130.c: New test.
7272
7273 2008-01-25 Jakub Jelinek <jakub@redhat.com>
7274
7275 PR middle-end/33880
7276 * testsuite/libgomp.c/pr33880.c: New test.
7277 * testsuite/libgomp.fortran/pr33880.f90: New test.
7278
7279 2008-01-24 David Edelsohn <edelsohn@gnu.org>
7280
7281 * configure: Regenerate.
7282
7283 2008-01-08 Jakub Jelinek <jakub@redhat.com>
7284
7285 * configure.ac: Move futex checking into ../config/futex.m4.
7286 * configure: Rebuilt.
7287 * aclocal.m4: Rebuilt.
7288 * Makefile.in: Rebuilt.
7289
7290 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
7291 2007-10-15 ../config/tls.m4 change.
7292
7293 2007-12-19 Jakub Jelinek <jakub@redhat.com>
7294
7295 PR c++/34513
7296 * testsuite/libgomp.c/pr34513.c: New test.
7297 * testsuite/libgomp.c++/pr34513.C: New test.
7298
7299 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
7300
7301 PR target/32765
7302 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
7303
7304 2007-12-04 Jakub Jelinek <jakub@redhat.com>
7305
7306 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
7307
7308 2007-12-03 Jakub Jelinek <jakub@redhat.com>
7309
7310 * testsuite/libgomp.c/private-1.c: New test.
7311
7312 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
7313 Paolo Bonzini <bonzini@gnu.org>
7314
7315 * Makefile.am: Use space as vpath separator. Use 'vpath %'
7316 instead of 'VPATH ='.
7317 * Makefile.in: Regenerate.
7318
7319 2007-11-23 Matthias Klose <doko@ubuntu.com>
7320
7321 * configure.ac: Adjust makeinfo version check.
7322 * configure: Regenerate.
7323
7324 2007-11-10 Jakub Jelinek <jakub@redhat.com>
7325
7326 PR fortran/34020
7327 * testsuite/libgomp.fortran/pr34020.f90: New test.
7328
7329 2007-11-06 Jakub Jelinek <jakub@redhat.com>
7330
7331 PR c++/33894
7332 * testsuite/libgomp.c++/atomic-1.C: New test.
7333
7334 2007-10-25 Jakub Jelinek <jakub@redhat.com>
7335
7336 PR libgomp/33275
7337 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
7338 Make x and y integers rather than (implicit) reals. Add private (j)
7339 clause to the last omp parallel.
7340
7341 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
7342
7343 * configure: Regenerate following changes to ../config/tls.m4.
7344
7345 2007-09-28 Jakub Jelinek <jakub@redhat.com>
7346
7347 * testsuite/libgomp.fortran/stack.f90: New test.
7348
7349 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
7350
7351 * config/mingw32/proc.c: New file.
7352
7353 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
7354
7355 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
7356 (main): Use __get_cpuid to get i386 target fetaures.
7357 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
7358 (main): Use __get_cpuid to get x86_64 target fetaures.
7359
7360 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
7361
7362 PR target/32765
7363 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
7364 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
7365
7366 2007-07-12 Jakub Jelinek <jakub@redhat.com>
7367
7368 PR fortran/32550
7369 * testsuite/libgomp.fortran/pr32550.f90: New test.
7370 * testsuite/libgomp.fortran/crayptr2.f90: New test.
7371
7372 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
7373
7374 * aclocal.m4: Regenerated.
7375
7376 2007-07-05 Tobias Burnus <burnus@net-b.de>
7377
7378 PR fortran/32359
7379 * testsuite/libgomp.fortran/pr32359.f90: New.
7380
7381 2007-07-02 Jakub Jelinek <jakub@redhat.com>
7382
7383 PR libgomp/32468
7384 * sections.c (GOMP_parallel_sections_start): Only decrease
7385 number of threads to COUNT if dyn_var is true.
7386 * testsuite/libgomp.c/pr32468.c: New test.
7387
7388 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7389
7390 PR libgomp/26308
7391 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
7392
7393 2007-06-21 Jakub Jelinek <jakub@redhat.com>
7394
7395 PR middle-end/32362
7396 * testsuite/libgomp.c/pr32362-1.c: New test.
7397 * testsuite/libgomp.c/pr32362-2.c: New test.
7398 * testsuite/libgomp.c/pr32362-3.c: New test.
7399
7400 2007-06-07 Jakub Jelinek <jakub@redhat.com>
7401
7402 * team.c (gomp_team_start): Fix setting up thread_attr
7403 stack size.
7404
7405 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
7406
7407 * configure: Regenerate.
7408
7409 2007-05-23 Steve Ellcey <sje@cup.hp.com>
7410
7411 * Makefile.in: Regenerate.
7412 * configure: Regenerate.
7413 * aclocal.m4: Regenerate.
7414 * testsuite/Makefile.in: Regenerate.
7415
7416 2007-05-04 Jakub Jelinek <jakub@redhat.com>
7417
7418 * config/linux/proc.c: New file.
7419
7420 PR libgomp/28482
7421 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
7422
7423 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
7424
7425 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
7426
7427 2007-04-16 Matthias Klose <doko@debian.org>
7428
7429 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
7430 flags if not building with -m64.
7431 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
7432 flag for i?86-*-* targets, if current target matches -m64.
7433
7434 2007-04-14 Steve Ellcey <sje@cup.hp.com>
7435
7436 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
7437 * Makefile.in: Regenerate.
7438
7439 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7440
7441 PR testsuite/31369
7442 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
7443 ld_library_path.
7444 * testsuite/libgomp.fortran/fortran.exp: Likewise.
7445
7446 2007-04-04 Jakub Jelinek <jakub@redhat.com>
7447
7448 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
7449 decls.
7450 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
7451 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
7452 (parse_affinity): New function.
7453 (initialize_env): Call it and gomp_init_affinity.
7454 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
7455 create new pthread_attr_t and call gomp_init_thread_affinity
7456 on it for each thread before passing the attribute to pthread_create.
7457 * config/linux/affinity.c: New file.
7458 * config/posix/affinity.c: New file.
7459 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
7460 * configure: Rebuilt.
7461 * config.h.in: Rebuilt.
7462 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
7463 * Makefile.in: Rebuilt.
7464
7465 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
7466
7467 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
7468 *-*-darwin*.
7469 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
7470 and use it if found.
7471
7472 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
7473
7474 * testsuite/config/default.exp: New file.
7475 * testsuite/lib/libgomp.exp: New file.
7476 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
7477 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
7478 load_lib *, load_gcc_lib *): Move to libgomp.exp.
7479 (libgomp_load): Remove.
7480 * testsuite/lib/libgomp.exp (libgomp_init): Compute
7481 always_ld_library_path, not ld_library_path. Set additional_flags
7482 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
7483 (target_compile): Do not call libgomp_init. Append lang_library_path
7484 and lang_link_flags to options.
7485 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
7486 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
7487 here.
7488 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
7489 always_ld_library_path. Set LD_LIBRARY_PATH here.
7490 * testsuite/libgomp.fortran/fortran.exp: Ditto.
7491 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
7492 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
7493 CX8 flag.
7494 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
7495 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
7496 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
7497 * testsuite/libgomp.c/pr29947-1.c: Ditto.
7498 * testsuite/libgomp.c/atomic-10.c: Ditto.
7499
7500 2007-03-21 Jakub Jelinek <jakub@redhat.com>
7501
7502 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
7503 dg-final cleanup-modules line.
7504 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
7505 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
7506 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
7507 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
7508 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
7509 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
7510 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
7511
7512 2007-03-18 Andreas Schwab <schwab@suse.de>
7513
7514 * acinclude.m4: Adjust regular expression for ld version
7515 extraction.
7516 * configure: Regenerate.
7517
7518 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
7519
7520 * Makefile.am: Add install-pdf target as copied from
7521 automake v1.10 rules.
7522 * Makefile.in: Regenerate
7523
7524 2007-02-07 Jakub Jelinek <jakub@redhat.com>
7525
7526 PR libgomp/28486
7527 * configure: Regenerate.
7528
7529 PR c++/30703
7530 * testsuite/libgomp.c++/pr30703.C: New test.
7531
7532 2007-02-02 Jakub Jelinek <jakub@redhat.com>
7533
7534 Revert:
7535 2006-07-05 Eric Christopher <echristo@apple.com>
7536 * configure.ac: Depend addition of -pthread on host OS.
7537 * configure: Regenerate.
7538
7539 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7540
7541 * libgomp.texi: Fix spacing after abbreviations.
7542
7543 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
7544
7545 PR libgomp/30546
7546 * configure.ac: Add check for makeinfo
7547 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
7548 if an appropiate version of makeinfo is found.
7549 * aclocal.m4: Regenerated.
7550 * configure: Regenerated.
7551 * Makefile.in: Regenerated.
7552 * testsuite/Makefile.in: Regenerated.
7553
7554 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
7555
7556 PR libgomp/30540
7557 * libgomp.texi: More about implementation-dependent settings.
7558
7559 2007-01-26 Tobias Burnus <burnus@net-b.de>
7560
7561 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
7562
7563 2007-01-24 Jakub Jelinek <jakub@redhat.com>
7564
7565 PR middle-end/30494
7566 * testsuite/libgomp.c/pr30494.c: New test.
7567
7568 2007-01-15 Tom Tromey <tromey@redhat.com>
7569
7570 * configure: Rebuilt.
7571 * configure.ac: Fixed comment.
7572
7573 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
7574
7575 * libgomp.texi: Document implementation specific default values of
7576 environment variables.
7577
7578 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
7579
7580 PR libgomp/28209
7581 * libgomp.texi: New file.
7582 * configure.ac: Add --enable-generated-files-in-srcdir option.
7583 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
7584 files to srcdir.
7585 * Makefile.in: Regenerated.
7586 * config.h.in: Regenerated.
7587 * testsuite/Makefile.in: Regenerated.
7588 * NOTES: Removed.
7589
7590 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
7591
7592 PR libgomp/29949
7593 * env.c (omp_set_num_threads): Set illegal thread count to 1.
7594
7595 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
7596
7597 * configure: Regenerate.
7598
7599 2006-12-04 Jakub Jelinek <jakub@redhat.com>
7600
7601 PR libgomp/29947
7602 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
7603 start if there shouldn't be any loop iterations.
7604 (gomp_loop_ordered_static_start): Remove start == end test.
7605 * testsuite/libgomp.c/pr29947-1.c: New test.
7606 * testsuite/libgomp.c/pr29947-2.c: New test.
7607
7608 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
7609
7610 * configure.tgt: Force initial-exec TLS model on Linux only.
7611
7612 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
7613
7614 * configure: Regenerated.
7615
7616 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
7617
7618 * env.c (parse_schedule): Reject out of range values.
7619 (parse_unsigned_long): Reject out of range, negative or zero values.
7620
7621 2006-10-29 Jakub Jelinek <jakub@redhat.com>
7622
7623 PR fortran/29629
7624 * testsuite/libgomp.fortran/pr29629.f90: New test.
7625
7626 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
7627
7628 PR libgomp/29494
7629 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
7630 * config/posix95: New directory.
7631 * config/posix95/omp-lock.h: New file.
7632 * config/posix95/lock.c: Likewise.
7633
7634 2006-10-14 Geoffrey Keating <geoffk@apple.com>
7635
7636 * aclocal.m4: Regenerate.
7637 * configure: Regenerate.
7638
7639 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
7640
7641 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
7642 '<' to '<='.
7643
7644 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
7645
7646 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
7647 test.
7648 * configure: Regenerate.
7649 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
7650
7651 2006-09-26 Jakub Jelinek <jakub@redhat.com>
7652
7653 PR middle-end/25261
7654 PR middle-end/28790
7655 * testsuite/libgomp.c/nestedfn-4.c: New test.
7656 * testsuite/libgomp.c/nestedfn-5.c: New test.
7657 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
7658
7659 PR fortran/29097
7660 * testsuite/libgomp.fortran/condinc1.f: New test.
7661 * testsuite/libgomp.fortran/condinc2.f: New test.
7662 * testsuite/libgomp.fortran/condinc3.f90: New test.
7663 * testsuite/libgomp.fortran/condinc4.f90: New test.
7664 * testsuite/libgomp.fortran/condinc1.inc: New file.
7665
7666 2006-09-18 Tom Tromey <tromey@redhat.com>
7667
7668 * configure: Rebuilt.
7669
7670 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
7671
7672 PR c/28768
7673 PR preprocessor/14634
7674 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
7675 to AC_DEFINE.
7676 * configure: Regenerate.
7677
7678 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
7679
7680 * testsuite/libgomp.fortran/reduction3.f90: Change
7681 -2147483648 to -huge(i)-1 to avoid overflow.
7682 * testsuite/libgomp.fortran/reduction4.f90: Change
7683 Z'ffffffff' to not(0) to avoid overflow.
7684
7685 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
7686
7687 PR libgomp/25938
7688 * Makefile.am (libsubincludedir): New.
7689 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
7690 * Makefile.in: Regenerate.
7691
7692 2006-08-17 Jakub Jelinek <jakub@redhat.com>
7693
7694 PR libgomp/28725
7695 * env.c: Include ctype.h.
7696 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
7697 leading and/or trailing whitespace and compare strings case
7698 insensitively.
7699
7700 2006-07-16 Jakub Jelinek <jakub@redhat.com>
7701
7702 PR fortran/28390
7703 * testsuite/libgomp.fortran/pr28390.f: New test.
7704
7705 2006-07-05 Eric Christopher <echristo@apple.com>
7706
7707 * configure.ac: Depend addition of -pthread on host OS.
7708 * configure: Regenerate.
7709
7710 2006-06-21 Jakub Jelinek <jakub@redhat.com>
7711
7712 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
7713 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
7714 defined.
7715
7716 2006-06-20 Jakub Jelinek <jakub@redhat.com>
7717
7718 PR libgomp/26175
7719 PR libgomp/26477
7720 * configure.ac: If neither --enable-linux-futex nor
7721 --disable-linux-futex is passed, determine the default by checking
7722 for compiling and/or running against NPTL. With --enable-linux-futex,
7723 check if SYS_gettid and SYS_futex are defined.
7724 * configure: Rebuilt.
7725
7726 2006-06-14 Richard Henderson <rth@redhat.com>
7727
7728 PR libgomp/28008
7729 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
7730 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
7731
7732 2006-06-09 Richard Henderson <rth@redhat.com>
7733
7734 * env.c (gomp_nthreads_var): Change to unsigned long.
7735 (gomp_run_sched_chunk): Likewise.
7736 (parse_unsigned_long): Rename from parse_num_threads and generalize.
7737 (initialize_env): Initialize gomp_thread_attr.
7738 * libgomp.h (gomp_nthreads_var): Update decl.
7739 (gomp_run_sched_chunk): Likewise.
7740 (gomp_thread_attr): Declare.
7741 * team.c (gomp_thread_attr): Export.
7742 (initialize_team): Don't initialize it.
7743
7744 2006-06-09 Jakub Jelinek <jakub@redhat.com>
7745
7746 PR fortran/27916
7747 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
7748 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
7749
7750 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
7751
7752 * config/mingw32/time.c: New file.
7753 * configure.tgt: Use it.
7754
7755 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
7756
7757 * Makefile.am: Add install-html target. Add install-html to .PHONY
7758 * Makefile.in: Regenerate.
7759
7760 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7761
7762 PR libgomp/27612
7763 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
7764 * testsuite/libgomp.c/critical-1.c: Likewise.
7765 * testsuite/libgomp.c/loop-1.c: Likewise.
7766 * testsuite/libgomp.c/loop-2.c: Likewise.
7767 * testsuite/libgomp.c/single-1.c: Likewise.
7768 * testsuite/libgomp.c/ordered-1.c: Likewise.
7769 * testsuite/libgomp.c/ordered-2.c: Likewise.
7770
7771 2006-05-15 Jakub Jelinek <jakub@redhat.com>
7772
7773 PR middle-end/27416
7774 * libgomp.fortran/pr27416-1.f90: New test.
7775
7776 2006-05-03 Jakub Jelinek <jakub@redhat.com>
7777
7778 PR fortran/27395
7779 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
7780 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
7781
7782 2006-05-02 Jakub Jelinek <jakub@redhat.com>
7783
7784 PR c++/26943
7785 * testsuite/libgomp.c/pr26943-1.c: New test.
7786 * testsuite/libgomp.c/pr26943-2.c: New test.
7787 * testsuite/libgomp.c/pr26943-3.c: New test.
7788 * testsuite/libgomp.c/pr26943-4.c: New test.
7789 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
7790 * testsuite/libgomp.c++/pr26943.C: New test.
7791
7792 2006-05-02 Jakub Jelinek <jakub@redhat.com>
7793
7794 PR middle-end/27337
7795 * testsuite/libgomp.c++/pr27337.C: New test.
7796
7797 2006-04-26 Jakub Jelinek <jakub@redhat.com>
7798
7799 PR c/26171
7800 * testsuite/libgomp.c/pr26171.c: New test.
7801
7802 2006-04-25 Richard Henderson <rth@redhat.com>
7803
7804 PR libgomp/25865
7805 * configure.ac: Use GCC_CHECK_TLS.
7806 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
7807 * Makefile.in, aclocal.m4, configure: Regenerate.
7808
7809 2006-04-10 Matthias Klose <doko@debian.org>
7810
7811 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
7812 directory names containing underscores.
7813
7814 2006-03-21 Jakub Jelinek <jakub@redhat.com>
7815
7816 PR c++/26691
7817 * testsuite/libgomp.c++/pr26691.C: New test.
7818
7819 2006-03-13 Jakub Jelinek <jakub@redhat.com>
7820
7821 * testsuite/libgomp.fortran/retval2.f90: New test.
7822
7823 2006-03-09 Diego Novillo <dnovillo@redhat.com>
7824
7825 * testsuite/libgomp.c++: New directory.
7826
7827 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
7828
7829 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
7830 * config/posix/sem.c: Implement the above.
7831
7832 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
7833
7834 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
7835 define HAVE_BROKEN_POSIX_SEMAPHORES.
7836 * configure: Rebuilt.
7837 * config.h.in: Rebuilt.
7838
7839 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
7840
7841 PR bootstrap/26161
7842 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
7843 for the other pthread check.
7844 * configure: Regenerate.
7845 * config.h.in: Regenerate.
7846
7847 2006-02-15 Jakub Jelinek <jakub@redhat.com>
7848
7849 PR libgomp/25938
7850 PR libgomp/25984
7851 * Makefile.am (fincludedir): New variable.
7852 (nodist_include_HEADERS): Remove Fortran files.
7853 (nodist_finclude_HEADERS): New variable.
7854 * Makefile.in: Regenerated.
7855
7856 2006-02-13 Jakub Jelinek <jakub@redhat.com>
7857
7858 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
7859 Remove tests for returning assumed character length arrays.
7860
7861 2006-02-12 Roger Sayle <roger@eyesopen.com>
7862 John David Anglin <dave@hiauly1.hia.nrc.ca>
7863
7864 PR libgomp/25936
7865 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
7866
7867 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
7868
7869 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
7870
7871 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
7872
7873 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
7874 part of LD_LIBRARY_PATH manually.
7875
7876 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
7877
7878 PR libgomp/25852
7879 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
7880 libgomp_init.
7881
7882 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
7883
7884 PR libgomp/25884
7885 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
7886 * configure.ac (PERL): Don't set.
7887 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
7888 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
7889 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
7890 * omp.h.in: Wrap the new configure substitutions with @ characters.
7891 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
7892 * aclocal.m4, configure, Makefile.in: Regenerate.
7893 * mkomp_h.pl: Delete.
7894
7895 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
7896
7897 PR libgomp/25259
7898 * configure.ac: Use GCC_HEADER_STDINT.
7899 * libgomp.h: Include gstdint.h.
7900 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
7901 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
7902
7903 2006-01-24 Richard Henderson <rth@redhat.com>
7904
7905 PR libgomp/25942
7906 * configure.ac: Add AM_MAINTAINER_MODE.
7907 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
7908
7909 2006-01-24 Diego Novillo <dnovillo@redhat.com>
7910
7911 * Makefile.in: Regenerate.
7912 * testsuite/Makefile.in: Regenerate.
7913 * aclocal.m4: Regenerate.
7914
7915 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
7916
7917 * config/posix/proc.c: Conditional include of sys/loadavg.h for
7918 Solaris.
7919 * configure.ac: Add check for loadavg.h.
7920 (link_gomp): Adjust comment.
7921 * configure: Regenerate.
7922 * config.h.in: Regenerate.
7923
7924 2006-01-21 Steve Ellcey <sje@cup.hp.com>
7925
7926 PR libgomp/25877
7927 * configure.ac: Remove check for alloca.h.
7928 * configure: Regenerate.
7929 * config.h.in: Regenerate.
7930 * libgomp.h: define gomp_alloca to be __builtin_alloca.
7931 * team.c: Remove use of alloca.h.
7932 Call gomp_alloca instead of alloca.
7933
7934 2006-01-20 Steve Ellcey <sje@cup.hp.com>
7935
7936 PR libgomp/25877
7937 * team.c: Add include of alloca.h.
7938 * configure.ac: Add check for alloca.h.
7939 * configure: Regenerate.
7940 * config.h.in: Regenerate.
7941
7942 2006-01-17 Jakub Jelinek <jakub@redhat.com>
7943
7944 PR fortran/25219
7945 * testsuite/libgomp.fortran/pr25219.f90: New test.
7946
7947 2005-12-05 Uros Bizjak <uros@kss-loka.si>
7948
7949 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
7950 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
7951 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
7952 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
7953 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
7954 testsuite/libgomp.fortran/threadprivate1.f90,
7955 testsuite/libgomp.fortran/threadprivate2.f90,
7956 testsuite/libgomp.fortran/threadprivate3.f90,
7957 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
7958 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
7959 testsuite/libgomp.fortran/omp_parse3.f90: Change required
7960 effective-target to TLS runtime.
7961
7962 * testsuite/libgomp.fortran/pr25162.f: Require
7963 effective-target TLS runtime.
7964
7965 2005-12-01 Jakub Jelinek <jakub@redhat.com>
7966
7967 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
7968 * testsuite/libgomp.c/nestedfn-3.c: New test.
7969
7970 2005-11-30 Jakub Jelinek <jakub@redhat.com>
7971
7972 PR fortran/25162
7973 * testsuite/libgomp.fortran/pr25162.f: New test.
7974
7975 2005-11-28 Jakub Jelinek <jakub@redhat.com>
7976
7977 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
7978 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
7979
7980 2005-11-25 Jakub Jelinek <jakub@redhat.com>
7981
7982 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
7983 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
7984 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
7985 single.c, team.c, work.c, config/linux/alpha/futex.h,
7986 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
7987 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
7988 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
7989 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
7990 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
7991 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
7992 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
7993 FSF address.
7994
7995 2005-11-18 Jakub Jelinek <jakub@redhat.com>
7996
7997 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
7998 to nodist_noinst_HEADERS.
7999 * Makefile.in: Rebuilt.
8000
8001 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
8002 add integer count field.
8003 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
8004 omp_nest_lock_t type change.
8005 (omp_init_nest_lock): Likewise. Initialize count to 0.
8006 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
8007 Increment count.
8008 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
8009 Decrement count.
8010 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
8011 Increment count if successful and return the new nesting level.
8012 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
8013 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
8014 * testsuite/libgomp.c/lib-1.c: New test.
8015 * testsuite/libgomp.fortran/lib1.f90: New test.
8016 * testsuite/libgomp.fortran/lib2.f: New test.
8017 * testsuite/libgomp.fortran/lib3.f: New test.
8018
8019 2005-11-17 Richard Henderson <rth@redhat.com>
8020
8021 PR 24845
8022 * Makefile.am (nodist_toolexeclib_HEADERS): New.
8023 * configure.ac (link_gomp): New. Substitute it.
8024 (AC_CONFIG_FILES): Add libgomp.spec.
8025 * libgomp.spec.in: New file.
8026 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
8027 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
8028
8029 2005-11-18 Jakub Jelinek <jakub@redhat.com>
8030
8031 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
8032 reduction(-:var) behaving the same as reduction(+:var).
8033 * testsuite/libgomp.c/reduction-4.c: New test.
8034
8035 2005-11-15 Uros Bizjak <uros@kss-loka.si>
8036
8037 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
8038 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
8039 testsuite/libgomp.c/copyin-3.c,
8040 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
8041 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
8042 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
8043 testsuite/libgomp.c++/pr24455.C,
8044 testsuite/libgomp.fortran/threadprivate1.f90,
8045 testsuite/libgomp.fortran/threadprivate2.f90,
8046 testsuite/libgomp.fortran/threadprivate3.f90,
8047 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
8048 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
8049 testsuite/libgomp.fortran/omp_parse3.f90: Require
8050 effective-target TLS.
8051
8052 2005-11-14 Diego Novillo <dnovillo@redhat.com>
8053
8054 * HEADER: Remove.
8055
8056 2005-11-13 Jakub Jelinek <jakub@redhat.com>
8057
8058 PR libgomp/24797
8059 * team.c (initialize_team): Pass NULL rather than free as
8060 pthread_key_create destructor. Initialize thread specific data
8061 pointer in initial thread to a static local variable rather than
8062 malloced memory.
8063
8064 2005-11-11 Uros Bizjak <uros@kss-loka.si>
8065
8066 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
8067 its location to ld_library_path.
8068
8069 2005-11-10 Diego Novillo <dnovillo@redhat.com>
8070
8071 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
8072
8073 2005-11-10 Diego Novillo <dnovillo@redhat.com>
8074
8075 * testsuite/libgomp.c: Rename from libgomp.dg.
8076
8077 2005-11-09 Diego Novillo <dnovillo@redhat.com>
8078
8079 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
8080 threadprivate variable 'i'.
8081
8082 2005-11-09 Jakub Jelinek <jakub@redhat.com>
8083
8084 * config/linux/s390/futex.h: New file.
8085 * configure.tgt: Use it.
8086
8087 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
8088 before the parallel.
8089
8090 2005-11-08 Jakub Jelinek <jakub@redhat.com>
8091
8092 PR c++/24734
8093 * testsuite/libgomp.c++/master-1.C: New test.
8094
8095 2005-11-07 Jakub Jelinek <jakub@redhat.com>
8096
8097 * testsuite/libgomp.dg/copyin-3.c: New test.
8098
8099 2005-11-07 Jakub Jelinek <jakub@redhat.com>
8100
8101 * testsuite/libgomp.fortran/retval1.f90: New test.
8102 * testsuite/libgomp.fortran/vla7.f90: New test.
8103
8104 2005-11-06 Jakub Jelinek <jakub@redhat.com>
8105
8106 * testsuite/libgomp.fortran/vla2.f90: New test.
8107 * testsuite/libgomp.fortran/vla3.f90: New test.
8108 * testsuite/libgomp.fortran/vla4.f90: New test.
8109 * testsuite/libgomp.fortran/vla5.f90: New test.
8110 * testsuite/libgomp.fortran/vla6.f90: New test.
8111
8112 2005-11-01 Jakub Jelinek <jakub@redhat.com>
8113
8114 * config/linux/sparc/futex.h: New file.
8115 * configure.tgt: Use it.
8116 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
8117
8118 * critical.c: Include stdlib.h.
8119 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
8120 ignoring return value.
8121 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
8122 LIBGOMP_CHECK_SYNC_BUILTINS check.
8123 * configure: Rebuilt.
8124
8125 2005-10-31 Jakub Jelinek <jakub@redhat.com>
8126
8127 * testsuite/libgomp.fortran/vla1.f90: New test.
8128
8129 2005-10-31 Richard Henderson <rth@redhat.com>
8130
8131 * testsuite/libgomp.fortran/character2.f90: Fix race condition
8132 setting 's' in different threads.
8133
8134 2005-10-31 Jakub Jelinek <jakub@redhat.com>
8135
8136 * libgomp.h (attribute_hidden, ialias): Define.
8137 * config/posix/proc.c (omp_get_num_procs): Add ialias.
8138 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
8139 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
8140 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
8141 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
8142 omp_test_lock, omp_test_nest_lock): Likewise.
8143 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
8144 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
8145 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
8146 omp_test_lock, omp_test_nest_lock): Likewise.
8147 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
8148 omp_get_dynamic, omp_get_nested): Likewise.
8149 * parallel.c (omp_get_num_threads, omp_get_max_threads,
8150 omp_get_thread_num, omp_in_parallel): Likewise.
8151 * fortran.c (ialias_redirect): Define.
8152 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
8153 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
8154 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
8155 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
8156 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
8157 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
8158 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
8159 omp_get_wtime): Add ialias_redirect.
8160
8161 2005-10-30 Jakub Jelinek <jakub@redhat.com>
8162
8163 * fortran.c: Include stdlib.h.
8164
8165 2005-10-29 Jakub Jelinek <jakub@redhat.com>
8166
8167 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
8168 * Makefile.in: Regenerated.
8169
8170 2005-10-28 Jakub Jelinek <jakub@redhat.com>
8171
8172 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
8173 * libgomp_f.h.in (omp_check_defines): New function.
8174 * env.c: Include libgomp_f.h.
8175 (initialize_env): Call omp_check_defines.
8176
8177 * testsuite/libgomp.dg/copyin-2.c: New test.
8178 * testsuite/libgomp.c++/copyin-2.C: New test.
8179 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
8180
8181 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
8182 * testsuite/libgomp.fortran/sharing2.f90: New test.
8183
8184 * testsuite/libgomp.dg/copyin-1.c: New test.
8185 * testsuite/libgomp.c++/copyin-1.C: New test.
8186
8187 2005-10-26 Jakub Jelinek <jakub@redhat.com>
8188
8189 * testsuite/libgomp.fortran/crayptr1.f90: New test.
8190
8191 * testsuite/libgomp.fortran/workshare1.f90: New test.
8192
8193 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
8194 only test.
8195 * libgomp.fortran/sharing1.f90: New test.
8196
8197 2005-10-24 Jakub Jelinek <jakub@redhat.com>
8198
8199 PR c++/24502
8200 * testsuite/libgomp.c++/loop-7.C: New test.
8201
8202 * testsuite/libgomp.dg/nestedfn-2.c: New test.
8203
8204 * testsuite/libgomp.dg/nestedfn-1.c: New test.
8205 * testsuite/libgomp.fortran/reduction6.f90: New test.
8206 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
8207
8208 2005-10-23 Richard Henderson <rth@redhat.com>
8209
8210 * testsuite/libgomp.c++/ctor-1.C: New.
8211 * testsuite/libgomp.c++/ctor-2.C: New.
8212 * testsuite/libgomp.c++/ctor-3.C: New.
8213 * testsuite/libgomp.c++/ctor-4.C: New.
8214 * testsuite/libgomp.c++/ctor-5.C: New.
8215 * testsuite/libgomp.c++/ctor-6.C: New.
8216 * testsuite/libgomp.c++/ctor-7.C: New.
8217 * testsuite/libgomp.c++/ctor-8.C: New.
8218 * testsuite/libgomp.c++/ctor-9.C: New.
8219
8220 2005-10-21 Diego Novillo <dnovillo@redhat.com>
8221
8222 PR 24455
8223 * testsuite/libgomp.c++/pr24455-1.C: New test.
8224 * testsuite/libgomp.c++/pr24455.C: New test.
8225 * testsuite/libgomp.dg/pr24455-1.c: New test.
8226 * testsuite/libgomp.dg/pr24455.c: New test.
8227
8228 2005-10-20 Richard Henderson <rth@redhat.com>
8229
8230 * testsuite/libgomp.c++/loop-6.C: New.
8231 * testsuite/libgomp.dg/loop-3.c: New.
8232
8233 2005-10-20 Jakub Jelinek <jakub@redhat.com>
8234
8235 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
8236 explicitly private.
8237 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
8238 explicitly shared.
8239
8240 2005-10-19 Diego Novillo <dnovillo@redhat.com>
8241
8242 * testsuite/libgomp.fortran/jacobi.f: New test.
8243
8244 2005-10-19 Richard Henderson <rth@redhat.com>
8245
8246 * configure.tgt (i?86-linux): Default to with_arch instead of
8247 CFLAGS. Add -mtune to match target_cpu.
8248 (x86_64-linux): Tune to i686.
8249
8250 * fortran.c (omp_test_nest_lock_): Fix typo.
8251
8252 2005-10-19 Jakub Jelinek <jakub@redhat.com>
8253
8254 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
8255 gomp_ordered_sync): Do nothing if team->nthreads == 1.
8256 * testsuite/libgomp.dg/ordered-3.c: New test.
8257
8258 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
8259 Remove volatile keyword.
8260
8261 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
8262 in COMMON block to avoid warnings on 64-bit targets.
8263
8264 2005-10-18 Diego Novillo <dnovillo@redhat.com>
8265
8266 * testsuite/libgomp.dg/shared-3.c: New test.
8267
8268 2005-10-18 Jakub Jelinek <jakub@redhat.com>
8269
8270 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
8271 * testsuite/libgomp.fortran/reduction5.f90: New test.
8272
8273 2005-10-18 Jakub Jelinek <jakub@redhat.com>
8274
8275 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
8276 dg-options.
8277 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
8278 flush loop now that __sync_synchronize has proper memory barrier.
8279 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
8280 Add -ffixed-form to dg-options.
8281
8282 2005-10-17 Diego Novillo <dnovillo@redhat.com>
8283
8284 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
8285 from subdirectories.
8286 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
8287 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
8288 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
8289 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
8290 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
8291 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
8292 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
8293 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
8294 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
8295 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
8296 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
8297 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
8298 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
8299 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
8300 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
8301 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
8302 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
8303 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
8304 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
8305 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
8306 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
8307 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
8308 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
8309 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
8310 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
8311
8312 2005-10-17 Jakub Jelinek <jakub@redhat.com>
8313
8314 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
8315 lang_library_path exists. Use find instead of glob to gather tests.
8316 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
8317
8318 2005-10-17 Diego Novillo <dnovillo@redhat.com>
8319
8320 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
8321 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
8322 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
8323 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
8324 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
8325 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
8326 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
8327 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
8328 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
8329 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
8330 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
8331 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
8332 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
8333
8334 2005-10-15 Jakub Jelinek <jakub@redhat.com>
8335
8336 * testsuite/libgomp.dg/vla-1.c: New test.
8337
8338 * testsuite/libgomp.fortran/reference2.f90: New test.
8339
8340 * testsuite/libgomp.fortran/character2.f90: Remove explicit
8341 declaration of omp_get_thread_num.
8342 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
8343 use omp_lib.
8344
8345 * testsuite/libgomp.fortran/reduction1.f90: New test.
8346 * testsuite/libgomp.fortran/reduction2.f90: New test.
8347 * testsuite/libgomp.fortran/reduction3.f90: New test.
8348 * testsuite/libgomp.fortran/reduction4.f90: New test.
8349
8350 2005-10-13 Richard Henderson <rth@redhat.com>
8351
8352 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
8353 * Makefile.in: Regenerate.
8354 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
8355 * libgomp.h: Include bar.h.
8356 (struct gomp_barrier): Remove.
8357 (struct gomp_team): Add barrier. Replace master_barrier with
8358 master_release. Replace threads with ordered_release.
8359 (struct gomp_thread): Replace barrier with release.
8360 * ordered.c (gomp_ordered_first): Update for ordered_release change.
8361 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
8362 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
8363 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
8364 (GOMP_single_copy_end): Likewise.
8365 * team.c (gomp_threads_dock): New.
8366 (gomp_barrier_init, gomp_barrier_destroy): Remove.
8367 (gomp_thread_start): Use gomp_barrier_wait.
8368 (new_team, free_team): Update for gomp_team changes.
8369 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
8370 (gomp_team_end): Use gomp_barrier_wait.
8371 (initialize_team): Update for gomp_thread changes.
8372 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
8373 (gomp_work_share_end_nowait): Use atomic ops when available.
8374 * config/linux/bar.c, config/linux/bar.h: New files.
8375 * config/posix/bar.c, config/posix/bar.h: New files.
8376
8377 2005-10-13 Jakub Jelinek <jakub@redhat.com>
8378
8379 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
8380 * testsuite/libgomp.dg/single-2.c: New test.
8381
8382 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
8383 lang_link_flags): Unset, so that they aren't inherited from previously
8384 sourced *.exp.
8385
8386 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
8387
8388 2005-10-12 Richard Henderson <rth@redhat.com>
8389
8390 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
8391 (libgomp_init): Use lang_test_file, lang_library_path, and
8392 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
8393
8394 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
8395 (lang_test_file, lang_link_flags): New.
8396 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
8397
8398 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
8399 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
8400 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
8401 testsuite/libgomp.c++/parallel-1.C,
8402 testsuite/libgomp.c++/reduction-1.C,
8403 testsuite/libgomp.c++/reduction-2.C,
8404 testsuite/libgomp.c++/reduction-3.C,
8405 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
8406 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
8407 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
8408 New files, largely cribbed from the C testsuite.
8409
8410 2005-10-12 Jakub Jelinek <jakub@redhat.com>
8411
8412 * testsuite/libgomp.fortran/character1.f90: New test.
8413 * testsuite/libgomp.fortran/character2.f90: New test.
8414
8415 * testsuite/libgomp.dg/nested-1.c: New test.
8416 * testsuite/libgomp.dg/nested-2.c: New test.
8417 * testsuite/libgomp.fortran/do1.f90: New test.
8418 * testsuite/libgomp.fortran/do2.f90: New test.
8419
8420 * testsuite/libgomp.fortran/reference1.f90: New test.
8421
8422 2005-10-11 Jakub Jelinek <jakub@redhat.com>
8423
8424 * testsuite/libgomp.dg/reduction-1.c: New test.
8425 * testsuite/libgomp.dg/reduction-2.c: New test.
8426 * testsuite/libgomp.dg/reduction-3.c: New test.
8427
8428 2005-10-10 Jakub Jelinek <jakub@redhat.com>
8429
8430 * testsuite/libgomp.dg/atomic-1.c: New test.
8431 * testsuite/libgomp.dg/atomic-2.c: New test.
8432
8433 2005-10-09 Richard Henderson <rth@redhat.com>
8434
8435 * critical.c (atomic_lock): New.
8436 (initialize_critical): Initialize it.
8437 (GOMP_atomic_start, GOMP_atomic_end): New.
8438 * libgomp.map: Export them.
8439 * libgomp_g.h: Declare them.
8440
8441 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
8442
8443 2005-10-02 Richard Henderson <rth@redhat.com>
8444
8445 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
8446 to XCFLAGS instead of CFLAGS.
8447
8448 2005-09-30 Richard Henderson <rth@redhat.com>
8449
8450 * configure.ac: Determine whether -pthread or -lpthread is needed.
8451 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
8452 * Makefine.in, configure: Rebuild.
8453
8454 2005-09-28 Richard Henderson <rth@redhat.com>
8455
8456 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
8457 * testsuite/libgomp.dg/omp-single-3.c: New test.
8458
8459 2005-09-28 Diego Novillo <dnovillo@redhat.com>
8460
8461 * testsuite/libgomp.dg/omp-single-2.c: New test.
8462 * testsuite/libgomp.dg/shared-2.c: Fix return code.
8463
8464 2005-09-27 Richard Henderson <rth@redhat.com>
8465
8466 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
8467 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
8468
8469 2005-09-27 Jakub Jelinek <jakub@redhat.com>
8470
8471 * testsuite/libgomp.dg/omp-loop03.c: New test.
8472
8473 2005-09-27 Diego Novillo <dnovillo@redhat.com>
8474
8475 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
8476
8477 2005-09-27 Diego Novillo <dnovillo@redhat.com>
8478
8479 * testsuite/libgomp.dg/omp-single-1.c: New test.
8480 * testsuite/libgomp.dg/shared-1.c: Return 0.
8481 Add prototype for abort.
8482 * testsuite/libgomp.dg/shared-2.c: Likewise.
8483
8484 2005-09-26 Jakub Jelinek <jakub@redhat.com>
8485
8486 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
8487 constructs.
8488
8489 2005-09-26 Diego Novillo <dnovillo@redhat.com>
8490
8491 * testsuite/libgomp.dg/shared-1.c: New test.
8492 * testsuite/libgomp.dg/shared-2.c: New test.
8493
8494 2005-09-24 Richard Henderson <rth@redhat.com>
8495
8496 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
8497
8498 2005-09-24 Richard Henderson <rth@redhat.com>
8499
8500 * iter.c (gomp_iter_static_next): Round up when computing number
8501 of iterations. Don't bother distributing a remainder equally.
8502
8503 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
8504 Don't call srand. Zero b before testing.
8505 (main): New.
8506
8507 2005-09-24 Jakub Jelinek <jakub@redhat.com>
8508
8509 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
8510 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
8511
8512 2005-09-23 Jakub Jelinek <jakub@redhat.com>
8513
8514 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
8515 without !$omp end do, followed immediately by subroutine end.
8516
8517 2005-09-23 Diego Novillo <dnovillo@redhat.com>
8518
8519 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
8520
8521 2005-09-22 Richard Henderson <rth@redhat.com>
8522
8523 * critical.c (GOMP_critical_name_start): Change argument to void**.
8524 Reuse the pointer space if the mutex fits.
8525 (GOMP_critical_name_end): Likewise.
8526 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
8527 * libgomp_g.h (GOMP_critical_name_start): Update decl.
8528 (GOMP_critical_name_end): Likewise.
8529 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
8530 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
8531
8532 2005-09-20 Richard Henderson <rth@redhat.com>
8533
8534 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
8535 (create_lock_lock): New.
8536 (initialize_critical): Initialize it.
8537 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
8538 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
8539
8540 2005-09-20 Diego Novillo <dnovillo@redhat.com>
8541
8542 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
8543
8544 2005-09-20 Diego Novillo <dnovillo@redhat.com>
8545
8546 * testsuite/libgomp.dg/omp-loop01.c: New test.
8547 * testsuite/libgomp.dg/omp-loop02.c: New test.
8548
8549 2005-09-20 Jakub Jelinek <jakub@redhat.com>
8550
8551 * configure.ac (AC_PROG_FC): Add.
8552 (USE_FORTRAN): New automake conditional.
8553 * configure: Rebuilt.
8554 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
8555 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
8556 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
8557 Add rules to build them.
8558 * Makefile.in: Rebuilt.
8559 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
8560 OMP_NEST_LOCK_KIND.
8561 * libgomp.map: Add Fortran wrappers.
8562 * libgomp_f.h.in: New file.
8563 * omp_lib.h.in: New file.
8564 * omp_lib.f90.in: New file.
8565 * fortran.c: New file.
8566 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
8567 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
8568 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
8569 libgfortran has been built.
8570 * testsuite/libgomp.fortran/fortran.exp: New file.
8571 * testsuite/libgomp.fortran/omp_cond1.f: New test.
8572 * testsuite/libgomp.fortran/omp_cond2.f: New test.
8573 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
8574 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
8575 * testsuite/libgomp.fortran/omp_hello.f: New test.
8576 * testsuite/libgomp.fortran/omp_orphan.f: New test.
8577 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
8578 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
8579 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
8580 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
8581 * testsuite/libgomp.fortran/omp_reduction.f: New test.
8582 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
8583 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
8584
8585 2005-08-30 Richard Henderson <rth@redhat.com>
8586
8587 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
8588 function for when aliases are not usable.
8589 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
8590 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
8591 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
8592 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
8593 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
8594 GOMP_loop_ordered_guided_next): Likewise.
8595 * ordered.c (GOMP_ordered_start): Likewise.
8596
8597 2005-08-01 Diego Novillo <dnovillo@redhat.com>
8598
8599 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
8600 * testsuite/libgomp.dg/omp_hello.c: Fix return code
8601 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
8602 * testsuite/libgomp.dg/omp_orphan.c: Likewise
8603 * testsuite/libgomp.dg/omp_reduction.c: Likewise
8604 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
8605 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
8606 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
8607 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
8608
8609 2005-07-07 Eric Christopher <echristo@redhat.com>
8610 Diego Novillo <dnovillo@redhat.com>
8611
8612 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
8613 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
8614 up code.
8615 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
8616 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
8617 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
8618 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
8619 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
8620 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
8621 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
8622
8623 2005-06-13 Diego Novillo <dnovillo@redhat.com>
8624
8625 * TOPLEVEL.patch: Remove.
8626
8627 2005-05-16 Richard Henderson <rth@redhat.com>
8628
8629 * configure.ac: Test for clock_gettime.
8630 * config.h.in, configure: Rebuild.
8631 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
8632 (omp_get_wtime): Use clock_gettime if available.
8633 (omp_get_wtick): Use clock_getres if available.
8634
8635 2005-05-11 Richard Henderson <rth@redhat.com>
8636
8637 * config/linux/ia64/futex.h: New file.
8638 * configure.tgt: Use it.
8639
8640 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
8641
8642 2005-05-07 Richard Henderson <rth@redhat.com>
8643
8644 * config/linux/powerpc/futex.h: New file.
8645 * configure.tgt: Use it.
8646
8647 * config/linux/i486/futex.h: Merge ...
8648 * config/linux/x86_64/futex.h: ... into ...
8649 * config/linux/x86/futex.h: ... here.
8650 * configure.tgt: Update to match.
8651
8652 2005-05-06 Richard Henderson <rth@redhat.com>
8653
8654 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
8655 * config/linux/i486/futex.h: Likewise.
8656 * config/linux/x86_64/futex.h: Likewise.
8657
8658 * config/linux/lock.c: New file.
8659 * config/linux/omp-lock.h: New file.
8660
8661 * critical.c, env.h: Don't include omp.h
8662 * config/posix/lock.c: Include libgomp.h instead of omp.h.
8663 * config/posix/time.c: Likewise.
8664 * config/posix/omp-lock.h: New file.
8665 * libgomp.h: Include omp-lock.h and omp.h.
8666 * Makefile.am (nodist_include_HEADERS): New.
8667 (omp.h): New rule.
8668 * configure.ac (PERL): New.
8669 * mkomp_h.pl: New file.
8670 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
8671 with templates.
8672 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
8673
8674 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
8675 build directory. Re-add -march=i486 hack.
8676
8677 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
8678 (libgomp_link_flags): Remove.
8679 (libgomp_initialized): Remove.
8680 (libgomp_init): Don't protect from reinitialization. Copy code
8681 from libstdc++ for getting the multilib set correctly.
8682
8683 2005-05-05 Richard Henderson <rth@redhat.com>
8684
8685 * config/linux/alpha/futex.h: New file.
8686 * configure.tgt (alpha*-*-linux*): Use it.
8687
8688 * config/posix/mutex.c: New file.
8689 * config/posix/sem.c: Use libgomp.h.
8690
8691 * configure.tgt (x86_64-linux): Also test CC for -m32.
8692 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
8693
8694 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
8695 after $gccpath.
8696
8697 * Makefile.am (SUBDIRS): New.
8698 (libgomp_la_LDFLAGS): Add -lpthread.
8699 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
8700 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
8701
8702 * libgomp_g.h: New file.
8703 * libgomp.h: Split out all public declarations to libgomp_g.h.
8704 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
8705 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
8706 * config/linux/sem.h: Likewise.
8707 * config/posix/sem.h: Likewise.
8708
8709 * Makefile.am (AM_LDFLAGS): New.
8710 (libgomp_version_script): Split out from ...
8711 (libgomp_la_LDFLAGS): ... here.
8712 (libgomp_version_info): New.
8713 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
8714 (LIBGOMP_ENABLE): New.
8715 (LIBGOMP_CHECK_LINKER_FEATURES): New.
8716 (LIBGOMP_ENABLE_SYMVERS): New.
8717 * configure.ac (AC_INIT): Version 1.0.
8718 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
8719 (enable-linux-futex): Likewise. Rename from enable-futex.
8720 (libtool_VERSION): New.
8721 (LIBGOMP_ENABLE_SYMVERS): Use it.
8722 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
8723 * Makefile.in, aclocal.m4, configure: Rebuild.
8724
8725 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
8726 (gomp_mutex_unlock_slow): Fix typo.
8727 * config/linux/sem.c: Similarly.
8728 (gomp_sem_post_slow): Fix typo.
8729 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
8730 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
8731 [__PIC__] (sys_futex0): Don't use tmp output in asm.
8732
8733 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
8734 (libgomp_la_LDFLAGS): Add top_srcdir to path.
8735 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
8736 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
8737 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
8738 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
8739 LDFLAGS. Pull enable_futex check to top-level.
8740 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
8741 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
8742
8743 First attempt at real configury.
8744 * Makefile, config.h: Remove file.
8745 * Makefile.am, Makefile.in: New file.
8746 * acinclude.m4 aclocal.m4: New file.
8747 * configure.ac, configure.tgt, configure: New file.
8748
8749 * config/posix/lock.c: Rename from sys-lock.c.
8750 * config/posix/mutex.h: Rename from sys-mutex.h.
8751 * config/posix/sem.c: Rename from sys-sem.c.
8752 * config/posix/sem.h: Rename from sys-sem.h.
8753 * config/posix/proc.c: Rename from sys-proc.c.
8754 * config/posix/time.c: Rename from sys-proc.c.
8755
8756 * config/linux/mutex.c: New file.
8757 * config/linux/mutex.h: New file.
8758 * config/linux/sem.c: New file.
8759 * config/linux/sem.h: New file.
8760 * config/linux/i486/futex.h: New file.
8761 * config/linux/x86_64/futex.h: New file.
8762
8763 2005-05-04 Richard Henderson <rth@redhat.com>
8764
8765 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
8766 * libgomp.h: Declare them.
8767 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
8768 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
8769
8770 2005-05-04 Richard Henderson <rth@redhat.com>
8771
8772 * libgomp-1 code drop
8773
8774 2005-05-04 Richard Henderson <rth@redhat.com>
8775
8776 * iter.c (gomp_iter_static_next): Return tri-state on 0.
8777 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
8778 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
8779 (gomp_iter_static_next): Update.
8780 (gomp_ordered_static_next): Update.
8781 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
8782 (gomp_loop_ordered_static_start): Likewise. Exit early for a
8783 totally empty range.
8784 (gomp_loop_ordered_static_next): Refine test for calling
8785 gomp_ordered_static_next.
8786 * testsuite/ordered-1.c: Add case for more threads than iterations.
8787
8788 * iter.c (gomp_iter_runtime_next_locked): Remove.
8789 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
8790 gomp_loop_guided_start, gomp_loop_ordered_static_start,
8791 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
8792 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
8793 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
8794 gomp_loop_ordered_guided_next): Downcase name, make static, add
8795 an external alias with the old name.
8796 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
8797 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
8798 switch and call one of the above static functions.
8799 * libgomp.h: Update.
8800
8801 * work.c (gomp_work_share_start): Lock the mutex for !first too.
8802 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
8803 GOMP_loop_guided_start, GOMP_loop_runtime_start,
8804 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
8805 GOMP_loop_ordered_guided_start): Update to match.
8806 * sections.c (GOMP_sections_start): Likewise.
8807 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
8808
8809 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
8810 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
8811 Use bounds check instead of modulus.
8812 (gomp_ordered_sync): Split out of GOMP_ordered_start.
8813 (gomp_ordered_last): Don't sync with ordered_owner here.
8814 (gomp_ordered_next): Likewise.
8815 (gomp_ordered_static_loop_next): Likewise.
8816 * loop.c, libgomp.h: Update to match.
8817
8818 * libgomp.h (GOMP_barrier): Declare.
8819
8820 * testsuite/barrier-1.c: New file.
8821 * testsuite/critical-1.c: New file.
8822 * testsuite/ordered-2.c: New file.
8823 * testsuite/ordered-1.c: New file.
8824 * testsuite/sections-1.c: New file.
8825 * testsuite/single-1.c: New file.
8826 * testsuite/Makefile (TESTS): Add them.
8827
8828 2005-05-04 Richard Henderson <rth@redhat.com>
8829
8830 * libgomp.h (struct gomp_work_share): Add ordered_owner.
8831 * loop.c (GOMP_loop_static_start): If not the startup thread,
8832 acquire the mutex to wait for initialization complete.
8833 (GOMP_loop_ordered_static_start): Likewise.
8834 (GOMP_loop_ordered_runtime_start): Likewise.
8835 (GOMP_loop_ordered_static_first): Remove.
8836 (GOMP_loop_ordered_dynamic_first): Remove.
8837 (GOMP_loop_ordered_guided_first): Remove.
8838 (GOMP_loop_ordered_runtime_first): Remove.
8839 * ordered.c (gomp_ordered_loop_first): Post to own release when
8840 we're the first thread.
8841 (gomp_ordered_loop_last): Wait on release if not owner.
8842 (gomp_ordered_loop_next): Likewise.
8843 (gomp_ordered_static_loop_init): New.
8844 (gomp_ordered_static_loop_next): Use ordered_owner.
8845 (GOMP_ordered_start): Likewise.
8846 * work.c (gomp_new_work_share): Initialize ordered_owner.
8847
8848 2005-05-03 Richard Henderson <rth@redhat.com>
8849
8850 * Makefile (OPT): New.
8851 (CFLAGS): Use it.
8852
8853 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
8854 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
8855 * libgomp.h, libgomp.map, NOTES: Update to match.
8856
8857 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
8858 Add initialized and thr members.
8859 (gomp_thread_start): Pause when initially spawned to wait for
8860 the whole team to be created.
8861 (gomp_team_start): Release team members at the end.
8862
8863 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
8864 (f_foo_1): Use GOMP_loop_end.
8865 (f_foo_2): Use GOMP_loop_end_nowait.
8866
8867 * testsuite/loop-2.c: New file.
8868 * testsuite/Makefile (TESTS): Add it.
8869
8870 2005-05-03 Richard Henderson <rth@redhat.com>
8871
8872 * iter.c (gomp_iter_static_next): Fix overflow check typo.
8873 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
8874 * team.c (new_team): Initialize oldest_live_gen to 1 if no
8875 initial work_share.
8876
8877 * testsuite/Makefile: New file.
8878 * testsuite/loop-1.c: New file.
8879
8880 2005-05-03 Richard Henderson <rth@redhat.com>
8881
8882 Initial implementation and checkin.
8883 \f
8884 Copyright (C) 2005-2017 Free Software Foundation, Inc.
8885
8886 Copying and distribution of this file, with or without modification,
8887 are permitted in any medium without royalty provided the copyright
8888 notice and this notice are preserved.