comparison libgomp/ChangeLog @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents f6334be47118
children 84e7813d76e9
comparison
equal deleted inserted replaced
68:561a7518be6b 111:04ced10e8804
1 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
2
3 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
4 run" directive.
5 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
6 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
7 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
8 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
9
10 2017-10-16 Tom de Vries <tom@codesourcery.com>
11
12 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
13 openacc_nvidia_accel_selected.
14 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
15 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
16 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
17 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
18 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
19 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
20 openacc_nvidia_accel_selected. Skip for shared memory device.
21 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
22 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
23
24 2017-10-09 Martin Jambor <mjambor@suse.cz>
25
26 PR hsa/82416
27 * testsuite/libgomp.hsa.c/pr82416.c: New test.
28
29 2017-10-07 Tom de Vries <tom@codesourcery.com>
30
31 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
32 Remove acc_device_nvidia references.
33 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
34 Same.
35
36 2017-10-05 Tom de Vries <tom@codesourcery.com>
37
38 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
39 vector_length(32) clause from acc parallel directive.
40 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
41
42 2017-10-04 Tom de Vries <tom@codesourcery.com>
43
44 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
45 (main): Reduce sum of arr elements. Assert that hres is exactly
46 representable in 32-bit floating point.
47 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
48 (main): Reduce sum of arr elements. Assert that hres and hmres are
49 exactly representable in 32-bit floating point.
50 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
51
52 2017-09-28 Tom de Vries <tom@codesourcery.com>
53
54 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
55 setting.
56 * testsuite/libgomp.c++/pr69393.C: Same.
57 * testsuite/libgomp.c++/taskloop-1.C: Same.
58 * testsuite/libgomp.c++/taskloop-3.C: Same.
59 * testsuite/libgomp.c++/taskloop-4.C: Same.
60 * testsuite/libgomp.c/for-4.c: Same.
61 * testsuite/libgomp.c/pr66199-3.c: Same.
62 * testsuite/libgomp.c/pr66199-4.c: Same.
63 * testsuite/libgomp.c/pr66199-6.c: Same.
64 * testsuite/libgomp.c/taskloop-1.c: Same.
65 * testsuite/libgomp.c/taskloop-3.c: Same.
66 * testsuite/libgomp.c/taskloop-4.c: Same.
67 * testsuite/libgomp.fortran/aligned1.f03: Same.
68 * testsuite/libgomp.fortran/condinc1.f: Same.
69 * testsuite/libgomp.fortran/condinc3.f90: Same.
70 * testsuite/libgomp.fortran/crayptr1.f90: Same.
71 * testsuite/libgomp.fortran/crayptr2.f90: Same.
72 * testsuite/libgomp.fortran/crayptr3.f90: Same.
73 * testsuite/libgomp.fortran/omp_cond1.f: Same.
74 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
75 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
76 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
77 * testsuite/libgomp.fortran/recursion1.f90: Same.
78 * testsuite/libgomp.fortran/target2.f90: Same.
79 * testsuite/libgomp.fortran/target5.f90: Same.
80 * testsuite/libgomp.fortran/task3.f90: Same.
81
82 2017-09-28 Tom de Vries <tom@codesourcery.com>
83
84 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
85 vector_length(32) clause from acc parallel directive.
86 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
87
88 2017-09-27 Tom de Vries <tom@codesourcery.com>
89
90 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
91 Remove acc_device_nvidia references.
92
93 2017-09-16 Tom de Vries <tom@codesourcery.com>
94
95 PR c/81875
96 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
97
98 2017-09-14 Tom de Vries <tom@codesourcery.com>
99
100 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
101 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
102 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
103 * testsuite/libgomp.c/c.exp: Include test-cases from
104 libgomp.c-c++-common.
105 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
106 files.
107
108 2017-09-14 Jakub Jelinek <jakub@redhat.com>
109
110 PR c++/81314
111 * testsuite/libgomp.c++/pr81314.C: New test.
112
113 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
114
115 * libgomp.texi (Top): www.openacc.org now uses https.
116 (Enabling OpenACC): Ditto.
117 (acc_get_num_devices): Ditto.
118 (acc_set_device_type): Ditto.
119 (acc_get_device_type): Ditto.
120 (acc_set_device_num): Ditto.
121 (acc_get_device_num): Ditto.
122 (acc_async_test): Ditto.
123 (acc_async_test_all): Ditto.
124 (acc_wait): Ditto.
125 (acc_wait_all): Ditto.
126 (acc_wait_all_async): Ditto.
127 (acc_wait_async): Ditto.
128 (acc_init): Ditto.
129 (acc_shutdown): Ditto.
130 (acc_on_device): Ditto.
131 (acc_malloc): Ditto.
132 (acc_free): Ditto.
133 (acc_copyin): Ditto.
134 (acc_present_or_copyin): Ditto.
135 (acc_create): Ditto.
136 (acc_present_or_create): Ditto.
137 (acc_copyout): Ditto.
138 (acc_delete): Ditto.
139 (acc_update_device): Ditto.
140 (acc_update_self): Ditto.
141 (acc_map_data): Ditto.
142 (acc_unmap_data): Ditto.
143 (acc_deviceptr): Ditto.
144 (acc_hostptr): Ditto.
145 (acc_is_present): Ditto.
146 (acc_memcpy_to_device): Ditto.
147 (acc_memcpy_from_device): Ditto.
148 (acc_get_current_cuda_device): Ditto.
149 (acc_get_current_cuda_context): Ditto.
150 (acc_get_cuda_stream): Ditto.
151 (acc_set_cuda_stream): Ditto.
152 (ACC_DEVICE_TYPE): Ditto.
153 (ACC_DEVICE_NUM): Ditto.
154 (OpenACC Library Interoperability): Ditto.
155
156 2017-08-09 Jakub Jelinek <jakub@redhat.com>
157
158 PR c/81687
159 * testsuite/libgomp.c/pr81687-1.c: New test.
160 * testsuite/libgomp.c/pr81687-2.c: New test.
161
162 2017-08-07 Jakub Jelinek <jakub@redhat.com>
163
164 PR c/69389
165 * testsuite/libgomp.c/pr69389.c: New test.
166 * testsuite/libgomp.c++/pr69389.C: New test.
167
168 2017-08-07 Tom de Vries <tom@codesourcery.com>
169
170 PR middle-end/78266
171 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
172 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
173
174 2017-07-27 Jakub Jelinek <jakub@redhat.com>
175
176 PR c/45784
177 * testsuite/libgomp.c/pr45784.c: New test.
178 * testsuite/libgomp.c++/pr45784.C: New test.
179
180 2017-07-19 Tom de Vries <tom@codesourcery.com>
181
182 * testsuite/libgomp.oacc-c/vec.c: New test.
183
184 2017-07-03 Tom de Vries <tom@codesourcery.com>
185
186 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
187
188 2017-06-27 Tom de Vries <tom@codesourcery.com>
189
190 * plugin/plugin-nvptx.c (notify_var): New function.
191 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
192
193 2017-06-27 Tom de Vries <tom@codesourcery.com>
194
195 * env.c (parse_unsigned_long_1): Factor out of ...
196 (parse_unsigned_long): ... here.
197 (parse_int_1): Factor out of ...
198 (parse_int): ... here.
199 (parse_int_secure): New function.
200 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
201 * secure_getenv.h: Factor out of ...
202 * plugin/plugin-hsa.c: ... here.
203 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
204
205 2017-06-21 Jakub Jelinek <jakub@redhat.com>
206
207 PR c++/81130
208 * testsuite/libgomp.c++/pr81130.C: New test.
209
210 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
211
212 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
213 default args.
214 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
215 dg-xfail-run-if default args.
216
217 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
218
219 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
220 * testsuite/libgomp.c/pr39591-3.c: Likewise.
221
222 2017-05-30 Jakub Jelinek <jakub@redhat.com>
223
224 PR libgomp/80822
225 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
226 (gomp_affinity_init_level): Use it. Always analyze the core and thread
227 sibling lists, depending on level just pick up what CPUs to put
228 together into a place vs. whether add multiple ordered places.
229
230 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
231
232 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
233 * libgomp.map (OACC_2.0.1): Add these.
234 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
235 for "acc_wait", and "acc_wait_all", respectively.
236 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
237 for "acc_wait", and "acc_wait_all", respectively.
238 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
239 * libgomp.texi (acc_wait, acc_wait_all): Update.
240 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
241 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
242 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
243
244 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
245 acc_present_or_copyin and acc_present_or_create procedures,
246 respectively.
247 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
248 generally different variants of OpenACC Runtime Library functions.
249 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
250
251 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
252 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
253
254 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
255 of preprocessor definitions.
256 * libgomp.h (strong_alias): Guard by "#ifdef
257 HAVE_ATTRIBUTE_ALIAS".
258 * oacc-mem.c: Provide "acc_pcreate" as alias for
259 "acc_present_or_create", and "acc_pcopyin" as alias for
260 "acc_present_or_copyin".
261 * libgomp.map: New version "OACC_2.0.1".
262 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
263 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
264 its content into...
265 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
266 Extend testing.
267
268 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
269 when disabling nvptx offloading.
270
271 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
272
273 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
274 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
275 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
276
277 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
278 * testsuite/lib/libgomp.exp
279 (check_effective_target_openacc_nvidia_accel_configured): New
280 proc.
281 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
282 (check_effective_target_c++): New procs.
283 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
284 (check_effective_target_c++): Likewise.
285
286 2017-05-22 Jakub Jelinek <jakub@redhat.com>
287
288 PR middle-end/80809
289 * testsuite/libgomp.c/pr80809-2.c: New test.
290 * testsuite/libgomp.c/pr80809-3.c: New test.
291
292 PR middle-end/80809
293 * testsuite/libgomp.c/pr80809-1.c: New test.
294
295 PR middle-end/80853
296 * testsuite/libgomp.c/pr80853.c: New test.
297
298 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
299
300 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
301 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
302 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
303 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
304 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
305
306 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
307 Debug output for failure.
308
309 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
310
311 * testsuite/lib/libgomp.exp: Load scanlang.exp.
312
313 2017-04-27 Jakub Jelinek <jakub@redhat.com>
314
315 PR bootstrap/80531
316 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
317 bootstrap compare failures.
318
319 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
320
321 * testsuite/libgomp.c/target-36.c: New testcase.
322
323 2017-04-13 Jakub Jelinek <jakub@redhat.com>
324
325 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
326 instead of char.
327
328 2017-04-11 Jakub Jelinek <jakub@redhat.com>
329
330 PR libgomp/80394
331 * testsuite/libgomp.c/pr80394.c: New test.
332
333 2017-04-04 Jakub Jelinek <jakub@redhat.com>
334
335 PR libgomp/79876
336 * config/posix/thread-stacksize.h: New file.
337 * config/darwin/thread-stacksize.h: New file.
338 * config/nvptx/thread-stacksize.h: New file.
339 * env.c: Include thread-stacksize.h.
340 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
341 instead of 0. Call pthread_attr_setstacksize even if
342 GOMP_DEFAULT_STACKSIZE is non-zero.
343
344 2017-03-30 Jakub Jelinek <jakub@redhat.com>
345
346 * env.c (initialize_env): Initialize stacksize to 0.
347
348 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
349
350 PR c++/80029
351 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
352
353 2017-03-08 Jakub Jelinek <jakub@redhat.com>
354
355 PR c/79940
356 * testsuite/libgomp.c/pr79940.c: New test.
357
358 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
359
360 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
361 targets.
362 Add __float128 options.
363
364 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
365
366 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
367 hppa*-*-* dg-skip-if directive.
368
369 2017-02-09 Jakub Jelinek <jakub@redhat.com>
370
371 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
372 dg-skip-if directive into a comment.
373
374 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
375 Chung-Lin Tang <cltang@codesourcery.com>
376
377 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
378 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
379 add additional case.
380 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
381 "openacc_nvidia_accel_selected".
382 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
383 Add num_workers(8) clause.
384
385 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
386
387 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
388 hppa*-*-*.
389 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
390 include complex.h on hppa*-*-hpux*.
391 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
392
393 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
394
395 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
396
397 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
398 GOMP_OFFLOAD_openacc_exec. Adjust all users.
399 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
400 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
401 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
402 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
403 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
404 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
405 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
406 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
407
408 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
409
410 * libgomp-plugin.h: #include <stdbool.h>.
411 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
412 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
413 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
414 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
415 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
416 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
417 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
418 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
419 (GOMP_OFFLOAD_openacc_register_async_cleanup)
420 (GOMP_OFFLOAD_openacc_async_test)
421 (GOMP_OFFLOAD_openacc_async_test_all)
422 (GOMP_OFFLOAD_openacc_async_wait)
423 (GOMP_OFFLOAD_openacc_async_wait_async)
424 (GOMP_OFFLOAD_openacc_async_wait_all)
425 (GOMP_OFFLOAD_openacc_async_wait_all_async)
426 (GOMP_OFFLOAD_openacc_async_set_async)
427 (GOMP_OFFLOAD_openacc_create_thread_data)
428 (GOMP_OFFLOAD_openacc_destroy_thread_data)
429 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
430 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
431 (GOMP_OFFLOAD_openacc_get_cuda_stream)
432 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
433 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
434 these.
435 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
436 (GOMP_OFFLOAD_unload_image): Fix argument types.
437
438 2017-01-26 Jakub Jelinek <jakub@redhat.com>
439
440 * testsuite/lib/libgomp.exp
441 (check_effective_target_hsa_offloading_selected_nocache): Fix up
442 check_compile invocation. Fix up removal of executable. Drop
443 bogus "2>&1" argument.
444
445 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
446 directive.
447
448 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
449 Martin Jambor <mjambor@suse.cz>
450
451 * plugin/hsa.h: Moved to top level include.
452 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
453
454 2017-01-21 Jakub Jelinek <jakub@redhat.com>
455
456 PR other/79046
457 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
458 of cat to get version from BASE-VER file.
459 * testsuite/Makefile.in: Regenerated.
460
461 2017-01-19 Jakub Jelinek <jakub@redhat.com>
462
463 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
464 for _WIN64.
465
466 2017-01-17 Jakub Jelinek <jakub@redhat.com>
467
468 * plugin/hsa.h: Add GCC runtime library exception.
469 * plugin/hsa_ext_finalize.h: Likewise.
470
471 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
472 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
473 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
474 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
475 plugin/include/cuda as include dir and -ldl instead of -lcuda as
476 library to link ptx plugin against.
477 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
478 (CUDA_CALLS): Define.
479 (cuda_lib, cuda_lib_inited): New variables.
480 (init_cuda_lib): New function.
481 (CUDA_CALL_PREFIX): Define.
482 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
483 (CUDA_CALL): Use FN instead of (FN).
484 (CUDA_CALL_NOCHECK): Define.
485 (cuda_error, fini_streams_for_device, select_stream_for_async,
486 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
487 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
488 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
489 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
490 CUDA_CALL_NOCHECK.
491 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
492 CUDA_CALL_NOCHECK.
493 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
494 Use CUDA_CALL_NOCHECK.
495 * plugin/cuda/cuda.h: New file.
496 * config.h.in: Regenerated.
497 * configure: Regenerated.
498
499 PR other/79046
500 * configure.ac: Add GCC_BASE_VER.
501 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
502 get version from BASE-VER file.
503 * testsuite/Makefile.in: Regenerated.
504 * configure: Regenerated.
505 * Makefile.in: Regenerated.
506
507 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
508
509 PR libgomp/60670
510 * Makefile.am: Make fincludedir multilib-aware.
511 * Makefile.in: Regenerate.
512
513 2017-01-01 Jakub Jelinek <jakub@redhat.com>
514
515 Update copyright years.
516
517 * libgomp.texi: Bump @copying's copyright year.
518
519 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
520
521 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
522 pthread_spinlock_t instead of gomp_mutex_t lock.
523 (gomp_get_thread_pool): Likewise.
524 (gomp_release_thread_pool): Likewise.
525 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
526 Likewise.
527
528 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
529
530 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
531 thread pool in case nthreads == 1.
532
533 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
534
535 * config/nvptx/env.c: Delete.
536 * icv.c: Move definitions of ICV variables back ...
537 * env.c: ...here. Do not compile environment-related functionality if
538 LIBGOMP_OFFLOADED_ONLY is set.
539
540 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
541
542 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
543 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
544 * configure: Regenerate.
545 * config.h.in: Likewise.
546
547 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
548
549 * Makefile.in: Regenerate with automake-1.11.6.
550 * aclocal.m4: Likewise.
551 * configure: Likewise.
552 * testsuite/Makefile.in: Likewise.
553
554 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
555
556 * config/nvptx/critical.c: Delete to use generic implementation.
557
558 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
559
560 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
561 ../../affinity.c as fallback.
562 * config/nvptx/affinity.c: Delete to use fallback implementation.
563
564 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
565 Jakub Jelinek <jakub@redhat.com>
566 Dmitry Melnik <dm@ispras.ru>
567
568 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
569 * Makefile.in. Regenerate.
570 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
571 (LIBGOMP_USE_PTHREADS): ...here; new define.
572 * configure: Regenerate.
573 * config.h.in: Likewise.
574 * config/posix/affinity.c: Move to...
575 * affinity.c: ...here (new file). Guard use of Pthreads-specific
576 interface by LIBGOMP_USE_PTHREADS.
577 * critical.c: Split out GOMP_atomic_{start,end} into...
578 * atomic.c: ...here (new file).
579 * env.c: Split out ICV definitions into...
580 * icv.c: ...here (new file) and...
581 * icv-device.c: ...here. New file.
582 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
583 (gomp_destroy_lock_30): Ditto.
584 (gomp_set_lock_30): Ditto.
585 (gomp_unset_lock_30): Ditto.
586 (gomp_test_lock_30): Ditto.
587 (gomp_init_nest_lock_30): Ditto.
588 (gomp_destroy_nest_lock_30): Ditto.
589 (gomp_set_nest_lock_30): Ditto.
590 (gomp_unset_nest_lock_30): Ditto.
591 (gomp_test_nest_lock_30): Ditto.
592 * lock.c: New.
593 * config/nvptx/lock.c: New.
594 * config/nvptx/bar.c: New.
595 * config/nvptx/bar.h: New.
596 * config/nvptx/doacross.h: New.
597 * config/nvptx/error.c: New.
598 * config/nvptx/icv-device.c: New.
599 * config/nvptx/mutex.h: New.
600 * config/nvptx/pool.h: New.
601 * config/nvptx/proc.c: New.
602 * config/nvptx/ptrlock.h: New.
603 * config/nvptx/sem.h: New.
604 * config/nvptx/simple-bar.h: New.
605 * config/nvptx/target.c: New.
606 * config/nvptx/task.c: New.
607 * config/nvptx/team.c: New.
608 * config/nvptx/time.c: New.
609 * config/posix/simple-bar.h: New.
610 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
611 (gomp_num_teams_var): Declare.
612 (struct gomp_thread_pool): Change threads_dock member to
613 gomp_simple_barrier_t.
614 [__nvptx__] (gomp_thread): New implementation.
615 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
616 (gomp_thread_destructor): Ditto.
617 (gomp_init_thread_affinity): Ditto.
618 * team.c: Guard uses of Pthreads-specific interfaces by
619 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
620 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
621 * config/nvptx/alloc.c: Delete.
622 * config/nvptx/barrier.c: Ditto.
623 * config/nvptx/fortran.c: Ditto.
624 * config/nvptx/iter.c: Ditto.
625 * config/nvptx/iter_ull.c: Ditto.
626 * config/nvptx/loop.c: Ditto.
627 * config/nvptx/loop_ull.c: Ditto.
628 * config/nvptx/ordered.c: Ditto.
629 * config/nvptx/parallel.c: Ditto.
630 * config/nvptx/priority_queue.c: Ditto.
631 * config/nvptx/sections.c: Ditto.
632 * config/nvptx/single.c: Ditto.
633 * config/nvptx/splay-tree.c: Ditto.
634 * config/nvptx/work.c: Ditto.
635 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
636 -foffload=-lgfortran in addition to -lgfortran.
637 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
638 * plugin/plugin-nvptx.c: Include <limits.h>.
639 (struct targ_fn_descriptor): Add new fields.
640 (struct ptx_device): Ditto. Set them...
641 (nvptx_open_device): ...here.
642 (nvptx_adjust_launch_bounds): New.
643 (nvptx_host2dev): Allow NULL 'nvthd'.
644 (nvptx_dev2host): Ditto.
645 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
646 (link_ptx): Adjust log sizes.
647 (nvptx_host2dev): Allow NULL 'nvthd'.
648 (nvptx_dev2host): Ditto.
649 (nvptx_set_clocktick): New. Use it...
650 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
651 fields.
652 (GOMP_OFFLOAD_dev2dev): New.
653 (nvptx_adjust_launch_bounds): New.
654 (nvptx_stacks_size): New.
655 (nvptx_stacks_alloc): New.
656 (nvptx_stacks_free): New.
657 (GOMP_OFFLOAD_run): New.
658 (GOMP_OFFLOAD_async_run): New (stub).
659
660 2016-11-23 Martin Jambor <mjambor@suse.cz>
661
662 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
663 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
664 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
665
666 2016-11-23 Martin Liska <mliska@suse.cz>
667 Martin Jambor <mjambor@suse.cz>
668
669 * plugin/hsa.h: New file.
670 * plugin/hsa_ext_finalize.h: New file.
671 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
672 header file unistd.h, and functions secure_getenv, __secure_getenv,
673 getuid, geteuid, getgid and getegid.
674 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
675 -D_GNU_SOURCE.
676 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
677 Handle various cases of secure_getenv presence, add an implementation
678 when we can test effective UID and GID.
679 (struct hsa_runtime_fn_info): New structure.
680 (hsa_runtime_fn_info hsa_fns): New variable.
681 (hsa_runtime_lib): Likewise.
682 (support_cpu_devices): Likewise.
683 (init_enviroment_variables): Load newly introduced ENV
684 variables.
685 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
686 (hsa_fatal): Likewise.
687 (DLSYM_FN): New macro.
688 (init_hsa_runtime_functions): New function.
689 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
690 structure. Depending on environment, also allow CPU devices.
691 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
692 (get_kernarg_memory_region): Likewise.
693 (GOMP_OFFLOAD_init_device): Likewise.
694 (destroy_hsa_program): Likewise.
695 (init_basic_kernel_info): New function.
696 (GOMP_OFFLOAD_load_image): Use it.
697 (create_and_finalize_hsa_program): Call hsa run-time functions via
698 hsa_fns structure.
699 (create_single_kernel_dispatch): Likewise.
700 (release_kernel_dispatch): Likewise.
701 (init_single_kernel): Likewise.
702 (parse_target_attributes): Allow up multiple HSA grid dimensions.
703 (get_group_size): New function.
704 (run_kernel): Likewise.
705 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
706 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
707 structure.
708 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
709 * testsuite/libgomp-test-support.exp.in: Likewise.
710 * Makefile.in: Regenerated.
711 * aclocal.m4: Likewise.
712 * config.h.in: Likewise.
713 * configure: Likewise.
714 * testsuite/Makefile.in: Likewise.
715
716 2016-11-15 Martin Jambor <mjambor@suse.cz>
717 Alexander Monakov <amonakov@ispras.ru>
718
719 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
720 mapping clauses to target constructs.
721 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
722
723 2016-11-15 Matthias Klose <doko@ubuntu.com>
724
725 * configure: Regenerate.
726
727 2016-11-10 Jakub Jelinek <jakub@redhat.com>
728
729 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
730 * omp_lib.h.in (openmp_version): Likewise.
731 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
732 of 201307.
733 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
734
735 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
736 (fib_wrapper): Add map(from: x) clause.
737 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
738 (e_53_2): Likewise.
739 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
740 (accum): Add map(tmp) clause.
741 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
742 (accum): Add map(tofrom: tmp) clause.
743 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
744 (gramSchmidt): Likewise.
745 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
746 map(tofrom: sum) clause.
747 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
748 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
749 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
750 only allowed on the loop iterator.
751 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
752 * testsuite/libgomp.fortran/taskloop2.f90: New test.
753 * testsuite/libgomp.fortran/taskloop4.f90: New test.
754 * testsuite/libgomp.fortran/doacross1.f90: New test.
755 * testsuite/libgomp.fortran/doacross3.f90: New test.
756 * testsuite/libgomp.fortran/taskloop1.f90: New test.
757 * testsuite/libgomp.fortran/taskloop3.f90: New test.
758 * testsuite/libgomp.fortran/doacross2.f90: New test.
759 * testsuite/libgomp.c/doacross-1.c (main): Add missing
760 #pragma omp atomic read.
761 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
762 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
763
764 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
765 Nathan Sidwell <nathan@acm.org>
766
767 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
768 to determine default geometry.
769 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
770 dimension.
771
772 2016-11-01 Jakub Jelinek <jakub@redhat.com>
773
774 * hashtab.h: Use standard GPLv3 with runtime exception
775 boilerplate.
776
777 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
778
779 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
780 size when allocating new thread.
781
782 2016-09-14 Marek Polacek <polacek@redhat.com>
783
784 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
785
786 2016-08-19 Jakub Jelinek <jakub@redhat.com>
787
788 PR fortran/71014
789 * testsuite/libgomp.fortran/pr71014.f90: New test.
790
791 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
792
793 PR middle-end/70895
794 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
795 firstprivate clauses.
796 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
797 copy clauses.
798 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
799 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
800 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
801 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
802 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
803 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
804 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
805 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
806 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
807 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
808 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
809 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
810
811 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
812
813 PR fortran/70598
814 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
815
816 2016-08-08 Jakub Jelinek <jakub@redhat.com>
817
818 PR c++/58706
819 * testsuite/libgomp.c++/pr58706.C: New test.
820
821 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
822
823 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
824 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
825 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
826 Likewise.
827 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
828 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
829 Likewise.
830 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
831
832 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
833 test, and don't hardcode -O0.
834
835 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
836
837 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
838
839 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
840
841 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
842 test.
843
844 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
845
846 PR middle-end/71734
847 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
848 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
849
850 2016-07-01 Jakub Jelinek <jakub@redhat.com>
851
852 PR fortran/71717
853 * testsuite/libgomp.fortran/associate3.f90: New test.
854
855 2016-06-17 Jakub Jelinek <jakub@redhat.com>
856
857 * testsuite/libgomp.c++/target-21.C: New test.
858
859 2016-06-16 Jakub Jelinek <jakub@redhat.com>
860
861 * testsuite/libgomp.c++/target-20.C: New test.
862
863 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
864 Cesar Philippidis <cesar@codesourcery.com>
865
866 PR middle-end/71373
867 * libgomp.oacc-c/nested-function-1.c: New file.
868 * libgomp.oacc-c/nested-function-2.c: Likewise.
869 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
870 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
871 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
872
873 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
874
875 PR c/71381
876 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
877 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
878 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
879
880 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
881
882 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
883 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
884
885 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
886
887 PR c/70688
888 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
889
890 2016-05-26 Jakub Jelinek <jakub@redhat.com>
891
892 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
893 instead of invalid schedule(static, 0).
894 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
895
896 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
897
898 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
899 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
900 parameter, use to set async stream around call to gomp_unmap_vars,
901 call gomp_unmap_vars() with 'do_copyfrom' set to true.
902 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
903 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
904 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
905 (event_add): Add int parameter, initialize 'val' field when
906 adding new ptx_event struct.
907 (nvptx_evec): Adjust event_add() call arguments.
908 (nvptx_host2dev): Likewise.
909 (nvptx_dev2host): Likewise.
910 (nvptx_wait_async): Likewise.
911 (nvptx_wait_all_async): Likewise.
912 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
913 pass to event_add() call.
914 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
915 parameter.
916 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
917 call openacc.register_async_cleanup_func() hook.
918 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
919 * target.c (gomp_copy_from_async): Delete function.
920 (gomp_map_vars): Remove async_refcount.
921 (gomp_unmap_vars): Likewise.
922 (gomp_load_image_to_device): Likewise.
923 (omp_target_associate_ptr): Likewise.
924 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
925 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
926 (gomp_copy_from_async): Remove.
927
928 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
929
930 * target.c (gomp_device_copy): New function.
931 (gomp_copy_host2dev): Likewise.
932 (gomp_copy_dev2host): Likewise.
933 (gomp_free_device_memory): Likewise.
934 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
935 (gomp_map_pointer): Likewise.
936 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
937 NULL value from alloc_func plugin hook.
938 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
939 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
940 (gomp_unmap_vars): Likewise.
941 (gomp_update): Adjust to call gomp_copy_dev2host and
942 gomp_copy_host2dev functions.
943 (gomp_unload_image_from_device): Handle false value from
944 unload_image_func plugin hook.
945 (gomp_init_device): Handle false value from init_device_func
946 plugin hook.
947 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
948 (omp_target_free): Adjust to call gomp_free_device_memory.
949 (omp_target_memcpy): Handle return values from host2dev_func,
950 dev2host_func, and dev2dev_func plugin hooks.
951 (omp_target_memcpy_rect_worker): Likewise.
952 (gomp_target_fini): Handle false value from fini_device_func
953 plugin hook.
954 * libgomp.h (struct gomp_device_descr): Adjust return type of
955 init_device_func, fini_device_func, unload_image_func, free_func,
956 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
957 * oacc-init.c (acc_shutdown_1): Handle false value from
958 fini_device_func plugin hook.
959 * oacc-host.c (host_init_device): Change return type to bool.
960 (host_fini_device): Likewise.
961 (host_unload_image): Likewise.
962 (host_free): Likewise.
963 (host_dev2host): Likewise.
964 (host_host2dev): Likewise.
965 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
966 (acc_memcpy_to_device): Likewise.
967 (acc_memcpy_from_device): Likewise.
968 (delete_copyout): Add libfnname parameter, handle free_func
969 hook fatal error case.
970 (acc_delete): Adjust delete_copyout call.
971 (acc_copyout): Likewise.
972 (update_dev_host): Move gomp_mutex_unlock to after
973 host2dev/dev2host hook calls.
974
975 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
976 to 'hsa_error_msg', for clarity.
977 (hsa_fatal): Likewise.
978 (hsa_error): New function.
979 (init_hsa_context): Change return type to bool, adjust to return
980 false on error.
981 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
982 return value.
983 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
984 return false on error.
985 (get_agent_info): Adjust to return NULL on error.
986 (destroy_hsa_program): Change return type to bool, adjust to
987 return false on error.
988 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
989 (destroy_module): Change return type to bool, adjust to
990 return false on error.
991 (GOMP_OFFLOAD_unload_image): Likewise.
992 (GOMP_OFFLOAD_fini_device): Likewise.
993 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
994 (GOMP_OFFLOAD_free): Change to return false when called.
995 (GOMP_OFFLOAD_dev2host): Likewise.
996 (GOMP_OFFLOAD_host2dev): Likewise.
997 (GOMP_OFFLOAD_dev2dev): Likewise.
998
999 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
1000 (CUDA_CALL): Likewise.
1001 (CUDA_CALL_ASSERT): Likewise.
1002 (map_init): Change return type to bool, use CUDA_CALL* macros.
1003 (map_fini): Likewise.
1004 (init_streams_for_device): Change return type to bool, adjust
1005 call to map_init.
1006 (fini_streams_for_device): Change return type to bool, adjust
1007 call to map_fini.
1008 (select_stream_for_async): Release stream_lock before calls to
1009 GOMP_PLUGIN_fatal, adjust call to map_init.
1010 (nvptx_init): Use CUDA_CALL* macros.
1011 (nvptx_attach_host_thread_to_device): Change return type to bool,
1012 use CUDA_CALL* macros.
1013 (nvptx_open_device): Use CUDA_CALL* macros.
1014 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
1015 macros.
1016 (nvptx_get_num_devices): Use CUDA_CALL* macros.
1017 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
1018 (nvptx_exec): Use CUDA_CALL* macros.
1019 (nvptx_alloc): Use CUDA_CALL* macros.
1020 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
1021 (nvptx_host2dev): Likewise.
1022 (nvptx_dev2host): Likewise.
1023 (nvptx_wait): Use CUDA_CALL* macros.
1024 (nvptx_wait_async): Likewise.
1025 (nvptx_wait_all): Likewise.
1026 (nvptx_wait_all_async): Likewise.
1027 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
1028 use CUDA_CALL* macros, adjust call to map_fini.
1029 (GOMP_OFFLOAD_init_device): Change return type to bool,
1030 adjust code accordingly.
1031 (GOMP_OFFLOAD_fini_device): Likewise.
1032 (GOMP_OFFLOAD_load_image): Adjust calls to
1033 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
1034 use CUDA_CALL* macros.
1035 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
1036 return code.
1037 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
1038 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
1039 handle error return.
1040 (GOMP_OFFLOAD_dev2host): Likewise.
1041 (GOMP_OFFLOAD_host2dev): Likewise.
1042 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
1043 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
1044
1045 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
1046
1047 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
1048 (acc_free): Likewise.
1049 (acc_memcpy_to_device): Likewise.
1050 (acc_memcpy_from_device): Likewise.
1051 (acc_deviceptr): Likewise.
1052 (acc_hostptr): Likewise.
1053 (acc_is_present): Likewise.
1054 (acc_map_data): Likewise.
1055 (acc_unmap_data): Likewise.
1056 (present_create_copy): Likewise.
1057 (delete_copyout): Likewise.
1058 (update_dev_host): Likewise.
1059 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
1060 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
1061 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
1062 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1063 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
1064 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
1065 it only runs on nvptx targets.
1066 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
1067 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
1068 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1069 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
1070 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
1071 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
1072 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
1073 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
1074 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
1075 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
1076 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1077 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
1078 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
1079 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
1080 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
1081 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
1082 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
1083 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
1084 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
1085 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
1086 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
1087 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
1088 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
1089
1090 2016-05-23 Martin Jambor <mjambor@suse.cz>
1091
1092 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
1093
1094 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
1095
1096 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
1097 to gomp_init_targets_once.
1098 (acc_set_device_type): Remove !cached_base_dev condition on call to
1099 gomp_init_targets_once, move call to before acc_device_lock acquire,
1100 to avoid deadlock.
1101 (acc_get_device_num): Remove !cached_base_dev condition on call to
1102 gomp_init_targets_once.
1103 (acc_set_device_num): Likewise.
1104
1105 2016-05-16 Martin Jambor <mjambor@suse.cz>
1106
1107 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
1108
1109 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
1110
1111 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
1112 expected partitioning.
1113
1114 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
1115
1116 PR middle-end/70626
1117 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
1118 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
1119 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
1120
1121 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
1122
1123 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
1124 non-fatal.
1125
1126 2016-04-19 Jakub Jelinek <jakub@redhat.com>
1127
1128 PR middle-end/70680
1129 * testsuite/libgomp.c/pr70680-1.c: New test.
1130 * testsuite/libgomp.c/pr70680-2.c: New test.
1131
1132 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
1133
1134 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
1135 pass parameter variables to subroutines.
1136
1137 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
1138
1139 PR middle-end/70643
1140 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
1141
1142 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
1143
1144 PR testsuite/68242
1145 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
1146 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1147
1148 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
1149
1150 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
1151 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
1152 GOACC_declare prototype.
1153
1154 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
1155 Merge this file, and...
1156 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
1157 ... this file, and...
1158 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
1159 ... this file, and...
1160 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
1161 ... this file, and...
1162 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
1163 ... this file, and...
1164 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
1165 ... this file, and...
1166 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
1167 ... this file, and...
1168 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
1169 ... this file, and...
1170 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
1171 ... this file, and...
1172 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
1173 ... this file, and...
1174 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
1175 ... this file, and...
1176 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
1177 ... this file, and...
1178 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
1179 ... this file into...
1180 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
1181 file.
1182
1183 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1184 Make failure observable.
1185
1186 2016-04-12 Jakub Jelinek <jakub@redhat.com>
1187
1188 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
1189 field.
1190 * target.c (gomp_target_fallback_firstprivate,
1191 gomp_target_unshare_firstprivate): Removed.
1192 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
1193 before waiting for dependencies.
1194 (gomp_target_task_fn): Don't copy firstprivate vars here.
1195 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
1196 firstprivate_copies here.
1197 (gomp_create_target_task): Don't initialize firstprivate_copies field.
1198 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
1199 explicit/implicit firstprivate.
1200
1201 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
1202
1203 PR lto/70289
1204 PR ipa/70348
1205 PR tree-optimization/70373
1206 PR middle-end/70533
1207 PR middle-end/70534
1208 PR middle-end/70535
1209 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
1210 test.
1211 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
1212 test.
1213 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
1214 test.
1215 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
1216 test.
1217 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
1218 test.
1219 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
1220 test.
1221 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
1222 test.
1223 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
1224 test.
1225 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
1226 test.
1227 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
1228 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
1229 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
1230 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
1231 test.
1232 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
1233 test.
1234 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
1235 test.
1236 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
1237 test.
1238 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
1239 coverage.
1240 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1241 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1242 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
1243 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
1244 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
1245 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
1246 coverage.
1247 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1248 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1249 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1250 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1251 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
1252 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
1253 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
1254 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
1255 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
1256 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
1257 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
1258 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
1259 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1260 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1261 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
1262
1263 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
1264 James Norris <jnorris@codesourcery.com>
1265 Nathan Sidwell <nathan@codesourcery.com>
1266 Julian Brown <julian@codesourcery.com>
1267 Cesar Philippidis <cesar@codesourcery.com>
1268 Chung-Lin Tang <cltang@codesourcery.com>
1269 Tom de Vries <tom@codesourcery.com>
1270
1271 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
1272 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
1273 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
1274 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
1275 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1276 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1277 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1278 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
1279 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
1280 XFAIL.
1281 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
1282 Incorporate...
1283 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
1284 file.
1285 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
1286 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
1287 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
1288 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
1289 Likewise.
1290 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1291 Likewise.
1292 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1293 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
1294 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
1295 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1296 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
1297 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
1298 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
1299 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
1300 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1301 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
1302 Likewise.
1303 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
1304 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1305 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
1306 file...
1307 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
1308 file into...
1309 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
1310 file. Update.
1311 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
1312 file.
1313 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
1314 Likewise.
1315 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
1316 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
1317 ... this new file. Update.
1318 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
1319 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
1320 ... this new file. Update.
1321 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
1322 file. Incorporate...
1323 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
1324 file, and...
1325 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
1326 file, and...
1327 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
1328 file.
1329 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
1330
1331 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
1332
1333 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
1334 set-torture-options.
1335
1336 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
1337
1338 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
1339 gcc-dg-runtest.
1340 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1341 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
1342 -fno-builtin-acc_on_device instead of -O0.
1343 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
1344 -O0.
1345 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
1346 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
1347 Likewise.
1348 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
1349 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
1350 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
1351 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1352 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1353 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1354 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1355 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1356 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1357 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1358 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1359 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1360 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
1361 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
1362 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
1363 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1364 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
1365 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
1366 Don't specify -O2.
1367 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
1368 Likewise.
1369 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
1370 Likewise.
1371
1372 2016-03-24 Martin Liska <mliska@suse.cz>
1373
1374 * plugin/plugin-hsa.c (packet_store_release): New function
1375 that is taken from the HSA runtime manual.
1376 (GOMP_OFFLOAD_run): Use the function.
1377
1378 2016-03-23 Jakub Jelinek <jakub@redhat.com>
1379
1380 PR c++/70376
1381 * testsuite/libgomp.c++/pr70376.C: New test.
1382
1383 2016-03-23 Tom de Vries <tom@codesourcery.com>
1384
1385 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
1386 initialization of lresult and lvresult.
1387 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
1388
1389 2016-03-23 James Norris <jnorris@codesourcery.com>
1390 Daichi Fukuoka <dc-fukuoka@sgi.com>
1391
1392 PR libgomp/69414
1393 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
1394 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
1395 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
1396 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
1397
1398 2016-03-23 Martin Liska <mliska@suse.cz>
1399
1400 PR hsa/70337
1401 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
1402 argument just in case a dispatched kernel uses that argument.
1403
1404 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
1405
1406 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
1407 -ftree-parallelize-loops/-fopenacc changes.
1408 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
1409 Likewise.
1410 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
1411 Likewise.
1412 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
1413 Likewise.
1414 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
1415 Likewise.
1416 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
1417 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
1418
1419 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
1420
1421 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
1422 always_ld_library_path the path to libgcc_s.
1423
1424 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
1425
1426 PR testsuite/70009
1427 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
1428
1429 2016-03-09 Tom de Vries <tom@codesourcery.com>
1430
1431 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
1432 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
1433 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
1434 Same.
1435 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
1436 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
1437 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
1438 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
1439
1440 2016-03-07 Martin Jambor <mjambor@suse.cz>
1441
1442 * testsuite/lib/libgomp.exp
1443 (check_effective_target_hsa_offloading_selected_nocache): New.
1444 (check_effective_target_hsa_offloading_selected): Likewise.
1445 * testsuite/libgomp.hsa.c/c.exp: Likewise.
1446 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
1447 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
1448 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
1449 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
1450 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
1451 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
1452 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
1453 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
1454 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
1455 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
1456 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
1457 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
1458 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
1459 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
1460 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
1461 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
1462
1463 2016-03-07 Martin Jambor <mjambor@suse.cz>
1464
1465 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
1466 non-shared memory accelerators.
1467 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
1468 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
1469 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
1470 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
1471 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
1472 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
1473 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
1474 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
1475 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
1476
1477 2016-03-07 Martin Jambor <mjambor@suse.cz>
1478
1479 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
1480 ALWAYS_CFLAGS.
1481
1482 2016-03-02 Jakub Jelinek <jakub@redhat.com>
1483
1484 PR libgomp/69555
1485 * testsuite/libgomp.c++/pr69555-1.C: New test.
1486 * testsuite/libgomp.c++/pr69555-2.C: New test.
1487
1488 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
1489 Martin Jambor <mjambor@suse.cz>
1490
1491 * testsuite/lib/libgomp.exp
1492 (check_effective_target_offload_device_shared_as): New proc.
1493 * testsuite/libgomp.c++/declare_target-1.C: New test.
1494
1495 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
1496
1497 PR driver/68463
1498 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
1499
1500 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
1501
1502 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
1503 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
1504 dims.
1505 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
1506 -ftree-parallelize-loops/-fopenacc changes.
1507 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
1508 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
1509 Likewise.
1510 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
1511 Likewise.
1512 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
1513 Likewise.
1514 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
1515 Likewise.
1516 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
1517 Likewise.
1518 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
1519 Likewise.
1520 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
1521 Likewise.
1522 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
1523 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
1524 Likewise.
1525 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
1526 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
1527 Likewise.
1528 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
1529 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
1530 Likewise.
1531
1532 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
1533
1534 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
1535
1536 2016-02-19 Jakub Jelinek <jakub@redhat.com>
1537
1538 PR driver/69805
1539 * testsuite/libgomp.c/pr69805.c: New test.
1540
1541 2016-02-16 Tom de Vries <tom@codesourcery.com>
1542
1543 PR lto/67709
1544 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
1545
1546 2016-02-09 Tom de Vries <tom@codesourcery.com>
1547
1548 PR tree-optimization/69599
1549 * testsuite/libgomp.c/omp-nested-3.c: New test.
1550 * testsuite/libgomp.c/pr46032-2.c: New test.
1551 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
1552 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
1553
1554 2016-02-09 Tom de Vries <tom@codesourcery.com>
1555
1556 PR lto/69707
1557 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
1558
1559 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
1560
1561 * testsuite/libgomp.c/target-31.c: Fix testcase.
1562
1563 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
1564
1565 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
1566 clause.
1567 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
1568 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
1569 reduction and map clauses.
1570 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
1571
1572 2016-02-02 James Norris <jnorris@codesourcery.com>
1573
1574 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
1575
1576 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
1577
1578 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
1579 * oacc-parallel.c (GOACC_host_data): Remove function definition.
1580
1581 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
1582 cases.
1583
1584 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
1585 variables.
1586 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
1587 (hsa_kmt_lib): Set variables.
1588 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
1589 always_ld_library_path.
1590 * Makefile.in: Regenerate.
1591 * configure: Likewise.
1592 * testsuite/Makefile.in: Likewise.
1593
1594 * plugin/configfrag.ac (offload_additional_options)
1595 (offload_additional_lib_paths): Don't amend for hsa offloading.
1596 * configure: Regenerate.
1597
1598 * plugin/configfrag.ac: Don't configure for offloading target if
1599 we don't build the corresponding plugin.
1600 * configure: Regenerate.
1601
1602 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
1603
1604 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
1605 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
1606
1607 2016-01-26 Tom de Vries <tom@codesourcery.com>
1608
1609 PR tree-optimization/69110
1610 * testsuite/libgomp.c/pr69110.c: New test.
1611
1612 2016-01-25 Richard Biener <rguenther@suse.de>
1613
1614 PR lto/69393
1615 * testsuite/libgomp.c++/pr69393.C: New testcase.
1616
1617 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
1618
1619 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
1620 function wasn't mapped to the device with non-shared memory.
1621
1622 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
1623
1624 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
1625
1626 2016-01-19 Martin Jambor <mjambor@suse.cz>
1627 Martin Liska <mliska@suse.cz>
1628
1629 * plugin/Makefrag.am: Add HSA plugin requirements.
1630 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
1631 (HSA_RUNTIME_LIB): Likewise.
1632 (HSA_RUNTIME_CPPFLAGS): Likewise.
1633 (HSA_RUNTIME_INCLUDE): New substitution.
1634 (HSA_RUNTIME_LIB): Likewise.
1635 (HSA_RUNTIME_LDFLAGS): Likewise.
1636 (hsa-runtime): New configure option.
1637 (hsa-runtime-include): Likewise.
1638 (hsa-runtime-lib): Likewise.
1639 (PLUGIN_HSA): New substitution variable.
1640 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
1641 configure options.
1642 (PLUGIN_HSA_CPPFLAGS): Likewise.
1643 (PLUGIN_HSA_LDFLAGS): Likewise.
1644 (PLUGIN_HSA_LIBS): Likewise.
1645 Check that we have access to HSA run-time.
1646 * libgomp-plugin.h (offload_target_type): New element
1647 OFFLOAD_TARGET_TYPE_HSA.
1648 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
1649 args.
1650 (bool gomp_create_target_task): Updated.
1651 (gomp_device_descr): Extra parameter of run_func and async_run_func,
1652 new field can_run_func.
1653 * libgomp_g.h (GOMP_target_ext): Update prototype.
1654 * oacc-host.c (host_run): Added a new parameter args.
1655 * target.c (calculate_firstprivate_requirements): New function.
1656 (copy_firstprivate_data): Likewise.
1657 (gomp_target_fallback_firstprivate): Use them.
1658 (gomp_target_unshare_firstprivate): New function.
1659 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
1660 devices.
1661 (GOMP_target): Do host fallback for all shared memory devices. Do not
1662 pass any args to plugins.
1663 (GOMP_target_ext): Introduce device-specific argument parameter args.
1664 Allow host fallback if device shares memory. Do not remap data if
1665 device has shared memory.
1666 (gomp_target_task_fn): Likewise. Also treat shared memory devices
1667 like host fallback for mappings.
1668 (GOMP_target_data): Treat shared memory devices like host fallback.
1669 (GOMP_target_data_ext): Likewise.
1670 (GOMP_target_update): Likewise.
1671 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
1672 gomp_create_target_task.
1673 (GOMP_target_enter_exit_data): Likewise.
1674 (omp_target_alloc): Treat shared memory devices like host fallback.
1675 (omp_target_free): Likewise.
1676 (omp_target_is_present): Likewise.
1677 (omp_target_memcpy): Likewise.
1678 (omp_target_memcpy_rect): Likewise.
1679 (omp_target_associate_ptr): Likewise.
1680 (gomp_load_plugin_for_device): Also load can_run.
1681 * task.c (GOMP_PLUGIN_target_task_completion): Free
1682 firstprivate_copies.
1683 (gomp_create_target_task): Accept new argument args and store it to
1684 ttask.
1685 * plugin/plugin-hsa.c: New file.
1686
1687 2016-01-18 Tom de Vries <tom@codesourcery.com>
1688
1689 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
1690 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
1691 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
1692 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
1693 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
1694 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
1695 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
1696 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
1697 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
1698 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
1699 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
1700 Same.
1701 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
1702 Same.
1703 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
1704 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
1705 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
1706 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
1707 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
1708 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
1709 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
1710 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
1711 Same.
1712 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
1713
1714 2016-01-15 Jakub Jelinek <jakub@redhat.com>
1715
1716 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
1717
1718 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
1719
1720 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
1721
1722 2016-01-12 James Norris <jnorris@codesourcery.com>
1723
1724 * libgomp.texi: Updates for OpenACC.
1725
1726 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
1727
1728 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
1729
1730 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
1731
1732 PR fortran/66680
1733 * testsuite/libgomp.fortran/pr66680.f90: New test.
1734
1735 2016-01-07 Jakub Jelinek <jakub@redhat.com>
1736
1737 PR middle-end/68960
1738 * testsuite/libgomp.c/pr68960.c: New test.
1739
1740 2016-01-06 Nathan Sidwell <nathan@acm.org>
1741
1742 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
1743 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
1744
1745 2016-01-04 Jakub Jelinek <jakub@redhat.com>
1746
1747 Update copyright years.
1748
1749 * libgomp.texi: Bump @copying's copyright year.
1750
1751 2015-12-31 Nathan Sidwell <nathan@acm.org>
1752
1753 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
1754 dg-additional-options syntax.
1755 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1756 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
1757 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
1758 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1759 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
1760 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
1761 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1762 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
1763 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1764 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
1765 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1766 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
1767 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1768 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1769 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1770 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
1771 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1772 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1773
1774 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1775
1776 * libgomp.h (REFCOUNT_LINK): Define.
1777 (struct splay_tree_key_s): Add link_key.
1778 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
1779 Replace target address of the pointer with target address of newly
1780 mapped object in the splay tree. Set link pointer on target to the
1781 device address of the mapped object.
1782 (gomp_unmap_vars): Restore target address of the pointer in the splay
1783 tree for REFCOUNT_LINK objects after unmapping.
1784 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
1785 declare target link" objects.
1786 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
1787 "omp declare target link" objects, which were mapped for the image.
1788 (gomp_exit_data): Restore target address of the pointer in the splay
1789 tree for REFCOUNT_LINK objects after unmapping.
1790 * testsuite/libgomp.c/target-link-1.c: New file.
1791
1792 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
1793
1794 * libgomp.h (gomp_device_state): New enum.
1795 (struct gomp_device_descr): Replace is_initialized with state.
1796 (gomp_fini_device): Remove declaration.
1797 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
1798 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
1799 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
1800 (acc_set_device_type): Use state instead of is_initialized.
1801 (acc_set_device_num): Likewise.
1802 * target.c (resolve_device): Use state instead of is_initialized.
1803 Do not initialize finalized device.
1804 (gomp_map_vars): Do nothing if device is finalized.
1805 (gomp_unmap_vars): Likewise.
1806 (gomp_update): Likewise.
1807 (GOMP_offload_register_ver): Use state instead of is_initialized.
1808 (GOMP_offload_unregister_ver): Likewise.
1809 (gomp_init_device): Likewise.
1810 (gomp_unload_device): Likewise.
1811 (gomp_fini_device): Remove.
1812 (gomp_get_target_fn_addr): Do nothing if device is finalized.
1813 (GOMP_target): Go to host fallback if device is finalized.
1814 (GOMP_target_ext): Likewise.
1815 (gomp_exit_data): Do nothing if device is finalized.
1816 (gomp_target_task_fn): Go to host fallback if device is finalized.
1817 (gomp_target_fini): New static function.
1818 (gomp_target_init): Use state instead of is_initialized.
1819 Call gomp_target_fini at exit.
1820
1821 2015-12-09 Tom de Vries <tom@codesourcery.com>
1822
1823 PR tree-optimization/68716
1824 * testsuite/libgomp.c/omp-nested-2.c: New test.
1825
1826 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
1827
1828 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
1829 target openacc_nvidia_accel_selected.
1830 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
1831 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
1832 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
1833 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
1834
1835 2015-12-01 Julian Brown <julian@codesourcery.com>
1836 James Norris <James_Norris@mentor.com>
1837
1838 * oacc-parallel.c (GOACC_host_data): New function.
1839 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
1840 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
1841 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
1842 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
1843 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
1844 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
1845 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
1846
1847 2015-11-30 James Norris <jnorris@codesourcery.com>
1848 Cesar Philippidis <cesar@codesourcery.com>
1849
1850 libgomp/
1851 * libgomp.oacc-fortran/routine-5.f90: New test.
1852 * libgomp.oacc-fortran/routine-7.f90: New test.
1853 * libgomp.oacc-fortran/routine-9.f90: New test.
1854
1855 2015-11-30 Tom de Vries <tom@codesourcery.com>
1856
1857 PR tree-optimization/46032
1858 * testsuite/libgomp.c/pr46032.c: New test.
1859
1860 2015-11-27 Jakub Jelinek <jakub@redhat.com>
1861
1862 PR libgomp/68579
1863 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
1864 (gomp_create_target_task): Call it before freeing
1865 GOMP_TARGET_TASK_DATA tasks.
1866
1867 PR c/63326
1868 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
1869 in between case label and OpenMP standalone directives.
1870 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
1871
1872 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
1873
1874 * configure: Regenerate.
1875
1876 2015-11-26 Jakub Jelinek <jakub@redhat.com>
1877
1878 * testsuite/libgomp.c/target-35.c: New test.
1879
1880 2015-11-22 James Norris <jnorris@codesourcery.com>
1881 Cesar Philippidis <cesar@codesourcery.com>
1882
1883 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
1884 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
1885 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
1886 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
1887 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
1888
1889 2015-11-20 Jakub Jelinek <jakub@redhat.com>
1890
1891 PR middle-end/68221
1892 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
1893 * testsuite/libgomp.c/reduction-12.c: Likewise.
1894 * testsuite/libgomp.c++/reduction-11.C: Likewise.
1895 * testsuite/libgomp.c++/reduction-12.C: Likewise.
1896
1897 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
1898
1899 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
1900 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
1901 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
1902 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
1903 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
1904 and fix.
1905 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1906 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1907
1908 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
1909
1910 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
1911 worker & gang cases.
1912 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
1913
1914 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
1915
1916 * config/nvptx/priority_queue.c: New file.
1917
1918 2015-11-14 Jakub Jelinek <jakub@redhat.com>
1919
1920 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
1921 sections.
1922
1923 2015-11-14 Jakub Jelinek <jakub@redhat.com>
1924 Aldy Hernandez <aldyh@redhat.com>
1925 Ilya Verbin <ilya.verbin@intel.com>
1926
1927 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
1928 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
1929 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
1930 iterators or IV by chunk size.
1931 * parallel.c (gomp_resolve_num_threads): Don't assume that
1932 if thr->ts.team is non-NULL, then pool must be non-NULL.
1933 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
1934 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
1935 GOMP_PLUGIN_target_task_completion.
1936 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
1937 * Makefile.in: Regenerate.
1938 * libgomp.h: Shuffle prototypes and forward definitions around so
1939 priority queues can be defined.
1940 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
1941 (enum gomp_target_task_state): New enum.
1942 (struct gomp_target_task): Add state, tgt, task and team fields.
1943 (gomp_create_target_task): Change return type to bool, add
1944 state argument.
1945 (gomp_target_task_fn): Change return type to bool.
1946 (struct gomp_device_descr): Add async_run_func.
1947 (struct gomp_task): Remove children, next_child, prev_child,
1948 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
1949 Add pnode field.
1950 (struct gomp_taskgroup): Remove children.
1951 Add taskgroup_queue.
1952 (struct gomp_team): Change task_queue type to a priority queue.
1953 (splay_compare): Define inline.
1954 (priority_queue_offset): New.
1955 (priority_node_to_task): New.
1956 (task_to_priority_node): New.
1957 * oacc-mem.c: Do not include splay-tree.h.
1958 * priority_queue.c: New file.
1959 * priority_queue.h: New file.
1960 * splay-tree.c: Do not include splay-tree.h.
1961 (splay_tree_foreach_internal): New.
1962 (splay_tree_foreach): New.
1963 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
1964 (splay_tree_callback): Define typedef.
1965 * target.c (splay_compare): Move to libgomp.h.
1966 (GOMP_target): Don't adjust *thr in any way around running offloaded
1967 task.
1968 (GOMP_target_ext): Likewise. Handle target nowait.
1969 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
1970 return value from gomp_create_target_task, if false, fallthrough
1971 as if no dependencies exist.
1972 (gomp_target_task_fn): Change return type to bool, return true
1973 if the task should have another part scheduled later. Handle
1974 target nowait.
1975 (gomp_load_plugin_for_device): Initialize async_run.
1976 * task.c (gomp_init_task): Initialize children_queue.
1977 (gomp_clear_parent_in_list): New.
1978 (gomp_clear_parent_in_tree): New.
1979 (gomp_clear_parent): Handle priorities.
1980 (GOMP_task): Likewise.
1981 (priority_queue_move_task_first,
1982 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
1983 New functions.
1984 (gomp_create_target_task): Use priority queues. Change return type
1985 to bool, add state argument, return false if for async
1986 {{enter,exit} data,update} constructs no dependencies need to be
1987 waited for, handle target nowait. Set task->fn to NULL instead of
1988 gomp_target_task_fn.
1989 (verify_children_queue): Remove.
1990 (priority_list_upgrade_task): New.
1991 (priority_queue_upgrade_task): New.
1992 (verify_task_queue): Remove.
1993 (priority_list_downgrade_task): New.
1994 (priority_queue_downgrade_task): New.
1995 (gomp_task_run_pre): Use priority queues.
1996 Abstract code out to priority_queue_downgrade_task.
1997 (gomp_task_run_post_handle_dependers): Use priority queues.
1998 (gomp_task_run_post_remove_parent): Likewise.
1999 (gomp_task_run_post_remove_taskgroup): Likewise.
2000 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
2001 tasks specially.
2002 (GOMP_taskwait): Likewise.
2003 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
2004 priority-queue_upgrade_task.
2005 (GOMP_taskgroup_start): Use priority queues.
2006 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
2007 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
2008 barrier.
2009 * taskloop.c (GOMP_taskloop): Handle priorities.
2010 * team.c (gomp_new_team): Call priority_queue_init.
2011 (free_team): Call priority_queue_free.
2012 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
2013 team created for target nowait in implicit parallel region.
2014 (gomp_team_start): For nested check, test thr->ts.level instead of
2015 thr->ts.team != NULL.
2016 * testsuite/libgomp.c/doacross-3.c: New test.
2017 * testsuite/libgomp.c/ordered-5.c: New test.
2018 * testsuite/libgomp.c/priority.c: New test.
2019 * testsuite/libgomp.c/target-31.c: New test.
2020 * testsuite/libgomp.c/target-32.c: New test.
2021 * testsuite/libgomp.c/target-33.c: New test.
2022 * testsuite/libgomp.c/target-34.c: New test.
2023
2024 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
2025
2026 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
2027
2028 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
2029 loop is sequential.
2030
2031 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
2032
2033 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
2034 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
2035
2036 2015-11-12 James Norris <jnorris@codesourcery.com>
2037 Joseph Myers <joseph@codesourcery.com>
2038
2039 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
2040 * oacc-parallel.c (GOACC_declare): New function.
2041 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
2042 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
2043 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
2044 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
2045 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
2046
2047 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
2048
2049 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
2050
2051 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
2052
2053 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
2054 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
2055
2056 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
2057
2058 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
2059 inadvertent commit.
2060
2061 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
2062
2063 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
2064 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
2065 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
2066 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
2067 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
2068
2069 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
2070
2071 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
2072 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
2073
2074 2015-11-05 Jakub Jelinek <jakub@redhat.com>
2075 Ilya Verbin <ilya.verbin@intel.com>
2076
2077 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
2078 GOMP_loop_nonmonotonic_dynamic_start,
2079 GOMP_loop_nonmonotonic_guided_next,
2080 GOMP_loop_nonmonotonic_guided_start,
2081 GOMP_loop_ull_nonmonotonic_dynamic_next,
2082 GOMP_loop_ull_nonmonotonic_dynamic_start,
2083 GOMP_loop_ull_nonmonotonic_guided_next,
2084 GOMP_loop_ull_nonmonotonic_guided_start,
2085 GOMP_parallel_loop_nonmonotonic_dynamic,
2086 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
2087 (GOMP_target_41): Renamed to ...
2088 (GOMP_target_ext): ... this. Add num_teams and thread_limit
2089 arguments.
2090 (GOMP_target_data_41): Renamed to ...
2091 (GOMP_target_data_ext): ... this.
2092 (GOMP_target_update_41): Renamed to ...
2093 (GOMP_target_update_ext): ... this.
2094 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
2095 GOMP_target_data_ext and GOMP_target_update_ext instead of
2096 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
2097 Export GOMP_loop_nonmonotonic_dynamic_next,
2098 GOMP_loop_nonmonotonic_dynamic_start,
2099 GOMP_loop_nonmonotonic_guided_next,
2100 GOMP_loop_nonmonotonic_guided_start,
2101 GOMP_loop_ull_nonmonotonic_dynamic_next,
2102 GOMP_loop_ull_nonmonotonic_dynamic_start,
2103 GOMP_loop_ull_nonmonotonic_guided_next,
2104 GOMP_loop_ull_nonmonotonic_guided_start,
2105 GOMP_parallel_loop_nonmonotonic_dynamic and
2106 GOMP_parallel_loop_nonmonotonic_guided.
2107 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
2108 GOMP_parallel_loop_nonmonotonic_guided,
2109 GOMP_loop_nonmonotonic_dynamic_start,
2110 GOMP_loop_nonmonotonic_guided_start,
2111 GOMP_loop_nonmonotonic_dynamic_next,
2112 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
2113 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
2114 GOMP_loop_ull_nonmonotonic_guided_start,
2115 GOMP_loop_ull_nonmonotonic_dynamic_next,
2116 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
2117 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
2118 functions.
2119 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
2120 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
2121 Use gomp_map_val function.
2122 (gomp_target_fallback_firstprivate): New static function.
2123 (GOMP_target_41): Renamed to ...
2124 (GOMP_target_ext): ... this. Add num_teams and thread_limit
2125 arguments. Move firstprivate fallback handling into a new
2126 function.
2127 (GOMP_target_data_41): Renamed to ...
2128 (GOMP_target_data_ext): ... this.
2129 (GOMP_target_update_41): Renamed to ...
2130 (GOMP_target_update_ext): ... this.
2131 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
2132 gomp_map_0len_lookup instead of gomp_map_lookup.
2133 (omp_target_is_present): Use gomp_map_0len_lookup instead of
2134 gomp_map_lookup.
2135 * testsuite/libgomp.c/target-28.c: Likewise.
2136 * testsuite/libgomp.c/monotonic-1.c: New test.
2137 * testsuite/libgomp.c/monotonic-2.c: New test.
2138 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
2139 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
2140 * testsuite/libgomp.c/pr66199-5.c: New test.
2141 * testsuite/libgomp.c/pr66199-6.c: New test.
2142 * testsuite/libgomp.c/pr66199-7.c: New test.
2143 * testsuite/libgomp.c/pr66199-8.c: New test.
2144 * testsuite/libgomp.c/pr66199-9.c: New test.
2145 * testsuite/libgomp.c/reduction-11.c: New test.
2146 * testsuite/libgomp.c/reduction-12.c: New test.
2147 * testsuite/libgomp.c/reduction-13.c: New test.
2148 * testsuite/libgomp.c/reduction-14.c: New test.
2149 * testsuite/libgomp.c/reduction-15.c: New test.
2150 * testsuite/libgomp.c/target-12.c (main): Adjust for
2151 omp_target_is_present change for one-past-last element.
2152 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
2153 the same var is both mapped and privatized.
2154 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
2155 handling of zero-length array sections.
2156 * testsuite/libgomp.c/target-28.c: New test.
2157 * testsuite/libgomp.c/target-29.c: New test.
2158 * testsuite/libgomp.c/target-30.c: New test.
2159 * testsuite/libgomp.c/target-teams-1.c: New test.
2160 * testsuite/libgomp.c++/member-6.C: New test.
2161 * testsuite/libgomp.c++/member-7.C: New test.
2162 * testsuite/libgomp.c++/monotonic-1.C: New test.
2163 * testsuite/libgomp.c++/monotonic-2.C: New test.
2164 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
2165 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
2166 * testsuite/libgomp.c++/pr66199-3.C: New test.
2167 * testsuite/libgomp.c++/pr66199-4.C: New test.
2168 * testsuite/libgomp.c++/pr66199-5.C: New test.
2169 * testsuite/libgomp.c++/pr66199-6.C: New test.
2170 * testsuite/libgomp.c++/pr66199-7.C: New test.
2171 * testsuite/libgomp.c++/pr66199-8.C: New test.
2172 * testsuite/libgomp.c++/pr66199-9.C: New test.
2173 * testsuite/libgomp.c++/reduction-11.C: New test.
2174 * testsuite/libgomp.c++/reduction-12.C: New test.
2175 * testsuite/libgomp.c++/target-13.C: New test.
2176 * testsuite/libgomp.c++/target-14.C: New test.
2177 * testsuite/libgomp.c++/target-15.C: New test.
2178 * testsuite/libgomp.c++/target-16.C: New test.
2179 * testsuite/libgomp.c++/target-17.C: New test.
2180 * testsuite/libgomp.c++/target-18.C: New test.
2181 * testsuite/libgomp.c++/target-19.C: New test.
2182
2183 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2184
2185 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
2186 and reduction copy.
2187 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2188 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2189 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2190 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2191 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2192 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
2193 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
2194 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2195 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
2196 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
2197 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
2198 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2199 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
2200 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
2201
2202 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2203
2204 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
2205 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
2206 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
2207 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
2208 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
2209 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
2210 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
2211 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
2212
2213 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
2214
2215 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
2216 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
2217 (GOMP_OFFLOAD_openacc_parallel): Likewise.
2218 * oacc-host.c (host_openacc_exec): Likewise.
2219 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
2220
2221 2015-11-03 Julian Brown <julian@codesourcery.com>
2222 Thomas Schwinge <thomas@codesourcery.com>
2223
2224 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
2225 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2226 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
2227 Likewise.
2228 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
2229 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
2230
2231 2015-11-03 James Norris <jnorris@codesourcery.com>
2232
2233 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
2234 file.
2235 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
2236 Likewise.
2237 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
2238 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
2239 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
2240 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
2241 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
2242
2243 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
2244
2245 * openacc.h (enum acc_device_t): Reformat. Ensure layout
2246 compatibility.
2247 (enum acc_async_t): Reformat.
2248 (acc_on_device): Declare compatible with builtin and provide C++
2249 wrapper.
2250 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
2251
2252 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
2253 Cesar Philippidis <cesar@codesourcery.com>
2254
2255 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
2256 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
2257 ... this. Add a description of the test at the top of the file.
2258 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
2259 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
2260 ... this. Add a description of the test at the top of the file.
2261
2262 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
2263
2264 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
2265 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
2266 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
2267 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
2268 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
2269 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
2270
2271 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
2272
2273 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
2274 dimensions.
2275
2276 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
2277
2278 PR testsuite/68063
2279 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
2280
2281 2015-10-27 James Norris <jnorris@codesourcery.com>
2282
2283 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
2284 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
2285
2286 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
2287
2288 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
2289 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
2290
2291 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
2292 acc_device_nvidia usage.
2293 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
2294 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
2295 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
2296
2297 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
2298 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
2299
2300 PR libgomp/66518
2301 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
2302
2303 PR libgomp/65437
2304 PR libgomp/66518
2305 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
2306 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
2307
2308 2015-10-23 Tom de Vries <tom@codesourcery.com>
2309
2310 PR testsuite/68063
2311 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
2312
2313 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
2314
2315 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
2316 vector_length.
2317 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2318
2319 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
2320 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
2321
2322 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
2323 to 0 when mapnum is 0.
2324
2325 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
2326
2327 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
2328 Cast to int from int32_t.
2329
2330 2015-10-13 Jakub Jelinek <jakub@redhat.com>
2331 Aldy Hernandez <aldyh@redhat.com>
2332 Ilya Verbin <ilya.verbin@intel.com>
2333
2334 * config/linux/affinity.c (omp_get_place_num_procs,
2335 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
2336 * config/linux/doacross.h: New file.
2337 * config/posix/affinity.c (omp_get_place_num_procs,
2338 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
2339 * config/posix/doacross.h: New file.
2340 * env.c: Include gomp-constants.h.
2341 (struct gomp_task_icv): Rename run_sched_modifier to
2342 run_sched_chunk_size.
2343 (gomp_max_task_priority_var): New variable.
2344 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
2345 (handle_omp_display_env): Change _OPENMP value from 201307 to
2346 201511. Print OMP_MAX_TASK_PRIORITY.
2347 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
2348 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
2349 chunk_size and run_sched_modifier to run_sched_chunk_size.
2350 (omp_get_max_task_priority, omp_get_initial_device,
2351 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
2352 omp_get_partition_place_nums): New functions.
2353 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
2354 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
2355 to chunk_size.
2356 (omp_get_num_places_, omp_get_place_num_procs_,
2357 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
2358 omp_get_place_proc_ids_8_, omp_get_place_num_,
2359 omp_get_partition_num_places_, omp_get_partition_place_nums_,
2360 omp_get_partition_place_nums_8_, omp_get_initial_device_,
2361 omp_get_max_task_priority_): New functions.
2362 * libgomp_g.h (GOMP_loop_doacross_static_start,
2363 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
2364 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
2365 GOMP_loop_ull_doacross_dynamic_start,
2366 GOMP_loop_ull_doacross_guided_start,
2367 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
2368 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
2369 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
2370 GOMP_target_data_41, GOMP_target_update_41,
2371 GOMP_target_enter_exit_data): New prototypes.
2372 (GOMP_task): Add prototype argument.
2373 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
2374 (struct gomp_doacross_work_share): New type.
2375 (struct gomp_work_share): Add doacross field.
2376 (struct gomp_task_icv): Rename run_sched_modifier to
2377 run_sched_chunk_size.
2378 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
2379 GOMP_TASK_UNDEFERRED. Add comments.
2380 (struct gomp_task_depend_entry): Add comments.
2381 (struct gomp_task): Likewise.
2382 (struct gomp_taskgroup): Likewise.
2383 (struct gomp_target_task): New type.
2384 (struct gomp_team): Add comment.
2385 (gomp_get_place_proc_ids_8, gomp_doacross_init,
2386 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
2387 gomp_create_target_task, gomp_target_task_fn): New prototypes.
2388 (struct target_var_desc): New type.
2389 (struct target_mem_desc): Adjust comment. Use struct
2390 target_var_desc instead of splay_tree_key for list.
2391 (REFCOUNT_INFINITY): Define.
2392 (struct splay_tree_key_s): Remove copy_from field.
2393 (struct gomp_device_descr): Add dev2dev_func field.
2394 (enum gomp_map_vars_kind): New enum.
2395 (gomp_map_vars): Add one argument.
2396 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
2397 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
2398 omp_get_place_num_procs, omp_get_place_num_procs_,
2399 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
2400 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
2401 omp_get_place_num_, omp_get_partition_num_places,
2402 omp_get_partition_num_places_, omp_get_partition_place_nums,
2403 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
2404 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
2405 omp_target_free, omp_target_is_present, omp_target_memcpy,
2406 omp_target_memcpy_rect, omp_target_associate_ptr and
2407 omp_target_disassociate_ptr.
2408 (GOMP_4.0.2): Renamed to ...
2409 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
2410 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
2411 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
2412 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
2413 GOMP_loop_doacross_static_start, GOMP_doacross_post,
2414 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
2415 GOMP_loop_ull_doacross_guided_start,
2416 GOMP_loop_ull_doacross_runtime_start,
2417 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
2418 GOMP_doacross_ull_wait.
2419 * libgomp.texi: Document omp_get_max_task_priority.
2420 Rename modifier argument to chunk_size for omp_set_schedule and
2421 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
2422 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
2423 to run_sched_chunk_size renaming.
2424 (GOMP_loop_ordered_runtime_start): Likewise.
2425 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
2426 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
2427 GOMP_parallel_loop_runtime_start): New functions.
2428 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
2429 to run_sched_chunk_size renaming.
2430 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
2431 GOMP_loop_doacross_guided_start): New functions or aliases.
2432 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
2433 run_sched_modifier to run_sched_chunk_size renaming.
2434 (GOMP_loop_ull_ordered_runtime_start): Likewise.
2435 (gomp_loop_ull_doacross_static_start,
2436 gomp_loop_ull_doacross_dynamic_start,
2437 gomp_loop_ull_doacross_guided_start,
2438 GOMP_loop_ull_doacross_runtime_start): New functions.
2439 (GOMP_loop_ull_doacross_static_start,
2440 GOMP_loop_ull_doacross_dynamic_start,
2441 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
2442 * oacc-mem.c (acc_map_data, present_create_copy,
2443 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
2444 to gomp_map_vars.
2445 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
2446 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
2447 instead of false to gomp_map_vars.
2448 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
2449 * omp.h.in (omp_lock_hint_t): New type.
2450 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
2451 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
2452 omp_get_place_num, omp_get_partition_num_places,
2453 omp_get_partition_place_nums, omp_get_initial_device,
2454 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
2455 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
2456 omp_target_associate_ptr, omp_target_disassociate_ptr): New
2457 prototypes.
2458 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
2459 (omp_lock_hint_none, omp_lock_hint_uncontended,
2460 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
2461 omp_lock_hint_speculative): New parameters.
2462 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
2463 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
2464 omp_get_place_num, omp_get_partition_num_places,
2465 omp_get_partition_place_nums, omp_get_initial_device,
2466 omp_get_max_task_priority): New interfaces.
2467 (omp_set_schedule, omp_get_schedule): Rename modifier argument
2468 to chunk_size.
2469 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
2470 (omp_lock_hint_none, omp_lock_hint_uncontended,
2471 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
2472 omp_lock_hint_speculative): New parameters.
2473 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
2474 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
2475 omp_get_place_num, omp_get_partition_num_places,
2476 omp_get_partition_place_nums, omp_get_initial_device,
2477 omp_get_max_task_priority): New functions and subroutines.
2478 * ordered.c: Include stdarg.h and string.h.
2479 (MAX_COLLAPSED_BITS): Define.
2480 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
2481 gomp_doacross_ull_init, GOMP_doacross_ull_post,
2482 GOMP_doacross_ull_wait): New functions.
2483 * target.c: Include errno.h.
2484 (resolve_device): If device is not initialized, call
2485 gomp_init_device on it.
2486 (gomp_map_lookup): New function.
2487 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
2488 Don't bump refcount if REFCOUNT_INFINITY. Handle
2489 GOMP_MAP_ALWAYS_TO_P.
2490 (get_kind): Rename is_openacc argument to short_mapkind.
2491 (gomp_map_pointer): Use gomp_map_lookup.
2492 (gomp_map_fields_existing): New function.
2493 (gomp_map_vars): Rename is_openacc argument to short_mapkind
2494 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
2495 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
2496 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
2497 Adjust for tgt->list changed type and copy_from living in there.
2498 (gomp_copy_from_async): Adjust for tgt->list changed type and
2499 copy_from living in there.
2500 (gomp_unmap_vars): Likewise.
2501 (gomp_update): Likewise. Rename is_openacc argument to
2502 short_mapkind. Don't fail if object is not mapped.
2503 (gomp_load_image_to_device): Initialize refcount to
2504 REFCOUNT_INFINITY.
2505 (gomp_target_fallback): New function.
2506 (gomp_get_target_fn_addr): Likewise.
2507 (GOMP_target): Adjust gomp_map_vars caller, use
2508 gomp_get_target_fn_addr and gomp_target_fallback.
2509 (GOMP_target_41): New function.
2510 (gomp_target_data_fallback): New function.
2511 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
2512 (GOMP_target_data_41): New function.
2513 (GOMP_target_update): Adjust gomp_update caller.
2514 (GOMP_target_update_41): New function.
2515 (gomp_exit_data, GOMP_target_enter_exit_data,
2516 gomp_target_task_fn, omp_target_alloc, omp_target_free,
2517 omp_target_is_present, omp_target_memcpy,
2518 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
2519 omp_target_associate_ptr, omp_target_disassociate_ptr,
2520 gomp_load_plugin_for_device): New functions.
2521 * task.c: Include gomp-constants.h. Include taskloop.c
2522 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
2523 (gomp_task_handle_depend): New function.
2524 (GOMP_task): Use it. Add priority argument. Use
2525 gomp-constant.h constants instead of hardcoded numbers.
2526 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
2527 (gomp_create_target_task): New function.
2528 (verify_children_queue, verify_taskgroup_queue,
2529 verify_task_queue): New functions.
2530 (gomp_task_run_pre): Call verify_*_queue functions.
2531 If an upcoming tied task is about to leave the sibling or
2532 taskgroup queues in an invalid state, adjust appropriately.
2533 Remove taskgroup argument. Add comments.
2534 (gomp_task_run_post_handle_dependers): Add comments.
2535 (gomp_task_run_post_remove_parent): Likewise.
2536 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
2537 (GOMP_taskwait): Likewise. Add comments.
2538 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
2539 problem such that the first non parent_depends_on task does not
2540 end up at the end of the children queue.
2541 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
2542 GOMP_TASK_UNDEFERRED.
2543 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
2544 * taskloop.c: New file.
2545 * testsuite/lib/libgomp.exp
2546 (check_effective_target_offload_device_nonshared_as): New proc.
2547 * testsuite/libgomp.c/affinity-2.c: New test.
2548 * testsuite/libgomp.c/doacross-1.c: New test.
2549 * testsuite/libgomp.c/doacross-2.c: New test.
2550 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
2551 Add map clause to target.
2552 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
2553 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
2554 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
2555 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
2556 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
2557 Likewise.
2558 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
2559 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
2560 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
2561 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
2562 not defined. Use those where needed.
2563 * testsuite/libgomp.c/for-4.c: New test.
2564 * testsuite/libgomp.c/for-5.c: New test.
2565 * testsuite/libgomp.c/for-6.c: New test.
2566 * testsuite/libgomp.c/linear-1.c: New test.
2567 * testsuite/libgomp.c/ordered-4.c: New test.
2568 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
2569 only allowed on the loop iterator.
2570 * testsuite/libgomp.c/pr66199-3.c: New test.
2571 * testsuite/libgomp.c/pr66199-4.c: New test.
2572 * testsuite/libgomp.c/reduction-7.c: New test.
2573 * testsuite/libgomp.c/reduction-8.c: New test.
2574 * testsuite/libgomp.c/reduction-9.c: New test.
2575 * testsuite/libgomp.c/reduction-10.c: New test.
2576 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
2577 map(tofrom:s).
2578 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
2579 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
2580 * testsuite/libgomp.c/target-11.c: New test.
2581 * testsuite/libgomp.c/target-12.c: New test.
2582 * testsuite/libgomp.c/target-13.c: New test.
2583 * testsuite/libgomp.c/target-14.c: New test.
2584 * testsuite/libgomp.c/target-15.c: New test.
2585 * testsuite/libgomp.c/target-16.c: New test.
2586 * testsuite/libgomp.c/target-17.c: New test.
2587 * testsuite/libgomp.c/target-18.c: New test.
2588 * testsuite/libgomp.c/target-19.c: New test.
2589 * testsuite/libgomp.c/target-20.c: New test.
2590 * testsuite/libgomp.c/target-21.c: New test.
2591 * testsuite/libgomp.c/target-22.c: New test.
2592 * testsuite/libgomp.c/target-23.c: New test.
2593 * testsuite/libgomp.c/target-24.c: New test.
2594 * testsuite/libgomp.c/target-25.c: New test.
2595 * testsuite/libgomp.c/target-26.c: New test.
2596 * testsuite/libgomp.c/target-27.c: New test.
2597 * testsuite/libgomp.c/taskloop-1.c: New test.
2598 * testsuite/libgomp.c/taskloop-2.c: New test.
2599 * testsuite/libgomp.c/taskloop-3.c: New test.
2600 * testsuite/libgomp.c/taskloop-4.c: New test.
2601 * testsuite/libgomp.c++/ctor-13.C: New test.
2602 * testsuite/libgomp.c++/doacross-1.C: New test.
2603 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
2604 Replace offload_device with offload_device_nonshared_as.
2605 * testsuite/libgomp.c++/for-12.C: New test.
2606 * testsuite/libgomp.c++/for-13.C: New test.
2607 * testsuite/libgomp.c++/for-14.C: New test.
2608 * testsuite/libgomp.c++/linear-1.C: New test.
2609 * testsuite/libgomp.c++/member-1.C: New test.
2610 * testsuite/libgomp.c++/member-2.C: New test.
2611 * testsuite/libgomp.c++/member-3.C: New test.
2612 * testsuite/libgomp.c++/member-4.C: New test.
2613 * testsuite/libgomp.c++/member-5.C: New test.
2614 * testsuite/libgomp.c++/ordered-1.C: New test.
2615 * testsuite/libgomp.c++/reduction-5.C: New test.
2616 * testsuite/libgomp.c++/reduction-6.C: New test.
2617 * testsuite/libgomp.c++/reduction-7.C: New test.
2618 * testsuite/libgomp.c++/reduction-8.C: New test.
2619 * testsuite/libgomp.c++/reduction-9.C: New test.
2620 * testsuite/libgomp.c++/reduction-10.C: New test.
2621 * testsuite/libgomp.c++/reference-1.C: New test.
2622 * testsuite/libgomp.c++/simd14.C: New test.
2623 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
2624 * testsuite/libgomp.c++/target-5.C: New test.
2625 * testsuite/libgomp.c++/target-6.C: New test.
2626 * testsuite/libgomp.c++/target-7.C: New test.
2627 * testsuite/libgomp.c++/target-8.C: New test.
2628 * testsuite/libgomp.c++/target-9.C: New test.
2629 * testsuite/libgomp.c++/target-10.C: New test.
2630 * testsuite/libgomp.c++/target-11.C: New test.
2631 * testsuite/libgomp.c++/target-12.C: New test.
2632 * testsuite/libgomp.c++/taskloop-1.C: New test.
2633 * testsuite/libgomp.c++/taskloop-2.C: New test.
2634 * testsuite/libgomp.c++/taskloop-3.C: New test.
2635 * testsuite/libgomp.c++/taskloop-4.C: New test.
2636 * testsuite/libgomp.c++/taskloop-5.C: New test.
2637 * testsuite/libgomp.c++/taskloop-6.C: New test.
2638 * testsuite/libgomp.c++/taskloop-7.C: New test.
2639 * testsuite/libgomp.c++/taskloop-8.C: New test.
2640 * testsuite/libgomp.c++/taskloop-9.C: New test.
2641 * testsuite/libgomp.fortran/affinity1.f90: New test.
2642 * testsuite/libgomp.fortran/affinity2.f90: New test.
2643
2644 2015-10-13 Tom de Vries <tom@codesourcery.com>
2645
2646 PR tree-optimization/67476
2647 * testsuite/libgomp.c/autopar-3.c: New test.
2648 * testsuite/libgomp.c/autopar-4.c: New test.
2649 * testsuite/libgomp.c/autopar-5.c: New test.
2650 * testsuite/libgomp.c/autopar-6.c: New test.
2651 * testsuite/libgomp.c/autopar-7.c: New test.
2652 * testsuite/libgomp.c/autopar-8.c: New test.
2653
2654 2015-10-12 James Norris <jnorris@codesourcery.com>
2655
2656 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
2657 initializer.
2658
2659 2015-10-09 David Malcolm <dmalcolm@redhat.com>
2660
2661 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
2662 using load_gcc_lib.
2663
2664 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
2665
2666 * oacc-ptx.h: Remove file, moving its content into...
2667 * config/nvptx/fortran.c: ... here...
2668 * config/nvptx/oacc-init.c: ..., here...
2669 * config/nvptx/oacc-parallel.c: ..., and here.
2670 * config/nvptx/openacc.f90: New file.
2671 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
2672 (link_ptx): Don't link in predefined bits of PTX code.
2673
2674 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
2675 Bernd Schmidt <bernds@codesourcery.com>
2676
2677 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
2678 (struct targ_ptx_obj): New.
2679 (nvptx_tdata): Move earlier, change data format.
2680 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
2681 objects.
2682 (GOMP_OFFLOAD_load_image): Adjust.
2683
2684 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
2685
2686 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
2687 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
2688 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
2689 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
2690 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2691 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2692 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2693 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2694 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2695 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2696 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2697 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
2698 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
2699 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2700 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
2701 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
2702 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
2703 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2704 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
2705 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
2706 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2707 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2708 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
2709 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
2710 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
2711 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
2712 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
2713 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2714 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2715 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
2716 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
2717 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
2718 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
2719 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
2720 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2721 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
2722 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2723 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
2724 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2725 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
2726 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2727 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2728 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
2729 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2730 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
2731 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2732 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2733 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2734 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2735 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2736 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
2737 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
2738 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
2739 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
2740 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
2741 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2742 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2743 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2744 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2745 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2746 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2747 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2748 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2749
2750 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
2751
2752 * oacc-init.c (acc_on_device): Force optimization level.
2753
2754 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
2755
2756 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
2757 (cuda_errlist): Delete.
2758 (cuda_error): Reimplement.
2759
2760 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
2761
2762 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
2763 array.
2764 * libgomp.map (GOACC_parallel_keyed): New.
2765 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
2766 all callers.
2767 (GOACC_parallel_keyed): New interface. Lose geometry arguments
2768 and take keyed varargs list. Adjust call to exec_func.
2769 (GOACC_parallel): Force host fallback.
2770 * libgomp_g.h (GOACC_parallel): Remove.
2771 (GOACC_parallel_keyed): Declare.
2772 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
2773 (stuct targ_gn_descriptor): Replace name field with launch field.
2774 (nvptx_exec): Lose separate geometry args, take array. Process
2775 dynamic dimensions and adjust.
2776 (struct nvptx_tdata): Replace fn_names field with fn_descs.
2777 (GOMP_OFFLOAD_load_image): Adjust for change in function table
2778 data.
2779 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
2780 passing.
2781 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
2782 passing.
2783
2784 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
2785
2786 PR libgomp/67141
2787 * oacc-int.h (goacc_host_init): Add declaration.
2788 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
2789 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
2790
2791 2015-09-08 Aditya Kumar <hiraditya@msn.com>
2792 Sebastian Pop <s.pop@samsung.com>
2793
2794 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
2795 match o/p.
2796 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
2797 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
2798 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
2799 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
2800 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
2801
2802 2015-09-03 Jakub Jelinek <jakub@redhat.com>
2803
2804 * configure.tgt: Add missing ;; in between nvptx and rtems
2805 snippets.
2806
2807 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
2808
2809 * config/posix/pool.h (gomp_adjust_thread_attr): New.
2810 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
2811 (gomp_thread_pool_reservoir): Add priority member.
2812 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
2813 priority.
2814 (parse_thread_pools): Likewise.
2815 * team.c (gomp_team_start): Call configuration provided
2816 gomp_adjust_thread_attr(). Destroy thread attributes if
2817 necessary.
2818 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
2819
2820 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
2821
2822 * config/posix/pool.h: New.
2823 * config/rtems/pool.h: Likewise.
2824 * config/rtems/proc.c: Likewise.
2825 * libgomp.h (gomp_thread_destructor): Declare.
2826 * team.c: Include configuration provided "pool.h".
2827 (gomp_get_thread_pool): Define in configuration.
2828 (gomp_team_end): Call configuration defined
2829 gomp_release_thread_pool().
2830
2831 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
2832
2833 * config/rtems/bar.c: New.
2834 * config/rtems/bar.h: Likewise.
2835 * config/rtems/mutex.c: Likewise.
2836 * config/rtems/mutex.h: Likewise.
2837 * config/rtems/sem.c: Likewise.
2838 * config/rtems/sem.h: Likewise.
2839 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
2840 <sys/lock.h> header file.
2841 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
2842 supported by Newlib.
2843 * configure: Regenerate.
2844
2845 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
2846
2847 * team.c (gomp_new_thread_pool): Delete and move content to ...
2848 (gomp_get_thread_pool): ... new function. Allocate and
2849 initialize thread pool on demand.
2850 (get_last_team): Use gomp_get_thread_pool().
2851 (gomp_team_start): Delete thread pool initialization.
2852
2853 2015-09-03 Tom de Vries <tom@codesourcery.com>
2854
2855 PR tree-optimization/65637
2856 * testsuite/libgomp.c/autopar-2.c: New test.
2857
2858 2015-08-29 Tom de Vries <tom@codesourcery.com>
2859
2860 PR tree-optimization/46193
2861 * testsuite/libgomp.c/pr46193.c: New test.
2862
2863 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
2864
2865 libgomp/
2866 * libgomp.map: Add 4.0.2 version.
2867 * target.c (offload_image_descr): Add version field.
2868 (gomp_load_image_to_device): Add version argument. Adjust plugin
2869 call. Improve load mismatch diagnostic.
2870 (gomp_unload_image_from_device): Add version argument. Adjust plugin
2871 call.
2872 (GOMP_offload_regster): Make stub function, move bulk to ...
2873 (GOMP_offload_register_ver): ... here. Process version argument.
2874 (GOMP_offload_unregister): Make stub function, move bulk to ...
2875 (GOMP_offload_unregister_ver): ... here. Process version argument.
2876 (gomp_init_device): Process version field.
2877 (gomp_unload_device): Process version field.
2878 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
2879 macros. Check plugin version.
2880 * libgomp.h (gomp_device_descr): Add version function field. Adjust
2881 loader and unloader types.
2882 * oacc-host.c: Include gomp-constants.h.
2883 (host_version): New.
2884 (host_load_image, host_unload_image): Adjust.
2885 (host_dispatch): Add host_version.
2886 * plugin/plugin-nvptx.c: Include gomp-constants.h.
2887 (GOMP_OFFLOAD_version): New.
2888 (GOMP_OFFLOAD_load_image): Add version arg and check it.
2889 (GOMP_OFFLOAD_unload_image): Likewise.
2890 * plugin/plugin-host.c: Include gomp-constants.h.
2891 (GOMP_OFFLOAD_version): New.
2892 (GOMP_OFFLOAD_load_image): Add version arg.
2893 (GOMP_OFFLOAD_unload_image): Likewise.
2894
2895 2015-08-24 Tom de Vries <tom@codesourcery.com>
2896
2897 PR tree-optimization/65468
2898 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
2899
2900 2015-08-24 Tom de Vries <tom@codesourcery.com>
2901
2902 PR tree-optimization/65468
2903 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
2904
2905 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
2906
2907 PR libgomp/66761
2908 PR libgomp/67303
2909 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
2910 (gomp_iter_guided_next): Idem.
2911 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
2912 (gomp_iter_ull_guided_next): Idem.
2913 * config/linux/wait.h (do_spin): Idem.
2914
2915 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
2916
2917 * libgomp-plugin.h (enum offload_target_type): Remove
2918 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
2919 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
2920 * openacc.h (enum acc_device_t): Likewise.
2921 * openacc_lib.h: Likewise.
2922 * oacc-init.c (name_of_acc_device_t): Don't handle it.
2923 (acc_on_device): Just use __builtin_acc_on_device.
2924 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
2925 of acc_on_device builtin.
2926 * plugin/plugin-host.h: Remove file.
2927 * plugin/plugin-host.c: Likewise, but salvage some content into...
2928 * oacc-host.c: ... this file.
2929 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
2930 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
2931 * Makefile.in: Regenerate.
2932 * configure: Likewise.
2933 * testsuite/lib/libgomp.exp
2934 (check_effective_target_openacc_host_nonshm_selected): Remove.
2935 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
2936 ACC_DEVICE_TYPE=host_nonshm.
2937 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2938 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2939 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
2940 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2941 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2942 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2943
2944 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
2945 Jakub Jelinek <jakub@redhat.com>
2946
2947 * config/nvptx/affinity.c: New file.
2948 * config/nvptx/alloc.c: Likewise.
2949 * config/nvptx/bar.c: Likewise.
2950 * config/nvptx/barrier.c: Likewise.
2951 * config/nvptx/critical.c: Likewise.
2952 * config/nvptx/env.c: Likewise.
2953 * config/nvptx/error.c: Likewise.
2954 * config/nvptx/fortran.c: Likewise.
2955 * config/nvptx/iter.c: Likewise.
2956 * config/nvptx/iter_ull.c: Likewise.
2957 * config/nvptx/libgomp-plugin.c: Likewise.
2958 * config/nvptx/lock.c: Likewise.
2959 * config/nvptx/loop.c: Likewise.
2960 * config/nvptx/loop_ull.c: Likewise.
2961 * config/nvptx/mutex.c: Likewise.
2962 * config/nvptx/oacc-async.c: Likewise.
2963 * config/nvptx/oacc-cuda.c: Likewise.
2964 * config/nvptx/oacc-host.c: Likewise.
2965 * config/nvptx/oacc-init.c: Likewise.
2966 * config/nvptx/oacc-mem.c: Likewise.
2967 * config/nvptx/oacc-parallel.c: Likewise.
2968 * config/nvptx/oacc-plugin.c: Likewise.
2969 * config/nvptx/omp-lock.h: Likewise.
2970 * config/nvptx/ordered.c: Likewise.
2971 * config/nvptx/parallel.c: Likewise.
2972 * config/nvptx/proc.c: Likewise.
2973 * config/nvptx/ptrlock.c: Likewise.
2974 * config/nvptx/sections.c: Likewise.
2975 * config/nvptx/sem.c: Likewise.
2976 * config/nvptx/single.c: Likewise.
2977 * config/nvptx/splay-tree.c: Likewise.
2978 * config/nvptx/target.c: Likewise.
2979 * config/nvptx/task.c: Likewise.
2980 * config/nvptx/team.c: Likewise.
2981 * config/nvptx/time.c: Likewise.
2982 * config/nvptx/work.c: Likewise.
2983 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
2984 * configure: Regenerate.
2985 * configure.tgt (config_path): Set to "nvptx" for target
2986 nvptx*-*-*.
2987
2988 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
2989
2990 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
2991
2992 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
2993
2994 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
2995 (cuda_errlist): Constify.
2996 (errmsg): Move into ...
2997 (cuda_error): ... here. Make smaller.
2998 (_XSTR, _STR): Delete.
2999 (cuda_synames): Delete.
3000 (verify_device_library): Delete.
3001 (nvptx_init): Don't call it.
3002
3003 2015-07-28 Tom de Vries <tom@codesourcery.com>
3004
3005 * testsuite/libgomp.c/uns-outer-4.c: New test.
3006
3007 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
3008
3009 * testsuite/libgomp.c/pr66714.c: New test.
3010
3011 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
3012
3013 PR libgomp/66950
3014 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
3015 (fib_ref): New function.
3016 (fib): Correct corner cases in the recursion.
3017 (main): Replace the non-simd loop with fib_ref call.
3018 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
3019 subroutine.
3020 (fibonacci): Lower the parameter N to 30. Correct accordingly check
3021 for the last array element value. Replace the non-simd loop with
3022 fib_ref call. Remove redundant b_ref array. Remove the comparison
3023 of the last array element with according Fibonacci sequence element.
3024 (fib): Correct corner cases in the recursion.
3025
3026 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
3027
3028 * target.c (gomp_offload_image_to_device): Rename to ...
3029 (gomp_load_image_to_device): ... here.
3030 (GOMP_offload_register): Adjust call.
3031 (gomp_init_device): Likewise.
3032 (gomp_unload_image_from_device): New. Broken out of ...
3033 (GOMP_offload_unregister): ... here. Call it.
3034 (gomp_unload_device): New.
3035 * libgomp.h (gomp_unload_device): Declare.
3036 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
3037 mem maps.
3038
3039 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
3040
3041 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
3042 wait=-specific if.
3043 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
3044 !=0 condition.
3045 (goacc_waits): Move !num_waits handling to ...
3046 (GOACC_wait): ... here, the only caller that might have zero waits.
3047
3048 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
3049 (struct ptx_image_data): Move earlier, add fns field.
3050 (struct ptx_device): Add images and image_lock fields.
3051 (ptx_images, ptx_image_lock): Delete.
3052 (nvptx_open_device): Initialize images and image_lock fields.
3053 (nvptx_close_device): Destroy image_lock.
3054 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
3055 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
3056 fields.
3057
3058 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
3059
3060 * target.c (GOMP_offload_register): Use int for device type arg.
3061 (GOMP_offload_unregister): Likewise.
3062
3063 * target.c (struct_offload_image_descr): Constify host_table.
3064 (gomp_offload_image_to_device): Likewise.
3065 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
3066
3067 * libgomp.h (gomp_device_descr): Constify target data arguments.
3068 * target.c (struct offload_image_descr): Constify target_data.
3069 (gomp_offload_image_to_device): Likewise.
3070 (GOMP_offload_register): Likewise.
3071 (GOMP_offload_unrefister): Likewise.
3072 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
3073 GOMP_OFFLOAD_unload_image): Constify target data.
3074 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
3075 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
3076
3077 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
3078
3079 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
3080 Workaround driver library const error.
3081 (struct nvptx_tdata, nvptx_tdata_t): New.
3082 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
3083 type.
3084
3085 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
3086
3087 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
3088 of EPS parameter from integer to real.
3089 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
3090 type of EPS parameter from integer to real.
3091
3092 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
3093
3094 * team.c (get_last_team): New.
3095 (gomp_new_team): Recycle last non-nested team if possible.
3096 (gomp_team_end): Move team work share list free lock destruction
3097 to ...
3098 (free_team): ... here.
3099
3100 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
3101
3102 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
3103 and ref from int to double. Replaced their comparison with
3104 an inequality of their difference and EPS.
3105 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
3106 comparison of pri and a reference number with an inequality of their
3107 difference and EPS.
3108 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
3109 the comparison of sum and sum_ref with an inequality of their
3110 difference and EPS.
3111 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
3112 the comparison of pri and a reference number with an inequality of
3113 their difference and EPS.
3114
3115 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
3116
3117 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
3118 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
3119 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
3120 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
3121 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
3122 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
3123 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
3124 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
3125 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
3126 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
3127 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
3128 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
3129 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
3130 variables.
3131 (vec_mult): Likewise. Add #pragma omp taskwait.
3132 (main): Adjust caller.
3133 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
3134 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
3135 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
3136 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
3137 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
3138 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
3139 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
3140 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
3141 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
3142 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
3143 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
3144 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
3145 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
3146 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
3147 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
3148 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
3149 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
3150 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
3151 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
3152 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
3153 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
3154 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
3155 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
3156 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
3157 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
3158 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
3159 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
3160 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
3161 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
3162 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
3163 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
3164 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
3165 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
3166 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
3167 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
3168 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
3169 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
3170 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
3171 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
3172 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
3173 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
3174 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
3175 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
3176 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
3177 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
3178 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
3179 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
3180 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
3181 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
3182 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
3183 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
3184 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
3185 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
3186 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
3187 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
3188 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
3189 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
3190 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
3191 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
3192 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
3193 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
3194 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
3195 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
3196 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
3197 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
3198 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
3199 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
3200 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
3201 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
3202 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
3203 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
3204 (vec_mult): Add !$omp taskwait.
3205 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
3206 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
3207 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
3208 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
3209 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
3210 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
3211 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
3212 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
3213 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
3214 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
3215 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
3216 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
3217 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
3218 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
3219 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
3220 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
3221 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
3222 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
3223 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
3224 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
3225 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
3226 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
3227 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
3228 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
3229 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
3230 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
3231 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
3232 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
3233 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
3234 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
3235 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
3236 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
3237 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
3238 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
3239 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
3240 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
3241 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
3242 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
3243 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
3244 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
3245 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
3246 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
3247 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
3248 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
3249 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
3250 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
3251 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
3252 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
3253 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
3254 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
3255 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
3256 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
3257 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
3258 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
3259 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
3260 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
3261 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
3262 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
3263 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
3264 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
3265 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
3266 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
3267 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
3268 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
3269 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
3270 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
3271 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
3272
3273 2015-07-10 Tom de Vries <tom@codesourcery.com>
3274
3275 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
3276 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
3277
3278 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
3279
3280 PR libgomp/65099
3281 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
3282 in a 64-bit configuration.
3283 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
3284 offloading testing if no such device is available.
3285 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3286 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3287
3288 2015-07-08 Tom de Vries <tom@codesourcery.com>
3289
3290 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
3291 second call to f.
3292 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3293
3294 2015-07-07 Tom de Vries <tom@codesourcery.com>
3295
3296 PR tree-optimization/66642
3297 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
3298 iteration count case.
3299 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
3300 function, factor out of ...
3301 (main): ... here. Test low iteration count case.
3302
3303 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
3304
3305 * libgomp.h (gomp_thread_pool): Comment last_team field.
3306
3307 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
3308
3309 * testsuite/libgomp.c++/pr66702-1.C: Require
3310 vect_simd_clones effective target.
3311 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
3312
3313 2015-06-30 Tom de Vries <tom@codesourcery.com>
3314
3315 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
3316 already set. Use DEFAULT_CFLAGS in dg-runtest.
3317 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
3318 "-O2".
3319
3320 2015-06-30 Tom de Vries <tom@codesourcery.com>
3321
3322 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
3323 already set. Use DEFAULT_CFLAGS in dg-runtest.
3324 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
3325 * testsuite/libgomp.c++/pr64824.C: Same.
3326 * testsuite/libgomp.c++/pr64868.C: Same.
3327 * testsuite/libgomp.c++/pr66199-1.C: Same.
3328 * testsuite/libgomp.c++/pr66199-2.C: Same.
3329 * testsuite/libgomp.c++/target-2.C: Same.
3330 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
3331 -std=<standard> option.
3332 * testsuite/libgomp.c++/udr-11.C: Same.
3333 * testsuite/libgomp.c++/udr-12.C: Same.
3334 * testsuite/libgomp.c++/udr-13.C: Same.
3335 * testsuite/libgomp.c++/udr-14.C: Same.
3336 * testsuite/libgomp.c++/udr-15.C: Same.
3337 * testsuite/libgomp.c++/udr-16.C: Same.
3338 * testsuite/libgomp.c++/udr-17.C: Same.
3339 * testsuite/libgomp.c++/udr-18.C: Same.
3340 * testsuite/libgomp.c++/udr-19.C: Same.
3341 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
3342 * testsuite/libgomp.c++/simd-1.C: Same.
3343 * testsuite/libgomp.c++/simd-2.C: Same.
3344 * testsuite/libgomp.c++/simd-3.C: Same.
3345 * testsuite/libgomp.c++/simd-4.C: Same.
3346 * testsuite/libgomp.c++/simd-5.C: Same.
3347 * testsuite/libgomp.c++/simd-6.C: Same.
3348 * testsuite/libgomp.c++/simd-7.C: Same.
3349 * testsuite/libgomp.c++/simd-8.C: Same.
3350 * testsuite/libgomp.c++/simd-9.C: Same.
3351 * testsuite/libgomp.c++/simd10.C: Same.
3352 * testsuite/libgomp.c++/simd11.C: Same.
3353 * testsuite/libgomp.c++/simd12.C: Same.
3354 * testsuite/libgomp.c++/simd13.C: Same.
3355
3356 2015-06-30 Jakub Jelinek <jakub@redhat.com>
3357
3358 PR middle-end/66702
3359 * testsuite/libgomp.c++/pr66702-1.C: New test.
3360 * testsuite/libgomp.c++/pr66702-2.C: New test.
3361
3362 2015-06-30 Tom de Vries <tom@codesourcery.com>
3363
3364 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
3365 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
3366 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
3367 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
3368
3369 2015-06-30 Tom de Vries <tom@codesourcery.com>
3370
3371 PR tree-optimization/66652
3372 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
3373 using restrict pointers.
3374 (main): Add arguments to calls to f.
3375 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3376
3377 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
3378
3379 * configure.ac: Fix check for header <sys/sysctl.h>.
3380 * configure: Regenerate.
3381 * config.h.in: Likewise.
3382
3383 2015-06-23 Tom de Vries <tom@codesourcery.com>
3384
3385 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
3386 abort.
3387 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
3388
3389 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
3390
3391 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
3392 acc_device_nvidia.
3393
3394 PR libgomp/66518
3395 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
3396 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3397
3398 2015-06-15 Tom de Vries <tom@codesourcery.com>
3399
3400 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
3401 dg-additional-options for any remaining options.
3402 * testsuite/libgomp.c/atomic-2.c: Same.
3403 * testsuite/libgomp.c/atomic-4.c: Same.
3404 * testsuite/libgomp.c/atomic-5.c: Same.
3405 * testsuite/libgomp.c/atomic-6.c: Same.
3406 * testsuite/libgomp.c/autopar-1.c: Same.
3407 * testsuite/libgomp.c/copyin-1.c: Same.
3408 * testsuite/libgomp.c/copyin-2.c: Same.
3409 * testsuite/libgomp.c/copyin-3.c: Same.
3410 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
3411 * testsuite/libgomp.c/nestedfn-5.c: Same.
3412 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
3413 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
3414 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
3415 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3416 * testsuite/libgomp.c/pr32362-1.c: Same.
3417 * testsuite/libgomp.c/pr32362-2.c: Same.
3418 * testsuite/libgomp.c/pr32362-3.c: Same.
3419 * testsuite/libgomp.c/pr39591-1.c: Same.
3420 * testsuite/libgomp.c/pr39591-2.c: Same.
3421 * testsuite/libgomp.c/pr39591-3.c: Same.
3422 * testsuite/libgomp.c/pr58392.c: Same.
3423 * testsuite/libgomp.c/pr58756.c: Same.
3424 * testsuite/libgomp.c/simd-1.c: Same.
3425 * testsuite/libgomp.c/simd-10.c: Same.
3426 * testsuite/libgomp.c/simd-11.c: Same.
3427 * testsuite/libgomp.c/simd-12.c: Same.
3428 * testsuite/libgomp.c/simd-13.c: Same.
3429 * testsuite/libgomp.c/simd-14.c: Same.
3430 * testsuite/libgomp.c/simd-15.c: Same.
3431 * testsuite/libgomp.c/simd-2.c: Same.
3432 * testsuite/libgomp.c/simd-3.c: Same.
3433 * testsuite/libgomp.c/simd-4.c: Same.
3434 * testsuite/libgomp.c/simd-5.c: Same.
3435 * testsuite/libgomp.c/simd-6.c: Same.
3436 * testsuite/libgomp.c/simd-7.c: Same.
3437 * testsuite/libgomp.c/simd-8.c: Same.
3438 * testsuite/libgomp.c/simd-9.c: Same.
3439
3440 2015-06-15 Tom de Vries <tom@codesourcery.com>
3441
3442 * testsuite/libgomp.c/pr35625.c: Fix typo.
3443
3444 2015-06-15 Tom de Vries <tom@codesourcery.com>
3445
3446 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
3447 in dg-options.
3448 * testsuite/libgomp.c/atomic-3.c: Same.
3449 * testsuite/libgomp.c/debug-1.c: Same.
3450 * testsuite/libgomp.c/nqueens-1.c: Same.
3451 * testsuite/libgomp.c/pr26171.c: Same.
3452 * testsuite/libgomp.c/pr48591.c: Same.
3453 * testsuite/libgomp.c/pr64824.c: Same.
3454 * testsuite/libgomp.c/pr64868.c: Same.
3455 * testsuite/libgomp.c/pr66133.c: Same.
3456 * testsuite/libgomp.c/pr66199-1.c: Same.
3457 * testsuite/libgomp.c/pr66199-2.c: Same.
3458 * testsuite/libgomp.c/target-8.c: Same.
3459
3460 2015-06-15 Tom de Vries <tom@codesourcery.com>
3461
3462 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
3463 -std={gnu99,c99}.
3464 * testsuite/libgomp.c/for-1.c: Same.
3465 * testsuite/libgomp.c/for-2.c: Same.
3466 * testsuite/libgomp.c/for-3.c: Same.
3467 * testsuite/libgomp.c/pr35625.c: Same.
3468 * testsuite/libgomp.c/pr39154.c: Same.
3469 * testsuite/libgomp.c/simd-16.c: Same.
3470 * testsuite/libgomp.c/simd-17.c: Same.
3471
3472 2015-06-13 Tom de Vries <tom@codesourcery.com>
3473
3474 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
3475
3476 2015-06-13 Tom de Vries <tom@codesourcery.com>
3477
3478 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
3479 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3480 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
3481 (N): Define.
3482 (main): Use N instead of hardcoded constants.
3483
3484 2015-06-05 Tom de Vries <tom@codesourcery.com>
3485
3486 merge from gomp4 branch:
3487 2015-05-28 Tom de Vries <tom@codesourcery.com>
3488
3489 PR tree-optimization/65443
3490 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
3491 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
3492 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
3493
3494 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
3495
3496 * testsuite/libgomp.graphite/bounds.c: Adjust for
3497 cleanup-tree-dump removal.
3498 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
3499 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
3500 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
3501 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
3502 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
3503 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
3504 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
3505 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
3506 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
3507 * testsuite/libgomp.graphite/pr41118.c: Likewise.
3508
3509 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
3510
3511 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
3512 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
3513 (futex_wake) [!__x86_64__]: Ditto.
3514
3515 2015-05-28 Julian Brown <julian@codesourcery.com>
3516
3517 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
3518 function comment. Only call gomp_fatal if new argument is true.
3519 (acc_dev_num_out_of_range): New function.
3520 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
3521 acc_dev_num_out_of_range as appropriate.
3522 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
3523 (acc_get_device_num, acc_set_device_num): Update calls to
3524 resolve_device.
3525 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
3526 output.
3527
3528 2015-05-28 Julian Brown <julian@codesourcery.com>
3529
3530 PR libgomp/65742
3531 * oacc-init.c (plugin/plugin-host.h): Include.
3532 (acc_on_device): Check whether we're in an offloaded region for
3533 host_nonshm
3534 plugin. Don't use __builtin_acc_on_device.
3535 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
3536 nonshm_exec flag in thread-local data.
3537 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
3538 data for host_nonshm plugin.
3539 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
3540 for host_nonshm plugin.
3541 * plugin/plugin-host.h: New.
3542
3543 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
3544
3545 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
3546
3547 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
3548
3549 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
3550 Declare as int.
3551 (FUTEX_PRIVATE_FLAG): Remove L suffix.
3552 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
3553 Declare as int.
3554
3555 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
3556
3557 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
3558
3559 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
3560
3561 * target.c (gomp_map_pointer): New function abstracting out
3562 GOMP_MAP_POINTER handling.
3563 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
3564 gomp_map_pointer().
3565
3566 2015-05-19 Jakub Jelinek <jakub@redhat.com>
3567
3568 PR middle-end/66199
3569 * testsuite/libgomp.c/pr66199-1.c: New test.
3570 * testsuite/libgomp.c/pr66199-2.c: New test.
3571 * testsuite/libgomp.c++/pr66199-1.C: New test.
3572 * testsuite/libgomp.c++/pr66199-2.C: New test.
3573 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
3574 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
3575
3576 2015-05-19 Julian Brown <julian@codesourcery.com>
3577
3578 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
3579 on cuInit failure.
3580
3581 2015-05-13 Jakub Jelinek <jakub@redhat.com>
3582
3583 PR middle-end/66133
3584 * testsuite/libgomp.c/pr66133.c: New test.
3585
3586 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
3587
3588 * Makefile.in: Regenerated with automake-1.11.6.
3589 * aclocal.m4: Likewise.
3590 * config.h.in: Likewise.
3591 * configure: Likewise.
3592 * testsuite/Makefile.in: Likewise.
3593
3594 2015-05-08 Jason Merrill <jason@redhat.com>
3595
3596 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
3597 _Complex.
3598
3599 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
3600
3601 2015-05-06 Julian Brown <julian@codesourcery.com>
3602
3603 * oacc-init.c (acc_device_lock): Add explanatory comment.
3604 (resolve_device): Add comment about locking requirement.
3605 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
3606 gomp_init_device and gomp_fini_device calls.
3607 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
3608 (acc_get_device_num, acc_set_device_num): Add locking around
3609 resolve_device and gomp_init_device calls.
3610
3611 2015-05-06 Julian Brown <julian@codesourcery.com>
3612
3613 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
3614 goacc_thread_lock on error paths.
3615 * oacc-mem.c (lookup_host): Remove locking from function. Note
3616 locking requirement for caller in function comment.
3617 (lookup_dev): Likewise.
3618 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
3619 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
3620 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
3621 Add locking.
3622
3623 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
3624
3625 PR testsuite/65205
3626 PR libgomp/65993
3627 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
3628 don't expect "0x" prefix for "%p" format specifier, don't expect
3629 "(nil)" for NULL pointer.
3630 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3631 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3632 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3633 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3634 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3635 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3636 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3637 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3638 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
3639 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
3640 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3641 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3642 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3643 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3644 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
3645 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
3646 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
3647 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
3648 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3649 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3650 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3651 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3652 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3653 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3654 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3655 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3656 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
3657 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
3658 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
3659 accurately specify what we're looking for.
3660 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3661 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3662 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3663 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3664 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3665
3666 2015-04-30 James Norris <jnorris@codesourcery.com>
3667
3668 PR testsuite/65205
3669 * testsuite/lib/libgomp.exp
3670 (check_effective_target_openacc_host_selected)
3671 (check_effective_target_openacc_host_nonshm_selected): New
3672 procedures.
3673 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
3674 dg-shouldfail.
3675 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
3676 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
3677 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3678 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3679 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3680 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
3681 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3682 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3683 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3684 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3685 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3686 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
3687 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
3688 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3689 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3690 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
3691 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3692 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3693 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
3694 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
3695 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
3696 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
3697 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
3698 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3699 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3700 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3701 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3702 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3703 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3704 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3705 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3706 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
3707 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
3708 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
3709 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
3710 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
3711 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
3712 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
3713 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
3714 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
3715 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
3716 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
3717 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
3718
3719 2015-04-08 Julian Brown <julian@codesourcery.com>
3720
3721 * libgomp.h (target_mem_desc: Remove mem_map field.
3722 (acc_dispatch_t): Remove open_device_func, close_device_func,
3723 get_device_num_func, set_device_num_func, target_data members.
3724 Change create_thread_data_func argument to device number instead of
3725 generic pointer.
3726 * oacc-async.c (assert.h): Include.
3727 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
3728 (acc_wait_all, acc_wait_all_async): Use current host thread's
3729 active device, not base_dev.
3730 * oacc-cuda.c (acc_get_current_cuda_device)
3731 (acc_get_current_cuda_context, acc_get_cuda_stream)
3732 (acc_set_cuda_stream): Likewise.
3733 * oacc-host.c (host_dispatch): Don't set open_device_func,
3734 close_device_func, get_device_num_func or set_device_num_func.
3735 * oacc-init.c (base_dev, init_key): Remove.
3736 (cached_base_dev): New.
3737 (name_of_acc_device_t): New.
3738 (acc_init_1): Initialise default-numbered device, not zeroth.
3739 (acc_shutdown_1): Close all devices of a given type.
3740 (goacc_destroy_thread): Don't use base_dev.
3741 (lazy_open, lazy_init, lazy_init_and_open): Remove.
3742 (goacc_attach_host_thread_to_device): New.
3743 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
3744 (acc_get_num_devices): Don't use base_dev.
3745 (acc_set_device_type): Reimplement.
3746 (acc_get_device_type): Don't use base_dev.
3747 (acc_get_device_num): Tweak logic.
3748 (acc_set_device_num): Likewise.
3749 (acc_on_device): Use acc_get_device_type.
3750 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
3751 (goacc_lazy_initialize): Reimplement with acc_init and
3752 goacc_attach_host_thread_to_device.
3753 * oacc-int.h (goacc_thread): Add base_dev field.
3754 (base_dev): Remove extern declaration.
3755 (goacc_attach_host_thread_to_device): Add prototype.
3756 * oacc-mem.c (acc_malloc): Use current thread's device instead of
3757 base_dev.
3758 (acc_free): Likewise.
3759 (acc_memcpy_to_device): Likewise.
3760 (acc_memcpy_from_device): Likewise.
3761 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
3762 goacc_lazy_initialize (throughout).
3763 (GOACC_parallel): Use tgt_offset to locate target functions.
3764 * target.c (gomp_map_vars): Don't set tgt->mem_map.
3765 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
3766 (gomp_load_plugin_for_device): Remove open_device, close_device,
3767 get_device_num, set_device_num openacc hook initialisation. Don't set
3768 openacc.target_data.
3769 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
3770 (GOMP_OFFLOAD_openacc_close_device)
3771 (GOMP_OFFLOAD_openacc_get_device_num)
3772 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
3773 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
3774 to int.
3775 * plugin/plugin-nvptx.c (ptx_inited): Remove.
3776 (instantiated_devices, ptx_dev_lock): New.
3777 (struct ptx_image_data): New.
3778 (ptx_devices, ptx_images, ptx_image_lock): New.
3779 (fini_streams_for_device): Reorder cuStreamDestroy call.
3780 (nvptx_get_num_devices): Remove forward declaration.
3781 (nvptx_init): Change return type to bool.
3782 (nvptx_fini): Remove.
3783 (nvptx_attach_host_thread_to_device): New.
3784 (nvptx_open_device): Return struct ptx_device* instead of void*.
3785 (nvptx_close_device): Change argument type to struct ptx_device*,
3786 return type to void.
3787 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
3788 (kernel_target_data, kernel_host_table): Remove static globals.
3789 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
3790 (GOMP_OFFLOAD_init_device): Reimplement.
3791 (GOMP_OFFLOAD_fini_device): Likewise.
3792 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
3793 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
3794 (GOMP_OFFLOAD_host2dev): Use ORD argument.
3795 (GOMP_OFFLOAD_openacc_open_device)
3796 (GOMP_OFFLOAD_openacc_close_device)
3797 (GOMP_OFFLOAD_openacc_set_device_num)
3798 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
3799 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
3800 (device number).
3801
3802 testsuite/
3803 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
3804
3805 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
3806
3807 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
3808 * libgomp.h (struct gomp_memory_mapping): Remove.
3809 (struct target_mem_desc): Change type of mem_map from
3810 gomp_memory_mapping * to splay_tree_s *.
3811 (struct gomp_device_descr): Remove register_image_func, get_table_func.
3812 Add load_image_func, unload_image_func.
3813 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
3814 Remove offload_regions_registered.
3815 (gomp_init_tables): Remove.
3816 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
3817 to splay_tree_s *.
3818 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
3819 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
3820 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
3821 offload_regions_registered.
3822 Initialize load_image_func, unload_image_func, mem_map.root.
3823 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
3824 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
3825 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
3826 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
3827 gomp_memory_mapping *. Use dev's lock and splay_tree.
3828 (lookup_dev): Use dev's lock.
3829 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
3830 (acc_is_present): Likewise.
3831 (acc_map_data): Likewise.
3832 (acc_unmap_data): Likewise. Use dev's lock.
3833 (present_create_copy): Likewise.
3834 (delete_copyout): Pass dev to lookup_host instead of mem_map.
3835 (update_dev_host): Likewise.
3836 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
3837 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
3838 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
3839 (GOMP_OFFLOAD_get_table): Remove
3840 (GOMP_OFFLOAD_load_image): New function.
3841 (GOMP_OFFLOAD_unload_image): New function.
3842 * target.c (register_lock): New mutex for offload image registration.
3843 (num_devices): Do not guard with PLUGIN_SUPPORT.
3844 (gomp_realloc_unlock): New static function.
3845 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
3846 before gomp_fatal.
3847 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
3848 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
3849 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
3850 mem_map's.
3851 (gomp_unmap_vars): Likewise.
3852 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
3853 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
3854 (gomp_offload_image_to_device): New static function.
3855 (GOMP_offload_register): Add mutex lock.
3856 Call gomp_offload_image_to_device for all initialized devices.
3857 Replace gomp_realloc with gomp_realloc_unlock.
3858 (GOMP_offload_unregister): New function.
3859 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
3860 get_table_func from the plugin with calls to init_device_func and
3861 gomp_offload_image_to_device.
3862 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
3863 to splay_tree_s *.
3864 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
3865 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
3866 (GOMP_target_data): Do not call gomp_init_tables.
3867 (GOMP_target_update): Likewise. Remove argument from gomp_update.
3868 (gomp_load_plugin_for_device): Replace register_image and get_table
3869 with load_image and unload_image in DLSYM ().
3870 (gomp_register_images_for_device): Remove function.
3871 (gomp_target_init): Do not initialize current_device.mem_map.*,
3872 current_device.offload_regions_registered.
3873 Remove call to gomp_register_images_for_device.
3874 Do not free offload_images and num_offload_images.
3875
3876 2015-03-30 Jakub Jelinek <jakub@redhat.com>
3877
3878 PR fortran/65597
3879 * testsuite/libgomp.fortran/pr65597.f90: New test.
3880
3881 2015-03-27 Tom de Vries <tom@codesourcery.com>
3882
3883 PR testsuite/65594
3884 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
3885 (init, check): New function.
3886 (foo): Change return type to void.
3887 (main): Call init and check.
3888
3889 2015-03-27 Tom de Vries <tom@codesourcery.com>
3890
3891 PR testsuite/65594
3892 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
3893 (foo): Use M for non-inner loops to scale down test-case.
3894
3895 2015-03-25 Kai Tietz <ktietz@redhat.com>
3896
3897 PR libgomp/64972
3898 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
3899 (GOACC_data_start): Likewise.
3900 * target.c (gomp_map_vars): Likewise.
3901
3902 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
3903
3904 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
3905 hppa*-*-hpux*.
3906
3907 2015-03-19 Jakub Jelinek <jakub@redhat.com>
3908
3909 * testsuite/libgomp.c/target-10.c: New test.
3910 * testsuite/libgomp.c++/target-4.C: New test.
3911
3912 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
3913
3914 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
3915 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
3916
3917 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
3918
3919 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
3920 * configure.ac (*-*-rtems*): Assume Pthread is supported.
3921 (pthread.h): Check for this header file.
3922 * configure: Regenerate.
3923
3924 2015-02-25 Tom de Vries <tom@codesourcery.com>
3925
3926 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
3927 (check_reduction_op, check_reduction_macro, max, min):
3928 Declare.
3929 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
3930 function.
3931 (main): Use new functions.
3932
3933 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
3934
3935 * target.c (gomp_load_plugin_for_device): Use const char * instead of
3936 char * for variables holding dlerror return values.
3937 (DLSYM_OPT): Ditto.
3938
3939 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
3940
3941 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
3942
3943 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
3944 Cesar Philippidis <cesar@codesourcery.com>
3945
3946 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
3947 GOACC_ctaid, and GOACC_nctaid routines.
3948
3949 2015-02-11 Jakub Jelinek <jakub@redhat.com>
3950
3951 PR c/64824
3952 * testsuite/libgomp.c/atomic-18.c: New test.
3953 * testsuite/libgomp.c++/atomic-16.C: New test.
3954
3955 2015-02-04 Jakub Jelinek <jakub@redhat.com>
3956
3957 PR c/64824
3958 PR c/64868
3959 * testsuite/libgomp.c/pr64824.c: New test.
3960 * testsuite/libgomp.c/pr64868.c: New test.
3961 * testsuite/libgomp.c++/pr64824.C: New test.
3962 * testsuite/libgomp.c++/pr64868.C: New test.
3963
3964 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
3965
3966 PR libgomp/64635
3967 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
3968 Link with -lpthread.
3969 * config/aix/plugin-suffix.h: Delete.
3970
3971 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
3972
3973 PR libgomp/64635
3974 * configure.tgt (*-*-aix*): Use config_path "aix posix".
3975 (*-*-darwin*): Use config_path "bsd darwin posix".
3976 (*-*-hpux*): Use config_path "hpux posix".
3977 * target.c: Add include of plugin-suffix.h and use
3978 SONAME_SUFFIX macro.
3979 * config/aix/plugin-suffix.h: New file.
3980 * config/darwin/plugin-suffix.h: New file.
3981 * config/hpux/plugin-suffix.h: New file.
3982 * config/posix/plugin-suffix.h: New file.
3983
3984 2015-01-23 Jakub Jelinek <jakub@redhat.com>
3985
3986 PR middle-end/64734
3987 * libgomp.c/pr64734.c: New test.
3988
3989 2015-01-23 Tom de Vries <tom@codesourcery.com>
3990
3991 PR libgomp/64672
3992 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
3993
3994 2015-01-23 Tom de Vries <tom@codesourcery.com>
3995
3996 PR libgomp/64707
3997 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
3998 dg-options.
3999
4000 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
4001
4002 PR libgomp/64625
4003 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
4004 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
4005 formal parameter. Update all users.
4006 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
4007 Document unused formal parameter.
4008
4009 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
4010
4011 * oacc-parallel.c: Don't include <alloca.h>.
4012 (GOACC_parallel): Use gomp_alloca instead of alloca.
4013
4014 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
4015
4016 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
4017
4018 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
4019 James Norris <jnorris@codesourcery.com>
4020 Tom de Vries <tom@codesourcery.com>
4021 Julian Brown <julian@codesourcery.com>
4022 Cesar Philippidis <cesar@codesourcery.com>
4023 Nathan Sidwell <nathan@codesourcery.com>
4024 Tobias Burnus <burnus@net-b.de>
4025
4026 * Makefile.am (search_path): Add $(top_srcdir)/../include.
4027 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
4028 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
4029 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
4030 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
4031 Include $(top_srcdir)/plugin/Makefrag.am.
4032 (nodist_libsubinclude_HEADERS): Add openacc.h.
4033 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
4034 openacc.f90, openacc.mod, openacc_kinds.mod.
4035 (omp_lib.mod): Generalize into...
4036 (%.mod): ... this new rule.
4037 (openacc_kinds.mod, openacc.mod): New rules.
4038 * plugin/configfrag.ac: New file.
4039 * configure.ac: Move plugin/offloading support into it. Include
4040 it. Instantiate testsuite/libgomp-test-support.pt.exp.
4041 * plugin/Makefrag.am: New file.
4042 * testsuite/Makefile.am (OFFLOAD_TARGETS)
4043 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
4044 export.
4045 (libgomp-test-support.exp): New rule.
4046 (all-local): Depend on it.
4047 * Makefile.in: Regenerate.
4048 * testsuite/Makefile.in: Regenerate.
4049 * config.h.in: Likewise.
4050 * configure: Likewise.
4051 * configure.tgt: Harden shell syntax.
4052 * env.c: Include "oacc-int.h".
4053 (parse_acc_device_type): New function.
4054 (gomp_debug_var, goacc_device_type, goacc_device_num): New
4055 variables.
4056 (initialize_env): Initialize those. Call
4057 goacc_runtime_initialize.
4058 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
4059 (gomp_fatal): Call gomp_vfatal.
4060 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
4061 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
4062 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
4063 (splay_tree_node, splay_tree, splay_tree_key)
4064 (struct target_mem_desc, struct splay_tree_key_s)
4065 (struct gomp_memory_mapping, struct acc_dispatch_t)
4066 (struct gomp_device_descr, gomp_acc_insert_pointer)
4067 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
4068 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
4069 (gomp_free_memmap, gomp_fini_device): New declarations.
4070 (gomp_vdebug, gomp_debug): New macros.
4071 Include "splay-tree.h".
4072 * libgomp.map (OACC_2.0): New symbol version. Use for
4073 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
4074 acc_set_device_type_h_, acc_get_device_type,
4075 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
4076 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
4077 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
4078 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
4079 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
4080 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
4081 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
4082 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
4083 acc_copyin_array_h_, acc_present_or_copyin,
4084 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
4085 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
4086 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
4087 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
4088 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
4089 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
4090 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
4091 acc_update_device, acc_update_device_32_h_,
4092 acc_update_device_64_h_, acc_update_device_array_h_,
4093 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
4094 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
4095 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
4096 acc_is_present_64_h_, acc_is_present_array_h_,
4097 acc_memcpy_to_device, acc_memcpy_from_device,
4098 acc_get_current_cuda_device, acc_get_current_cuda_context,
4099 acc_get_cuda_stream, acc_set_cuda_stream.
4100 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
4101 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
4102 GOACC_update, GOACC_wait, GOACC_get_thread_num,
4103 GOACC_get_num_threads.
4104 (GOMP_PLUGIN_1.0): New symbol version. Use for
4105 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
4106 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
4107 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
4108 GOMP_PLUGIN_acc_thread.
4109 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
4110 environment variable.
4111 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
4112 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
4113 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
4114 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
4115 (splay_tree_remove): New declarations.
4116 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
4117 (splay_tree_remove, splay_tree_lookup): Move into...
4118 * splay-tree.c: ... this new file.
4119 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
4120 (splay_tree_node, splay_tree, splay_tree_key)
4121 (struct target_mem_desc, struct splay_tree_key_s)
4122 (struct gomp_device_descr): Don't declare.
4123 (num_devices_openmp): New variable.
4124 (gomp_get_num_devices ): Use it.
4125 (gomp_init_targets_once): New function.
4126 (gomp_get_num_devices ): Use it.
4127 (get_kind, gomp_copy_from_async, gomp_free_memmap)
4128 (gomp_fini_device, gomp_register_image_for_device): New functions.
4129 (gomp_map_vars): Add devaddrs parameter.
4130 (gomp_update): Add mm parameter.
4131 (gomp_init_device): Move most of it into...
4132 (gomp_init_tables): ... this new function.
4133 (gomp_register_images_for_device): Remove function.
4134 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
4135 Make them hidden instead of static.
4136 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
4137 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
4138 (GOMP_target_end_data, GOMP_target_update)
4139 (gomp_load_plugin_for_device, gomp_target_init): Update for
4140 OpenACC changes.
4141 * oacc-async.c: New file.
4142 * oacc-cuda.c: Likewise.
4143 * oacc-host.c: Likewise.
4144 * oacc-init.c: Likewise.
4145 * oacc-int.h: Likewise.
4146 * oacc-mem.c: Likewise.
4147 * oacc-parallel.c: Likewise.
4148 * oacc-plugin.c: Likewise.
4149 * oacc-plugin.h: Likewise.
4150 * oacc-ptx.h: Likewise.
4151 * openacc.f90: Likewise.
4152 * openacc.h: Likewise.
4153 * openacc_lib.h: Likewise.
4154 * plugin/plugin-host.c: Likewise.
4155 * plugin/plugin-nvptx.c: Likewise.
4156 * libgomp-plugin.c: Likewise.
4157 * libgomp-plugin.h: Likewise.
4158 * libgomp_target.h: Remove file after merging content into the
4159 former file. Update all users.
4160 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
4161 (offload_targets_s, offload_targets_s_openacc): New variables.
4162 (check_effective_target_openacc_nvidia_accel_present)
4163 (check_effective_target_openacc_nvidia_accel_selected): New
4164 procedures.
4165 (libgomp_init): Update for OpenACC changes.
4166 * testsuite/libgomp-test-support.exp.in: New file.
4167 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
4168 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4169 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4170 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
4171 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
4172 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4173 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
4174 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
4175 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
4176 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
4177 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
4178 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
4179 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
4180 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4181 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
4182 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4183 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4184 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4185 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4186 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4187 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
4188 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
4189 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4190 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
4191 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4192 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4193 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4194 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4195 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4196 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4197 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4198 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
4199 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
4200 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
4201 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
4202 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
4203 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
4204 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
4205 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
4206 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4207 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4208 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4209 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4210 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4211 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4212 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
4213 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4214 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4215 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4216 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4217 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4218 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4219 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4220 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4221 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4222 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4223 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4224 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
4225 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4226 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
4227 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
4228 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
4229 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4230 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4231 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4232 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
4233 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
4234 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4235 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
4236 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4237 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
4238 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4239 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4240 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4241 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
4242 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
4243 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4244 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4245 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
4246 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
4247 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
4248 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
4249 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4250 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4251 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4252 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
4253 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
4254 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4255 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4256 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
4257 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
4258 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
4259 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
4260 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
4261 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4262 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4263 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4264 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
4265 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4266 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4267 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
4268 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
4269 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
4270 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
4271 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
4272 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
4273 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
4274 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
4275 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
4276 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
4277 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
4278 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
4279 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
4280 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
4281 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4282 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4283 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
4284 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
4285 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
4286 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
4287 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
4288 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
4289 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
4290 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
4291 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
4292 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
4293 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4294 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
4295 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
4296 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
4297 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
4298 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
4299 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
4300 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
4301 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
4302 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4303 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4304 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4305 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4306 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
4307 Likewise.
4308 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
4309 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
4310 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
4311 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
4312 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
4313 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4314 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4315 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4316 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4317 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4318 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4319 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4320 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4321 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4322 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4323 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4324 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4325 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4326 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4327 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4328 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4329 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4330 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4331 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4332 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4333 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4334 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
4335 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4336 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4337 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4338 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4339 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4340 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4341 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4342 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4343 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4344 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4345 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4346 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4347 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4348 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4349 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4350 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4351 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4352 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4353 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4354 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4355 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4356 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4357 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4358 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4359 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4360 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4361 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4362 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4363 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4364 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4365 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4366 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4367 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4368
4369 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
4370 Julian Brown <julian@codesourcery.com>
4371 David Malcolm <dmalcolm@redhat.com>
4372
4373 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
4374 to "GNU Offloading and Multi Processing Runtime Library". Change
4375 all users.
4376 * configure: Regenerate.
4377 * libgomp.texi: Update.
4378
4379 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
4380
4381 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
4382 "$tgt_dir/lib32".
4383 * configure: Regenerate.
4384
4385 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
4386 "intelmic" in $offload_targets.
4387
4388 2015-01-05 Jakub Jelinek <jakub@redhat.com>
4389
4390 Update copyright years.
4391
4392 * libgomp.texi: Bump @copying's copyright year.
4393
4394 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4395
4396 * testsuite/lib/libgomp.exp: Load target-utils.exp.
4397 Move load of target-supportes.exp earlier.
4398
4399 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
4400
4401 * testsuite/libgomp.c/target-9.c: New test.
4402
4403 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
4404
4405 * config.h.in: Regenerate.
4406 * configure: Regenerate.
4407 * configure.ac: Add GCC_CHECK_EMUTLS.
4408 * libgomp.h: Add check for USE_EMUTLS: this case
4409 is equal to HAVE_TLS.
4410 * team.c: Likewise.
4411
4412 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
4413
4414 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
4415
4416 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
4417 Ilya Verbin <ilya.verbin@intel.com>
4418
4419 * testsuite/libgomp.c/target-critical-1.c: New test.
4420
4421 2014-11-26 Jakub Jelinek <jakub@redhat.com>
4422
4423 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
4424 to dg-options unless expensive testing is on.
4425 (TESTITERS): Define to N if not defined.
4426 (main): Use TESTITERS instead of N.
4427 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
4428 dg-additional-options depending on whether expensive testing is on.
4429 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
4430 Decrease N to 100000 and CHUNKSZ to 10000.
4431
4432 2014-11-24 Jakub Jelinek <jakub@redhat.com>
4433
4434 PR fortran/63938
4435 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
4436 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
4437
4438 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
4439
4440 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
4441
4442 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
4443
4444 PR bootstrap/63784
4445 * configure: Regenerated.
4446
4447 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
4448
4449 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
4450 vect_simd_clones effective target.
4451 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
4452
4453 2014-11-14 Jakub Jelinek <jakub@redhat.com>
4454
4455 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
4456 of 32 as block_size.
4457 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
4458 instead of 32 as block_size.
4459
4460 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
4461 Ilya Verbin <ilya.verbin@intel.com>
4462
4463 * Makefile.in: Regenerate.
4464 * configure: Regenerate.
4465 * configure.ac: Set up offload_additional_options,
4466 offload_additional_lib_paths and offload_targets.
4467 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
4468 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
4469 * testsuite/Makefile.in: Regenerate.
4470 * testsuite/lib/libgomp.exp (libgomp_init): Append
4471 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
4472 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
4473 build directory to LD_LIBRARY_PATH for intelmic offload targets.
4474
4475 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
4476 Ilya Verbin <ilya.verbin@intel.com>
4477 Kirill Yukhin <kirill.yukhin@intel.com>
4478 Ilya Tocar <ilya.tocar@intel.com>
4479
4480 * testsuite/lib/libgomp.exp
4481 (check_effective_target_offload_device): New.
4482 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
4483 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
4484 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
4485 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
4486 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
4487 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
4488 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
4489 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
4490 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
4491 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
4492 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
4493 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
4494 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
4495 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
4496 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
4497 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
4498 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
4499 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
4500 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
4501 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
4502 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
4503 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
4504 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
4505 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
4506 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
4507 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
4508 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
4509 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
4510 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
4511 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
4512 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
4513 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
4514 * testsuite/libgomp.c/target-7.c: Fix test.
4515 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
4516 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
4517 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
4518 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
4519 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
4520 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
4521 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
4522 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
4523 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
4524 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
4525 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
4526 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
4527 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
4528 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
4529 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
4530 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
4531 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
4532 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
4533 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
4534 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
4535 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
4536 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
4537 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
4538 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
4539 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
4540 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
4541 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
4542 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
4543 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
4544 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
4545 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
4546
4547 2014-11-13 Jakub Jelinek <jakub@redhat.com>
4548 Ilya Verbin <ilya.verbin@intel.com>
4549 Thomas Schwinge <thomas@codesourcery.com>
4550 Andrey Turetskiy <andrey.turetskiy@intel.com>
4551
4552 * libgomp.map (GOMP_4.0.1): New symbol version.
4553 Add GOMP_offload_register.
4554 * libgomp_target.h: New file.
4555 * splay-tree.h: New file.
4556 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
4557 (gomp_target_init): New forward declaration.
4558 (gomp_is_initialized): New static variable.
4559 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
4560 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
4561 New structures.
4562 (offload_images, num_offload_images, devices, num_devices): New static
4563 variables.
4564 (splay_compare): New static function.
4565 (struct gomp_device_descr): New structure.
4566 (gomp_get_num_devices): Call gomp_target_init.
4567 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
4568 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
4569 (GOMP_offload_register): New function.
4570 (GOMP_target): Arrange for host callback to be performed in a separate
4571 initial thread and contention group, inheriting ICVs from
4572 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
4573 Add device initialization and lookup for target function in splay tree.
4574 (GOMP_target_data): Add device initialization and call gomp_map_vars.
4575 (GOMP_target_end_data): Call gomp_unmap_vars.
4576 (GOMP_target_update): Add device initialization and call gomp_update.
4577 (gomp_load_plugin_for_device, gomp_register_images_for_device)
4578 (gomp_target_init): New static functions.
4579
4580 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
4581 Thomas Schwinge <thomas@codesourcery.com>
4582 Ilya Verbin <ilya.verbin@intel.com>
4583 Andrey Turetskiy <andrey.turetskiy@intel.com>
4584
4585 * config.h.in: Regenerate.
4586 * configure: Regenerate.
4587 * configure.ac: Check for libdl, required for plugin support.
4588 (PLUGIN_SUPPORT): Define if plugins are supported.
4589 (enable_offload_targets): Support Intel MIC targets.
4590 (OFFLOAD_TARGETS): List of target names suitable for offloading.
4591
4592 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4593
4594 PR target/63610
4595 * configure: Regenerate.
4596
4597 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4598
4599 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
4600
4601 2014-10-06 Marek Polacek <polacek@redhat.com>
4602
4603 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
4604 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
4605 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
4606 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4607
4608 2014-10-06 Marek Polacek <polacek@redhat.com>
4609
4610 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
4611 * testsuite/libgomp.c/nqueens-1.c: Likewise.
4612 * testsuite/libgomp.c/pr26943-3.c: Likewise.
4613 * testsuite/libgomp.c/pr26943-4.c: Likewise.
4614 * testsuite/libgomp.c/pr36802-2.c: Likewise.
4615 * testsuite/libgomp.c/pr36802-3.c: Likewise.
4616 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
4617 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4618 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
4619 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
4620 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
4621 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
4622 * testsuite/libgomp.c/omp-single-1.c: Likewise.
4623 * testsuite/libgomp.c/omp-single-2.c: Likewise.
4624 * testsuite/libgomp.c/omp_matvec.c: Likewise.
4625 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
4626 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
4627 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
4628 declarations.
4629
4630 2014-10-03 Jakub Jelinek <jakub@redhat.com>
4631
4632 PR libgomp/61200
4633 * testsuite/libgomp.c/pr61200.c: New test.
4634
4635 2014-09-18 Jakub Jelinek <jakub@redhat.com>
4636
4637 PR c++/63248
4638 * testsuite/libgomp.c++/pr63248.C: New test.
4639
4640 2014-08-04 Jakub Jelinek <jakub@redhat.com>
4641
4642 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
4643 is not zero, but taskgroup->children is NULL and there are
4644 any task->children, schedule those instead of waiting.
4645 * testsuite/libgomp.c/depend-6.c: New test.
4646 * testsuite/libgomp.c/depend-7.c: New test.
4647 * testsuite/libgomp.c/depend-8.c: New test.
4648 * testsuite/libgomp.c/depend-9.c: New test.
4649 * testsuite/libgomp.c/depend-10.c: New test.
4650
4651 2014-08-01 Jakub Jelinek <jakub@redhat.com>
4652
4653 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
4654 (struct gomp_taskwait): New type.
4655 (struct gomp_task): Add taskwait and parent_depends_on, remove
4656 in_taskwait and taskwait_sem fields.
4657 (gomp_finish_task): Don't destroy taskwait_sem.
4658 * task.c (gomp_init_task): Don't init in_taskwait, instead init
4659 taskwait and parent_depends_on.
4660 (GOMP_task): For if (0) tasks with depend clause that depend on
4661 earlier tasks don't defer them, instead call
4662 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
4663 Initialize redundant_out field, for redundant out entries just
4664 move them at the end of linked list instead of removing them
4665 completely, and set redundant_out flag instead of redundant.
4666 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
4667 that task.
4668 (gomp_task_run_post_handle_dependers): If parent is in
4669 gomp_task_maybe_wait_for_dependencies and newly runnable task
4670 is not parent_depends_on, queue it in parent->children linked
4671 list after all runnable tasks with parent_depends_on set.
4672 Adjust for addition of taskwait indirection.
4673 (gomp_task_run_post_remove_parent): If parent is in
4674 gomp_task_maybe_wait_for_dependencies and task to be removed
4675 is parent_depends_on, decrement n_depend and if needed awake
4676 parent. Adjust for addition of taskwait indirection.
4677 (GOMP_taskwait): Adjust for addition of taskwait indirection.
4678 (gomp_task_maybe_wait_for_dependencies): New function.
4679 * testsuite/libgomp.c/depend-5.c: New test.
4680
4681 2014-07-13 Tobias Burnus <burnus@net-b.de>
4682
4683 * testsuite/libgomp.fortran/pr34020.f90: Make compile
4684 with TS 18508/Fortran 2015.
4685
4686 2014-07-06 Marek Polacek <polacek@redhat.com>
4687
4688 PR c/6940
4689 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
4690
4691 2014-07-03 Jakub Jelinek <jakub@redhat.com>
4692
4693 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
4694 matches regex $lang_source_re, add $lang_include_flags to options.
4695 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
4696 * testsuite/libgomp.c++/c++.exp: Likewise.
4697 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
4698 and lang_include_flags instead of adding -fintrinsic-modules-path= to
4699 ALWAYS_CFLAGS.
4700 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
4701
4702 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
4703
4704 * testsuite/libgomp.fortran/fortran.exp: Explain
4705 gfortran-dg-runtest usage.
4706
4707 2014-06-25 Jakub Jelinek <jakub@redhat.com>
4708
4709 * testsuite/libgomp.fortran/simd5.f90: New test.
4710 * testsuite/libgomp.fortran/simd6.f90: New test.
4711 * testsuite/libgomp.fortran/simd7.f90: New test.
4712
4713 2014-06-24 Jakub Jelinek <jakub@redhat.com>
4714
4715 * testsuite/libgomp.c/for-2.c: Define SC to static for
4716 #pragma omp for simd testing.
4717 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
4718 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
4719 SC macro.
4720 * testsuite/libgomp.c/simd-14.c: New test.
4721 * testsuite/libgomp.c/simd-15.c: New test.
4722 * testsuite/libgomp.c/simd-16.c: New test.
4723 * testsuite/libgomp.c/simd-17.c: New test.
4724 * testsuite/libgomp.c++/for-10.C: Define SC to static for
4725 #pragma omp for simd testing.
4726 * testsuite/libgomp.c++/simd10.C: New test.
4727 * testsuite/libgomp.c++/simd11.C: New test.
4728 * testsuite/libgomp.c++/simd12.C: New test.
4729 * testsuite/libgomp.c++/simd13.C: New test.
4730
4731 * testsuite/libgomp.fortran/aligned1.f03: New test.
4732 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
4733 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
4734 tasks with !$omp parallel !$omp single.
4735 * testsuite/libgomp.fortran/target8.f90: New test.
4736 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
4737 not to use trim in the combiner, instead call elemental function.
4738 (fn): New elemental function.
4739 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
4740 Make elemental.
4741 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
4742 omp_in): Likewise.
4743 * testsuite/libgomp.fortran/udr12.f90: New test.
4744 * testsuite/libgomp.fortran/udr13.f90: New test.
4745 * testsuite/libgomp.fortran/udr14.f90: New test.
4746 * testsuite/libgomp.fortran/udr15.f90: New test.
4747
4748 2014-06-18 Jakub Jelinek <jakub@redhat.com>
4749
4750 * omp_lib.f90.in (openmp_version): Set to 201307.
4751 * omp_lib.h.in (openmp_version): Likewise.
4752 * testsuite/libgomp.c/target-8.c: New test.
4753 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
4754 and inbranch clauses.
4755 * testsuite/libgomp.fortran/depend-3.f90: New test.
4756 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
4757 openmp_version.
4758 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4759 * testsuite/libgomp.fortran/target1.f90: New test.
4760 * testsuite/libgomp.fortran/target2.f90: New test.
4761 * testsuite/libgomp.fortran/target3.f90: New test.
4762 * testsuite/libgomp.fortran/target4.f90: New test.
4763 * testsuite/libgomp.fortran/target5.f90: New test.
4764 * testsuite/libgomp.fortran/target6.f90: New test.
4765 * testsuite/libgomp.fortran/target7.f90: New test.
4766
4767 2014-06-10 Jakub Jelinek <jakub@redhat.com>
4768
4769 PR fortran/60928
4770 * testsuite/libgomp.fortran/allocatable9.f90: New test.
4771 * testsuite/libgomp.fortran/allocatable10.f90: New test.
4772 * testsuite/libgomp.fortran/allocatable11.f90: New test.
4773 * testsuite/libgomp.fortran/allocatable12.f90: New test.
4774 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
4775 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
4776 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
4777 * testsuite/libgomp.fortran/associate1.f90: New test.
4778 * testsuite/libgomp.fortran/associate2.f90: New test.
4779 * testsuite/libgomp.fortran/procptr1.f90: New test.
4780
4781 2014-06-06 Jakub Jelinek <jakub@redhat.com>
4782
4783 * testsuite/libgomp.fortran/simd1.f90: New test.
4784 * testsuite/libgomp.fortran/udr1.f90: New test.
4785 * testsuite/libgomp.fortran/udr2.f90: New test.
4786 * testsuite/libgomp.fortran/udr3.f90: New test.
4787 * testsuite/libgomp.fortran/udr4.f90: New test.
4788 * testsuite/libgomp.fortran/udr5.f90: New test.
4789 * testsuite/libgomp.fortran/udr6.f90: New test.
4790 * testsuite/libgomp.fortran/udr7.f90: New test.
4791 * testsuite/libgomp.fortran/udr8.f90: New test.
4792 * testsuite/libgomp.fortran/udr9.f90: New test.
4793 * testsuite/libgomp.fortran/udr10.f90: New test.
4794 * testsuite/libgomp.fortran/udr11.f90: New test.
4795
4796 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
4797
4798 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
4799 vect_simd_clones effective target.
4800 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
4801
4802 2014-05-21 Jakub Jelinek <jakub@redhat.com>
4803
4804 PR middle-end/61252
4805 * testsuite/libgomp.c++/simd-9.C: New test.
4806
4807 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
4808
4809 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
4810 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
4811 texts according to their @menu entry positions.
4812
4813 2014-05-11 Jakub Jelinek <jakub@redhat.com>
4814
4815 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
4816 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
4817 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
4818 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
4819 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
4820 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
4821 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
4822 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
4823 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
4824 * testsuite/libgomp.fortran/depend-1.f90: New test.
4825 * testsuite/libgomp.fortran/depend-2.f90: New test.
4826 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
4827 * testsuite/libgomp.fortran/simd1.f90: New test.
4828 * testsuite/libgomp.fortran/simd2.f90: New test.
4829 * testsuite/libgomp.fortran/simd3.f90: New test.
4830 * testsuite/libgomp.fortran/simd4.f90: New test.
4831 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
4832
4833 2014-05-02 Jakub Jelinek <jakub@redhat.com>
4834
4835 * testsuite/libgomp.c/simd-10.c: New test.
4836 * testsuite/libgomp.c/simd-11.c: New test.
4837 * testsuite/libgomp.c/simd-12.c: New test.
4838 * testsuite/libgomp.c/simd-13.c: New test.
4839
4840 2014-04-24 Jakub Jelinek <jakub@redhat.com>
4841
4842 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
4843 atomic type clauses in any order and optional comma in between.
4844 * testsuite/libgomp.c++/atomic-15.C: Likewise.
4845 * testsuite/libgomp.c/atomic-17.c: Likewise.
4846
4847 * testsuite/libgomp.c/simd-7.c: New test.
4848 * testsuite/libgomp.c/simd-8.c: New test.
4849 * testsuite/libgomp.c/simd-9.c: New test.
4850 * testsuite/libgomp.c/loop-16.c: New test.
4851
4852 2014-04-02 Richard Henderson <rth@redhat.com>
4853
4854 * config/linux/futex.h (futex_wait): Get error value from errno.
4855 (futex_wake): Likewise.
4856
4857 2014-03-25 Jakub Jelinek <jakub@redhat.com>
4858
4859 PR c++/60331
4860 * testsuite/libgomp.c++/udr-11.C: New test.
4861 * testsuite/libgomp.c++/udr-12.C: New test.
4862 * testsuite/libgomp.c++/udr-13.C: New test.
4863 * testsuite/libgomp.c++/udr-14.C: New test.
4864 * testsuite/libgomp.c++/udr-15.C: New test.
4865 * testsuite/libgomp.c++/udr-16.C: New test.
4866 * testsuite/libgomp.c++/udr-17.C: New test.
4867 * testsuite/libgomp.c++/udr-18.C: New test.
4868 * testsuite/libgomp.c++/udr-19.C: New test.
4869
4870 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4871
4872 Update copyright years
4873
4874 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4875
4876 * hashtab.h: Use the standard form for the copyright notice.
4877
4878 2014-01-02 Tobias Burnus <burnus@net-b.de>
4879
4880 * libgomp.texi: Bump @copying's copyright year.
4881
4882 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
4883
4884 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
4885 alloca () with __builtin_alloca ().
4886 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
4887 * testsuite/libgomp.c/lock-3.c: Likewise.
4888 * testsuite/libgomp.c/pr48591.c: Likewise.
4889
4890 2013-12-17 Jakub Jelinek <jakub@redhat.com>
4891
4892 PR testsuite/59534
4893 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
4894 comparisons.
4895
4896 2013-12-16 Jakub Jelinek <jakub@redhat.com>
4897
4898 PR libgomp/58756
4899 * testsuite/libgomp.c/pr58756.c: New test.
4900
4901 2013-12-12 Jakub Jelinek <jakub@redhat.com>
4902
4903 PR libgomp/59467
4904 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
4905 !$omp parallel.
4906
4907 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
4908
4909 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
4910 ALWAYS_CFLAGS.
4911 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
4912 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
4913 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
4914 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
4915 Likewise.
4916
4917 * libgomp_g.h: Include <stddef.h> for size_t.
4918
4919 * libgomp.spec.in: Update comment about libgomp's dependencies.
4920 * configure.ac: Likewise.
4921 * configure: Regenerate.
4922
4923 2013-10-16 Tobias Burnus <burnus@net-b.de>
4924
4925 * libgomp.texi: (Runtime Library Routines): Update references for
4926 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
4927 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
4928 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
4929 (Environment Variables): Update references for OpenMP 4.0. Add
4930 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
4931 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
4932 order.
4933
4934 2013-10-14 Jakub Jelinek <jakub@redhat.com>
4935
4936 * env.c (parse_bind_var): Initialize value to avoid
4937 (false positive) warning.
4938
4939 2013-10-12 Jakub Jelinek <jakub@redhat.com>
4940
4941 PR libgomp/58691
4942 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
4943 to check variable.
4944 (gomp_init_num_threads): Move i variable declaration into
4945 #ifdef CPU_ALLOC_SIZE block.
4946 * config/linux/affinity.c (gomp_affinity_init_level): Test
4947 gomp_places_list_len == 0 rather than gomp_places_list == 0
4948 when checking for topology reading error.
4949 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
4950 * env.c (parse_affinity): Add ignore argument, if true, don't populate
4951 gomp_places_list, only parse env var and always return false.
4952 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
4953 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
4954 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
4955 and either of these variables were parsed correctly into a places
4956 list.
4957
4958 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
4959 Jakub Jelinek <jakub@redhat.com>
4960
4961 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
4962 of 5 loopfn matches.
4963 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
4964 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
4965 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
4966 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
4967 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
4968 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
4969 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
4970 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
4971
4972 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
4973
4974 * Makefile.am (omp_lib.mod): Streamline rule.
4975 * Makefile.in: Regenerate.
4976
4977 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
4978 exceptions.
4979
4980 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
4981 * testsuite/libgomp.fortran/lib1.f90: Likewise.
4982 * testsuite/libgomp.fortran/lib2.f: Likewise.
4983 * testsuite/libgomp.fortran/lib3.f: Likewise.
4984
4985 * configure.ac: Typo fix.
4986 * configure: Regenerate.
4987
4988 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
4989 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4990
4991 * omp.h.in: Don't touch the user's namespace.
4992
4993 2013-10-11 Jakub Jelinek <jakub@redhat.com>
4994 Tobias Burnus <burnus@net-b.de>
4995 Richard Henderson <rth@redhat.com>
4996
4997 * target.c: New file.
4998 * Makefile.am (libgomp_la_SOURCES): Add target.c.
4999 * Makefile.in: Regenerated.
5000 * libgomp_g.h (GOMP_task): Add depend argument.
5001 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
5002 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
5003 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
5004 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
5005 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
5006 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
5007 GOMP_taskgroup_start, GOMP_taskgroup_end,
5008 GOMP_parallel_sections): New prototypes.
5009 * fortran.c (omp_is_initial_device): Add ialias_redirect.
5010 (omp_is_initial_device_): New function.
5011 (ULP, STR1, STR2, ialias_redirect): Removed.
5012 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
5013 omp_set_default_device_8_, omp_get_default_device_,
5014 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
5015 functions.
5016 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
5017 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
5018 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
5019 @@GOMP_4.0.
5020 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
5021 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
5022 omp_set_default_device, omp_set_default_device_,
5023 omp_set_default_device_8_, omp_get_default_device,
5024 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
5025 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
5026 omp_get_team_num_): Export @@OMP_4.0.
5027 * team.c (struct gomp_thread_start_data): Add place field.
5028 (gomp_thread_start): Clear thr->thread_pool and
5029 thr->task before returning. Use gomp_team_barrier_wait_final
5030 instead of gomp_team_barrier_wait. Initialize thr->place.
5031 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
5032 team_cancelled and task_queued_count fields.
5033 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
5034 before calling pthread_exit.
5035 (gomp_free_thread): No longer static. Use
5036 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
5037 (gomp_team_start): Add flags argument. Set
5038 thr->thread_pool->threads_busy to nthreads immediately after creating
5039 new pool. Use gomp_managed_threads_lock instead of
5040 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
5041 (gomp_team_end): Use gomp_managed_threads_lock instead of
5042 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
5043 of gomp_team_barrier_wait. If team->team_cancelled, call
5044 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
5045 rather than thr->ts.work_share.
5046 (initialize_team): Don't call gomp_sem_init here.
5047 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
5048 caller.
5049 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
5050 * env.c (gomp_global_icv): Add default_device_var, target_data and
5051 bind_var initializers.
5052 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
5053 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
5054 gomp_places_list_len): New variables.
5055 (parse_bind_var, parse_one_place, parse_places_var): New functions.
5056 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
5057 sized places.
5058 (gomp_cancel_var): New global variable.
5059 (parse_int): New function.
5060 (handle_omp_display_env): New function.
5061 (initialize_env): Use it. Initialize default_device_var.
5062 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
5063 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
5064 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
5065 been successfully parsed (and call gomp_init_affinity in that case).
5066 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5067 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5068 omp_get_team_num, omp_is_initial_device): New functions.
5069 * libgomp.h: Include stdlib.h.
5070 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
5071 Define.
5072 (struct target_mem_desc): Forward declare.
5073 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
5074 and thread_limit_var fields.
5075 (gomp_get_num_devices): New prototype.
5076 (gomp_cancel_var): New extern decl.
5077 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
5078 team_cancelled and task_queued_count fields. Add comments about
5079 task_{,queued_,running_}count.
5080 (gomp_cancel_kind): New enum.
5081 (gomp_work_share_end_cancel): New prototype.
5082 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
5083 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
5084 and depend fields.
5085 (struct gomp_taskgroup): New type.
5086 (struct gomp_task_depend_entry,
5087 struct gomp_dependers_vec): New types.
5088 (gomp_finish_task): Free depend_hash if non-NULL.
5089 (struct gomp_team_state): Add place_partition_off
5090 and place_partition_len fields.
5091 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
5092 gomp_places_list_len): New extern decls.
5093 (struct gomp_thread): Add place field.
5094 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
5095 (gomp_init_thread_affinity): Add place argument.
5096 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5097 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5098 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5099 gomp_affinity_init_level, gomp_affinity_print_place): New
5100 prototypes.
5101 (gomp_team_start): Add flags argument.
5102 (gomp_thread_limit_var, gomp_remaining_threads_count,
5103 gomp_remaining_threads_lock): Remove.
5104 (gomp_managed_threads_lock): New variable.
5105 (struct gomp_thread_pool): Add threads_busy field.
5106 (gomp_free_thread): New prototype.
5107 * task.c: Include hashtab.h.
5108 (hash_entry_type): New typedef.
5109 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
5110 (gomp_init_task): Clear dependers, depend_hash, depend_count,
5111 copy_ctors_done and taskgroup fields.
5112 (GOMP_task): Add depend argument, handle depend clauses. If
5113 gomp_team_barrier_cancelled or if it's taskgroup has been
5114 cancelled, don't queue or start new tasks. Set copy_ctors_done
5115 field if needed. Initialize taskgroup field. If copy_ctors_done
5116 and already cancelled, don't discard the task. If taskgroup is
5117 non-NULL, enqueue the task into taskgroup queue. Increment
5118 num_children field in taskgroup. Increment task_queued_count.
5119 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
5120 gomp_task_run_post_remove_taskgroup): New inline functions.
5121 (gomp_task_run_post_handle_depend_hash,
5122 gomp_task_run_post_handle_dependers,
5123 gomp_task_run_post_handle_depend): New functions.
5124 (GOMP_taskwait): Use them. If more than one new tasks
5125 have been queued, wake other threads if needed.
5126 (gomp_barrier_handle_tasks): Likewise. If
5127 gomp_team_barrier_cancelled, don't start any new tasks, just free
5128 all tasks.
5129 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
5130 * omp_lib.f90.in
5131 (omp_proc_bind_kind, omp_proc_bind_false,
5132 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
5133 omp_proc_bind_spread): New params.
5134 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5135 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5136 omp_get_team_num, omp_is_initial_device): New interfaces.
5137 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
5138 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
5139 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
5140 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
5141 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
5142 useless use omp_lib_kinds.
5143 * omp.h.in (omp_proc_bind_t): New typedef.
5144 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5145 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5146 omp_get_team_num, omp_is_initial_device): New prototypes.
5147 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
5148 through to gomp_team_start.
5149 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
5150 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
5151 Adjust gomp_parallel_loop_start callers.
5152 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
5153 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
5154 GOMP_loop_end_cancel): New functions.
5155 (GOMP_parallel_end): Add ialias_redirect.
5156 * hashtab.h: New file.
5157 * libgomp.texi (Environment Variables): Minor cleanup,
5158 update section refs to OpenMP 4.0rc2.
5159 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
5160 environment variables.
5161 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
5162 team->work_shares_to_free to thr->ts.work_share before calling
5163 free_work_share.
5164 (gomp_work_share_end_cancel): New function.
5165 * config/linux/proc.c: Include errno.h.
5166 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
5167 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
5168 sizeof (cpu_set_t) to determine number of iterations. Fix up check
5169 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
5170 gomp_cpuset_size is sizeof (cpu_set_t).
5171 (gomp_init_num_threads): Initialize gomp_cpuset_size,
5172 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
5173 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
5174 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
5175 contain any logical CPUs.
5176 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
5177 is NULL. Use gomp_cpusetp instead of &cpuset and pass
5178 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
5179 pthread_getaffinity_np. Check gomp_places_list instead of
5180 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
5181 * config/linux/bar.c (gomp_barrier_wait_end,
5182 gomp_barrier_wait_last): Use BAR_* defines.
5183 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
5184 from state where needed. Set work_share_cancelled to 0 on last
5185 thread.
5186 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
5187 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
5188 functions.
5189 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
5190 Add cpusetsize argument.
5191 (gomp_cpuset_size, gomp_cpusetp): Declare.
5192 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
5193 (affinity_counter): Remove.
5194 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
5195 if CPU_ALLOC_SIZE isn't defined.
5196 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
5197 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
5198 bind current thread to the first place.
5199 (gomp_init_thread_affinity): Rewritten. Add place argument, just
5200 pthread_setaffinity_np to gomp_places_list[place].
5201 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5202 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5203 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5204 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
5205 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
5206 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
5207 (gomp_barrier_t): Add awaited_final field.
5208 (gomp_barrier_init): Initialize awaited_final field.
5209 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
5210 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
5211 prototypes.
5212 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
5213 defines.
5214 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
5215 gomp_team_barrier_cancelled): New inline functions.
5216 (gomp_barrier_last_thread,
5217 gomp_team_barrier_set_task_pending,
5218 gomp_team_barrier_clear_task_pending,
5219 gomp_team_barrier_set_waiting_for_tasks,
5220 gomp_team_barrier_waiting_for_tasks,
5221 gomp_team_barrier_done): Use BAR_* defines.
5222 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
5223 (gomp_barrier_wait_end): Use BAR_* defines.
5224 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
5225 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
5226 Use BAR_* defines.
5227 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
5228 gomp_team_barrier_cancel): New functions.
5229 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
5230 argument.
5231 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5232 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5233 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5234 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
5235 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
5236 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
5237 (gomp_barrier_t): Add cancellable field.
5238 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
5239 gomp_team_barrier_cancel): New prototypes.
5240 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
5241 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
5242 gomp_team_barrier_cancelled): New inline functions.
5243 (gomp_barrier_wait_start, gomp_barrier_last_thread,
5244 gomp_team_barrier_set_task_pending,
5245 gomp_team_barrier_clear_task_pending,
5246 gomp_team_barrier_set_waiting_for_tasks,
5247 gomp_team_barrier_waiting_for_tasks,
5248 gomp_team_barrier_done): Use BAR_* defines.
5249 * barrier.c (GOMP_barrier_cancel): New function.
5250 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
5251 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
5252 omp_proc_bind_spread): New params.
5253 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5254 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5255 omp_get_team_num, omp_is_initial_device): New externals.
5256 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
5257 New functions.
5258 (gomp_resolve_num_threads): Adjust for thread_limit now being in
5259 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
5260 infinity. If not nested, just return minimum of max_num_threads
5261 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
5262 to the returned value. Otherwise, don't update atomically
5263 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
5264 (GOMP_parallel_end): Adjust for thread_limit now being in
5265 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
5266 infinity. Adjust threads_busy in the pool rather than
5267 gomp_remaining_threads_count. Remember team->nthreads and call
5268 gomp_team_end before adjusting threads_busy, if not nested
5269 afterwards, just set it to 1 non-atomically. Add ialias.
5270 (GOMP_parallel_start): Adjust gomp_team_start caller.
5271 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
5272 * testsuite/libgomp.c/affinity-1.c: New test.
5273 * testsuite/libgomp.c/atomic-15.c: New test.
5274 * testsuite/libgomp.c/atomic-16.c: New test.
5275 * testsuite/libgomp.c/atomic-17.c: New test.
5276 * testsuite/libgomp.c/cancel-for-1.c: New test.
5277 * testsuite/libgomp.c/cancel-for-2.c: New test.
5278 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
5279 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
5280 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
5281 * testsuite/libgomp.c/cancel-sections-1.c: New test.
5282 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
5283 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
5284 * testsuite/libgomp.c/depend-1.c: New test.
5285 * testsuite/libgomp.c/depend-2.c: New test.
5286 * testsuite/libgomp.c/depend-3.c: New test.
5287 * testsuite/libgomp.c/depend-4.c: New test.
5288 * testsuite/libgomp.c/for-1.c: New test.
5289 * testsuite/libgomp.c/for-1.h: New file.
5290 * testsuite/libgomp.c/for-2.c: New test.
5291 * testsuite/libgomp.c/for-2.h: New file.
5292 * testsuite/libgomp.c/for-3.c: New test.
5293 * testsuite/libgomp.c/pr58392.c: New test.
5294 * testsuite/libgomp.c/simd-1.c: New test.
5295 * testsuite/libgomp.c/simd-2.c: New test.
5296 * testsuite/libgomp.c/simd-3.c: New test.
5297 * testsuite/libgomp.c/simd-4.c: New test.
5298 * testsuite/libgomp.c/simd-5.c: New test.
5299 * testsuite/libgomp.c/simd-6.c: New test.
5300 * testsuite/libgomp.c/target-1.c: New test.
5301 * testsuite/libgomp.c/target-2.c: New test.
5302 * testsuite/libgomp.c/target-3.c: New test.
5303 * testsuite/libgomp.c/target-4.c: New test.
5304 * testsuite/libgomp.c/target-5.c: New test.
5305 * testsuite/libgomp.c/target-6.c: New test.
5306 * testsuite/libgomp.c/target-7.c: New test.
5307 * testsuite/libgomp.c/taskgroup-1.c: New test.
5308 * testsuite/libgomp.c/thread-limit-1.c: New test.
5309 * testsuite/libgomp.c/thread-limit-2.c: New test.
5310 * testsuite/libgomp.c/thread-limit-3.c: New test.
5311 * testsuite/libgomp.c/udr-1.c: New test.
5312 * testsuite/libgomp.c/udr-2.c: New test.
5313 * testsuite/libgomp.c/udr-3.c: New test.
5314 * testsuite/libgomp.c++/affinity-1.C: New test.
5315 * testsuite/libgomp.c++/atomic-10.C: New test.
5316 * testsuite/libgomp.c++/atomic-11.C: New test.
5317 * testsuite/libgomp.c++/atomic-12.C: New test.
5318 * testsuite/libgomp.c++/atomic-13.C: New test.
5319 * testsuite/libgomp.c++/atomic-14.C: New test.
5320 * testsuite/libgomp.c++/atomic-15.C: New test.
5321 * testsuite/libgomp.c++/cancel-for-1.C: New test.
5322 * testsuite/libgomp.c++/cancel-for-2.C: New test.
5323 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
5324 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
5325 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
5326 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
5327 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
5328 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
5329 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
5330 * testsuite/libgomp.c++/cancel-test.h: New file.
5331 * testsuite/libgomp.c++/for-9.C: New test.
5332 * testsuite/libgomp.c++/for-10.C: New test.
5333 * testsuite/libgomp.c++/for-11.C: New test.
5334 * testsuite/libgomp.c++/simd-1.C: New test.
5335 * testsuite/libgomp.c++/simd-2.C: New test.
5336 * testsuite/libgomp.c++/simd-3.C: New test.
5337 * testsuite/libgomp.c++/simd-4.C: New test.
5338 * testsuite/libgomp.c++/simd-5.C: New test.
5339 * testsuite/libgomp.c++/simd-6.C: New test.
5340 * testsuite/libgomp.c++/simd-7.C: New test.
5341 * testsuite/libgomp.c++/simd-8.C: New test.
5342 * testsuite/libgomp.c++/target-1.C: New test.
5343 * testsuite/libgomp.c++/target-2.C: New test.
5344 * testsuite/libgomp.c++/target-2-aux.cc: New file.
5345 * testsuite/libgomp.c++/target-3.C: New test.
5346 * testsuite/libgomp.c++/taskgroup-1.C: New test.
5347 * testsuite/libgomp.c++/udr-1.C: New test.
5348 * testsuite/libgomp.c++/udr-2.C: New test.
5349 * testsuite/libgomp.c++/udr-3.C: New test.
5350 * testsuite/libgomp.c++/udr-4.C: New test.
5351 * testsuite/libgomp.c++/udr-5.C: New test.
5352 * testsuite/libgomp.c++/udr-6.C: New test.
5353 * testsuite/libgomp.c++/udr-7.C: New test.
5354 * testsuite/libgomp.c++/udr-8.C: New test.
5355 * testsuite/libgomp.c++/udr-9.C: New test.
5356
5357 2013-09-20 Jakub Jelinek <jakub@redhat.com>
5358
5359 PR testsuite/57605
5360 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
5361 ALWAYS_CFLAGS.
5362
5363 2013-09-20 Alan Modra <amodra@gmail.com>
5364
5365 * configure: Regenerate.
5366
5367 2013-09-19 Jakub Jelinek <jakub@redhat.com>
5368
5369 * testsuite/libgomp.c/sections-2.c: New test.
5370
5371 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
5372
5373 * testsuite/libgomp.fortran/strassen.f90:
5374 Add dg-skip-if aarch64_tiny.
5375
5376 2013-06-20 Iain Sandoe <iain@codesourcery.com>
5377 Cesar Philippidis <cesar@codesourcery.com>
5378
5379 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
5380 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
5381 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
5382 * testsuite/libgomp.fortran/fortran.exp: Likewise.
5383 * testsuite/libgomp.graphite/graphite.exp: Likewise.
5384 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
5385 Use dg-runtest rather than gfortran-dg-runtest.
5386
5387 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
5388
5389 * testsuite/libgomp.c/icv-2.c: Extend current handling of
5390 Linux-based x86 systems to cover all GNU systems.
5391 * testsuite/libgomp.c/lock-3.c: Likewise.
5392 * testsuite/libgomp.c/pr48591.c: Likewise.
5393
5394 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
5395
5396 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
5397 GNU/Hurd, as done for Linux-based systems.
5398
5399 * config/posix/ptrlock.h: Fix comment.
5400
5401 2013-05-27 Tobias Burnus <burnus@net-b.de>
5402
5403 PR fortran/57423
5404 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
5405 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
5406 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
5407 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
5408 omp_destroy_nest_lock): Correct arguments to match the one in
5409 the OpenMP spec.
5410 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
5411 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
5412 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
5413 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
5414
5415 2013-05-16 Jakub Jelinek <jakub@redhat.com>
5416
5417 * testsuite/libgomp.c/loop-13.c: New test.
5418 * testsuite/libgomp.c/loop-14.c: New test.
5419 * testsuite/libgomp.c/loop-15.c: New test.
5420 * testsuite/libgomp.c++/loop-13.C: New test.
5421 * testsuite/libgomp.c++/loop-14.C: New test.
5422 * testsuite/libgomp.c++/loop-15.C: New test.
5423
5424 2013-02-06 Jakub Jelinek <jakub@redhat.com>
5425
5426 PR middle-end/56217
5427 * testsuite/libgomp.c++/pr56217.C: New test.
5428
5429 2013-02-01 Alan Modra <amodra@gmail.com>
5430
5431 * task.c (GOMP_task, GOMP_taskwait): Comment.
5432
5433 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
5434 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
5435
5436 PR libgomp/55561
5437 * config/linux/wait.h (do_spin): Use atomic load for addr.
5438 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
5439 for intptr and ptrlock.
5440 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
5441 for ptrlock.
5442
5443 2013-01-22 Alan Modra <amodra@gmail.com>
5444
5445 PR libgomp/51376
5446 PR libgomp/56073
5447 * task.c (GOMP_task): Revert 2011-12-09 change.
5448 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
5449 barrier to read task->children..
5450 (gomp_barrier_handle_tasks): ..and matching atomic store with
5451 release barrier here when setting parent->children to NULL.
5452
5453 2013-01-16 Jakub Jelinek <jakub@redhat.com>
5454 Tobias Burnus <burnus@net-b.de>
5455
5456 PR driver/55884
5457 * testsuite/libgomp.fortran/fortran.exp: Use
5458 -fintrinsic-modules-path= instead of
5459 -fintrinsic-modules-path.
5460
5461 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
5462
5463 Update copyright years.
5464
5465 2012-12-19 Tobias Burnus <burnus@net-b.de>
5466
5467 * testsuite/libgomp.fortran/fortran.exp: Set
5468 -fintrinsic-modules-path.
5469
5470 2012-12-19 Tobias Burnus <burnus@net-b.de>
5471
5472 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
5473 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
5474
5475 2012-11-21 Jakub Jelinek <jakub@redhat.com>
5476
5477 PR libgomp/55411
5478 * team.c (gomp_free_thread): Decrease gomp_managed_threads
5479 if pool had any threads_used.
5480
5481 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
5482
5483 * testsuite/libgomp.c++/pr24455.C: Use
5484 -Wl,-undefined,dynamic_lookup on darwin.
5485
5486 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
5487
5488 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
5489
5490 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
5491
5492 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
5493
5494 2012-10-23 Ian Bolton <ian.bolton@arm.com>
5495 Jim MacArthur <jim.macarthur@arm.com>
5496 Marcus Shawcroft <marcus.shawcroft@arm.com>
5497 Nigel Stephens <nigel.stephens@arm.com>
5498 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5499 Richard Earnshaw <rearnsha@arm.com>
5500 Sofiane Naci <sofiane.naci@arm.com>
5501 Stephen Thomas <stephen.thomas@arm.com>
5502 Tejas Belagod <tejas.belagod@arm.com>
5503 Yufeng Zhang <yufeng.zhang@arm.com>
5504
5505 * configure.tgt: Add AArch64.
5506
5507 2012-10-04 Jason Merrill <jason@redhat.com>
5508
5509 * testsuite/libgomp.c++/tls-init1.C: New.
5510
5511 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
5512
5513 * configure: Regenerated.
5514
5515 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
5516
5517 * config/linux/mips/futex.h (sys_futex0): Change to static
5518 function with noinline, nomips16 attributes under MIPS16. Adjust
5519 asm statement to place 'li v0,SYS_futex' immediately before
5520 syscall insn.
5521
5522 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
5523
5524 * libgomp.texi (Library Index): Renamed from "Index" to prevent
5525 conflict with index.html on case-insensitive file systems.
5526
5527 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
5528
5529 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
5530 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
5531
5532 2012-07-02 Richard Guenther <rguenther@suse.de>
5533 Michael Matz <matz@suse.de>
5534 Tobias Grosser <tobias@grosser.es>
5535 Sebastian Pop <sebpop@gmail.com>
5536
5537 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
5538 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
5539 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5540 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5541
5542 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
5543
5544 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
5545
5546 2012-06-22 Richard Guenther <rguenther@suse.de>
5547
5548 Merge from graphite branch
5549 2012-01-13 Tobias Grosser <tobias@grosser.es>
5550
5551 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
5552 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
5553
5554 2012-06-07 Jakub Jelinek <jakub@redhat.com>
5555
5556 PR middle-end/53580
5557 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
5558 use GOMP_barrier () call instead.
5559 * testsuite/libgomp.c/pr26943-3.c: Likewise.
5560 * testsuite/libgomp.c/pr26943-4.c: Likewise.
5561 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
5562 call GOMP_barrier instead.
5563 * testsuite/libgomp.fortran/vla5.f90: Likewise.
5564
5565 2012-06-06 Jakub Jelinek <jakub@redhat.com>
5566
5567 PR libgomp/52993
5568 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
5569 argument to memset call.
5570
5571 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
5572
5573 * configure: Regenerated.
5574
5575 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5576
5577 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
5578
5579 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
5580
5581 PR bootstrap/52812
5582 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
5583
5584 2012-03-22 Jakub Jelinek <jakub@redhat.com>
5585
5586 PR middle-end/52547
5587 * testsuite/libgomp.c/pr52547.c: New test.
5588
5589 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
5590
5591 * testsuite/lib/libgomp.exp: load fortran-modules.exp
5592
5593 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5594
5595 * configure.tgt (mips-sgi-irix6*): Remove.
5596
5597 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5598
5599 * configure.tgt (alpha*-dec-osf*): Remove.
5600
5601 * config/osf/sem.h: Remove.
5602 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
5603
5604 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
5605
5606 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
5607
5608 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5609
5610 PR libstdc++/52188
5611 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
5612 Remove ENABLE_SYMVERS_SOL2.
5613 * configure: Regenerate.
5614 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
5615 (PREPROCESS): New variable.
5616 (libgomp.ver): New target.
5617 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
5618 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
5619 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
5620 Use libgomp.ver.
5621 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
5622 * Makefile.in: Regenerate.
5623
5624 2012-02-14 Walter Lee <walt@tilera.com>
5625
5626 * configure.tgt: Handle tilegx and tilepro.
5627 * config/linux/tile/futex.h: New file.
5628
5629 2012-02-08 Richard Guenther <rguenther@suse.de>
5630
5631 PR tree-optimization/46886
5632 * testsuite/libgomp.c/pr46886.c: New testcase.
5633
5634 2012-01-25 Matthias Klose <doko@ubuntu.com>
5635
5636 * config/linux/arm: Remove empty directory.
5637 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
5638
5639 2011-12-09 Alan Modra <amodra@gmail.com>
5640
5641 PR libgomp/51376
5642 * task.c (GOMP_taskwait): Don't access task->children outside of
5643 task_lock mutex region.
5644 (GOMP_task): Likewise.
5645
5646 2011-12-06 Jakub Jelinek <jakub@redhat.com>
5647
5648 PR libgomp/51132
5649 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
5650 to file scope.
5651 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
5652 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
5653 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5654 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5655 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
5656
5657 2011-12-02 Alan Modra <amodra@gmail.com>
5658
5659 * config/linux/affinity.c: Use atomic rather than sync builtin.
5660 * config/linux/lock.c: Likewise.
5661 * config/linux/ptrlock.h: Likewise.
5662 * config/linux/ptrlock.c: Likewise.
5663 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
5664 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
5665 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
5666 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
5667 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
5668 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
5669 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
5670 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
5671 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
5672 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
5673
5674 2011-11-30 Alan Modra <amodra@gmail.com>
5675
5676 PR libgomp/51298
5677 * config/linux/bar.h: Use atomic rather than sync builtins.
5678 * config/linux/bar.c: Likewise. Add missing acquire
5679 synchronisation on generation field.
5680 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
5681 double unlock.
5682
5683 2011-11-30 Alan Modra <amodra@gmail.com>
5684
5685 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
5686 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
5687 * config/linux/mutex.h: Use atomic rather than sync builtins.
5688 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
5689 * config/linux/omp-lock.h: Comment fix.
5690 * config/linux/arm/mutex.h: Delete.
5691 * config/linux/powerpc/mutex.h: Delete.
5692 * config/linux/ia64/mutex.h: Delete.
5693 * config/linux/mips/mutex.h: Delete.
5694
5695 2011-11-30 Alan Modra <amodra@gmail.com>
5696
5697 PR libgomp/51249
5698 * config/linux/sem.h: Rewrite.
5699 * config/linux/sem.c: Rewrite.
5700
5701 2011-11-28 Richard Henderson <rth@redhat.com>
5702
5703 * libgomp.h (enum memmodel): New.
5704
5705 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
5706
5707 * configure: Regenerate.
5708
5709 2011-10-10 Matthias Klose <doko@ubuntu.com>
5710
5711 * config/posix95: Remove empty directory.
5712
5713 2011-08-26 Jakub Jelinek <jakub@redhat.com>
5714
5715 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
5716
5717 2011-08-19 Jakub Jelinek <jakub@redhat.com>
5718
5719 PR fortran/49792
5720 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
5721 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
5722
5723 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5724
5725 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
5726
5727 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5728
5729 PR libgomp/49965
5730 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
5731
5732 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
5733
5734 * config/linux/proc.h: New.
5735 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
5736 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
5737 (gomp_init_num_threads): Update call to cpuset_popcount.
5738 (get_num_procs): Ditto.
5739 * config/linux/affinity.c (gomp_init_affinity): Call
5740 gomp_cpuset_popcount.
5741
5742 2011-08-02 Jakub Jelinek <jakub@redhat.com>
5743
5744 PR fortran/42041
5745 PR fortran/46752
5746 * omp.h.in (omp_in_final): New prototype.
5747 * omp_lib.f90.in (omp_in_final): New interface.
5748 (omp_integer_kind, omp_logical_kind): Remove
5749 and replace all its uses in the module with 4.
5750 (openmp_version): Change to 201107.
5751 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
5752 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
5753 kind for the parameters.
5754 (omp_in_final): New external.
5755 (openmp_version): Change to 201107.
5756 * task.c (omp_in_final): New function.
5757 (gomp_init_task): Initialize final_task.
5758 (GOMP_task): Remove unused attribute from flags. Handle final
5759 tasks.
5760 (GOMP_taskyield): New function.
5761 (omp_in_final): Return true if if (false) or final (true) task
5762 or descendant of final (true).
5763 * fortran.c (omp_in_final_): New function.
5764 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
5765 (GOMP_3.0): Export GOMP_taskyield.
5766 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
5767 variables.
5768 (parse_unsigned_long_list): New function.
5769 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
5770 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
5771 even if parse_affinity returned false.
5772 * config/linux/affinity.c (gomp_init_affinity): Handle
5773 gomp_cpu_affinity_len == 0.
5774 * libgomp_g.h (GOMP_taskyield): New prototype.
5775 * libgomp.h (struct gomp_task): Add final_task field.
5776 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
5777 * team.c (gomp_team_start): Override new task's nthreads_var icv
5778 if list form OMP_NUM_THREADS has been used and it has value for
5779 the new nesting level.
5780
5781 * testsuite/libgomp.c/atomic-11.c: New test.
5782 * testsuite/libgomp.c/atomic-12.c: New test.
5783 * testsuite/libgomp.c/atomic-13.c: New test.
5784 * testsuite/libgomp.c/atomic-14.c: New test.
5785 * testsuite/libgomp.c/reduction-6.c: New test.
5786 * testsuite/libgomp.c/task-5.c: New test.
5787 * testsuite/libgomp.c++/atomic-2.C: New test.
5788 * testsuite/libgomp.c++/atomic-3.C: New test.
5789 * testsuite/libgomp.c++/atomic-4.C: New test.
5790 * testsuite/libgomp.c++/atomic-5.C: New test.
5791 * testsuite/libgomp.c++/atomic-6.C: New test.
5792 * testsuite/libgomp.c++/atomic-7.C: New test.
5793 * testsuite/libgomp.c++/atomic-8.C: New test.
5794 * testsuite/libgomp.c++/atomic-9.C: New test.
5795 * testsuite/libgomp.c++/task-8.C: New test.
5796 * testsuite/libgomp.c++/reduction-4.C: New test.
5797 * testsuite/libgomp.fortran/allocatable7.f90: New test.
5798 * testsuite/libgomp.fortran/allocatable8.f90: New test.
5799 * testsuite/libgomp.fortran/crayptr3.f90: New test.
5800 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
5801 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
5802 * testsuite/libgomp.fortran/pointer1.f90: New test.
5803 * testsuite/libgomp.fortran/pointer2.f90: New test.
5804 * testsuite/libgomp.fortran/task4.f90: New test.
5805
5806 2011-08-02 Tobias Burnus <burnus@net-b.de>
5807
5808 * libgomp.texi: Update OpenMP spec references to 3.1.
5809 (omp_in_final,OMP_PROC_BIND): New sections.
5810 (OMP_NUM_THREADS): Document that the value can be now a list.
5811 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
5812
5813 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
5814
5815 * config/linux/x86/futex.h: Check __x86_64__ instead of
5816 __LP64__.
5817
5818 2011-07-29 Jakub Jelinek <jakub@redhat.com>
5819
5820 PR middle-end/49897
5821 PR middle-end/49898
5822 * testsuite/libgomp.c/pr49897-1.c: New test.
5823 * testsuite/libgomp.c/pr49897-2.c: New test.
5824 * testsuite/libgomp.c/pr49898-1.c: New test.
5825 * testsuite/libgomp.c/pr49898-2.c: New test.
5826
5827 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
5828
5829 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
5830 for ia32 instead of ilp32.
5831
5832 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
5833 * testsuite/libgomp.c/atomic-6.c: Likewise.
5834
5835 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
5836
5837 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
5838 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
5839
5840 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5841
5842 PR libgomp/45351
5843 * config/osf/sem.h: New file.
5844 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
5845
5846 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5847
5848 PR target/49541
5849 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
5850 ldflags.
5851
5852 2011-07-15 Jakub Jelinek <jakub@redhat.com>
5853
5854 * config/linux/wait.h (do_spin): New inline, largely copied
5855 from do_wait, just don't do futex_wait here, instead return true if
5856 it should be done.
5857 (do_wait): Implement using do_spin.
5858 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
5859 to prototype.
5860 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
5861 __sync_bool_compare_and_swap, pass the oldval to
5862 gomp_mutex_lock_slow.
5863 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
5864 If all mutex contenders are just spinning and not sleeping, don't
5865 change state to 2 unnecessarily. Optimize the loop when state has
5866 already become 2 to use just one atomic operation per loop instead
5867 of two.
5868 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
5869 to prototype.
5870 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
5871 __sync_bool_compare_and_swap, pass the oldval to
5872 gomp_mutex_lock_slow.
5873
5874 2011-06-22 Jakub Jelinek <jakub@redhat.com>
5875
5876 PR libgomp/49490
5877 * iter.c (gomp_iter_static_next): For chunk size 0
5878 only use n ceil/ nthreads size for the first
5879 n % nthreads threads in the team instead of
5880 all threads except for the last few ones which
5881 get less work or none at all.
5882 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
5883 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
5884 chunk argument, set run_sched_modifier to 0 for static
5885 resp. 1 for other kinds. If chunk argument is 0
5886 and not static, set value to 1.
5887
5888 2011-05-19 Jakub Jelinek <jakub@redhat.com>
5889
5890 PR c++/49043
5891 * testsuite/libgomp.c++/pr49043.C: New test.
5892
5893 PR c++/48869
5894 * testsuite/libgomp.c++/pr48869.C: New test.
5895
5896 2011-05-06 Jakub Jelinek <jakub@redhat.com>
5897
5898 PR fortran/48894
5899 * fortran.c: Include limits.h.
5900 (TO_INT): Define.
5901 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
5902 *set.
5903 (omp_set_num_threads_8_, omp_set_schedule_8_,
5904 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
5905 omp_get_team_size_8_): Use TO_INT macro.
5906 * testsuite/libgomp.fortran/pr48894.f90: New test.
5907
5908 2011-04-13 Jakub Jelinek <jakub@redhat.com>
5909
5910 PR middle-end/48591
5911 * testsuite/libgomp.c/pr48591.c: New test.
5912
5913 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5914
5915 PR bootstrap/48135
5916 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
5917 * configure: Regenerate.
5918
1 2011-02-27 Jakub Jelinek <jakub@redhat.com> 5919 2011-02-27 Jakub Jelinek <jakub@redhat.com>
2 5920
3 PR fortran/47886 5921 PR fortran/47886
4 * testsuite/libgomp.fortran/task3.f90: New test. 5922 * testsuite/libgomp.fortran/task3.f90: New test.
5 5923
96 6014
97 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> 6015 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
98 Tobias Burnus <burnus@net-b.de> 6016 Tobias Burnus <burnus@net-b.de>
99 6017
100 PR fortran/32049 6018 PR fortran/32049
101 * configure.ac: 6019 * configure.ac:
102 * configure: Regenerate. 6020 * configure: Regenerate.
103 6021
104 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com> 6022 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
105 6023
106 * config/linux/futex.h: New. 6024 * config/linux/futex.h: New.
374 6292
375 2009-08-19 Tobias Burnus <burnus@net-b.de> 6293 2009-08-19 Tobias Burnus <burnus@net-b.de>
376 6294
377 PR fortran/41102 6295 PR fortran/41102
378 omp_lib.h.in: Fix -std=f95 errors. 6296 omp_lib.h.in: Fix -std=f95 errors.
379
380 6297
381 2009-08-14 David Edelsohn <edelsohn@gnu.org> 6298 2009-08-14 David Edelsohn <edelsohn@gnu.org>
382 6299
383 * testsuite/libgomp.graphite: Move from gcc.dg/graphite. 6300 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
384 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete. 6301 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
860 gomp_threads_dock): Removed. 6777 gomp_threads_dock): Removed.
861 (gomp_thread_destructor): New variable. 6778 (gomp_thread_destructor): New variable.
862 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New 6779 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
863 functions. 6780 functions.
864 (gomp_team_start): Create new pool if current thread doesn't have 6781 (gomp_team_start): Create new pool if current thread doesn't have
865 one. Use pool fields instead of global gomp_* variables. 6782 one. Use pool fields instead of global gomp_* variables.
866 Initialize thread_pool field for new threads. Clear single_count. 6783 Initialize thread_pool field for new threads. Clear single_count.
867 Change last argument from ws to team, don't create 6784 Change last argument from ws to team, don't create
868 new team, set ts.work_share to &team->work_shares[0] and clear 6785 new team, set ts.work_share to &team->work_shares[0] and clear
869 ts.last_work_share. Don't clear ts.work_share_generation. 6786 ts.last_work_share. Don't clear ts.work_share_generation.
870 If number of threads changed, adjust atomically gomp_managed_threads. 6787 If number of threads changed, adjust atomically gomp_managed_threads.
1092 gomp_barrier_state_t. 7009 gomp_barrier_state_t.
1093 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static 7010 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
1094 inlines. 7011 inlines.
1095 * config/posix/bar.c (gomp_barrier_init): Clear generation field. 7012 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
1096 (gomp_barrier_wait_end): Change second argument to 7013 (gomp_barrier_wait_end): Change second argument to
1097 gomp_barrier_state_t. 7014 gomp_barrier_state_t.
1098 (gomp_team_barrier_wait, gomp_team_barrier_wait_end, 7015 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
1099 gomp_team_barrier_wake): New functions. 7016 gomp_team_barrier_wake): New functions.
1100 * config/linux/mutex.c: Include wait.h instead of libgomp.h and 7017 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
1101 futex.h. 7018 futex.h.
1102 (gomp_futex_wake, gomp_futex_wait): New variables. 7019 (gomp_futex_wake, gomp_futex_wait): New variables.
2928 * testsuite/loop-1.c: New file. 8845 * testsuite/loop-1.c: New file.
2929 8846
2930 2005-05-03 Richard Henderson <rth@redhat.com> 8847 2005-05-03 Richard Henderson <rth@redhat.com>
2931 8848
2932 Initial implementation and checkin. 8849 Initial implementation and checkin.
8850
8851 Copyright (C) 2005-2017 Free Software Foundation, Inc.
8852
8853 Copying and distribution of this file, with or without modification,
8854 are permitted in any medium without royalty provided the copyright
8855 notice and this notice are preserved.