]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgomp/ChangeLog
[libgomp] Clarify difference between offload target, offload plugin, and OpenACC...
[thirdparty/gcc.git] / libgomp / ChangeLog
1 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
2
3 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
4 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
5 instead of OFFLOAD_TARGETS.
6 * target.c (gomp_target_init): Adjust.
7 * testsuite/libgomp-test-support.exp.in: Likewise.
8 * testsuite/lib/libgomp.exp: Likewise. Populate
9 openacc_device_types_s instead of offload_targets_s_openacc.
10 (check_effective_target_openacc_nvidia_accel_selected)
11 (check_effective_target_openacc_host_selected): Adjust.
12 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
13 * testsuite/libgomp.oacc-c/c.exp: Likewise.
14 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
15 * Makefile.in: Regenerate.
16 * config.h.in: Likewise.
17 * configure: Likewise.
18 * testsuite/Makefile.in: Likewise.
19
20 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
21 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
22 "offloading: supported, but hardware not accessible".
23 * testsuite/libgomp.oacc-c/c.exp: Likewise.
24 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
25
26 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
27
28 PR c/87924
29 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
30 goacc_wait().
31 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
32 and related adjustment.
33
34 2019-01-30 Jakub Jelinek <jakub@redhat.com>
35
36 PR c++/88988
37 * testsuite/libgomp.c++/pr88988.C: New test.
38
39 2019-01-28 Jakub Jelinek <jakub@redhat.com>
40
41 PR middle-end/89002
42 * testsuite/libgomp.c/pr89002.c: New test.
43
44 2019-01-28 Richard Biener <rguenther@suse.de>
45
46 PR testsuite/89064
47 PR tree-optimization/86865
48 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
49
50 2019-01-24 Tom de Vries <tdevries@suse.de>
51
52 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
53 once instantiated_devices drops to 0.
54
55 2019-01-23 Tom de Vries <tdevries@suse.de>
56
57 PR target/PR88946
58 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
59 cuMemFree.
60 (nvptx_exec): Don't call map_push if mapnum == 0.
61 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
62
63 2019-01-23 Tom de Vries <tdevries@suse.de>
64
65 PR target/88941
66 PR target/88939
67 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
68 (map_fini): Remove "assert (!s->map->active)".
69 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
70
71 2019-01-23 Tom de Vries <tdevries@suse.de>
72
73 PR target/87835
74 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
75 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
76
77 2019-01-15 Tom de Vries <tdevries@suse.de>
78
79 PR target/80547
80 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
81 New test.
82
83 2019-01-12 Tom de Vries <tdevries@suse.de>
84
85 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
86 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
87 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
88 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
89
90 2019-01-12 Tom de Vries <tdevries@suse.de>
91
92 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
93
94 2019-01-12 Tom de Vries <tdevries@suse.de>
95
96 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
97 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
98 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
99
100 2019-01-12 Tom de Vries <tdevries@suse.de>
101
102 PR target/85486
103 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
104 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
105
106 2019-01-12 Tom de Vries <tdevries@suse.de>
107
108 PR target/85381
109 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
110 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
111
112 2019-01-12 Tom de Vries <tdevries@suse.de>
113
114 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
115 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
116 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
117
118 2019-01-12 Tom de Vries <tdevries@suse.de>
119
120 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
121 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
122 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
123
124 2019-01-12 Tom de Vries <tdevries@suse.de>
125
126 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
127 resources diagnostic.
128
129 2019-01-12 Tom de Vries <tdevries@suse.de>
130
131 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
132 vector length to be 128.
133 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
134 length 2097152 to be reduced to 1024 instead of 32.
135
136 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
137 James Norris <jnorris@codesourcery.com>
138
139 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
140 Library Routines", and "Environment Variables".
141
142 2019-01-11 Tom de Vries <tdevries@suse.de>
143
144 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
145 num_workers 16.
146
147 2019-01-11 Tom de Vries <tdevries@suse.de>
148
149 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
150 -foffload=-w.
151 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
152 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
153 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
154 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
155
156 2019-01-11 Tom de Vries <tdevries@suse.de>
157
158 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
159 test.
160
161 2019-01-10 Nathan Sidwell <nathan@acm.org>
162 Julian Brown <julian@codesourcery.com>
163
164 PR lto/71959
165 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
166 * testsuite/libgomp.oacc-c++/pr71959.C: New.
167
168 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
169
170 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
171 and paste code.
172
173 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
174
175 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
176 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
177 write.
178
179 2019-01-09 Tom de Vries <tdevries@suse.de>
180
181 PR target/88756
182 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
183 #define instead of "const int".
184 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
185 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
186 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
187 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
188
189 2019-01-09 Tom de Vries <tdevries@suse.de>
190
191 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
192 one worker.
193
194 2019-01-07 Tom de Vries <tdevries@suse.de>
195
196 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
197 GOMP_OPENACC_DIM argument.
198
199 2019-01-03 Tom de Vries <tdevries@suse.de>
200
201 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
202 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
203
204 2019-01-01 Jakub Jelinek <jakub@redhat.com>
205
206 Update copyright years.
207
208 2019-01-01 Jakub Jelinek <jakub@redhat.com>
209
210 * libgomp.texi: Bump @copying's copyright year.
211
212 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
213
214 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
215 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
216 (GOACC_declare): Redefine the "device" argument to "flags".
217
218 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
219 Cesar Philippidis <cesar@codesourcery.com>
220
221 * target.c (struct gomp_coalesce_chunk): New structure.
222 (struct gomp_coalesce_buf): Update the chunks member to use that
223 type. Adjust all users.
224
225 2018-12-19 Tom de Vries <tdevries@suse.de>
226
227 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
228 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
229 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
230
231 2018-12-19 Tom de Vries <tdevries@suse.de>
232
233 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
234 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
235 gcc/testsuite/gcc.dg/goacc.
236 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
237
238 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
239 Chung-Lin Tang <cltang@codesourcery.com>
240
241 * oacc-mem.c (acc_present_or_create): Remove definition and change
242 to alias of acc_create.
243 (acc_present_or_copyin): Remove definition and change to alias of
244 acc_copyin.
245 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
246 of acc_present_or_create.
247 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
248 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
249 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
250 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
251 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
252 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
253 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
254 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
255 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
256 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
257 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
258 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
259 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
260 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
261 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
262 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
263
264 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
265
266 PR libgomp/88495
267 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
268 "identical parameters".
269 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
270 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
271
272 PR libgomp/88484
273 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
274 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
275
276 PR libgomp/88407
277 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
278 (nvptx_wait_async): Unseen async-argument is a no-op.
279 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
280 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
281 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
282 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
283 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
284 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
285 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
286 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
287 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
288
289 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
290 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
291
292 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
293
294 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
295 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
296 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
297
298 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
299
300 PR libgomp/88370
301 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
302 (acc_set_cuda_stream): Clarify.
303 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
304 "async_valid_p".
305 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
306 acc_async_sync".
307 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
308 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
309 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
310 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
311
312 2018-12-14 Tom de Vries <tdevries@suse.de>
313
314 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
315 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
316 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
317 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
318 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
319
320 2018-12-13 Tom de Vries <tdevries@suse.de>
321
322 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
323 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
324 * fortran.c (omp_display_affinity_): ... here.
325 * libgomp.h (gomp_print_string): Declare.
326 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
327 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
328 write.
329
330 2018-12-13 Jakub Jelinek <jakub@redhat.com>
331
332 PR libgomp/88460
333 * testsuite/libgomp.c++/for-24.C (results): Include it in
334 omp declare target region.
335 (main): Use map (always, tofrom: results) instead of
336 map (tofrom: results).
337
338 2018-12-12 Jakub Jelinek <jakub@redhat.com>
339
340 PR fortran/88463
341 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
342 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
343
344 * testsuite/libgomp.c-c++-common/for-16.c: New test.
345
346 2018-12-12 Andreas Schwab <schwab@suse.de>
347
348 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
349 clobbered.
350
351 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
352
353 PR fortran/88411
354 * testsuite/libgomp.fortran/async_io_8.f90: New test.
355
356 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
357 Jakub Jelinek <jakub@redhat.com>
358
359 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
360 devicep->host2dev_func.
361
362 2018-12-08 Jakub Jelinek <jakub@redhat.com>
363
364 PR libgomp/87995
365 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
366 tls_runtime effective target.
367 (t): New threadprivate variable.
368 (main): Set t in threads which execute iterations of the worksharing
369 loop. Propagate that to the task after the loop and don't abort
370 if the current taskgroup hasn't been cancelled.
371
372 2018-12-02 Jakub Jelinek <jakub@redhat.com>
373
374 * testsuite/libgomp.c/task-reduction-3.c: New test.
375
376 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
377
378 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
379
380 PR libgomp/88288
381 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
382 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
383
384 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
385
386 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
387
388 2018-10-19 Richard Biener <rguenther@suse.de>
389
390 PR tree-optimization/88182
391 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
392
393 2018-11-26 Jakub Jelinek <jakub@redhat.com>
394
395 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
396 (RUNTEST): Don't define.
397 (RUNTESTDEFAULTFLAGS): Add.
398 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
399 (distclean-am): Depend on distclean-DEJAGNU.
400 (check-am): If -j% option is present in MFLAGS and if
401 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
402 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
403 * testsuite/Makefile.in: Regenerated.
404
405 2018-11-26 Richard Biener <rguenther@suse.de>
406
407 PR tree-optimization/88182
408 * testsuite/libgomp.c++/pr88182.C: New testcase.
409
410 2018-11-20 Jakub Jelinek <jakub@redhat.com>
411
412 PR bootstrap/88106
413 * config/mingw32/affinity-fmt.c: New file.
414
415 2018-11-09 Jakub Jelinek <jakub@redhat.com>
416
417 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
418 (gomp_display_affinity): Use __builtin_choose_expr to handle
419 properly handle argument having integral, or pointer or some other
420 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
421 with uint64_t type instead of %llx and unsigned long long.
422
423 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
424 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
425
426 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
427
428 * affinity.c: Include <string.h>, <stdio.h>.
429 (gomp_display_affinity_place): Remove cpusetp.
430 * teams.c: Include <limits.h>.
431
432 2018-11-08 Jakub Jelinek <jakub@redhat.com>
433
434 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
435 in_reduction clause for s[0].
436
437 * affinity.c (gomp_display_affinity_place): New function.
438 * affinity-fmt.c: New file.
439 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
440 * config/linux/affinity.c (gomp_display_affinity_place): New function.
441 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
442 Move these functions to ...
443 * config/nvptx/teams.c: ... here. New file.
444 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
445 New functions.
446 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
447 functions.
448 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
449 and _aligned_malloc.
450 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
451 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
452 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
453 gomp_affinity_format_len): New variables.
454 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
455 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
456 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
457 modifiers. Display (non-default) chunk sizes. Print
458 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
459 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
460 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
461 * fortran.c: Include stdio.h and string.h.
462 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
463 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
464 (omp_set_affinity_format_, omp_get_affinity_format_,
465 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
466 omp_pause_resource_all_): New functions.
467 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
468 switch.
469 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
470 functions to ...
471 * teams.c: ... here. New file.
472 * libgomp_g.h: Include gstdint.h.
473 (GOMP_loop_nonmonotonic_runtime_start,
474 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
475 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
476 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
477 GOMP_parallel_loop_nonmonotonic_runtime,
478 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
479 GOMP_loop_ull_nonmonotonic_runtime_start,
480 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
481 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
482 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
483 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
484 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
485 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
486 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
487 GOMP_teams_reg): Declare.
488 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
489 gomp_aligned_alloc uses fallback implementation.
490 (gomp_aligned_alloc, gomp_aligned_free): Declare.
491 (enum gomp_schedule_type): Add GFS_MONOTONIC.
492 (struct gomp_doacross_work_share): Add extra field.
493 (struct gomp_work_share): Add task_reductions field.
494 (struct gomp_taskgroup): Add workshare and reductions fields.
495 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
496 (gomp_thread_handle): New typedef.
497 (gomp_display_affinity_place, gomp_set_affinity_format,
498 gomp_display_string, gomp_display_affinity,
499 gomp_display_affinity_thread): Declare.
500 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
501 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
502 gomp_workshare_task_reduction_register): Declare.
503 (gomp_team_start): Add taskgroup argument.
504 (gomp_pause_host): Declare.
505 (gomp_init_work_share, gomp_work_share_start): Change bool argument
506 to size_t.
507 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
508 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
509 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
510 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
511 GOMP_loop_ull_doacross_start,
512 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
513 GOMP_loop_maybe_nonmonotonic_runtime_next,
514 GOMP_loop_maybe_nonmonotonic_runtime_start,
515 GOMP_loop_nonmonotonic_runtime_next,
516 GOMP_loop_nonmonotonic_runtime_start,
517 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
518 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
519 GOMP_loop_ull_nonmonotonic_runtime_next,
520 GOMP_loop_ull_nonmonotonic_runtime_start,
521 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
522 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
523 GOMP_taskgroup_reduction_register,
524 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
525 GOMP_teams_reg and GOMP_taskwait_depend.
526 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
527 omp_{capture,display}_affinity{,_}, and
528 omp_[gs]et_affinity_format{,_}.
529 * loop.c: Include string.h.
530 (GOMP_loop_runtime_next): Add ialias.
531 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
532 (gomp_loop_static_start, gomp_loop_dynamic_start,
533 gomp_loop_guided_start, gomp_loop_ordered_static_start,
534 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
535 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
536 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
537 or gomp_doacross_init callers.
538 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
539 GOMP_loop_doacross_start): New functions.
540 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
541 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
542 Mask off GFS_MONOTONIC bit.
543 (GOMP_loop_maybe_nonmonotonic_runtime_next,
544 GOMP_loop_maybe_nonmonotonic_runtime_start,
545 GOMP_loop_nonmonotonic_runtime_next,
546 GOMP_loop_nonmonotonic_runtime_start,
547 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
548 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
549 functions.
550 (gomp_parallel_loop_start): Pass NULL as taskgroup to
551 gomp_team_start.
552 * loop_ull.c: Include string.h.
553 (GOMP_loop_ull_runtime_next): Add ialias.
554 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
555 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
556 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
557 gomp_loop_ull_ordered_dynamic_start,
558 gomp_loop_ull_ordered_guided_start,
559 gomp_loop_ull_doacross_static_start,
560 gomp_loop_ull_doacross_dynamic_start,
561 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
562 and gomp_doacross_ull_init callers.
563 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
564 GOMP_loop_ull_doacross_start): New functions.
565 (GOMP_loop_ull_runtime_start,
566 GOMP_loop_ull_ordered_runtime_start,
567 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
568 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
569 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
570 GOMP_loop_ull_nonmonotonic_runtime_next,
571 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
572 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
573 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
574 (omp_pause_resource_t, omp_depend_t): New typedefs.
575 (enum omp_lock_hint_t): Renamed to ...
576 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
577 enumerators using numbers and omp_lock_hint_* as their aliases.
578 (omp_lock_hint_t): New typedef. Rename to ...
579 (omp_sync_hint_t): ... this.
580 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
581 omp_sync_hint_t instead of omp_lock_hint_t.
582 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
583 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
584 Declare.
585 (omp_target_is_present, omp_target_disassociate_ptr):
586 Change first argument from void * to const void *.
587 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
588 from void * to const void *.
589 (omp_target_associate_ptr): Change first and second arguments from
590 void * to const void *.
591 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
592 omp_pause_hard): New parameters.
593 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
594 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
595 New interfaces.
596 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
597 omp_pause_hard): New parameters.
598 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
599 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
600 New externals.
601 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
602 EXTRA argument. If not needed to prepare array, if extra is 0,
603 clear ws->doacross, otherwise allocate just doacross structure and
604 extra payload. If array is needed, allocate also extra payload.
605 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
606 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
607 doacross == NULL.
608 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
609 gomp_team_start.
610 (GOMP_parallel): Likewise. Formatting fix.
611 (GOMP_parallel_reductions): New function.
612 (GOMP_cancellation_point): If taskgroup has workshare
613 flag set, check cancelled of prev taskgroup if any.
614 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
615 on prev taskgroup if any.
616 * sections.c: Include string.h.
617 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
618 (GOMP_sections_start): Adjust gomp_work_share_start caller.
619 (GOMP_sections2_start): New function.
620 (GOMP_parallel_sections_start, GOMP_parallel_sections):
621 Pass NULL as taskgroup to gomp_team_start.
622 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
623 gomp_work_share_start callers.
624 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
625 If taskgroup has workshare flag set, check cancelled on prev
626 taskgroup if any. Guard all cancellation tests with
627 gomp_cancel_var test.
628 (omp_target_is_present, omp_target_disassociate_ptr):
629 Change ptr argument from void * to const void *.
630 (omp_target_memcpy): Change src argument from void * to const void *.
631 (omp_target_memcpy_rect): Likewise.
632 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
633 instead of char * where needed.
634 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
635 from void * to const void *.
636 (omp_pause_resource, omp_pause_resource_all): New functions.
637 * task.c (gomp_task_handle_depend): Handle new depend array format
638 in addition to the old. Handle mutexinoutset kinds the same as
639 inout for now, handle unspecified kinds.
640 (gomp_create_target_task): If taskgroup has workshare flag set, check
641 cancelled on prev taskgroup if any. Guard all cancellation tests with
642 gomp_cancel_var test. Handle new depend array format count in
643 addition to the old.
644 (GOMP_task): Likewise. Adjust function comment.
645 (gomp_task_run_pre): If taskgroup has workshare flag set, check
646 cancelled on prev taskgroup if any. Guard all cancellation tests with
647 gomp_cancel_var test.
648 (GOMP_taskwait_depend): New function.
649 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
650 format in addition to the old. Handle mutexinoutset kinds the same as
651 inout for now, handle unspecified kinds. Fix a function comment typo.
652 (gomp_taskgroup_init): New function.
653 (GOMP_taskgroup_start): Use it.
654 (gomp_reduction_register, gomp_create_artificial_team,
655 GOMP_taskgroup_reduction_register,
656 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
657 gomp_parallel_reduction_register,
658 gomp_workshare_task_reduction_register,
659 gomp_workshare_taskgroup_start,
660 GOMP_workshare_task_reduction_unregister): New functions.
661 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
662 check cancelled on prev taskgroup if any. Guard all cancellation
663 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
664 by calling GOMP_taskgroup_reduction_register.
665 * team.c (gomp_thread_attr): Remove comment.
666 (struct gomp_thread_start_data): Add handle field.
667 (gomp_thread_start): Call pthread_detach.
668 (gomp_new_team): Adjust gomp_init_work_share caller.
669 (gomp_free_pool_helper): Call pthread_detach.
670 (gomp_team_start): Add taskgroup argument, initialize implicit
671 tasks' taskgroup field to that. Don't call
672 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
673 (gomp_team_end): Determine nesting by thr->ts.level != 0
674 rather than thr->ts.team != NULL.
675 (gomp_pause_pool_helper, gomp_pause_host): New functions.
676 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
677 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
678 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
679 if more than 1 allocate also extra payload at the end of array. Never
680 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
681 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
682 return true instead of ws.
683 * Makefile.in: Regenerated.
684 * configure: Regenerated.
685 * config.h.in: Regenerated.
686 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
687 in some cases.
688 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
689 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
690 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
691 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
692 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
693 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
694 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
695 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
696 * testsuite/libgomp.c-c++-common/for-10.c: New test.
697 * testsuite/libgomp.c-c++-common/for-11.c: New test.
698 * testsuite/libgomp.c-c++-common/for-12.c: New test.
699 * testsuite/libgomp.c-c++-common/for-13.c: New test.
700 * testsuite/libgomp.c-c++-common/for-14.c: New test.
701 * testsuite/libgomp.c-c++-common/for-15.c: New test.
702 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
703 define a different N(test), don't define N(f0) to N(f14), but instead
704 define N(f20) to N(f34) using != comparisons.
705 * testsuite/libgomp.c-c++-common/for-7.c: New test.
706 * testsuite/libgomp.c-c++-common/for-8.c: New test.
707 * testsuite/libgomp.c-c++-common/for-9.c: New test.
708 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
709 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
710 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
711 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
712 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
713 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
714 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
715 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
716 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
717 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
718 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
719 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
720 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
721 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
722 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
723 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
724 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
725 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
726 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
727 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
728 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
729 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
730 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
731 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
732 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
733 * testsuite/libgomp.c++/depend-1.C: New test.
734 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
735 * testsuite/libgomp.c++/depobj-1.C: New test.
736 * testsuite/libgomp.c++/for-16.C: New test.
737 * testsuite/libgomp.c++/for-21.C: New test.
738 * testsuite/libgomp.c++/for-22.C: New test.
739 * testsuite/libgomp.c++/for-23.C: New test.
740 * testsuite/libgomp.c++/for-24.C: New test.
741 * testsuite/libgomp.c++/for-25.C: New test.
742 * testsuite/libgomp.c++/for-26.C: New test.
743 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
744 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
745 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
746 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
747 * testsuite/libgomp.c++/task-reduction-10.C: New test.
748 * testsuite/libgomp.c++/task-reduction-11.C: New test.
749 * testsuite/libgomp.c++/task-reduction-12.C: New test.
750 * testsuite/libgomp.c++/task-reduction-13.C: New test.
751 * testsuite/libgomp.c++/task-reduction-14.C: New test.
752 * testsuite/libgomp.c++/task-reduction-15.C: New test.
753 * testsuite/libgomp.c++/task-reduction-16.C: New test.
754 * testsuite/libgomp.c++/task-reduction-17.C: New test.
755 * testsuite/libgomp.c++/task-reduction-18.C: New test.
756 * testsuite/libgomp.c++/task-reduction-19.C: New test.
757 * testsuite/libgomp.c/task-reduction-1.c: New test.
758 * testsuite/libgomp.c++/task-reduction-1.C: New test.
759 * testsuite/libgomp.c/task-reduction-2.c: New test.
760 * testsuite/libgomp.c++/task-reduction-2.C: New test.
761 * testsuite/libgomp.c++/task-reduction-3.C: New test.
762 * testsuite/libgomp.c++/task-reduction-4.C: New test.
763 * testsuite/libgomp.c++/task-reduction-5.C: New test.
764 * testsuite/libgomp.c++/task-reduction-6.C: New test.
765 * testsuite/libgomp.c++/task-reduction-7.C: New test.
766 * testsuite/libgomp.c++/task-reduction-8.C: New test.
767 * testsuite/libgomp.c++/task-reduction-9.C: New test.
768 * testsuite/libgomp.c/teams-1.c: New test.
769 * testsuite/libgomp.c/teams-2.c: New test.
770 * testsuite/libgomp.c/thread-limit-4.c: New test.
771 * testsuite/libgomp.c/thread-limit-5.c: New test.
772 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
773
774 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
775
776 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
777 acc_memcpy_to/from_device functions, now with async parameter.
778 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
779 (acc_memcpy_from_device): Likewise.
780 (acc_memcpy_to_device_async): New API function.
781 (acc_memcpy_from_device_async): Likewise.
782 (present_create_copy): Add async parameter and async setting/unsetting.
783 (acc_create): Adjust present_create_copy call.
784 (acc_copyin): Likewise.
785 (acc_present_or_create): Likewise.
786 (acc_present_or_copyin): Likewise.
787 (acc_create_async): New API function.
788 (acc_copyin_async): New API function.
789 (delete_copyout): Add async parameter and async setting/unsetting.
790 (acc_delete): Adjust delete_copyout call.
791 (acc_copyout): Likewise.
792 (acc_delete_async): New API function.
793 (acc_copyout_async): Likewise.
794 (update_dev_host): Add async parameter and async setting/unsetting.
795 (acc_update_device): Adjust update_dev_host call.
796 (acc_update_self): Likewise.
797 (acc_update_device_async): New API function.
798 (acc_update_self_async): Likewise.
799 * openacc.h (acc_copyin_async): Declare new API function.
800 (acc_create_async): Likewise.
801 (acc_copyout_async): Likewise.
802 (acc_delete_async): Likewise.
803 (acc_update_device_async): Likewise.
804 (acc_update_self_async): Likewise.
805 (acc_memcpy_to_device_async): Likewise.
806 (acc_memcpy_from_device_async): Likewise.
807 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
808 (acc_copyin_async_64_h): New subroutine.
809 (acc_copyin_async_array_h): New subroutine.
810 (acc_create_async_32_h): New subroutine.
811 (acc_create_async_64_h): New subroutine.
812 (acc_create_async_array_h): New subroutine.
813 (acc_copyout_async_32_h): New subroutine.
814 (acc_copyout_async_64_h): New subroutine.
815 (acc_copyout_async_array_h): New subroutine.
816 (acc_delete_async_32_h): New subroutine.
817 (acc_delete_async_64_h): New subroutine.
818 (acc_delete_async_array_h): New subroutine.
819 (acc_update_device_async_32_h): New subroutine.
820 (acc_update_device_async_64_h): New subroutine.
821 (acc_update_device_async_array_h): New subroutine.
822 (acc_update_self_async_32_h): New subroutine.
823 (acc_update_self_async_64_h): New subroutine.
824 (acc_update_self_async_array_h): New subroutine.
825 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
826 (acc_copyin_async_64_h): New subroutine.
827 (acc_copyin_async_array_h): New subroutine.
828 (acc_create_async_32_h): New subroutine.
829 (acc_create_async_64_h): New subroutine.
830 (acc_create_async_array_h): New subroutine.
831 (acc_copyout_async_32_h): New subroutine.
832 (acc_copyout_async_64_h): New subroutine.
833 (acc_copyout_async_array_h): New subroutine.
834 (acc_delete_async_32_h): New subroutine.
835 (acc_delete_async_64_h): New subroutine.
836 (acc_delete_async_array_h): New subroutine.
837 (acc_update_device_async_32_h): New subroutine.
838 (acc_update_device_async_64_h): New subroutine.
839 (acc_update_device_async_array_h): New subroutine.
840 (acc_update_self_async_32_h): New subroutine.
841 (acc_update_self_async_64_h): New subroutine.
842 (acc_update_self_async_array_h): New subroutine.
843 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
844 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
845 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
846 acc_memcpy_to_device_async*, acc_update_device_async*, and
847 acc_update_self_async* entries.
848 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
849 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
850 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
851
852 2018-10-31 Joseph Myers <joseph@codesourcery.com>
853
854 PR bootstrap/82856
855 * Makefile.am: Include multilib.am
856 (AUTOMAKE_OPTIONS): Add info-in-builddir.
857 (CLEANFILES): Remove libgomp.info.
858 * configure.ac: Remove AC_PREREQ.
859 * testsuite/Makefile.am (RUNTEST): Remove quotes.
860 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
861 Regenerate.
862
863 2018-10-29 Joseph Myers <joseph@codesourcery.com>
864 Julian Brown <julian@codesourcery.com>
865
866 * testsuite/libgomp.oacc-c++/this.C: New.
867
868 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
869
870 * plugin/plugin-nvptx.c (struct cuda_map): New.
871 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
872 h_tail with (cuda_map *) map.
873 (cuda_map_create): New function.
874 (cuda_map_destroy): New function.
875 (map_init): Update to use a linked list of cuda_map objects.
876 (map_fini): Likewise.
877 (map_pop): Likewise.
878 (map_push): Likewise. Return CUdeviceptr instead of void.
879 (init_streams_for_device): Remove stales references to ptx_stream
880 members.
881 (select_stream_for_async): Likewise.
882 (nvptx_exec): Update call to map_init.
883
884 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
885 Julian Brown <julian@codesourcery.com>
886
887 PR middle-end/86336
888 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
889
890 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
891 Thomas Koenig <tkoenig@gcc.gnu.org>
892
893 PR fortran/25829
894 * testsuite/libgomp.fortran/async_io_1.f90: New test.
895 * testsuite/libgomp.fortran/async_io_2.f90: New test.
896 * testsuite/libgomp.fortran/async_io_3.f90: New test.
897 * testsuite/libgomp.fortran/async_io_4.f90: New test.
898 * testsuite/libgomp.fortran/async_io_5.f90: New test.
899 * testsuite/libgomp.fortran/async_io_6.f90: New test.
900 * testsuite/libgomp.fortran/async_io_7.f90: New test.
901
902 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
903 Tom de Vries <tdevries@suse.de>
904
905 PR target/85590
906 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
907 (cuOccupancyMaxPotentialBlockSize): Declare.
908 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
909 CUDA_ONE_CALL_MAYBE_NULL.
910 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
911 CUoccupancyB2DSize and declare
912 cuOccupancyMaxPotentialBlockSize.
913 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
914 default num_gangs and num_workers when the driver supports it.
915
916 2018-08-08 Tom de Vries <tdevries@suse.de>
917
918 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
919 CUDA_ONE_CALL_MAYBE_NULL.
920 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
921 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
922 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
923 are not found.
924
925 2018-08-08 Tom de Vries <tdevries@suse.de>
926
927 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
928 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
929 present.
930
931 2018-08-08 Tom de Vries <tdevries@suse.de>
932
933 * plugin/plugin-nvptx.c
934 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
935 (nvptx_open_device): Use
936 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
937
938 2018-08-08 Tom de Vries <tdevries@suse.de>
939
940 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
941 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
942
943 2018-08-07 Tom de Vries <tdevries@suse.de>
944
945 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
946 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
947 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
948 corresponding call in CUDA_ONE_CALL. Add def/undef of
949 CUDA_ONE_CALL_MAYBE_NULL.
950 (CUDA_CALL_EXISTS): Define.
951
952 2018-08-07 Tom de Vries <tdevries@suse.de>
953
954 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
955 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
956 corresponding undefs right after.
957
958 2018-08-04 Tom de Vries <tdevries@suse.de>
959
960 * plugin/configfrag.ac: For --without-cuda-driver, set
961 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
962 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
963 * configure: Regenerate.
964
965 2018-08-02 Tom de Vries <tdevries@suse.de>
966
967 PR target/86660
968 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
969 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
970 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
971 Same.
972 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
973 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
974 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
975
976 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
977 Thomas Schwinge <thomas@codesourcery.com>
978
979 * config/nvptx/oacc-parallel.c: Truncate.
980
981 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
982 James Norris <jnorris@codesourcery.com>
983
984 * plugin/plugin-nvptx.c (struct map): Removed.
985 (map_init, map_pop): Remove use of struct map.
986 (map_push): Likewise and change argument list.
987 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
988
989 2018-08-01 Tom de Vries <tdevries@suse.de>
990
991 * plugin/cuda-lib.def: New file. Factor out of ...
992 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
993 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
994 using CUDA_CALLS.
995
996 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
997
998 Revert 'AsyncI/O patch committed'.
999 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
1000 Thomas Koenig <tkoenig@gcc.gnu.org>
1001
1002 PR fortran/25829
1003 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1004 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1005 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1006 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1007 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1008 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1009 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1010
1011 2018-07-30 Tom de Vries <tdevries@suse.de>
1012
1013 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
1014 (nvptx_exec): Ensure worker and vector default dims don't exceed
1015 targ_fn->max_threads_per_block.
1016
1017 2018-07-30 Tom de Vries <tdevries@suse.de>
1018
1019 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
1020 (nvptx_open_device): Init default_dims for device.
1021 (nvptx_exec): Use default_dims from device.
1022
1023 2018-07-26 Jakub Jelinek <jakub@redhat.com>
1024
1025 PR testsuite/86660
1026 * testsuite/libgomp.c++/for-15.C (results): Include it in
1027 omp declare target region.
1028 (main): Use map (always, tofrom: results) instead of
1029 map (tofrom: results).
1030
1031 PR middle-end/86660
1032 * testsuite/libgomp.c/pr86660.c: New test.
1033
1034 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
1035 Tom de Vries <tdevries@suse.de>
1036
1037 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
1038 sufficient resources to launch a kernel, and give a hint on how to fix
1039 it.
1040
1041 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
1042 Tom de Vries <tdevries@suse.de>
1043
1044 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
1045 max_threads_per_block and max_threads_per_multiprocessor fields.
1046 (nvptx_open_device): Initialize new fields.
1047 (nvptx_exec): Use num_sms, and new fields.
1048
1049 2018-07-26 Tom de Vries <tdevries@suse.de>
1050
1051 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
1052 to correct locations. Remove xfail.
1053
1054 2018-07-26 Tom de Vries <tdevries@suse.de>
1055
1056 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
1057 acc_wait. Move acc_async_test calls to correct locations. Remove
1058 xfail.
1059
1060 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
1061 Thomas Koenig <tkoenig@gcc.gnu.org>
1062
1063 PR fortran/25829
1064 * testsuite/libgomp.fortran/async_io_1.f90: New test.
1065 * testsuite/libgomp.fortran/async_io_2.f90: New test.
1066 * testsuite/libgomp.fortran/async_io_3.f90: New test.
1067 * testsuite/libgomp.fortran/async_io_4.f90: New test.
1068 * testsuite/libgomp.fortran/async_io_5.f90: New test.
1069 * testsuite/libgomp.fortran/async_io_6.f90: New test.
1070 * testsuite/libgomp.fortran/async_io_7.f90: New test.
1071
1072 2018-07-17 Jakub Jelinek <jakub@redhat.com>
1073
1074 PR middle-end/86542
1075 * testsuite/libgomp.c++/pr86542.C: New test.
1076
1077 PR middle-end/86539
1078 * testsuite/libgomp.c++/pr86539.C: New test.
1079
1080 2018-07-11 Jakub Jelinek <jakub@redhat.com>
1081
1082 PR c++/86443
1083 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
1084 (results): Make sure the variable is not inside declare target region.
1085 (qux): Remove unused function.
1086
1087 2018-07-10 Jakub Jelinek <jakub@redhat.com>
1088
1089 PR c++/86443
1090 * testsuite/libgomp.c++/for-15.C: New test.
1091
1092 2018-06-26 Jakub Jelinek <jakub@redhat.com>
1093
1094 PR c++/86291
1095 * testsuite/libgomp.c++/pr86291.C: New test.
1096
1097 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
1098
1099 * libgomp.texi (Top): Move www.openmp.org to https.
1100 (Enabling OpenMP): Ditto.
1101 (omp_get_active_level): Ditto.
1102 (omp_get_ancestor_thread_num): Ditto.
1103 (omp_get_cancellation): Ditto.
1104 (omp_get_default_device): Ditto.
1105 (omp_get_dynamic): Ditto.
1106 (omp_get_level): Ditto.
1107 (omp_get_max_active_levels): Ditto.
1108 (omp_get_max_task_priority): Ditto.
1109 (omp_get_max_threads): Ditto.
1110 (omp_get_nested): Ditto.
1111 (omp_get_num_devices): Ditto.
1112 (omp_get_num_procs): Ditto.
1113 (omp_get_num_teams): Ditto.
1114 (omp_get_num_threads): Ditto.
1115 (omp_get_proc_bind): Ditto.
1116 (omp_get_schedule): Ditto.
1117 (omp_get_team_num): Ditto.
1118 (omp_get_team_size): Ditto.
1119 (omp_get_thread_limit): Ditto.
1120 (omp_get_thread_num): Ditto.
1121 (omp_in_parallel): Ditto.
1122 (omp_in_final): Ditto.
1123 (omp_is_initial_device): Ditto.
1124 (omp_set_default_device): Ditto.
1125 (omp_set_dynamic): Ditto.
1126 (omp_set_max_active_levels): Ditto.
1127 (omp_set_nested): Ditto.
1128 (omp_set_num_threads): Ditto.
1129 (omp_set_schedule): Ditto.
1130 (omp_init_lock): Ditto.
1131 (omp_set_lock): Ditto.
1132 (omp_test_lock): Ditto.
1133 (omp_unset_lock): Ditto.
1134 (omp_destroy_lock): Ditto.
1135 (omp_init_nest_lock): Ditto.
1136 (omp_set_nest_lock): Ditto.
1137 (omp_test_nest_lock): Ditto.
1138 (omp_unset_nest_lock): Ditto.
1139 (omp_destroy_nest_lock): Ditto.
1140 (omp_get_wtick): Ditto.
1141 (omp_get_wtime): Ditto.
1142 (OMP_CANCELLATION): Ditto.
1143 (OMP_DISPLAY_ENV): Ditto.
1144 (OMP_DEFAULT_DEVICE): Ditto.
1145 (OMP_DYNAMIC): Ditto.
1146 (OMP_MAX_ACTIVE_LEVELS): Ditto.
1147 (OMP_MAX_TASK_PRIORITY): Ditto.
1148 (OMP_NESTED): Ditto.
1149 (OMP_NUM_THREADS): Ditto.
1150 (OMP_PROC_BIND): Ditto.
1151 (OMP_PLACES): Ditto.
1152 (OMP_STACKSIZE): Ditto.
1153 (OMP_SCHEDULE): Ditto.
1154 (OMP_THREAD_LIMIT): Ditto.
1155 (OMP_WAIT_POLICY): Ditto.
1156
1157 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
1158 James Norris <jnorris@codesourcery.com>
1159 Julian Brown <julian@codesourcery.com>
1160 Thomas Schwinge <thomas@codesourcery.com>
1161 Tom de Vries <tom@codesourcery.com>
1162
1163 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
1164 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
1165 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
1166 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
1167 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
1168 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
1169 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
1170 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
1171 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
1172 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
1173 Likewise.
1174 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
1175 Likewise.
1176 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
1177 Likewise.
1178 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
1179 Likewise.
1180 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
1181 Likewise.
1182 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
1183 Likewise.
1184 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
1185 Likewise.
1186 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
1187 Likewise.
1188 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
1189 Likewise.
1190 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
1191 Likewise.
1192 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
1193 Likewise.
1194 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
1195 Likewise.
1196 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
1197 Likewise.
1198 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
1199 Likewise.
1200 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
1201 Likewise.
1202 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
1203 Likewise.
1204 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
1205 Likewise.
1206 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
1207 Likewise.
1208 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
1209 Likewise.
1210 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
1211 Likewise.
1212 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
1213 Likewise.
1214 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
1215 Likewise.
1216 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
1217 Likewise.
1218 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
1219 Likewise.
1220 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
1221 Likewise.
1222 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
1223 Likewise.
1224 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
1225 Likewise.
1226 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
1227 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
1228 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
1229 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
1230 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
1231 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
1232 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
1233 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
1234 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
1235 Likewise.
1236 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
1237 Likewise.
1238 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
1239 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
1240 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
1241 Likewise.
1242 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
1243 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
1244 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
1245 Likewise.
1246 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
1247 Likewise.
1248 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
1249 Likewise.
1250 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
1251 Likewise.
1252 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
1253 Likewise.
1254 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
1255 Likewise.
1256 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
1257 Likewise.
1258 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
1259 Likewise.
1260 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
1261 Likewise.
1262 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
1263 Likewise.
1264 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
1265 Likewise.
1266 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
1267 Likewise.
1268 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
1269 Likewise.
1270 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
1271 Likewise.
1272 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
1273 Likewise.
1274 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1275 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
1276 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
1277 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
1278 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
1279 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
1280 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
1281
1282 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1283 Thomas Schwinge <thomas@codesourcery.com>
1284 Cesar Philippidis <cesar@codesourcery.com>
1285
1286 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
1287 (gomp_acc_remove_pointer): Update declaration.
1288 (gomp_acc_declare_allocate): Declare.
1289 (gomp_remove_var): Declare.
1290 * libgomp.map (OACC_2.5): Define.
1291 * oacc-mem.c (acc_map_data): Update refcount.
1292 (acc_unmap_data): Likewise.
1293 (present_create_copy): Likewise.
1294 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
1295 (acc_copyin): Likewise.
1296 (FLAG_FINALIZE): Define.
1297 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
1298 (acc_delete_finalize): New function.
1299 (acc_delete_finalize_async): New function.
1300 (acc_copyout_finalize): New function.
1301 (acc_copyout_finalize_async): New function.
1302 (gomp_acc_insert_pointer): Update refcounts.
1303 (gomp_acc_remove_pointer): Return if data is not present on the
1304 accelerator.
1305 * oacc-parallel.c (find_pset): Rename to find_pointer.
1306 (find_pointer): Add support for GOMP_MAP_POINTER.
1307 (handle_ftn_pointers): New function.
1308 (GOACC_parallel_keyed): Update refcounts of variables.
1309 (GOACC_enter_exit_data): Add support for finalized data mappings.
1310 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
1311 of fortran arrays.
1312 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
1313 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
1314 for GOMP_MAP_FORCE_FROM.
1315 * openacc.f90 (module openacc_internal): Add
1316 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
1317 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
1318 acc_copyout_finalize and acc_delete_finalize.
1319 (acc_copyout_finalize_32_h): New subroutine.
1320 (acc_copyout_finalize_64_h): New subroutine.
1321 (acc_copyout_finalize_array_h): New subroutine.
1322 (acc_delete_finalize_32_h): New subroutine.
1323 (acc_delete_finalize_64_h): New subroutine.
1324 (acc_delete_finalize_array_h): New subroutine.
1325 * openacc.h (acc_copyout_finalize): Declare.
1326 (acc_copyout_finalize_async): Declare.
1327 (acc_delete_finalize): Declare.
1328 (acc_delete_finalize_async): Declare.
1329 * openacc_lib.h (acc_copyout_finalize): New interface.
1330 (acc_delete_finalize): New interface.
1331 * target.c (gomp_map_vars): Update dynamic_refcount.
1332 (gomp_remove_var): New function.
1333 (gomp_unmap_vars): Use it.
1334 (gomp_unload_image_from_device): Likewise.
1335 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
1336 case to utilize OpenACC 2.5 data clause semantics.
1337 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1338 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1339 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1340 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1341 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1342 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1343 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1344 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1345 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1346 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
1347 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1348 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
1349 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
1350 utilize OpenACC 2.5 data clause semantics.
1351 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1352 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1353 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1354 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1355 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1356 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1357 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1358 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
1359 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
1360
1361 2018-05-21 Janus Weil <janus@gcc.gnu.org>
1362
1363 PR fortran/85841
1364 PR testsuite/85865
1365 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
1366 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1367 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1368 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1369 * testsuite/libgomp.fortran/task2.f90: Ditto.
1370 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1371 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1372 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1373 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1374 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1375 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1376 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1377 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
1378 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
1379
1380 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
1381
1382 PR c++/85782
1383 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
1384
1385 2018-05-09 Tom de Vries <tom@codesourcery.com>
1386
1387 PR libgomp/82901
1388 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
1389 to GOACC_enter_exit_data.
1390
1391 2018-05-09 Tom de Vries <tom@codesourcery.com>
1392
1393 PR libgomp/83792
1394 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
1395 (async_synchronous_p): New function.
1396 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
1397 async_valid_p.
1398 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1399 async_valid_stream_id_p.
1400 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
1401 * oacc-parallel.c (GOACC_parallel_keyed): Same.
1402
1403 2018-05-07 Tom de Vries <tom@codesourcery.com>
1404
1405 PR testsuite/85677
1406 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
1407 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
1408
1409 2018-05-03 Tom de Vries <tom@codesourcery.com>
1410
1411 PR testsuite/85106
1412 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
1413 extra_tool_flags if it contains an -foffload=-fdump-* flag.
1414 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
1415 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
1416
1417 2018-05-02 Tom de Vries <tom@codesourcery.com>
1418
1419 PR libgomp/85411
1420 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
1421 GOMP_OPENACC_DIM ...
1422 * env.c (parse_gomp_openacc_dim): ... here. New function.
1423 (initialize_env): Call parse_gomp_openacc_dim.
1424 (goacc_default_dims): Define.
1425 * libgomp.h (goacc_default_dims): Declare.
1426 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
1427 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
1428 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
1429 GOMP_PLUGIN_acc_default_dim.
1430 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
1431 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
1432
1433 2018-05-02 Tom de Vries <tom@codesourcery.com>
1434
1435 PR testsuite/83791
1436 * testsuite/libgomp.c++/udr-9.C: Update.
1437 * testsuite/libgomp.c++/atomic-16.C: Remove.
1438 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
1439 * testsuite/libgomp.c++/loop-13.C: Remove.
1440 * testsuite/libgomp.c++/loop-14.C: Remove.
1441 * testsuite/libgomp.c++/loop-15.C: Remove.
1442 * testsuite/libgomp.c++/monotonic-1.C: Remove.
1443 * testsuite/libgomp.c++/monotonic-2.C: Remove.
1444 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
1445 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
1446 * testsuite/libgomp.c++/ordered-1.C: Remove.
1447 * testsuite/libgomp.c++/pr45784.C: Remove.
1448 * testsuite/libgomp.c++/pr64824.C: Remove.
1449 * testsuite/libgomp.c++/pr64868.C: Remove.
1450 * testsuite/libgomp.c++/pr66199-1.C: Remove.
1451 * testsuite/libgomp.c++/pr66199-2.C: Remove.
1452 * testsuite/libgomp.c++/pr66199-3.C: Remove.
1453 * testsuite/libgomp.c++/pr66199-4.C: Remove.
1454 * testsuite/libgomp.c++/pr66199-5.C: Remove.
1455 * testsuite/libgomp.c++/pr66199-6.C: Remove.
1456 * testsuite/libgomp.c++/pr66199-7.C: Remove.
1457 * testsuite/libgomp.c++/pr66199-8.C: Remove.
1458 * testsuite/libgomp.c++/pr66199-9.C: Remove.
1459 * testsuite/libgomp.c++/pr69389.C: Remove.
1460 * testsuite/libgomp.c++/simd10.C: Remove.
1461 * testsuite/libgomp.c++/simd11.C: Remove.
1462 * testsuite/libgomp.c++/simd12.C: Remove.
1463 * testsuite/libgomp.c++/simd13.C: Remove.
1464 * testsuite/libgomp.c++/target-1.C: Remove.
1465 * testsuite/libgomp.c++/target-3.C: Remove.
1466 * testsuite/libgomp.c++/target-4.C: Remove.
1467 * testsuite/libgomp.c++/target-5.C: Remove.
1468 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
1469 * testsuite/libgomp.c++/taskloop-1.C: Remove.
1470 * testsuite/libgomp.c++/taskloop-2.C: Remove.
1471 * testsuite/libgomp.c++/taskloop-3.C: Remove.
1472 * testsuite/libgomp.c++/taskloop-4.C: Remove.
1473 * testsuite/libgomp.c++/udr-9.C: Remove.
1474 * testsuite/libgomp.c++/for-10.C: Remove.
1475 * testsuite/libgomp.c++/for-11.C: Remove.
1476 * testsuite/libgomp.c++/for-12.C: Remove.
1477 * testsuite/libgomp.c++/for-13.C: Remove.
1478 * testsuite/libgomp.c++/for-14.C: Remove.
1479 * testsuite/libgomp.c++/for-9.C: Remove.
1480 * testsuite/libgomp.c/atomic-18.c: Move ...
1481 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
1482 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
1483 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
1484 * testsuite/libgomp.c/loop-13.c: Move ...
1485 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
1486 * testsuite/libgomp.c/loop-14.c: Move ...
1487 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
1488 * testsuite/libgomp.c/loop-15.c: Remove.
1489 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
1490 * testsuite/libgomp.c/monotonic-1.c: Move ...
1491 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
1492 * testsuite/libgomp.c/monotonic-2.c: Move ...
1493 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
1494 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
1495 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
1496 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
1497 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
1498 * testsuite/libgomp.c/ordered-4.c: Move ...
1499 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
1500 * testsuite/libgomp.c/pr45784.c: Move ...
1501 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
1502 * testsuite/libgomp.c/pr64824.c: Move ...
1503 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
1504 * testsuite/libgomp.c/pr64868.c: Move ...
1505 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
1506 * testsuite/libgomp.c/pr66199-1.c: Move ...
1507 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
1508 * testsuite/libgomp.c/pr66199-2.c: Move ...
1509 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
1510 * testsuite/libgomp.c/pr66199-3.c: Move ...
1511 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
1512 * testsuite/libgomp.c/pr66199-4.c: Move ...
1513 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
1514 * testsuite/libgomp.c/pr66199-5.c: Move ...
1515 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
1516 * testsuite/libgomp.c/pr66199-6.c: Move ...
1517 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
1518 * testsuite/libgomp.c/pr66199-7.c: Move ...
1519 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
1520 * testsuite/libgomp.c/pr66199-8.c: Move ...
1521 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
1522 * testsuite/libgomp.c/pr66199-9.c: Move ...
1523 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
1524 * testsuite/libgomp.c/pr69389.c: Move ...
1525 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
1526 * testsuite/libgomp.c/simd-14.c: Move ...
1527 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
1528 * testsuite/libgomp.c/simd-15.c: Move ...
1529 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
1530 * testsuite/libgomp.c/simd-16.c: Move ...
1531 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
1532 * testsuite/libgomp.c/simd-17.c: Move ...
1533 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
1534 * testsuite/libgomp.c/target-1.c: Move ...
1535 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
1536 * testsuite/libgomp.c/target-10.c: Move ...
1537 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
1538 * testsuite/libgomp.c/target-13.c: Move ...
1539 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
1540 * testsuite/libgomp.c/target-2.c: Move ...
1541 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
1542 * testsuite/libgomp.c/taskgroup-1.c: Move ...
1543 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
1544 * testsuite/libgomp.c/taskloop-1.c: Move ...
1545 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
1546 * testsuite/libgomp.c/taskloop-2.c: Move ...
1547 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
1548 * testsuite/libgomp.c/taskloop-3.c: Move ...
1549 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
1550 * testsuite/libgomp.c/taskloop-4.c: Move ...
1551 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
1552 * testsuite/libgomp.c/udr-1.c: Move ...
1553 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
1554 * testsuite/libgomp.c/for-1.c: Move ...
1555 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
1556 * testsuite/libgomp.c/for-1.h: Move ...
1557 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
1558 * testsuite/libgomp.c/for-2.c: Move ...
1559 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
1560 * testsuite/libgomp.c/for-2.h: Move ...
1561 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
1562 * testsuite/libgomp.c/for-3.c: Move ...
1563 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
1564 * testsuite/libgomp.c/for-4.c: Move ...
1565 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
1566 * testsuite/libgomp.c/for-5.c: Move ...
1567 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
1568 * testsuite/libgomp.c/for-6.c: Move ...
1569 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
1570
1571 2018-05-02 Tom de Vries <tom@codesourcery.com>
1572
1573 PR libgomp/82428
1574 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
1575 __builtin_goacc_parlevel_{id,size}.
1576 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
1577 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
1578 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
1579 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
1580 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
1581 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
1582 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
1583 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
1584 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
1585 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
1586 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
1587 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
1588 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
1589 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
1590 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
1591 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
1592 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
1593 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
1594 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
1595 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
1596 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
1597 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
1598 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
1599
1600 2018-05-02 Tom de Vries <tom@codesourcery.com>
1601
1602 PR testsuite/85106
1603 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
1604
1605 2018-05-02 Tom de Vries <tom@codesourcery.com>
1606
1607 PR testsuite/85106
1608 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
1609
1610 2018-04-29 Julian Brown <julian@codesourcery.com>
1611 Tom de Vries <tom@codesourcery.com>
1612
1613 PR testsuite/85527
1614 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
1615 arbitrary order for iterations of atomic subtract check.
1616
1617 2018-04-28 Tom de Vries <tom@codesourcery.com>
1618
1619 PR testsuite/85527
1620 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
1621 atomic capture results obtained in parallel loop to an array, instead of
1622 to a scalar.
1623
1624 2018-04-26 Tom de Vries <tom@codesourcery.com>
1625
1626 PR libgomp/84020
1627 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
1628 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
1629 (process_GOMP_NVPTX_JIT): New function.
1630 (link_ptx): Use process_GOMP_NVPTX_JIT.
1631
1632 2018-04-26 Richard Biener <rguenther@suse.de>
1633 Tom de Vries <tom@codesourcery.com>
1634
1635 PR lto/85422
1636 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
1637
1638 2018-04-26 Tom de Vries <tom@codesourcery.com>
1639
1640 PR target/85519
1641 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
1642 recursion depth from 25 to 23.
1643 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
1644
1645 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
1646
1647 * configure: Regenerated.
1648
1649 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
1650 Tom de Vries <tom@codesourcery.com>
1651
1652 PR target/85445
1653 * testsuite/libgomp.oacc-c++/ref-1.C: New.
1654
1655 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
1656
1657 PR libgomp/85463
1658 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
1659 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
1660 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
1661 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
1662 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
1663 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
1664
1665 PR libfortran/85166
1666 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
1667 abort".
1668 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
1669
1670 2018-04-19 Jakub Jelinek <jakub@redhat.com>
1671
1672 * configure: Regenerated.
1673
1674 2018-04-18 David Malcolm <dmalcolm@redhat.com>
1675
1676 PR jit/85384
1677 * configure: Regenerate.
1678
1679 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
1680 Tom de Vries <tom@codesourcery.com>
1681
1682 PR middle-end/84955
1683 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
1684 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
1685
1686 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1687
1688 PR fortran/83064
1689 PR testsuite/85346
1690 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
1691 test from gfortran.dg to here.
1692
1693 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
1694
1695 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
1696 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
1697
1698 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
1699
1700 PR middle-end/84955
1701 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
1702 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
1703
1704 2018-04-05 Tom de Vries <tom@codesourcery.com>
1705
1706 PR target/85204
1707 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
1708
1709 2018-03-26 Tom de Vries <tom@codesourcery.com>
1710
1711 PR tree-optimization/85063
1712 * testsuite/libgomp.c/switch-conversion-2.c: New test.
1713 * testsuite/libgomp.c/switch-conversion.c: New test.
1714 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
1715 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
1716
1717 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
1718
1719 PR fortran/84381
1720 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
1721 call abort by STOP n.
1722 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
1723 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
1724 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
1725 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
1726 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
1727 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
1728 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
1729 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
1730 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
1731 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
1732 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
1733 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
1734 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
1735 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
1736 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
1737 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
1738 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
1739 * testsuite/libgomp.fortran/associate1.f90: Likewise.
1740 * testsuite/libgomp.fortran/associate2.f90: Likewise.
1741 * testsuite/libgomp.fortran/associate3.f90: Likewise.
1742 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
1743 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
1744 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
1745 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
1746 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
1747 * testsuite/libgomp.fortran/character1.f90: Likewise.
1748 * testsuite/libgomp.fortran/character2.f90: Likewise.
1749 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
1750 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
1751 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
1752 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
1753 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
1754 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
1755 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
1756 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
1757 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
1758 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
1759 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
1760 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
1761 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
1762 * testsuite/libgomp.fortran/do1.f90: Likewise.
1763 * testsuite/libgomp.fortran/do2.f90: Likewise.
1764 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
1765 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
1766 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
1767 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
1768 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
1769 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
1770 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
1771 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
1772 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
1773 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
1774 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
1775 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
1776 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
1777 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
1778 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
1779 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
1780 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
1781 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
1782 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
1783 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
1784 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
1785 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
1786 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
1787 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
1788 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
1789 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
1790 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
1791 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
1792 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
1793 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
1794 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
1795 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
1796 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
1797 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
1798 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
1799 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
1800 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
1801 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
1802 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
1803 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
1804 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
1805 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
1806 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
1807 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
1808 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
1809 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
1810 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
1811 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
1812 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
1813 * testsuite/libgomp.fortran/lib1.f90: Likewise.
1814 * testsuite/libgomp.fortran/lib2.f: Likewise.
1815 * testsuite/libgomp.fortran/lib3.f: Likewise.
1816 * testsuite/libgomp.fortran/lib4.f90: Likewise.
1817 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
1818 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
1819 * testsuite/libgomp.fortran/nested1.f90: Likewise.
1820 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
1821 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
1822 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
1823 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
1824 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
1825 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
1826 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
1827 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
1828 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
1829 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
1830 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
1831 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
1832 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
1833 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
1834 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
1835 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
1836 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
1837 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
1838 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
1839 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
1840 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
1841 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
1842 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
1843 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
1844 * testsuite/libgomp.fortran/pr25162.f: Likewise.
1845 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
1846 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
1847 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
1848 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
1849 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
1850 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
1851 * testsuite/libgomp.fortran/pr28390.f: Likewise.
1852 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
1853 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
1854 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
1855 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
1856 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
1857 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
1858 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
1859 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
1860 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
1861 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
1862 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
1863 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
1864 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
1865 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
1866 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
1867 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
1868 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
1869 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
1870 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
1871 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
1872 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
1873 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
1874 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
1875 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
1876 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
1877 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
1878 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
1879 * testsuite/libgomp.fortran/reference1.f90: Likewise.
1880 * testsuite/libgomp.fortran/reference2.f90: Likewise.
1881 * testsuite/libgomp.fortran/retval1.f90: Likewise.
1882 * testsuite/libgomp.fortran/retval2.f90: Likewise.
1883 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
1884 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
1885 * testsuite/libgomp.fortran/simd1.f90: Likewise.
1886 * testsuite/libgomp.fortran/simd2.f90: Likewise.
1887 * testsuite/libgomp.fortran/simd3.f90: Likewise.
1888 * testsuite/libgomp.fortran/simd4.f90: Likewise.
1889 * testsuite/libgomp.fortran/simd5.f90: Likewise.
1890 * testsuite/libgomp.fortran/simd6.f90: Likewise.
1891 * testsuite/libgomp.fortran/simd7.f90: Likewise.
1892 * testsuite/libgomp.fortran/stack.f90: Likewise.
1893 * testsuite/libgomp.fortran/strassen.f90: Likewise.
1894 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
1895 * testsuite/libgomp.fortran/tabs2.f: Likewise.
1896 * testsuite/libgomp.fortran/target1.f90: Likewise.
1897 * testsuite/libgomp.fortran/target2.f90: Likewise.
1898 * testsuite/libgomp.fortran/target3.f90: Likewise.
1899 * testsuite/libgomp.fortran/target4.f90: Likewise.
1900 * testsuite/libgomp.fortran/target5.f90: Likewise.
1901 * testsuite/libgomp.fortran/target6.f90: Likewise.
1902 * testsuite/libgomp.fortran/target7.f90: Likewise.
1903 * testsuite/libgomp.fortran/target8.f90: Likewise.
1904 * testsuite/libgomp.fortran/task1.f90: Likewise.
1905 * testsuite/libgomp.fortran/task2.f90: Likewise.
1906 * testsuite/libgomp.fortran/task3.f90: Likewise.
1907 * testsuite/libgomp.fortran/task4.f90: Likewise.
1908 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
1909 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
1910 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
1911 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
1912 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
1913 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
1914 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
1915 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
1916 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
1917 * testsuite/libgomp.fortran/udr1.f90: Likewise.
1918 * testsuite/libgomp.fortran/udr10.f90: Likewise.
1919 * testsuite/libgomp.fortran/udr11.f90: Likewise.
1920 * testsuite/libgomp.fortran/udr12.f90: Likewise.
1921 * testsuite/libgomp.fortran/udr13.f90: Likewise.
1922 * testsuite/libgomp.fortran/udr14.f90: Likewise.
1923 * testsuite/libgomp.fortran/udr15.f90: Likewise.
1924 * testsuite/libgomp.fortran/udr2.f90: Likewise.
1925 * testsuite/libgomp.fortran/udr3.f90: Likewise.
1926 * testsuite/libgomp.fortran/udr4.f90: Likewise.
1927 * testsuite/libgomp.fortran/udr5.f90: Likewise.
1928 * testsuite/libgomp.fortran/udr6.f90: Likewise.
1929 * testsuite/libgomp.fortran/udr7.f90: Likewise.
1930 * testsuite/libgomp.fortran/udr8.f90: Likewise.
1931 * testsuite/libgomp.fortran/udr9.f90: Likewise.
1932 * testsuite/libgomp.fortran/vla1.f90: Likewise.
1933 * testsuite/libgomp.fortran/vla2.f90: Likewise.
1934 * testsuite/libgomp.fortran/vla3.f90: Likewise.
1935 * testsuite/libgomp.fortran/vla4.f90: Likewise.
1936 * testsuite/libgomp.fortran/vla5.f90: Likewise.
1937 * testsuite/libgomp.fortran/vla6.f90: Likewise.
1938 * testsuite/libgomp.fortran/vla7.f90: Likewise.
1939 * testsuite/libgomp.fortran/vla8.f90: Likewise.
1940 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
1941 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
1942 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
1943 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
1944 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1945 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1946 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1947 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1948 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1949 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1950 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
1951 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
1952 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
1953 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
1954 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
1955 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
1956 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
1957 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
1958 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
1959 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
1960 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
1961 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
1962 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
1963 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
1964 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
1965 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
1966 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
1967 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
1968 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
1969 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
1970 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
1971 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
1972 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
1973 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
1974 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
1975 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
1976 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
1977 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
1978 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
1979 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1980 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
1981 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
1982 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
1983 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
1984 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
1985 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
1986 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
1987 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
1988 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
1989 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
1990 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
1991 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
1992 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
1993 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
1994 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
1995 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
1996 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
1997 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
1998 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
1999 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
2000 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
2001 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
2002 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
2003 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2004 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
2005 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
2006 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
2007 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2008 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
2009 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
2010 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
2011 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
2012 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
2013 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
2014 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
2015 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
2016 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
2017 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2018 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2019 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2020 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
2021 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2022 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
2023 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
2024 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
2025 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
2026 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
2027 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
2028 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
2029 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
2030 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
2031 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
2032 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
2033 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
2034
2035 2018-03-20 Richard Biener <rguenther@suse.de>
2036
2037 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
2038 parallelizable loop.
2039
2040 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
2041
2042 PR target/84148
2043 * configure: Regenerate.
2044
2045 2018-02-16 Jakub Jelinek <jakub@redhat.com>
2046
2047 PR fortran/84418
2048 * libgomp.fortran/pr84418-1.f90: New test.
2049 * libgomp.fortran/pr84418-2.f90: New test.
2050
2051 2018-02-14 Jakub Jelinek <jakub@redhat.com>
2052
2053 PR fortran/84313
2054 * testsuite/libgomp.fortran/threadprivate4.f90: Add
2055 -std=f2003 -fall-intrinsics into dg-additional-options.
2056
2057 2018-02-08 Martin Jambor <mjambor@suse.cz>
2058
2059 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
2060 clonable.
2061
2062 2018-02-08 Martin Jambor <mjambor@suse.cz>
2063
2064 * testsuite/libgomp.hsa.c/staticvar.c: New test.
2065
2066 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2067
2068 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
2069 [__cplusplus]: Declare extern "C".
2070
2071 2018-02-07 Tom de Vries <tom@codesourcery.com>
2072
2073 PR libgomp/84217
2074 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
2075
2076 2018-01-29 Christoph Spiel <cspiel@freenet.de>
2077 Jakub Jelinek <jakub@redhat.com>
2078
2079 PR libgomp/84096
2080 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
2081 instead of omp_lock_t.
2082
2083 2018-01-25 Tom de Vries <tom@codesourcery.com>
2084
2085 PR target/84028
2086 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
2087
2088 2018-01-24 Tom de Vries <tom@codesourcery.com>
2089
2090 PR target/83589
2091 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
2092
2093 2018-01-24 Tom de Vries <tom@codesourcery.com>
2094
2095 PR target/81352
2096 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
2097
2098 2018-01-19 Tom de Vries <tom@codesourcery.com>
2099 Cesar Philippidis <cesar@codesourcery.com>
2100
2101 PR target/83920
2102 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
2103 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
2104
2105 2018-01-03 Jakub Jelinek <jakub@redhat.com>
2106
2107 Update copyright years.
2108
2109 * libgomp.texi: Bump @copying's copyright year.
2110
2111 2017-12-30 Tom de Vries <tom@codesourcery.com>
2112
2113 PR libgomp/83046
2114 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
2115 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
2116
2117 2017-12-27 Tom de Vries <tom@codesourcery.com>
2118
2119 PR c++/83046
2120 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
2121 (test_nonstatic): Fix return type to workaround PR83046.
2122
2123 2017-12-05 Jakub Jelinek <jakub@redhat.com>
2124
2125 PR testsuite/83281
2126 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
2127 j suffix instead of i.
2128 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
2129 Likewise.
2130
2131 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
2132
2133 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
2134 call to acc_wait (1).
2135
2136 2017-11-24 Jakub Jelinek <jakub@redhat.com>
2137
2138 PR fortran/81304
2139 * testsuite/libgomp.fortran/pr81304.f90: New test.
2140
2141 2017-11-23 Jakub Jelinek <jakub@redhat.com>
2142
2143 PR fortran/81841
2144 * libgomp.fortran/pr81841.f90: New test.
2145
2146 2017-11-22 Jakub Jelinek <jakub@redhat.com>
2147
2148 PR libgomp/83106
2149 * target.c (gomp_target_init): Compute lengths just once and
2150 use them in both malloc size and subsequent copying.
2151
2152 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
2153
2154 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
2155 * acinclude.m4: Add cet.m4.
2156 * configure: Regenerate.
2157 * Makefile.in: Likewise.
2158 * testsuite/Makefile.in: Likewise.
2159
2160 2017-11-15 Tom de Vries <tom@codesourcery.com>
2161
2162 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
2163 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
2164 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
2165 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
2166 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
2167 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
2168
2169 2017-11-14 Tom de Vries <tom@codesourcery.com>
2170
2171 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
2172 non-nvidia devices.
2173
2174 2017-11-07 Jakub Jelinek <jakub@redhat.com>
2175
2176 PR c++/82835
2177 * testsuite/libgomp.c++/pr82835.C: New test.
2178
2179 2017-11-06 Martin Liska <mliska@suse.cz>
2180
2181 * testsuite/libgomp.c++/loop-2.C: Return a value
2182 for functions with non-void return type, or change type to void,
2183 or add -Wno-return-type for test.
2184 * testsuite/libgomp.c++/loop-4.C: Likewise.
2185 * testsuite/libgomp.c++/parallel-1.C: Likewise.
2186 * testsuite/libgomp.c++/shared-1.C: Likewise.
2187 * testsuite/libgomp.c++/single-1.C: Likewise.
2188 * testsuite/libgomp.c++/single-2.C: Likewise.
2189
2190 2017-10-31 Tom de Vries <tom@codesourcery.com>
2191
2192 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
2193 "do {} while (false)".
2194 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
2195 after HSA_DEBUG call.
2196
2197 2017-10-28 Jakub Jelinek <jakub@redhat.com>
2198
2199 * target.c (struct gomp_coalesce_buf): New type.
2200 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
2201 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
2202 (gomp_copy_host2dev): Add CBUF argument, if copying into
2203 the cached ranges, memcpy into buffer instead of copying
2204 into device.
2205 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
2206 Add CBUF argument, pass it through to other calls.
2207 (gomp_map_vars): Aggregate copies from host to device if small enough
2208 and with small enough gaps in between into memcpy into a buffer and
2209 fewer host to device copies from the buffer.
2210 (gomp_update): Adjust gomp_copy_host2dev caller.
2211
2212 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
2213
2214 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
2215 run" directive.
2216 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
2217 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
2218 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
2219 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
2220
2221 2017-10-16 Tom de Vries <tom@codesourcery.com>
2222
2223 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
2224 openacc_nvidia_accel_selected.
2225 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
2226 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
2227 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
2228 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
2229 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
2230 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
2231 openacc_nvidia_accel_selected. Skip for shared memory device.
2232 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
2233 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
2234
2235 2017-10-09 Martin Jambor <mjambor@suse.cz>
2236
2237 PR hsa/82416
2238 * testsuite/libgomp.hsa.c/pr82416.c: New test.
2239
2240 2017-10-07 Tom de Vries <tom@codesourcery.com>
2241
2242 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
2243 Remove acc_device_nvidia references.
2244 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
2245 Same.
2246
2247 2017-10-05 Tom de Vries <tom@codesourcery.com>
2248
2249 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
2250 vector_length(32) clause from acc parallel directive.
2251 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
2252
2253 2017-10-04 Tom de Vries <tom@codesourcery.com>
2254
2255 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
2256 (main): Reduce sum of arr elements. Assert that hres is exactly
2257 representable in 32-bit floating point.
2258 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
2259 (main): Reduce sum of arr elements. Assert that hres and hmres are
2260 exactly representable in 32-bit floating point.
2261 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
2262
2263 2017-09-28 Tom de Vries <tom@codesourcery.com>
2264
2265 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
2266 setting.
2267 * testsuite/libgomp.c++/pr69393.C: Same.
2268 * testsuite/libgomp.c++/taskloop-1.C: Same.
2269 * testsuite/libgomp.c++/taskloop-3.C: Same.
2270 * testsuite/libgomp.c++/taskloop-4.C: Same.
2271 * testsuite/libgomp.c/for-4.c: Same.
2272 * testsuite/libgomp.c/pr66199-3.c: Same.
2273 * testsuite/libgomp.c/pr66199-4.c: Same.
2274 * testsuite/libgomp.c/pr66199-6.c: Same.
2275 * testsuite/libgomp.c/taskloop-1.c: Same.
2276 * testsuite/libgomp.c/taskloop-3.c: Same.
2277 * testsuite/libgomp.c/taskloop-4.c: Same.
2278 * testsuite/libgomp.fortran/aligned1.f03: Same.
2279 * testsuite/libgomp.fortran/condinc1.f: Same.
2280 * testsuite/libgomp.fortran/condinc3.f90: Same.
2281 * testsuite/libgomp.fortran/crayptr1.f90: Same.
2282 * testsuite/libgomp.fortran/crayptr2.f90: Same.
2283 * testsuite/libgomp.fortran/crayptr3.f90: Same.
2284 * testsuite/libgomp.fortran/omp_cond1.f: Same.
2285 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
2286 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
2287 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
2288 * testsuite/libgomp.fortran/recursion1.f90: Same.
2289 * testsuite/libgomp.fortran/target2.f90: Same.
2290 * testsuite/libgomp.fortran/target5.f90: Same.
2291 * testsuite/libgomp.fortran/task3.f90: Same.
2292
2293 2017-09-28 Tom de Vries <tom@codesourcery.com>
2294
2295 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
2296 vector_length(32) clause from acc parallel directive.
2297 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
2298
2299 2017-09-27 Tom de Vries <tom@codesourcery.com>
2300
2301 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
2302 Remove acc_device_nvidia references.
2303
2304 2017-09-16 Tom de Vries <tom@codesourcery.com>
2305
2306 PR c/81875
2307 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
2308
2309 2017-09-14 Tom de Vries <tom@codesourcery.com>
2310
2311 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
2312 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
2313 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
2314 * testsuite/libgomp.c/c.exp: Include test-cases from
2315 libgomp.c-c++-common.
2316 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
2317 files.
2318
2319 2017-09-14 Jakub Jelinek <jakub@redhat.com>
2320
2321 PR c++/81314
2322 * testsuite/libgomp.c++/pr81314.C: New test.
2323
2324 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
2325
2326 * libgomp.texi (Top): www.openacc.org now uses https.
2327 (Enabling OpenACC): Ditto.
2328 (acc_get_num_devices): Ditto.
2329 (acc_set_device_type): Ditto.
2330 (acc_get_device_type): Ditto.
2331 (acc_set_device_num): Ditto.
2332 (acc_get_device_num): Ditto.
2333 (acc_async_test): Ditto.
2334 (acc_async_test_all): Ditto.
2335 (acc_wait): Ditto.
2336 (acc_wait_all): Ditto.
2337 (acc_wait_all_async): Ditto.
2338 (acc_wait_async): Ditto.
2339 (acc_init): Ditto.
2340 (acc_shutdown): Ditto.
2341 (acc_on_device): Ditto.
2342 (acc_malloc): Ditto.
2343 (acc_free): Ditto.
2344 (acc_copyin): Ditto.
2345 (acc_present_or_copyin): Ditto.
2346 (acc_create): Ditto.
2347 (acc_present_or_create): Ditto.
2348 (acc_copyout): Ditto.
2349 (acc_delete): Ditto.
2350 (acc_update_device): Ditto.
2351 (acc_update_self): Ditto.
2352 (acc_map_data): Ditto.
2353 (acc_unmap_data): Ditto.
2354 (acc_deviceptr): Ditto.
2355 (acc_hostptr): Ditto.
2356 (acc_is_present): Ditto.
2357 (acc_memcpy_to_device): Ditto.
2358 (acc_memcpy_from_device): Ditto.
2359 (acc_get_current_cuda_device): Ditto.
2360 (acc_get_current_cuda_context): Ditto.
2361 (acc_get_cuda_stream): Ditto.
2362 (acc_set_cuda_stream): Ditto.
2363 (ACC_DEVICE_TYPE): Ditto.
2364 (ACC_DEVICE_NUM): Ditto.
2365 (OpenACC Library Interoperability): Ditto.
2366
2367 2017-08-09 Jakub Jelinek <jakub@redhat.com>
2368
2369 PR c/81687
2370 * testsuite/libgomp.c/pr81687-1.c: New test.
2371 * testsuite/libgomp.c/pr81687-2.c: New test.
2372
2373 2017-08-07 Jakub Jelinek <jakub@redhat.com>
2374
2375 PR c/69389
2376 * testsuite/libgomp.c/pr69389.c: New test.
2377 * testsuite/libgomp.c++/pr69389.C: New test.
2378
2379 2017-08-07 Tom de Vries <tom@codesourcery.com>
2380
2381 PR middle-end/78266
2382 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
2383 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
2384
2385 2017-07-27 Jakub Jelinek <jakub@redhat.com>
2386
2387 PR c/45784
2388 * testsuite/libgomp.c/pr45784.c: New test.
2389 * testsuite/libgomp.c++/pr45784.C: New test.
2390
2391 2017-07-19 Tom de Vries <tom@codesourcery.com>
2392
2393 * testsuite/libgomp.oacc-c/vec.c: New test.
2394
2395 2017-07-03 Tom de Vries <tom@codesourcery.com>
2396
2397 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
2398
2399 2017-06-27 Tom de Vries <tom@codesourcery.com>
2400
2401 * plugin/plugin-nvptx.c (notify_var): New function.
2402 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
2403
2404 2017-06-27 Tom de Vries <tom@codesourcery.com>
2405
2406 * env.c (parse_unsigned_long_1): Factor out of ...
2407 (parse_unsigned_long): ... here.
2408 (parse_int_1): Factor out of ...
2409 (parse_int): ... here.
2410 (parse_int_secure): New function.
2411 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
2412 * secure_getenv.h: Factor out of ...
2413 * plugin/plugin-hsa.c: ... here.
2414 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
2415
2416 2017-06-21 Jakub Jelinek <jakub@redhat.com>
2417
2418 PR c++/81130
2419 * testsuite/libgomp.c++/pr81130.C: New test.
2420
2421 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2422
2423 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
2424 default args.
2425 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
2426 dg-xfail-run-if default args.
2427
2428 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2429
2430 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
2431 * testsuite/libgomp.c/pr39591-3.c: Likewise.
2432
2433 2017-05-30 Jakub Jelinek <jakub@redhat.com>
2434
2435 PR libgomp/80822
2436 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
2437 (gomp_affinity_init_level): Use it. Always analyze the core and thread
2438 sibling lists, depending on level just pick up what CPUs to put
2439 together into a place vs. whether add multiple ordered places.
2440
2441 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
2442
2443 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
2444 * libgomp.map (OACC_2.0.1): Add these.
2445 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
2446 for "acc_wait", and "acc_wait_all", respectively.
2447 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
2448 for "acc_wait", and "acc_wait_all", respectively.
2449 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
2450 * libgomp.texi (acc_wait, acc_wait_all): Update.
2451 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
2452 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
2453 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2454
2455 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
2456 acc_present_or_copyin and acc_present_or_create procedures,
2457 respectively.
2458 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
2459 generally different variants of OpenACC Runtime Library functions.
2460 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2461
2462 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
2463 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2464
2465 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
2466 of preprocessor definitions.
2467 * libgomp.h (strong_alias): Guard by "#ifdef
2468 HAVE_ATTRIBUTE_ALIAS".
2469 * oacc-mem.c: Provide "acc_pcreate" as alias for
2470 "acc_present_or_create", and "acc_pcopyin" as alias for
2471 "acc_present_or_copyin".
2472 * libgomp.map: New version "OACC_2.0.1".
2473 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
2474 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
2475 its content into...
2476 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
2477 Extend testing.
2478
2479 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
2480 when disabling nvptx offloading.
2481
2482 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
2483
2484 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
2485 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2486 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2487
2488 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
2489 * testsuite/lib/libgomp.exp
2490 (check_effective_target_openacc_nvidia_accel_configured): New
2491 proc.
2492 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
2493 (check_effective_target_c++): New procs.
2494 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
2495 (check_effective_target_c++): Likewise.
2496
2497 2017-05-22 Jakub Jelinek <jakub@redhat.com>
2498
2499 PR middle-end/80809
2500 * testsuite/libgomp.c/pr80809-2.c: New test.
2501 * testsuite/libgomp.c/pr80809-3.c: New test.
2502
2503 PR middle-end/80809
2504 * testsuite/libgomp.c/pr80809-1.c: New test.
2505
2506 PR middle-end/80853
2507 * testsuite/libgomp.c/pr80853.c: New test.
2508
2509 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
2510
2511 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
2512 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
2513 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2514 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2515 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2516
2517 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
2518 Debug output for failure.
2519
2520 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2521
2522 * testsuite/lib/libgomp.exp: Load scanlang.exp.
2523
2524 2017-04-27 Jakub Jelinek <jakub@redhat.com>
2525
2526 PR bootstrap/80531
2527 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
2528 bootstrap compare failures.
2529
2530 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
2531
2532 * testsuite/libgomp.c/target-36.c: New testcase.
2533
2534 2017-04-13 Jakub Jelinek <jakub@redhat.com>
2535
2536 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
2537 instead of char.
2538
2539 2017-04-11 Jakub Jelinek <jakub@redhat.com>
2540
2541 PR libgomp/80394
2542 * testsuite/libgomp.c/pr80394.c: New test.
2543
2544 2017-04-04 Jakub Jelinek <jakub@redhat.com>
2545
2546 PR libgomp/79876
2547 * config/posix/thread-stacksize.h: New file.
2548 * config/darwin/thread-stacksize.h: New file.
2549 * config/nvptx/thread-stacksize.h: New file.
2550 * env.c: Include thread-stacksize.h.
2551 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
2552 instead of 0. Call pthread_attr_setstacksize even if
2553 GOMP_DEFAULT_STACKSIZE is non-zero.
2554
2555 2017-03-30 Jakub Jelinek <jakub@redhat.com>
2556
2557 * env.c (initialize_env): Initialize stacksize to 0.
2558
2559 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
2560
2561 PR c++/80029
2562 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
2563
2564 2017-03-08 Jakub Jelinek <jakub@redhat.com>
2565
2566 PR c/79940
2567 * testsuite/libgomp.c/pr79940.c: New test.
2568
2569 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2570
2571 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
2572 targets.
2573 Add __float128 options.
2574
2575 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
2576
2577 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
2578 hppa*-*-* dg-skip-if directive.
2579
2580 2017-02-09 Jakub Jelinek <jakub@redhat.com>
2581
2582 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
2583 dg-skip-if directive into a comment.
2584
2585 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
2586 Chung-Lin Tang <cltang@codesourcery.com>
2587
2588 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
2589 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
2590 add additional case.
2591 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
2592 "openacc_nvidia_accel_selected".
2593 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
2594 Add num_workers(8) clause.
2595
2596 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
2597
2598 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
2599 hppa*-*-*.
2600 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
2601 include complex.h on hppa*-*-hpux*.
2602 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
2603
2604 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
2605
2606 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
2607
2608 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
2609 GOMP_OFFLOAD_openacc_exec. Adjust all users.
2610 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
2611 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
2612 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
2613 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
2614 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
2615 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
2616 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
2617 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
2618
2619 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
2620
2621 * libgomp-plugin.h: #include <stdbool.h>.
2622 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
2623 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
2624 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
2625 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
2626 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
2627 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
2628 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
2629 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
2630 (GOMP_OFFLOAD_openacc_register_async_cleanup)
2631 (GOMP_OFFLOAD_openacc_async_test)
2632 (GOMP_OFFLOAD_openacc_async_test_all)
2633 (GOMP_OFFLOAD_openacc_async_wait)
2634 (GOMP_OFFLOAD_openacc_async_wait_async)
2635 (GOMP_OFFLOAD_openacc_async_wait_all)
2636 (GOMP_OFFLOAD_openacc_async_wait_all_async)
2637 (GOMP_OFFLOAD_openacc_async_set_async)
2638 (GOMP_OFFLOAD_openacc_create_thread_data)
2639 (GOMP_OFFLOAD_openacc_destroy_thread_data)
2640 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
2641 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
2642 (GOMP_OFFLOAD_openacc_get_cuda_stream)
2643 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
2644 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
2645 these.
2646 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
2647 (GOMP_OFFLOAD_unload_image): Fix argument types.
2648
2649 2017-01-26 Jakub Jelinek <jakub@redhat.com>
2650
2651 * testsuite/lib/libgomp.exp
2652 (check_effective_target_hsa_offloading_selected_nocache): Fix up
2653 check_compile invocation. Fix up removal of executable. Drop
2654 bogus "2>&1" argument.
2655
2656 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
2657 directive.
2658
2659 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
2660 Martin Jambor <mjambor@suse.cz>
2661
2662 * plugin/hsa.h: Moved to top level include.
2663 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
2664
2665 2017-01-21 Jakub Jelinek <jakub@redhat.com>
2666
2667 PR other/79046
2668 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
2669 of cat to get version from BASE-VER file.
2670 * testsuite/Makefile.in: Regenerated.
2671
2672 2017-01-19 Jakub Jelinek <jakub@redhat.com>
2673
2674 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
2675 for _WIN64.
2676
2677 2017-01-17 Jakub Jelinek <jakub@redhat.com>
2678
2679 * plugin/hsa.h: Add GCC runtime library exception.
2680 * plugin/hsa_ext_finalize.h: Likewise.
2681
2682 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
2683 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
2684 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
2685 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
2686 plugin/include/cuda as include dir and -ldl instead of -lcuda as
2687 library to link ptx plugin against.
2688 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
2689 (CUDA_CALLS): Define.
2690 (cuda_lib, cuda_lib_inited): New variables.
2691 (init_cuda_lib): New function.
2692 (CUDA_CALL_PREFIX): Define.
2693 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
2694 (CUDA_CALL): Use FN instead of (FN).
2695 (CUDA_CALL_NOCHECK): Define.
2696 (cuda_error, fini_streams_for_device, select_stream_for_async,
2697 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
2698 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
2699 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
2700 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
2701 CUDA_CALL_NOCHECK.
2702 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
2703 CUDA_CALL_NOCHECK.
2704 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
2705 Use CUDA_CALL_NOCHECK.
2706 * plugin/cuda/cuda.h: New file.
2707 * config.h.in: Regenerated.
2708 * configure: Regenerated.
2709
2710 PR other/79046
2711 * configure.ac: Add GCC_BASE_VER.
2712 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
2713 get version from BASE-VER file.
2714 * testsuite/Makefile.in: Regenerated.
2715 * configure: Regenerated.
2716 * Makefile.in: Regenerated.
2717
2718 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2719
2720 PR libgomp/60670
2721 * Makefile.am: Make fincludedir multilib-aware.
2722 * Makefile.in: Regenerate.
2723
2724 2017-01-01 Jakub Jelinek <jakub@redhat.com>
2725
2726 Update copyright years.
2727
2728 * libgomp.texi: Bump @copying's copyright year.
2729
2730 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
2731
2732 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
2733 pthread_spinlock_t instead of gomp_mutex_t lock.
2734 (gomp_get_thread_pool): Likewise.
2735 (gomp_release_thread_pool): Likewise.
2736 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
2737 Likewise.
2738
2739 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
2740
2741 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
2742 thread pool in case nthreads == 1.
2743
2744 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
2745
2746 * config/nvptx/env.c: Delete.
2747 * icv.c: Move definitions of ICV variables back ...
2748 * env.c: ...here. Do not compile environment-related functionality if
2749 LIBGOMP_OFFLOADED_ONLY is set.
2750
2751 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
2752
2753 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
2754 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
2755 * configure: Regenerate.
2756 * config.h.in: Likewise.
2757
2758 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
2759
2760 * Makefile.in: Regenerate with automake-1.11.6.
2761 * aclocal.m4: Likewise.
2762 * configure: Likewise.
2763 * testsuite/Makefile.in: Likewise.
2764
2765 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
2766
2767 * config/nvptx/critical.c: Delete to use generic implementation.
2768
2769 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
2770
2771 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
2772 ../../affinity.c as fallback.
2773 * config/nvptx/affinity.c: Delete to use fallback implementation.
2774
2775 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
2776 Jakub Jelinek <jakub@redhat.com>
2777 Dmitry Melnik <dm@ispras.ru>
2778
2779 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
2780 * Makefile.in. Regenerate.
2781 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
2782 (LIBGOMP_USE_PTHREADS): ...here; new define.
2783 * configure: Regenerate.
2784 * config.h.in: Likewise.
2785 * config/posix/affinity.c: Move to...
2786 * affinity.c: ...here (new file). Guard use of Pthreads-specific
2787 interface by LIBGOMP_USE_PTHREADS.
2788 * critical.c: Split out GOMP_atomic_{start,end} into...
2789 * atomic.c: ...here (new file).
2790 * env.c: Split out ICV definitions into...
2791 * icv.c: ...here (new file) and...
2792 * icv-device.c: ...here. New file.
2793 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
2794 (gomp_destroy_lock_30): Ditto.
2795 (gomp_set_lock_30): Ditto.
2796 (gomp_unset_lock_30): Ditto.
2797 (gomp_test_lock_30): Ditto.
2798 (gomp_init_nest_lock_30): Ditto.
2799 (gomp_destroy_nest_lock_30): Ditto.
2800 (gomp_set_nest_lock_30): Ditto.
2801 (gomp_unset_nest_lock_30): Ditto.
2802 (gomp_test_nest_lock_30): Ditto.
2803 * lock.c: New.
2804 * config/nvptx/lock.c: New.
2805 * config/nvptx/bar.c: New.
2806 * config/nvptx/bar.h: New.
2807 * config/nvptx/doacross.h: New.
2808 * config/nvptx/error.c: New.
2809 * config/nvptx/icv-device.c: New.
2810 * config/nvptx/mutex.h: New.
2811 * config/nvptx/pool.h: New.
2812 * config/nvptx/proc.c: New.
2813 * config/nvptx/ptrlock.h: New.
2814 * config/nvptx/sem.h: New.
2815 * config/nvptx/simple-bar.h: New.
2816 * config/nvptx/target.c: New.
2817 * config/nvptx/task.c: New.
2818 * config/nvptx/team.c: New.
2819 * config/nvptx/time.c: New.
2820 * config/posix/simple-bar.h: New.
2821 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
2822 (gomp_num_teams_var): Declare.
2823 (struct gomp_thread_pool): Change threads_dock member to
2824 gomp_simple_barrier_t.
2825 [__nvptx__] (gomp_thread): New implementation.
2826 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
2827 (gomp_thread_destructor): Ditto.
2828 (gomp_init_thread_affinity): Ditto.
2829 * team.c: Guard uses of Pthreads-specific interfaces by
2830 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
2831 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
2832 * config/nvptx/alloc.c: Delete.
2833 * config/nvptx/barrier.c: Ditto.
2834 * config/nvptx/fortran.c: Ditto.
2835 * config/nvptx/iter.c: Ditto.
2836 * config/nvptx/iter_ull.c: Ditto.
2837 * config/nvptx/loop.c: Ditto.
2838 * config/nvptx/loop_ull.c: Ditto.
2839 * config/nvptx/ordered.c: Ditto.
2840 * config/nvptx/parallel.c: Ditto.
2841 * config/nvptx/priority_queue.c: Ditto.
2842 * config/nvptx/sections.c: Ditto.
2843 * config/nvptx/single.c: Ditto.
2844 * config/nvptx/splay-tree.c: Ditto.
2845 * config/nvptx/work.c: Ditto.
2846 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
2847 -foffload=-lgfortran in addition to -lgfortran.
2848 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
2849 * plugin/plugin-nvptx.c: Include <limits.h>.
2850 (struct targ_fn_descriptor): Add new fields.
2851 (struct ptx_device): Ditto. Set them...
2852 (nvptx_open_device): ...here.
2853 (nvptx_adjust_launch_bounds): New.
2854 (nvptx_host2dev): Allow NULL 'nvthd'.
2855 (nvptx_dev2host): Ditto.
2856 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
2857 (link_ptx): Adjust log sizes.
2858 (nvptx_host2dev): Allow NULL 'nvthd'.
2859 (nvptx_dev2host): Ditto.
2860 (nvptx_set_clocktick): New. Use it...
2861 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
2862 fields.
2863 (GOMP_OFFLOAD_dev2dev): New.
2864 (nvptx_adjust_launch_bounds): New.
2865 (nvptx_stacks_size): New.
2866 (nvptx_stacks_alloc): New.
2867 (nvptx_stacks_free): New.
2868 (GOMP_OFFLOAD_run): New.
2869 (GOMP_OFFLOAD_async_run): New (stub).
2870
2871 2016-11-23 Martin Jambor <mjambor@suse.cz>
2872
2873 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
2874 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
2875 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
2876
2877 2016-11-23 Martin Liska <mliska@suse.cz>
2878 Martin Jambor <mjambor@suse.cz>
2879
2880 * plugin/hsa.h: New file.
2881 * plugin/hsa_ext_finalize.h: New file.
2882 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
2883 header file unistd.h, and functions secure_getenv, __secure_getenv,
2884 getuid, geteuid, getgid and getegid.
2885 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
2886 -D_GNU_SOURCE.
2887 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
2888 Handle various cases of secure_getenv presence, add an implementation
2889 when we can test effective UID and GID.
2890 (struct hsa_runtime_fn_info): New structure.
2891 (hsa_runtime_fn_info hsa_fns): New variable.
2892 (hsa_runtime_lib): Likewise.
2893 (support_cpu_devices): Likewise.
2894 (init_enviroment_variables): Load newly introduced ENV
2895 variables.
2896 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
2897 (hsa_fatal): Likewise.
2898 (DLSYM_FN): New macro.
2899 (init_hsa_runtime_functions): New function.
2900 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
2901 structure. Depending on environment, also allow CPU devices.
2902 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
2903 (get_kernarg_memory_region): Likewise.
2904 (GOMP_OFFLOAD_init_device): Likewise.
2905 (destroy_hsa_program): Likewise.
2906 (init_basic_kernel_info): New function.
2907 (GOMP_OFFLOAD_load_image): Use it.
2908 (create_and_finalize_hsa_program): Call hsa run-time functions via
2909 hsa_fns structure.
2910 (create_single_kernel_dispatch): Likewise.
2911 (release_kernel_dispatch): Likewise.
2912 (init_single_kernel): Likewise.
2913 (parse_target_attributes): Allow up multiple HSA grid dimensions.
2914 (get_group_size): New function.
2915 (run_kernel): Likewise.
2916 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
2917 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
2918 structure.
2919 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
2920 * testsuite/libgomp-test-support.exp.in: Likewise.
2921 * Makefile.in: Regenerated.
2922 * aclocal.m4: Likewise.
2923 * config.h.in: Likewise.
2924 * configure: Likewise.
2925 * testsuite/Makefile.in: Likewise.
2926
2927 2016-11-15 Martin Jambor <mjambor@suse.cz>
2928 Alexander Monakov <amonakov@ispras.ru>
2929
2930 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
2931 mapping clauses to target constructs.
2932 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
2933
2934 2016-11-15 Matthias Klose <doko@ubuntu.com>
2935
2936 * configure: Regenerate.
2937
2938 2016-11-10 Jakub Jelinek <jakub@redhat.com>
2939
2940 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
2941 * omp_lib.h.in (openmp_version): Likewise.
2942 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
2943 of 201307.
2944 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2945
2946 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
2947 (fib_wrapper): Add map(from: x) clause.
2948 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
2949 (e_53_2): Likewise.
2950 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
2951 (accum): Add map(tmp) clause.
2952 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
2953 (accum): Add map(tofrom: tmp) clause.
2954 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
2955 (gramSchmidt): Likewise.
2956 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
2957 map(tofrom: sum) clause.
2958 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
2959 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
2960 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
2961 only allowed on the loop iterator.
2962 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
2963 * testsuite/libgomp.fortran/taskloop2.f90: New test.
2964 * testsuite/libgomp.fortran/taskloop4.f90: New test.
2965 * testsuite/libgomp.fortran/doacross1.f90: New test.
2966 * testsuite/libgomp.fortran/doacross3.f90: New test.
2967 * testsuite/libgomp.fortran/taskloop1.f90: New test.
2968 * testsuite/libgomp.fortran/taskloop3.f90: New test.
2969 * testsuite/libgomp.fortran/doacross2.f90: New test.
2970 * testsuite/libgomp.c/doacross-1.c (main): Add missing
2971 #pragma omp atomic read.
2972 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
2973 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
2974
2975 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
2976 Nathan Sidwell <nathan@acm.org>
2977
2978 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
2979 to determine default geometry.
2980 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
2981 dimension.
2982
2983 2016-11-01 Jakub Jelinek <jakub@redhat.com>
2984
2985 * hashtab.h: Use standard GPLv3 with runtime exception
2986 boilerplate.
2987
2988 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
2989
2990 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
2991 size when allocating new thread.
2992
2993 2016-09-14 Marek Polacek <polacek@redhat.com>
2994
2995 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
2996
2997 2016-08-19 Jakub Jelinek <jakub@redhat.com>
2998
2999 PR fortran/71014
3000 * testsuite/libgomp.fortran/pr71014.f90: New test.
3001
3002 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
3003
3004 PR middle-end/70895
3005 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
3006 firstprivate clauses.
3007 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
3008 copy clauses.
3009 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3010 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
3011 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
3012 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
3013 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3014 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
3015 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3016 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
3017 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3018 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3019 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3020 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
3021
3022 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
3023
3024 PR fortran/70598
3025 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
3026
3027 2016-08-08 Jakub Jelinek <jakub@redhat.com>
3028
3029 PR c++/58706
3030 * testsuite/libgomp.c++/pr58706.C: New test.
3031
3032 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
3033
3034 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
3035 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
3036 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
3037 Likewise.
3038 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
3039 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
3040 Likewise.
3041 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
3042
3043 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
3044 test, and don't hardcode -O0.
3045
3046 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
3047
3048 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
3049
3050 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
3051
3052 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
3053 test.
3054
3055 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
3056
3057 PR middle-end/71734
3058 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
3059 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
3060
3061 2016-07-01 Jakub Jelinek <jakub@redhat.com>
3062
3063 PR fortran/71717
3064 * testsuite/libgomp.fortran/associate3.f90: New test.
3065
3066 2016-06-17 Jakub Jelinek <jakub@redhat.com>
3067
3068 * testsuite/libgomp.c++/target-21.C: New test.
3069
3070 2016-06-16 Jakub Jelinek <jakub@redhat.com>
3071
3072 * testsuite/libgomp.c++/target-20.C: New test.
3073
3074 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
3075 Cesar Philippidis <cesar@codesourcery.com>
3076
3077 PR middle-end/71373
3078 * libgomp.oacc-c/nested-function-1.c: New file.
3079 * libgomp.oacc-c/nested-function-2.c: Likewise.
3080 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3081 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3082 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3083
3084 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
3085
3086 PR c/71381
3087 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
3088 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
3089 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
3090
3091 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
3092
3093 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
3094 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
3095
3096 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
3097
3098 PR c/70688
3099 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3100
3101 2016-05-26 Jakub Jelinek <jakub@redhat.com>
3102
3103 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
3104 instead of invalid schedule(static, 0).
3105 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
3106
3107 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
3108
3109 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
3110 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
3111 parameter, use to set async stream around call to gomp_unmap_vars,
3112 call gomp_unmap_vars() with 'do_copyfrom' set to true.
3113 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
3114 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
3115 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
3116 (event_add): Add int parameter, initialize 'val' field when
3117 adding new ptx_event struct.
3118 (nvptx_evec): Adjust event_add() call arguments.
3119 (nvptx_host2dev): Likewise.
3120 (nvptx_dev2host): Likewise.
3121 (nvptx_wait_async): Likewise.
3122 (nvptx_wait_all_async): Likewise.
3123 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
3124 pass to event_add() call.
3125 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
3126 parameter.
3127 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
3128 call openacc.register_async_cleanup_func() hook.
3129 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
3130 * target.c (gomp_copy_from_async): Delete function.
3131 (gomp_map_vars): Remove async_refcount.
3132 (gomp_unmap_vars): Likewise.
3133 (gomp_load_image_to_device): Likewise.
3134 (omp_target_associate_ptr): Likewise.
3135 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
3136 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
3137 (gomp_copy_from_async): Remove.
3138
3139 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
3140
3141 * target.c (gomp_device_copy): New function.
3142 (gomp_copy_host2dev): Likewise.
3143 (gomp_copy_dev2host): Likewise.
3144 (gomp_free_device_memory): Likewise.
3145 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
3146 (gomp_map_pointer): Likewise.
3147 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
3148 NULL value from alloc_func plugin hook.
3149 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
3150 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
3151 (gomp_unmap_vars): Likewise.
3152 (gomp_update): Adjust to call gomp_copy_dev2host and
3153 gomp_copy_host2dev functions.
3154 (gomp_unload_image_from_device): Handle false value from
3155 unload_image_func plugin hook.
3156 (gomp_init_device): Handle false value from init_device_func
3157 plugin hook.
3158 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
3159 (omp_target_free): Adjust to call gomp_free_device_memory.
3160 (omp_target_memcpy): Handle return values from host2dev_func,
3161 dev2host_func, and dev2dev_func plugin hooks.
3162 (omp_target_memcpy_rect_worker): Likewise.
3163 (gomp_target_fini): Handle false value from fini_device_func
3164 plugin hook.
3165 * libgomp.h (struct gomp_device_descr): Adjust return type of
3166 init_device_func, fini_device_func, unload_image_func, free_func,
3167 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
3168 * oacc-init.c (acc_shutdown_1): Handle false value from
3169 fini_device_func plugin hook.
3170 * oacc-host.c (host_init_device): Change return type to bool.
3171 (host_fini_device): Likewise.
3172 (host_unload_image): Likewise.
3173 (host_free): Likewise.
3174 (host_dev2host): Likewise.
3175 (host_host2dev): Likewise.
3176 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
3177 (acc_memcpy_to_device): Likewise.
3178 (acc_memcpy_from_device): Likewise.
3179 (delete_copyout): Add libfnname parameter, handle free_func
3180 hook fatal error case.
3181 (acc_delete): Adjust delete_copyout call.
3182 (acc_copyout): Likewise.
3183 (update_dev_host): Move gomp_mutex_unlock to after
3184 host2dev/dev2host hook calls.
3185
3186 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
3187 to 'hsa_error_msg', for clarity.
3188 (hsa_fatal): Likewise.
3189 (hsa_error): New function.
3190 (init_hsa_context): Change return type to bool, adjust to return
3191 false on error.
3192 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
3193 return value.
3194 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
3195 return false on error.
3196 (get_agent_info): Adjust to return NULL on error.
3197 (destroy_hsa_program): Change return type to bool, adjust to
3198 return false on error.
3199 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
3200 (destroy_module): Change return type to bool, adjust to
3201 return false on error.
3202 (GOMP_OFFLOAD_unload_image): Likewise.
3203 (GOMP_OFFLOAD_fini_device): Likewise.
3204 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
3205 (GOMP_OFFLOAD_free): Change to return false when called.
3206 (GOMP_OFFLOAD_dev2host): Likewise.
3207 (GOMP_OFFLOAD_host2dev): Likewise.
3208 (GOMP_OFFLOAD_dev2dev): Likewise.
3209
3210 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
3211 (CUDA_CALL): Likewise.
3212 (CUDA_CALL_ASSERT): Likewise.
3213 (map_init): Change return type to bool, use CUDA_CALL* macros.
3214 (map_fini): Likewise.
3215 (init_streams_for_device): Change return type to bool, adjust
3216 call to map_init.
3217 (fini_streams_for_device): Change return type to bool, adjust
3218 call to map_fini.
3219 (select_stream_for_async): Release stream_lock before calls to
3220 GOMP_PLUGIN_fatal, adjust call to map_init.
3221 (nvptx_init): Use CUDA_CALL* macros.
3222 (nvptx_attach_host_thread_to_device): Change return type to bool,
3223 use CUDA_CALL* macros.
3224 (nvptx_open_device): Use CUDA_CALL* macros.
3225 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
3226 macros.
3227 (nvptx_get_num_devices): Use CUDA_CALL* macros.
3228 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
3229 (nvptx_exec): Use CUDA_CALL* macros.
3230 (nvptx_alloc): Use CUDA_CALL* macros.
3231 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
3232 (nvptx_host2dev): Likewise.
3233 (nvptx_dev2host): Likewise.
3234 (nvptx_wait): Use CUDA_CALL* macros.
3235 (nvptx_wait_async): Likewise.
3236 (nvptx_wait_all): Likewise.
3237 (nvptx_wait_all_async): Likewise.
3238 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
3239 use CUDA_CALL* macros, adjust call to map_fini.
3240 (GOMP_OFFLOAD_init_device): Change return type to bool,
3241 adjust code accordingly.
3242 (GOMP_OFFLOAD_fini_device): Likewise.
3243 (GOMP_OFFLOAD_load_image): Adjust calls to
3244 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
3245 use CUDA_CALL* macros.
3246 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
3247 return code.
3248 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
3249 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
3250 handle error return.
3251 (GOMP_OFFLOAD_dev2host): Likewise.
3252 (GOMP_OFFLOAD_host2dev): Likewise.
3253 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
3254 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
3255
3256 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
3257
3258 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
3259 (acc_free): Likewise.
3260 (acc_memcpy_to_device): Likewise.
3261 (acc_memcpy_from_device): Likewise.
3262 (acc_deviceptr): Likewise.
3263 (acc_hostptr): Likewise.
3264 (acc_is_present): Likewise.
3265 (acc_map_data): Likewise.
3266 (acc_unmap_data): Likewise.
3267 (present_create_copy): Likewise.
3268 (delete_copyout): Likewise.
3269 (update_dev_host): Likewise.
3270 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
3271 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
3272 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
3273 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3274 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
3275 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
3276 it only runs on nvptx targets.
3277 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
3278 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
3279 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3280 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3281 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3282 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3283 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3284 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3285 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3286 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
3287 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3288 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3289 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3290 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3291 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3292 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3293 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3294 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3295 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3296 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3297 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3298 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3299 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3300
3301 2016-05-23 Martin Jambor <mjambor@suse.cz>
3302
3303 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
3304
3305 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
3306
3307 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
3308 to gomp_init_targets_once.
3309 (acc_set_device_type): Remove !cached_base_dev condition on call to
3310 gomp_init_targets_once, move call to before acc_device_lock acquire,
3311 to avoid deadlock.
3312 (acc_get_device_num): Remove !cached_base_dev condition on call to
3313 gomp_init_targets_once.
3314 (acc_set_device_num): Likewise.
3315
3316 2016-05-16 Martin Jambor <mjambor@suse.cz>
3317
3318 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
3319
3320 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
3321
3322 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
3323 expected partitioning.
3324
3325 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
3326
3327 PR middle-end/70626
3328 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
3329 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
3330 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
3331
3332 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
3333
3334 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
3335 non-fatal.
3336
3337 2016-04-19 Jakub Jelinek <jakub@redhat.com>
3338
3339 PR middle-end/70680
3340 * testsuite/libgomp.c/pr70680-1.c: New test.
3341 * testsuite/libgomp.c/pr70680-2.c: New test.
3342
3343 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
3344
3345 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
3346 pass parameter variables to subroutines.
3347
3348 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
3349
3350 PR middle-end/70643
3351 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
3352
3353 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
3354
3355 PR testsuite/68242
3356 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
3357 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3358
3359 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
3360
3361 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
3362 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
3363 GOACC_declare prototype.
3364
3365 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
3366 Merge this file, and...
3367 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
3368 ... this file, and...
3369 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
3370 ... this file, and...
3371 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
3372 ... this file, and...
3373 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
3374 ... this file, and...
3375 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
3376 ... this file, and...
3377 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
3378 ... this file, and...
3379 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
3380 ... this file, and...
3381 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
3382 ... this file, and...
3383 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
3384 ... this file, and...
3385 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
3386 ... this file, and...
3387 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
3388 ... this file, and...
3389 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
3390 ... this file into...
3391 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
3392 file.
3393
3394 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
3395 Make failure observable.
3396
3397 2016-04-12 Jakub Jelinek <jakub@redhat.com>
3398
3399 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
3400 field.
3401 * target.c (gomp_target_fallback_firstprivate,
3402 gomp_target_unshare_firstprivate): Removed.
3403 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
3404 before waiting for dependencies.
3405 (gomp_target_task_fn): Don't copy firstprivate vars here.
3406 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
3407 firstprivate_copies here.
3408 (gomp_create_target_task): Don't initialize firstprivate_copies field.
3409 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
3410 explicit/implicit firstprivate.
3411
3412 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
3413
3414 PR lto/70289
3415 PR ipa/70348
3416 PR tree-optimization/70373
3417 PR middle-end/70533
3418 PR middle-end/70534
3419 PR middle-end/70535
3420 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
3421 test.
3422 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
3423 test.
3424 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
3425 test.
3426 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
3427 test.
3428 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
3429 test.
3430 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
3431 test.
3432 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
3433 test.
3434 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
3435 test.
3436 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
3437 test.
3438 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
3439 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
3440 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
3441 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
3442 test.
3443 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
3444 test.
3445 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
3446 test.
3447 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
3448 test.
3449 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
3450 coverage.
3451 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3452 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3453 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
3454 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
3455 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
3456 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
3457 coverage.
3458 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3459 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
3460 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
3461 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3462 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
3463 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
3464 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
3465 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
3466 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
3467 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3468 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3469 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3470 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3471 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3472 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
3473
3474 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
3475 James Norris <jnorris@codesourcery.com>
3476 Nathan Sidwell <nathan@codesourcery.com>
3477 Julian Brown <julian@codesourcery.com>
3478 Cesar Philippidis <cesar@codesourcery.com>
3479 Chung-Lin Tang <cltang@codesourcery.com>
3480 Tom de Vries <tom@codesourcery.com>
3481
3482 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
3483 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
3484 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
3485 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
3486 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3487 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3488 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3489 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3490 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
3491 XFAIL.
3492 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
3493 Incorporate...
3494 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
3495 file.
3496 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
3497 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
3498 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
3499 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
3500 Likewise.
3501 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
3502 Likewise.
3503 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3504 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
3505 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
3506 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
3507 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3508 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3509 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3510 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3511 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3512 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
3513 Likewise.
3514 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
3515 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3516 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
3517 file...
3518 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
3519 file into...
3520 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
3521 file. Update.
3522 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
3523 file.
3524 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
3525 Likewise.
3526 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
3527 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
3528 ... this new file. Update.
3529 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
3530 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
3531 ... this new file. Update.
3532 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
3533 file. Incorporate...
3534 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
3535 file, and...
3536 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
3537 file, and...
3538 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
3539 file.
3540 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
3541
3542 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
3543
3544 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
3545 set-torture-options.
3546
3547 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
3548
3549 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
3550 gcc-dg-runtest.
3551 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3552 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
3553 -fno-builtin-acc_on_device instead of -O0.
3554 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
3555 -O0.
3556 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
3557 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
3558 Likewise.
3559 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
3560 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
3561 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
3562 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3563 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3564 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3565 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3566 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3567 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3568 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3569 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3570 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3571 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
3572 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
3573 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3574 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3575 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
3576 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
3577 Don't specify -O2.
3578 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
3579 Likewise.
3580 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
3581 Likewise.
3582
3583 2016-03-24 Martin Liska <mliska@suse.cz>
3584
3585 * plugin/plugin-hsa.c (packet_store_release): New function
3586 that is taken from the HSA runtime manual.
3587 (GOMP_OFFLOAD_run): Use the function.
3588
3589 2016-03-23 Jakub Jelinek <jakub@redhat.com>
3590
3591 PR c++/70376
3592 * testsuite/libgomp.c++/pr70376.C: New test.
3593
3594 2016-03-23 Tom de Vries <tom@codesourcery.com>
3595
3596 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
3597 initialization of lresult and lvresult.
3598 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
3599
3600 2016-03-23 James Norris <jnorris@codesourcery.com>
3601 Daichi Fukuoka <dc-fukuoka@sgi.com>
3602
3603 PR libgomp/69414
3604 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
3605 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
3606 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
3607 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
3608
3609 2016-03-23 Martin Liska <mliska@suse.cz>
3610
3611 PR hsa/70337
3612 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
3613 argument just in case a dispatched kernel uses that argument.
3614
3615 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
3616
3617 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
3618 -ftree-parallelize-loops/-fopenacc changes.
3619 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
3620 Likewise.
3621 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
3622 Likewise.
3623 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
3624 Likewise.
3625 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
3626 Likewise.
3627 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3628 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3629
3630 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
3631
3632 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
3633 always_ld_library_path the path to libgcc_s.
3634
3635 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
3636
3637 PR testsuite/70009
3638 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
3639
3640 2016-03-09 Tom de Vries <tom@codesourcery.com>
3641
3642 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
3643 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
3644 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
3645 Same.
3646 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
3647 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
3648 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
3649 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
3650
3651 2016-03-07 Martin Jambor <mjambor@suse.cz>
3652
3653 * testsuite/lib/libgomp.exp
3654 (check_effective_target_hsa_offloading_selected_nocache): New.
3655 (check_effective_target_hsa_offloading_selected): Likewise.
3656 * testsuite/libgomp.hsa.c/c.exp: Likewise.
3657 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
3658 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3659 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3660 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3661 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3662 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3663 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3664 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3665 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3666 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3667 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3668 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3669 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3670 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3671 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3672 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3673
3674 2016-03-07 Martin Jambor <mjambor@suse.cz>
3675
3676 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
3677 non-shared memory accelerators.
3678 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
3679 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
3680 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
3681 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
3682 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
3683 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
3684 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
3685 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
3686 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
3687
3688 2016-03-07 Martin Jambor <mjambor@suse.cz>
3689
3690 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
3691 ALWAYS_CFLAGS.
3692
3693 2016-03-02 Jakub Jelinek <jakub@redhat.com>
3694
3695 PR libgomp/69555
3696 * testsuite/libgomp.c++/pr69555-1.C: New test.
3697 * testsuite/libgomp.c++/pr69555-2.C: New test.
3698
3699 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
3700 Martin Jambor <mjambor@suse.cz>
3701
3702 * testsuite/lib/libgomp.exp
3703 (check_effective_target_offload_device_shared_as): New proc.
3704 * testsuite/libgomp.c++/declare_target-1.C: New test.
3705
3706 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
3707
3708 PR driver/68463
3709 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
3710
3711 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
3712
3713 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
3714 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
3715 dims.
3716 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
3717 -ftree-parallelize-loops/-fopenacc changes.
3718 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
3719 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
3720 Likewise.
3721 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
3722 Likewise.
3723 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
3724 Likewise.
3725 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
3726 Likewise.
3727 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
3728 Likewise.
3729 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
3730 Likewise.
3731 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
3732 Likewise.
3733 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
3734 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
3735 Likewise.
3736 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
3737 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
3738 Likewise.
3739 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
3740 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
3741 Likewise.
3742
3743 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
3744
3745 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
3746
3747 2016-02-19 Jakub Jelinek <jakub@redhat.com>
3748
3749 PR driver/69805
3750 * testsuite/libgomp.c/pr69805.c: New test.
3751
3752 2016-02-16 Tom de Vries <tom@codesourcery.com>
3753
3754 PR lto/67709
3755 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
3756
3757 2016-02-09 Tom de Vries <tom@codesourcery.com>
3758
3759 PR tree-optimization/69599
3760 * testsuite/libgomp.c/omp-nested-3.c: New test.
3761 * testsuite/libgomp.c/pr46032-2.c: New test.
3762 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
3763 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
3764
3765 2016-02-09 Tom de Vries <tom@codesourcery.com>
3766
3767 PR lto/69707
3768 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
3769
3770 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
3771
3772 * testsuite/libgomp.c/target-31.c: Fix testcase.
3773
3774 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
3775
3776 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
3777 clause.
3778 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
3779 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
3780 reduction and map clauses.
3781 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
3782
3783 2016-02-02 James Norris <jnorris@codesourcery.com>
3784
3785 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
3786
3787 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
3788
3789 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
3790 * oacc-parallel.c (GOACC_host_data): Remove function definition.
3791
3792 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
3793 cases.
3794
3795 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
3796 variables.
3797 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
3798 (hsa_kmt_lib): Set variables.
3799 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
3800 always_ld_library_path.
3801 * Makefile.in: Regenerate.
3802 * configure: Likewise.
3803 * testsuite/Makefile.in: Likewise.
3804
3805 * plugin/configfrag.ac (offload_additional_options)
3806 (offload_additional_lib_paths): Don't amend for hsa offloading.
3807 * configure: Regenerate.
3808
3809 * plugin/configfrag.ac: Don't configure for offloading target if
3810 we don't build the corresponding plugin.
3811 * configure: Regenerate.
3812
3813 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
3814
3815 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
3816 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
3817
3818 2016-01-26 Tom de Vries <tom@codesourcery.com>
3819
3820 PR tree-optimization/69110
3821 * testsuite/libgomp.c/pr69110.c: New test.
3822
3823 2016-01-25 Richard Biener <rguenther@suse.de>
3824
3825 PR lto/69393
3826 * testsuite/libgomp.c++/pr69393.C: New testcase.
3827
3828 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
3829
3830 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
3831 function wasn't mapped to the device with non-shared memory.
3832
3833 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
3834
3835 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
3836
3837 2016-01-19 Martin Jambor <mjambor@suse.cz>
3838 Martin Liska <mliska@suse.cz>
3839
3840 * plugin/Makefrag.am: Add HSA plugin requirements.
3841 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
3842 (HSA_RUNTIME_LIB): Likewise.
3843 (HSA_RUNTIME_CPPFLAGS): Likewise.
3844 (HSA_RUNTIME_INCLUDE): New substitution.
3845 (HSA_RUNTIME_LIB): Likewise.
3846 (HSA_RUNTIME_LDFLAGS): Likewise.
3847 (hsa-runtime): New configure option.
3848 (hsa-runtime-include): Likewise.
3849 (hsa-runtime-lib): Likewise.
3850 (PLUGIN_HSA): New substitution variable.
3851 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
3852 configure options.
3853 (PLUGIN_HSA_CPPFLAGS): Likewise.
3854 (PLUGIN_HSA_LDFLAGS): Likewise.
3855 (PLUGIN_HSA_LIBS): Likewise.
3856 Check that we have access to HSA run-time.
3857 * libgomp-plugin.h (offload_target_type): New element
3858 OFFLOAD_TARGET_TYPE_HSA.
3859 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
3860 args.
3861 (bool gomp_create_target_task): Updated.
3862 (gomp_device_descr): Extra parameter of run_func and async_run_func,
3863 new field can_run_func.
3864 * libgomp_g.h (GOMP_target_ext): Update prototype.
3865 * oacc-host.c (host_run): Added a new parameter args.
3866 * target.c (calculate_firstprivate_requirements): New function.
3867 (copy_firstprivate_data): Likewise.
3868 (gomp_target_fallback_firstprivate): Use them.
3869 (gomp_target_unshare_firstprivate): New function.
3870 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
3871 devices.
3872 (GOMP_target): Do host fallback for all shared memory devices. Do not
3873 pass any args to plugins.
3874 (GOMP_target_ext): Introduce device-specific argument parameter args.
3875 Allow host fallback if device shares memory. Do not remap data if
3876 device has shared memory.
3877 (gomp_target_task_fn): Likewise. Also treat shared memory devices
3878 like host fallback for mappings.
3879 (GOMP_target_data): Treat shared memory devices like host fallback.
3880 (GOMP_target_data_ext): Likewise.
3881 (GOMP_target_update): Likewise.
3882 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
3883 gomp_create_target_task.
3884 (GOMP_target_enter_exit_data): Likewise.
3885 (omp_target_alloc): Treat shared memory devices like host fallback.
3886 (omp_target_free): Likewise.
3887 (omp_target_is_present): Likewise.
3888 (omp_target_memcpy): Likewise.
3889 (omp_target_memcpy_rect): Likewise.
3890 (omp_target_associate_ptr): Likewise.
3891 (gomp_load_plugin_for_device): Also load can_run.
3892 * task.c (GOMP_PLUGIN_target_task_completion): Free
3893 firstprivate_copies.
3894 (gomp_create_target_task): Accept new argument args and store it to
3895 ttask.
3896 * plugin/plugin-hsa.c: New file.
3897
3898 2016-01-18 Tom de Vries <tom@codesourcery.com>
3899
3900 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
3901 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
3902 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
3903 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
3904 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
3905 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
3906 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
3907 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
3908 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
3909 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
3910 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
3911 Same.
3912 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
3913 Same.
3914 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
3915 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
3916 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
3917 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
3918 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
3919 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
3920 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
3921 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
3922 Same.
3923 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
3924
3925 2016-01-15 Jakub Jelinek <jakub@redhat.com>
3926
3927 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
3928
3929 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
3930
3931 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
3932
3933 2016-01-12 James Norris <jnorris@codesourcery.com>
3934
3935 * libgomp.texi: Updates for OpenACC.
3936
3937 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
3938
3939 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
3940
3941 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
3942
3943 PR fortran/66680
3944 * testsuite/libgomp.fortran/pr66680.f90: New test.
3945
3946 2016-01-07 Jakub Jelinek <jakub@redhat.com>
3947
3948 PR middle-end/68960
3949 * testsuite/libgomp.c/pr68960.c: New test.
3950
3951 2016-01-06 Nathan Sidwell <nathan@acm.org>
3952
3953 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
3954 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
3955
3956 2016-01-04 Jakub Jelinek <jakub@redhat.com>
3957
3958 Update copyright years.
3959
3960 * libgomp.texi: Bump @copying's copyright year.
3961
3962 2015-12-31 Nathan Sidwell <nathan@acm.org>
3963
3964 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
3965 dg-additional-options syntax.
3966 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3967 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
3968 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3969 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3970 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
3971 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
3972 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3973 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
3974 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3975 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
3976 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3977 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
3978 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3979 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3980 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3981 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
3982 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3983 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3984
3985 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
3986
3987 * libgomp.h (REFCOUNT_LINK): Define.
3988 (struct splay_tree_key_s): Add link_key.
3989 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
3990 Replace target address of the pointer with target address of newly
3991 mapped object in the splay tree. Set link pointer on target to the
3992 device address of the mapped object.
3993 (gomp_unmap_vars): Restore target address of the pointer in the splay
3994 tree for REFCOUNT_LINK objects after unmapping.
3995 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
3996 declare target link" objects.
3997 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
3998 "omp declare target link" objects, which were mapped for the image.
3999 (gomp_exit_data): Restore target address of the pointer in the splay
4000 tree for REFCOUNT_LINK objects after unmapping.
4001 * testsuite/libgomp.c/target-link-1.c: New file.
4002
4003 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
4004
4005 * libgomp.h (gomp_device_state): New enum.
4006 (struct gomp_device_descr): Replace is_initialized with state.
4007 (gomp_fini_device): Remove declaration.
4008 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
4009 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
4010 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
4011 (acc_set_device_type): Use state instead of is_initialized.
4012 (acc_set_device_num): Likewise.
4013 * target.c (resolve_device): Use state instead of is_initialized.
4014 Do not initialize finalized device.
4015 (gomp_map_vars): Do nothing if device is finalized.
4016 (gomp_unmap_vars): Likewise.
4017 (gomp_update): Likewise.
4018 (GOMP_offload_register_ver): Use state instead of is_initialized.
4019 (GOMP_offload_unregister_ver): Likewise.
4020 (gomp_init_device): Likewise.
4021 (gomp_unload_device): Likewise.
4022 (gomp_fini_device): Remove.
4023 (gomp_get_target_fn_addr): Do nothing if device is finalized.
4024 (GOMP_target): Go to host fallback if device is finalized.
4025 (GOMP_target_ext): Likewise.
4026 (gomp_exit_data): Do nothing if device is finalized.
4027 (gomp_target_task_fn): Go to host fallback if device is finalized.
4028 (gomp_target_fini): New static function.
4029 (gomp_target_init): Use state instead of is_initialized.
4030 Call gomp_target_fini at exit.
4031
4032 2015-12-09 Tom de Vries <tom@codesourcery.com>
4033
4034 PR tree-optimization/68716
4035 * testsuite/libgomp.c/omp-nested-2.c: New test.
4036
4037 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
4038
4039 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
4040 target openacc_nvidia_accel_selected.
4041 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
4042 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
4043 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
4044 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
4045
4046 2015-12-01 Julian Brown <julian@codesourcery.com>
4047 James Norris <James_Norris@mentor.com>
4048
4049 * oacc-parallel.c (GOACC_host_data): New function.
4050 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
4051 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
4052 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
4053 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
4054 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
4055 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
4056 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
4057
4058 2015-11-30 James Norris <jnorris@codesourcery.com>
4059 Cesar Philippidis <cesar@codesourcery.com>
4060
4061 libgomp/
4062 * libgomp.oacc-fortran/routine-5.f90: New test.
4063 * libgomp.oacc-fortran/routine-7.f90: New test.
4064 * libgomp.oacc-fortran/routine-9.f90: New test.
4065
4066 2015-11-30 Tom de Vries <tom@codesourcery.com>
4067
4068 PR tree-optimization/46032
4069 * testsuite/libgomp.c/pr46032.c: New test.
4070
4071 2015-11-27 Jakub Jelinek <jakub@redhat.com>
4072
4073 PR libgomp/68579
4074 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
4075 (gomp_create_target_task): Call it before freeing
4076 GOMP_TARGET_TASK_DATA tasks.
4077
4078 PR c/63326
4079 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
4080 in between case label and OpenMP standalone directives.
4081 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
4082
4083 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
4084
4085 * configure: Regenerate.
4086
4087 2015-11-26 Jakub Jelinek <jakub@redhat.com>
4088
4089 * testsuite/libgomp.c/target-35.c: New test.
4090
4091 2015-11-22 James Norris <jnorris@codesourcery.com>
4092 Cesar Philippidis <cesar@codesourcery.com>
4093
4094 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
4095 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
4096 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
4097 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
4098 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
4099
4100 2015-11-20 Jakub Jelinek <jakub@redhat.com>
4101
4102 PR middle-end/68221
4103 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
4104 * testsuite/libgomp.c/reduction-12.c: Likewise.
4105 * testsuite/libgomp.c++/reduction-11.C: Likewise.
4106 * testsuite/libgomp.c++/reduction-12.C: Likewise.
4107
4108 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
4109
4110 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
4111 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
4112 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
4113 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
4114 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
4115 and fix.
4116 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4117 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4118
4119 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
4120
4121 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
4122 worker & gang cases.
4123 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4124
4125 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
4126
4127 * config/nvptx/priority_queue.c: New file.
4128
4129 2015-11-14 Jakub Jelinek <jakub@redhat.com>
4130
4131 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
4132 sections.
4133
4134 2015-11-14 Jakub Jelinek <jakub@redhat.com>
4135 Aldy Hernandez <aldyh@redhat.com>
4136 Ilya Verbin <ilya.verbin@intel.com>
4137
4138 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
4139 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
4140 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
4141 iterators or IV by chunk size.
4142 * parallel.c (gomp_resolve_num_threads): Don't assume that
4143 if thr->ts.team is non-NULL, then pool must be non-NULL.
4144 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
4145 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
4146 GOMP_PLUGIN_target_task_completion.
4147 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
4148 * Makefile.in: Regenerate.
4149 * libgomp.h: Shuffle prototypes and forward definitions around so
4150 priority queues can be defined.
4151 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
4152 (enum gomp_target_task_state): New enum.
4153 (struct gomp_target_task): Add state, tgt, task and team fields.
4154 (gomp_create_target_task): Change return type to bool, add
4155 state argument.
4156 (gomp_target_task_fn): Change return type to bool.
4157 (struct gomp_device_descr): Add async_run_func.
4158 (struct gomp_task): Remove children, next_child, prev_child,
4159 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
4160 Add pnode field.
4161 (struct gomp_taskgroup): Remove children.
4162 Add taskgroup_queue.
4163 (struct gomp_team): Change task_queue type to a priority queue.
4164 (splay_compare): Define inline.
4165 (priority_queue_offset): New.
4166 (priority_node_to_task): New.
4167 (task_to_priority_node): New.
4168 * oacc-mem.c: Do not include splay-tree.h.
4169 * priority_queue.c: New file.
4170 * priority_queue.h: New file.
4171 * splay-tree.c: Do not include splay-tree.h.
4172 (splay_tree_foreach_internal): New.
4173 (splay_tree_foreach): New.
4174 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
4175 (splay_tree_callback): Define typedef.
4176 * target.c (splay_compare): Move to libgomp.h.
4177 (GOMP_target): Don't adjust *thr in any way around running offloaded
4178 task.
4179 (GOMP_target_ext): Likewise. Handle target nowait.
4180 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
4181 return value from gomp_create_target_task, if false, fallthrough
4182 as if no dependencies exist.
4183 (gomp_target_task_fn): Change return type to bool, return true
4184 if the task should have another part scheduled later. Handle
4185 target nowait.
4186 (gomp_load_plugin_for_device): Initialize async_run.
4187 * task.c (gomp_init_task): Initialize children_queue.
4188 (gomp_clear_parent_in_list): New.
4189 (gomp_clear_parent_in_tree): New.
4190 (gomp_clear_parent): Handle priorities.
4191 (GOMP_task): Likewise.
4192 (priority_queue_move_task_first,
4193 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
4194 New functions.
4195 (gomp_create_target_task): Use priority queues. Change return type
4196 to bool, add state argument, return false if for async
4197 {{enter,exit} data,update} constructs no dependencies need to be
4198 waited for, handle target nowait. Set task->fn to NULL instead of
4199 gomp_target_task_fn.
4200 (verify_children_queue): Remove.
4201 (priority_list_upgrade_task): New.
4202 (priority_queue_upgrade_task): New.
4203 (verify_task_queue): Remove.
4204 (priority_list_downgrade_task): New.
4205 (priority_queue_downgrade_task): New.
4206 (gomp_task_run_pre): Use priority queues.
4207 Abstract code out to priority_queue_downgrade_task.
4208 (gomp_task_run_post_handle_dependers): Use priority queues.
4209 (gomp_task_run_post_remove_parent): Likewise.
4210 (gomp_task_run_post_remove_taskgroup): Likewise.
4211 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
4212 tasks specially.
4213 (GOMP_taskwait): Likewise.
4214 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
4215 priority-queue_upgrade_task.
4216 (GOMP_taskgroup_start): Use priority queues.
4217 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
4218 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
4219 barrier.
4220 * taskloop.c (GOMP_taskloop): Handle priorities.
4221 * team.c (gomp_new_team): Call priority_queue_init.
4222 (free_team): Call priority_queue_free.
4223 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
4224 team created for target nowait in implicit parallel region.
4225 (gomp_team_start): For nested check, test thr->ts.level instead of
4226 thr->ts.team != NULL.
4227 * testsuite/libgomp.c/doacross-3.c: New test.
4228 * testsuite/libgomp.c/ordered-5.c: New test.
4229 * testsuite/libgomp.c/priority.c: New test.
4230 * testsuite/libgomp.c/target-31.c: New test.
4231 * testsuite/libgomp.c/target-32.c: New test.
4232 * testsuite/libgomp.c/target-33.c: New test.
4233 * testsuite/libgomp.c/target-34.c: New test.
4234
4235 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
4236
4237 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
4238
4239 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
4240 loop is sequential.
4241
4242 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
4243
4244 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
4245 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
4246
4247 2015-11-12 James Norris <jnorris@codesourcery.com>
4248 Joseph Myers <joseph@codesourcery.com>
4249
4250 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
4251 * oacc-parallel.c (GOACC_declare): New function.
4252 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
4253 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
4254 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
4255 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
4256 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
4257
4258 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
4259
4260 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
4261
4262 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
4263
4264 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
4265 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
4266
4267 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
4268
4269 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
4270 inadvertent commit.
4271
4272 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
4273
4274 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
4275 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
4276 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
4277 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
4278 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
4279
4280 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
4281
4282 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
4283 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4284
4285 2015-11-05 Jakub Jelinek <jakub@redhat.com>
4286 Ilya Verbin <ilya.verbin@intel.com>
4287
4288 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
4289 GOMP_loop_nonmonotonic_dynamic_start,
4290 GOMP_loop_nonmonotonic_guided_next,
4291 GOMP_loop_nonmonotonic_guided_start,
4292 GOMP_loop_ull_nonmonotonic_dynamic_next,
4293 GOMP_loop_ull_nonmonotonic_dynamic_start,
4294 GOMP_loop_ull_nonmonotonic_guided_next,
4295 GOMP_loop_ull_nonmonotonic_guided_start,
4296 GOMP_parallel_loop_nonmonotonic_dynamic,
4297 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
4298 (GOMP_target_41): Renamed to ...
4299 (GOMP_target_ext): ... this. Add num_teams and thread_limit
4300 arguments.
4301 (GOMP_target_data_41): Renamed to ...
4302 (GOMP_target_data_ext): ... this.
4303 (GOMP_target_update_41): Renamed to ...
4304 (GOMP_target_update_ext): ... this.
4305 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
4306 GOMP_target_data_ext and GOMP_target_update_ext instead of
4307 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
4308 Export GOMP_loop_nonmonotonic_dynamic_next,
4309 GOMP_loop_nonmonotonic_dynamic_start,
4310 GOMP_loop_nonmonotonic_guided_next,
4311 GOMP_loop_nonmonotonic_guided_start,
4312 GOMP_loop_ull_nonmonotonic_dynamic_next,
4313 GOMP_loop_ull_nonmonotonic_dynamic_start,
4314 GOMP_loop_ull_nonmonotonic_guided_next,
4315 GOMP_loop_ull_nonmonotonic_guided_start,
4316 GOMP_parallel_loop_nonmonotonic_dynamic and
4317 GOMP_parallel_loop_nonmonotonic_guided.
4318 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
4319 GOMP_parallel_loop_nonmonotonic_guided,
4320 GOMP_loop_nonmonotonic_dynamic_start,
4321 GOMP_loop_nonmonotonic_guided_start,
4322 GOMP_loop_nonmonotonic_dynamic_next,
4323 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
4324 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
4325 GOMP_loop_ull_nonmonotonic_guided_start,
4326 GOMP_loop_ull_nonmonotonic_dynamic_next,
4327 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
4328 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
4329 functions.
4330 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
4331 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
4332 Use gomp_map_val function.
4333 (gomp_target_fallback_firstprivate): New static function.
4334 (GOMP_target_41): Renamed to ...
4335 (GOMP_target_ext): ... this. Add num_teams and thread_limit
4336 arguments. Move firstprivate fallback handling into a new
4337 function.
4338 (GOMP_target_data_41): Renamed to ...
4339 (GOMP_target_data_ext): ... this.
4340 (GOMP_target_update_41): Renamed to ...
4341 (GOMP_target_update_ext): ... this.
4342 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
4343 gomp_map_0len_lookup instead of gomp_map_lookup.
4344 (omp_target_is_present): Use gomp_map_0len_lookup instead of
4345 gomp_map_lookup.
4346 * testsuite/libgomp.c/target-28.c: Likewise.
4347 * testsuite/libgomp.c/monotonic-1.c: New test.
4348 * testsuite/libgomp.c/monotonic-2.c: New test.
4349 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
4350 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
4351 * testsuite/libgomp.c/pr66199-5.c: New test.
4352 * testsuite/libgomp.c/pr66199-6.c: New test.
4353 * testsuite/libgomp.c/pr66199-7.c: New test.
4354 * testsuite/libgomp.c/pr66199-8.c: New test.
4355 * testsuite/libgomp.c/pr66199-9.c: New test.
4356 * testsuite/libgomp.c/reduction-11.c: New test.
4357 * testsuite/libgomp.c/reduction-12.c: New test.
4358 * testsuite/libgomp.c/reduction-13.c: New test.
4359 * testsuite/libgomp.c/reduction-14.c: New test.
4360 * testsuite/libgomp.c/reduction-15.c: New test.
4361 * testsuite/libgomp.c/target-12.c (main): Adjust for
4362 omp_target_is_present change for one-past-last element.
4363 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
4364 the same var is both mapped and privatized.
4365 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
4366 handling of zero-length array sections.
4367 * testsuite/libgomp.c/target-28.c: New test.
4368 * testsuite/libgomp.c/target-29.c: New test.
4369 * testsuite/libgomp.c/target-30.c: New test.
4370 * testsuite/libgomp.c/target-teams-1.c: New test.
4371 * testsuite/libgomp.c++/member-6.C: New test.
4372 * testsuite/libgomp.c++/member-7.C: New test.
4373 * testsuite/libgomp.c++/monotonic-1.C: New test.
4374 * testsuite/libgomp.c++/monotonic-2.C: New test.
4375 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
4376 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
4377 * testsuite/libgomp.c++/pr66199-3.C: New test.
4378 * testsuite/libgomp.c++/pr66199-4.C: New test.
4379 * testsuite/libgomp.c++/pr66199-5.C: New test.
4380 * testsuite/libgomp.c++/pr66199-6.C: New test.
4381 * testsuite/libgomp.c++/pr66199-7.C: New test.
4382 * testsuite/libgomp.c++/pr66199-8.C: New test.
4383 * testsuite/libgomp.c++/pr66199-9.C: New test.
4384 * testsuite/libgomp.c++/reduction-11.C: New test.
4385 * testsuite/libgomp.c++/reduction-12.C: New test.
4386 * testsuite/libgomp.c++/target-13.C: New test.
4387 * testsuite/libgomp.c++/target-14.C: New test.
4388 * testsuite/libgomp.c++/target-15.C: New test.
4389 * testsuite/libgomp.c++/target-16.C: New test.
4390 * testsuite/libgomp.c++/target-17.C: New test.
4391 * testsuite/libgomp.c++/target-18.C: New test.
4392 * testsuite/libgomp.c++/target-19.C: New test.
4393
4394 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
4395
4396 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
4397 and reduction copy.
4398 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4399 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4400 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4401 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4402 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
4403 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4404 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4405 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4406 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4407 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
4408 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
4409 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4410 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4411 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
4412
4413 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
4414
4415 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
4416 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
4417 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
4418 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
4419 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
4420 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
4421 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
4422 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
4423
4424 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
4425
4426 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
4427 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
4428 (GOMP_OFFLOAD_openacc_parallel): Likewise.
4429 * oacc-host.c (host_openacc_exec): Likewise.
4430 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
4431
4432 2015-11-03 Julian Brown <julian@codesourcery.com>
4433 Thomas Schwinge <thomas@codesourcery.com>
4434
4435 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
4436 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4437 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
4438 Likewise.
4439 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
4440 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
4441
4442 2015-11-03 James Norris <jnorris@codesourcery.com>
4443
4444 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
4445 file.
4446 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
4447 Likewise.
4448 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
4449 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
4450 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4451 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
4452 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4453
4454 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
4455
4456 * openacc.h (enum acc_device_t): Reformat. Ensure layout
4457 compatibility.
4458 (enum acc_async_t): Reformat.
4459 (acc_on_device): Declare compatible with builtin and provide C++
4460 wrapper.
4461 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
4462
4463 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
4464 Cesar Philippidis <cesar@codesourcery.com>
4465
4466 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
4467 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
4468 ... this. Add a description of the test at the top of the file.
4469 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
4470 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
4471 ... this. Add a description of the test at the top of the file.
4472
4473 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
4474
4475 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
4476 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
4477 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
4478 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
4479 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
4480 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
4481
4482 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
4483
4484 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
4485 dimensions.
4486
4487 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
4488
4489 PR testsuite/68063
4490 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
4491
4492 2015-10-27 James Norris <jnorris@codesourcery.com>
4493
4494 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
4495 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
4496
4497 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
4498
4499 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
4500 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4501
4502 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
4503 acc_device_nvidia usage.
4504 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
4505 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4506 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
4507
4508 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
4509 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
4510
4511 PR libgomp/66518
4512 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
4513
4514 PR libgomp/65437
4515 PR libgomp/66518
4516 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
4517 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
4518
4519 2015-10-23 Tom de Vries <tom@codesourcery.com>
4520
4521 PR testsuite/68063
4522 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
4523
4524 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
4525
4526 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
4527 vector_length.
4528 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4529
4530 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
4531 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
4532
4533 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
4534 to 0 when mapnum is 0.
4535
4536 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
4537
4538 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
4539 Cast to int from int32_t.
4540
4541 2015-10-13 Jakub Jelinek <jakub@redhat.com>
4542 Aldy Hernandez <aldyh@redhat.com>
4543 Ilya Verbin <ilya.verbin@intel.com>
4544
4545 * config/linux/affinity.c (omp_get_place_num_procs,
4546 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4547 * config/linux/doacross.h: New file.
4548 * config/posix/affinity.c (omp_get_place_num_procs,
4549 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4550 * config/posix/doacross.h: New file.
4551 * env.c: Include gomp-constants.h.
4552 (struct gomp_task_icv): Rename run_sched_modifier to
4553 run_sched_chunk_size.
4554 (gomp_max_task_priority_var): New variable.
4555 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
4556 (handle_omp_display_env): Change _OPENMP value from 201307 to
4557 201511. Print OMP_MAX_TASK_PRIORITY.
4558 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
4559 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
4560 chunk_size and run_sched_modifier to run_sched_chunk_size.
4561 (omp_get_max_task_priority, omp_get_initial_device,
4562 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
4563 omp_get_partition_place_nums): New functions.
4564 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
4565 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
4566 to chunk_size.
4567 (omp_get_num_places_, omp_get_place_num_procs_,
4568 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
4569 omp_get_place_proc_ids_8_, omp_get_place_num_,
4570 omp_get_partition_num_places_, omp_get_partition_place_nums_,
4571 omp_get_partition_place_nums_8_, omp_get_initial_device_,
4572 omp_get_max_task_priority_): New functions.
4573 * libgomp_g.h (GOMP_loop_doacross_static_start,
4574 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
4575 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
4576 GOMP_loop_ull_doacross_dynamic_start,
4577 GOMP_loop_ull_doacross_guided_start,
4578 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
4579 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
4580 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
4581 GOMP_target_data_41, GOMP_target_update_41,
4582 GOMP_target_enter_exit_data): New prototypes.
4583 (GOMP_task): Add prototype argument.
4584 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
4585 (struct gomp_doacross_work_share): New type.
4586 (struct gomp_work_share): Add doacross field.
4587 (struct gomp_task_icv): Rename run_sched_modifier to
4588 run_sched_chunk_size.
4589 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
4590 GOMP_TASK_UNDEFERRED. Add comments.
4591 (struct gomp_task_depend_entry): Add comments.
4592 (struct gomp_task): Likewise.
4593 (struct gomp_taskgroup): Likewise.
4594 (struct gomp_target_task): New type.
4595 (struct gomp_team): Add comment.
4596 (gomp_get_place_proc_ids_8, gomp_doacross_init,
4597 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
4598 gomp_create_target_task, gomp_target_task_fn): New prototypes.
4599 (struct target_var_desc): New type.
4600 (struct target_mem_desc): Adjust comment. Use struct
4601 target_var_desc instead of splay_tree_key for list.
4602 (REFCOUNT_INFINITY): Define.
4603 (struct splay_tree_key_s): Remove copy_from field.
4604 (struct gomp_device_descr): Add dev2dev_func field.
4605 (enum gomp_map_vars_kind): New enum.
4606 (gomp_map_vars): Add one argument.
4607 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
4608 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
4609 omp_get_place_num_procs, omp_get_place_num_procs_,
4610 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
4611 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
4612 omp_get_place_num_, omp_get_partition_num_places,
4613 omp_get_partition_num_places_, omp_get_partition_place_nums,
4614 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
4615 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
4616 omp_target_free, omp_target_is_present, omp_target_memcpy,
4617 omp_target_memcpy_rect, omp_target_associate_ptr and
4618 omp_target_disassociate_ptr.
4619 (GOMP_4.0.2): Renamed to ...
4620 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
4621 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
4622 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
4623 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
4624 GOMP_loop_doacross_static_start, GOMP_doacross_post,
4625 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
4626 GOMP_loop_ull_doacross_guided_start,
4627 GOMP_loop_ull_doacross_runtime_start,
4628 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
4629 GOMP_doacross_ull_wait.
4630 * libgomp.texi: Document omp_get_max_task_priority.
4631 Rename modifier argument to chunk_size for omp_set_schedule and
4632 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
4633 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
4634 to run_sched_chunk_size renaming.
4635 (GOMP_loop_ordered_runtime_start): Likewise.
4636 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
4637 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
4638 GOMP_parallel_loop_runtime_start): New functions.
4639 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
4640 to run_sched_chunk_size renaming.
4641 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
4642 GOMP_loop_doacross_guided_start): New functions or aliases.
4643 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
4644 run_sched_modifier to run_sched_chunk_size renaming.
4645 (GOMP_loop_ull_ordered_runtime_start): Likewise.
4646 (gomp_loop_ull_doacross_static_start,
4647 gomp_loop_ull_doacross_dynamic_start,
4648 gomp_loop_ull_doacross_guided_start,
4649 GOMP_loop_ull_doacross_runtime_start): New functions.
4650 (GOMP_loop_ull_doacross_static_start,
4651 GOMP_loop_ull_doacross_dynamic_start,
4652 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
4653 * oacc-mem.c (acc_map_data, present_create_copy,
4654 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
4655 to gomp_map_vars.
4656 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
4657 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
4658 instead of false to gomp_map_vars.
4659 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
4660 * omp.h.in (omp_lock_hint_t): New type.
4661 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4662 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4663 omp_get_place_num, omp_get_partition_num_places,
4664 omp_get_partition_place_nums, omp_get_initial_device,
4665 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
4666 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
4667 omp_target_associate_ptr, omp_target_disassociate_ptr): New
4668 prototypes.
4669 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
4670 (omp_lock_hint_none, omp_lock_hint_uncontended,
4671 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
4672 omp_lock_hint_speculative): New parameters.
4673 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4674 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4675 omp_get_place_num, omp_get_partition_num_places,
4676 omp_get_partition_place_nums, omp_get_initial_device,
4677 omp_get_max_task_priority): New interfaces.
4678 (omp_set_schedule, omp_get_schedule): Rename modifier argument
4679 to chunk_size.
4680 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
4681 (omp_lock_hint_none, omp_lock_hint_uncontended,
4682 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
4683 omp_lock_hint_speculative): New parameters.
4684 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4685 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4686 omp_get_place_num, omp_get_partition_num_places,
4687 omp_get_partition_place_nums, omp_get_initial_device,
4688 omp_get_max_task_priority): New functions and subroutines.
4689 * ordered.c: Include stdarg.h and string.h.
4690 (MAX_COLLAPSED_BITS): Define.
4691 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
4692 gomp_doacross_ull_init, GOMP_doacross_ull_post,
4693 GOMP_doacross_ull_wait): New functions.
4694 * target.c: Include errno.h.
4695 (resolve_device): If device is not initialized, call
4696 gomp_init_device on it.
4697 (gomp_map_lookup): New function.
4698 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
4699 Don't bump refcount if REFCOUNT_INFINITY. Handle
4700 GOMP_MAP_ALWAYS_TO_P.
4701 (get_kind): Rename is_openacc argument to short_mapkind.
4702 (gomp_map_pointer): Use gomp_map_lookup.
4703 (gomp_map_fields_existing): New function.
4704 (gomp_map_vars): Rename is_openacc argument to short_mapkind
4705 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
4706 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
4707 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
4708 Adjust for tgt->list changed type and copy_from living in there.
4709 (gomp_copy_from_async): Adjust for tgt->list changed type and
4710 copy_from living in there.
4711 (gomp_unmap_vars): Likewise.
4712 (gomp_update): Likewise. Rename is_openacc argument to
4713 short_mapkind. Don't fail if object is not mapped.
4714 (gomp_load_image_to_device): Initialize refcount to
4715 REFCOUNT_INFINITY.
4716 (gomp_target_fallback): New function.
4717 (gomp_get_target_fn_addr): Likewise.
4718 (GOMP_target): Adjust gomp_map_vars caller, use
4719 gomp_get_target_fn_addr and gomp_target_fallback.
4720 (GOMP_target_41): New function.
4721 (gomp_target_data_fallback): New function.
4722 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
4723 (GOMP_target_data_41): New function.
4724 (GOMP_target_update): Adjust gomp_update caller.
4725 (GOMP_target_update_41): New function.
4726 (gomp_exit_data, GOMP_target_enter_exit_data,
4727 gomp_target_task_fn, omp_target_alloc, omp_target_free,
4728 omp_target_is_present, omp_target_memcpy,
4729 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
4730 omp_target_associate_ptr, omp_target_disassociate_ptr,
4731 gomp_load_plugin_for_device): New functions.
4732 * task.c: Include gomp-constants.h. Include taskloop.c
4733 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
4734 (gomp_task_handle_depend): New function.
4735 (GOMP_task): Use it. Add priority argument. Use
4736 gomp-constant.h constants instead of hardcoded numbers.
4737 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
4738 (gomp_create_target_task): New function.
4739 (verify_children_queue, verify_taskgroup_queue,
4740 verify_task_queue): New functions.
4741 (gomp_task_run_pre): Call verify_*_queue functions.
4742 If an upcoming tied task is about to leave the sibling or
4743 taskgroup queues in an invalid state, adjust appropriately.
4744 Remove taskgroup argument. Add comments.
4745 (gomp_task_run_post_handle_dependers): Add comments.
4746 (gomp_task_run_post_remove_parent): Likewise.
4747 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
4748 (GOMP_taskwait): Likewise. Add comments.
4749 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
4750 problem such that the first non parent_depends_on task does not
4751 end up at the end of the children queue.
4752 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
4753 GOMP_TASK_UNDEFERRED.
4754 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
4755 * taskloop.c: New file.
4756 * testsuite/lib/libgomp.exp
4757 (check_effective_target_offload_device_nonshared_as): New proc.
4758 * testsuite/libgomp.c/affinity-2.c: New test.
4759 * testsuite/libgomp.c/doacross-1.c: New test.
4760 * testsuite/libgomp.c/doacross-2.c: New test.
4761 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
4762 Add map clause to target.
4763 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
4764 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
4765 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
4766 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
4767 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
4768 Likewise.
4769 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
4770 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
4771 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
4772 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
4773 not defined. Use those where needed.
4774 * testsuite/libgomp.c/for-4.c: New test.
4775 * testsuite/libgomp.c/for-5.c: New test.
4776 * testsuite/libgomp.c/for-6.c: New test.
4777 * testsuite/libgomp.c/linear-1.c: New test.
4778 * testsuite/libgomp.c/ordered-4.c: New test.
4779 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
4780 only allowed on the loop iterator.
4781 * testsuite/libgomp.c/pr66199-3.c: New test.
4782 * testsuite/libgomp.c/pr66199-4.c: New test.
4783 * testsuite/libgomp.c/reduction-7.c: New test.
4784 * testsuite/libgomp.c/reduction-8.c: New test.
4785 * testsuite/libgomp.c/reduction-9.c: New test.
4786 * testsuite/libgomp.c/reduction-10.c: New test.
4787 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
4788 map(tofrom:s).
4789 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
4790 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
4791 * testsuite/libgomp.c/target-11.c: New test.
4792 * testsuite/libgomp.c/target-12.c: New test.
4793 * testsuite/libgomp.c/target-13.c: New test.
4794 * testsuite/libgomp.c/target-14.c: New test.
4795 * testsuite/libgomp.c/target-15.c: New test.
4796 * testsuite/libgomp.c/target-16.c: New test.
4797 * testsuite/libgomp.c/target-17.c: New test.
4798 * testsuite/libgomp.c/target-18.c: New test.
4799 * testsuite/libgomp.c/target-19.c: New test.
4800 * testsuite/libgomp.c/target-20.c: New test.
4801 * testsuite/libgomp.c/target-21.c: New test.
4802 * testsuite/libgomp.c/target-22.c: New test.
4803 * testsuite/libgomp.c/target-23.c: New test.
4804 * testsuite/libgomp.c/target-24.c: New test.
4805 * testsuite/libgomp.c/target-25.c: New test.
4806 * testsuite/libgomp.c/target-26.c: New test.
4807 * testsuite/libgomp.c/target-27.c: New test.
4808 * testsuite/libgomp.c/taskloop-1.c: New test.
4809 * testsuite/libgomp.c/taskloop-2.c: New test.
4810 * testsuite/libgomp.c/taskloop-3.c: New test.
4811 * testsuite/libgomp.c/taskloop-4.c: New test.
4812 * testsuite/libgomp.c++/ctor-13.C: New test.
4813 * testsuite/libgomp.c++/doacross-1.C: New test.
4814 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
4815 Replace offload_device with offload_device_nonshared_as.
4816 * testsuite/libgomp.c++/for-12.C: New test.
4817 * testsuite/libgomp.c++/for-13.C: New test.
4818 * testsuite/libgomp.c++/for-14.C: New test.
4819 * testsuite/libgomp.c++/linear-1.C: New test.
4820 * testsuite/libgomp.c++/member-1.C: New test.
4821 * testsuite/libgomp.c++/member-2.C: New test.
4822 * testsuite/libgomp.c++/member-3.C: New test.
4823 * testsuite/libgomp.c++/member-4.C: New test.
4824 * testsuite/libgomp.c++/member-5.C: New test.
4825 * testsuite/libgomp.c++/ordered-1.C: New test.
4826 * testsuite/libgomp.c++/reduction-5.C: New test.
4827 * testsuite/libgomp.c++/reduction-6.C: New test.
4828 * testsuite/libgomp.c++/reduction-7.C: New test.
4829 * testsuite/libgomp.c++/reduction-8.C: New test.
4830 * testsuite/libgomp.c++/reduction-9.C: New test.
4831 * testsuite/libgomp.c++/reduction-10.C: New test.
4832 * testsuite/libgomp.c++/reference-1.C: New test.
4833 * testsuite/libgomp.c++/simd14.C: New test.
4834 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
4835 * testsuite/libgomp.c++/target-5.C: New test.
4836 * testsuite/libgomp.c++/target-6.C: New test.
4837 * testsuite/libgomp.c++/target-7.C: New test.
4838 * testsuite/libgomp.c++/target-8.C: New test.
4839 * testsuite/libgomp.c++/target-9.C: New test.
4840 * testsuite/libgomp.c++/target-10.C: New test.
4841 * testsuite/libgomp.c++/target-11.C: New test.
4842 * testsuite/libgomp.c++/target-12.C: New test.
4843 * testsuite/libgomp.c++/taskloop-1.C: New test.
4844 * testsuite/libgomp.c++/taskloop-2.C: New test.
4845 * testsuite/libgomp.c++/taskloop-3.C: New test.
4846 * testsuite/libgomp.c++/taskloop-4.C: New test.
4847 * testsuite/libgomp.c++/taskloop-5.C: New test.
4848 * testsuite/libgomp.c++/taskloop-6.C: New test.
4849 * testsuite/libgomp.c++/taskloop-7.C: New test.
4850 * testsuite/libgomp.c++/taskloop-8.C: New test.
4851 * testsuite/libgomp.c++/taskloop-9.C: New test.
4852 * testsuite/libgomp.fortran/affinity1.f90: New test.
4853 * testsuite/libgomp.fortran/affinity2.f90: New test.
4854
4855 2015-10-13 Tom de Vries <tom@codesourcery.com>
4856
4857 PR tree-optimization/67476
4858 * testsuite/libgomp.c/autopar-3.c: New test.
4859 * testsuite/libgomp.c/autopar-4.c: New test.
4860 * testsuite/libgomp.c/autopar-5.c: New test.
4861 * testsuite/libgomp.c/autopar-6.c: New test.
4862 * testsuite/libgomp.c/autopar-7.c: New test.
4863 * testsuite/libgomp.c/autopar-8.c: New test.
4864
4865 2015-10-12 James Norris <jnorris@codesourcery.com>
4866
4867 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
4868 initializer.
4869
4870 2015-10-09 David Malcolm <dmalcolm@redhat.com>
4871
4872 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
4873 using load_gcc_lib.
4874
4875 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
4876
4877 * oacc-ptx.h: Remove file, moving its content into...
4878 * config/nvptx/fortran.c: ... here...
4879 * config/nvptx/oacc-init.c: ..., here...
4880 * config/nvptx/oacc-parallel.c: ..., and here.
4881 * config/nvptx/openacc.f90: New file.
4882 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
4883 (link_ptx): Don't link in predefined bits of PTX code.
4884
4885 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
4886 Bernd Schmidt <bernds@codesourcery.com>
4887
4888 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
4889 (struct targ_ptx_obj): New.
4890 (nvptx_tdata): Move earlier, change data format.
4891 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
4892 objects.
4893 (GOMP_OFFLOAD_load_image): Adjust.
4894
4895 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
4896
4897 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
4898 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4899 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
4900 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
4901 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4902 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4903 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4904 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4905 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4906 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4907 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4908 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
4909 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
4910 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4911 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4912 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4913 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4914 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4915 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4916 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4917 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4918 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4919 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4920 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4921 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4922 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4923 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
4924 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4925 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4926 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4927 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4928 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4929 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
4930 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4931 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4932 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4933 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4934 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4935 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4936 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4937 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4938 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4939 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4940 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4941 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
4942 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4943 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4944 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4945 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4946 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4947 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
4948 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
4949 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
4950 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
4951 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4952 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
4953 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4954 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4955 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4956 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4957 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4958 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4959 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4960
4961 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
4962
4963 * oacc-init.c (acc_on_device): Force optimization level.
4964
4965 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
4966
4967 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
4968 (cuda_errlist): Delete.
4969 (cuda_error): Reimplement.
4970
4971 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
4972
4973 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
4974 array.
4975 * libgomp.map (GOACC_parallel_keyed): New.
4976 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
4977 all callers.
4978 (GOACC_parallel_keyed): New interface. Lose geometry arguments
4979 and take keyed varargs list. Adjust call to exec_func.
4980 (GOACC_parallel): Force host fallback.
4981 * libgomp_g.h (GOACC_parallel): Remove.
4982 (GOACC_parallel_keyed): Declare.
4983 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
4984 (stuct targ_gn_descriptor): Replace name field with launch field.
4985 (nvptx_exec): Lose separate geometry args, take array. Process
4986 dynamic dimensions and adjust.
4987 (struct nvptx_tdata): Replace fn_names field with fn_descs.
4988 (GOMP_OFFLOAD_load_image): Adjust for change in function table
4989 data.
4990 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
4991 passing.
4992 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
4993 passing.
4994
4995 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
4996
4997 PR libgomp/67141
4998 * oacc-int.h (goacc_host_init): Add declaration.
4999 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
5000 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
5001
5002 2015-09-08 Aditya Kumar <hiraditya@msn.com>
5003 Sebastian Pop <s.pop@samsung.com>
5004
5005 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
5006 match o/p.
5007 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
5008 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
5009 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
5010 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
5011 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
5012
5013 2015-09-03 Jakub Jelinek <jakub@redhat.com>
5014
5015 * configure.tgt: Add missing ;; in between nvptx and rtems
5016 snippets.
5017
5018 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5019
5020 * config/posix/pool.h (gomp_adjust_thread_attr): New.
5021 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
5022 (gomp_thread_pool_reservoir): Add priority member.
5023 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
5024 priority.
5025 (parse_thread_pools): Likewise.
5026 * team.c (gomp_team_start): Call configuration provided
5027 gomp_adjust_thread_attr(). Destroy thread attributes if
5028 necessary.
5029 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
5030
5031 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5032
5033 * config/posix/pool.h: New.
5034 * config/rtems/pool.h: Likewise.
5035 * config/rtems/proc.c: Likewise.
5036 * libgomp.h (gomp_thread_destructor): Declare.
5037 * team.c: Include configuration provided "pool.h".
5038 (gomp_get_thread_pool): Define in configuration.
5039 (gomp_team_end): Call configuration defined
5040 gomp_release_thread_pool().
5041
5042 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5043
5044 * config/rtems/bar.c: New.
5045 * config/rtems/bar.h: Likewise.
5046 * config/rtems/mutex.c: Likewise.
5047 * config/rtems/mutex.h: Likewise.
5048 * config/rtems/sem.c: Likewise.
5049 * config/rtems/sem.h: Likewise.
5050 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
5051 <sys/lock.h> header file.
5052 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
5053 supported by Newlib.
5054 * configure: Regenerate.
5055
5056 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
5057
5058 * team.c (gomp_new_thread_pool): Delete and move content to ...
5059 (gomp_get_thread_pool): ... new function. Allocate and
5060 initialize thread pool on demand.
5061 (get_last_team): Use gomp_get_thread_pool().
5062 (gomp_team_start): Delete thread pool initialization.
5063
5064 2015-09-03 Tom de Vries <tom@codesourcery.com>
5065
5066 PR tree-optimization/65637
5067 * testsuite/libgomp.c/autopar-2.c: New test.
5068
5069 2015-08-29 Tom de Vries <tom@codesourcery.com>
5070
5071 PR tree-optimization/46193
5072 * testsuite/libgomp.c/pr46193.c: New test.
5073
5074 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
5075
5076 libgomp/
5077 * libgomp.map: Add 4.0.2 version.
5078 * target.c (offload_image_descr): Add version field.
5079 (gomp_load_image_to_device): Add version argument. Adjust plugin
5080 call. Improve load mismatch diagnostic.
5081 (gomp_unload_image_from_device): Add version argument. Adjust plugin
5082 call.
5083 (GOMP_offload_regster): Make stub function, move bulk to ...
5084 (GOMP_offload_register_ver): ... here. Process version argument.
5085 (GOMP_offload_unregister): Make stub function, move bulk to ...
5086 (GOMP_offload_unregister_ver): ... here. Process version argument.
5087 (gomp_init_device): Process version field.
5088 (gomp_unload_device): Process version field.
5089 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
5090 macros. Check plugin version.
5091 * libgomp.h (gomp_device_descr): Add version function field. Adjust
5092 loader and unloader types.
5093 * oacc-host.c: Include gomp-constants.h.
5094 (host_version): New.
5095 (host_load_image, host_unload_image): Adjust.
5096 (host_dispatch): Add host_version.
5097 * plugin/plugin-nvptx.c: Include gomp-constants.h.
5098 (GOMP_OFFLOAD_version): New.
5099 (GOMP_OFFLOAD_load_image): Add version arg and check it.
5100 (GOMP_OFFLOAD_unload_image): Likewise.
5101 * plugin/plugin-host.c: Include gomp-constants.h.
5102 (GOMP_OFFLOAD_version): New.
5103 (GOMP_OFFLOAD_load_image): Add version arg.
5104 (GOMP_OFFLOAD_unload_image): Likewise.
5105
5106 2015-08-24 Tom de Vries <tom@codesourcery.com>
5107
5108 PR tree-optimization/65468
5109 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
5110
5111 2015-08-24 Tom de Vries <tom@codesourcery.com>
5112
5113 PR tree-optimization/65468
5114 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
5115
5116 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
5117
5118 PR libgomp/66761
5119 PR libgomp/67303
5120 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
5121 (gomp_iter_guided_next): Idem.
5122 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
5123 (gomp_iter_ull_guided_next): Idem.
5124 * config/linux/wait.h (do_spin): Idem.
5125
5126 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5127
5128 * libgomp-plugin.h (enum offload_target_type): Remove
5129 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
5130 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
5131 * openacc.h (enum acc_device_t): Likewise.
5132 * openacc_lib.h: Likewise.
5133 * oacc-init.c (name_of_acc_device_t): Don't handle it.
5134 (acc_on_device): Just use __builtin_acc_on_device.
5135 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
5136 of acc_on_device builtin.
5137 * plugin/plugin-host.h: Remove file.
5138 * plugin/plugin-host.c: Likewise, but salvage some content into...
5139 * oacc-host.c: ... this file.
5140 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
5141 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
5142 * Makefile.in: Regenerate.
5143 * configure: Likewise.
5144 * testsuite/lib/libgomp.exp
5145 (check_effective_target_openacc_host_nonshm_selected): Remove.
5146 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
5147 ACC_DEVICE_TYPE=host_nonshm.
5148 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5149 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5150 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
5151 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
5152 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
5153 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
5154
5155 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5156 Jakub Jelinek <jakub@redhat.com>
5157
5158 * config/nvptx/affinity.c: New file.
5159 * config/nvptx/alloc.c: Likewise.
5160 * config/nvptx/bar.c: Likewise.
5161 * config/nvptx/barrier.c: Likewise.
5162 * config/nvptx/critical.c: Likewise.
5163 * config/nvptx/env.c: Likewise.
5164 * config/nvptx/error.c: Likewise.
5165 * config/nvptx/fortran.c: Likewise.
5166 * config/nvptx/iter.c: Likewise.
5167 * config/nvptx/iter_ull.c: Likewise.
5168 * config/nvptx/libgomp-plugin.c: Likewise.
5169 * config/nvptx/lock.c: Likewise.
5170 * config/nvptx/loop.c: Likewise.
5171 * config/nvptx/loop_ull.c: Likewise.
5172 * config/nvptx/mutex.c: Likewise.
5173 * config/nvptx/oacc-async.c: Likewise.
5174 * config/nvptx/oacc-cuda.c: Likewise.
5175 * config/nvptx/oacc-host.c: Likewise.
5176 * config/nvptx/oacc-init.c: Likewise.
5177 * config/nvptx/oacc-mem.c: Likewise.
5178 * config/nvptx/oacc-parallel.c: Likewise.
5179 * config/nvptx/oacc-plugin.c: Likewise.
5180 * config/nvptx/omp-lock.h: Likewise.
5181 * config/nvptx/ordered.c: Likewise.
5182 * config/nvptx/parallel.c: Likewise.
5183 * config/nvptx/proc.c: Likewise.
5184 * config/nvptx/ptrlock.c: Likewise.
5185 * config/nvptx/sections.c: Likewise.
5186 * config/nvptx/sem.c: Likewise.
5187 * config/nvptx/single.c: Likewise.
5188 * config/nvptx/splay-tree.c: Likewise.
5189 * config/nvptx/target.c: Likewise.
5190 * config/nvptx/task.c: Likewise.
5191 * config/nvptx/team.c: Likewise.
5192 * config/nvptx/time.c: Likewise.
5193 * config/nvptx/work.c: Likewise.
5194 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
5195 * configure: Regenerate.
5196 * configure.tgt (config_path): Set to "nvptx" for target
5197 nvptx*-*-*.
5198
5199 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
5200
5201 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
5202
5203 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
5204
5205 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
5206 (cuda_errlist): Constify.
5207 (errmsg): Move into ...
5208 (cuda_error): ... here. Make smaller.
5209 (_XSTR, _STR): Delete.
5210 (cuda_synames): Delete.
5211 (verify_device_library): Delete.
5212 (nvptx_init): Don't call it.
5213
5214 2015-07-28 Tom de Vries <tom@codesourcery.com>
5215
5216 * testsuite/libgomp.c/uns-outer-4.c: New test.
5217
5218 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
5219
5220 * testsuite/libgomp.c/pr66714.c: New test.
5221
5222 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
5223
5224 PR libgomp/66950
5225 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
5226 (fib_ref): New function.
5227 (fib): Correct corner cases in the recursion.
5228 (main): Replace the non-simd loop with fib_ref call.
5229 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
5230 subroutine.
5231 (fibonacci): Lower the parameter N to 30. Correct accordingly check
5232 for the last array element value. Replace the non-simd loop with
5233 fib_ref call. Remove redundant b_ref array. Remove the comparison
5234 of the last array element with according Fibonacci sequence element.
5235 (fib): Correct corner cases in the recursion.
5236
5237 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
5238
5239 * target.c (gomp_offload_image_to_device): Rename to ...
5240 (gomp_load_image_to_device): ... here.
5241 (GOMP_offload_register): Adjust call.
5242 (gomp_init_device): Likewise.
5243 (gomp_unload_image_from_device): New. Broken out of ...
5244 (GOMP_offload_unregister): ... here. Call it.
5245 (gomp_unload_device): New.
5246 * libgomp.h (gomp_unload_device): Declare.
5247 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
5248 mem maps.
5249
5250 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
5251
5252 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
5253 wait=-specific if.
5254 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
5255 !=0 condition.
5256 (goacc_waits): Move !num_waits handling to ...
5257 (GOACC_wait): ... here, the only caller that might have zero waits.
5258
5259 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
5260 (struct ptx_image_data): Move earlier, add fns field.
5261 (struct ptx_device): Add images and image_lock fields.
5262 (ptx_images, ptx_image_lock): Delete.
5263 (nvptx_open_device): Initialize images and image_lock fields.
5264 (nvptx_close_device): Destroy image_lock.
5265 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
5266 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
5267 fields.
5268
5269 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
5270
5271 * target.c (GOMP_offload_register): Use int for device type arg.
5272 (GOMP_offload_unregister): Likewise.
5273
5274 * target.c (struct_offload_image_descr): Constify host_table.
5275 (gomp_offload_image_to_device): Likewise.
5276 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
5277
5278 * libgomp.h (gomp_device_descr): Constify target data arguments.
5279 * target.c (struct offload_image_descr): Constify target_data.
5280 (gomp_offload_image_to_device): Likewise.
5281 (GOMP_offload_register): Likewise.
5282 (GOMP_offload_unrefister): Likewise.
5283 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
5284 GOMP_OFFLOAD_unload_image): Constify target data.
5285 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
5286 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
5287
5288 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
5289
5290 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
5291 Workaround driver library const error.
5292 (struct nvptx_tdata, nvptx_tdata_t): New.
5293 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
5294 type.
5295
5296 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
5297
5298 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
5299 of EPS parameter from integer to real.
5300 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
5301 type of EPS parameter from integer to real.
5302
5303 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
5304
5305 * team.c (get_last_team): New.
5306 (gomp_new_team): Recycle last non-nested team if possible.
5307 (gomp_team_end): Move team work share list free lock destruction
5308 to ...
5309 (free_team): ... here.
5310
5311 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
5312
5313 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
5314 and ref from int to double. Replaced their comparison with
5315 an inequality of their difference and EPS.
5316 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
5317 comparison of pri and a reference number with an inequality of their
5318 difference and EPS.
5319 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
5320 the comparison of sum and sum_ref with an inequality of their
5321 difference and EPS.
5322 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
5323 the comparison of pri and a reference number with an inequality of
5324 their difference and EPS.
5325
5326 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
5327
5328 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
5329 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
5330 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
5331 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
5332 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
5333 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
5334 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
5335 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
5336 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
5337 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
5338 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
5339 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
5340 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
5341 variables.
5342 (vec_mult): Likewise. Add #pragma omp taskwait.
5343 (main): Adjust caller.
5344 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
5345 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
5346 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
5347 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
5348 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
5349 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
5350 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
5351 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
5352 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
5353 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
5354 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
5355 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
5356 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
5357 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
5358 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
5359 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
5360 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
5361 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
5362 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
5363 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
5364 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
5365 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
5366 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
5367 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
5368 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
5369 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
5370 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
5371 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
5372 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
5373 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
5374 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
5375 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
5376 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
5377 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
5378 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
5379 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
5380 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
5381 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
5382 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
5383 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
5384 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
5385 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
5386 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
5387 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
5388 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
5389 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
5390 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
5391 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
5392 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
5393 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
5394 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
5395 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
5396 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
5397 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
5398 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
5399 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
5400 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
5401 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
5402 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
5403 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
5404 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
5405 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
5406 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
5407 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
5408 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
5409 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
5410 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
5411 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
5412 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
5413 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
5414 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
5415 (vec_mult): Add !$omp taskwait.
5416 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
5417 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
5418 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
5419 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
5420 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
5421 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
5422 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
5423 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
5424 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
5425 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
5426 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
5427 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
5428 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
5429 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
5430 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
5431 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
5432 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
5433 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
5434 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
5435 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
5436 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
5437 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
5438 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
5439 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
5440 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
5441 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
5442 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
5443 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
5444 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
5445 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
5446 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
5447 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
5448 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
5449 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
5450 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
5451 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
5452 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
5453 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
5454 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
5455 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
5456 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
5457 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
5458 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
5459 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
5460 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
5461 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
5462 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
5463 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
5464 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
5465 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
5466 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
5467 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
5468 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
5469 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
5470 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
5471 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
5472 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
5473 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
5474 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
5475 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
5476 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
5477 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
5478 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
5479 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
5480 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
5481 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
5482 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
5483
5484 2015-07-10 Tom de Vries <tom@codesourcery.com>
5485
5486 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
5487 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
5488
5489 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
5490
5491 PR libgomp/65099
5492 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
5493 in a 64-bit configuration.
5494 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
5495 offloading testing if no such device is available.
5496 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5497 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5498
5499 2015-07-08 Tom de Vries <tom@codesourcery.com>
5500
5501 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
5502 second call to f.
5503 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5504
5505 2015-07-07 Tom de Vries <tom@codesourcery.com>
5506
5507 PR tree-optimization/66642
5508 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
5509 iteration count case.
5510 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
5511 function, factor out of ...
5512 (main): ... here. Test low iteration count case.
5513
5514 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
5515
5516 * libgomp.h (gomp_thread_pool): Comment last_team field.
5517
5518 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
5519
5520 * testsuite/libgomp.c++/pr66702-1.C: Require
5521 vect_simd_clones effective target.
5522 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
5523
5524 2015-06-30 Tom de Vries <tom@codesourcery.com>
5525
5526 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5527 already set. Use DEFAULT_CFLAGS in dg-runtest.
5528 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
5529 "-O2".
5530
5531 2015-06-30 Tom de Vries <tom@codesourcery.com>
5532
5533 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5534 already set. Use DEFAULT_CFLAGS in dg-runtest.
5535 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
5536 * testsuite/libgomp.c++/pr64824.C: Same.
5537 * testsuite/libgomp.c++/pr64868.C: Same.
5538 * testsuite/libgomp.c++/pr66199-1.C: Same.
5539 * testsuite/libgomp.c++/pr66199-2.C: Same.
5540 * testsuite/libgomp.c++/target-2.C: Same.
5541 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
5542 -std=<standard> option.
5543 * testsuite/libgomp.c++/udr-11.C: Same.
5544 * testsuite/libgomp.c++/udr-12.C: Same.
5545 * testsuite/libgomp.c++/udr-13.C: Same.
5546 * testsuite/libgomp.c++/udr-14.C: Same.
5547 * testsuite/libgomp.c++/udr-15.C: Same.
5548 * testsuite/libgomp.c++/udr-16.C: Same.
5549 * testsuite/libgomp.c++/udr-17.C: Same.
5550 * testsuite/libgomp.c++/udr-18.C: Same.
5551 * testsuite/libgomp.c++/udr-19.C: Same.
5552 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
5553 * testsuite/libgomp.c++/simd-1.C: Same.
5554 * testsuite/libgomp.c++/simd-2.C: Same.
5555 * testsuite/libgomp.c++/simd-3.C: Same.
5556 * testsuite/libgomp.c++/simd-4.C: Same.
5557 * testsuite/libgomp.c++/simd-5.C: Same.
5558 * testsuite/libgomp.c++/simd-6.C: Same.
5559 * testsuite/libgomp.c++/simd-7.C: Same.
5560 * testsuite/libgomp.c++/simd-8.C: Same.
5561 * testsuite/libgomp.c++/simd-9.C: Same.
5562 * testsuite/libgomp.c++/simd10.C: Same.
5563 * testsuite/libgomp.c++/simd11.C: Same.
5564 * testsuite/libgomp.c++/simd12.C: Same.
5565 * testsuite/libgomp.c++/simd13.C: Same.
5566
5567 2015-06-30 Jakub Jelinek <jakub@redhat.com>
5568
5569 PR middle-end/66702
5570 * testsuite/libgomp.c++/pr66702-1.C: New test.
5571 * testsuite/libgomp.c++/pr66702-2.C: New test.
5572
5573 2015-06-30 Tom de Vries <tom@codesourcery.com>
5574
5575 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
5576 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
5577 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
5578 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
5579
5580 2015-06-30 Tom de Vries <tom@codesourcery.com>
5581
5582 PR tree-optimization/66652
5583 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
5584 using restrict pointers.
5585 (main): Add arguments to calls to f.
5586 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5587
5588 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
5589
5590 * configure.ac: Fix check for header <sys/sysctl.h>.
5591 * configure: Regenerate.
5592 * config.h.in: Likewise.
5593
5594 2015-06-23 Tom de Vries <tom@codesourcery.com>
5595
5596 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
5597 abort.
5598 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
5599
5600 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
5601
5602 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
5603 acc_device_nvidia.
5604
5605 PR libgomp/66518
5606 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
5607 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5608
5609 2015-06-15 Tom de Vries <tom@codesourcery.com>
5610
5611 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
5612 dg-additional-options for any remaining options.
5613 * testsuite/libgomp.c/atomic-2.c: Same.
5614 * testsuite/libgomp.c/atomic-4.c: Same.
5615 * testsuite/libgomp.c/atomic-5.c: Same.
5616 * testsuite/libgomp.c/atomic-6.c: Same.
5617 * testsuite/libgomp.c/autopar-1.c: Same.
5618 * testsuite/libgomp.c/copyin-1.c: Same.
5619 * testsuite/libgomp.c/copyin-2.c: Same.
5620 * testsuite/libgomp.c/copyin-3.c: Same.
5621 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
5622 * testsuite/libgomp.c/nestedfn-5.c: Same.
5623 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
5624 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
5625 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
5626 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5627 * testsuite/libgomp.c/pr32362-1.c: Same.
5628 * testsuite/libgomp.c/pr32362-2.c: Same.
5629 * testsuite/libgomp.c/pr32362-3.c: Same.
5630 * testsuite/libgomp.c/pr39591-1.c: Same.
5631 * testsuite/libgomp.c/pr39591-2.c: Same.
5632 * testsuite/libgomp.c/pr39591-3.c: Same.
5633 * testsuite/libgomp.c/pr58392.c: Same.
5634 * testsuite/libgomp.c/pr58756.c: Same.
5635 * testsuite/libgomp.c/simd-1.c: Same.
5636 * testsuite/libgomp.c/simd-10.c: Same.
5637 * testsuite/libgomp.c/simd-11.c: Same.
5638 * testsuite/libgomp.c/simd-12.c: Same.
5639 * testsuite/libgomp.c/simd-13.c: Same.
5640 * testsuite/libgomp.c/simd-14.c: Same.
5641 * testsuite/libgomp.c/simd-15.c: Same.
5642 * testsuite/libgomp.c/simd-2.c: Same.
5643 * testsuite/libgomp.c/simd-3.c: Same.
5644 * testsuite/libgomp.c/simd-4.c: Same.
5645 * testsuite/libgomp.c/simd-5.c: Same.
5646 * testsuite/libgomp.c/simd-6.c: Same.
5647 * testsuite/libgomp.c/simd-7.c: Same.
5648 * testsuite/libgomp.c/simd-8.c: Same.
5649 * testsuite/libgomp.c/simd-9.c: Same.
5650
5651 2015-06-15 Tom de Vries <tom@codesourcery.com>
5652
5653 * testsuite/libgomp.c/pr35625.c: Fix typo.
5654
5655 2015-06-15 Tom de Vries <tom@codesourcery.com>
5656
5657 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
5658 in dg-options.
5659 * testsuite/libgomp.c/atomic-3.c: Same.
5660 * testsuite/libgomp.c/debug-1.c: Same.
5661 * testsuite/libgomp.c/nqueens-1.c: Same.
5662 * testsuite/libgomp.c/pr26171.c: Same.
5663 * testsuite/libgomp.c/pr48591.c: Same.
5664 * testsuite/libgomp.c/pr64824.c: Same.
5665 * testsuite/libgomp.c/pr64868.c: Same.
5666 * testsuite/libgomp.c/pr66133.c: Same.
5667 * testsuite/libgomp.c/pr66199-1.c: Same.
5668 * testsuite/libgomp.c/pr66199-2.c: Same.
5669 * testsuite/libgomp.c/target-8.c: Same.
5670
5671 2015-06-15 Tom de Vries <tom@codesourcery.com>
5672
5673 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
5674 -std={gnu99,c99}.
5675 * testsuite/libgomp.c/for-1.c: Same.
5676 * testsuite/libgomp.c/for-2.c: Same.
5677 * testsuite/libgomp.c/for-3.c: Same.
5678 * testsuite/libgomp.c/pr35625.c: Same.
5679 * testsuite/libgomp.c/pr39154.c: Same.
5680 * testsuite/libgomp.c/simd-16.c: Same.
5681 * testsuite/libgomp.c/simd-17.c: Same.
5682
5683 2015-06-13 Tom de Vries <tom@codesourcery.com>
5684
5685 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
5686
5687 2015-06-13 Tom de Vries <tom@codesourcery.com>
5688
5689 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
5690 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5691 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
5692 (N): Define.
5693 (main): Use N instead of hardcoded constants.
5694
5695 2015-06-05 Tom de Vries <tom@codesourcery.com>
5696
5697 merge from gomp4 branch:
5698 2015-05-28 Tom de Vries <tom@codesourcery.com>
5699
5700 PR tree-optimization/65443
5701 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
5702 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
5703 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
5704
5705 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
5706
5707 * testsuite/libgomp.graphite/bounds.c: Adjust for
5708 cleanup-tree-dump removal.
5709 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
5710 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
5711 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
5712 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
5713 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
5714 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
5715 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5716 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5717 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
5718 * testsuite/libgomp.graphite/pr41118.c: Likewise.
5719
5720 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
5721
5722 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
5723 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
5724 (futex_wake) [!__x86_64__]: Ditto.
5725
5726 2015-05-28 Julian Brown <julian@codesourcery.com>
5727
5728 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
5729 function comment. Only call gomp_fatal if new argument is true.
5730 (acc_dev_num_out_of_range): New function.
5731 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
5732 acc_dev_num_out_of_range as appropriate.
5733 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
5734 (acc_get_device_num, acc_set_device_num): Update calls to
5735 resolve_device.
5736 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
5737 output.
5738
5739 2015-05-28 Julian Brown <julian@codesourcery.com>
5740
5741 PR libgomp/65742
5742 * oacc-init.c (plugin/plugin-host.h): Include.
5743 (acc_on_device): Check whether we're in an offloaded region for
5744 host_nonshm
5745 plugin. Don't use __builtin_acc_on_device.
5746 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
5747 nonshm_exec flag in thread-local data.
5748 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
5749 data for host_nonshm plugin.
5750 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
5751 for host_nonshm plugin.
5752 * plugin/plugin-host.h: New.
5753
5754 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
5755
5756 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
5757
5758 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
5759
5760 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
5761 Declare as int.
5762 (FUTEX_PRIVATE_FLAG): Remove L suffix.
5763 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
5764 Declare as int.
5765
5766 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
5767
5768 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
5769
5770 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
5771
5772 * target.c (gomp_map_pointer): New function abstracting out
5773 GOMP_MAP_POINTER handling.
5774 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
5775 gomp_map_pointer().
5776
5777 2015-05-19 Jakub Jelinek <jakub@redhat.com>
5778
5779 PR middle-end/66199
5780 * testsuite/libgomp.c/pr66199-1.c: New test.
5781 * testsuite/libgomp.c/pr66199-2.c: New test.
5782 * testsuite/libgomp.c++/pr66199-1.C: New test.
5783 * testsuite/libgomp.c++/pr66199-2.C: New test.
5784 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
5785 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
5786
5787 2015-05-19 Julian Brown <julian@codesourcery.com>
5788
5789 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
5790 on cuInit failure.
5791
5792 2015-05-13 Jakub Jelinek <jakub@redhat.com>
5793
5794 PR middle-end/66133
5795 * testsuite/libgomp.c/pr66133.c: New test.
5796
5797 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
5798
5799 * Makefile.in: Regenerated with automake-1.11.6.
5800 * aclocal.m4: Likewise.
5801 * config.h.in: Likewise.
5802 * configure: Likewise.
5803 * testsuite/Makefile.in: Likewise.
5804
5805 2015-05-08 Jason Merrill <jason@redhat.com>
5806
5807 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
5808 _Complex.
5809
5810 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
5811
5812 2015-05-06 Julian Brown <julian@codesourcery.com>
5813
5814 * oacc-init.c (acc_device_lock): Add explanatory comment.
5815 (resolve_device): Add comment about locking requirement.
5816 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
5817 gomp_init_device and gomp_fini_device calls.
5818 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
5819 (acc_get_device_num, acc_set_device_num): Add locking around
5820 resolve_device and gomp_init_device calls.
5821
5822 2015-05-06 Julian Brown <julian@codesourcery.com>
5823
5824 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
5825 goacc_thread_lock on error paths.
5826 * oacc-mem.c (lookup_host): Remove locking from function. Note
5827 locking requirement for caller in function comment.
5828 (lookup_dev): Likewise.
5829 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
5830 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
5831 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
5832 Add locking.
5833
5834 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
5835
5836 PR testsuite/65205
5837 PR libgomp/65993
5838 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
5839 don't expect "0x" prefix for "%p" format specifier, don't expect
5840 "(nil)" for NULL pointer.
5841 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5842 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5843 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5844 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5845 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5846 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5847 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5848 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5849 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
5850 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
5851 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5852 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5853 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5854 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5855 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
5856 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
5857 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
5858 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
5859 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5860 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5861 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5862 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5863 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5864 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5865 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5866 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5867 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
5868 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5869 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
5870 accurately specify what we're looking for.
5871 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5872 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5873 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5874 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5875 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5876
5877 2015-04-30 James Norris <jnorris@codesourcery.com>
5878
5879 PR testsuite/65205
5880 * testsuite/lib/libgomp.exp
5881 (check_effective_target_openacc_host_selected)
5882 (check_effective_target_openacc_host_nonshm_selected): New
5883 procedures.
5884 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
5885 dg-shouldfail.
5886 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
5887 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
5888 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5889 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5890 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5891 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5892 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5893 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5894 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5895 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5896 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5897 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
5898 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
5899 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5900 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5901 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
5902 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5903 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5904 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
5905 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
5906 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
5907 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
5908 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
5909 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5910 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5911 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5912 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5913 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5914 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5915 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5916 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5917 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
5918 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5919 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
5920 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5921 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5922 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5923 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5924 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5925 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
5926 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
5927 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
5928 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
5929
5930 2015-04-08 Julian Brown <julian@codesourcery.com>
5931
5932 * libgomp.h (target_mem_desc: Remove mem_map field.
5933 (acc_dispatch_t): Remove open_device_func, close_device_func,
5934 get_device_num_func, set_device_num_func, target_data members.
5935 Change create_thread_data_func argument to device number instead of
5936 generic pointer.
5937 * oacc-async.c (assert.h): Include.
5938 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
5939 (acc_wait_all, acc_wait_all_async): Use current host thread's
5940 active device, not base_dev.
5941 * oacc-cuda.c (acc_get_current_cuda_device)
5942 (acc_get_current_cuda_context, acc_get_cuda_stream)
5943 (acc_set_cuda_stream): Likewise.
5944 * oacc-host.c (host_dispatch): Don't set open_device_func,
5945 close_device_func, get_device_num_func or set_device_num_func.
5946 * oacc-init.c (base_dev, init_key): Remove.
5947 (cached_base_dev): New.
5948 (name_of_acc_device_t): New.
5949 (acc_init_1): Initialise default-numbered device, not zeroth.
5950 (acc_shutdown_1): Close all devices of a given type.
5951 (goacc_destroy_thread): Don't use base_dev.
5952 (lazy_open, lazy_init, lazy_init_and_open): Remove.
5953 (goacc_attach_host_thread_to_device): New.
5954 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
5955 (acc_get_num_devices): Don't use base_dev.
5956 (acc_set_device_type): Reimplement.
5957 (acc_get_device_type): Don't use base_dev.
5958 (acc_get_device_num): Tweak logic.
5959 (acc_set_device_num): Likewise.
5960 (acc_on_device): Use acc_get_device_type.
5961 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
5962 (goacc_lazy_initialize): Reimplement with acc_init and
5963 goacc_attach_host_thread_to_device.
5964 * oacc-int.h (goacc_thread): Add base_dev field.
5965 (base_dev): Remove extern declaration.
5966 (goacc_attach_host_thread_to_device): Add prototype.
5967 * oacc-mem.c (acc_malloc): Use current thread's device instead of
5968 base_dev.
5969 (acc_free): Likewise.
5970 (acc_memcpy_to_device): Likewise.
5971 (acc_memcpy_from_device): Likewise.
5972 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
5973 goacc_lazy_initialize (throughout).
5974 (GOACC_parallel): Use tgt_offset to locate target functions.
5975 * target.c (gomp_map_vars): Don't set tgt->mem_map.
5976 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
5977 (gomp_load_plugin_for_device): Remove open_device, close_device,
5978 get_device_num, set_device_num openacc hook initialisation. Don't set
5979 openacc.target_data.
5980 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
5981 (GOMP_OFFLOAD_openacc_close_device)
5982 (GOMP_OFFLOAD_openacc_get_device_num)
5983 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
5984 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
5985 to int.
5986 * plugin/plugin-nvptx.c (ptx_inited): Remove.
5987 (instantiated_devices, ptx_dev_lock): New.
5988 (struct ptx_image_data): New.
5989 (ptx_devices, ptx_images, ptx_image_lock): New.
5990 (fini_streams_for_device): Reorder cuStreamDestroy call.
5991 (nvptx_get_num_devices): Remove forward declaration.
5992 (nvptx_init): Change return type to bool.
5993 (nvptx_fini): Remove.
5994 (nvptx_attach_host_thread_to_device): New.
5995 (nvptx_open_device): Return struct ptx_device* instead of void*.
5996 (nvptx_close_device): Change argument type to struct ptx_device*,
5997 return type to void.
5998 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
5999 (kernel_target_data, kernel_host_table): Remove static globals.
6000 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
6001 (GOMP_OFFLOAD_init_device): Reimplement.
6002 (GOMP_OFFLOAD_fini_device): Likewise.
6003 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
6004 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
6005 (GOMP_OFFLOAD_host2dev): Use ORD argument.
6006 (GOMP_OFFLOAD_openacc_open_device)
6007 (GOMP_OFFLOAD_openacc_close_device)
6008 (GOMP_OFFLOAD_openacc_set_device_num)
6009 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
6010 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
6011 (device number).
6012
6013 testsuite/
6014 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
6015
6016 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
6017
6018 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
6019 * libgomp.h (struct gomp_memory_mapping): Remove.
6020 (struct target_mem_desc): Change type of mem_map from
6021 gomp_memory_mapping * to splay_tree_s *.
6022 (struct gomp_device_descr): Remove register_image_func, get_table_func.
6023 Add load_image_func, unload_image_func.
6024 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
6025 Remove offload_regions_registered.
6026 (gomp_init_tables): Remove.
6027 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
6028 to splay_tree_s *.
6029 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
6030 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
6031 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
6032 offload_regions_registered.
6033 Initialize load_image_func, unload_image_func, mem_map.root.
6034 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
6035 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
6036 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
6037 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
6038 gomp_memory_mapping *. Use dev's lock and splay_tree.
6039 (lookup_dev): Use dev's lock.
6040 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
6041 (acc_is_present): Likewise.
6042 (acc_map_data): Likewise.
6043 (acc_unmap_data): Likewise. Use dev's lock.
6044 (present_create_copy): Likewise.
6045 (delete_copyout): Pass dev to lookup_host instead of mem_map.
6046 (update_dev_host): Likewise.
6047 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
6048 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
6049 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
6050 (GOMP_OFFLOAD_get_table): Remove
6051 (GOMP_OFFLOAD_load_image): New function.
6052 (GOMP_OFFLOAD_unload_image): New function.
6053 * target.c (register_lock): New mutex for offload image registration.
6054 (num_devices): Do not guard with PLUGIN_SUPPORT.
6055 (gomp_realloc_unlock): New static function.
6056 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
6057 before gomp_fatal.
6058 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
6059 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
6060 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
6061 mem_map's.
6062 (gomp_unmap_vars): Likewise.
6063 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
6064 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
6065 (gomp_offload_image_to_device): New static function.
6066 (GOMP_offload_register): Add mutex lock.
6067 Call gomp_offload_image_to_device for all initialized devices.
6068 Replace gomp_realloc with gomp_realloc_unlock.
6069 (GOMP_offload_unregister): New function.
6070 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
6071 get_table_func from the plugin with calls to init_device_func and
6072 gomp_offload_image_to_device.
6073 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
6074 to splay_tree_s *.
6075 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
6076 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
6077 (GOMP_target_data): Do not call gomp_init_tables.
6078 (GOMP_target_update): Likewise. Remove argument from gomp_update.
6079 (gomp_load_plugin_for_device): Replace register_image and get_table
6080 with load_image and unload_image in DLSYM ().
6081 (gomp_register_images_for_device): Remove function.
6082 (gomp_target_init): Do not initialize current_device.mem_map.*,
6083 current_device.offload_regions_registered.
6084 Remove call to gomp_register_images_for_device.
6085 Do not free offload_images and num_offload_images.
6086
6087 2015-03-30 Jakub Jelinek <jakub@redhat.com>
6088
6089 PR fortran/65597
6090 * testsuite/libgomp.fortran/pr65597.f90: New test.
6091
6092 2015-03-27 Tom de Vries <tom@codesourcery.com>
6093
6094 PR testsuite/65594
6095 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
6096 (init, check): New function.
6097 (foo): Change return type to void.
6098 (main): Call init and check.
6099
6100 2015-03-27 Tom de Vries <tom@codesourcery.com>
6101
6102 PR testsuite/65594
6103 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
6104 (foo): Use M for non-inner loops to scale down test-case.
6105
6106 2015-03-25 Kai Tietz <ktietz@redhat.com>
6107
6108 PR libgomp/64972
6109 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
6110 (GOACC_data_start): Likewise.
6111 * target.c (gomp_map_vars): Likewise.
6112
6113 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
6114
6115 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
6116 hppa*-*-hpux*.
6117
6118 2015-03-19 Jakub Jelinek <jakub@redhat.com>
6119
6120 * testsuite/libgomp.c/target-10.c: New test.
6121 * testsuite/libgomp.c++/target-4.C: New test.
6122
6123 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
6124
6125 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
6126 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
6127
6128 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
6129
6130 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
6131 * configure.ac (*-*-rtems*): Assume Pthread is supported.
6132 (pthread.h): Check for this header file.
6133 * configure: Regenerate.
6134
6135 2015-02-25 Tom de Vries <tom@codesourcery.com>
6136
6137 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
6138 (check_reduction_op, check_reduction_macro, max, min):
6139 Declare.
6140 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
6141 function.
6142 (main): Use new functions.
6143
6144 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
6145
6146 * target.c (gomp_load_plugin_for_device): Use const char * instead of
6147 char * for variables holding dlerror return values.
6148 (DLSYM_OPT): Ditto.
6149
6150 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
6151
6152 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
6153
6154 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
6155 Cesar Philippidis <cesar@codesourcery.com>
6156
6157 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
6158 GOACC_ctaid, and GOACC_nctaid routines.
6159
6160 2015-02-11 Jakub Jelinek <jakub@redhat.com>
6161
6162 PR c/64824
6163 * testsuite/libgomp.c/atomic-18.c: New test.
6164 * testsuite/libgomp.c++/atomic-16.C: New test.
6165
6166 2015-02-04 Jakub Jelinek <jakub@redhat.com>
6167
6168 PR c/64824
6169 PR c/64868
6170 * testsuite/libgomp.c/pr64824.c: New test.
6171 * testsuite/libgomp.c/pr64868.c: New test.
6172 * testsuite/libgomp.c++/pr64824.C: New test.
6173 * testsuite/libgomp.c++/pr64868.C: New test.
6174
6175 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
6176
6177 PR libgomp/64635
6178 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
6179 Link with -lpthread.
6180 * config/aix/plugin-suffix.h: Delete.
6181
6182 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
6183
6184 PR libgomp/64635
6185 * configure.tgt (*-*-aix*): Use config_path "aix posix".
6186 (*-*-darwin*): Use config_path "bsd darwin posix".
6187 (*-*-hpux*): Use config_path "hpux posix".
6188 * target.c: Add include of plugin-suffix.h and use
6189 SONAME_SUFFIX macro.
6190 * config/aix/plugin-suffix.h: New file.
6191 * config/darwin/plugin-suffix.h: New file.
6192 * config/hpux/plugin-suffix.h: New file.
6193 * config/posix/plugin-suffix.h: New file.
6194
6195 2015-01-23 Jakub Jelinek <jakub@redhat.com>
6196
6197 PR middle-end/64734
6198 * libgomp.c/pr64734.c: New test.
6199
6200 2015-01-23 Tom de Vries <tom@codesourcery.com>
6201
6202 PR libgomp/64672
6203 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
6204
6205 2015-01-23 Tom de Vries <tom@codesourcery.com>
6206
6207 PR libgomp/64707
6208 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
6209 dg-options.
6210
6211 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
6212
6213 PR libgomp/64625
6214 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
6215 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
6216 formal parameter. Update all users.
6217 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
6218 Document unused formal parameter.
6219
6220 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
6221
6222 * oacc-parallel.c: Don't include <alloca.h>.
6223 (GOACC_parallel): Use gomp_alloca instead of alloca.
6224
6225 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
6226
6227 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
6228
6229 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
6230 James Norris <jnorris@codesourcery.com>
6231 Tom de Vries <tom@codesourcery.com>
6232 Julian Brown <julian@codesourcery.com>
6233 Cesar Philippidis <cesar@codesourcery.com>
6234 Nathan Sidwell <nathan@codesourcery.com>
6235 Tobias Burnus <burnus@net-b.de>
6236
6237 * Makefile.am (search_path): Add $(top_srcdir)/../include.
6238 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
6239 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
6240 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
6241 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
6242 Include $(top_srcdir)/plugin/Makefrag.am.
6243 (nodist_libsubinclude_HEADERS): Add openacc.h.
6244 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
6245 openacc.f90, openacc.mod, openacc_kinds.mod.
6246 (omp_lib.mod): Generalize into...
6247 (%.mod): ... this new rule.
6248 (openacc_kinds.mod, openacc.mod): New rules.
6249 * plugin/configfrag.ac: New file.
6250 * configure.ac: Move plugin/offloading support into it. Include
6251 it. Instantiate testsuite/libgomp-test-support.pt.exp.
6252 * plugin/Makefrag.am: New file.
6253 * testsuite/Makefile.am (OFFLOAD_TARGETS)
6254 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
6255 export.
6256 (libgomp-test-support.exp): New rule.
6257 (all-local): Depend on it.
6258 * Makefile.in: Regenerate.
6259 * testsuite/Makefile.in: Regenerate.
6260 * config.h.in: Likewise.
6261 * configure: Likewise.
6262 * configure.tgt: Harden shell syntax.
6263 * env.c: Include "oacc-int.h".
6264 (parse_acc_device_type): New function.
6265 (gomp_debug_var, goacc_device_type, goacc_device_num): New
6266 variables.
6267 (initialize_env): Initialize those. Call
6268 goacc_runtime_initialize.
6269 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
6270 (gomp_fatal): Call gomp_vfatal.
6271 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
6272 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
6273 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
6274 (splay_tree_node, splay_tree, splay_tree_key)
6275 (struct target_mem_desc, struct splay_tree_key_s)
6276 (struct gomp_memory_mapping, struct acc_dispatch_t)
6277 (struct gomp_device_descr, gomp_acc_insert_pointer)
6278 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
6279 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
6280 (gomp_free_memmap, gomp_fini_device): New declarations.
6281 (gomp_vdebug, gomp_debug): New macros.
6282 Include "splay-tree.h".
6283 * libgomp.map (OACC_2.0): New symbol version. Use for
6284 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
6285 acc_set_device_type_h_, acc_get_device_type,
6286 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
6287 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
6288 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
6289 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
6290 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
6291 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
6292 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
6293 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
6294 acc_copyin_array_h_, acc_present_or_copyin,
6295 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
6296 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
6297 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
6298 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
6299 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
6300 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
6301 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
6302 acc_update_device, acc_update_device_32_h_,
6303 acc_update_device_64_h_, acc_update_device_array_h_,
6304 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
6305 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
6306 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
6307 acc_is_present_64_h_, acc_is_present_array_h_,
6308 acc_memcpy_to_device, acc_memcpy_from_device,
6309 acc_get_current_cuda_device, acc_get_current_cuda_context,
6310 acc_get_cuda_stream, acc_set_cuda_stream.
6311 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
6312 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
6313 GOACC_update, GOACC_wait, GOACC_get_thread_num,
6314 GOACC_get_num_threads.
6315 (GOMP_PLUGIN_1.0): New symbol version. Use for
6316 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
6317 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
6318 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
6319 GOMP_PLUGIN_acc_thread.
6320 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
6321 environment variable.
6322 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
6323 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
6324 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
6325 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
6326 (splay_tree_remove): New declarations.
6327 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
6328 (splay_tree_remove, splay_tree_lookup): Move into...
6329 * splay-tree.c: ... this new file.
6330 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
6331 (splay_tree_node, splay_tree, splay_tree_key)
6332 (struct target_mem_desc, struct splay_tree_key_s)
6333 (struct gomp_device_descr): Don't declare.
6334 (num_devices_openmp): New variable.
6335 (gomp_get_num_devices ): Use it.
6336 (gomp_init_targets_once): New function.
6337 (gomp_get_num_devices ): Use it.
6338 (get_kind, gomp_copy_from_async, gomp_free_memmap)
6339 (gomp_fini_device, gomp_register_image_for_device): New functions.
6340 (gomp_map_vars): Add devaddrs parameter.
6341 (gomp_update): Add mm parameter.
6342 (gomp_init_device): Move most of it into...
6343 (gomp_init_tables): ... this new function.
6344 (gomp_register_images_for_device): Remove function.
6345 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
6346 Make them hidden instead of static.
6347 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
6348 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
6349 (GOMP_target_end_data, GOMP_target_update)
6350 (gomp_load_plugin_for_device, gomp_target_init): Update for
6351 OpenACC changes.
6352 * oacc-async.c: New file.
6353 * oacc-cuda.c: Likewise.
6354 * oacc-host.c: Likewise.
6355 * oacc-init.c: Likewise.
6356 * oacc-int.h: Likewise.
6357 * oacc-mem.c: Likewise.
6358 * oacc-parallel.c: Likewise.
6359 * oacc-plugin.c: Likewise.
6360 * oacc-plugin.h: Likewise.
6361 * oacc-ptx.h: Likewise.
6362 * openacc.f90: Likewise.
6363 * openacc.h: Likewise.
6364 * openacc_lib.h: Likewise.
6365 * plugin/plugin-host.c: Likewise.
6366 * plugin/plugin-nvptx.c: Likewise.
6367 * libgomp-plugin.c: Likewise.
6368 * libgomp-plugin.h: Likewise.
6369 * libgomp_target.h: Remove file after merging content into the
6370 former file. Update all users.
6371 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
6372 (offload_targets_s, offload_targets_s_openacc): New variables.
6373 (check_effective_target_openacc_nvidia_accel_present)
6374 (check_effective_target_openacc_nvidia_accel_selected): New
6375 procedures.
6376 (libgomp_init): Update for OpenACC changes.
6377 * testsuite/libgomp-test-support.exp.in: New file.
6378 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6379 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6380 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6381 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
6382 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
6383 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6384 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
6385 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6386 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6387 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
6388 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
6389 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6390 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
6391 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6392 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6393 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
6394 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
6395 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
6396 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
6397 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
6398 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
6399 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6400 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6401 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6402 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6403 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6404 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6405 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6406 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6407 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6408 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6409 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6410 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6411 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
6412 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
6413 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6414 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6415 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6416 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
6417 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
6418 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6419 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6420 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6421 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6422 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6423 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
6424 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6425 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6426 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6427 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6428 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6429 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6430 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6431 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6432 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6433 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6434 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6435 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6436 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6437 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
6438 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
6439 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
6440 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6441 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6442 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6443 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
6444 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
6445 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6446 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6447 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6448 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
6449 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6450 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6451 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6452 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
6453 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
6454 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6455 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6456 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
6457 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
6458 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
6459 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
6460 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6461 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6462 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6463 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
6464 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
6465 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6466 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6467 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
6468 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
6469 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
6470 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
6471 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6472 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6473 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6474 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6475 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
6476 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6477 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6478 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
6479 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
6480 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
6481 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6482 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
6483 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
6484 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
6485 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
6486 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
6487 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6488 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
6489 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6490 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6491 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
6492 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
6493 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6494 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
6495 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6496 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
6497 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
6498 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
6499 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
6500 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6501 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
6502 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
6503 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
6504 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
6505 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
6506 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
6507 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
6508 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
6509 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
6510 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6511 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
6512 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6513 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6514 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6515 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6516 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6517 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
6518 Likewise.
6519 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
6520 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
6521 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
6522 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6523 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
6524 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6525 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
6526 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6527 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6528 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6529 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6530 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6531 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6532 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
6533 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6534 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
6535 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
6536 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
6537 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
6538 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
6539 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
6540 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
6541 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
6542 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
6543 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
6544 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
6545 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6546 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6547 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6548 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6549 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6550 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6551 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6552 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6553 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
6554 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
6555 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
6556 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
6557 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
6558 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
6559 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
6560 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
6561 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
6562 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
6563 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
6564 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
6565 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
6566 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
6567 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6568 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6569 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6570 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6571 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6572 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6573 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
6574 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
6575 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
6576 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
6577 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
6578 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
6579
6580 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
6581 Julian Brown <julian@codesourcery.com>
6582 David Malcolm <dmalcolm@redhat.com>
6583
6584 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
6585 to "GNU Offloading and Multi Processing Runtime Library". Change
6586 all users.
6587 * configure: Regenerate.
6588 * libgomp.texi: Update.
6589
6590 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
6591
6592 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
6593 "$tgt_dir/lib32".
6594 * configure: Regenerate.
6595
6596 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
6597 "intelmic" in $offload_targets.
6598
6599 2015-01-05 Jakub Jelinek <jakub@redhat.com>
6600
6601 Update copyright years.
6602
6603 * libgomp.texi: Bump @copying's copyright year.
6604
6605 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6606
6607 * testsuite/lib/libgomp.exp: Load target-utils.exp.
6608 Move load of target-supportes.exp earlier.
6609
6610 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
6611
6612 * testsuite/libgomp.c/target-9.c: New test.
6613
6614 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
6615
6616 * config.h.in: Regenerate.
6617 * configure: Regenerate.
6618 * configure.ac: Add GCC_CHECK_EMUTLS.
6619 * libgomp.h: Add check for USE_EMUTLS: this case
6620 is equal to HAVE_TLS.
6621 * team.c: Likewise.
6622
6623 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
6624
6625 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
6626
6627 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
6628 Ilya Verbin <ilya.verbin@intel.com>
6629
6630 * testsuite/libgomp.c/target-critical-1.c: New test.
6631
6632 2014-11-26 Jakub Jelinek <jakub@redhat.com>
6633
6634 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
6635 to dg-options unless expensive testing is on.
6636 (TESTITERS): Define to N if not defined.
6637 (main): Use TESTITERS instead of N.
6638 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
6639 dg-additional-options depending on whether expensive testing is on.
6640 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
6641 Decrease N to 100000 and CHUNKSZ to 10000.
6642
6643 2014-11-24 Jakub Jelinek <jakub@redhat.com>
6644
6645 PR fortran/63938
6646 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
6647 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
6648
6649 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
6650
6651 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
6652
6653 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
6654
6655 PR bootstrap/63784
6656 * configure: Regenerated.
6657
6658 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
6659
6660 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
6661 vect_simd_clones effective target.
6662 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
6663
6664 2014-11-14 Jakub Jelinek <jakub@redhat.com>
6665
6666 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
6667 of 32 as block_size.
6668 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
6669 instead of 32 as block_size.
6670
6671 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
6672 Ilya Verbin <ilya.verbin@intel.com>
6673
6674 * Makefile.in: Regenerate.
6675 * configure: Regenerate.
6676 * configure.ac: Set up offload_additional_options,
6677 offload_additional_lib_paths and offload_targets.
6678 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
6679 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
6680 * testsuite/Makefile.in: Regenerate.
6681 * testsuite/lib/libgomp.exp (libgomp_init): Append
6682 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
6683 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
6684 build directory to LD_LIBRARY_PATH for intelmic offload targets.
6685
6686 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
6687 Ilya Verbin <ilya.verbin@intel.com>
6688 Kirill Yukhin <kirill.yukhin@intel.com>
6689 Ilya Tocar <ilya.tocar@intel.com>
6690
6691 * testsuite/lib/libgomp.exp
6692 (check_effective_target_offload_device): New.
6693 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
6694 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
6695 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
6696 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
6697 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
6698 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
6699 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
6700 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
6701 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
6702 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
6703 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
6704 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
6705 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
6706 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
6707 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
6708 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
6709 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
6710 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
6711 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
6712 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
6713 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
6714 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
6715 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
6716 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
6717 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
6718 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
6719 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
6720 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
6721 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
6722 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
6723 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
6724 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
6725 * testsuite/libgomp.c/target-7.c: Fix test.
6726 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
6727 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
6728 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
6729 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
6730 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
6731 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
6732 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
6733 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
6734 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
6735 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
6736 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
6737 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
6738 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
6739 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
6740 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
6741 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
6742 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
6743 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
6744 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
6745 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
6746 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
6747 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
6748 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
6749 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
6750 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
6751 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
6752 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
6753 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
6754 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
6755 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
6756 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
6757
6758 2014-11-13 Jakub Jelinek <jakub@redhat.com>
6759 Ilya Verbin <ilya.verbin@intel.com>
6760 Thomas Schwinge <thomas@codesourcery.com>
6761 Andrey Turetskiy <andrey.turetskiy@intel.com>
6762
6763 * libgomp.map (GOMP_4.0.1): New symbol version.
6764 Add GOMP_offload_register.
6765 * libgomp_target.h: New file.
6766 * splay-tree.h: New file.
6767 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
6768 (gomp_target_init): New forward declaration.
6769 (gomp_is_initialized): New static variable.
6770 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
6771 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
6772 New structures.
6773 (offload_images, num_offload_images, devices, num_devices): New static
6774 variables.
6775 (splay_compare): New static function.
6776 (struct gomp_device_descr): New structure.
6777 (gomp_get_num_devices): Call gomp_target_init.
6778 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
6779 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
6780 (GOMP_offload_register): New function.
6781 (GOMP_target): Arrange for host callback to be performed in a separate
6782 initial thread and contention group, inheriting ICVs from
6783 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
6784 Add device initialization and lookup for target function in splay tree.
6785 (GOMP_target_data): Add device initialization and call gomp_map_vars.
6786 (GOMP_target_end_data): Call gomp_unmap_vars.
6787 (GOMP_target_update): Add device initialization and call gomp_update.
6788 (gomp_load_plugin_for_device, gomp_register_images_for_device)
6789 (gomp_target_init): New static functions.
6790
6791 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
6792 Thomas Schwinge <thomas@codesourcery.com>
6793 Ilya Verbin <ilya.verbin@intel.com>
6794 Andrey Turetskiy <andrey.turetskiy@intel.com>
6795
6796 * config.h.in: Regenerate.
6797 * configure: Regenerate.
6798 * configure.ac: Check for libdl, required for plugin support.
6799 (PLUGIN_SUPPORT): Define if plugins are supported.
6800 (enable_offload_targets): Support Intel MIC targets.
6801 (OFFLOAD_TARGETS): List of target names suitable for offloading.
6802
6803 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6804
6805 PR target/63610
6806 * configure: Regenerate.
6807
6808 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6809
6810 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
6811
6812 2014-10-06 Marek Polacek <polacek@redhat.com>
6813
6814 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
6815 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
6816 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
6817 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6818
6819 2014-10-06 Marek Polacek <polacek@redhat.com>
6820
6821 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
6822 * testsuite/libgomp.c/nqueens-1.c: Likewise.
6823 * testsuite/libgomp.c/pr26943-3.c: Likewise.
6824 * testsuite/libgomp.c/pr26943-4.c: Likewise.
6825 * testsuite/libgomp.c/pr36802-2.c: Likewise.
6826 * testsuite/libgomp.c/pr36802-3.c: Likewise.
6827 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
6828 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6829 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
6830 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
6831 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
6832 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
6833 * testsuite/libgomp.c/omp-single-1.c: Likewise.
6834 * testsuite/libgomp.c/omp-single-2.c: Likewise.
6835 * testsuite/libgomp.c/omp_matvec.c: Likewise.
6836 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
6837 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
6838 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
6839 declarations.
6840
6841 2014-10-03 Jakub Jelinek <jakub@redhat.com>
6842
6843 PR libgomp/61200
6844 * testsuite/libgomp.c/pr61200.c: New test.
6845
6846 2014-09-18 Jakub Jelinek <jakub@redhat.com>
6847
6848 PR c++/63248
6849 * testsuite/libgomp.c++/pr63248.C: New test.
6850
6851 2014-08-04 Jakub Jelinek <jakub@redhat.com>
6852
6853 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
6854 is not zero, but taskgroup->children is NULL and there are
6855 any task->children, schedule those instead of waiting.
6856 * testsuite/libgomp.c/depend-6.c: New test.
6857 * testsuite/libgomp.c/depend-7.c: New test.
6858 * testsuite/libgomp.c/depend-8.c: New test.
6859 * testsuite/libgomp.c/depend-9.c: New test.
6860 * testsuite/libgomp.c/depend-10.c: New test.
6861
6862 2014-08-01 Jakub Jelinek <jakub@redhat.com>
6863
6864 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
6865 (struct gomp_taskwait): New type.
6866 (struct gomp_task): Add taskwait and parent_depends_on, remove
6867 in_taskwait and taskwait_sem fields.
6868 (gomp_finish_task): Don't destroy taskwait_sem.
6869 * task.c (gomp_init_task): Don't init in_taskwait, instead init
6870 taskwait and parent_depends_on.
6871 (GOMP_task): For if (0) tasks with depend clause that depend on
6872 earlier tasks don't defer them, instead call
6873 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
6874 Initialize redundant_out field, for redundant out entries just
6875 move them at the end of linked list instead of removing them
6876 completely, and set redundant_out flag instead of redundant.
6877 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
6878 that task.
6879 (gomp_task_run_post_handle_dependers): If parent is in
6880 gomp_task_maybe_wait_for_dependencies and newly runnable task
6881 is not parent_depends_on, queue it in parent->children linked
6882 list after all runnable tasks with parent_depends_on set.
6883 Adjust for addition of taskwait indirection.
6884 (gomp_task_run_post_remove_parent): If parent is in
6885 gomp_task_maybe_wait_for_dependencies and task to be removed
6886 is parent_depends_on, decrement n_depend and if needed awake
6887 parent. Adjust for addition of taskwait indirection.
6888 (GOMP_taskwait): Adjust for addition of taskwait indirection.
6889 (gomp_task_maybe_wait_for_dependencies): New function.
6890 * testsuite/libgomp.c/depend-5.c: New test.
6891
6892 2014-07-13 Tobias Burnus <burnus@net-b.de>
6893
6894 * testsuite/libgomp.fortran/pr34020.f90: Make compile
6895 with TS 18508/Fortran 2015.
6896
6897 2014-07-06 Marek Polacek <polacek@redhat.com>
6898
6899 PR c/6940
6900 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
6901
6902 2014-07-03 Jakub Jelinek <jakub@redhat.com>
6903
6904 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
6905 matches regex $lang_source_re, add $lang_include_flags to options.
6906 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
6907 * testsuite/libgomp.c++/c++.exp: Likewise.
6908 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
6909 and lang_include_flags instead of adding -fintrinsic-modules-path= to
6910 ALWAYS_CFLAGS.
6911 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
6912
6913 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
6914
6915 * testsuite/libgomp.fortran/fortran.exp: Explain
6916 gfortran-dg-runtest usage.
6917
6918 2014-06-25 Jakub Jelinek <jakub@redhat.com>
6919
6920 * testsuite/libgomp.fortran/simd5.f90: New test.
6921 * testsuite/libgomp.fortran/simd6.f90: New test.
6922 * testsuite/libgomp.fortran/simd7.f90: New test.
6923
6924 2014-06-24 Jakub Jelinek <jakub@redhat.com>
6925
6926 * testsuite/libgomp.c/for-2.c: Define SC to static for
6927 #pragma omp for simd testing.
6928 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
6929 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
6930 SC macro.
6931 * testsuite/libgomp.c/simd-14.c: New test.
6932 * testsuite/libgomp.c/simd-15.c: New test.
6933 * testsuite/libgomp.c/simd-16.c: New test.
6934 * testsuite/libgomp.c/simd-17.c: New test.
6935 * testsuite/libgomp.c++/for-10.C: Define SC to static for
6936 #pragma omp for simd testing.
6937 * testsuite/libgomp.c++/simd10.C: New test.
6938 * testsuite/libgomp.c++/simd11.C: New test.
6939 * testsuite/libgomp.c++/simd12.C: New test.
6940 * testsuite/libgomp.c++/simd13.C: New test.
6941
6942 * testsuite/libgomp.fortran/aligned1.f03: New test.
6943 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
6944 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
6945 tasks with !$omp parallel !$omp single.
6946 * testsuite/libgomp.fortran/target8.f90: New test.
6947 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
6948 not to use trim in the combiner, instead call elemental function.
6949 (fn): New elemental function.
6950 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
6951 Make elemental.
6952 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
6953 omp_in): Likewise.
6954 * testsuite/libgomp.fortran/udr12.f90: New test.
6955 * testsuite/libgomp.fortran/udr13.f90: New test.
6956 * testsuite/libgomp.fortran/udr14.f90: New test.
6957 * testsuite/libgomp.fortran/udr15.f90: New test.
6958
6959 2014-06-18 Jakub Jelinek <jakub@redhat.com>
6960
6961 * omp_lib.f90.in (openmp_version): Set to 201307.
6962 * omp_lib.h.in (openmp_version): Likewise.
6963 * testsuite/libgomp.c/target-8.c: New test.
6964 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
6965 and inbranch clauses.
6966 * testsuite/libgomp.fortran/depend-3.f90: New test.
6967 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
6968 openmp_version.
6969 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
6970 * testsuite/libgomp.fortran/target1.f90: New test.
6971 * testsuite/libgomp.fortran/target2.f90: New test.
6972 * testsuite/libgomp.fortran/target3.f90: New test.
6973 * testsuite/libgomp.fortran/target4.f90: New test.
6974 * testsuite/libgomp.fortran/target5.f90: New test.
6975 * testsuite/libgomp.fortran/target6.f90: New test.
6976 * testsuite/libgomp.fortran/target7.f90: New test.
6977
6978 2014-06-10 Jakub Jelinek <jakub@redhat.com>
6979
6980 PR fortran/60928
6981 * testsuite/libgomp.fortran/allocatable9.f90: New test.
6982 * testsuite/libgomp.fortran/allocatable10.f90: New test.
6983 * testsuite/libgomp.fortran/allocatable11.f90: New test.
6984 * testsuite/libgomp.fortran/allocatable12.f90: New test.
6985 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
6986 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
6987 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
6988 * testsuite/libgomp.fortran/associate1.f90: New test.
6989 * testsuite/libgomp.fortran/associate2.f90: New test.
6990 * testsuite/libgomp.fortran/procptr1.f90: New test.
6991
6992 2014-06-06 Jakub Jelinek <jakub@redhat.com>
6993
6994 * testsuite/libgomp.fortran/simd1.f90: New test.
6995 * testsuite/libgomp.fortran/udr1.f90: New test.
6996 * testsuite/libgomp.fortran/udr2.f90: New test.
6997 * testsuite/libgomp.fortran/udr3.f90: New test.
6998 * testsuite/libgomp.fortran/udr4.f90: New test.
6999 * testsuite/libgomp.fortran/udr5.f90: New test.
7000 * testsuite/libgomp.fortran/udr6.f90: New test.
7001 * testsuite/libgomp.fortran/udr7.f90: New test.
7002 * testsuite/libgomp.fortran/udr8.f90: New test.
7003 * testsuite/libgomp.fortran/udr9.f90: New test.
7004 * testsuite/libgomp.fortran/udr10.f90: New test.
7005 * testsuite/libgomp.fortran/udr11.f90: New test.
7006
7007 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
7008
7009 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
7010 vect_simd_clones effective target.
7011 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
7012
7013 2014-05-21 Jakub Jelinek <jakub@redhat.com>
7014
7015 PR middle-end/61252
7016 * testsuite/libgomp.c++/simd-9.C: New test.
7017
7018 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
7019
7020 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
7021 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
7022 texts according to their @menu entry positions.
7023
7024 2014-05-11 Jakub Jelinek <jakub@redhat.com>
7025
7026 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
7027 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
7028 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
7029 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
7030 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
7031 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
7032 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
7033 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
7034 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
7035 * testsuite/libgomp.fortran/depend-1.f90: New test.
7036 * testsuite/libgomp.fortran/depend-2.f90: New test.
7037 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
7038 * testsuite/libgomp.fortran/simd1.f90: New test.
7039 * testsuite/libgomp.fortran/simd2.f90: New test.
7040 * testsuite/libgomp.fortran/simd3.f90: New test.
7041 * testsuite/libgomp.fortran/simd4.f90: New test.
7042 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
7043
7044 2014-05-02 Jakub Jelinek <jakub@redhat.com>
7045
7046 * testsuite/libgomp.c/simd-10.c: New test.
7047 * testsuite/libgomp.c/simd-11.c: New test.
7048 * testsuite/libgomp.c/simd-12.c: New test.
7049 * testsuite/libgomp.c/simd-13.c: New test.
7050
7051 2014-04-24 Jakub Jelinek <jakub@redhat.com>
7052
7053 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
7054 atomic type clauses in any order and optional comma in between.
7055 * testsuite/libgomp.c++/atomic-15.C: Likewise.
7056 * testsuite/libgomp.c/atomic-17.c: Likewise.
7057
7058 * testsuite/libgomp.c/simd-7.c: New test.
7059 * testsuite/libgomp.c/simd-8.c: New test.
7060 * testsuite/libgomp.c/simd-9.c: New test.
7061 * testsuite/libgomp.c/loop-16.c: New test.
7062
7063 2014-04-02 Richard Henderson <rth@redhat.com>
7064
7065 * config/linux/futex.h (futex_wait): Get error value from errno.
7066 (futex_wake): Likewise.
7067
7068 2014-03-25 Jakub Jelinek <jakub@redhat.com>
7069
7070 PR c++/60331
7071 * testsuite/libgomp.c++/udr-11.C: New test.
7072 * testsuite/libgomp.c++/udr-12.C: New test.
7073 * testsuite/libgomp.c++/udr-13.C: New test.
7074 * testsuite/libgomp.c++/udr-14.C: New test.
7075 * testsuite/libgomp.c++/udr-15.C: New test.
7076 * testsuite/libgomp.c++/udr-16.C: New test.
7077 * testsuite/libgomp.c++/udr-17.C: New test.
7078 * testsuite/libgomp.c++/udr-18.C: New test.
7079 * testsuite/libgomp.c++/udr-19.C: New test.
7080
7081 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7082
7083 Update copyright years
7084
7085 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
7086
7087 * hashtab.h: Use the standard form for the copyright notice.
7088
7089 2014-01-02 Tobias Burnus <burnus@net-b.de>
7090
7091 * libgomp.texi: Bump @copying's copyright year.
7092
7093 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
7094
7095 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
7096 alloca () with __builtin_alloca ().
7097 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
7098 * testsuite/libgomp.c/lock-3.c: Likewise.
7099 * testsuite/libgomp.c/pr48591.c: Likewise.
7100
7101 2013-12-17 Jakub Jelinek <jakub@redhat.com>
7102
7103 PR testsuite/59534
7104 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
7105 comparisons.
7106
7107 2013-12-16 Jakub Jelinek <jakub@redhat.com>
7108
7109 PR libgomp/58756
7110 * testsuite/libgomp.c/pr58756.c: New test.
7111
7112 2013-12-12 Jakub Jelinek <jakub@redhat.com>
7113
7114 PR libgomp/59467
7115 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
7116 !$omp parallel.
7117
7118 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
7119
7120 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
7121 ALWAYS_CFLAGS.
7122 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
7123 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
7124 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
7125 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
7126 Likewise.
7127
7128 * libgomp_g.h: Include <stddef.h> for size_t.
7129
7130 * libgomp.spec.in: Update comment about libgomp's dependencies.
7131 * configure.ac: Likewise.
7132 * configure: Regenerate.
7133
7134 2013-10-16 Tobias Burnus <burnus@net-b.de>
7135
7136 * libgomp.texi: (Runtime Library Routines): Update references for
7137 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
7138 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
7139 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
7140 (Environment Variables): Update references for OpenMP 4.0. Add
7141 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
7142 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
7143 order.
7144
7145 2013-10-14 Jakub Jelinek <jakub@redhat.com>
7146
7147 * env.c (parse_bind_var): Initialize value to avoid
7148 (false positive) warning.
7149
7150 2013-10-12 Jakub Jelinek <jakub@redhat.com>
7151
7152 PR libgomp/58691
7153 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
7154 to check variable.
7155 (gomp_init_num_threads): Move i variable declaration into
7156 #ifdef CPU_ALLOC_SIZE block.
7157 * config/linux/affinity.c (gomp_affinity_init_level): Test
7158 gomp_places_list_len == 0 rather than gomp_places_list == 0
7159 when checking for topology reading error.
7160 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
7161 * env.c (parse_affinity): Add ignore argument, if true, don't populate
7162 gomp_places_list, only parse env var and always return false.
7163 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
7164 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
7165 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
7166 and either of these variables were parsed correctly into a places
7167 list.
7168
7169 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
7170 Jakub Jelinek <jakub@redhat.com>
7171
7172 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
7173 of 5 loopfn matches.
7174 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7175 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7176 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
7177 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7178 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7179 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7180 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7181 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7182
7183 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
7184
7185 * Makefile.am (omp_lib.mod): Streamline rule.
7186 * Makefile.in: Regenerate.
7187
7188 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
7189 exceptions.
7190
7191 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
7192 * testsuite/libgomp.fortran/lib1.f90: Likewise.
7193 * testsuite/libgomp.fortran/lib2.f: Likewise.
7194 * testsuite/libgomp.fortran/lib3.f: Likewise.
7195
7196 * configure.ac: Typo fix.
7197 * configure: Regenerate.
7198
7199 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
7200 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
7201
7202 * omp.h.in: Don't touch the user's namespace.
7203
7204 2013-10-11 Jakub Jelinek <jakub@redhat.com>
7205 Tobias Burnus <burnus@net-b.de>
7206 Richard Henderson <rth@redhat.com>
7207
7208 * target.c: New file.
7209 * Makefile.am (libgomp_la_SOURCES): Add target.c.
7210 * Makefile.in: Regenerated.
7211 * libgomp_g.h (GOMP_task): Add depend argument.
7212 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
7213 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
7214 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
7215 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7216 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7217 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
7218 GOMP_taskgroup_start, GOMP_taskgroup_end,
7219 GOMP_parallel_sections): New prototypes.
7220 * fortran.c (omp_is_initial_device): Add ialias_redirect.
7221 (omp_is_initial_device_): New function.
7222 (ULP, STR1, STR2, ialias_redirect): Removed.
7223 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
7224 omp_set_default_device_8_, omp_get_default_device_,
7225 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
7226 functions.
7227 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
7228 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
7229 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
7230 @@GOMP_4.0.
7231 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
7232 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
7233 omp_set_default_device, omp_set_default_device_,
7234 omp_set_default_device_8_, omp_get_default_device,
7235 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
7236 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
7237 omp_get_team_num_): Export @@OMP_4.0.
7238 * team.c (struct gomp_thread_start_data): Add place field.
7239 (gomp_thread_start): Clear thr->thread_pool and
7240 thr->task before returning. Use gomp_team_barrier_wait_final
7241 instead of gomp_team_barrier_wait. Initialize thr->place.
7242 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
7243 team_cancelled and task_queued_count fields.
7244 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
7245 before calling pthread_exit.
7246 (gomp_free_thread): No longer static. Use
7247 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
7248 (gomp_team_start): Add flags argument. Set
7249 thr->thread_pool->threads_busy to nthreads immediately after creating
7250 new pool. Use gomp_managed_threads_lock instead of
7251 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
7252 (gomp_team_end): Use gomp_managed_threads_lock instead of
7253 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
7254 of gomp_team_barrier_wait. If team->team_cancelled, call
7255 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
7256 rather than thr->ts.work_share.
7257 (initialize_team): Don't call gomp_sem_init here.
7258 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
7259 caller.
7260 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
7261 * env.c (gomp_global_icv): Add default_device_var, target_data and
7262 bind_var initializers.
7263 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7264 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7265 gomp_places_list_len): New variables.
7266 (parse_bind_var, parse_one_place, parse_places_var): New functions.
7267 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
7268 sized places.
7269 (gomp_cancel_var): New global variable.
7270 (parse_int): New function.
7271 (handle_omp_display_env): New function.
7272 (initialize_env): Use it. Initialize default_device_var.
7273 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
7274 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
7275 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
7276 been successfully parsed (and call gomp_init_affinity in that case).
7277 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7278 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7279 omp_get_team_num, omp_is_initial_device): New functions.
7280 * libgomp.h: Include stdlib.h.
7281 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
7282 Define.
7283 (struct target_mem_desc): Forward declare.
7284 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
7285 and thread_limit_var fields.
7286 (gomp_get_num_devices): New prototype.
7287 (gomp_cancel_var): New extern decl.
7288 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
7289 team_cancelled and task_queued_count fields. Add comments about
7290 task_{,queued_,running_}count.
7291 (gomp_cancel_kind): New enum.
7292 (gomp_work_share_end_cancel): New prototype.
7293 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
7294 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
7295 and depend fields.
7296 (struct gomp_taskgroup): New type.
7297 (struct gomp_task_depend_entry,
7298 struct gomp_dependers_vec): New types.
7299 (gomp_finish_task): Free depend_hash if non-NULL.
7300 (struct gomp_team_state): Add place_partition_off
7301 and place_partition_len fields.
7302 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7303 gomp_places_list_len): New extern decls.
7304 (struct gomp_thread): Add place field.
7305 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7306 (gomp_init_thread_affinity): Add place argument.
7307 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7308 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7309 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7310 gomp_affinity_init_level, gomp_affinity_print_place): New
7311 prototypes.
7312 (gomp_team_start): Add flags argument.
7313 (gomp_thread_limit_var, gomp_remaining_threads_count,
7314 gomp_remaining_threads_lock): Remove.
7315 (gomp_managed_threads_lock): New variable.
7316 (struct gomp_thread_pool): Add threads_busy field.
7317 (gomp_free_thread): New prototype.
7318 * task.c: Include hashtab.h.
7319 (hash_entry_type): New typedef.
7320 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
7321 (gomp_init_task): Clear dependers, depend_hash, depend_count,
7322 copy_ctors_done and taskgroup fields.
7323 (GOMP_task): Add depend argument, handle depend clauses. If
7324 gomp_team_barrier_cancelled or if it's taskgroup has been
7325 cancelled, don't queue or start new tasks. Set copy_ctors_done
7326 field if needed. Initialize taskgroup field. If copy_ctors_done
7327 and already cancelled, don't discard the task. If taskgroup is
7328 non-NULL, enqueue the task into taskgroup queue. Increment
7329 num_children field in taskgroup. Increment task_queued_count.
7330 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
7331 gomp_task_run_post_remove_taskgroup): New inline functions.
7332 (gomp_task_run_post_handle_depend_hash,
7333 gomp_task_run_post_handle_dependers,
7334 gomp_task_run_post_handle_depend): New functions.
7335 (GOMP_taskwait): Use them. If more than one new tasks
7336 have been queued, wake other threads if needed.
7337 (gomp_barrier_handle_tasks): Likewise. If
7338 gomp_team_barrier_cancelled, don't start any new tasks, just free
7339 all tasks.
7340 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
7341 * omp_lib.f90.in
7342 (omp_proc_bind_kind, omp_proc_bind_false,
7343 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7344 omp_proc_bind_spread): New params.
7345 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7346 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7347 omp_get_team_num, omp_is_initial_device): New interfaces.
7348 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
7349 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
7350 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
7351 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
7352 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
7353 useless use omp_lib_kinds.
7354 * omp.h.in (omp_proc_bind_t): New typedef.
7355 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7356 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7357 omp_get_team_num, omp_is_initial_device): New prototypes.
7358 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
7359 through to gomp_team_start.
7360 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
7361 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
7362 Adjust gomp_parallel_loop_start callers.
7363 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7364 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7365 GOMP_loop_end_cancel): New functions.
7366 (GOMP_parallel_end): Add ialias_redirect.
7367 * hashtab.h: New file.
7368 * libgomp.texi (Environment Variables): Minor cleanup,
7369 update section refs to OpenMP 4.0rc2.
7370 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
7371 environment variables.
7372 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
7373 team->work_shares_to_free to thr->ts.work_share before calling
7374 free_work_share.
7375 (gomp_work_share_end_cancel): New function.
7376 * config/linux/proc.c: Include errno.h.
7377 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
7378 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
7379 sizeof (cpu_set_t) to determine number of iterations. Fix up check
7380 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
7381 gomp_cpuset_size is sizeof (cpu_set_t).
7382 (gomp_init_num_threads): Initialize gomp_cpuset_size,
7383 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
7384 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
7385 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
7386 contain any logical CPUs.
7387 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
7388 is NULL. Use gomp_cpusetp instead of &cpuset and pass
7389 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
7390 pthread_getaffinity_np. Check gomp_places_list instead of
7391 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
7392 * config/linux/bar.c (gomp_barrier_wait_end,
7393 gomp_barrier_wait_last): Use BAR_* defines.
7394 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
7395 from state where needed. Set work_share_cancelled to 0 on last
7396 thread.
7397 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
7398 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
7399 functions.
7400 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
7401 Add cpusetsize argument.
7402 (gomp_cpuset_size, gomp_cpusetp): Declare.
7403 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
7404 (affinity_counter): Remove.
7405 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
7406 if CPU_ALLOC_SIZE isn't defined.
7407 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
7408 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
7409 bind current thread to the first place.
7410 (gomp_init_thread_affinity): Rewritten. Add place argument, just
7411 pthread_setaffinity_np to gomp_places_list[place].
7412 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7413 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7414 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7415 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
7416 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7417 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7418 (gomp_barrier_t): Add awaited_final field.
7419 (gomp_barrier_init): Initialize awaited_final field.
7420 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
7421 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
7422 prototypes.
7423 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
7424 defines.
7425 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
7426 gomp_team_barrier_cancelled): New inline functions.
7427 (gomp_barrier_last_thread,
7428 gomp_team_barrier_set_task_pending,
7429 gomp_team_barrier_clear_task_pending,
7430 gomp_team_barrier_set_waiting_for_tasks,
7431 gomp_team_barrier_waiting_for_tasks,
7432 gomp_team_barrier_done): Use BAR_* defines.
7433 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
7434 (gomp_barrier_wait_end): Use BAR_* defines.
7435 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
7436 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
7437 Use BAR_* defines.
7438 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
7439 gomp_team_barrier_cancel): New functions.
7440 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
7441 argument.
7442 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7443 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7444 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7445 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
7446 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7447 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7448 (gomp_barrier_t): Add cancellable field.
7449 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
7450 gomp_team_barrier_cancel): New prototypes.
7451 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
7452 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
7453 gomp_team_barrier_cancelled): New inline functions.
7454 (gomp_barrier_wait_start, gomp_barrier_last_thread,
7455 gomp_team_barrier_set_task_pending,
7456 gomp_team_barrier_clear_task_pending,
7457 gomp_team_barrier_set_waiting_for_tasks,
7458 gomp_team_barrier_waiting_for_tasks,
7459 gomp_team_barrier_done): Use BAR_* defines.
7460 * barrier.c (GOMP_barrier_cancel): New function.
7461 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
7462 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7463 omp_proc_bind_spread): New params.
7464 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7465 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7466 omp_get_team_num, omp_is_initial_device): New externals.
7467 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
7468 New functions.
7469 (gomp_resolve_num_threads): Adjust for thread_limit now being in
7470 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
7471 infinity. If not nested, just return minimum of max_num_threads
7472 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
7473 to the returned value. Otherwise, don't update atomically
7474 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
7475 (GOMP_parallel_end): Adjust for thread_limit now being in
7476 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
7477 infinity. Adjust threads_busy in the pool rather than
7478 gomp_remaining_threads_count. Remember team->nthreads and call
7479 gomp_team_end before adjusting threads_busy, if not nested
7480 afterwards, just set it to 1 non-atomically. Add ialias.
7481 (GOMP_parallel_start): Adjust gomp_team_start caller.
7482 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
7483 * testsuite/libgomp.c/affinity-1.c: New test.
7484 * testsuite/libgomp.c/atomic-15.c: New test.
7485 * testsuite/libgomp.c/atomic-16.c: New test.
7486 * testsuite/libgomp.c/atomic-17.c: New test.
7487 * testsuite/libgomp.c/cancel-for-1.c: New test.
7488 * testsuite/libgomp.c/cancel-for-2.c: New test.
7489 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
7490 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
7491 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
7492 * testsuite/libgomp.c/cancel-sections-1.c: New test.
7493 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
7494 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
7495 * testsuite/libgomp.c/depend-1.c: New test.
7496 * testsuite/libgomp.c/depend-2.c: New test.
7497 * testsuite/libgomp.c/depend-3.c: New test.
7498 * testsuite/libgomp.c/depend-4.c: New test.
7499 * testsuite/libgomp.c/for-1.c: New test.
7500 * testsuite/libgomp.c/for-1.h: New file.
7501 * testsuite/libgomp.c/for-2.c: New test.
7502 * testsuite/libgomp.c/for-2.h: New file.
7503 * testsuite/libgomp.c/for-3.c: New test.
7504 * testsuite/libgomp.c/pr58392.c: New test.
7505 * testsuite/libgomp.c/simd-1.c: New test.
7506 * testsuite/libgomp.c/simd-2.c: New test.
7507 * testsuite/libgomp.c/simd-3.c: New test.
7508 * testsuite/libgomp.c/simd-4.c: New test.
7509 * testsuite/libgomp.c/simd-5.c: New test.
7510 * testsuite/libgomp.c/simd-6.c: New test.
7511 * testsuite/libgomp.c/target-1.c: New test.
7512 * testsuite/libgomp.c/target-2.c: New test.
7513 * testsuite/libgomp.c/target-3.c: New test.
7514 * testsuite/libgomp.c/target-4.c: New test.
7515 * testsuite/libgomp.c/target-5.c: New test.
7516 * testsuite/libgomp.c/target-6.c: New test.
7517 * testsuite/libgomp.c/target-7.c: New test.
7518 * testsuite/libgomp.c/taskgroup-1.c: New test.
7519 * testsuite/libgomp.c/thread-limit-1.c: New test.
7520 * testsuite/libgomp.c/thread-limit-2.c: New test.
7521 * testsuite/libgomp.c/thread-limit-3.c: New test.
7522 * testsuite/libgomp.c/udr-1.c: New test.
7523 * testsuite/libgomp.c/udr-2.c: New test.
7524 * testsuite/libgomp.c/udr-3.c: New test.
7525 * testsuite/libgomp.c++/affinity-1.C: New test.
7526 * testsuite/libgomp.c++/atomic-10.C: New test.
7527 * testsuite/libgomp.c++/atomic-11.C: New test.
7528 * testsuite/libgomp.c++/atomic-12.C: New test.
7529 * testsuite/libgomp.c++/atomic-13.C: New test.
7530 * testsuite/libgomp.c++/atomic-14.C: New test.
7531 * testsuite/libgomp.c++/atomic-15.C: New test.
7532 * testsuite/libgomp.c++/cancel-for-1.C: New test.
7533 * testsuite/libgomp.c++/cancel-for-2.C: New test.
7534 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
7535 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
7536 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
7537 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
7538 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
7539 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
7540 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
7541 * testsuite/libgomp.c++/cancel-test.h: New file.
7542 * testsuite/libgomp.c++/for-9.C: New test.
7543 * testsuite/libgomp.c++/for-10.C: New test.
7544 * testsuite/libgomp.c++/for-11.C: New test.
7545 * testsuite/libgomp.c++/simd-1.C: New test.
7546 * testsuite/libgomp.c++/simd-2.C: New test.
7547 * testsuite/libgomp.c++/simd-3.C: New test.
7548 * testsuite/libgomp.c++/simd-4.C: New test.
7549 * testsuite/libgomp.c++/simd-5.C: New test.
7550 * testsuite/libgomp.c++/simd-6.C: New test.
7551 * testsuite/libgomp.c++/simd-7.C: New test.
7552 * testsuite/libgomp.c++/simd-8.C: New test.
7553 * testsuite/libgomp.c++/target-1.C: New test.
7554 * testsuite/libgomp.c++/target-2.C: New test.
7555 * testsuite/libgomp.c++/target-2-aux.cc: New file.
7556 * testsuite/libgomp.c++/target-3.C: New test.
7557 * testsuite/libgomp.c++/taskgroup-1.C: New test.
7558 * testsuite/libgomp.c++/udr-1.C: New test.
7559 * testsuite/libgomp.c++/udr-2.C: New test.
7560 * testsuite/libgomp.c++/udr-3.C: New test.
7561 * testsuite/libgomp.c++/udr-4.C: New test.
7562 * testsuite/libgomp.c++/udr-5.C: New test.
7563 * testsuite/libgomp.c++/udr-6.C: New test.
7564 * testsuite/libgomp.c++/udr-7.C: New test.
7565 * testsuite/libgomp.c++/udr-8.C: New test.
7566 * testsuite/libgomp.c++/udr-9.C: New test.
7567
7568 2013-09-20 Jakub Jelinek <jakub@redhat.com>
7569
7570 PR testsuite/57605
7571 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
7572 ALWAYS_CFLAGS.
7573
7574 2013-09-20 Alan Modra <amodra@gmail.com>
7575
7576 * configure: Regenerate.
7577
7578 2013-09-19 Jakub Jelinek <jakub@redhat.com>
7579
7580 * testsuite/libgomp.c/sections-2.c: New test.
7581
7582 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
7583
7584 * testsuite/libgomp.fortran/strassen.f90:
7585 Add dg-skip-if aarch64_tiny.
7586
7587 2013-06-20 Iain Sandoe <iain@codesourcery.com>
7588 Cesar Philippidis <cesar@codesourcery.com>
7589
7590 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
7591 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
7592 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
7593 * testsuite/libgomp.fortran/fortran.exp: Likewise.
7594 * testsuite/libgomp.graphite/graphite.exp: Likewise.
7595 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
7596 Use dg-runtest rather than gfortran-dg-runtest.
7597
7598 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
7599
7600 * testsuite/libgomp.c/icv-2.c: Extend current handling of
7601 Linux-based x86 systems to cover all GNU systems.
7602 * testsuite/libgomp.c/lock-3.c: Likewise.
7603 * testsuite/libgomp.c/pr48591.c: Likewise.
7604
7605 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
7606
7607 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
7608 GNU/Hurd, as done for Linux-based systems.
7609
7610 * config/posix/ptrlock.h: Fix comment.
7611
7612 2013-05-27 Tobias Burnus <burnus@net-b.de>
7613
7614 PR fortran/57423
7615 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
7616 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
7617 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
7618 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
7619 omp_destroy_nest_lock): Correct arguments to match the one in
7620 the OpenMP spec.
7621 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
7622 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
7623 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
7624 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
7625
7626 2013-05-16 Jakub Jelinek <jakub@redhat.com>
7627
7628 * testsuite/libgomp.c/loop-13.c: New test.
7629 * testsuite/libgomp.c/loop-14.c: New test.
7630 * testsuite/libgomp.c/loop-15.c: New test.
7631 * testsuite/libgomp.c++/loop-13.C: New test.
7632 * testsuite/libgomp.c++/loop-14.C: New test.
7633 * testsuite/libgomp.c++/loop-15.C: New test.
7634
7635 2013-02-06 Jakub Jelinek <jakub@redhat.com>
7636
7637 PR middle-end/56217
7638 * testsuite/libgomp.c++/pr56217.C: New test.
7639
7640 2013-02-01 Alan Modra <amodra@gmail.com>
7641
7642 * task.c (GOMP_task, GOMP_taskwait): Comment.
7643
7644 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
7645 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
7646
7647 PR libgomp/55561
7648 * config/linux/wait.h (do_spin): Use atomic load for addr.
7649 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
7650 for intptr and ptrlock.
7651 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
7652 for ptrlock.
7653
7654 2013-01-22 Alan Modra <amodra@gmail.com>
7655
7656 PR libgomp/51376
7657 PR libgomp/56073
7658 * task.c (GOMP_task): Revert 2011-12-09 change.
7659 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
7660 barrier to read task->children..
7661 (gomp_barrier_handle_tasks): ..and matching atomic store with
7662 release barrier here when setting parent->children to NULL.
7663
7664 2013-01-16 Jakub Jelinek <jakub@redhat.com>
7665 Tobias Burnus <burnus@net-b.de>
7666
7667 PR driver/55884
7668 * testsuite/libgomp.fortran/fortran.exp: Use
7669 -fintrinsic-modules-path= instead of
7670 -fintrinsic-modules-path.
7671
7672 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
7673
7674 Update copyright years.
7675
7676 2012-12-19 Tobias Burnus <burnus@net-b.de>
7677
7678 * testsuite/libgomp.fortran/fortran.exp: Set
7679 -fintrinsic-modules-path.
7680
7681 2012-12-19 Tobias Burnus <burnus@net-b.de>
7682
7683 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
7684 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
7685
7686 2012-11-21 Jakub Jelinek <jakub@redhat.com>
7687
7688 PR libgomp/55411
7689 * team.c (gomp_free_thread): Decrease gomp_managed_threads
7690 if pool had any threads_used.
7691
7692 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
7693
7694 * testsuite/libgomp.c++/pr24455.C: Use
7695 -Wl,-undefined,dynamic_lookup on darwin.
7696
7697 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
7698
7699 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
7700
7701 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
7702
7703 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
7704
7705 2012-10-23 Ian Bolton <ian.bolton@arm.com>
7706 Jim MacArthur <jim.macarthur@arm.com>
7707 Marcus Shawcroft <marcus.shawcroft@arm.com>
7708 Nigel Stephens <nigel.stephens@arm.com>
7709 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7710 Richard Earnshaw <rearnsha@arm.com>
7711 Sofiane Naci <sofiane.naci@arm.com>
7712 Stephen Thomas <stephen.thomas@arm.com>
7713 Tejas Belagod <tejas.belagod@arm.com>
7714 Yufeng Zhang <yufeng.zhang@arm.com>
7715
7716 * configure.tgt: Add AArch64.
7717
7718 2012-10-04 Jason Merrill <jason@redhat.com>
7719
7720 * testsuite/libgomp.c++/tls-init1.C: New.
7721
7722 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
7723
7724 * configure: Regenerated.
7725
7726 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
7727
7728 * config/linux/mips/futex.h (sys_futex0): Change to static
7729 function with noinline, nomips16 attributes under MIPS16. Adjust
7730 asm statement to place 'li v0,SYS_futex' immediately before
7731 syscall insn.
7732
7733 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
7734
7735 * libgomp.texi (Library Index): Renamed from "Index" to prevent
7736 conflict with index.html on case-insensitive file systems.
7737
7738 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
7739
7740 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
7741 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
7742
7743 2012-07-02 Richard Guenther <rguenther@suse.de>
7744 Michael Matz <matz@suse.de>
7745 Tobias Grosser <tobias@grosser.es>
7746 Sebastian Pop <sebpop@gmail.com>
7747
7748 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
7749 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7750 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7751 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7752
7753 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
7754
7755 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
7756
7757 2012-06-22 Richard Guenther <rguenther@suse.de>
7758
7759 Merge from graphite branch
7760 2012-01-13 Tobias Grosser <tobias@grosser.es>
7761
7762 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
7763 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7764
7765 2012-06-07 Jakub Jelinek <jakub@redhat.com>
7766
7767 PR middle-end/53580
7768 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
7769 use GOMP_barrier () call instead.
7770 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7771 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7772 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
7773 call GOMP_barrier instead.
7774 * testsuite/libgomp.fortran/vla5.f90: Likewise.
7775
7776 2012-06-06 Jakub Jelinek <jakub@redhat.com>
7777
7778 PR libgomp/52993
7779 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
7780 argument to memset call.
7781
7782 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
7783
7784 * configure: Regenerated.
7785
7786 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7787
7788 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
7789
7790 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
7791
7792 PR bootstrap/52812
7793 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
7794
7795 2012-03-22 Jakub Jelinek <jakub@redhat.com>
7796
7797 PR middle-end/52547
7798 * testsuite/libgomp.c/pr52547.c: New test.
7799
7800 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7801
7802 * testsuite/lib/libgomp.exp: load fortran-modules.exp
7803
7804 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7805
7806 * configure.tgt (mips-sgi-irix6*): Remove.
7807
7808 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7809
7810 * configure.tgt (alpha*-dec-osf*): Remove.
7811
7812 * config/osf/sem.h: Remove.
7813 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
7814
7815 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
7816
7817 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
7818
7819 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7820
7821 PR libstdc++/52188
7822 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
7823 Remove ENABLE_SYMVERS_SOL2.
7824 * configure: Regenerate.
7825 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
7826 (PREPROCESS): New variable.
7827 (libgomp.ver): New target.
7828 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
7829 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
7830 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
7831 Use libgomp.ver.
7832 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
7833 * Makefile.in: Regenerate.
7834
7835 2012-02-14 Walter Lee <walt@tilera.com>
7836
7837 * configure.tgt: Handle tilegx and tilepro.
7838 * config/linux/tile/futex.h: New file.
7839
7840 2012-02-08 Richard Guenther <rguenther@suse.de>
7841
7842 PR tree-optimization/46886
7843 * testsuite/libgomp.c/pr46886.c: New testcase.
7844
7845 2012-01-25 Matthias Klose <doko@ubuntu.com>
7846
7847 * config/linux/arm: Remove empty directory.
7848 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
7849
7850 2011-12-09 Alan Modra <amodra@gmail.com>
7851
7852 PR libgomp/51376
7853 * task.c (GOMP_taskwait): Don't access task->children outside of
7854 task_lock mutex region.
7855 (GOMP_task): Likewise.
7856
7857 2011-12-06 Jakub Jelinek <jakub@redhat.com>
7858
7859 PR libgomp/51132
7860 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
7861 to file scope.
7862 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7863 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7864 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7865 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7866 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7867
7868 2011-12-02 Alan Modra <amodra@gmail.com>
7869
7870 * config/linux/affinity.c: Use atomic rather than sync builtin.
7871 * config/linux/lock.c: Likewise.
7872 * config/linux/ptrlock.h: Likewise.
7873 * config/linux/ptrlock.c: Likewise.
7874 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
7875 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
7876 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
7877 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
7878 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
7879 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
7880 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
7881 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
7882 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
7883 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
7884
7885 2011-11-30 Alan Modra <amodra@gmail.com>
7886
7887 PR libgomp/51298
7888 * config/linux/bar.h: Use atomic rather than sync builtins.
7889 * config/linux/bar.c: Likewise. Add missing acquire
7890 synchronisation on generation field.
7891 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
7892 double unlock.
7893
7894 2011-11-30 Alan Modra <amodra@gmail.com>
7895
7896 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
7897 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
7898 * config/linux/mutex.h: Use atomic rather than sync builtins.
7899 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
7900 * config/linux/omp-lock.h: Comment fix.
7901 * config/linux/arm/mutex.h: Delete.
7902 * config/linux/powerpc/mutex.h: Delete.
7903 * config/linux/ia64/mutex.h: Delete.
7904 * config/linux/mips/mutex.h: Delete.
7905
7906 2011-11-30 Alan Modra <amodra@gmail.com>
7907
7908 PR libgomp/51249
7909 * config/linux/sem.h: Rewrite.
7910 * config/linux/sem.c: Rewrite.
7911
7912 2011-11-28 Richard Henderson <rth@redhat.com>
7913
7914 * libgomp.h (enum memmodel): New.
7915
7916 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
7917
7918 * configure: Regenerate.
7919
7920 2011-10-10 Matthias Klose <doko@ubuntu.com>
7921
7922 * config/posix95: Remove empty directory.
7923
7924 2011-08-26 Jakub Jelinek <jakub@redhat.com>
7925
7926 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
7927
7928 2011-08-19 Jakub Jelinek <jakub@redhat.com>
7929
7930 PR fortran/49792
7931 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
7932 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
7933
7934 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7935
7936 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
7937
7938 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7939
7940 PR libgomp/49965
7941 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
7942
7943 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
7944
7945 * config/linux/proc.h: New.
7946 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
7947 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
7948 (gomp_init_num_threads): Update call to cpuset_popcount.
7949 (get_num_procs): Ditto.
7950 * config/linux/affinity.c (gomp_init_affinity): Call
7951 gomp_cpuset_popcount.
7952
7953 2011-08-02 Jakub Jelinek <jakub@redhat.com>
7954
7955 PR fortran/42041
7956 PR fortran/46752
7957 * omp.h.in (omp_in_final): New prototype.
7958 * omp_lib.f90.in (omp_in_final): New interface.
7959 (omp_integer_kind, omp_logical_kind): Remove
7960 and replace all its uses in the module with 4.
7961 (openmp_version): Change to 201107.
7962 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
7963 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
7964 kind for the parameters.
7965 (omp_in_final): New external.
7966 (openmp_version): Change to 201107.
7967 * task.c (omp_in_final): New function.
7968 (gomp_init_task): Initialize final_task.
7969 (GOMP_task): Remove unused attribute from flags. Handle final
7970 tasks.
7971 (GOMP_taskyield): New function.
7972 (omp_in_final): Return true if if (false) or final (true) task
7973 or descendant of final (true).
7974 * fortran.c (omp_in_final_): New function.
7975 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
7976 (GOMP_3.0): Export GOMP_taskyield.
7977 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
7978 variables.
7979 (parse_unsigned_long_list): New function.
7980 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
7981 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
7982 even if parse_affinity returned false.
7983 * config/linux/affinity.c (gomp_init_affinity): Handle
7984 gomp_cpu_affinity_len == 0.
7985 * libgomp_g.h (GOMP_taskyield): New prototype.
7986 * libgomp.h (struct gomp_task): Add final_task field.
7987 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
7988 * team.c (gomp_team_start): Override new task's nthreads_var icv
7989 if list form OMP_NUM_THREADS has been used and it has value for
7990 the new nesting level.
7991
7992 * testsuite/libgomp.c/atomic-11.c: New test.
7993 * testsuite/libgomp.c/atomic-12.c: New test.
7994 * testsuite/libgomp.c/atomic-13.c: New test.
7995 * testsuite/libgomp.c/atomic-14.c: New test.
7996 * testsuite/libgomp.c/reduction-6.c: New test.
7997 * testsuite/libgomp.c/task-5.c: New test.
7998 * testsuite/libgomp.c++/atomic-2.C: New test.
7999 * testsuite/libgomp.c++/atomic-3.C: New test.
8000 * testsuite/libgomp.c++/atomic-4.C: New test.
8001 * testsuite/libgomp.c++/atomic-5.C: New test.
8002 * testsuite/libgomp.c++/atomic-6.C: New test.
8003 * testsuite/libgomp.c++/atomic-7.C: New test.
8004 * testsuite/libgomp.c++/atomic-8.C: New test.
8005 * testsuite/libgomp.c++/atomic-9.C: New test.
8006 * testsuite/libgomp.c++/task-8.C: New test.
8007 * testsuite/libgomp.c++/reduction-4.C: New test.
8008 * testsuite/libgomp.fortran/allocatable7.f90: New test.
8009 * testsuite/libgomp.fortran/allocatable8.f90: New test.
8010 * testsuite/libgomp.fortran/crayptr3.f90: New test.
8011 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
8012 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
8013 * testsuite/libgomp.fortran/pointer1.f90: New test.
8014 * testsuite/libgomp.fortran/pointer2.f90: New test.
8015 * testsuite/libgomp.fortran/task4.f90: New test.
8016
8017 2011-08-02 Tobias Burnus <burnus@net-b.de>
8018
8019 * libgomp.texi: Update OpenMP spec references to 3.1.
8020 (omp_in_final,OMP_PROC_BIND): New sections.
8021 (OMP_NUM_THREADS): Document that the value can be now a list.
8022 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
8023
8024 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
8025
8026 * config/linux/x86/futex.h: Check __x86_64__ instead of
8027 __LP64__.
8028
8029 2011-07-29 Jakub Jelinek <jakub@redhat.com>
8030
8031 PR middle-end/49897
8032 PR middle-end/49898
8033 * testsuite/libgomp.c/pr49897-1.c: New test.
8034 * testsuite/libgomp.c/pr49897-2.c: New test.
8035 * testsuite/libgomp.c/pr49898-1.c: New test.
8036 * testsuite/libgomp.c/pr49898-2.c: New test.
8037
8038 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
8039
8040 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
8041 for ia32 instead of ilp32.
8042
8043 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
8044 * testsuite/libgomp.c/atomic-6.c: Likewise.
8045
8046 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
8047
8048 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
8049 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
8050
8051 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8052
8053 PR libgomp/45351
8054 * config/osf/sem.h: New file.
8055 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
8056
8057 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8058
8059 PR target/49541
8060 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
8061 ldflags.
8062
8063 2011-07-15 Jakub Jelinek <jakub@redhat.com>
8064
8065 * config/linux/wait.h (do_spin): New inline, largely copied
8066 from do_wait, just don't do futex_wait here, instead return true if
8067 it should be done.
8068 (do_wait): Implement using do_spin.
8069 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
8070 to prototype.
8071 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
8072 __sync_bool_compare_and_swap, pass the oldval to
8073 gomp_mutex_lock_slow.
8074 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
8075 If all mutex contenders are just spinning and not sleeping, don't
8076 change state to 2 unnecessarily. Optimize the loop when state has
8077 already become 2 to use just one atomic operation per loop instead
8078 of two.
8079 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
8080 to prototype.
8081 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
8082 __sync_bool_compare_and_swap, pass the oldval to
8083 gomp_mutex_lock_slow.
8084
8085 2011-06-22 Jakub Jelinek <jakub@redhat.com>
8086
8087 PR libgomp/49490
8088 * iter.c (gomp_iter_static_next): For chunk size 0
8089 only use n ceil/ nthreads size for the first
8090 n % nthreads threads in the team instead of
8091 all threads except for the last few ones which
8092 get less work or none at all.
8093 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
8094 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
8095 chunk argument, set run_sched_modifier to 0 for static
8096 resp. 1 for other kinds. If chunk argument is 0
8097 and not static, set value to 1.
8098
8099 2011-05-19 Jakub Jelinek <jakub@redhat.com>
8100
8101 PR c++/49043
8102 * testsuite/libgomp.c++/pr49043.C: New test.
8103
8104 PR c++/48869
8105 * testsuite/libgomp.c++/pr48869.C: New test.
8106
8107 2011-05-06 Jakub Jelinek <jakub@redhat.com>
8108
8109 PR fortran/48894
8110 * fortran.c: Include limits.h.
8111 (TO_INT): Define.
8112 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
8113 *set.
8114 (omp_set_num_threads_8_, omp_set_schedule_8_,
8115 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
8116 omp_get_team_size_8_): Use TO_INT macro.
8117 * testsuite/libgomp.fortran/pr48894.f90: New test.
8118
8119 2011-04-13 Jakub Jelinek <jakub@redhat.com>
8120
8121 PR middle-end/48591
8122 * testsuite/libgomp.c/pr48591.c: New test.
8123
8124 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8125
8126 PR bootstrap/48135
8127 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
8128 * configure: Regenerate.
8129
8130 2011-02-27 Jakub Jelinek <jakub@redhat.com>
8131
8132 PR fortran/47886
8133 * testsuite/libgomp.fortran/task3.f90: New test.
8134
8135 2011-02-24 Tobias Burnus <burnus@net-b.de>
8136
8137 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
8138
8139 2011-02-23 Jakub Jelinek <jakub@redhat.com>
8140
8141 PR libgomp/47854
8142 * libgomp.texi (omp_get_wtime): Don't say time in the past
8143 must be Unix Epoch.
8144
8145 2011-02-18 Jakub Jelinek <jakub@redhat.com>
8146
8147 PR libgomp/47804
8148 * testsuite/libgomp.fortran/fortran.exp: Check for both
8149 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
8150 but $blddir != "", still append ${blddir}/${lang_library_path}
8151 to ld_library_path.
8152
8153 2011-02-16 Tobias Burnus <burnus@net-b.de>
8154
8155 PR libgomp/47758
8156 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
8157 of libquadmath.a before adding its libpath to ldflags.
8158
8159 2011-02-14 Jakub Jelinek <jakub@redhat.com>
8160
8161 PR libgomp/47731
8162 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
8163 to FUTEX_WAIT futex syscall.
8164 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
8165
8166 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8167
8168 * configure: Regenerate.
8169
8170 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
8171
8172 PR libstdc++/36104
8173 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
8174
8175 2011-01-16 Gerald Pfeifer
8176
8177 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
8178
8179 2010-12-14 Jakub Jelinek <jakub@redhat.com>
8180
8181 PR fortran/46874
8182 * libgomp.fortran/allocatable6.f90: New test.
8183
8184 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8185
8186 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
8187 * configure: Regenerate.
8188
8189 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
8190
8191 PR target/40125
8192 PR lto/46695
8193 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
8194 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
8195 * aclocal.m4: Regenerate.
8196 * configure: Regenerate.
8197 * Makefile.in: Regenerate.
8198 * testsuite/Makefile.in: Regenerate.
8199
8200 2010-12-02 Jakub Jelinek <jakub@redhat.com>
8201
8202 PR fortran/46753
8203 * libgomp.fortran/pr46753.f90: New test.
8204
8205 PR libgomp/43706
8206 * env.c (initialize_env): Default to spin count 300000
8207 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
8208 is specified.
8209
8210 PR libgomp/45240
8211 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
8212 at the end if sync builtins aren't supported.
8213
8214 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8215
8216 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
8217
8218 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8219
8220 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
8221
8222 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
8223
8224 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
8225
8226 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8227 Tobias Burnus <burnus@net-b.de>
8228
8229 PR fortran/32049
8230 * configure.ac:
8231 * configure: Regenerate.
8232
8233 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
8234
8235 * config/linux/futex.h: New.
8236 * config/linux/arm/mutex.h: New.
8237 * configure.tgt (arm*-*-linux*): Add config path.
8238
8239 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
8240
8241 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8242
8243 2010-09-23 Tobias Burnus <burnus@net-b.de>
8244
8245 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
8246 Change Fortran datatype to LOGICAL.
8247 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
8248 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
8249
8250 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8251
8252 * configure: Regenerate.
8253
8254 2010-07-26 Jakub Jelinek <jakub@redhat.com>
8255
8256 * libgomp.texi: Add function keyword to a couple of Fortran
8257 interfaces, use integer instead of int for Fortran.
8258
8259 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
8260
8261 * libgomp.texi: Fix spelling and pasto problems throughout.
8262 Adjust prototypes to match code.
8263
8264 2010-07-24 Tobias Burnus <burnus@net-b.de>
8265
8266 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
8267 silence -fwhole-file warning.
8268
8269 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8270
8271 * configure.tgt (*-*-solaris2.[56]*): Removed.
8272
8273 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8274
8275 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
8276 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
8277 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
8278 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
8279 targetting solaris2*.
8280 * configure: Regenerate.
8281 * config.h.in: Regenerate.
8282
8283 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
8284 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
8285 Add libgomp_version_dep.
8286 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
8287 versioning.
8288 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
8289 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
8290 * Makefile.in: Regenerate.
8291
8292 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
8293 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8294 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
8295 to common block, protected by
8296 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8297
8298 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
8299
8300 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
8301
8302 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
8303
8304 PR bootstrap/43170
8305 * configure: Regenerate.
8306
8307 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8308
8309 PR other/43620
8310 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
8311 * configure: Regenerate.
8312 * Makefile.in: Regenerate.
8313 * testsuite/Makefile.in: Regenerate.
8314
8315 2010-04-26 Jakub Jelinek <jakub@redhat.com>
8316
8317 PR c/43893
8318 * testsuite/libgomp.c/pr43893.c: New test.
8319 * testsuite/libgomp.c++/pr43893.C: New test.
8320
8321 2010-04-21 Jakub Jelinek <jakub@redhat.com>
8322
8323 PR middle-end/43570
8324 * testsuite/libgomp.fortran/vla8.f90: New test.
8325
8326 2010-04-20 Jakub Jelinek <jakub@redhat.com>
8327
8328 PR libgomp/43706
8329 * config/linux/affinity.c (gomp_init_affinity): Decrease
8330 gomp_available_cpus if affinity mask confines the process to fewer
8331 CPUs.
8332 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
8333 non-NULL, just return gomp_available_cpus.
8334
8335 PR libgomp/43569
8336 * sections.c (gomp_sections_init): Initialize ws->mode.
8337
8338 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
8339
8340 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
8341 not unused bar variable.
8342 * configure: Regenerate.
8343
8344 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8345
8346 * Makefile.in: Regenerate.
8347 * aclocal.m4: Regenerate.
8348 * testsuite/Makefile.in: Regenerate.
8349
8350 2010-03-22 Jakub Jelinek <jakub@redhat.com>
8351
8352 PR libgomp/42942
8353 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
8354 (initialize_env): Adjust callers.
8355 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
8356 when the argument is 0.
8357
8358 * testsuite/libgomp.c/pr42942.c: New test.
8359
8360 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
8361
8362 PR middle-end/42644
8363 PR middle-end/42130
8364 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8365 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
8366
8367 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8368
8369 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
8370 * testsuite/libgomp.c++/task-6.C: Likewise.
8371
8372 2010-01-28 Steve Ellcey <sje@cup.hp.com>
8373
8374 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
8375
8376 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
8377
8378 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
8379 * configure: Regenerate.
8380
8381 2010-01-26 Jakub Jelinek <jakub@redhat.com>
8382
8383 PR fortran/42866
8384 * testsuite/libgomp.fortran/allocatable5.f90: New test.
8385
8386 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
8387
8388 * configure.ac: Test for executability of GFORTRAN.
8389 * configure: Regenerate.
8390
8391 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8392
8393 * configure: Regenerate.
8394
8395 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
8396
8397 PR libgomp/42602
8398 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
8399
8400 2010-01-03 Richard Guenther <rguenther@suse.de>
8401
8402 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
8403
8404 2009-12-23 Sebastian Pop <sebpop@gmail.com>
8405
8406 * testsuite/libgomp.graphite/pr4118.c: New.
8407
8408 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8409
8410 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
8411 for darwin, protect the test with require-effective-target tls_runtime.
8412 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
8413
8414 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8415
8416 PR target/41605
8417 * testsuite/lib/libgomp.exp: Provide -B options to allow for
8418 link spec %s substitutions for static libraries.
8419
8420 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
8421
8422 PR testsuite/42135
8423 * libgomp.graphite/force-parallel-2.c: Reduce array size.
8424
8425 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8426
8427 * Makefile.in: Regenerate.
8428 * configure: Regenerate.
8429 * testsuite/Makefile.in: Regenerate.
8430
8431 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
8432
8433 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
8434 settings for LC_ALL and LANG.
8435
8436 2009-11-25 Jakub Jelinek <jakub@redhat.com>
8437
8438 PR fortran/42162
8439 * testsuite/libgomp.fortran/pr42162.f90: New test.
8440
8441 2009-11-13 Jakub Jelinek <jakub@redhat.com>
8442
8443 PR middle-end/42029
8444 * testsuite/libgomp.c/pr42029.c: New test.
8445
8446 2009-10-26 Jakub Jelinek <jakub@redhat.com>
8447
8448 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
8449 *s. Accept ld version without text in ()s.
8450 * configure: Regenerated.
8451
8452 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
8453
8454 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
8455
8456 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8457
8458 PR libgomp/41418
8459 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
8460 or a hyphen (happens with fortran language disabled).
8461 * configure: Regenerate.
8462
8463 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8464
8465 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
8466 use sed script portable to Solaris /bin/sed for extracting ld
8467 version.
8468 * configure: Regenerate.
8469
8470 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
8471
8472 * testsuite/libgomp.graphite/bounds.c: New test.
8473
8474 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8475
8476 * Makefile.am (libgomp_la_LINK): New.
8477 * Makefile.in: Regenerate.
8478
8479 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8480
8481 * configure.ac (AC_PREREQ): Bump to 2.64.
8482
8483 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8484
8485 * Makefile.am (install-html, install-pdf): Remove.
8486 * Makefile.in: Regenerate.
8487
8488 * Makefile.in: Regenerate.
8489 * aclocal.m4: Regenerate.
8490 * config.h.in: Regenerate.
8491 * configure: Regenerate.
8492 * testsuite/Makefile.in: Regenerate.
8493
8494 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8495
8496 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
8497 * Makefile.in: Regenerate.
8498
8499 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
8500
8501 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
8502 * Makefile.in: Regenerate.
8503
8504 2009-08-19 Tobias Burnus <burnus@net-b.de>
8505
8506 PR fortran/41102
8507 omp_lib.h.in: Fix -std=f95 errors.
8508
8509 2009-08-14 David Edelsohn <edelsohn@gnu.org>
8510
8511 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
8512 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
8513 * testsuite/libgomp.graphite/graphite.exp: New.
8514
8515 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
8516
8517 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
8518 only build.
8519
8520 2009-08-04 David Daney <ddaney@caviumnetworks.com>
8521
8522 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
8523 needed memory barrier semantics.
8524 * config/linux/mips/mutex.h: New file.
8525
8526 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8527
8528 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
8529
8530 2009-07-16 Joseph Myers <joseph@codesourcery.com>
8531
8532 * configure: Regenerate.
8533
8534 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
8535
8536 PR testsuite/40699
8537 PR testsuite/40707
8538 PR testsuite/40709
8539 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
8540 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
8541 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
8542
8543 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
8544
8545 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
8546 options when choosing a multilib.
8547
8548 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
8549
8550 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
8551 ld_library_path. Use add_path. Add just find_libgcc_s to
8552 ld_library_path, not every libgcc multilib directory.
8553 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
8554 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
8555 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
8556 Use add_path.
8557 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
8558
8559 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
8560
8561 * Makefile.am (LTLDFLAGS): Define.
8562 (LINK): Define.
8563 * Makefile.in: Regenerate.
8564
8565 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
8566
8567 PR fortran/39718
8568 * testsuite/libgomp.fortran/fortran.exp: Don't link with
8569 libgfortranbegin, check existence of libgfortran.a instead of
8570 libgfortranbegin.a.
8571
8572 2009-05-20 Jakub Jelinek <jakub@redhat.com>
8573
8574 PR libgomp/40174
8575 * team.c (gomp_thread_start): Destroy thr->release semaphore.
8576 (gomp_free_pool_helper): Likewise.
8577
8578 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
8579 Jakub Jelinek <jakub@redhat.com>
8580
8581 PR fortran/35423
8582 * testsuite/libgomp.fortran/workshare2.f90: New test.
8583
8584 2009-04-09 Nick Clifton <nickc@redhat.com>
8585
8586 * iter.c: Change copyright header to refer to version 3 of the
8587 GNU General Public License with version 3.1 of the GCC Runtime
8588 Library Exception and to point readers at the COPYING3 and
8589 COPYING3.RUNTIME files and the FSF's license web page.
8590 * alloc.c: Likewise.
8591 * barrier.c: Likewise.
8592 * config/bsd/proc.c: Likewise.
8593 * config/linux/affinity.c: Likewise.
8594 * config/linux/alpha/futex.h: Likewise.
8595 * config/linux/bar.c: Likewise.
8596 * config/linux/bar.h: Likewise.
8597 * config/linux/ia64/futex.h: Likewise.
8598 * config/linux/ia64/mutex.h: Likewise.
8599 * config/linux/lock.c: Likewise.
8600 * config/linux/mips/futex.h: Likewise.
8601 * config/linux/mutex.c: Likewise.
8602 * config/linux/mutex.h: Likewise.
8603 * config/linux/powerpc/futex.h: Likewise.
8604 * config/linux/proc.c: Likewise.
8605 * config/linux/ptrlock.c: Likewise.
8606 * config/linux/ptrlock.h: Likewise.
8607 * config/linux/s390/futex.h: Likewise.
8608 * config/linux/sem.c: Likewise.
8609 * config/linux/sem.h: Likewise.
8610 * config/linux/sparc/futex.h: Likewise.
8611 * config/linux/wait.h: Likewise.
8612 * config/linux/x86/futex.h: Likewise.
8613 * config/mingw32/proc.c: Likewise.
8614 * config/mingw32/time.c: Likewise.
8615 * config/posix/affinity.c: Likewise.
8616 * config/posix/bar.c: Likewise.
8617 * config/posix/bar.h: Likewise.
8618 * config/posix/lock.c: Likewise.
8619 * config/posix/mutex.h: Likewise.
8620 * config/posix/proc.c: Likewise.
8621 * config/posix/ptrlock.h: Likewise.
8622 * config/posix/sem.c: Likewise.
8623 * config/posix/sem.h: Likewise.
8624 * config/posix/time.c: Likewise.
8625 * config/posix95/lock.c: Likewise.
8626 * critical.c: Likewise.
8627 * env.c: Likewise.
8628 * error.c: Likewise.
8629 * fortran.c: Likewise.
8630 * iter_ull.c: Likewise.
8631 * libgomp.h: Likewise.
8632 * libgomp_f.h.in: Likewise.
8633 * libgomp_g.h: Likewise.
8634 * loop.c: Likewise.
8635 * loop_ull.c: Likewise.
8636 * omp.h.in: Likewise.
8637 * omp_lib.f90.in: Likewise.
8638 * omp_lib.h.in: Likewise.
8639 * ordered.c: Likewise.
8640 * parallel.c: Likewise.
8641 * sections.c: Likewise.
8642 * single.c: Likewise.
8643 * task.c: Likewise.
8644 * team.c: Likewise.
8645 * work.c: Likewise.
8646
8647 2009-04-09 Jakub Jelinek <jakub@redhat.com>
8648
8649 * testsuite/config/default.exp: Change copyright header to refer to
8650 version 3 of the GNU General Public License and to point readers
8651 at the COPYING3 file and the FSF's license web page.
8652
8653 2009-04-08 Jakub Jelinek <jakub@redhat.com>
8654
8655 PR middle-end/39573
8656 * libgomp.c++/pr39573.C: New test.
8657
8658 2009-04-01 Jakub Jelinek <jakub@redhat.com>
8659
8660 PR other/39591
8661 * testsuite/libgomp.c/pr39591-1.c: New test.
8662 * testsuite/libgomp.c/pr39591-2.c: New test.
8663 * testsuite/libgomp.c/pr39591-3.c: New test.
8664
8665 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
8666
8667 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
8668 * testsuite/libgomp.c/atomic-6.c: Ditto.
8669
8670 2009-03-23 Jakub Jelinek <jakub@redhat.com>
8671
8672 PR c/39495
8673 * testsuite/libgomp.c/loop-12.c: New test.
8674 * testsuite/libgomp.c/loop-11.c: New test.
8675 * testsuite/libgomp.c++/loop-11.C: New test.
8676 * testsuite/libgomp.c++/loop-12.C: New test.
8677 * testsuite/libgomp.c++/for-8.C: New test.
8678
8679 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8680
8681 * configure: Regenerate.
8682
8683 2009-02-11 Jakub Jelinek <jakub@redhat.com>
8684
8685 PR middle-end/39154
8686 * testsuite/libgomp.c/pr39154.c: New test.
8687
8688 2009-01-30 Ian Lance Taylor <iant@google.com>
8689
8690 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
8691 libgomp_ld_is_gold. Get gold version number.
8692 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
8693 * configure: Rebuild.
8694
8695 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8696
8697 * testsuite/lib/libgomp.exp: Add -B option for targets that
8698 use libgfortran.a%s in their specs.
8699
8700 2009-01-07 Jakub Jelinek <jakub@redhat.com>
8701
8702 PR libgomp/38086
8703 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
8704 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
8705 HAVE_AS_SYMVER_DIRECTIVE is not defined.
8706 * configure: Regenerated.
8707 * config.h.in: Likewise.
8708
8709 2008-12-28 Jakub Jelinek <jakub@redhat.com>
8710
8711 PR c++/38650
8712 * testsuite/libgomp.c/pr38650.c: New test.
8713 * testsuite/libgomp.c++/pr38650.C: New test.
8714
8715 2008-12-27 Jakub Jelinek <jakub@redhat.com>
8716
8717 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
8718
8719 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
8720
8721 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
8722
8723 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8724
8725 * configure: Regenerate.
8726
8727 2008-12-08 Jakub Jelinek <jakub@redhat.com>
8728
8729 PR middle-end/36802
8730 * testsuite/libgomp.c/pr36802-1.c: New test.
8731 * testsuite/libgomp.c/pr36802-2.c: New test.
8732 * testsuite/libgomp.c/pr36802-3.c: New test.
8733
8734 2008-12-01 Janis Johnson <janis187@us.ibm.com>
8735
8736 PR libgomp/38270
8737 * config/linux/powerpc/mutex.h: New.
8738
8739 2008-12-01 Jakub Jelinek <jakub@redhat.com>
8740
8741 PR c++/38257
8742 * testsuite/libgomp.c++/for-7.C: New test.
8743
8744 PR c++/38348
8745 * testsuite/libgomp.c++/for-6.C: New test.
8746
8747 2008-11-26 Janis Johnson <janis187@us.ibm.com>
8748
8749 PR testsuite/28870
8750 * testsuite/lib/libgomp.exp: Include new timeout library files.
8751 (libgomp_target_compile): Set timeout value from new proc.
8752
8753 2008-11-13 Steve Ellcey <sje@cup.hp.com>
8754
8755 PR libgomp/37938
8756 * config/linux/ia64/mutex.h: New.
8757
8758 2008-11-04 Tobias Burnus <burnus@net-b.de>
8759
8760 PR libgomp/37935
8761 * libgomp.texi (Runtime library routines, environment variables):
8762 Update for OpenMP version 3.0.
8763
8764 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
8765 Steve Ellcey <sje@cup.hp.com>
8766
8767 * configure: Regenerate for new libtool.
8768 * Makefile.in: Ditto.
8769 * testsuite/Makefile.in: Ditto.
8770
8771 2008-09-19 Jakub Jelinek <jakub@redhat.com>
8772 Andreas Tobler <a.tobler@schweiz.org>
8773
8774 * config/bsd/proc.c: New file.
8775 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
8776 * configure.ac: Check for header <sys/sysctl.h>
8777 * configure: Regenerate.
8778 * config.h.in: Likewise.
8779
8780 2008-09-05 Janis Johnson <janis187@us.ibm.com>
8781
8782 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
8783
8784 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
8785
8786 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
8787 * Makefile.in: Regenerated.
8788 * testsuite/Makefile.in: Regenerated.
8789
8790 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8791
8792 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8793 depend on blddir if blddir exists.
8794 (libgomp_target_compile): Likewise.
8795 * testsuite/libgomp.c++/c++.exp: Likewise.
8796 * testsuite/libgomp.fortran/fortran.exp: Likewise.
8797
8798 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8799
8800 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
8801 Do not list GPL as Invariant Section.
8802
8803 2008-07-28 Ilie Garbacea <ilie@mips.com>
8804 Chao-ying Fu <fu@mips.com>
8805
8806 * configure.tgt: Enable futex for MIPS.
8807 * config/linux/mips/futex.h: New file.
8808
8809 2008-07-16 Jakub Jelinek <jakub@redhat.com>
8810
8811 * team.c (gomp_team_end): Free team immediately if it has
8812 just one thread.
8813
8814 2008-07-08 David Edelsohn <edelsohn@gnu.org>
8815
8816 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
8817 * testsuite/libgomp.fortran/fortran.exp: Same.
8818 * testsuite/libgomp.c/c.exp: Same.
8819 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
8820 directory to library path first.
8821
8822 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
8823
8824 * env.c (parse_stacksize): Add cast to avoid warning.
8825 (parse_spincount): Likewise.
8826
8827 2008-06-27 Jakub Jelinek <jakub@redhat.com>
8828
8829 * testsuite/libgomp.c/loop-10.c: New test.
8830 * libgomp.c/loop-3.c (main): Add lastprivate clause.
8831 * libgomp.c++/loop-6.C (main): Likewise.
8832
8833 PR debug/36617
8834 * testsuite/libgomp.c/debug-1.c: New test.
8835
8836 2008-06-19 Jakub Jelinek <jakub@redhat.com>
8837
8838 * testsuite/libgomp.c/nqueens-1.c: New test.
8839
8840 PR c++/36523
8841 * testsuite/libgomp.c++/task-7.C: New function.
8842
8843 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8844
8845 * configure: Regenerate.
8846
8847 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8848
8849 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
8850 mutex when HAVE_SYNC_BUILTINS isn't defined.
8851
8852 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8853
8854 * libgomp.texi (omp_test_lock): Fix typo.
8855
8856 2008-06-12 Tobias Burnus <burnus@net-b.de>
8857
8858 * omp_lib.f90.in: Add "implicit none".
8859
8860 2008-06-12 Jakub Jelinek <jakub@redhat.com>
8861
8862 PR middle-end/36506
8863 * testsuite/libgomp.c/reduction-5.c: New test.
8864
8865 2008-06-11 Jakub Jelinek <jakub@redhat.com>
8866
8867 * libgomp.h (struct gomp_task): Add in_tied_task field.
8868 * task.c (gomp_init_task): Initialize it.
8869 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
8870 unconditionally. Don't call gomp_team_barrier_wake if
8871 current task is implicit or if(0) from implicit and number of
8872 running tasks is equal to nthreads - 1.
8873
8874 PR libgomp/36471
8875 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
8876 omp_get_team_size_8): Fix pastos.
8877
8878 PR libgomp/36469
8879 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
8880 * configure: Regenerated.
8881 * config.h.in: Regenerated.
8882 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
8883 defined.
8884
8885 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
8886
8887 PR bootstrap/36452
8888 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
8889 (GOMP_loop_ull_dynamic_start): Likewise.
8890 (GOMP_loop_ull_guided_start): Likewise.
8891 (GOMP_loop_ull_ordered_static_start): Likewise.
8892 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
8893 (GOMP_loop_ull_ordered_guided_start): Likewise.
8894
8895 2008-06-06 Jakub Jelinek <jakub@redhat.com>
8896 Richard Henderson <rth@redhat.com>
8897 Ulrich Drepper <drepper@redhat.com>
8898 Jakob Blomer <jakob.blomer@ira.uka.de>
8899
8900 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
8901 Substitute also OMP_*LOCK_25*.
8902 * configure: Regenerated.
8903 * config.h.in: Regenerated.
8904 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
8905 ptrlock.c and task.c.
8906 * Makefile.in: Regenerated.
8907 * testsuite/Makefile.in: Regenerated.
8908 * task.c: New file.
8909 * loop_ull.c: New file.
8910 * iter_ull.c: New file.
8911 * libgomp.h: Include ptrlock.h.
8912 (enum gomp_task_kind): New type.
8913 (struct gomp_team): Add task_lock, task_queue, task_count,
8914 task_running_count, single_count fields. Add
8915 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
8916 Remove work_share_lock, generation_mask,
8917 oldest_live_gen, num_live_gen and init_work_shares fields, add
8918 work work_share_list_alloc, work_share_list_free and work_share_chunk
8919 fields. Change work_shares from pointer to pointers into an array.
8920 Change ordered_release field into gomp_sem_t ** from flexible array
8921 member. Add implicit_task and initial_work_shares fields.
8922 Move close to the end of the struct.
8923 (struct gomp_team_state): Add single_count, last_work_share,
8924 active_level and level fields, remove work_share_generation.
8925 (gomp_barrier_handle_tasks): New prototype.
8926 (gomp_finish_task): New inline function.
8927 (struct gomp_work_share): Move chunk_size, end, incr into
8928 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
8929 next_ll fields. Reshuffle fields. Add next_alloc,
8930 next_ws, next_free and inline_ordered_team_ids fields, change
8931 ordered_team_ids into pointer from flexible array member.
8932 Add mode field. Put lock and next into a different cache line
8933 from most of the write-once fields.
8934 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
8935 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
8936 gomp_iter_ull_guided_next): New prototypes.
8937 (gomp_new_icv): New prototype.
8938 (struct gomp_thread): Add thread_pool and task fields.
8939 (struct gomp_thread_pool): New type.
8940 (gomp_new_team): New prototype.
8941 (gomp_team_start): Change type of last argument.
8942 (gomp_new_work_share): Removed.
8943 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
8944 (gomp_work_share_init_done): New static inline.
8945 (gomp_throttled_spin_count_var, gomp_available_cpus,
8946 gomp_managed_threads): New extern decls.
8947 (gomp_init_task): New prototype.
8948 (gomp_spin_count_var): New extern var decl.
8949 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
8950 or no alias support, or if not PIC.
8951 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
8952 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
8953 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
8954 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
8955 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
8956 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
8957 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
8958 gomp_test_nest_lock_25): New prototypes.
8959 (omp_lock_symver, strong_alias): Define.
8960 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
8961 decls.
8962 (gomp_end_task): New.
8963 (struct gomp_task_icv, gomp_global_icv): New.
8964 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
8965 (struct gomp_task): New.
8966 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
8967 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
8968 (gomp_icv): New.
8969 (gomp_schedule_type): Reorder enum to match
8970 omp_sched_t.
8971 * team.c (struct gomp_thread_start_data): Add thread_pool and task
8972 fields.
8973 (gomp_thread_start): Add gomp_team_barrier_wait call.
8974 For non-nested case remove clearing of docked thread thr fields.
8975 Use pool fields instead of global gomp_* variables. Use
8976 gomp_barrier_wait_last when needed. Initialize ts.active_level.
8977 Create tasks for each member thread.
8978 (free_team): Only destroy team barrier, task_lock here and free it.
8979 (gomp_free_thread): Free last_team if non-NULL.
8980 (gomp_team_end): Call gomp_team_barrier_wait instead of
8981 gomp_barrier_wait. For nested case call one extra
8982 gomp_barrier_wait. Move here some destruction from free_team.
8983 Call free_team on pool->last_team if any, rather than freeing
8984 current team. Destroy work_share_list_free_lock ifndef
8985 HAVE_SYNC_BUILTINS.
8986 (gomp_new_icv): New function.
8987 (gomp_threads, gomp_threads_size, gomp_threads_used,
8988 gomp_threads_dock): Removed.
8989 (gomp_thread_destructor): New variable.
8990 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
8991 functions.
8992 (gomp_team_start): Create new pool if current thread doesn't have
8993 one. Use pool fields instead of global gomp_* variables.
8994 Initialize thread_pool field for new threads. Clear single_count.
8995 Change last argument from ws to team, don't create
8996 new team, set ts.work_share to &team->work_shares[0] and clear
8997 ts.last_work_share. Don't clear ts.work_share_generation.
8998 If number of threads changed, adjust atomically gomp_managed_threads.
8999 Use gomp_init_task instead of gomp_new_task,
9000 set thr->task to the corresponding implicit_task array entry.
9001 Create tasks for each member thread. Initialize ts.level.
9002 (initialize_team): Call pthread_key_create on
9003 gomp_thread_destructor.
9004 (team_destructor): New function.
9005 (new_team): Removed.
9006 (gomp_new_team): New function.
9007 (free_team): Free gomp_work_share blocks chained through next_alloc,
9008 instead of freeing work_shares and destroying work_share_lock.
9009 (gomp_team_end): Call gomp_fini_work_share. If number of threads
9010 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
9011 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
9012 of gomp_barrier_wait.
9013 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
9014 instead of gomp_barrier_wait. Call gomp_work_share_init_done
9015 if gomp_work_share_start returned true. Don't unlock ws->lock.
9016 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
9017 of gomp_barrier_wait.
9018 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
9019 gomp_work_share_init_done if gomp_work_share_start returned true.
9020 Don't unlock ws->lock.
9021 * work.c: Include stddef.h.
9022 (free_work_share): Use work_share_list_free_lock instead
9023 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
9024 Call gomp_fini_work_share and then either free ws if orphaned, or
9025 put it into work_share_list_free list of the current team.
9026 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
9027 functions.
9028 (gomp_work_share_start, gomp_work_share_end,
9029 gomp_work_share_end_nowait): Rewritten.
9030 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
9031 (openmp_version): Set to 200805.
9032 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
9033 omp_sched_guided, omp_sched_auto): New parameters.
9034 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9035 omp_set_max_active_levels, omp_get_max_active_levels,
9036 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9037 omp_get_active_level): New interfaces.
9038 * omp_lib.h.in (openmp_version): Set to 200805.
9039 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
9040 omp_sched_guided, omp_sched_auto): New parameters.
9041 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9042 omp_set_max_active_levels, omp_get_max_active_levels,
9043 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9044 omp_get_active_level): New externals.
9045 * loop.c: Include limits.h.
9046 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
9047 GFS_AUTO.
9048 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
9049 Likewise. Use gomp_icv.
9050 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
9051 ts.static_trip here.
9052 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
9053 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
9054 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
9055 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
9056 don't unlock ws->lock, otherwise lock it.
9057 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
9058 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
9059 (gomp_parallel_loop_start): Call gomp_new_team instead of
9060 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
9061 Adjust gomp_team_start caller. Pass 0 as second argument to
9062 gomp_resolve_num_threads.
9063 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
9064 If adding ws->chunk_size nthreads + 1 times after end won't
9065 overflow, set ws->mode to 1.
9066 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
9067 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
9068 GOMP_loop_ull_ordered_static_start,
9069 GOMP_loop_ull_ordered_dynamic_start,
9070 GOMP_loop_ull_ordered_guided_start,
9071 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
9072 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
9073 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
9074 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
9075 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
9076 prototypes.
9077 * libgomp.map: Export lock routines also @@OMP_2.0.
9078 (GOMP_loop_ordered_dynamic_first,
9079 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
9080 GOMP_loop_ordered_static_first): Remove.
9081 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
9082 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
9083 GOMP_loop_ull_ordered_dynamic_next,
9084 GOMP_loop_ull_ordered_dynamic_start,
9085 GOMP_loop_ull_ordered_guided_next,
9086 GOMP_loop_ull_ordered_guided_start,
9087 GOMP_loop_ull_ordered_runtime_next,
9088 GOMP_loop_ull_ordered_runtime_start,
9089 GOMP_loop_ull_ordered_static_next,
9090 GOMP_loop_ull_ordered_static_start,
9091 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
9092 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
9093 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
9094 (omp_set_schedule, omp_get_schedule,
9095 omp_get_thread_limit, omp_set_max_active_levels,
9096 omp_get_max_active_levels, omp_get_level,
9097 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
9098 omp_set_schedule_, omp_set_schedule_8_,
9099 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
9100 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
9101 omp_get_max_active_levels_, omp_get_level_,
9102 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
9103 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
9104 New exports @@OMP_3.0.
9105 * omp.h.in (omp_sched_t): New type.
9106 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9107 omp_set_max_active_levels, omp_get_max_active_levels,
9108 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
9109 omp_get_active_level): New prototypes.
9110 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
9111 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
9112 gomp_thread_limit_var, gomp_remaining_threads_count,
9113 gomp_remaining_threads_lock): New variables.
9114 (parse_spincount): New function.
9115 (initialize_env): Call gomp_init_num_threads unconditionally.
9116 Initialize gomp_available_cpus. Call parse_spincount,
9117 initialize gomp_{,throttled_}spin_count_var
9118 depending on presence and value of OMP_WAIT_POLICY and
9119 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
9120 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
9121 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
9122 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
9123 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
9124 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
9125 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
9126 (gomp_global_icv): New.
9127 (parse_schedule): Use it. Parse "auto".
9128 (omp_set_num_threads): Use gomp_icv.
9129 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
9130 Likewise.
9131 (omp_get_max_threads): Move from parallel.c.
9132 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
9133 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
9134 add ialias.
9135 (parse_stacksize, parse_wait_policy): New functions.
9136 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
9137 both wrappers for compatibility and new locks.
9138 (omp_set_schedule, omp_get_schedule,
9139 omp_get_thread_limit, omp_set_max_active_levels,
9140 omp_get_max_active_levels, omp_get_level,
9141 omp_get_ancestor_thread_num, omp_get_team_size,
9142 omp_get_active_level): New ialias_redirect.
9143 (omp_set_schedule_, omp_set_schedule_8_,
9144 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
9145 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
9146 omp_get_max_active_levels_, omp_get_level_,
9147 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
9148 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
9149 New functions.
9150 * parallel.c: Include limits.h.
9151 (gomp_resolve_num_threads): Add count argument. Rewritten.
9152 (GOMP_parallel_start): Call gomp_new_team and pass that as last
9153 argument to gomp_team_start. Pass 0 as second argument to
9154 gomp_resolve_num_threads.
9155 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
9156 if gomp_thread_limit_var != ULONG_MAX.
9157 (omp_in_parallel): Implement using ts.active_level.
9158 (omp_get_max_threads): Move to env.c.
9159 (omp_get_level, omp_get_ancestor_thread_num,
9160 omp_get_team_size, omp_get_active_level): New functions,
9161 add ialias.
9162 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
9163 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
9164 gomp_iter_dynamic_next instead of the _locked variant and don't take
9165 lock around it, otherwise acquire it before calling
9166 gomp_iter_dynamic_next_locked.
9167 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
9168 gomp_iter_dynamic_next instead of the _locked variant and don't take
9169 lock around it.
9170 (GOMP_parallel_sections_start): Call gomp_new_team instead of
9171 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
9172 Adjust gomp_team_start caller. Pass count as second argument to
9173 gomp_resolve_num_threads, don't adjust num_threads after the call.
9174 Use gomp_icv.
9175 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
9176 ws->chunk_size by incr.
9177 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
9178 code.
9179 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
9180 types.
9181 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
9182 (omp_check_defines): Check even the compat defines.
9183 * config/linux/ptrlock.c: New file.
9184 * config/linux/ptrlock.h: New file.
9185 * config/linux/wait.h: New file.
9186 * config/posix/ptrlock.c: New file.
9187 * config/posix/ptrlock.h: New file.
9188 * config/linux/bar.h (gomp_team_barrier_wait,
9189 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
9190 (gomp_team_barrier_set_task_pending,
9191 gomp_team_barrier_clear_task_pending,
9192 gomp_team_barrier_set_waiting_for_tasks,
9193 gomp_team_barrier_waiting_for_tasks,
9194 gomp_team_barrier_done): New inlines.
9195 (gomp_barrier_t): Rewritten.
9196 (gomp_barrier_state_t): New typedef.
9197 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
9198 gomp_barrier_wait_start): Rewritten.
9199 (gomp_barrier_wait_end): Change second argument to
9200 gomp_barrier_state_t.
9201 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
9202 inlines.
9203 * config/linux/bar.c: Include wait.h instead of libgomp.h and
9204 futex.h.
9205 (gomp_barrier_wait_end): Rewritten.
9206 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
9207 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
9208 * config/posix/bar.h (gomp_barrier_t): Add generation field.
9209 (gomp_barrier_state_t): New typedef.
9210 (gomp_team_barrier_wait,
9211 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
9212 (gomp_barrier_wait_start): Or all but low 2 bits from generation
9213 into the return value. Return gomp_barrier_state_t.
9214 (gomp_team_barrier_set_task_pending,
9215 gomp_team_barrier_clear_task_pending,
9216 gomp_team_barrier_set_waiting_for_tasks,
9217 gomp_team_barrier_waiting_for_tasks,
9218 gomp_team_barrier_done): New inlines.
9219 (gomp_barrier_wait_end): Change second argument to
9220 gomp_barrier_state_t.
9221 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
9222 inlines.
9223 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
9224 (gomp_barrier_wait_end): Change second argument to
9225 gomp_barrier_state_t.
9226 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
9227 gomp_team_barrier_wake): New functions.
9228 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
9229 futex.h.
9230 (gomp_futex_wake, gomp_futex_wait): New variables.
9231 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
9232 * config/linux/lock.c: Rewrite to make locks task owned,
9233 for backwards compatibility provide the old entrypoints
9234 if symbol versioning. Include wait.h instead of libgomp.h and
9235 futex.h.
9236 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
9237 * config/posix95/lock.c: Rewrite to make locks task owned,
9238 for backwards compatibility provide the old entrypoints
9239 if symbol versioning.
9240 * config/posix/lock.c: Rewrite to make locks task owned,
9241 for backwards compatibility provide the old entrypoints
9242 if symbol versioning.
9243 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
9244 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
9245 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
9246 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9247 (sys_futex0): Return error code.
9248 (futex_wake, futex_wait): If ENOSYS was returned, clear
9249 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9250 (cpu_relax, atomic_write_barrier): New static inlines.
9251 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9252 (futex_wake, futex_wait): If ENOSYS was returned, clear
9253 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9254 (cpu_relax, atomic_write_barrier): New static inlines.
9255 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9256 (sys_futex0): Return error code.
9257 (futex_wake, futex_wait): If ENOSYS was returned, clear
9258 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9259 (cpu_relax, atomic_write_barrier): New static inlines.
9260 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9261 (sys_futex0): Return error code.
9262 (futex_wake, futex_wait): If ENOSYS was returned, clear
9263 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9264 (cpu_relax, atomic_write_barrier): New static inlines.
9265 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9266 (sys_futex0): Return error code.
9267 (futex_wake, futex_wait): If ENOSYS was returned, clear
9268 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9269 (cpu_relax, atomic_write_barrier): New static inlines.
9270 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
9271 (sys_futex0): Return error code.
9272 (futex_wake, futex_wait): If ENOSYS was returned, clear
9273 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9274 (cpu_relax, atomic_write_barrier): New static inlines.
9275 * config/linux/sem.c: Include wait.h instead of libgomp.h and
9276 futex.h.
9277 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
9278 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
9279 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
9280 types.
9281 (omp_nest_lock_t): Change owner into void *, add lock field.
9282 * config/posix95/omp-lock.h: Include semaphore.h.
9283 (omp_lock_25_t, omp_nest_lock_25_t): New types.
9284 (omp_lock_t): Use sem_t instead of mutex if semaphores
9285 aren't broken.
9286 (omp_nest_lock_t): Likewise. Change owner to void *.
9287 * config/posix/omp-lock.h: Include semaphore.h.
9288 (omp_lock_25_t, omp_nest_lock_25_t): New types.
9289 (omp_lock_t): Use sem_t instead of mutex if semaphores
9290 aren't broken.
9291 (omp_nest_lock_t): Likewise. Add owner field.
9292
9293 2008-06-06 Jakub Jelinek <jakub@redhat.com>
9294
9295 * testsuite/libgomp.c/collapse-1.c: New test.
9296 * testsuite/libgomp.c/collapse-2.c: New test.
9297 * testsuite/libgomp.c/collapse-3.c: New test.
9298 * testsuite/libgomp.c/icv-1.c: New test.
9299 * testsuite/libgomp.c/icv-2.c: New test.
9300 * testsuite/libgomp.c/lib-2.c: New test.
9301 * testsuite/libgomp.c/lock-1.c: New test.
9302 * testsuite/libgomp.c/lock-2.c: New test.
9303 * testsuite/libgomp.c/lock-3.c: New test.
9304 * testsuite/libgomp.c/loop-4.c: New test.
9305 * testsuite/libgomp.c/loop-5.c: New test.
9306 * testsuite/libgomp.c/loop-6.c: New test.
9307 * testsuite/libgomp.c/loop-7.c: New test.
9308 * testsuite/libgomp.c/loop-8.c: New test.
9309 * testsuite/libgomp.c/loop-9.c: New test.
9310 * testsuite/libgomp.c/nested-3.c: New test.
9311 * testsuite/libgomp.c/nestedfn-6.c: New test.
9312 * testsuite/libgomp.c/sort-1.c: New test.
9313 * testsuite/libgomp.c/task-1.c: New test.
9314 * testsuite/libgomp.c/task-2.c: New test.
9315 * testsuite/libgomp.c/task-3.c: New test.
9316 * testsuite/libgomp.c/task-4.c: New test.
9317 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
9318 to C++ testsuite default compiler options.
9319 * testsuite/libgomp.c++/collapse-1.C: New test.
9320 * testsuite/libgomp.c++/collapse-2.C: New test.
9321 * testsuite/libgomp.c++/ctor-10.C: New test.
9322 * testsuite/libgomp.c++/for-1.C: New test.
9323 * testsuite/libgomp.c++/for-2.C: New test.
9324 * testsuite/libgomp.c++/for-3.C: New test.
9325 * testsuite/libgomp.c++/for-4.C: New test.
9326 * testsuite/libgomp.c++/for-5.C: New test.
9327 * testsuite/libgomp.c++/loop-8.C: New test.
9328 * testsuite/libgomp.c++/loop-9.C: New test.
9329 * testsuite/libgomp.c++/loop-10.C: New test.
9330 * testsuite/libgomp.c++/task-1.C: New test.
9331 * testsuite/libgomp.c++/task-2.C: New test.
9332 * testsuite/libgomp.c++/task-3.C: New test.
9333 * testsuite/libgomp.c++/task-4.C: New test.
9334 * testsuite/libgomp.c++/task-5.C: New test.
9335 * testsuite/libgomp.c++/task-6.C: New test.
9336 * testsuite/libgomp.fortran/allocatable1.f90: New test.
9337 * testsuite/libgomp.fortran/allocatable2.f90: New test.
9338 * testsuite/libgomp.fortran/allocatable3.f90: New test.
9339 * testsuite/libgomp.fortran/allocatable4.f90: New test.
9340 * testsuite/libgomp.fortran/collapse1.f90: New test.
9341 * testsuite/libgomp.fortran/collapse2.f90: New test.
9342 * testsuite/libgomp.fortran/collapse3.f90: New test.
9343 * testsuite/libgomp.fortran/collapse4.f90: New test.
9344 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
9345 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
9346 * testsuite/libgomp.fortran/lib4.f90: New test.
9347 * testsuite/libgomp.fortran/lock-1.f90: New test.
9348 * testsuite/libgomp.fortran/lock-2.f90: New test.
9349 * testsuite/libgomp.fortran/nested1.f90: New test.
9350 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
9351 * testsuite/libgomp.fortran/strassen.f90: New test.
9352 * testsuite/libgomp.fortran/tabs1.f90: New test.
9353 * testsuite/libgomp.fortran/tabs2.f: New test.
9354 * testsuite/libgomp.fortran/task1.f90: New test.
9355 * testsuite/libgomp.fortran/task2.f90: New test.
9356 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
9357 * testsuite/libgomp.fortran/vla5.f90: Likewise.
9358 * testsuite/libgomp.c/pr26943-2.c: Likewise.
9359 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9360 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9361
9362 2008-05-23 Jakub Jelinek <jakub@redhat.com>
9363
9364 PR c++/36308
9365 * testsuite/libgomp.c++/ctor-11.C: New test.
9366 * testsuite/libgomp.c++/ctor-12.C: New test.
9367
9368 2008-05-15 Janis Johnson <janis187@us.ibm.com>
9369
9370 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
9371
9372 2008-05-07 Jakub Jelinek <jakub@redhat.com>
9373
9374 PR middle-end/36106
9375 * testsuite/libgomp.c/atomic-5.c: New test.
9376 * testsuite/libgomp.c/atomic-6.c: New test.
9377 * testsuite/libgomp.c/autopar-1.c: New test.
9378
9379 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9380
9381 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
9382 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
9383 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
9384 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
9385 * configure: Regenerate.
9386 * Makefile.in, testsuite/Makefile.in: Likewise.
9387
9388 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
9389
9390 PR bootstrap/35457
9391 * aclocal.m4: Regenerate.
9392 * configure: Regenerate.
9393
9394 2008-03-18 Jakub Jelinek <jakub@redhat.com>
9395
9396 PR middle-end/35611
9397 * testsuite/libgomp.c/atomic-4.c: New test.
9398
9399 PR libgomp/35625
9400 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
9401 (gomp_iter_guided_next): Likewise.
9402 * testsuite/libgomp.c/pr35625.c: New test.
9403
9404 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9405
9406 * aclocal.m4: Regenerate.
9407 * configure: Likewise.
9408 * Makefile.in: Likewise.
9409 * testsuite/Makefile.in: Likewise.
9410
9411 2008-03-13 Jakub Jelinek <jakub@redhat.com>
9412
9413 PR middle-end/35185
9414 * testsuite/libgomp.c++/pr35185.C: New test.
9415
9416 2008-03-12 Jakub Jelinek <jakub@redhat.com>
9417
9418 PR middle-end/35549
9419 * testsuite/libgomp.c/pr35549.c: New test.
9420
9421 2008-03-06 Jakub Jelinek <jakub@redhat.com>
9422
9423 * testsuite/libgomp.c/atomic-3.c: New test.
9424
9425 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9426
9427 PR fortran/33197
9428 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
9429 .F08 file suffixes.
9430
9431 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
9432
9433 PR libgomp/33131
9434 * configure.ac: Add ACX_HEADER_STRING.
9435 * env.c: Include strings.h.
9436 * aclocal.m4: Regenerate.
9437 * config.h.in: Regenerate.
9438 * configure: Regenerate.
9439 * Makefile.in: Regenerate.
9440 * testsuite/Makefile.in: Regenerate.
9441
9442 2008-02-15 Jakub Jelinek <jakub@redhat.com>
9443
9444 PR middle-end/35196
9445 * testsuite/libgomp.c/pr35196.c: New test.
9446
9447 PR middle-end/35130
9448 * testsuite/libgomp.fortran/pr35130.f90: New test.
9449 * testsuite/libgomp.c/pr35130.c: New test.
9450
9451 2008-01-25 Jakub Jelinek <jakub@redhat.com>
9452
9453 PR middle-end/33880
9454 * testsuite/libgomp.c/pr33880.c: New test.
9455 * testsuite/libgomp.fortran/pr33880.f90: New test.
9456
9457 2008-01-24 David Edelsohn <edelsohn@gnu.org>
9458
9459 * configure: Regenerate.
9460
9461 2008-01-08 Jakub Jelinek <jakub@redhat.com>
9462
9463 * configure.ac: Move futex checking into ../config/futex.m4.
9464 * configure: Rebuilt.
9465 * aclocal.m4: Rebuilt.
9466 * Makefile.in: Rebuilt.
9467
9468 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
9469 2007-10-15 ../config/tls.m4 change.
9470
9471 2007-12-19 Jakub Jelinek <jakub@redhat.com>
9472
9473 PR c++/34513
9474 * testsuite/libgomp.c/pr34513.c: New test.
9475 * testsuite/libgomp.c++/pr34513.C: New test.
9476
9477 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
9478
9479 PR target/32765
9480 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
9481
9482 2007-12-04 Jakub Jelinek <jakub@redhat.com>
9483
9484 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
9485
9486 2007-12-03 Jakub Jelinek <jakub@redhat.com>
9487
9488 * testsuite/libgomp.c/private-1.c: New test.
9489
9490 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
9491 Paolo Bonzini <bonzini@gnu.org>
9492
9493 * Makefile.am: Use space as vpath separator. Use 'vpath %'
9494 instead of 'VPATH ='.
9495 * Makefile.in: Regenerate.
9496
9497 2007-11-23 Matthias Klose <doko@ubuntu.com>
9498
9499 * configure.ac: Adjust makeinfo version check.
9500 * configure: Regenerate.
9501
9502 2007-11-10 Jakub Jelinek <jakub@redhat.com>
9503
9504 PR fortran/34020
9505 * testsuite/libgomp.fortran/pr34020.f90: New test.
9506
9507 2007-11-06 Jakub Jelinek <jakub@redhat.com>
9508
9509 PR c++/33894
9510 * testsuite/libgomp.c++/atomic-1.C: New test.
9511
9512 2007-10-25 Jakub Jelinek <jakub@redhat.com>
9513
9514 PR libgomp/33275
9515 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
9516 Make x and y integers rather than (implicit) reals. Add private (j)
9517 clause to the last omp parallel.
9518
9519 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
9520
9521 * configure: Regenerate following changes to ../config/tls.m4.
9522
9523 2007-09-28 Jakub Jelinek <jakub@redhat.com>
9524
9525 * testsuite/libgomp.fortran/stack.f90: New test.
9526
9527 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
9528
9529 * config/mingw32/proc.c: New file.
9530
9531 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
9532
9533 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
9534 (main): Use __get_cpuid to get i386 target fetaures.
9535 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
9536 (main): Use __get_cpuid to get x86_64 target fetaures.
9537
9538 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
9539
9540 PR target/32765
9541 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
9542 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
9543
9544 2007-07-12 Jakub Jelinek <jakub@redhat.com>
9545
9546 PR fortran/32550
9547 * testsuite/libgomp.fortran/pr32550.f90: New test.
9548 * testsuite/libgomp.fortran/crayptr2.f90: New test.
9549
9550 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
9551
9552 * aclocal.m4: Regenerated.
9553
9554 2007-07-05 Tobias Burnus <burnus@net-b.de>
9555
9556 PR fortran/32359
9557 * testsuite/libgomp.fortran/pr32359.f90: New.
9558
9559 2007-07-02 Jakub Jelinek <jakub@redhat.com>
9560
9561 PR libgomp/32468
9562 * sections.c (GOMP_parallel_sections_start): Only decrease
9563 number of threads to COUNT if dyn_var is true.
9564 * testsuite/libgomp.c/pr32468.c: New test.
9565
9566 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9567
9568 PR libgomp/26308
9569 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
9570
9571 2007-06-21 Jakub Jelinek <jakub@redhat.com>
9572
9573 PR middle-end/32362
9574 * testsuite/libgomp.c/pr32362-1.c: New test.
9575 * testsuite/libgomp.c/pr32362-2.c: New test.
9576 * testsuite/libgomp.c/pr32362-3.c: New test.
9577
9578 2007-06-07 Jakub Jelinek <jakub@redhat.com>
9579
9580 * team.c (gomp_team_start): Fix setting up thread_attr
9581 stack size.
9582
9583 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
9584
9585 * configure: Regenerate.
9586
9587 2007-05-23 Steve Ellcey <sje@cup.hp.com>
9588
9589 * Makefile.in: Regenerate.
9590 * configure: Regenerate.
9591 * aclocal.m4: Regenerate.
9592 * testsuite/Makefile.in: Regenerate.
9593
9594 2007-05-04 Jakub Jelinek <jakub@redhat.com>
9595
9596 * config/linux/proc.c: New file.
9597
9598 PR libgomp/28482
9599 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
9600
9601 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
9602
9603 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
9604
9605 2007-04-16 Matthias Klose <doko@debian.org>
9606
9607 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
9608 flags if not building with -m64.
9609 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
9610 flag for i?86-*-* targets, if current target matches -m64.
9611
9612 2007-04-14 Steve Ellcey <sje@cup.hp.com>
9613
9614 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
9615 * Makefile.in: Regenerate.
9616
9617 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9618
9619 PR testsuite/31369
9620 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
9621 ld_library_path.
9622 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9623
9624 2007-04-04 Jakub Jelinek <jakub@redhat.com>
9625
9626 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
9627 decls.
9628 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
9629 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
9630 (parse_affinity): New function.
9631 (initialize_env): Call it and gomp_init_affinity.
9632 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
9633 create new pthread_attr_t and call gomp_init_thread_affinity
9634 on it for each thread before passing the attribute to pthread_create.
9635 * config/linux/affinity.c: New file.
9636 * config/posix/affinity.c: New file.
9637 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
9638 * configure: Rebuilt.
9639 * config.h.in: Rebuilt.
9640 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
9641 * Makefile.in: Rebuilt.
9642
9643 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
9644
9645 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
9646 *-*-darwin*.
9647 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
9648 and use it if found.
9649
9650 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
9651
9652 * testsuite/config/default.exp: New file.
9653 * testsuite/lib/libgomp.exp: New file.
9654 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
9655 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
9656 load_lib *, load_gcc_lib *): Move to libgomp.exp.
9657 (libgomp_load): Remove.
9658 * testsuite/lib/libgomp.exp (libgomp_init): Compute
9659 always_ld_library_path, not ld_library_path. Set additional_flags
9660 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
9661 (target_compile): Do not call libgomp_init. Append lang_library_path
9662 and lang_link_flags to options.
9663 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
9664 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
9665 here.
9666 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
9667 always_ld_library_path. Set LD_LIBRARY_PATH here.
9668 * testsuite/libgomp.fortran/fortran.exp: Ditto.
9669 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
9670 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
9671 CX8 flag.
9672 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
9673 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
9674 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
9675 * testsuite/libgomp.c/pr29947-1.c: Ditto.
9676 * testsuite/libgomp.c/atomic-10.c: Ditto.
9677
9678 2007-03-21 Jakub Jelinek <jakub@redhat.com>
9679
9680 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
9681 dg-final cleanup-modules line.
9682 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
9683 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
9684 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
9685 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
9686 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
9687 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
9688 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
9689
9690 2007-03-18 Andreas Schwab <schwab@suse.de>
9691
9692 * acinclude.m4: Adjust regular expression for ld version
9693 extraction.
9694 * configure: Regenerate.
9695
9696 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
9697
9698 * Makefile.am: Add install-pdf target as copied from
9699 automake v1.10 rules.
9700 * Makefile.in: Regenerate
9701
9702 2007-02-07 Jakub Jelinek <jakub@redhat.com>
9703
9704 PR libgomp/28486
9705 * configure: Regenerate.
9706
9707 PR c++/30703
9708 * testsuite/libgomp.c++/pr30703.C: New test.
9709
9710 2007-02-02 Jakub Jelinek <jakub@redhat.com>
9711
9712 Revert:
9713 2006-07-05 Eric Christopher <echristo@apple.com>
9714 * configure.ac: Depend addition of -pthread on host OS.
9715 * configure: Regenerate.
9716
9717 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9718
9719 * libgomp.texi: Fix spacing after abbreviations.
9720
9721 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
9722
9723 PR libgomp/30546
9724 * configure.ac: Add check for makeinfo
9725 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
9726 if an appropiate version of makeinfo is found.
9727 * aclocal.m4: Regenerated.
9728 * configure: Regenerated.
9729 * Makefile.in: Regenerated.
9730 * testsuite/Makefile.in: Regenerated.
9731
9732 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
9733
9734 PR libgomp/30540
9735 * libgomp.texi: More about implementation-dependent settings.
9736
9737 2007-01-26 Tobias Burnus <burnus@net-b.de>
9738
9739 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
9740
9741 2007-01-24 Jakub Jelinek <jakub@redhat.com>
9742
9743 PR middle-end/30494
9744 * testsuite/libgomp.c/pr30494.c: New test.
9745
9746 2007-01-15 Tom Tromey <tromey@redhat.com>
9747
9748 * configure: Rebuilt.
9749 * configure.ac: Fixed comment.
9750
9751 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
9752
9753 * libgomp.texi: Document implementation specific default values of
9754 environment variables.
9755
9756 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
9757
9758 PR libgomp/28209
9759 * libgomp.texi: New file.
9760 * configure.ac: Add --enable-generated-files-in-srcdir option.
9761 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
9762 files to srcdir.
9763 * Makefile.in: Regenerated.
9764 * config.h.in: Regenerated.
9765 * testsuite/Makefile.in: Regenerated.
9766 * NOTES: Removed.
9767
9768 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
9769
9770 PR libgomp/29949
9771 * env.c (omp_set_num_threads): Set illegal thread count to 1.
9772
9773 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
9774
9775 * configure: Regenerate.
9776
9777 2006-12-04 Jakub Jelinek <jakub@redhat.com>
9778
9779 PR libgomp/29947
9780 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
9781 start if there shouldn't be any loop iterations.
9782 (gomp_loop_ordered_static_start): Remove start == end test.
9783 * testsuite/libgomp.c/pr29947-1.c: New test.
9784 * testsuite/libgomp.c/pr29947-2.c: New test.
9785
9786 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
9787
9788 * configure.tgt: Force initial-exec TLS model on Linux only.
9789
9790 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
9791
9792 * configure: Regenerated.
9793
9794 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
9795
9796 * env.c (parse_schedule): Reject out of range values.
9797 (parse_unsigned_long): Reject out of range, negative or zero values.
9798
9799 2006-10-29 Jakub Jelinek <jakub@redhat.com>
9800
9801 PR fortran/29629
9802 * testsuite/libgomp.fortran/pr29629.f90: New test.
9803
9804 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
9805
9806 PR libgomp/29494
9807 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
9808 * config/posix95: New directory.
9809 * config/posix95/omp-lock.h: New file.
9810 * config/posix95/lock.c: Likewise.
9811
9812 2006-10-14 Geoffrey Keating <geoffk@apple.com>
9813
9814 * aclocal.m4: Regenerate.
9815 * configure: Regenerate.
9816
9817 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
9818
9819 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
9820 '<' to '<='.
9821
9822 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
9823
9824 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
9825 test.
9826 * configure: Regenerate.
9827 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
9828
9829 2006-09-26 Jakub Jelinek <jakub@redhat.com>
9830
9831 PR middle-end/25261
9832 PR middle-end/28790
9833 * testsuite/libgomp.c/nestedfn-4.c: New test.
9834 * testsuite/libgomp.c/nestedfn-5.c: New test.
9835 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
9836
9837 PR fortran/29097
9838 * testsuite/libgomp.fortran/condinc1.f: New test.
9839 * testsuite/libgomp.fortran/condinc2.f: New test.
9840 * testsuite/libgomp.fortran/condinc3.f90: New test.
9841 * testsuite/libgomp.fortran/condinc4.f90: New test.
9842 * testsuite/libgomp.fortran/condinc1.inc: New file.
9843
9844 2006-09-18 Tom Tromey <tromey@redhat.com>
9845
9846 * configure: Rebuilt.
9847
9848 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
9849
9850 PR c/28768
9851 PR preprocessor/14634
9852 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
9853 to AC_DEFINE.
9854 * configure: Regenerate.
9855
9856 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
9857
9858 * testsuite/libgomp.fortran/reduction3.f90: Change
9859 -2147483648 to -huge(i)-1 to avoid overflow.
9860 * testsuite/libgomp.fortran/reduction4.f90: Change
9861 Z'ffffffff' to not(0) to avoid overflow.
9862
9863 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
9864
9865 PR libgomp/25938
9866 * Makefile.am (libsubincludedir): New.
9867 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
9868 * Makefile.in: Regenerate.
9869
9870 2006-08-17 Jakub Jelinek <jakub@redhat.com>
9871
9872 PR libgomp/28725
9873 * env.c: Include ctype.h.
9874 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
9875 leading and/or trailing whitespace and compare strings case
9876 insensitively.
9877
9878 2006-07-16 Jakub Jelinek <jakub@redhat.com>
9879
9880 PR fortran/28390
9881 * testsuite/libgomp.fortran/pr28390.f: New test.
9882
9883 2006-07-05 Eric Christopher <echristo@apple.com>
9884
9885 * configure.ac: Depend addition of -pthread on host OS.
9886 * configure: Regenerate.
9887
9888 2006-06-21 Jakub Jelinek <jakub@redhat.com>
9889
9890 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
9891 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
9892 defined.
9893
9894 2006-06-20 Jakub Jelinek <jakub@redhat.com>
9895
9896 PR libgomp/26175
9897 PR libgomp/26477
9898 * configure.ac: If neither --enable-linux-futex nor
9899 --disable-linux-futex is passed, determine the default by checking
9900 for compiling and/or running against NPTL. With --enable-linux-futex,
9901 check if SYS_gettid and SYS_futex are defined.
9902 * configure: Rebuilt.
9903
9904 2006-06-14 Richard Henderson <rth@redhat.com>
9905
9906 PR libgomp/28008
9907 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
9908 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
9909
9910 2006-06-09 Richard Henderson <rth@redhat.com>
9911
9912 * env.c (gomp_nthreads_var): Change to unsigned long.
9913 (gomp_run_sched_chunk): Likewise.
9914 (parse_unsigned_long): Rename from parse_num_threads and generalize.
9915 (initialize_env): Initialize gomp_thread_attr.
9916 * libgomp.h (gomp_nthreads_var): Update decl.
9917 (gomp_run_sched_chunk): Likewise.
9918 (gomp_thread_attr): Declare.
9919 * team.c (gomp_thread_attr): Export.
9920 (initialize_team): Don't initialize it.
9921
9922 2006-06-09 Jakub Jelinek <jakub@redhat.com>
9923
9924 PR fortran/27916
9925 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
9926 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
9927
9928 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
9929
9930 * config/mingw32/time.c: New file.
9931 * configure.tgt: Use it.
9932
9933 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
9934
9935 * Makefile.am: Add install-html target. Add install-html to .PHONY
9936 * Makefile.in: Regenerate.
9937
9938 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9939
9940 PR libgomp/27612
9941 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
9942 * testsuite/libgomp.c/critical-1.c: Likewise.
9943 * testsuite/libgomp.c/loop-1.c: Likewise.
9944 * testsuite/libgomp.c/loop-2.c: Likewise.
9945 * testsuite/libgomp.c/single-1.c: Likewise.
9946 * testsuite/libgomp.c/ordered-1.c: Likewise.
9947 * testsuite/libgomp.c/ordered-2.c: Likewise.
9948
9949 2006-05-15 Jakub Jelinek <jakub@redhat.com>
9950
9951 PR middle-end/27416
9952 * libgomp.fortran/pr27416-1.f90: New test.
9953
9954 2006-05-03 Jakub Jelinek <jakub@redhat.com>
9955
9956 PR fortran/27395
9957 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
9958 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
9959
9960 2006-05-02 Jakub Jelinek <jakub@redhat.com>
9961
9962 PR c++/26943
9963 * testsuite/libgomp.c/pr26943-1.c: New test.
9964 * testsuite/libgomp.c/pr26943-2.c: New test.
9965 * testsuite/libgomp.c/pr26943-3.c: New test.
9966 * testsuite/libgomp.c/pr26943-4.c: New test.
9967 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
9968 * testsuite/libgomp.c++/pr26943.C: New test.
9969
9970 2006-05-02 Jakub Jelinek <jakub@redhat.com>
9971
9972 PR middle-end/27337
9973 * testsuite/libgomp.c++/pr27337.C: New test.
9974
9975 2006-04-26 Jakub Jelinek <jakub@redhat.com>
9976
9977 PR c/26171
9978 * testsuite/libgomp.c/pr26171.c: New test.
9979
9980 2006-04-25 Richard Henderson <rth@redhat.com>
9981
9982 PR libgomp/25865
9983 * configure.ac: Use GCC_CHECK_TLS.
9984 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
9985 * Makefile.in, aclocal.m4, configure: Regenerate.
9986
9987 2006-04-10 Matthias Klose <doko@debian.org>
9988
9989 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
9990 directory names containing underscores.
9991
9992 2006-03-21 Jakub Jelinek <jakub@redhat.com>
9993
9994 PR c++/26691
9995 * testsuite/libgomp.c++/pr26691.C: New test.
9996
9997 2006-03-13 Jakub Jelinek <jakub@redhat.com>
9998
9999 * testsuite/libgomp.fortran/retval2.f90: New test.
10000
10001 2006-03-09 Diego Novillo <dnovillo@redhat.com>
10002
10003 * testsuite/libgomp.c++: New directory.
10004
10005 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
10006
10007 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
10008 * config/posix/sem.c: Implement the above.
10009
10010 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
10011
10012 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
10013 define HAVE_BROKEN_POSIX_SEMAPHORES.
10014 * configure: Rebuilt.
10015 * config.h.in: Rebuilt.
10016
10017 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
10018
10019 PR bootstrap/26161
10020 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
10021 for the other pthread check.
10022 * configure: Regenerate.
10023 * config.h.in: Regenerate.
10024
10025 2006-02-15 Jakub Jelinek <jakub@redhat.com>
10026
10027 PR libgomp/25938
10028 PR libgomp/25984
10029 * Makefile.am (fincludedir): New variable.
10030 (nodist_include_HEADERS): Remove Fortran files.
10031 (nodist_finclude_HEADERS): New variable.
10032 * Makefile.in: Regenerated.
10033
10034 2006-02-13 Jakub Jelinek <jakub@redhat.com>
10035
10036 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
10037 Remove tests for returning assumed character length arrays.
10038
10039 2006-02-12 Roger Sayle <roger@eyesopen.com>
10040 John David Anglin <dave@hiauly1.hia.nrc.ca>
10041
10042 PR libgomp/25936
10043 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
10044
10045 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
10046
10047 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
10048
10049 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
10050
10051 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
10052 part of LD_LIBRARY_PATH manually.
10053
10054 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
10055
10056 PR libgomp/25852
10057 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
10058 libgomp_init.
10059
10060 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
10061
10062 PR libgomp/25884
10063 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
10064 * configure.ac (PERL): Don't set.
10065 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
10066 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
10067 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
10068 * omp.h.in: Wrap the new configure substitutions with @ characters.
10069 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
10070 * aclocal.m4, configure, Makefile.in: Regenerate.
10071 * mkomp_h.pl: Delete.
10072
10073 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
10074
10075 PR libgomp/25259
10076 * configure.ac: Use GCC_HEADER_STDINT.
10077 * libgomp.h: Include gstdint.h.
10078 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
10079 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
10080
10081 2006-01-24 Richard Henderson <rth@redhat.com>
10082
10083 PR libgomp/25942
10084 * configure.ac: Add AM_MAINTAINER_MODE.
10085 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
10086
10087 2006-01-24 Diego Novillo <dnovillo@redhat.com>
10088
10089 * Makefile.in: Regenerate.
10090 * testsuite/Makefile.in: Regenerate.
10091 * aclocal.m4: Regenerate.
10092
10093 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
10094
10095 * config/posix/proc.c: Conditional include of sys/loadavg.h for
10096 Solaris.
10097 * configure.ac: Add check for loadavg.h.
10098 (link_gomp): Adjust comment.
10099 * configure: Regenerate.
10100 * config.h.in: Regenerate.
10101
10102 2006-01-21 Steve Ellcey <sje@cup.hp.com>
10103
10104 PR libgomp/25877
10105 * configure.ac: Remove check for alloca.h.
10106 * configure: Regenerate.
10107 * config.h.in: Regenerate.
10108 * libgomp.h: define gomp_alloca to be __builtin_alloca.
10109 * team.c: Remove use of alloca.h.
10110 Call gomp_alloca instead of alloca.
10111
10112 2006-01-20 Steve Ellcey <sje@cup.hp.com>
10113
10114 PR libgomp/25877
10115 * team.c: Add include of alloca.h.
10116 * configure.ac: Add check for alloca.h.
10117 * configure: Regenerate.
10118 * config.h.in: Regenerate.
10119
10120 2006-01-17 Jakub Jelinek <jakub@redhat.com>
10121
10122 PR fortran/25219
10123 * testsuite/libgomp.fortran/pr25219.f90: New test.
10124
10125 2005-12-05 Uros Bizjak <uros@kss-loka.si>
10126
10127 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
10128 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
10129 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
10130 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
10131 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
10132 testsuite/libgomp.fortran/threadprivate1.f90,
10133 testsuite/libgomp.fortran/threadprivate2.f90,
10134 testsuite/libgomp.fortran/threadprivate3.f90,
10135 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
10136 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
10137 testsuite/libgomp.fortran/omp_parse3.f90: Change required
10138 effective-target to TLS runtime.
10139
10140 * testsuite/libgomp.fortran/pr25162.f: Require
10141 effective-target TLS runtime.
10142
10143 2005-12-01 Jakub Jelinek <jakub@redhat.com>
10144
10145 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
10146 * testsuite/libgomp.c/nestedfn-3.c: New test.
10147
10148 2005-11-30 Jakub Jelinek <jakub@redhat.com>
10149
10150 PR fortran/25162
10151 * testsuite/libgomp.fortran/pr25162.f: New test.
10152
10153 2005-11-28 Jakub Jelinek <jakub@redhat.com>
10154
10155 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
10156 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
10157
10158 2005-11-25 Jakub Jelinek <jakub@redhat.com>
10159
10160 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
10161 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
10162 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
10163 single.c, team.c, work.c, config/linux/alpha/futex.h,
10164 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
10165 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
10166 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
10167 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
10168 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
10169 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
10170 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
10171 FSF address.
10172
10173 2005-11-18 Jakub Jelinek <jakub@redhat.com>
10174
10175 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
10176 to nodist_noinst_HEADERS.
10177 * Makefile.in: Rebuilt.
10178
10179 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
10180 add integer count field.
10181 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
10182 omp_nest_lock_t type change.
10183 (omp_init_nest_lock): Likewise. Initialize count to 0.
10184 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
10185 Increment count.
10186 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
10187 Decrement count.
10188 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
10189 Increment count if successful and return the new nesting level.
10190 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
10191 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
10192 * testsuite/libgomp.c/lib-1.c: New test.
10193 * testsuite/libgomp.fortran/lib1.f90: New test.
10194 * testsuite/libgomp.fortran/lib2.f: New test.
10195 * testsuite/libgomp.fortran/lib3.f: New test.
10196
10197 2005-11-17 Richard Henderson <rth@redhat.com>
10198
10199 PR 24845
10200 * Makefile.am (nodist_toolexeclib_HEADERS): New.
10201 * configure.ac (link_gomp): New. Substitute it.
10202 (AC_CONFIG_FILES): Add libgomp.spec.
10203 * libgomp.spec.in: New file.
10204 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
10205 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
10206
10207 2005-11-18 Jakub Jelinek <jakub@redhat.com>
10208
10209 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
10210 reduction(-:var) behaving the same as reduction(+:var).
10211 * testsuite/libgomp.c/reduction-4.c: New test.
10212
10213 2005-11-15 Uros Bizjak <uros@kss-loka.si>
10214
10215 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
10216 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
10217 testsuite/libgomp.c/copyin-3.c,
10218 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
10219 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
10220 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
10221 testsuite/libgomp.c++/pr24455.C,
10222 testsuite/libgomp.fortran/threadprivate1.f90,
10223 testsuite/libgomp.fortran/threadprivate2.f90,
10224 testsuite/libgomp.fortran/threadprivate3.f90,
10225 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
10226 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
10227 testsuite/libgomp.fortran/omp_parse3.f90: Require
10228 effective-target TLS.
10229
10230 2005-11-14 Diego Novillo <dnovillo@redhat.com>
10231
10232 * HEADER: Remove.
10233
10234 2005-11-13 Jakub Jelinek <jakub@redhat.com>
10235
10236 PR libgomp/24797
10237 * team.c (initialize_team): Pass NULL rather than free as
10238 pthread_key_create destructor. Initialize thread specific data
10239 pointer in initial thread to a static local variable rather than
10240 malloced memory.
10241
10242 2005-11-11 Uros Bizjak <uros@kss-loka.si>
10243
10244 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
10245 its location to ld_library_path.
10246
10247 2005-11-10 Diego Novillo <dnovillo@redhat.com>
10248
10249 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
10250
10251 2005-11-10 Diego Novillo <dnovillo@redhat.com>
10252
10253 * testsuite/libgomp.c: Rename from libgomp.dg.
10254
10255 2005-11-09 Diego Novillo <dnovillo@redhat.com>
10256
10257 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
10258 threadprivate variable 'i'.
10259
10260 2005-11-09 Jakub Jelinek <jakub@redhat.com>
10261
10262 * config/linux/s390/futex.h: New file.
10263 * configure.tgt: Use it.
10264
10265 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
10266 before the parallel.
10267
10268 2005-11-08 Jakub Jelinek <jakub@redhat.com>
10269
10270 PR c++/24734
10271 * testsuite/libgomp.c++/master-1.C: New test.
10272
10273 2005-11-07 Jakub Jelinek <jakub@redhat.com>
10274
10275 * testsuite/libgomp.dg/copyin-3.c: New test.
10276
10277 2005-11-07 Jakub Jelinek <jakub@redhat.com>
10278
10279 * testsuite/libgomp.fortran/retval1.f90: New test.
10280 * testsuite/libgomp.fortran/vla7.f90: New test.
10281
10282 2005-11-06 Jakub Jelinek <jakub@redhat.com>
10283
10284 * testsuite/libgomp.fortran/vla2.f90: New test.
10285 * testsuite/libgomp.fortran/vla3.f90: New test.
10286 * testsuite/libgomp.fortran/vla4.f90: New test.
10287 * testsuite/libgomp.fortran/vla5.f90: New test.
10288 * testsuite/libgomp.fortran/vla6.f90: New test.
10289
10290 2005-11-01 Jakub Jelinek <jakub@redhat.com>
10291
10292 * config/linux/sparc/futex.h: New file.
10293 * configure.tgt: Use it.
10294 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
10295
10296 * critical.c: Include stdlib.h.
10297 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
10298 ignoring return value.
10299 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
10300 LIBGOMP_CHECK_SYNC_BUILTINS check.
10301 * configure: Rebuilt.
10302
10303 2005-10-31 Jakub Jelinek <jakub@redhat.com>
10304
10305 * testsuite/libgomp.fortran/vla1.f90: New test.
10306
10307 2005-10-31 Richard Henderson <rth@redhat.com>
10308
10309 * testsuite/libgomp.fortran/character2.f90: Fix race condition
10310 setting 's' in different threads.
10311
10312 2005-10-31 Jakub Jelinek <jakub@redhat.com>
10313
10314 * libgomp.h (attribute_hidden, ialias): Define.
10315 * config/posix/proc.c (omp_get_num_procs): Add ialias.
10316 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
10317 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
10318 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10319 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10320 omp_test_lock, omp_test_nest_lock): Likewise.
10321 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
10322 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10323 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10324 omp_test_lock, omp_test_nest_lock): Likewise.
10325 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
10326 omp_get_dynamic, omp_get_nested): Likewise.
10327 * parallel.c (omp_get_num_threads, omp_get_max_threads,
10328 omp_get_thread_num, omp_in_parallel): Likewise.
10329 * fortran.c (ialias_redirect): Define.
10330 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
10331 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
10332 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
10333 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
10334 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
10335 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
10336 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
10337 omp_get_wtime): Add ialias_redirect.
10338
10339 2005-10-30 Jakub Jelinek <jakub@redhat.com>
10340
10341 * fortran.c: Include stdlib.h.
10342
10343 2005-10-29 Jakub Jelinek <jakub@redhat.com>
10344
10345 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
10346 * Makefile.in: Regenerated.
10347
10348 2005-10-28 Jakub Jelinek <jakub@redhat.com>
10349
10350 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
10351 * libgomp_f.h.in (omp_check_defines): New function.
10352 * env.c: Include libgomp_f.h.
10353 (initialize_env): Call omp_check_defines.
10354
10355 * testsuite/libgomp.dg/copyin-2.c: New test.
10356 * testsuite/libgomp.c++/copyin-2.C: New test.
10357 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
10358
10359 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
10360 * testsuite/libgomp.fortran/sharing2.f90: New test.
10361
10362 * testsuite/libgomp.dg/copyin-1.c: New test.
10363 * testsuite/libgomp.c++/copyin-1.C: New test.
10364
10365 2005-10-26 Jakub Jelinek <jakub@redhat.com>
10366
10367 * testsuite/libgomp.fortran/crayptr1.f90: New test.
10368
10369 * testsuite/libgomp.fortran/workshare1.f90: New test.
10370
10371 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
10372 only test.
10373 * libgomp.fortran/sharing1.f90: New test.
10374
10375 2005-10-24 Jakub Jelinek <jakub@redhat.com>
10376
10377 PR c++/24502
10378 * testsuite/libgomp.c++/loop-7.C: New test.
10379
10380 * testsuite/libgomp.dg/nestedfn-2.c: New test.
10381
10382 * testsuite/libgomp.dg/nestedfn-1.c: New test.
10383 * testsuite/libgomp.fortran/reduction6.f90: New test.
10384 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
10385
10386 2005-10-23 Richard Henderson <rth@redhat.com>
10387
10388 * testsuite/libgomp.c++/ctor-1.C: New.
10389 * testsuite/libgomp.c++/ctor-2.C: New.
10390 * testsuite/libgomp.c++/ctor-3.C: New.
10391 * testsuite/libgomp.c++/ctor-4.C: New.
10392 * testsuite/libgomp.c++/ctor-5.C: New.
10393 * testsuite/libgomp.c++/ctor-6.C: New.
10394 * testsuite/libgomp.c++/ctor-7.C: New.
10395 * testsuite/libgomp.c++/ctor-8.C: New.
10396 * testsuite/libgomp.c++/ctor-9.C: New.
10397
10398 2005-10-21 Diego Novillo <dnovillo@redhat.com>
10399
10400 PR 24455
10401 * testsuite/libgomp.c++/pr24455-1.C: New test.
10402 * testsuite/libgomp.c++/pr24455.C: New test.
10403 * testsuite/libgomp.dg/pr24455-1.c: New test.
10404 * testsuite/libgomp.dg/pr24455.c: New test.
10405
10406 2005-10-20 Richard Henderson <rth@redhat.com>
10407
10408 * testsuite/libgomp.c++/loop-6.C: New.
10409 * testsuite/libgomp.dg/loop-3.c: New.
10410
10411 2005-10-20 Jakub Jelinek <jakub@redhat.com>
10412
10413 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
10414 explicitly private.
10415 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
10416 explicitly shared.
10417
10418 2005-10-19 Diego Novillo <dnovillo@redhat.com>
10419
10420 * testsuite/libgomp.fortran/jacobi.f: New test.
10421
10422 2005-10-19 Richard Henderson <rth@redhat.com>
10423
10424 * configure.tgt (i?86-linux): Default to with_arch instead of
10425 CFLAGS. Add -mtune to match target_cpu.
10426 (x86_64-linux): Tune to i686.
10427
10428 * fortran.c (omp_test_nest_lock_): Fix typo.
10429
10430 2005-10-19 Jakub Jelinek <jakub@redhat.com>
10431
10432 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
10433 gomp_ordered_sync): Do nothing if team->nthreads == 1.
10434 * testsuite/libgomp.dg/ordered-3.c: New test.
10435
10436 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
10437 Remove volatile keyword.
10438
10439 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
10440 in COMMON block to avoid warnings on 64-bit targets.
10441
10442 2005-10-18 Diego Novillo <dnovillo@redhat.com>
10443
10444 * testsuite/libgomp.dg/shared-3.c: New test.
10445
10446 2005-10-18 Jakub Jelinek <jakub@redhat.com>
10447
10448 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
10449 * testsuite/libgomp.fortran/reduction5.f90: New test.
10450
10451 2005-10-18 Jakub Jelinek <jakub@redhat.com>
10452
10453 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
10454 dg-options.
10455 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
10456 flush loop now that __sync_synchronize has proper memory barrier.
10457 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
10458 Add -ffixed-form to dg-options.
10459
10460 2005-10-17 Diego Novillo <dnovillo@redhat.com>
10461
10462 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
10463 from subdirectories.
10464 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
10465 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
10466 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
10467 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
10468 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
10469 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
10470 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
10471 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
10472 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
10473 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
10474 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
10475 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
10476 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
10477 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
10478 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
10479 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
10480 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
10481 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
10482 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
10483 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
10484 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
10485 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
10486 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
10487 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
10488 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
10489
10490 2005-10-17 Jakub Jelinek <jakub@redhat.com>
10491
10492 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
10493 lang_library_path exists. Use find instead of glob to gather tests.
10494 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
10495
10496 2005-10-17 Diego Novillo <dnovillo@redhat.com>
10497
10498 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
10499 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
10500 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
10501 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
10502 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
10503 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
10504 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
10505 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
10506 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
10507 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
10508 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
10509 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
10510 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
10511
10512 2005-10-15 Jakub Jelinek <jakub@redhat.com>
10513
10514 * testsuite/libgomp.dg/vla-1.c: New test.
10515
10516 * testsuite/libgomp.fortran/reference2.f90: New test.
10517
10518 * testsuite/libgomp.fortran/character2.f90: Remove explicit
10519 declaration of omp_get_thread_num.
10520 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
10521 use omp_lib.
10522
10523 * testsuite/libgomp.fortran/reduction1.f90: New test.
10524 * testsuite/libgomp.fortran/reduction2.f90: New test.
10525 * testsuite/libgomp.fortran/reduction3.f90: New test.
10526 * testsuite/libgomp.fortran/reduction4.f90: New test.
10527
10528 2005-10-13 Richard Henderson <rth@redhat.com>
10529
10530 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
10531 * Makefile.in: Regenerate.
10532 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
10533 * libgomp.h: Include bar.h.
10534 (struct gomp_barrier): Remove.
10535 (struct gomp_team): Add barrier. Replace master_barrier with
10536 master_release. Replace threads with ordered_release.
10537 (struct gomp_thread): Replace barrier with release.
10538 * ordered.c (gomp_ordered_first): Update for ordered_release change.
10539 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
10540 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
10541 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
10542 (GOMP_single_copy_end): Likewise.
10543 * team.c (gomp_threads_dock): New.
10544 (gomp_barrier_init, gomp_barrier_destroy): Remove.
10545 (gomp_thread_start): Use gomp_barrier_wait.
10546 (new_team, free_team): Update for gomp_team changes.
10547 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
10548 (gomp_team_end): Use gomp_barrier_wait.
10549 (initialize_team): Update for gomp_thread changes.
10550 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
10551 (gomp_work_share_end_nowait): Use atomic ops when available.
10552 * config/linux/bar.c, config/linux/bar.h: New files.
10553 * config/posix/bar.c, config/posix/bar.h: New files.
10554
10555 2005-10-13 Jakub Jelinek <jakub@redhat.com>
10556
10557 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
10558 * testsuite/libgomp.dg/single-2.c: New test.
10559
10560 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
10561 lang_link_flags): Unset, so that they aren't inherited from previously
10562 sourced *.exp.
10563
10564 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
10565
10566 2005-10-12 Richard Henderson <rth@redhat.com>
10567
10568 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
10569 (libgomp_init): Use lang_test_file, lang_library_path, and
10570 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
10571
10572 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
10573 (lang_test_file, lang_link_flags): New.
10574 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
10575
10576 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
10577 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
10578 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
10579 testsuite/libgomp.c++/parallel-1.C,
10580 testsuite/libgomp.c++/reduction-1.C,
10581 testsuite/libgomp.c++/reduction-2.C,
10582 testsuite/libgomp.c++/reduction-3.C,
10583 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
10584 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
10585 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
10586 New files, largely cribbed from the C testsuite.
10587
10588 2005-10-12 Jakub Jelinek <jakub@redhat.com>
10589
10590 * testsuite/libgomp.fortran/character1.f90: New test.
10591 * testsuite/libgomp.fortran/character2.f90: New test.
10592
10593 * testsuite/libgomp.dg/nested-1.c: New test.
10594 * testsuite/libgomp.dg/nested-2.c: New test.
10595 * testsuite/libgomp.fortran/do1.f90: New test.
10596 * testsuite/libgomp.fortran/do2.f90: New test.
10597
10598 * testsuite/libgomp.fortran/reference1.f90: New test.
10599
10600 2005-10-11 Jakub Jelinek <jakub@redhat.com>
10601
10602 * testsuite/libgomp.dg/reduction-1.c: New test.
10603 * testsuite/libgomp.dg/reduction-2.c: New test.
10604 * testsuite/libgomp.dg/reduction-3.c: New test.
10605
10606 2005-10-10 Jakub Jelinek <jakub@redhat.com>
10607
10608 * testsuite/libgomp.dg/atomic-1.c: New test.
10609 * testsuite/libgomp.dg/atomic-2.c: New test.
10610
10611 2005-10-09 Richard Henderson <rth@redhat.com>
10612
10613 * critical.c (atomic_lock): New.
10614 (initialize_critical): Initialize it.
10615 (GOMP_atomic_start, GOMP_atomic_end): New.
10616 * libgomp.map: Export them.
10617 * libgomp_g.h: Declare them.
10618
10619 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
10620
10621 2005-10-02 Richard Henderson <rth@redhat.com>
10622
10623 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
10624 to XCFLAGS instead of CFLAGS.
10625
10626 2005-09-30 Richard Henderson <rth@redhat.com>
10627
10628 * configure.ac: Determine whether -pthread or -lpthread is needed.
10629 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
10630 * Makefine.in, configure: Rebuild.
10631
10632 2005-09-28 Richard Henderson <rth@redhat.com>
10633
10634 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
10635 * testsuite/libgomp.dg/omp-single-3.c: New test.
10636
10637 2005-09-28 Diego Novillo <dnovillo@redhat.com>
10638
10639 * testsuite/libgomp.dg/omp-single-2.c: New test.
10640 * testsuite/libgomp.dg/shared-2.c: Fix return code.
10641
10642 2005-09-27 Richard Henderson <rth@redhat.com>
10643
10644 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
10645 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
10646
10647 2005-09-27 Jakub Jelinek <jakub@redhat.com>
10648
10649 * testsuite/libgomp.dg/omp-loop03.c: New test.
10650
10651 2005-09-27 Diego Novillo <dnovillo@redhat.com>
10652
10653 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
10654
10655 2005-09-27 Diego Novillo <dnovillo@redhat.com>
10656
10657 * testsuite/libgomp.dg/omp-single-1.c: New test.
10658 * testsuite/libgomp.dg/shared-1.c: Return 0.
10659 Add prototype for abort.
10660 * testsuite/libgomp.dg/shared-2.c: Likewise.
10661
10662 2005-09-26 Jakub Jelinek <jakub@redhat.com>
10663
10664 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
10665 constructs.
10666
10667 2005-09-26 Diego Novillo <dnovillo@redhat.com>
10668
10669 * testsuite/libgomp.dg/shared-1.c: New test.
10670 * testsuite/libgomp.dg/shared-2.c: New test.
10671
10672 2005-09-24 Richard Henderson <rth@redhat.com>
10673
10674 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
10675
10676 2005-09-24 Richard Henderson <rth@redhat.com>
10677
10678 * iter.c (gomp_iter_static_next): Round up when computing number
10679 of iterations. Don't bother distributing a remainder equally.
10680
10681 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
10682 Don't call srand. Zero b before testing.
10683 (main): New.
10684
10685 2005-09-24 Jakub Jelinek <jakub@redhat.com>
10686
10687 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
10688 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
10689
10690 2005-09-23 Jakub Jelinek <jakub@redhat.com>
10691
10692 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
10693 without !$omp end do, followed immediately by subroutine end.
10694
10695 2005-09-23 Diego Novillo <dnovillo@redhat.com>
10696
10697 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
10698
10699 2005-09-22 Richard Henderson <rth@redhat.com>
10700
10701 * critical.c (GOMP_critical_name_start): Change argument to void**.
10702 Reuse the pointer space if the mutex fits.
10703 (GOMP_critical_name_end): Likewise.
10704 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
10705 * libgomp_g.h (GOMP_critical_name_start): Update decl.
10706 (GOMP_critical_name_end): Likewise.
10707 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
10708 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
10709
10710 2005-09-20 Richard Henderson <rth@redhat.com>
10711
10712 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
10713 (create_lock_lock): New.
10714 (initialize_critical): Initialize it.
10715 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
10716 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
10717
10718 2005-09-20 Diego Novillo <dnovillo@redhat.com>
10719
10720 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
10721
10722 2005-09-20 Diego Novillo <dnovillo@redhat.com>
10723
10724 * testsuite/libgomp.dg/omp-loop01.c: New test.
10725 * testsuite/libgomp.dg/omp-loop02.c: New test.
10726
10727 2005-09-20 Jakub Jelinek <jakub@redhat.com>
10728
10729 * configure.ac (AC_PROG_FC): Add.
10730 (USE_FORTRAN): New automake conditional.
10731 * configure: Rebuilt.
10732 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
10733 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
10734 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
10735 Add rules to build them.
10736 * Makefile.in: Rebuilt.
10737 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
10738 OMP_NEST_LOCK_KIND.
10739 * libgomp.map: Add Fortran wrappers.
10740 * libgomp_f.h.in: New file.
10741 * omp_lib.h.in: New file.
10742 * omp_lib.f90.in: New file.
10743 * fortran.c: New file.
10744 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
10745 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
10746 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
10747 libgfortran has been built.
10748 * testsuite/libgomp.fortran/fortran.exp: New file.
10749 * testsuite/libgomp.fortran/omp_cond1.f: New test.
10750 * testsuite/libgomp.fortran/omp_cond2.f: New test.
10751 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
10752 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
10753 * testsuite/libgomp.fortran/omp_hello.f: New test.
10754 * testsuite/libgomp.fortran/omp_orphan.f: New test.
10755 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
10756 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
10757 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
10758 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
10759 * testsuite/libgomp.fortran/omp_reduction.f: New test.
10760 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
10761 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
10762
10763 2005-08-30 Richard Henderson <rth@redhat.com>
10764
10765 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
10766 function for when aliases are not usable.
10767 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
10768 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
10769 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
10770 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
10771 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
10772 GOMP_loop_ordered_guided_next): Likewise.
10773 * ordered.c (GOMP_ordered_start): Likewise.
10774
10775 2005-08-01 Diego Novillo <dnovillo@redhat.com>
10776
10777 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
10778 * testsuite/libgomp.dg/omp_hello.c: Fix return code
10779 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
10780 * testsuite/libgomp.dg/omp_orphan.c: Likewise
10781 * testsuite/libgomp.dg/omp_reduction.c: Likewise
10782 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
10783 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
10784 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
10785 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
10786
10787 2005-07-07 Eric Christopher <echristo@redhat.com>
10788 Diego Novillo <dnovillo@redhat.com>
10789
10790 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
10791 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
10792 up code.
10793 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
10794 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
10795 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
10796 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
10797 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
10798 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
10799 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
10800
10801 2005-06-13 Diego Novillo <dnovillo@redhat.com>
10802
10803 * TOPLEVEL.patch: Remove.
10804
10805 2005-05-16 Richard Henderson <rth@redhat.com>
10806
10807 * configure.ac: Test for clock_gettime.
10808 * config.h.in, configure: Rebuild.
10809 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
10810 (omp_get_wtime): Use clock_gettime if available.
10811 (omp_get_wtick): Use clock_getres if available.
10812
10813 2005-05-11 Richard Henderson <rth@redhat.com>
10814
10815 * config/linux/ia64/futex.h: New file.
10816 * configure.tgt: Use it.
10817
10818 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
10819
10820 2005-05-07 Richard Henderson <rth@redhat.com>
10821
10822 * config/linux/powerpc/futex.h: New file.
10823 * configure.tgt: Use it.
10824
10825 * config/linux/i486/futex.h: Merge ...
10826 * config/linux/x86_64/futex.h: ... into ...
10827 * config/linux/x86/futex.h: ... here.
10828 * configure.tgt: Update to match.
10829
10830 2005-05-06 Richard Henderson <rth@redhat.com>
10831
10832 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
10833 * config/linux/i486/futex.h: Likewise.
10834 * config/linux/x86_64/futex.h: Likewise.
10835
10836 * config/linux/lock.c: New file.
10837 * config/linux/omp-lock.h: New file.
10838
10839 * critical.c, env.h: Don't include omp.h
10840 * config/posix/lock.c: Include libgomp.h instead of omp.h.
10841 * config/posix/time.c: Likewise.
10842 * config/posix/omp-lock.h: New file.
10843 * libgomp.h: Include omp-lock.h and omp.h.
10844 * Makefile.am (nodist_include_HEADERS): New.
10845 (omp.h): New rule.
10846 * configure.ac (PERL): New.
10847 * mkomp_h.pl: New file.
10848 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
10849 with templates.
10850 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
10851
10852 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
10853 build directory. Re-add -march=i486 hack.
10854
10855 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
10856 (libgomp_link_flags): Remove.
10857 (libgomp_initialized): Remove.
10858 (libgomp_init): Don't protect from reinitialization. Copy code
10859 from libstdc++ for getting the multilib set correctly.
10860
10861 2005-05-05 Richard Henderson <rth@redhat.com>
10862
10863 * config/linux/alpha/futex.h: New file.
10864 * configure.tgt (alpha*-*-linux*): Use it.
10865
10866 * config/posix/mutex.c: New file.
10867 * config/posix/sem.c: Use libgomp.h.
10868
10869 * configure.tgt (x86_64-linux): Also test CC for -m32.
10870 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
10871
10872 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
10873 after $gccpath.
10874
10875 * Makefile.am (SUBDIRS): New.
10876 (libgomp_la_LDFLAGS): Add -lpthread.
10877 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
10878 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
10879
10880 * libgomp_g.h: New file.
10881 * libgomp.h: Split out all public declarations to libgomp_g.h.
10882 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
10883 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
10884 * config/linux/sem.h: Likewise.
10885 * config/posix/sem.h: Likewise.
10886
10887 * Makefile.am (AM_LDFLAGS): New.
10888 (libgomp_version_script): Split out from ...
10889 (libgomp_la_LDFLAGS): ... here.
10890 (libgomp_version_info): New.
10891 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
10892 (LIBGOMP_ENABLE): New.
10893 (LIBGOMP_CHECK_LINKER_FEATURES): New.
10894 (LIBGOMP_ENABLE_SYMVERS): New.
10895 * configure.ac (AC_INIT): Version 1.0.
10896 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
10897 (enable-linux-futex): Likewise. Rename from enable-futex.
10898 (libtool_VERSION): New.
10899 (LIBGOMP_ENABLE_SYMVERS): Use it.
10900 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
10901 * Makefile.in, aclocal.m4, configure: Rebuild.
10902
10903 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
10904 (gomp_mutex_unlock_slow): Fix typo.
10905 * config/linux/sem.c: Similarly.
10906 (gomp_sem_post_slow): Fix typo.
10907 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
10908 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
10909 [__PIC__] (sys_futex0): Don't use tmp output in asm.
10910
10911 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
10912 (libgomp_la_LDFLAGS): Add top_srcdir to path.
10913 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
10914 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
10915 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
10916 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
10917 LDFLAGS. Pull enable_futex check to top-level.
10918 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
10919 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
10920
10921 First attempt at real configury.
10922 * Makefile, config.h: Remove file.
10923 * Makefile.am, Makefile.in: New file.
10924 * acinclude.m4 aclocal.m4: New file.
10925 * configure.ac, configure.tgt, configure: New file.
10926
10927 * config/posix/lock.c: Rename from sys-lock.c.
10928 * config/posix/mutex.h: Rename from sys-mutex.h.
10929 * config/posix/sem.c: Rename from sys-sem.c.
10930 * config/posix/sem.h: Rename from sys-sem.h.
10931 * config/posix/proc.c: Rename from sys-proc.c.
10932 * config/posix/time.c: Rename from sys-proc.c.
10933
10934 * config/linux/mutex.c: New file.
10935 * config/linux/mutex.h: New file.
10936 * config/linux/sem.c: New file.
10937 * config/linux/sem.h: New file.
10938 * config/linux/i486/futex.h: New file.
10939 * config/linux/x86_64/futex.h: New file.
10940
10941 2005-05-04 Richard Henderson <rth@redhat.com>
10942
10943 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
10944 * libgomp.h: Declare them.
10945 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
10946 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
10947
10948 2005-05-04 Richard Henderson <rth@redhat.com>
10949
10950 * libgomp-1 code drop
10951
10952 2005-05-04 Richard Henderson <rth@redhat.com>
10953
10954 * iter.c (gomp_iter_static_next): Return tri-state on 0.
10955 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
10956 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
10957 (gomp_iter_static_next): Update.
10958 (gomp_ordered_static_next): Update.
10959 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
10960 (gomp_loop_ordered_static_start): Likewise. Exit early for a
10961 totally empty range.
10962 (gomp_loop_ordered_static_next): Refine test for calling
10963 gomp_ordered_static_next.
10964 * testsuite/ordered-1.c: Add case for more threads than iterations.
10965
10966 * iter.c (gomp_iter_runtime_next_locked): Remove.
10967 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
10968 gomp_loop_guided_start, gomp_loop_ordered_static_start,
10969 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
10970 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
10971 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
10972 gomp_loop_ordered_guided_next): Downcase name, make static, add
10973 an external alias with the old name.
10974 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
10975 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
10976 switch and call one of the above static functions.
10977 * libgomp.h: Update.
10978
10979 * work.c (gomp_work_share_start): Lock the mutex for !first too.
10980 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
10981 GOMP_loop_guided_start, GOMP_loop_runtime_start,
10982 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
10983 GOMP_loop_ordered_guided_start): Update to match.
10984 * sections.c (GOMP_sections_start): Likewise.
10985 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
10986
10987 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
10988 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
10989 Use bounds check instead of modulus.
10990 (gomp_ordered_sync): Split out of GOMP_ordered_start.
10991 (gomp_ordered_last): Don't sync with ordered_owner here.
10992 (gomp_ordered_next): Likewise.
10993 (gomp_ordered_static_loop_next): Likewise.
10994 * loop.c, libgomp.h: Update to match.
10995
10996 * libgomp.h (GOMP_barrier): Declare.
10997
10998 * testsuite/barrier-1.c: New file.
10999 * testsuite/critical-1.c: New file.
11000 * testsuite/ordered-2.c: New file.
11001 * testsuite/ordered-1.c: New file.
11002 * testsuite/sections-1.c: New file.
11003 * testsuite/single-1.c: New file.
11004 * testsuite/Makefile (TESTS): Add them.
11005
11006 2005-05-04 Richard Henderson <rth@redhat.com>
11007
11008 * libgomp.h (struct gomp_work_share): Add ordered_owner.
11009 * loop.c (GOMP_loop_static_start): If not the startup thread,
11010 acquire the mutex to wait for initialization complete.
11011 (GOMP_loop_ordered_static_start): Likewise.
11012 (GOMP_loop_ordered_runtime_start): Likewise.
11013 (GOMP_loop_ordered_static_first): Remove.
11014 (GOMP_loop_ordered_dynamic_first): Remove.
11015 (GOMP_loop_ordered_guided_first): Remove.
11016 (GOMP_loop_ordered_runtime_first): Remove.
11017 * ordered.c (gomp_ordered_loop_first): Post to own release when
11018 we're the first thread.
11019 (gomp_ordered_loop_last): Wait on release if not owner.
11020 (gomp_ordered_loop_next): Likewise.
11021 (gomp_ordered_static_loop_init): New.
11022 (gomp_ordered_static_loop_next): Use ordered_owner.
11023 (GOMP_ordered_start): Likewise.
11024 * work.c (gomp_new_work_share): Initialize ordered_owner.
11025
11026 2005-05-03 Richard Henderson <rth@redhat.com>
11027
11028 * Makefile (OPT): New.
11029 (CFLAGS): Use it.
11030
11031 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
11032 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
11033 * libgomp.h, libgomp.map, NOTES: Update to match.
11034
11035 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
11036 Add initialized and thr members.
11037 (gomp_thread_start): Pause when initially spawned to wait for
11038 the whole team to be created.
11039 (gomp_team_start): Release team members at the end.
11040
11041 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
11042 (f_foo_1): Use GOMP_loop_end.
11043 (f_foo_2): Use GOMP_loop_end_nowait.
11044
11045 * testsuite/loop-2.c: New file.
11046 * testsuite/Makefile (TESTS): Add it.
11047
11048 2005-05-03 Richard Henderson <rth@redhat.com>
11049
11050 * iter.c (gomp_iter_static_next): Fix overflow check typo.
11051 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
11052 * team.c (new_team): Initialize oldest_live_gen to 1 if no
11053 initial work_share.
11054
11055 * testsuite/Makefile: New file.
11056 * testsuite/loop-1.c: New file.
11057
11058 2005-05-03 Richard Henderson <rth@redhat.com>
11059
11060 Initial implementation and checkin.
11061 \f
11062 Copyright (C) 2005-2019 Free Software Foundation, Inc.
11063
11064 Copying and distribution of this file, with or without modification,
11065 are permitted in any medium without royalty provided the copyright
11066 notice and this notice are preserved.