Fix secure_getenv.h include in plugin-hsa.c
[gcc.git] / libgomp / ChangeLog
1 2017-07-03 Tom de Vries <tom@codesourcery.com>
2
3 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
4
5 2017-06-27 Tom de Vries <tom@codesourcery.com>
6
7 * plugin/plugin-nvptx.c (notify_var): New function.
8 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
9
10 2017-06-27 Tom de Vries <tom@codesourcery.com>
11
12 * env.c (parse_unsigned_long_1): Factor out of ...
13 (parse_unsigned_long): ... here.
14 (parse_int_1): Factor out of ...
15 (parse_int): ... here.
16 (parse_int_secure): New function.
17 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
18 * secure_getenv.h: Factor out of ...
19 * plugin/plugin-hsa.c: ... here.
20 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
21
22 2017-06-21 Jakub Jelinek <jakub@redhat.com>
23
24 PR c++/81130
25 * testsuite/libgomp.c++/pr81130.C: New test.
26
27 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
28
29 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
30 default args.
31 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
32 dg-xfail-run-if default args.
33
34 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
35
36 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
37 * testsuite/libgomp.c/pr39591-3.c: Likewise.
38
39 2017-05-30 Jakub Jelinek <jakub@redhat.com>
40
41 PR libgomp/80822
42 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
43 (gomp_affinity_init_level): Use it. Always analyze the core and thread
44 sibling lists, depending on level just pick up what CPUs to put
45 together into a place vs. whether add multiple ordered places.
46
47 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
48
49 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
50 * libgomp.map (OACC_2.0.1): Add these.
51 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
52 for "acc_wait", and "acc_wait_all", respectively.
53 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
54 for "acc_wait", and "acc_wait_all", respectively.
55 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
56 * libgomp.texi (acc_wait, acc_wait_all): Update.
57 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
58 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
59 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
60
61 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
62 acc_present_or_copyin and acc_present_or_create procedures,
63 respectively.
64 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
65 generally different variants of OpenACC Runtime Library functions.
66 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
67
68 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
69 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
70
71 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
72 of preprocessor definitions.
73 * libgomp.h (strong_alias): Guard by "#ifdef
74 HAVE_ATTRIBUTE_ALIAS".
75 * oacc-mem.c: Provide "acc_pcreate" as alias for
76 "acc_present_or_create", and "acc_pcopyin" as alias for
77 "acc_present_or_copyin".
78 * libgomp.map: New version "OACC_2.0.1".
79 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
80 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
81 its content into...
82 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
83 Extend testing.
84
85 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
86 when disabling nvptx offloading.
87
88 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
89
90 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
91 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
92 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
93
94 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
95 * testsuite/lib/libgomp.exp
96 (check_effective_target_openacc_nvidia_accel_configured): New
97 proc.
98 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
99 (check_effective_target_c++): New procs.
100 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
101 (check_effective_target_c++): Likewise.
102
103 2017-05-22 Jakub Jelinek <jakub@redhat.com>
104
105 PR middle-end/80809
106 * testsuite/libgomp.c/pr80809-2.c: New test.
107 * testsuite/libgomp.c/pr80809-3.c: New test.
108
109 PR middle-end/80809
110 * testsuite/libgomp.c/pr80809-1.c: New test.
111
112 PR middle-end/80853
113 * testsuite/libgomp.c/pr80853.c: New test.
114
115 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
116
117 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
118 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
119 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
120 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
121 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
122
123 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
124 Debug output for failure.
125
126 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
127
128 * testsuite/lib/libgomp.exp: Load scanlang.exp.
129
130 2017-04-27 Jakub Jelinek <jakub@redhat.com>
131
132 PR bootstrap/80531
133 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
134 bootstrap compare failures.
135
136 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
137
138 * testsuite/libgomp.c/target-36.c: New testcase.
139
140 2017-04-13 Jakub Jelinek <jakub@redhat.com>
141
142 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
143 instead of char.
144
145 2017-04-11 Jakub Jelinek <jakub@redhat.com>
146
147 PR libgomp/80394
148 * testsuite/libgomp.c/pr80394.c: New test.
149
150 2017-04-04 Jakub Jelinek <jakub@redhat.com>
151
152 PR libgomp/79876
153 * config/posix/thread-stacksize.h: New file.
154 * config/darwin/thread-stacksize.h: New file.
155 * config/nvptx/thread-stacksize.h: New file.
156 * env.c: Include thread-stacksize.h.
157 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
158 instead of 0. Call pthread_attr_setstacksize even if
159 GOMP_DEFAULT_STACKSIZE is non-zero.
160
161 2017-03-30 Jakub Jelinek <jakub@redhat.com>
162
163 * env.c (initialize_env): Initialize stacksize to 0.
164
165 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
166
167 PR c++/80029
168 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
169
170 2017-03-08 Jakub Jelinek <jakub@redhat.com>
171
172 PR c/79940
173 * testsuite/libgomp.c/pr79940.c: New test.
174
175 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
176
177 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
178 targets.
179 Add __float128 options.
180
181 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
182
183 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
184 hppa*-*-* dg-skip-if directive.
185
186 2017-02-09 Jakub Jelinek <jakub@redhat.com>
187
188 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
189 dg-skip-if directive into a comment.
190
191 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
192 Chung-Lin Tang <cltang@codesourcery.com>
193
194 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
195 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
196 add additional case.
197 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
198 "openacc_nvidia_accel_selected".
199 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
200 Add num_workers(8) clause.
201
202 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
203
204 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
205 hppa*-*-*.
206 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
207 include complex.h on hppa*-*-hpux*.
208 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
209
210 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
211
212 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
213
214 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
215 GOMP_OFFLOAD_openacc_exec. Adjust all users.
216 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
217 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
218 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
219 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
220 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
221 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
222 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
223 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
224
225 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
226
227 * libgomp-plugin.h: #include <stdbool.h>.
228 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
229 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
230 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
231 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
232 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
233 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
234 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
235 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
236 (GOMP_OFFLOAD_openacc_register_async_cleanup)
237 (GOMP_OFFLOAD_openacc_async_test)
238 (GOMP_OFFLOAD_openacc_async_test_all)
239 (GOMP_OFFLOAD_openacc_async_wait)
240 (GOMP_OFFLOAD_openacc_async_wait_async)
241 (GOMP_OFFLOAD_openacc_async_wait_all)
242 (GOMP_OFFLOAD_openacc_async_wait_all_async)
243 (GOMP_OFFLOAD_openacc_async_set_async)
244 (GOMP_OFFLOAD_openacc_create_thread_data)
245 (GOMP_OFFLOAD_openacc_destroy_thread_data)
246 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
247 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
248 (GOMP_OFFLOAD_openacc_get_cuda_stream)
249 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
250 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
251 these.
252 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
253 (GOMP_OFFLOAD_unload_image): Fix argument types.
254
255 2017-01-26 Jakub Jelinek <jakub@redhat.com>
256
257 * testsuite/lib/libgomp.exp
258 (check_effective_target_hsa_offloading_selected_nocache): Fix up
259 check_compile invocation. Fix up removal of executable. Drop
260 bogus "2>&1" argument.
261
262 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
263 directive.
264
265 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
266 Martin Jambor <mjambor@suse.cz>
267
268 * plugin/hsa.h: Moved to top level include.
269 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
270
271 2017-01-21 Jakub Jelinek <jakub@redhat.com>
272
273 PR other/79046
274 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
275 of cat to get version from BASE-VER file.
276 * testsuite/Makefile.in: Regenerated.
277
278 2017-01-19 Jakub Jelinek <jakub@redhat.com>
279
280 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
281 for _WIN64.
282
283 2017-01-17 Jakub Jelinek <jakub@redhat.com>
284
285 * plugin/hsa.h: Add GCC runtime library exception.
286 * plugin/hsa_ext_finalize.h: Likewise.
287
288 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
289 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
290 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
291 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
292 plugin/include/cuda as include dir and -ldl instead of -lcuda as
293 library to link ptx plugin against.
294 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
295 (CUDA_CALLS): Define.
296 (cuda_lib, cuda_lib_inited): New variables.
297 (init_cuda_lib): New function.
298 (CUDA_CALL_PREFIX): Define.
299 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
300 (CUDA_CALL): Use FN instead of (FN).
301 (CUDA_CALL_NOCHECK): Define.
302 (cuda_error, fini_streams_for_device, select_stream_for_async,
303 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
304 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
305 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
306 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
307 CUDA_CALL_NOCHECK.
308 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
309 CUDA_CALL_NOCHECK.
310 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
311 Use CUDA_CALL_NOCHECK.
312 * plugin/cuda/cuda.h: New file.
313 * config.h.in: Regenerated.
314 * configure: Regenerated.
315
316 PR other/79046
317 * configure.ac: Add GCC_BASE_VER.
318 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
319 get version from BASE-VER file.
320 * testsuite/Makefile.in: Regenerated.
321 * configure: Regenerated.
322 * Makefile.in: Regenerated.
323
324 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
325
326 PR libgomp/60670
327 * Makefile.am: Make fincludedir multilib-aware.
328 * Makefile.in: Regenerate.
329
330 2017-01-01 Jakub Jelinek <jakub@redhat.com>
331
332 Update copyright years.
333
334 * libgomp.texi: Bump @copying's copyright year.
335
336 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
337
338 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
339 pthread_spinlock_t instead of gomp_mutex_t lock.
340 (gomp_get_thread_pool): Likewise.
341 (gomp_release_thread_pool): Likewise.
342 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
343 Likewise.
344
345 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
346
347 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
348 thread pool in case nthreads == 1.
349
350 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
351
352 * config/nvptx/env.c: Delete.
353 * icv.c: Move definitions of ICV variables back ...
354 * env.c: ...here. Do not compile environment-related functionality if
355 LIBGOMP_OFFLOADED_ONLY is set.
356
357 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
358
359 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
360 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
361 * configure: Regenerate.
362 * config.h.in: Likewise.
363
364 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
365
366 * Makefile.in: Regenerate with automake-1.11.6.
367 * aclocal.m4: Likewise.
368 * configure: Likewise.
369 * testsuite/Makefile.in: Likewise.
370
371 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
372
373 * config/nvptx/critical.c: Delete to use generic implementation.
374
375 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
376
377 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
378 ../../affinity.c as fallback.
379 * config/nvptx/affinity.c: Delete to use fallback implementation.
380
381 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
382 Jakub Jelinek <jakub@redhat.com>
383 Dmitry Melnik <dm@ispras.ru>
384
385 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
386 * Makefile.in. Regenerate.
387 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
388 (LIBGOMP_USE_PTHREADS): ...here; new define.
389 * configure: Regenerate.
390 * config.h.in: Likewise.
391 * config/posix/affinity.c: Move to...
392 * affinity.c: ...here (new file). Guard use of Pthreads-specific
393 interface by LIBGOMP_USE_PTHREADS.
394 * critical.c: Split out GOMP_atomic_{start,end} into...
395 * atomic.c: ...here (new file).
396 * env.c: Split out ICV definitions into...
397 * icv.c: ...here (new file) and...
398 * icv-device.c: ...here. New file.
399 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
400 (gomp_destroy_lock_30): Ditto.
401 (gomp_set_lock_30): Ditto.
402 (gomp_unset_lock_30): Ditto.
403 (gomp_test_lock_30): Ditto.
404 (gomp_init_nest_lock_30): Ditto.
405 (gomp_destroy_nest_lock_30): Ditto.
406 (gomp_set_nest_lock_30): Ditto.
407 (gomp_unset_nest_lock_30): Ditto.
408 (gomp_test_nest_lock_30): Ditto.
409 * lock.c: New.
410 * config/nvptx/lock.c: New.
411 * config/nvptx/bar.c: New.
412 * config/nvptx/bar.h: New.
413 * config/nvptx/doacross.h: New.
414 * config/nvptx/error.c: New.
415 * config/nvptx/icv-device.c: New.
416 * config/nvptx/mutex.h: New.
417 * config/nvptx/pool.h: New.
418 * config/nvptx/proc.c: New.
419 * config/nvptx/ptrlock.h: New.
420 * config/nvptx/sem.h: New.
421 * config/nvptx/simple-bar.h: New.
422 * config/nvptx/target.c: New.
423 * config/nvptx/task.c: New.
424 * config/nvptx/team.c: New.
425 * config/nvptx/time.c: New.
426 * config/posix/simple-bar.h: New.
427 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
428 (gomp_num_teams_var): Declare.
429 (struct gomp_thread_pool): Change threads_dock member to
430 gomp_simple_barrier_t.
431 [__nvptx__] (gomp_thread): New implementation.
432 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
433 (gomp_thread_destructor): Ditto.
434 (gomp_init_thread_affinity): Ditto.
435 * team.c: Guard uses of Pthreads-specific interfaces by
436 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
437 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
438 * config/nvptx/alloc.c: Delete.
439 * config/nvptx/barrier.c: Ditto.
440 * config/nvptx/fortran.c: Ditto.
441 * config/nvptx/iter.c: Ditto.
442 * config/nvptx/iter_ull.c: Ditto.
443 * config/nvptx/loop.c: Ditto.
444 * config/nvptx/loop_ull.c: Ditto.
445 * config/nvptx/ordered.c: Ditto.
446 * config/nvptx/parallel.c: Ditto.
447 * config/nvptx/priority_queue.c: Ditto.
448 * config/nvptx/sections.c: Ditto.
449 * config/nvptx/single.c: Ditto.
450 * config/nvptx/splay-tree.c: Ditto.
451 * config/nvptx/work.c: Ditto.
452 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
453 -foffload=-lgfortran in addition to -lgfortran.
454 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
455 * plugin/plugin-nvptx.c: Include <limits.h>.
456 (struct targ_fn_descriptor): Add new fields.
457 (struct ptx_device): Ditto. Set them...
458 (nvptx_open_device): ...here.
459 (nvptx_adjust_launch_bounds): New.
460 (nvptx_host2dev): Allow NULL 'nvthd'.
461 (nvptx_dev2host): Ditto.
462 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
463 (link_ptx): Adjust log sizes.
464 (nvptx_host2dev): Allow NULL 'nvthd'.
465 (nvptx_dev2host): Ditto.
466 (nvptx_set_clocktick): New. Use it...
467 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
468 fields.
469 (GOMP_OFFLOAD_dev2dev): New.
470 (nvptx_adjust_launch_bounds): New.
471 (nvptx_stacks_size): New.
472 (nvptx_stacks_alloc): New.
473 (nvptx_stacks_free): New.
474 (GOMP_OFFLOAD_run): New.
475 (GOMP_OFFLOAD_async_run): New (stub).
476
477 2016-11-23 Martin Jambor <mjambor@suse.cz>
478
479 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
480 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
481 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
482
483 2016-11-23 Martin Liska <mliska@suse.cz>
484 Martin Jambor <mjambor@suse.cz>
485
486 * plugin/hsa.h: New file.
487 * plugin/hsa_ext_finalize.h: New file.
488 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
489 header file unistd.h, and functions secure_getenv, __secure_getenv,
490 getuid, geteuid, getgid and getegid.
491 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
492 -D_GNU_SOURCE.
493 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
494 Handle various cases of secure_getenv presence, add an implementation
495 when we can test effective UID and GID.
496 (struct hsa_runtime_fn_info): New structure.
497 (hsa_runtime_fn_info hsa_fns): New variable.
498 (hsa_runtime_lib): Likewise.
499 (support_cpu_devices): Likewise.
500 (init_enviroment_variables): Load newly introduced ENV
501 variables.
502 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
503 (hsa_fatal): Likewise.
504 (DLSYM_FN): New macro.
505 (init_hsa_runtime_functions): New function.
506 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
507 structure. Depending on environment, also allow CPU devices.
508 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
509 (get_kernarg_memory_region): Likewise.
510 (GOMP_OFFLOAD_init_device): Likewise.
511 (destroy_hsa_program): Likewise.
512 (init_basic_kernel_info): New function.
513 (GOMP_OFFLOAD_load_image): Use it.
514 (create_and_finalize_hsa_program): Call hsa run-time functions via
515 hsa_fns structure.
516 (create_single_kernel_dispatch): Likewise.
517 (release_kernel_dispatch): Likewise.
518 (init_single_kernel): Likewise.
519 (parse_target_attributes): Allow up multiple HSA grid dimensions.
520 (get_group_size): New function.
521 (run_kernel): Likewise.
522 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
523 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
524 structure.
525 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
526 * testsuite/libgomp-test-support.exp.in: Likewise.
527 * Makefile.in: Regenerated.
528 * aclocal.m4: Likewise.
529 * config.h.in: Likewise.
530 * configure: Likewise.
531 * testsuite/Makefile.in: Likewise.
532
533 2016-11-15 Martin Jambor <mjambor@suse.cz>
534 Alexander Monakov <amonakov@ispras.ru>
535
536 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
537 mapping clauses to target constructs.
538 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
539
540 2016-11-15 Matthias Klose <doko@ubuntu.com>
541
542 * configure: Regenerate.
543
544 2016-11-10 Jakub Jelinek <jakub@redhat.com>
545
546 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
547 * omp_lib.h.in (openmp_version): Likewise.
548 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
549 of 201307.
550 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
551
552 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
553 (fib_wrapper): Add map(from: x) clause.
554 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
555 (e_53_2): Likewise.
556 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
557 (accum): Add map(tmp) clause.
558 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
559 (accum): Add map(tofrom: tmp) clause.
560 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
561 (gramSchmidt): Likewise.
562 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
563 map(tofrom: sum) clause.
564 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
565 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
566 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
567 only allowed on the loop iterator.
568 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
569 * testsuite/libgomp.fortran/taskloop2.f90: New test.
570 * testsuite/libgomp.fortran/taskloop4.f90: New test.
571 * testsuite/libgomp.fortran/doacross1.f90: New test.
572 * testsuite/libgomp.fortran/doacross3.f90: New test.
573 * testsuite/libgomp.fortran/taskloop1.f90: New test.
574 * testsuite/libgomp.fortran/taskloop3.f90: New test.
575 * testsuite/libgomp.fortran/doacross2.f90: New test.
576 * testsuite/libgomp.c/doacross-1.c (main): Add missing
577 #pragma omp atomic read.
578 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
579 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
580
581 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
582 Nathan Sidwell <nathan@acm.org>
583
584 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
585 to determine default geometry.
586 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
587 dimension.
588
589 2016-11-01 Jakub Jelinek <jakub@redhat.com>
590
591 * hashtab.h: Use standard GPLv3 with runtime exception
592 boilerplate.
593
594 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
595
596 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
597 size when allocating new thread.
598
599 2016-09-14 Marek Polacek <polacek@redhat.com>
600
601 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
602
603 2016-08-19 Jakub Jelinek <jakub@redhat.com>
604
605 PR fortran/71014
606 * testsuite/libgomp.fortran/pr71014.f90: New test.
607
608 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
609
610 PR middle-end/70895
611 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
612 firstprivate clauses.
613 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
614 copy clauses.
615 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
616 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
617 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
618 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
619 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
620 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
621 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
622 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
623 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
624 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
625 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
626 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
627
628 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
629
630 PR fortran/70598
631 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
632
633 2016-08-08 Jakub Jelinek <jakub@redhat.com>
634
635 PR c++/58706
636 * testsuite/libgomp.c++/pr58706.C: New test.
637
638 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
639
640 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
641 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
642 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
643 Likewise.
644 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
645 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
646 Likewise.
647 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
648
649 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
650 test, and don't hardcode -O0.
651
652 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
653
654 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
655
656 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
657
658 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
659 test.
660
661 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
662
663 PR middle-end/71734
664 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
665 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
666
667 2016-07-01 Jakub Jelinek <jakub@redhat.com>
668
669 PR fortran/71717
670 * testsuite/libgomp.fortran/associate3.f90: New test.
671
672 2016-06-17 Jakub Jelinek <jakub@redhat.com>
673
674 * testsuite/libgomp.c++/target-21.C: New test.
675
676 2016-06-16 Jakub Jelinek <jakub@redhat.com>
677
678 * testsuite/libgomp.c++/target-20.C: New test.
679
680 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
681 Cesar Philippidis <cesar@codesourcery.com>
682
683 PR middle-end/71373
684 * libgomp.oacc-c/nested-function-1.c: New file.
685 * libgomp.oacc-c/nested-function-2.c: Likewise.
686 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
687 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
688 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
689
690 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
691
692 PR c/71381
693 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
694 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
695 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
696
697 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
698
699 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
700 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
701
702 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
703
704 PR c/70688
705 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
706
707 2016-05-26 Jakub Jelinek <jakub@redhat.com>
708
709 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
710 instead of invalid schedule(static, 0).
711 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
712
713 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
714
715 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
716 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
717 parameter, use to set async stream around call to gomp_unmap_vars,
718 call gomp_unmap_vars() with 'do_copyfrom' set to true.
719 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
720 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
721 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
722 (event_add): Add int parameter, initialize 'val' field when
723 adding new ptx_event struct.
724 (nvptx_evec): Adjust event_add() call arguments.
725 (nvptx_host2dev): Likewise.
726 (nvptx_dev2host): Likewise.
727 (nvptx_wait_async): Likewise.
728 (nvptx_wait_all_async): Likewise.
729 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
730 pass to event_add() call.
731 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
732 parameter.
733 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
734 call openacc.register_async_cleanup_func() hook.
735 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
736 * target.c (gomp_copy_from_async): Delete function.
737 (gomp_map_vars): Remove async_refcount.
738 (gomp_unmap_vars): Likewise.
739 (gomp_load_image_to_device): Likewise.
740 (omp_target_associate_ptr): Likewise.
741 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
742 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
743 (gomp_copy_from_async): Remove.
744
745 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
746
747 * target.c (gomp_device_copy): New function.
748 (gomp_copy_host2dev): Likewise.
749 (gomp_copy_dev2host): Likewise.
750 (gomp_free_device_memory): Likewise.
751 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
752 (gomp_map_pointer): Likewise.
753 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
754 NULL value from alloc_func plugin hook.
755 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
756 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
757 (gomp_unmap_vars): Likewise.
758 (gomp_update): Adjust to call gomp_copy_dev2host and
759 gomp_copy_host2dev functions.
760 (gomp_unload_image_from_device): Handle false value from
761 unload_image_func plugin hook.
762 (gomp_init_device): Handle false value from init_device_func
763 plugin hook.
764 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
765 (omp_target_free): Adjust to call gomp_free_device_memory.
766 (omp_target_memcpy): Handle return values from host2dev_func,
767 dev2host_func, and dev2dev_func plugin hooks.
768 (omp_target_memcpy_rect_worker): Likewise.
769 (gomp_target_fini): Handle false value from fini_device_func
770 plugin hook.
771 * libgomp.h (struct gomp_device_descr): Adjust return type of
772 init_device_func, fini_device_func, unload_image_func, free_func,
773 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
774 * oacc-init.c (acc_shutdown_1): Handle false value from
775 fini_device_func plugin hook.
776 * oacc-host.c (host_init_device): Change return type to bool.
777 (host_fini_device): Likewise.
778 (host_unload_image): Likewise.
779 (host_free): Likewise.
780 (host_dev2host): Likewise.
781 (host_host2dev): Likewise.
782 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
783 (acc_memcpy_to_device): Likewise.
784 (acc_memcpy_from_device): Likewise.
785 (delete_copyout): Add libfnname parameter, handle free_func
786 hook fatal error case.
787 (acc_delete): Adjust delete_copyout call.
788 (acc_copyout): Likewise.
789 (update_dev_host): Move gomp_mutex_unlock to after
790 host2dev/dev2host hook calls.
791
792 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
793 to 'hsa_error_msg', for clarity.
794 (hsa_fatal): Likewise.
795 (hsa_error): New function.
796 (init_hsa_context): Change return type to bool, adjust to return
797 false on error.
798 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
799 return value.
800 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
801 return false on error.
802 (get_agent_info): Adjust to return NULL on error.
803 (destroy_hsa_program): Change return type to bool, adjust to
804 return false on error.
805 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
806 (destroy_module): Change return type to bool, adjust to
807 return false on error.
808 (GOMP_OFFLOAD_unload_image): Likewise.
809 (GOMP_OFFLOAD_fini_device): Likewise.
810 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
811 (GOMP_OFFLOAD_free): Change to return false when called.
812 (GOMP_OFFLOAD_dev2host): Likewise.
813 (GOMP_OFFLOAD_host2dev): Likewise.
814 (GOMP_OFFLOAD_dev2dev): Likewise.
815
816 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
817 (CUDA_CALL): Likewise.
818 (CUDA_CALL_ASSERT): Likewise.
819 (map_init): Change return type to bool, use CUDA_CALL* macros.
820 (map_fini): Likewise.
821 (init_streams_for_device): Change return type to bool, adjust
822 call to map_init.
823 (fini_streams_for_device): Change return type to bool, adjust
824 call to map_fini.
825 (select_stream_for_async): Release stream_lock before calls to
826 GOMP_PLUGIN_fatal, adjust call to map_init.
827 (nvptx_init): Use CUDA_CALL* macros.
828 (nvptx_attach_host_thread_to_device): Change return type to bool,
829 use CUDA_CALL* macros.
830 (nvptx_open_device): Use CUDA_CALL* macros.
831 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
832 macros.
833 (nvptx_get_num_devices): Use CUDA_CALL* macros.
834 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
835 (nvptx_exec): Use CUDA_CALL* macros.
836 (nvptx_alloc): Use CUDA_CALL* macros.
837 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
838 (nvptx_host2dev): Likewise.
839 (nvptx_dev2host): Likewise.
840 (nvptx_wait): Use CUDA_CALL* macros.
841 (nvptx_wait_async): Likewise.
842 (nvptx_wait_all): Likewise.
843 (nvptx_wait_all_async): Likewise.
844 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
845 use CUDA_CALL* macros, adjust call to map_fini.
846 (GOMP_OFFLOAD_init_device): Change return type to bool,
847 adjust code accordingly.
848 (GOMP_OFFLOAD_fini_device): Likewise.
849 (GOMP_OFFLOAD_load_image): Adjust calls to
850 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
851 use CUDA_CALL* macros.
852 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
853 return code.
854 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
855 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
856 handle error return.
857 (GOMP_OFFLOAD_dev2host): Likewise.
858 (GOMP_OFFLOAD_host2dev): Likewise.
859 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
860 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
861
862 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
863
864 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
865 (acc_free): Likewise.
866 (acc_memcpy_to_device): Likewise.
867 (acc_memcpy_from_device): Likewise.
868 (acc_deviceptr): Likewise.
869 (acc_hostptr): Likewise.
870 (acc_is_present): Likewise.
871 (acc_map_data): Likewise.
872 (acc_unmap_data): Likewise.
873 (present_create_copy): Likewise.
874 (delete_copyout): Likewise.
875 (update_dev_host): Likewise.
876 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
877 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
878 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
879 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
880 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
881 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
882 it only runs on nvptx targets.
883 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
884 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
885 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
886 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
887 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
888 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
889 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
890 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
891 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
892 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
893 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
894 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
895 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
896 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
897 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
898 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
899 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
900 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
901 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
902 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
903 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
904 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
905 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
906
907 2016-05-23 Martin Jambor <mjambor@suse.cz>
908
909 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
910
911 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
912
913 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
914 to gomp_init_targets_once.
915 (acc_set_device_type): Remove !cached_base_dev condition on call to
916 gomp_init_targets_once, move call to before acc_device_lock acquire,
917 to avoid deadlock.
918 (acc_get_device_num): Remove !cached_base_dev condition on call to
919 gomp_init_targets_once.
920 (acc_set_device_num): Likewise.
921
922 2016-05-16 Martin Jambor <mjambor@suse.cz>
923
924 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
925
926 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
927
928 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
929 expected partitioning.
930
931 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
932
933 PR middle-end/70626
934 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
935 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
936 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
937
938 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
939
940 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
941 non-fatal.
942
943 2016-04-19 Jakub Jelinek <jakub@redhat.com>
944
945 PR middle-end/70680
946 * testsuite/libgomp.c/pr70680-1.c: New test.
947 * testsuite/libgomp.c/pr70680-2.c: New test.
948
949 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
950
951 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
952 pass parameter variables to subroutines.
953
954 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
955
956 PR middle-end/70643
957 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
958
959 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
960
961 PR testsuite/68242
962 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
963 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
964
965 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
966
967 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
968 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
969 GOACC_declare prototype.
970
971 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
972 Merge this file, and...
973 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
974 ... this file, and...
975 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
976 ... this file, and...
977 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
978 ... this file, and...
979 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
980 ... this file, and...
981 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
982 ... this file, and...
983 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
984 ... this file, and...
985 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
986 ... this file, and...
987 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
988 ... this file, and...
989 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
990 ... this file, and...
991 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
992 ... this file, and...
993 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
994 ... this file, and...
995 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
996 ... this file into...
997 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
998 file.
999
1000 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1001 Make failure observable.
1002
1003 2016-04-12 Jakub Jelinek <jakub@redhat.com>
1004
1005 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
1006 field.
1007 * target.c (gomp_target_fallback_firstprivate,
1008 gomp_target_unshare_firstprivate): Removed.
1009 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
1010 before waiting for dependencies.
1011 (gomp_target_task_fn): Don't copy firstprivate vars here.
1012 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
1013 firstprivate_copies here.
1014 (gomp_create_target_task): Don't initialize firstprivate_copies field.
1015 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
1016 explicit/implicit firstprivate.
1017
1018 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
1019
1020 PR lto/70289
1021 PR ipa/70348
1022 PR tree-optimization/70373
1023 PR middle-end/70533
1024 PR middle-end/70534
1025 PR middle-end/70535
1026 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
1027 test.
1028 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
1029 test.
1030 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
1031 test.
1032 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
1033 test.
1034 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
1035 test.
1036 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
1037 test.
1038 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
1039 test.
1040 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
1041 test.
1042 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
1043 test.
1044 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
1045 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
1046 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
1047 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
1048 test.
1049 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
1050 test.
1051 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
1052 test.
1053 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
1054 test.
1055 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
1056 coverage.
1057 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1058 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1059 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
1060 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
1061 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
1062 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
1063 coverage.
1064 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1065 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1066 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1067 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1068 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
1069 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
1070 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
1071 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
1072 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
1073 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
1074 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
1075 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
1076 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1077 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1078 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
1079
1080 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
1081 James Norris <jnorris@codesourcery.com>
1082 Nathan Sidwell <nathan@codesourcery.com>
1083 Julian Brown <julian@codesourcery.com>
1084 Cesar Philippidis <cesar@codesourcery.com>
1085 Chung-Lin Tang <cltang@codesourcery.com>
1086 Tom de Vries <tom@codesourcery.com>
1087
1088 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
1089 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
1090 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
1091 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
1092 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1093 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1094 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1095 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
1096 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
1097 XFAIL.
1098 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
1099 Incorporate...
1100 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
1101 file.
1102 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
1103 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
1104 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
1105 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
1106 Likewise.
1107 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1108 Likewise.
1109 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1110 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
1111 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
1112 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1113 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
1114 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
1115 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
1116 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
1117 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1118 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
1119 Likewise.
1120 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
1121 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1122 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
1123 file...
1124 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
1125 file into...
1126 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
1127 file. Update.
1128 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
1129 file.
1130 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
1131 Likewise.
1132 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
1133 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
1134 ... this new file. Update.
1135 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
1136 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
1137 ... this new file. Update.
1138 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
1139 file. Incorporate...
1140 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
1141 file, and...
1142 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
1143 file, and...
1144 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
1145 file.
1146 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
1147
1148 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
1149
1150 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
1151 set-torture-options.
1152
1153 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
1154
1155 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
1156 gcc-dg-runtest.
1157 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1158 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
1159 -fno-builtin-acc_on_device instead of -O0.
1160 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
1161 -O0.
1162 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
1163 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
1164 Likewise.
1165 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
1166 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
1167 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
1168 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1169 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1170 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1171 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1172 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1173 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1174 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1175 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1176 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1177 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
1178 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
1179 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
1180 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1181 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
1182 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
1183 Don't specify -O2.
1184 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
1185 Likewise.
1186 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
1187 Likewise.
1188
1189 2016-03-24 Martin Liska <mliska@suse.cz>
1190
1191 * plugin/plugin-hsa.c (packet_store_release): New function
1192 that is taken from the HSA runtime manual.
1193 (GOMP_OFFLOAD_run): Use the function.
1194
1195 2016-03-23 Jakub Jelinek <jakub@redhat.com>
1196
1197 PR c++/70376
1198 * testsuite/libgomp.c++/pr70376.C: New test.
1199
1200 2016-03-23 Tom de Vries <tom@codesourcery.com>
1201
1202 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
1203 initialization of lresult and lvresult.
1204 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
1205
1206 2016-03-23 James Norris <jnorris@codesourcery.com>
1207 Daichi Fukuoka <dc-fukuoka@sgi.com>
1208
1209 PR libgomp/69414
1210 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
1211 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
1212 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
1213 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
1214
1215 2016-03-23 Martin Liska <mliska@suse.cz>
1216
1217 PR hsa/70337
1218 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
1219 argument just in case a dispatched kernel uses that argument.
1220
1221 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
1222
1223 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
1224 -ftree-parallelize-loops/-fopenacc changes.
1225 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
1226 Likewise.
1227 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
1228 Likewise.
1229 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
1230 Likewise.
1231 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
1232 Likewise.
1233 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
1234 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
1235
1236 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
1237
1238 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
1239 always_ld_library_path the path to libgcc_s.
1240
1241 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
1242
1243 PR testsuite/70009
1244 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
1245
1246 2016-03-09 Tom de Vries <tom@codesourcery.com>
1247
1248 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
1249 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
1250 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
1251 Same.
1252 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
1253 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
1254 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
1255 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
1256
1257 2016-03-07 Martin Jambor <mjambor@suse.cz>
1258
1259 * testsuite/lib/libgomp.exp
1260 (check_effective_target_hsa_offloading_selected_nocache): New.
1261 (check_effective_target_hsa_offloading_selected): Likewise.
1262 * testsuite/libgomp.hsa.c/c.exp: Likewise.
1263 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
1264 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
1265 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
1266 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
1267 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
1268 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
1269 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
1270 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
1271 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
1272 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
1273 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
1274 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
1275 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
1276 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
1277 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
1278 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
1279
1280 2016-03-07 Martin Jambor <mjambor@suse.cz>
1281
1282 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
1283 non-shared memory accelerators.
1284 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
1285 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
1286 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
1287 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
1288 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
1289 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
1290 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
1291 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
1292 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
1293
1294 2016-03-07 Martin Jambor <mjambor@suse.cz>
1295
1296 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
1297 ALWAYS_CFLAGS.
1298
1299 2016-03-02 Jakub Jelinek <jakub@redhat.com>
1300
1301 PR libgomp/69555
1302 * testsuite/libgomp.c++/pr69555-1.C: New test.
1303 * testsuite/libgomp.c++/pr69555-2.C: New test.
1304
1305 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
1306 Martin Jambor <mjambor@suse.cz>
1307
1308 * testsuite/lib/libgomp.exp
1309 (check_effective_target_offload_device_shared_as): New proc.
1310 * testsuite/libgomp.c++/declare_target-1.C: New test.
1311
1312 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
1313
1314 PR driver/68463
1315 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
1316
1317 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
1318
1319 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
1320 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
1321 dims.
1322 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
1323 -ftree-parallelize-loops/-fopenacc changes.
1324 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
1325 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
1326 Likewise.
1327 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
1328 Likewise.
1329 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
1330 Likewise.
1331 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
1332 Likewise.
1333 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
1334 Likewise.
1335 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
1336 Likewise.
1337 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
1338 Likewise.
1339 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
1340 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
1341 Likewise.
1342 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
1343 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
1344 Likewise.
1345 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
1346 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
1347 Likewise.
1348
1349 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
1350
1351 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
1352
1353 2016-02-19 Jakub Jelinek <jakub@redhat.com>
1354
1355 PR driver/69805
1356 * testsuite/libgomp.c/pr69805.c: New test.
1357
1358 2016-02-16 Tom de Vries <tom@codesourcery.com>
1359
1360 PR lto/67709
1361 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
1362
1363 2016-02-09 Tom de Vries <tom@codesourcery.com>
1364
1365 PR tree-optimization/69599
1366 * testsuite/libgomp.c/omp-nested-3.c: New test.
1367 * testsuite/libgomp.c/pr46032-2.c: New test.
1368 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
1369 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
1370
1371 2016-02-09 Tom de Vries <tom@codesourcery.com>
1372
1373 PR lto/69707
1374 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
1375
1376 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
1377
1378 * testsuite/libgomp.c/target-31.c: Fix testcase.
1379
1380 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
1381
1382 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
1383 clause.
1384 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
1385 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
1386 reduction and map clauses.
1387 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
1388
1389 2016-02-02 James Norris <jnorris@codesourcery.com>
1390
1391 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
1392
1393 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
1394
1395 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
1396 * oacc-parallel.c (GOACC_host_data): Remove function definition.
1397
1398 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
1399 cases.
1400
1401 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
1402 variables.
1403 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
1404 (hsa_kmt_lib): Set variables.
1405 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
1406 always_ld_library_path.
1407 * Makefile.in: Regenerate.
1408 * configure: Likewise.
1409 * testsuite/Makefile.in: Likewise.
1410
1411 * plugin/configfrag.ac (offload_additional_options)
1412 (offload_additional_lib_paths): Don't amend for hsa offloading.
1413 * configure: Regenerate.
1414
1415 * plugin/configfrag.ac: Don't configure for offloading target if
1416 we don't build the corresponding plugin.
1417 * configure: Regenerate.
1418
1419 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
1420
1421 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
1422 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
1423
1424 2016-01-26 Tom de Vries <tom@codesourcery.com>
1425
1426 PR tree-optimization/69110
1427 * testsuite/libgomp.c/pr69110.c: New test.
1428
1429 2016-01-25 Richard Biener <rguenther@suse.de>
1430
1431 PR lto/69393
1432 * testsuite/libgomp.c++/pr69393.C: New testcase.
1433
1434 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
1435
1436 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
1437 function wasn't mapped to the device with non-shared memory.
1438
1439 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
1440
1441 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
1442
1443 2016-01-19 Martin Jambor <mjambor@suse.cz>
1444 Martin Liska <mliska@suse.cz>
1445
1446 * plugin/Makefrag.am: Add HSA plugin requirements.
1447 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
1448 (HSA_RUNTIME_LIB): Likewise.
1449 (HSA_RUNTIME_CPPFLAGS): Likewise.
1450 (HSA_RUNTIME_INCLUDE): New substitution.
1451 (HSA_RUNTIME_LIB): Likewise.
1452 (HSA_RUNTIME_LDFLAGS): Likewise.
1453 (hsa-runtime): New configure option.
1454 (hsa-runtime-include): Likewise.
1455 (hsa-runtime-lib): Likewise.
1456 (PLUGIN_HSA): New substitution variable.
1457 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
1458 configure options.
1459 (PLUGIN_HSA_CPPFLAGS): Likewise.
1460 (PLUGIN_HSA_LDFLAGS): Likewise.
1461 (PLUGIN_HSA_LIBS): Likewise.
1462 Check that we have access to HSA run-time.
1463 * libgomp-plugin.h (offload_target_type): New element
1464 OFFLOAD_TARGET_TYPE_HSA.
1465 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
1466 args.
1467 (bool gomp_create_target_task): Updated.
1468 (gomp_device_descr): Extra parameter of run_func and async_run_func,
1469 new field can_run_func.
1470 * libgomp_g.h (GOMP_target_ext): Update prototype.
1471 * oacc-host.c (host_run): Added a new parameter args.
1472 * target.c (calculate_firstprivate_requirements): New function.
1473 (copy_firstprivate_data): Likewise.
1474 (gomp_target_fallback_firstprivate): Use them.
1475 (gomp_target_unshare_firstprivate): New function.
1476 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
1477 devices.
1478 (GOMP_target): Do host fallback for all shared memory devices. Do not
1479 pass any args to plugins.
1480 (GOMP_target_ext): Introduce device-specific argument parameter args.
1481 Allow host fallback if device shares memory. Do not remap data if
1482 device has shared memory.
1483 (gomp_target_task_fn): Likewise. Also treat shared memory devices
1484 like host fallback for mappings.
1485 (GOMP_target_data): Treat shared memory devices like host fallback.
1486 (GOMP_target_data_ext): Likewise.
1487 (GOMP_target_update): Likewise.
1488 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
1489 gomp_create_target_task.
1490 (GOMP_target_enter_exit_data): Likewise.
1491 (omp_target_alloc): Treat shared memory devices like host fallback.
1492 (omp_target_free): Likewise.
1493 (omp_target_is_present): Likewise.
1494 (omp_target_memcpy): Likewise.
1495 (omp_target_memcpy_rect): Likewise.
1496 (omp_target_associate_ptr): Likewise.
1497 (gomp_load_plugin_for_device): Also load can_run.
1498 * task.c (GOMP_PLUGIN_target_task_completion): Free
1499 firstprivate_copies.
1500 (gomp_create_target_task): Accept new argument args and store it to
1501 ttask.
1502 * plugin/plugin-hsa.c: New file.
1503
1504 2016-01-18 Tom de Vries <tom@codesourcery.com>
1505
1506 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
1507 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
1508 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
1509 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
1510 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
1511 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
1512 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
1513 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
1514 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
1515 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
1516 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
1517 Same.
1518 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
1519 Same.
1520 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
1521 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
1522 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
1523 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
1524 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
1525 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
1526 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
1527 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
1528 Same.
1529 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
1530
1531 2016-01-15 Jakub Jelinek <jakub@redhat.com>
1532
1533 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
1534
1535 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
1536
1537 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
1538
1539 2016-01-12 James Norris <jnorris@codesourcery.com>
1540
1541 * libgomp.texi: Updates for OpenACC.
1542
1543 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
1544
1545 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
1546
1547 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
1548
1549 PR fortran/66680
1550 * testsuite/libgomp.fortran/pr66680.f90: New test.
1551
1552 2016-01-07 Jakub Jelinek <jakub@redhat.com>
1553
1554 PR middle-end/68960
1555 * testsuite/libgomp.c/pr68960.c: New test.
1556
1557 2016-01-06 Nathan Sidwell <nathan@acm.org>
1558
1559 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
1560 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
1561
1562 2016-01-04 Jakub Jelinek <jakub@redhat.com>
1563
1564 Update copyright years.
1565
1566 * libgomp.texi: Bump @copying's copyright year.
1567
1568 2015-12-31 Nathan Sidwell <nathan@acm.org>
1569
1570 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
1571 dg-additional-options syntax.
1572 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1573 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
1574 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
1575 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1576 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
1577 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
1578 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1579 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
1580 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1581 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
1582 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1583 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
1584 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1585 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1586 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1587 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
1588 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1589 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1590
1591 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1592
1593 * libgomp.h (REFCOUNT_LINK): Define.
1594 (struct splay_tree_key_s): Add link_key.
1595 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
1596 Replace target address of the pointer with target address of newly
1597 mapped object in the splay tree. Set link pointer on target to the
1598 device address of the mapped object.
1599 (gomp_unmap_vars): Restore target address of the pointer in the splay
1600 tree for REFCOUNT_LINK objects after unmapping.
1601 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
1602 declare target link" objects.
1603 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
1604 "omp declare target link" objects, which were mapped for the image.
1605 (gomp_exit_data): Restore target address of the pointer in the splay
1606 tree for REFCOUNT_LINK objects after unmapping.
1607 * testsuite/libgomp.c/target-link-1.c: New file.
1608
1609 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
1610
1611 * libgomp.h (gomp_device_state): New enum.
1612 (struct gomp_device_descr): Replace is_initialized with state.
1613 (gomp_fini_device): Remove declaration.
1614 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
1615 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
1616 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
1617 (acc_set_device_type): Use state instead of is_initialized.
1618 (acc_set_device_num): Likewise.
1619 * target.c (resolve_device): Use state instead of is_initialized.
1620 Do not initialize finalized device.
1621 (gomp_map_vars): Do nothing if device is finalized.
1622 (gomp_unmap_vars): Likewise.
1623 (gomp_update): Likewise.
1624 (GOMP_offload_register_ver): Use state instead of is_initialized.
1625 (GOMP_offload_unregister_ver): Likewise.
1626 (gomp_init_device): Likewise.
1627 (gomp_unload_device): Likewise.
1628 (gomp_fini_device): Remove.
1629 (gomp_get_target_fn_addr): Do nothing if device is finalized.
1630 (GOMP_target): Go to host fallback if device is finalized.
1631 (GOMP_target_ext): Likewise.
1632 (gomp_exit_data): Do nothing if device is finalized.
1633 (gomp_target_task_fn): Go to host fallback if device is finalized.
1634 (gomp_target_fini): New static function.
1635 (gomp_target_init): Use state instead of is_initialized.
1636 Call gomp_target_fini at exit.
1637
1638 2015-12-09 Tom de Vries <tom@codesourcery.com>
1639
1640 PR tree-optimization/68716
1641 * testsuite/libgomp.c/omp-nested-2.c: New test.
1642
1643 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
1644
1645 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
1646 target openacc_nvidia_accel_selected.
1647 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
1648 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
1649 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
1650 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
1651
1652 2015-12-01 Julian Brown <julian@codesourcery.com>
1653 James Norris <James_Norris@mentor.com>
1654
1655 * oacc-parallel.c (GOACC_host_data): New function.
1656 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
1657 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
1658 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
1659 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
1660 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
1661 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
1662 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
1663
1664 2015-11-30 James Norris <jnorris@codesourcery.com>
1665 Cesar Philippidis <cesar@codesourcery.com>
1666
1667 libgomp/
1668 * libgomp.oacc-fortran/routine-5.f90: New test.
1669 * libgomp.oacc-fortran/routine-7.f90: New test.
1670 * libgomp.oacc-fortran/routine-9.f90: New test.
1671
1672 2015-11-30 Tom de Vries <tom@codesourcery.com>
1673
1674 PR tree-optimization/46032
1675 * testsuite/libgomp.c/pr46032.c: New test.
1676
1677 2015-11-27 Jakub Jelinek <jakub@redhat.com>
1678
1679 PR libgomp/68579
1680 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
1681 (gomp_create_target_task): Call it before freeing
1682 GOMP_TARGET_TASK_DATA tasks.
1683
1684 PR c/63326
1685 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
1686 in between case label and OpenMP standalone directives.
1687 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
1688
1689 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
1690
1691 * configure: Regenerate.
1692
1693 2015-11-26 Jakub Jelinek <jakub@redhat.com>
1694
1695 * testsuite/libgomp.c/target-35.c: New test.
1696
1697 2015-11-22 James Norris <jnorris@codesourcery.com>
1698 Cesar Philippidis <cesar@codesourcery.com>
1699
1700 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
1701 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
1702 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
1703 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
1704 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
1705
1706 2015-11-20 Jakub Jelinek <jakub@redhat.com>
1707
1708 PR middle-end/68221
1709 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
1710 * testsuite/libgomp.c/reduction-12.c: Likewise.
1711 * testsuite/libgomp.c++/reduction-11.C: Likewise.
1712 * testsuite/libgomp.c++/reduction-12.C: Likewise.
1713
1714 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
1715
1716 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
1717 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
1718 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
1719 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
1720 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
1721 and fix.
1722 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1723 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1724
1725 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
1726
1727 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
1728 worker & gang cases.
1729 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
1730
1731 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
1732
1733 * config/nvptx/priority_queue.c: New file.
1734
1735 2015-11-14 Jakub Jelinek <jakub@redhat.com>
1736
1737 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
1738 sections.
1739
1740 2015-11-14 Jakub Jelinek <jakub@redhat.com>
1741 Aldy Hernandez <aldyh@redhat.com>
1742 Ilya Verbin <ilya.verbin@intel.com>
1743
1744 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
1745 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
1746 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
1747 iterators or IV by chunk size.
1748 * parallel.c (gomp_resolve_num_threads): Don't assume that
1749 if thr->ts.team is non-NULL, then pool must be non-NULL.
1750 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
1751 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
1752 GOMP_PLUGIN_target_task_completion.
1753 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
1754 * Makefile.in: Regenerate.
1755 * libgomp.h: Shuffle prototypes and forward definitions around so
1756 priority queues can be defined.
1757 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
1758 (enum gomp_target_task_state): New enum.
1759 (struct gomp_target_task): Add state, tgt, task and team fields.
1760 (gomp_create_target_task): Change return type to bool, add
1761 state argument.
1762 (gomp_target_task_fn): Change return type to bool.
1763 (struct gomp_device_descr): Add async_run_func.
1764 (struct gomp_task): Remove children, next_child, prev_child,
1765 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
1766 Add pnode field.
1767 (struct gomp_taskgroup): Remove children.
1768 Add taskgroup_queue.
1769 (struct gomp_team): Change task_queue type to a priority queue.
1770 (splay_compare): Define inline.
1771 (priority_queue_offset): New.
1772 (priority_node_to_task): New.
1773 (task_to_priority_node): New.
1774 * oacc-mem.c: Do not include splay-tree.h.
1775 * priority_queue.c: New file.
1776 * priority_queue.h: New file.
1777 * splay-tree.c: Do not include splay-tree.h.
1778 (splay_tree_foreach_internal): New.
1779 (splay_tree_foreach): New.
1780 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
1781 (splay_tree_callback): Define typedef.
1782 * target.c (splay_compare): Move to libgomp.h.
1783 (GOMP_target): Don't adjust *thr in any way around running offloaded
1784 task.
1785 (GOMP_target_ext): Likewise. Handle target nowait.
1786 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
1787 return value from gomp_create_target_task, if false, fallthrough
1788 as if no dependencies exist.
1789 (gomp_target_task_fn): Change return type to bool, return true
1790 if the task should have another part scheduled later. Handle
1791 target nowait.
1792 (gomp_load_plugin_for_device): Initialize async_run.
1793 * task.c (gomp_init_task): Initialize children_queue.
1794 (gomp_clear_parent_in_list): New.
1795 (gomp_clear_parent_in_tree): New.
1796 (gomp_clear_parent): Handle priorities.
1797 (GOMP_task): Likewise.
1798 (priority_queue_move_task_first,
1799 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
1800 New functions.
1801 (gomp_create_target_task): Use priority queues. Change return type
1802 to bool, add state argument, return false if for async
1803 {{enter,exit} data,update} constructs no dependencies need to be
1804 waited for, handle target nowait. Set task->fn to NULL instead of
1805 gomp_target_task_fn.
1806 (verify_children_queue): Remove.
1807 (priority_list_upgrade_task): New.
1808 (priority_queue_upgrade_task): New.
1809 (verify_task_queue): Remove.
1810 (priority_list_downgrade_task): New.
1811 (priority_queue_downgrade_task): New.
1812 (gomp_task_run_pre): Use priority queues.
1813 Abstract code out to priority_queue_downgrade_task.
1814 (gomp_task_run_post_handle_dependers): Use priority queues.
1815 (gomp_task_run_post_remove_parent): Likewise.
1816 (gomp_task_run_post_remove_taskgroup): Likewise.
1817 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
1818 tasks specially.
1819 (GOMP_taskwait): Likewise.
1820 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
1821 priority-queue_upgrade_task.
1822 (GOMP_taskgroup_start): Use priority queues.
1823 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
1824 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
1825 barrier.
1826 * taskloop.c (GOMP_taskloop): Handle priorities.
1827 * team.c (gomp_new_team): Call priority_queue_init.
1828 (free_team): Call priority_queue_free.
1829 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
1830 team created for target nowait in implicit parallel region.
1831 (gomp_team_start): For nested check, test thr->ts.level instead of
1832 thr->ts.team != NULL.
1833 * testsuite/libgomp.c/doacross-3.c: New test.
1834 * testsuite/libgomp.c/ordered-5.c: New test.
1835 * testsuite/libgomp.c/priority.c: New test.
1836 * testsuite/libgomp.c/target-31.c: New test.
1837 * testsuite/libgomp.c/target-32.c: New test.
1838 * testsuite/libgomp.c/target-33.c: New test.
1839 * testsuite/libgomp.c/target-34.c: New test.
1840
1841 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
1842
1843 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
1844
1845 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
1846 loop is sequential.
1847
1848 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
1849
1850 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
1851 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
1852
1853 2015-11-12 James Norris <jnorris@codesourcery.com>
1854 Joseph Myers <joseph@codesourcery.com>
1855
1856 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
1857 * oacc-parallel.c (GOACC_declare): New function.
1858 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
1859 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
1860 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
1861 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
1862 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
1863
1864 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
1865
1866 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
1867
1868 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
1869
1870 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
1871 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
1872
1873 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
1874
1875 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
1876 inadvertent commit.
1877
1878 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
1879
1880 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
1881 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
1882 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
1883 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
1884 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
1885
1886 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
1887
1888 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
1889 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1890
1891 2015-11-05 Jakub Jelinek <jakub@redhat.com>
1892 Ilya Verbin <ilya.verbin@intel.com>
1893
1894 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
1895 GOMP_loop_nonmonotonic_dynamic_start,
1896 GOMP_loop_nonmonotonic_guided_next,
1897 GOMP_loop_nonmonotonic_guided_start,
1898 GOMP_loop_ull_nonmonotonic_dynamic_next,
1899 GOMP_loop_ull_nonmonotonic_dynamic_start,
1900 GOMP_loop_ull_nonmonotonic_guided_next,
1901 GOMP_loop_ull_nonmonotonic_guided_start,
1902 GOMP_parallel_loop_nonmonotonic_dynamic,
1903 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
1904 (GOMP_target_41): Renamed to ...
1905 (GOMP_target_ext): ... this. Add num_teams and thread_limit
1906 arguments.
1907 (GOMP_target_data_41): Renamed to ...
1908 (GOMP_target_data_ext): ... this.
1909 (GOMP_target_update_41): Renamed to ...
1910 (GOMP_target_update_ext): ... this.
1911 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
1912 GOMP_target_data_ext and GOMP_target_update_ext instead of
1913 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
1914 Export GOMP_loop_nonmonotonic_dynamic_next,
1915 GOMP_loop_nonmonotonic_dynamic_start,
1916 GOMP_loop_nonmonotonic_guided_next,
1917 GOMP_loop_nonmonotonic_guided_start,
1918 GOMP_loop_ull_nonmonotonic_dynamic_next,
1919 GOMP_loop_ull_nonmonotonic_dynamic_start,
1920 GOMP_loop_ull_nonmonotonic_guided_next,
1921 GOMP_loop_ull_nonmonotonic_guided_start,
1922 GOMP_parallel_loop_nonmonotonic_dynamic and
1923 GOMP_parallel_loop_nonmonotonic_guided.
1924 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
1925 GOMP_parallel_loop_nonmonotonic_guided,
1926 GOMP_loop_nonmonotonic_dynamic_start,
1927 GOMP_loop_nonmonotonic_guided_start,
1928 GOMP_loop_nonmonotonic_dynamic_next,
1929 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
1930 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
1931 GOMP_loop_ull_nonmonotonic_guided_start,
1932 GOMP_loop_ull_nonmonotonic_dynamic_next,
1933 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
1934 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
1935 functions.
1936 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
1937 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
1938 Use gomp_map_val function.
1939 (gomp_target_fallback_firstprivate): New static function.
1940 (GOMP_target_41): Renamed to ...
1941 (GOMP_target_ext): ... this. Add num_teams and thread_limit
1942 arguments. Move firstprivate fallback handling into a new
1943 function.
1944 (GOMP_target_data_41): Renamed to ...
1945 (GOMP_target_data_ext): ... this.
1946 (GOMP_target_update_41): Renamed to ...
1947 (GOMP_target_update_ext): ... this.
1948 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
1949 gomp_map_0len_lookup instead of gomp_map_lookup.
1950 (omp_target_is_present): Use gomp_map_0len_lookup instead of
1951 gomp_map_lookup.
1952 * testsuite/libgomp.c/target-28.c: Likewise.
1953 * testsuite/libgomp.c/monotonic-1.c: New test.
1954 * testsuite/libgomp.c/monotonic-2.c: New test.
1955 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
1956 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
1957 * testsuite/libgomp.c/pr66199-5.c: New test.
1958 * testsuite/libgomp.c/pr66199-6.c: New test.
1959 * testsuite/libgomp.c/pr66199-7.c: New test.
1960 * testsuite/libgomp.c/pr66199-8.c: New test.
1961 * testsuite/libgomp.c/pr66199-9.c: New test.
1962 * testsuite/libgomp.c/reduction-11.c: New test.
1963 * testsuite/libgomp.c/reduction-12.c: New test.
1964 * testsuite/libgomp.c/reduction-13.c: New test.
1965 * testsuite/libgomp.c/reduction-14.c: New test.
1966 * testsuite/libgomp.c/reduction-15.c: New test.
1967 * testsuite/libgomp.c/target-12.c (main): Adjust for
1968 omp_target_is_present change for one-past-last element.
1969 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
1970 the same var is both mapped and privatized.
1971 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
1972 handling of zero-length array sections.
1973 * testsuite/libgomp.c/target-28.c: New test.
1974 * testsuite/libgomp.c/target-29.c: New test.
1975 * testsuite/libgomp.c/target-30.c: New test.
1976 * testsuite/libgomp.c/target-teams-1.c: New test.
1977 * testsuite/libgomp.c++/member-6.C: New test.
1978 * testsuite/libgomp.c++/member-7.C: New test.
1979 * testsuite/libgomp.c++/monotonic-1.C: New test.
1980 * testsuite/libgomp.c++/monotonic-2.C: New test.
1981 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
1982 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
1983 * testsuite/libgomp.c++/pr66199-3.C: New test.
1984 * testsuite/libgomp.c++/pr66199-4.C: New test.
1985 * testsuite/libgomp.c++/pr66199-5.C: New test.
1986 * testsuite/libgomp.c++/pr66199-6.C: New test.
1987 * testsuite/libgomp.c++/pr66199-7.C: New test.
1988 * testsuite/libgomp.c++/pr66199-8.C: New test.
1989 * testsuite/libgomp.c++/pr66199-9.C: New test.
1990 * testsuite/libgomp.c++/reduction-11.C: New test.
1991 * testsuite/libgomp.c++/reduction-12.C: New test.
1992 * testsuite/libgomp.c++/target-13.C: New test.
1993 * testsuite/libgomp.c++/target-14.C: New test.
1994 * testsuite/libgomp.c++/target-15.C: New test.
1995 * testsuite/libgomp.c++/target-16.C: New test.
1996 * testsuite/libgomp.c++/target-17.C: New test.
1997 * testsuite/libgomp.c++/target-18.C: New test.
1998 * testsuite/libgomp.c++/target-19.C: New test.
1999
2000 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2001
2002 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
2003 and reduction copy.
2004 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2005 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2006 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2007 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2008 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2009 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
2010 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
2011 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2012 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
2013 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
2014 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
2015 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2016 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
2017 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
2018
2019 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2020
2021 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
2022 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
2023 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
2024 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
2025 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
2026 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
2027 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
2028 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
2029
2030 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
2031
2032 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
2033 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
2034 (GOMP_OFFLOAD_openacc_parallel): Likewise.
2035 * oacc-host.c (host_openacc_exec): Likewise.
2036 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
2037
2038 2015-11-03 Julian Brown <julian@codesourcery.com>
2039 Thomas Schwinge <thomas@codesourcery.com>
2040
2041 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
2042 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2043 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
2044 Likewise.
2045 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
2046 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
2047
2048 2015-11-03 James Norris <jnorris@codesourcery.com>
2049
2050 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
2051 file.
2052 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
2053 Likewise.
2054 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
2055 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
2056 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
2057 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
2058 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
2059
2060 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
2061
2062 * openacc.h (enum acc_device_t): Reformat. Ensure layout
2063 compatibility.
2064 (enum acc_async_t): Reformat.
2065 (acc_on_device): Declare compatible with builtin and provide C++
2066 wrapper.
2067 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
2068
2069 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
2070 Cesar Philippidis <cesar@codesourcery.com>
2071
2072 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
2073 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
2074 ... this. Add a description of the test at the top of the file.
2075 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
2076 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
2077 ... this. Add a description of the test at the top of the file.
2078
2079 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
2080
2081 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
2082 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
2083 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
2084 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
2085 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
2086 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
2087
2088 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
2089
2090 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
2091 dimensions.
2092
2093 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
2094
2095 PR testsuite/68063
2096 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
2097
2098 2015-10-27 James Norris <jnorris@codesourcery.com>
2099
2100 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
2101 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
2102
2103 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
2104
2105 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
2106 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
2107
2108 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
2109 acc_device_nvidia usage.
2110 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
2111 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
2112 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
2113
2114 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
2115 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
2116
2117 PR libgomp/66518
2118 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
2119
2120 PR libgomp/65437
2121 PR libgomp/66518
2122 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
2123 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
2124
2125 2015-10-23 Tom de Vries <tom@codesourcery.com>
2126
2127 PR testsuite/68063
2128 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
2129
2130 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
2131
2132 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
2133 vector_length.
2134 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2135
2136 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
2137 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
2138
2139 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
2140 to 0 when mapnum is 0.
2141
2142 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
2143
2144 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
2145 Cast to int from int32_t.
2146
2147 2015-10-13 Jakub Jelinek <jakub@redhat.com>
2148 Aldy Hernandez <aldyh@redhat.com>
2149 Ilya Verbin <ilya.verbin@intel.com>
2150
2151 * config/linux/affinity.c (omp_get_place_num_procs,
2152 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
2153 * config/linux/doacross.h: New file.
2154 * config/posix/affinity.c (omp_get_place_num_procs,
2155 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
2156 * config/posix/doacross.h: New file.
2157 * env.c: Include gomp-constants.h.
2158 (struct gomp_task_icv): Rename run_sched_modifier to
2159 run_sched_chunk_size.
2160 (gomp_max_task_priority_var): New variable.
2161 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
2162 (handle_omp_display_env): Change _OPENMP value from 201307 to
2163 201511. Print OMP_MAX_TASK_PRIORITY.
2164 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
2165 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
2166 chunk_size and run_sched_modifier to run_sched_chunk_size.
2167 (omp_get_max_task_priority, omp_get_initial_device,
2168 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
2169 omp_get_partition_place_nums): New functions.
2170 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
2171 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
2172 to chunk_size.
2173 (omp_get_num_places_, omp_get_place_num_procs_,
2174 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
2175 omp_get_place_proc_ids_8_, omp_get_place_num_,
2176 omp_get_partition_num_places_, omp_get_partition_place_nums_,
2177 omp_get_partition_place_nums_8_, omp_get_initial_device_,
2178 omp_get_max_task_priority_): New functions.
2179 * libgomp_g.h (GOMP_loop_doacross_static_start,
2180 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
2181 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
2182 GOMP_loop_ull_doacross_dynamic_start,
2183 GOMP_loop_ull_doacross_guided_start,
2184 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
2185 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
2186 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
2187 GOMP_target_data_41, GOMP_target_update_41,
2188 GOMP_target_enter_exit_data): New prototypes.
2189 (GOMP_task): Add prototype argument.
2190 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
2191 (struct gomp_doacross_work_share): New type.
2192 (struct gomp_work_share): Add doacross field.
2193 (struct gomp_task_icv): Rename run_sched_modifier to
2194 run_sched_chunk_size.
2195 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
2196 GOMP_TASK_UNDEFERRED. Add comments.
2197 (struct gomp_task_depend_entry): Add comments.
2198 (struct gomp_task): Likewise.
2199 (struct gomp_taskgroup): Likewise.
2200 (struct gomp_target_task): New type.
2201 (struct gomp_team): Add comment.
2202 (gomp_get_place_proc_ids_8, gomp_doacross_init,
2203 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
2204 gomp_create_target_task, gomp_target_task_fn): New prototypes.
2205 (struct target_var_desc): New type.
2206 (struct target_mem_desc): Adjust comment. Use struct
2207 target_var_desc instead of splay_tree_key for list.
2208 (REFCOUNT_INFINITY): Define.
2209 (struct splay_tree_key_s): Remove copy_from field.
2210 (struct gomp_device_descr): Add dev2dev_func field.
2211 (enum gomp_map_vars_kind): New enum.
2212 (gomp_map_vars): Add one argument.
2213 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
2214 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
2215 omp_get_place_num_procs, omp_get_place_num_procs_,
2216 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
2217 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
2218 omp_get_place_num_, omp_get_partition_num_places,
2219 omp_get_partition_num_places_, omp_get_partition_place_nums,
2220 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
2221 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
2222 omp_target_free, omp_target_is_present, omp_target_memcpy,
2223 omp_target_memcpy_rect, omp_target_associate_ptr and
2224 omp_target_disassociate_ptr.
2225 (GOMP_4.0.2): Renamed to ...
2226 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
2227 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
2228 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
2229 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
2230 GOMP_loop_doacross_static_start, GOMP_doacross_post,
2231 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
2232 GOMP_loop_ull_doacross_guided_start,
2233 GOMP_loop_ull_doacross_runtime_start,
2234 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
2235 GOMP_doacross_ull_wait.
2236 * libgomp.texi: Document omp_get_max_task_priority.
2237 Rename modifier argument to chunk_size for omp_set_schedule and
2238 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
2239 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
2240 to run_sched_chunk_size renaming.
2241 (GOMP_loop_ordered_runtime_start): Likewise.
2242 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
2243 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
2244 GOMP_parallel_loop_runtime_start): New functions.
2245 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
2246 to run_sched_chunk_size renaming.
2247 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
2248 GOMP_loop_doacross_guided_start): New functions or aliases.
2249 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
2250 run_sched_modifier to run_sched_chunk_size renaming.
2251 (GOMP_loop_ull_ordered_runtime_start): Likewise.
2252 (gomp_loop_ull_doacross_static_start,
2253 gomp_loop_ull_doacross_dynamic_start,
2254 gomp_loop_ull_doacross_guided_start,
2255 GOMP_loop_ull_doacross_runtime_start): New functions.
2256 (GOMP_loop_ull_doacross_static_start,
2257 GOMP_loop_ull_doacross_dynamic_start,
2258 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
2259 * oacc-mem.c (acc_map_data, present_create_copy,
2260 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
2261 to gomp_map_vars.
2262 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
2263 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
2264 instead of false to gomp_map_vars.
2265 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
2266 * omp.h.in (omp_lock_hint_t): New type.
2267 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
2268 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
2269 omp_get_place_num, omp_get_partition_num_places,
2270 omp_get_partition_place_nums, omp_get_initial_device,
2271 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
2272 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
2273 omp_target_associate_ptr, omp_target_disassociate_ptr): New
2274 prototypes.
2275 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
2276 (omp_lock_hint_none, omp_lock_hint_uncontended,
2277 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
2278 omp_lock_hint_speculative): New parameters.
2279 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
2280 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
2281 omp_get_place_num, omp_get_partition_num_places,
2282 omp_get_partition_place_nums, omp_get_initial_device,
2283 omp_get_max_task_priority): New interfaces.
2284 (omp_set_schedule, omp_get_schedule): Rename modifier argument
2285 to chunk_size.
2286 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
2287 (omp_lock_hint_none, omp_lock_hint_uncontended,
2288 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
2289 omp_lock_hint_speculative): New parameters.
2290 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
2291 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
2292 omp_get_place_num, omp_get_partition_num_places,
2293 omp_get_partition_place_nums, omp_get_initial_device,
2294 omp_get_max_task_priority): New functions and subroutines.
2295 * ordered.c: Include stdarg.h and string.h.
2296 (MAX_COLLAPSED_BITS): Define.
2297 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
2298 gomp_doacross_ull_init, GOMP_doacross_ull_post,
2299 GOMP_doacross_ull_wait): New functions.
2300 * target.c: Include errno.h.
2301 (resolve_device): If device is not initialized, call
2302 gomp_init_device on it.
2303 (gomp_map_lookup): New function.
2304 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
2305 Don't bump refcount if REFCOUNT_INFINITY. Handle
2306 GOMP_MAP_ALWAYS_TO_P.
2307 (get_kind): Rename is_openacc argument to short_mapkind.
2308 (gomp_map_pointer): Use gomp_map_lookup.
2309 (gomp_map_fields_existing): New function.
2310 (gomp_map_vars): Rename is_openacc argument to short_mapkind
2311 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
2312 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
2313 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
2314 Adjust for tgt->list changed type and copy_from living in there.
2315 (gomp_copy_from_async): Adjust for tgt->list changed type and
2316 copy_from living in there.
2317 (gomp_unmap_vars): Likewise.
2318 (gomp_update): Likewise. Rename is_openacc argument to
2319 short_mapkind. Don't fail if object is not mapped.
2320 (gomp_load_image_to_device): Initialize refcount to
2321 REFCOUNT_INFINITY.
2322 (gomp_target_fallback): New function.
2323 (gomp_get_target_fn_addr): Likewise.
2324 (GOMP_target): Adjust gomp_map_vars caller, use
2325 gomp_get_target_fn_addr and gomp_target_fallback.
2326 (GOMP_target_41): New function.
2327 (gomp_target_data_fallback): New function.
2328 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
2329 (GOMP_target_data_41): New function.
2330 (GOMP_target_update): Adjust gomp_update caller.
2331 (GOMP_target_update_41): New function.
2332 (gomp_exit_data, GOMP_target_enter_exit_data,
2333 gomp_target_task_fn, omp_target_alloc, omp_target_free,
2334 omp_target_is_present, omp_target_memcpy,
2335 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
2336 omp_target_associate_ptr, omp_target_disassociate_ptr,
2337 gomp_load_plugin_for_device): New functions.
2338 * task.c: Include gomp-constants.h. Include taskloop.c
2339 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
2340 (gomp_task_handle_depend): New function.
2341 (GOMP_task): Use it. Add priority argument. Use
2342 gomp-constant.h constants instead of hardcoded numbers.
2343 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
2344 (gomp_create_target_task): New function.
2345 (verify_children_queue, verify_taskgroup_queue,
2346 verify_task_queue): New functions.
2347 (gomp_task_run_pre): Call verify_*_queue functions.
2348 If an upcoming tied task is about to leave the sibling or
2349 taskgroup queues in an invalid state, adjust appropriately.
2350 Remove taskgroup argument. Add comments.
2351 (gomp_task_run_post_handle_dependers): Add comments.
2352 (gomp_task_run_post_remove_parent): Likewise.
2353 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
2354 (GOMP_taskwait): Likewise. Add comments.
2355 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
2356 problem such that the first non parent_depends_on task does not
2357 end up at the end of the children queue.
2358 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
2359 GOMP_TASK_UNDEFERRED.
2360 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
2361 * taskloop.c: New file.
2362 * testsuite/lib/libgomp.exp
2363 (check_effective_target_offload_device_nonshared_as): New proc.
2364 * testsuite/libgomp.c/affinity-2.c: New test.
2365 * testsuite/libgomp.c/doacross-1.c: New test.
2366 * testsuite/libgomp.c/doacross-2.c: New test.
2367 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
2368 Add map clause to target.
2369 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
2370 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
2371 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
2372 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
2373 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
2374 Likewise.
2375 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
2376 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
2377 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
2378 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
2379 not defined. Use those where needed.
2380 * testsuite/libgomp.c/for-4.c: New test.
2381 * testsuite/libgomp.c/for-5.c: New test.
2382 * testsuite/libgomp.c/for-6.c: New test.
2383 * testsuite/libgomp.c/linear-1.c: New test.
2384 * testsuite/libgomp.c/ordered-4.c: New test.
2385 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
2386 only allowed on the loop iterator.
2387 * testsuite/libgomp.c/pr66199-3.c: New test.
2388 * testsuite/libgomp.c/pr66199-4.c: New test.
2389 * testsuite/libgomp.c/reduction-7.c: New test.
2390 * testsuite/libgomp.c/reduction-8.c: New test.
2391 * testsuite/libgomp.c/reduction-9.c: New test.
2392 * testsuite/libgomp.c/reduction-10.c: New test.
2393 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
2394 map(tofrom:s).
2395 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
2396 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
2397 * testsuite/libgomp.c/target-11.c: New test.
2398 * testsuite/libgomp.c/target-12.c: New test.
2399 * testsuite/libgomp.c/target-13.c: New test.
2400 * testsuite/libgomp.c/target-14.c: New test.
2401 * testsuite/libgomp.c/target-15.c: New test.
2402 * testsuite/libgomp.c/target-16.c: New test.
2403 * testsuite/libgomp.c/target-17.c: New test.
2404 * testsuite/libgomp.c/target-18.c: New test.
2405 * testsuite/libgomp.c/target-19.c: New test.
2406 * testsuite/libgomp.c/target-20.c: New test.
2407 * testsuite/libgomp.c/target-21.c: New test.
2408 * testsuite/libgomp.c/target-22.c: New test.
2409 * testsuite/libgomp.c/target-23.c: New test.
2410 * testsuite/libgomp.c/target-24.c: New test.
2411 * testsuite/libgomp.c/target-25.c: New test.
2412 * testsuite/libgomp.c/target-26.c: New test.
2413 * testsuite/libgomp.c/target-27.c: New test.
2414 * testsuite/libgomp.c/taskloop-1.c: New test.
2415 * testsuite/libgomp.c/taskloop-2.c: New test.
2416 * testsuite/libgomp.c/taskloop-3.c: New test.
2417 * testsuite/libgomp.c/taskloop-4.c: New test.
2418 * testsuite/libgomp.c++/ctor-13.C: New test.
2419 * testsuite/libgomp.c++/doacross-1.C: New test.
2420 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
2421 Replace offload_device with offload_device_nonshared_as.
2422 * testsuite/libgomp.c++/for-12.C: New test.
2423 * testsuite/libgomp.c++/for-13.C: New test.
2424 * testsuite/libgomp.c++/for-14.C: New test.
2425 * testsuite/libgomp.c++/linear-1.C: New test.
2426 * testsuite/libgomp.c++/member-1.C: New test.
2427 * testsuite/libgomp.c++/member-2.C: New test.
2428 * testsuite/libgomp.c++/member-3.C: New test.
2429 * testsuite/libgomp.c++/member-4.C: New test.
2430 * testsuite/libgomp.c++/member-5.C: New test.
2431 * testsuite/libgomp.c++/ordered-1.C: New test.
2432 * testsuite/libgomp.c++/reduction-5.C: New test.
2433 * testsuite/libgomp.c++/reduction-6.C: New test.
2434 * testsuite/libgomp.c++/reduction-7.C: New test.
2435 * testsuite/libgomp.c++/reduction-8.C: New test.
2436 * testsuite/libgomp.c++/reduction-9.C: New test.
2437 * testsuite/libgomp.c++/reduction-10.C: New test.
2438 * testsuite/libgomp.c++/reference-1.C: New test.
2439 * testsuite/libgomp.c++/simd14.C: New test.
2440 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
2441 * testsuite/libgomp.c++/target-5.C: New test.
2442 * testsuite/libgomp.c++/target-6.C: New test.
2443 * testsuite/libgomp.c++/target-7.C: New test.
2444 * testsuite/libgomp.c++/target-8.C: New test.
2445 * testsuite/libgomp.c++/target-9.C: New test.
2446 * testsuite/libgomp.c++/target-10.C: New test.
2447 * testsuite/libgomp.c++/target-11.C: New test.
2448 * testsuite/libgomp.c++/target-12.C: New test.
2449 * testsuite/libgomp.c++/taskloop-1.C: New test.
2450 * testsuite/libgomp.c++/taskloop-2.C: New test.
2451 * testsuite/libgomp.c++/taskloop-3.C: New test.
2452 * testsuite/libgomp.c++/taskloop-4.C: New test.
2453 * testsuite/libgomp.c++/taskloop-5.C: New test.
2454 * testsuite/libgomp.c++/taskloop-6.C: New test.
2455 * testsuite/libgomp.c++/taskloop-7.C: New test.
2456 * testsuite/libgomp.c++/taskloop-8.C: New test.
2457 * testsuite/libgomp.c++/taskloop-9.C: New test.
2458 * testsuite/libgomp.fortran/affinity1.f90: New test.
2459 * testsuite/libgomp.fortran/affinity2.f90: New test.
2460
2461 2015-10-13 Tom de Vries <tom@codesourcery.com>
2462
2463 PR tree-optimization/67476
2464 * testsuite/libgomp.c/autopar-3.c: New test.
2465 * testsuite/libgomp.c/autopar-4.c: New test.
2466 * testsuite/libgomp.c/autopar-5.c: New test.
2467 * testsuite/libgomp.c/autopar-6.c: New test.
2468 * testsuite/libgomp.c/autopar-7.c: New test.
2469 * testsuite/libgomp.c/autopar-8.c: New test.
2470
2471 2015-10-12 James Norris <jnorris@codesourcery.com>
2472
2473 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
2474 initializer.
2475
2476 2015-10-09 David Malcolm <dmalcolm@redhat.com>
2477
2478 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
2479 using load_gcc_lib.
2480
2481 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
2482
2483 * oacc-ptx.h: Remove file, moving its content into...
2484 * config/nvptx/fortran.c: ... here...
2485 * config/nvptx/oacc-init.c: ..., here...
2486 * config/nvptx/oacc-parallel.c: ..., and here.
2487 * config/nvptx/openacc.f90: New file.
2488 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
2489 (link_ptx): Don't link in predefined bits of PTX code.
2490
2491 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
2492 Bernd Schmidt <bernds@codesourcery.com>
2493
2494 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
2495 (struct targ_ptx_obj): New.
2496 (nvptx_tdata): Move earlier, change data format.
2497 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
2498 objects.
2499 (GOMP_OFFLOAD_load_image): Adjust.
2500
2501 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
2502
2503 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
2504 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
2505 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
2506 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
2507 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2508 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2509 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2510 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2511 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2512 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2513 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2514 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
2515 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
2516 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2517 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
2518 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
2519 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
2520 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2521 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
2522 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
2523 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2524 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2525 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
2526 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
2527 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
2528 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
2529 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
2530 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2531 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2532 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
2533 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
2534 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
2535 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
2536 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
2537 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2538 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
2539 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2540 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
2541 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2542 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
2543 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2544 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2545 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
2546 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2547 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
2548 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2549 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2550 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2551 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2552 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2553 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
2554 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
2555 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
2556 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
2557 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
2558 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2559 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2560 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2561 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2562 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2563 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2564 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2565 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2566
2567 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
2568
2569 * oacc-init.c (acc_on_device): Force optimization level.
2570
2571 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
2572
2573 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
2574 (cuda_errlist): Delete.
2575 (cuda_error): Reimplement.
2576
2577 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
2578
2579 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
2580 array.
2581 * libgomp.map (GOACC_parallel_keyed): New.
2582 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
2583 all callers.
2584 (GOACC_parallel_keyed): New interface. Lose geometry arguments
2585 and take keyed varargs list. Adjust call to exec_func.
2586 (GOACC_parallel): Force host fallback.
2587 * libgomp_g.h (GOACC_parallel): Remove.
2588 (GOACC_parallel_keyed): Declare.
2589 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
2590 (stuct targ_gn_descriptor): Replace name field with launch field.
2591 (nvptx_exec): Lose separate geometry args, take array. Process
2592 dynamic dimensions and adjust.
2593 (struct nvptx_tdata): Replace fn_names field with fn_descs.
2594 (GOMP_OFFLOAD_load_image): Adjust for change in function table
2595 data.
2596 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
2597 passing.
2598 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
2599 passing.
2600
2601 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
2602
2603 PR libgomp/67141
2604 * oacc-int.h (goacc_host_init): Add declaration.
2605 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
2606 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
2607
2608 2015-09-08 Aditya Kumar <hiraditya@msn.com>
2609 Sebastian Pop <s.pop@samsung.com>
2610
2611 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
2612 match o/p.
2613 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
2614 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
2615 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
2616 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
2617 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
2618
2619 2015-09-03 Jakub Jelinek <jakub@redhat.com>
2620
2621 * configure.tgt: Add missing ;; in between nvptx and rtems
2622 snippets.
2623
2624 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
2625
2626 * config/posix/pool.h (gomp_adjust_thread_attr): New.
2627 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
2628 (gomp_thread_pool_reservoir): Add priority member.
2629 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
2630 priority.
2631 (parse_thread_pools): Likewise.
2632 * team.c (gomp_team_start): Call configuration provided
2633 gomp_adjust_thread_attr(). Destroy thread attributes if
2634 necessary.
2635 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
2636
2637 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
2638
2639 * config/posix/pool.h: New.
2640 * config/rtems/pool.h: Likewise.
2641 * config/rtems/proc.c: Likewise.
2642 * libgomp.h (gomp_thread_destructor): Declare.
2643 * team.c: Include configuration provided "pool.h".
2644 (gomp_get_thread_pool): Define in configuration.
2645 (gomp_team_end): Call configuration defined
2646 gomp_release_thread_pool().
2647
2648 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
2649
2650 * config/rtems/bar.c: New.
2651 * config/rtems/bar.h: Likewise.
2652 * config/rtems/mutex.c: Likewise.
2653 * config/rtems/mutex.h: Likewise.
2654 * config/rtems/sem.c: Likewise.
2655 * config/rtems/sem.h: Likewise.
2656 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
2657 <sys/lock.h> header file.
2658 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
2659 supported by Newlib.
2660 * configure: Regenerate.
2661
2662 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
2663
2664 * team.c (gomp_new_thread_pool): Delete and move content to ...
2665 (gomp_get_thread_pool): ... new function. Allocate and
2666 initialize thread pool on demand.
2667 (get_last_team): Use gomp_get_thread_pool().
2668 (gomp_team_start): Delete thread pool initialization.
2669
2670 2015-09-03 Tom de Vries <tom@codesourcery.com>
2671
2672 PR tree-optimization/65637
2673 * testsuite/libgomp.c/autopar-2.c: New test.
2674
2675 2015-08-29 Tom de Vries <tom@codesourcery.com>
2676
2677 PR tree-optimization/46193
2678 * testsuite/libgomp.c/pr46193.c: New test.
2679
2680 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
2681
2682 libgomp/
2683 * libgomp.map: Add 4.0.2 version.
2684 * target.c (offload_image_descr): Add version field.
2685 (gomp_load_image_to_device): Add version argument. Adjust plugin
2686 call. Improve load mismatch diagnostic.
2687 (gomp_unload_image_from_device): Add version argument. Adjust plugin
2688 call.
2689 (GOMP_offload_regster): Make stub function, move bulk to ...
2690 (GOMP_offload_register_ver): ... here. Process version argument.
2691 (GOMP_offload_unregister): Make stub function, move bulk to ...
2692 (GOMP_offload_unregister_ver): ... here. Process version argument.
2693 (gomp_init_device): Process version field.
2694 (gomp_unload_device): Process version field.
2695 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
2696 macros. Check plugin version.
2697 * libgomp.h (gomp_device_descr): Add version function field. Adjust
2698 loader and unloader types.
2699 * oacc-host.c: Include gomp-constants.h.
2700 (host_version): New.
2701 (host_load_image, host_unload_image): Adjust.
2702 (host_dispatch): Add host_version.
2703 * plugin/plugin-nvptx.c: Include gomp-constants.h.
2704 (GOMP_OFFLOAD_version): New.
2705 (GOMP_OFFLOAD_load_image): Add version arg and check it.
2706 (GOMP_OFFLOAD_unload_image): Likewise.
2707 * plugin/plugin-host.c: Include gomp-constants.h.
2708 (GOMP_OFFLOAD_version): New.
2709 (GOMP_OFFLOAD_load_image): Add version arg.
2710 (GOMP_OFFLOAD_unload_image): Likewise.
2711
2712 2015-08-24 Tom de Vries <tom@codesourcery.com>
2713
2714 PR tree-optimization/65468
2715 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
2716
2717 2015-08-24 Tom de Vries <tom@codesourcery.com>
2718
2719 PR tree-optimization/65468
2720 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
2721
2722 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
2723
2724 PR libgomp/66761
2725 PR libgomp/67303
2726 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
2727 (gomp_iter_guided_next): Idem.
2728 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
2729 (gomp_iter_ull_guided_next): Idem.
2730 * config/linux/wait.h (do_spin): Idem.
2731
2732 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
2733
2734 * libgomp-plugin.h (enum offload_target_type): Remove
2735 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
2736 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
2737 * openacc.h (enum acc_device_t): Likewise.
2738 * openacc_lib.h: Likewise.
2739 * oacc-init.c (name_of_acc_device_t): Don't handle it.
2740 (acc_on_device): Just use __builtin_acc_on_device.
2741 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
2742 of acc_on_device builtin.
2743 * plugin/plugin-host.h: Remove file.
2744 * plugin/plugin-host.c: Likewise, but salvage some content into...
2745 * oacc-host.c: ... this file.
2746 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
2747 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
2748 * Makefile.in: Regenerate.
2749 * configure: Likewise.
2750 * testsuite/lib/libgomp.exp
2751 (check_effective_target_openacc_host_nonshm_selected): Remove.
2752 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
2753 ACC_DEVICE_TYPE=host_nonshm.
2754 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2755 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2756 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
2757 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2758 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2759 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2760
2761 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
2762 Jakub Jelinek <jakub@redhat.com>
2763
2764 * config/nvptx/affinity.c: New file.
2765 * config/nvptx/alloc.c: Likewise.
2766 * config/nvptx/bar.c: Likewise.
2767 * config/nvptx/barrier.c: Likewise.
2768 * config/nvptx/critical.c: Likewise.
2769 * config/nvptx/env.c: Likewise.
2770 * config/nvptx/error.c: Likewise.
2771 * config/nvptx/fortran.c: Likewise.
2772 * config/nvptx/iter.c: Likewise.
2773 * config/nvptx/iter_ull.c: Likewise.
2774 * config/nvptx/libgomp-plugin.c: Likewise.
2775 * config/nvptx/lock.c: Likewise.
2776 * config/nvptx/loop.c: Likewise.
2777 * config/nvptx/loop_ull.c: Likewise.
2778 * config/nvptx/mutex.c: Likewise.
2779 * config/nvptx/oacc-async.c: Likewise.
2780 * config/nvptx/oacc-cuda.c: Likewise.
2781 * config/nvptx/oacc-host.c: Likewise.
2782 * config/nvptx/oacc-init.c: Likewise.
2783 * config/nvptx/oacc-mem.c: Likewise.
2784 * config/nvptx/oacc-parallel.c: Likewise.
2785 * config/nvptx/oacc-plugin.c: Likewise.
2786 * config/nvptx/omp-lock.h: Likewise.
2787 * config/nvptx/ordered.c: Likewise.
2788 * config/nvptx/parallel.c: Likewise.
2789 * config/nvptx/proc.c: Likewise.
2790 * config/nvptx/ptrlock.c: Likewise.
2791 * config/nvptx/sections.c: Likewise.
2792 * config/nvptx/sem.c: Likewise.
2793 * config/nvptx/single.c: Likewise.
2794 * config/nvptx/splay-tree.c: Likewise.
2795 * config/nvptx/target.c: Likewise.
2796 * config/nvptx/task.c: Likewise.
2797 * config/nvptx/team.c: Likewise.
2798 * config/nvptx/time.c: Likewise.
2799 * config/nvptx/work.c: Likewise.
2800 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
2801 * configure: Regenerate.
2802 * configure.tgt (config_path): Set to "nvptx" for target
2803 nvptx*-*-*.
2804
2805 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
2806
2807 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
2808
2809 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
2810
2811 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
2812 (cuda_errlist): Constify.
2813 (errmsg): Move into ...
2814 (cuda_error): ... here. Make smaller.
2815 (_XSTR, _STR): Delete.
2816 (cuda_synames): Delete.
2817 (verify_device_library): Delete.
2818 (nvptx_init): Don't call it.
2819
2820 2015-07-28 Tom de Vries <tom@codesourcery.com>
2821
2822 * testsuite/libgomp.c/uns-outer-4.c: New test.
2823
2824 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
2825
2826 * testsuite/libgomp.c/pr66714.c: New test.
2827
2828 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
2829
2830 PR libgomp/66950
2831 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
2832 (fib_ref): New function.
2833 (fib): Correct corner cases in the recursion.
2834 (main): Replace the non-simd loop with fib_ref call.
2835 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
2836 subroutine.
2837 (fibonacci): Lower the parameter N to 30. Correct accordingly check
2838 for the last array element value. Replace the non-simd loop with
2839 fib_ref call. Remove redundant b_ref array. Remove the comparison
2840 of the last array element with according Fibonacci sequence element.
2841 (fib): Correct corner cases in the recursion.
2842
2843 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
2844
2845 * target.c (gomp_offload_image_to_device): Rename to ...
2846 (gomp_load_image_to_device): ... here.
2847 (GOMP_offload_register): Adjust call.
2848 (gomp_init_device): Likewise.
2849 (gomp_unload_image_from_device): New. Broken out of ...
2850 (GOMP_offload_unregister): ... here. Call it.
2851 (gomp_unload_device): New.
2852 * libgomp.h (gomp_unload_device): Declare.
2853 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
2854 mem maps.
2855
2856 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
2857
2858 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
2859 wait=-specific if.
2860 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
2861 !=0 condition.
2862 (goacc_waits): Move !num_waits handling to ...
2863 (GOACC_wait): ... here, the only caller that might have zero waits.
2864
2865 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
2866 (struct ptx_image_data): Move earlier, add fns field.
2867 (struct ptx_device): Add images and image_lock fields.
2868 (ptx_images, ptx_image_lock): Delete.
2869 (nvptx_open_device): Initialize images and image_lock fields.
2870 (nvptx_close_device): Destroy image_lock.
2871 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
2872 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
2873 fields.
2874
2875 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
2876
2877 * target.c (GOMP_offload_register): Use int for device type arg.
2878 (GOMP_offload_unregister): Likewise.
2879
2880 * target.c (struct_offload_image_descr): Constify host_table.
2881 (gomp_offload_image_to_device): Likewise.
2882 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
2883
2884 * libgomp.h (gomp_device_descr): Constify target data arguments.
2885 * target.c (struct offload_image_descr): Constify target_data.
2886 (gomp_offload_image_to_device): Likewise.
2887 (GOMP_offload_register): Likewise.
2888 (GOMP_offload_unrefister): Likewise.
2889 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
2890 GOMP_OFFLOAD_unload_image): Constify target data.
2891 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
2892 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
2893
2894 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
2895
2896 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
2897 Workaround driver library const error.
2898 (struct nvptx_tdata, nvptx_tdata_t): New.
2899 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
2900 type.
2901
2902 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
2903
2904 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
2905 of EPS parameter from integer to real.
2906 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
2907 type of EPS parameter from integer to real.
2908
2909 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
2910
2911 * team.c (get_last_team): New.
2912 (gomp_new_team): Recycle last non-nested team if possible.
2913 (gomp_team_end): Move team work share list free lock destruction
2914 to ...
2915 (free_team): ... here.
2916
2917 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
2918
2919 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
2920 and ref from int to double. Replaced their comparison with
2921 an inequality of their difference and EPS.
2922 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
2923 comparison of pri and a reference number with an inequality of their
2924 difference and EPS.
2925 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
2926 the comparison of sum and sum_ref with an inequality of their
2927 difference and EPS.
2928 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
2929 the comparison of pri and a reference number with an inequality of
2930 their difference and EPS.
2931
2932 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
2933
2934 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
2935 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
2936 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
2937 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
2938 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
2939 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
2940 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
2941 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
2942 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
2943 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
2944 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
2945 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
2946 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
2947 variables.
2948 (vec_mult): Likewise. Add #pragma omp taskwait.
2949 (main): Adjust caller.
2950 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
2951 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
2952 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
2953 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
2954 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
2955 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
2956 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
2957 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
2958 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
2959 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
2960 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
2961 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
2962 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
2963 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
2964 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
2965 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
2966 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
2967 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
2968 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
2969 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
2970 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
2971 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
2972 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
2973 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
2974 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
2975 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
2976 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
2977 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
2978 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
2979 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
2980 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
2981 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
2982 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
2983 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
2984 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
2985 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
2986 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
2987 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
2988 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
2989 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
2990 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
2991 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
2992 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
2993 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
2994 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
2995 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
2996 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
2997 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
2998 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
2999 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
3000 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
3001 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
3002 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
3003 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
3004 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
3005 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
3006 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
3007 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
3008 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
3009 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
3010 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
3011 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
3012 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
3013 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
3014 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
3015 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
3016 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
3017 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
3018 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
3019 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
3020 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
3021 (vec_mult): Add !$omp taskwait.
3022 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
3023 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
3024 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
3025 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
3026 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
3027 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
3028 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
3029 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
3030 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
3031 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
3032 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
3033 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
3034 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
3035 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
3036 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
3037 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
3038 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
3039 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
3040 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
3041 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
3042 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
3043 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
3044 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
3045 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
3046 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
3047 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
3048 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
3049 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
3050 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
3051 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
3052 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
3053 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
3054 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
3055 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
3056 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
3057 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
3058 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
3059 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
3060 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
3061 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
3062 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
3063 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
3064 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
3065 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
3066 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
3067 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
3068 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
3069 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
3070 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
3071 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
3072 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
3073 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
3074 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
3075 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
3076 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
3077 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
3078 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
3079 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
3080 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
3081 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
3082 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
3083 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
3084 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
3085 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
3086 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
3087 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
3088 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
3089
3090 2015-07-10 Tom de Vries <tom@codesourcery.com>
3091
3092 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
3093 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
3094
3095 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
3096
3097 PR libgomp/65099
3098 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
3099 in a 64-bit configuration.
3100 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
3101 offloading testing if no such device is available.
3102 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3103 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3104
3105 2015-07-08 Tom de Vries <tom@codesourcery.com>
3106
3107 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
3108 second call to f.
3109 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3110
3111 2015-07-07 Tom de Vries <tom@codesourcery.com>
3112
3113 PR tree-optimization/66642
3114 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
3115 iteration count case.
3116 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
3117 function, factor out of ...
3118 (main): ... here. Test low iteration count case.
3119
3120 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
3121
3122 * libgomp.h (gomp_thread_pool): Comment last_team field.
3123
3124 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
3125
3126 * testsuite/libgomp.c++/pr66702-1.C: Require
3127 vect_simd_clones effective target.
3128 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
3129
3130 2015-06-30 Tom de Vries <tom@codesourcery.com>
3131
3132 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
3133 already set. Use DEFAULT_CFLAGS in dg-runtest.
3134 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
3135 "-O2".
3136
3137 2015-06-30 Tom de Vries <tom@codesourcery.com>
3138
3139 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
3140 already set. Use DEFAULT_CFLAGS in dg-runtest.
3141 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
3142 * testsuite/libgomp.c++/pr64824.C: Same.
3143 * testsuite/libgomp.c++/pr64868.C: Same.
3144 * testsuite/libgomp.c++/pr66199-1.C: Same.
3145 * testsuite/libgomp.c++/pr66199-2.C: Same.
3146 * testsuite/libgomp.c++/target-2.C: Same.
3147 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
3148 -std=<standard> option.
3149 * testsuite/libgomp.c++/udr-11.C: Same.
3150 * testsuite/libgomp.c++/udr-12.C: Same.
3151 * testsuite/libgomp.c++/udr-13.C: Same.
3152 * testsuite/libgomp.c++/udr-14.C: Same.
3153 * testsuite/libgomp.c++/udr-15.C: Same.
3154 * testsuite/libgomp.c++/udr-16.C: Same.
3155 * testsuite/libgomp.c++/udr-17.C: Same.
3156 * testsuite/libgomp.c++/udr-18.C: Same.
3157 * testsuite/libgomp.c++/udr-19.C: Same.
3158 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
3159 * testsuite/libgomp.c++/simd-1.C: Same.
3160 * testsuite/libgomp.c++/simd-2.C: Same.
3161 * testsuite/libgomp.c++/simd-3.C: Same.
3162 * testsuite/libgomp.c++/simd-4.C: Same.
3163 * testsuite/libgomp.c++/simd-5.C: Same.
3164 * testsuite/libgomp.c++/simd-6.C: Same.
3165 * testsuite/libgomp.c++/simd-7.C: Same.
3166 * testsuite/libgomp.c++/simd-8.C: Same.
3167 * testsuite/libgomp.c++/simd-9.C: Same.
3168 * testsuite/libgomp.c++/simd10.C: Same.
3169 * testsuite/libgomp.c++/simd11.C: Same.
3170 * testsuite/libgomp.c++/simd12.C: Same.
3171 * testsuite/libgomp.c++/simd13.C: Same.
3172
3173 2015-06-30 Jakub Jelinek <jakub@redhat.com>
3174
3175 PR middle-end/66702
3176 * testsuite/libgomp.c++/pr66702-1.C: New test.
3177 * testsuite/libgomp.c++/pr66702-2.C: New test.
3178
3179 2015-06-30 Tom de Vries <tom@codesourcery.com>
3180
3181 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
3182 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
3183 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
3184 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
3185
3186 2015-06-30 Tom de Vries <tom@codesourcery.com>
3187
3188 PR tree-optimization/66652
3189 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
3190 using restrict pointers.
3191 (main): Add arguments to calls to f.
3192 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3193
3194 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
3195
3196 * configure.ac: Fix check for header <sys/sysctl.h>.
3197 * configure: Regenerate.
3198 * config.h.in: Likewise.
3199
3200 2015-06-23 Tom de Vries <tom@codesourcery.com>
3201
3202 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
3203 abort.
3204 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
3205
3206 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
3207
3208 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
3209 acc_device_nvidia.
3210
3211 PR libgomp/66518
3212 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
3213 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3214
3215 2015-06-15 Tom de Vries <tom@codesourcery.com>
3216
3217 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
3218 dg-additional-options for any remaining options.
3219 * testsuite/libgomp.c/atomic-2.c: Same.
3220 * testsuite/libgomp.c/atomic-4.c: Same.
3221 * testsuite/libgomp.c/atomic-5.c: Same.
3222 * testsuite/libgomp.c/atomic-6.c: Same.
3223 * testsuite/libgomp.c/autopar-1.c: Same.
3224 * testsuite/libgomp.c/copyin-1.c: Same.
3225 * testsuite/libgomp.c/copyin-2.c: Same.
3226 * testsuite/libgomp.c/copyin-3.c: Same.
3227 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
3228 * testsuite/libgomp.c/nestedfn-5.c: Same.
3229 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
3230 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
3231 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
3232 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3233 * testsuite/libgomp.c/pr32362-1.c: Same.
3234 * testsuite/libgomp.c/pr32362-2.c: Same.
3235 * testsuite/libgomp.c/pr32362-3.c: Same.
3236 * testsuite/libgomp.c/pr39591-1.c: Same.
3237 * testsuite/libgomp.c/pr39591-2.c: Same.
3238 * testsuite/libgomp.c/pr39591-3.c: Same.
3239 * testsuite/libgomp.c/pr58392.c: Same.
3240 * testsuite/libgomp.c/pr58756.c: Same.
3241 * testsuite/libgomp.c/simd-1.c: Same.
3242 * testsuite/libgomp.c/simd-10.c: Same.
3243 * testsuite/libgomp.c/simd-11.c: Same.
3244 * testsuite/libgomp.c/simd-12.c: Same.
3245 * testsuite/libgomp.c/simd-13.c: Same.
3246 * testsuite/libgomp.c/simd-14.c: Same.
3247 * testsuite/libgomp.c/simd-15.c: Same.
3248 * testsuite/libgomp.c/simd-2.c: Same.
3249 * testsuite/libgomp.c/simd-3.c: Same.
3250 * testsuite/libgomp.c/simd-4.c: Same.
3251 * testsuite/libgomp.c/simd-5.c: Same.
3252 * testsuite/libgomp.c/simd-6.c: Same.
3253 * testsuite/libgomp.c/simd-7.c: Same.
3254 * testsuite/libgomp.c/simd-8.c: Same.
3255 * testsuite/libgomp.c/simd-9.c: Same.
3256
3257 2015-06-15 Tom de Vries <tom@codesourcery.com>
3258
3259 * testsuite/libgomp.c/pr35625.c: Fix typo.
3260
3261 2015-06-15 Tom de Vries <tom@codesourcery.com>
3262
3263 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
3264 in dg-options.
3265 * testsuite/libgomp.c/atomic-3.c: Same.
3266 * testsuite/libgomp.c/debug-1.c: Same.
3267 * testsuite/libgomp.c/nqueens-1.c: Same.
3268 * testsuite/libgomp.c/pr26171.c: Same.
3269 * testsuite/libgomp.c/pr48591.c: Same.
3270 * testsuite/libgomp.c/pr64824.c: Same.
3271 * testsuite/libgomp.c/pr64868.c: Same.
3272 * testsuite/libgomp.c/pr66133.c: Same.
3273 * testsuite/libgomp.c/pr66199-1.c: Same.
3274 * testsuite/libgomp.c/pr66199-2.c: Same.
3275 * testsuite/libgomp.c/target-8.c: Same.
3276
3277 2015-06-15 Tom de Vries <tom@codesourcery.com>
3278
3279 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
3280 -std={gnu99,c99}.
3281 * testsuite/libgomp.c/for-1.c: Same.
3282 * testsuite/libgomp.c/for-2.c: Same.
3283 * testsuite/libgomp.c/for-3.c: Same.
3284 * testsuite/libgomp.c/pr35625.c: Same.
3285 * testsuite/libgomp.c/pr39154.c: Same.
3286 * testsuite/libgomp.c/simd-16.c: Same.
3287 * testsuite/libgomp.c/simd-17.c: Same.
3288
3289 2015-06-13 Tom de Vries <tom@codesourcery.com>
3290
3291 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
3292
3293 2015-06-13 Tom de Vries <tom@codesourcery.com>
3294
3295 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
3296 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3297 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
3298 (N): Define.
3299 (main): Use N instead of hardcoded constants.
3300
3301 2015-06-05 Tom de Vries <tom@codesourcery.com>
3302
3303 merge from gomp4 branch:
3304 2015-05-28 Tom de Vries <tom@codesourcery.com>
3305
3306 PR tree-optimization/65443
3307 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
3308 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
3309 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
3310
3311 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
3312
3313 * testsuite/libgomp.graphite/bounds.c: Adjust for
3314 cleanup-tree-dump removal.
3315 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
3316 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
3317 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
3318 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
3319 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
3320 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
3321 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
3322 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
3323 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
3324 * testsuite/libgomp.graphite/pr41118.c: Likewise.
3325
3326 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
3327
3328 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
3329 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
3330 (futex_wake) [!__x86_64__]: Ditto.
3331
3332 2015-05-28 Julian Brown <julian@codesourcery.com>
3333
3334 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
3335 function comment. Only call gomp_fatal if new argument is true.
3336 (acc_dev_num_out_of_range): New function.
3337 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
3338 acc_dev_num_out_of_range as appropriate.
3339 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
3340 (acc_get_device_num, acc_set_device_num): Update calls to
3341 resolve_device.
3342 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
3343 output.
3344
3345 2015-05-28 Julian Brown <julian@codesourcery.com>
3346
3347 PR libgomp/65742
3348 * oacc-init.c (plugin/plugin-host.h): Include.
3349 (acc_on_device): Check whether we're in an offloaded region for
3350 host_nonshm
3351 plugin. Don't use __builtin_acc_on_device.
3352 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
3353 nonshm_exec flag in thread-local data.
3354 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
3355 data for host_nonshm plugin.
3356 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
3357 for host_nonshm plugin.
3358 * plugin/plugin-host.h: New.
3359
3360 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
3361
3362 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
3363
3364 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
3365
3366 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
3367 Declare as int.
3368 (FUTEX_PRIVATE_FLAG): Remove L suffix.
3369 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
3370 Declare as int.
3371
3372 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
3373
3374 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
3375
3376 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
3377
3378 * target.c (gomp_map_pointer): New function abstracting out
3379 GOMP_MAP_POINTER handling.
3380 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
3381 gomp_map_pointer().
3382
3383 2015-05-19 Jakub Jelinek <jakub@redhat.com>
3384
3385 PR middle-end/66199
3386 * testsuite/libgomp.c/pr66199-1.c: New test.
3387 * testsuite/libgomp.c/pr66199-2.c: New test.
3388 * testsuite/libgomp.c++/pr66199-1.C: New test.
3389 * testsuite/libgomp.c++/pr66199-2.C: New test.
3390 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
3391 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
3392
3393 2015-05-19 Julian Brown <julian@codesourcery.com>
3394
3395 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
3396 on cuInit failure.
3397
3398 2015-05-13 Jakub Jelinek <jakub@redhat.com>
3399
3400 PR middle-end/66133
3401 * testsuite/libgomp.c/pr66133.c: New test.
3402
3403 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
3404
3405 * Makefile.in: Regenerated with automake-1.11.6.
3406 * aclocal.m4: Likewise.
3407 * config.h.in: Likewise.
3408 * configure: Likewise.
3409 * testsuite/Makefile.in: Likewise.
3410
3411 2015-05-08 Jason Merrill <jason@redhat.com>
3412
3413 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
3414 _Complex.
3415
3416 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
3417
3418 2015-05-06 Julian Brown <julian@codesourcery.com>
3419
3420 * oacc-init.c (acc_device_lock): Add explanatory comment.
3421 (resolve_device): Add comment about locking requirement.
3422 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
3423 gomp_init_device and gomp_fini_device calls.
3424 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
3425 (acc_get_device_num, acc_set_device_num): Add locking around
3426 resolve_device and gomp_init_device calls.
3427
3428 2015-05-06 Julian Brown <julian@codesourcery.com>
3429
3430 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
3431 goacc_thread_lock on error paths.
3432 * oacc-mem.c (lookup_host): Remove locking from function. Note
3433 locking requirement for caller in function comment.
3434 (lookup_dev): Likewise.
3435 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
3436 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
3437 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
3438 Add locking.
3439
3440 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
3441
3442 PR testsuite/65205
3443 PR libgomp/65993
3444 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
3445 don't expect "0x" prefix for "%p" format specifier, don't expect
3446 "(nil)" for NULL pointer.
3447 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3448 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3449 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3450 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3451 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3452 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3453 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3454 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3455 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
3456 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
3457 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3458 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3459 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3460 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3461 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
3462 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
3463 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
3464 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
3465 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3466 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3467 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3468 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3469 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3470 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3471 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3472 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3473 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
3474 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
3475 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
3476 accurately specify what we're looking for.
3477 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3478 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3479 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3480 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3481 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3482
3483 2015-04-30 James Norris <jnorris@codesourcery.com>
3484
3485 PR testsuite/65205
3486 * testsuite/lib/libgomp.exp
3487 (check_effective_target_openacc_host_selected)
3488 (check_effective_target_openacc_host_nonshm_selected): New
3489 procedures.
3490 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
3491 dg-shouldfail.
3492 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
3493 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
3494 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3495 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3496 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3497 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
3498 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3499 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3500 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3501 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3502 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3503 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
3504 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
3505 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3506 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3507 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
3508 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3509 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3510 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
3511 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
3512 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
3513 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
3514 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
3515 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3516 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3517 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3518 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3519 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3520 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3521 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3522 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3523 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
3524 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
3525 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
3526 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
3527 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
3528 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
3529 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
3530 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
3531 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
3532 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
3533 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
3534 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
3535
3536 2015-04-08 Julian Brown <julian@codesourcery.com>
3537
3538 * libgomp.h (target_mem_desc: Remove mem_map field.
3539 (acc_dispatch_t): Remove open_device_func, close_device_func,
3540 get_device_num_func, set_device_num_func, target_data members.
3541 Change create_thread_data_func argument to device number instead of
3542 generic pointer.
3543 * oacc-async.c (assert.h): Include.
3544 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
3545 (acc_wait_all, acc_wait_all_async): Use current host thread's
3546 active device, not base_dev.
3547 * oacc-cuda.c (acc_get_current_cuda_device)
3548 (acc_get_current_cuda_context, acc_get_cuda_stream)
3549 (acc_set_cuda_stream): Likewise.
3550 * oacc-host.c (host_dispatch): Don't set open_device_func,
3551 close_device_func, get_device_num_func or set_device_num_func.
3552 * oacc-init.c (base_dev, init_key): Remove.
3553 (cached_base_dev): New.
3554 (name_of_acc_device_t): New.
3555 (acc_init_1): Initialise default-numbered device, not zeroth.
3556 (acc_shutdown_1): Close all devices of a given type.
3557 (goacc_destroy_thread): Don't use base_dev.
3558 (lazy_open, lazy_init, lazy_init_and_open): Remove.
3559 (goacc_attach_host_thread_to_device): New.
3560 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
3561 (acc_get_num_devices): Don't use base_dev.
3562 (acc_set_device_type): Reimplement.
3563 (acc_get_device_type): Don't use base_dev.
3564 (acc_get_device_num): Tweak logic.
3565 (acc_set_device_num): Likewise.
3566 (acc_on_device): Use acc_get_device_type.
3567 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
3568 (goacc_lazy_initialize): Reimplement with acc_init and
3569 goacc_attach_host_thread_to_device.
3570 * oacc-int.h (goacc_thread): Add base_dev field.
3571 (base_dev): Remove extern declaration.
3572 (goacc_attach_host_thread_to_device): Add prototype.
3573 * oacc-mem.c (acc_malloc): Use current thread's device instead of
3574 base_dev.
3575 (acc_free): Likewise.
3576 (acc_memcpy_to_device): Likewise.
3577 (acc_memcpy_from_device): Likewise.
3578 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
3579 goacc_lazy_initialize (throughout).
3580 (GOACC_parallel): Use tgt_offset to locate target functions.
3581 * target.c (gomp_map_vars): Don't set tgt->mem_map.
3582 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
3583 (gomp_load_plugin_for_device): Remove open_device, close_device,
3584 get_device_num, set_device_num openacc hook initialisation. Don't set
3585 openacc.target_data.
3586 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
3587 (GOMP_OFFLOAD_openacc_close_device)
3588 (GOMP_OFFLOAD_openacc_get_device_num)
3589 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
3590 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
3591 to int.
3592 * plugin/plugin-nvptx.c (ptx_inited): Remove.
3593 (instantiated_devices, ptx_dev_lock): New.
3594 (struct ptx_image_data): New.
3595 (ptx_devices, ptx_images, ptx_image_lock): New.
3596 (fini_streams_for_device): Reorder cuStreamDestroy call.
3597 (nvptx_get_num_devices): Remove forward declaration.
3598 (nvptx_init): Change return type to bool.
3599 (nvptx_fini): Remove.
3600 (nvptx_attach_host_thread_to_device): New.
3601 (nvptx_open_device): Return struct ptx_device* instead of void*.
3602 (nvptx_close_device): Change argument type to struct ptx_device*,
3603 return type to void.
3604 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
3605 (kernel_target_data, kernel_host_table): Remove static globals.
3606 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
3607 (GOMP_OFFLOAD_init_device): Reimplement.
3608 (GOMP_OFFLOAD_fini_device): Likewise.
3609 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
3610 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
3611 (GOMP_OFFLOAD_host2dev): Use ORD argument.
3612 (GOMP_OFFLOAD_openacc_open_device)
3613 (GOMP_OFFLOAD_openacc_close_device)
3614 (GOMP_OFFLOAD_openacc_set_device_num)
3615 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
3616 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
3617 (device number).
3618
3619 testsuite/
3620 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
3621
3622 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
3623
3624 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
3625 * libgomp.h (struct gomp_memory_mapping): Remove.
3626 (struct target_mem_desc): Change type of mem_map from
3627 gomp_memory_mapping * to splay_tree_s *.
3628 (struct gomp_device_descr): Remove register_image_func, get_table_func.
3629 Add load_image_func, unload_image_func.
3630 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
3631 Remove offload_regions_registered.
3632 (gomp_init_tables): Remove.
3633 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
3634 to splay_tree_s *.
3635 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
3636 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
3637 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
3638 offload_regions_registered.
3639 Initialize load_image_func, unload_image_func, mem_map.root.
3640 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
3641 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
3642 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
3643 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
3644 gomp_memory_mapping *. Use dev's lock and splay_tree.
3645 (lookup_dev): Use dev's lock.
3646 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
3647 (acc_is_present): Likewise.
3648 (acc_map_data): Likewise.
3649 (acc_unmap_data): Likewise. Use dev's lock.
3650 (present_create_copy): Likewise.
3651 (delete_copyout): Pass dev to lookup_host instead of mem_map.
3652 (update_dev_host): Likewise.
3653 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
3654 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
3655 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
3656 (GOMP_OFFLOAD_get_table): Remove
3657 (GOMP_OFFLOAD_load_image): New function.
3658 (GOMP_OFFLOAD_unload_image): New function.
3659 * target.c (register_lock): New mutex for offload image registration.
3660 (num_devices): Do not guard with PLUGIN_SUPPORT.
3661 (gomp_realloc_unlock): New static function.
3662 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
3663 before gomp_fatal.
3664 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
3665 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
3666 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
3667 mem_map's.
3668 (gomp_unmap_vars): Likewise.
3669 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
3670 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
3671 (gomp_offload_image_to_device): New static function.
3672 (GOMP_offload_register): Add mutex lock.
3673 Call gomp_offload_image_to_device for all initialized devices.
3674 Replace gomp_realloc with gomp_realloc_unlock.
3675 (GOMP_offload_unregister): New function.
3676 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
3677 get_table_func from the plugin with calls to init_device_func and
3678 gomp_offload_image_to_device.
3679 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
3680 to splay_tree_s *.
3681 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
3682 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
3683 (GOMP_target_data): Do not call gomp_init_tables.
3684 (GOMP_target_update): Likewise. Remove argument from gomp_update.
3685 (gomp_load_plugin_for_device): Replace register_image and get_table
3686 with load_image and unload_image in DLSYM ().
3687 (gomp_register_images_for_device): Remove function.
3688 (gomp_target_init): Do not initialize current_device.mem_map.*,
3689 current_device.offload_regions_registered.
3690 Remove call to gomp_register_images_for_device.
3691 Do not free offload_images and num_offload_images.
3692
3693 2015-03-30 Jakub Jelinek <jakub@redhat.com>
3694
3695 PR fortran/65597
3696 * testsuite/libgomp.fortran/pr65597.f90: New test.
3697
3698 2015-03-27 Tom de Vries <tom@codesourcery.com>
3699
3700 PR testsuite/65594
3701 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
3702 (init, check): New function.
3703 (foo): Change return type to void.
3704 (main): Call init and check.
3705
3706 2015-03-27 Tom de Vries <tom@codesourcery.com>
3707
3708 PR testsuite/65594
3709 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
3710 (foo): Use M for non-inner loops to scale down test-case.
3711
3712 2015-03-25 Kai Tietz <ktietz@redhat.com>
3713
3714 PR libgomp/64972
3715 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
3716 (GOACC_data_start): Likewise.
3717 * target.c (gomp_map_vars): Likewise.
3718
3719 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
3720
3721 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
3722 hppa*-*-hpux*.
3723
3724 2015-03-19 Jakub Jelinek <jakub@redhat.com>
3725
3726 * testsuite/libgomp.c/target-10.c: New test.
3727 * testsuite/libgomp.c++/target-4.C: New test.
3728
3729 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
3730
3731 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
3732 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
3733
3734 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
3735
3736 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
3737 * configure.ac (*-*-rtems*): Assume Pthread is supported.
3738 (pthread.h): Check for this header file.
3739 * configure: Regenerate.
3740
3741 2015-02-25 Tom de Vries <tom@codesourcery.com>
3742
3743 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
3744 (check_reduction_op, check_reduction_macro, max, min):
3745 Declare.
3746 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
3747 function.
3748 (main): Use new functions.
3749
3750 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
3751
3752 * target.c (gomp_load_plugin_for_device): Use const char * instead of
3753 char * for variables holding dlerror return values.
3754 (DLSYM_OPT): Ditto.
3755
3756 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
3757
3758 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
3759
3760 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
3761 Cesar Philippidis <cesar@codesourcery.com>
3762
3763 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
3764 GOACC_ctaid, and GOACC_nctaid routines.
3765
3766 2015-02-11 Jakub Jelinek <jakub@redhat.com>
3767
3768 PR c/64824
3769 * testsuite/libgomp.c/atomic-18.c: New test.
3770 * testsuite/libgomp.c++/atomic-16.C: New test.
3771
3772 2015-02-04 Jakub Jelinek <jakub@redhat.com>
3773
3774 PR c/64824
3775 PR c/64868
3776 * testsuite/libgomp.c/pr64824.c: New test.
3777 * testsuite/libgomp.c/pr64868.c: New test.
3778 * testsuite/libgomp.c++/pr64824.C: New test.
3779 * testsuite/libgomp.c++/pr64868.C: New test.
3780
3781 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
3782
3783 PR libgomp/64635
3784 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
3785 Link with -lpthread.
3786 * config/aix/plugin-suffix.h: Delete.
3787
3788 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
3789
3790 PR libgomp/64635
3791 * configure.tgt (*-*-aix*): Use config_path "aix posix".
3792 (*-*-darwin*): Use config_path "bsd darwin posix".
3793 (*-*-hpux*): Use config_path "hpux posix".
3794 * target.c: Add include of plugin-suffix.h and use
3795 SONAME_SUFFIX macro.
3796 * config/aix/plugin-suffix.h: New file.
3797 * config/darwin/plugin-suffix.h: New file.
3798 * config/hpux/plugin-suffix.h: New file.
3799 * config/posix/plugin-suffix.h: New file.
3800
3801 2015-01-23 Jakub Jelinek <jakub@redhat.com>
3802
3803 PR middle-end/64734
3804 * libgomp.c/pr64734.c: New test.
3805
3806 2015-01-23 Tom de Vries <tom@codesourcery.com>
3807
3808 PR libgomp/64672
3809 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
3810
3811 2015-01-23 Tom de Vries <tom@codesourcery.com>
3812
3813 PR libgomp/64707
3814 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
3815 dg-options.
3816
3817 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
3818
3819 PR libgomp/64625
3820 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
3821 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
3822 formal parameter. Update all users.
3823 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
3824 Document unused formal parameter.
3825
3826 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
3827
3828 * oacc-parallel.c: Don't include <alloca.h>.
3829 (GOACC_parallel): Use gomp_alloca instead of alloca.
3830
3831 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
3832
3833 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
3834
3835 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
3836 James Norris <jnorris@codesourcery.com>
3837 Tom de Vries <tom@codesourcery.com>
3838 Julian Brown <julian@codesourcery.com>
3839 Cesar Philippidis <cesar@codesourcery.com>
3840 Nathan Sidwell <nathan@codesourcery.com>
3841 Tobias Burnus <burnus@net-b.de>
3842
3843 * Makefile.am (search_path): Add $(top_srcdir)/../include.
3844 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
3845 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
3846 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
3847 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
3848 Include $(top_srcdir)/plugin/Makefrag.am.
3849 (nodist_libsubinclude_HEADERS): Add openacc.h.
3850 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
3851 openacc.f90, openacc.mod, openacc_kinds.mod.
3852 (omp_lib.mod): Generalize into...
3853 (%.mod): ... this new rule.
3854 (openacc_kinds.mod, openacc.mod): New rules.
3855 * plugin/configfrag.ac: New file.
3856 * configure.ac: Move plugin/offloading support into it. Include
3857 it. Instantiate testsuite/libgomp-test-support.pt.exp.
3858 * plugin/Makefrag.am: New file.
3859 * testsuite/Makefile.am (OFFLOAD_TARGETS)
3860 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
3861 export.
3862 (libgomp-test-support.exp): New rule.
3863 (all-local): Depend on it.
3864 * Makefile.in: Regenerate.
3865 * testsuite/Makefile.in: Regenerate.
3866 * config.h.in: Likewise.
3867 * configure: Likewise.
3868 * configure.tgt: Harden shell syntax.
3869 * env.c: Include "oacc-int.h".
3870 (parse_acc_device_type): New function.
3871 (gomp_debug_var, goacc_device_type, goacc_device_num): New
3872 variables.
3873 (initialize_env): Initialize those. Call
3874 goacc_runtime_initialize.
3875 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
3876 (gomp_fatal): Call gomp_vfatal.
3877 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
3878 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
3879 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
3880 (splay_tree_node, splay_tree, splay_tree_key)
3881 (struct target_mem_desc, struct splay_tree_key_s)
3882 (struct gomp_memory_mapping, struct acc_dispatch_t)
3883 (struct gomp_device_descr, gomp_acc_insert_pointer)
3884 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
3885 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
3886 (gomp_free_memmap, gomp_fini_device): New declarations.
3887 (gomp_vdebug, gomp_debug): New macros.
3888 Include "splay-tree.h".
3889 * libgomp.map (OACC_2.0): New symbol version. Use for
3890 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
3891 acc_set_device_type_h_, acc_get_device_type,
3892 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
3893 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
3894 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
3895 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
3896 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
3897 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
3898 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
3899 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
3900 acc_copyin_array_h_, acc_present_or_copyin,
3901 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
3902 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
3903 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
3904 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
3905 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
3906 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
3907 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
3908 acc_update_device, acc_update_device_32_h_,
3909 acc_update_device_64_h_, acc_update_device_array_h_,
3910 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
3911 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
3912 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
3913 acc_is_present_64_h_, acc_is_present_array_h_,
3914 acc_memcpy_to_device, acc_memcpy_from_device,
3915 acc_get_current_cuda_device, acc_get_current_cuda_context,
3916 acc_get_cuda_stream, acc_set_cuda_stream.
3917 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
3918 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
3919 GOACC_update, GOACC_wait, GOACC_get_thread_num,
3920 GOACC_get_num_threads.
3921 (GOMP_PLUGIN_1.0): New symbol version. Use for
3922 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
3923 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
3924 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
3925 GOMP_PLUGIN_acc_thread.
3926 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
3927 environment variable.
3928 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
3929 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
3930 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
3931 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
3932 (splay_tree_remove): New declarations.
3933 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
3934 (splay_tree_remove, splay_tree_lookup): Move into...
3935 * splay-tree.c: ... this new file.
3936 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
3937 (splay_tree_node, splay_tree, splay_tree_key)
3938 (struct target_mem_desc, struct splay_tree_key_s)
3939 (struct gomp_device_descr): Don't declare.
3940 (num_devices_openmp): New variable.
3941 (gomp_get_num_devices ): Use it.
3942 (gomp_init_targets_once): New function.
3943 (gomp_get_num_devices ): Use it.
3944 (get_kind, gomp_copy_from_async, gomp_free_memmap)
3945 (gomp_fini_device, gomp_register_image_for_device): New functions.
3946 (gomp_map_vars): Add devaddrs parameter.
3947 (gomp_update): Add mm parameter.
3948 (gomp_init_device): Move most of it into...
3949 (gomp_init_tables): ... this new function.
3950 (gomp_register_images_for_device): Remove function.
3951 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
3952 Make them hidden instead of static.
3953 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
3954 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
3955 (GOMP_target_end_data, GOMP_target_update)
3956 (gomp_load_plugin_for_device, gomp_target_init): Update for
3957 OpenACC changes.
3958 * oacc-async.c: New file.
3959 * oacc-cuda.c: Likewise.
3960 * oacc-host.c: Likewise.
3961 * oacc-init.c: Likewise.
3962 * oacc-int.h: Likewise.
3963 * oacc-mem.c: Likewise.
3964 * oacc-parallel.c: Likewise.
3965 * oacc-plugin.c: Likewise.
3966 * oacc-plugin.h: Likewise.
3967 * oacc-ptx.h: Likewise.
3968 * openacc.f90: Likewise.
3969 * openacc.h: Likewise.
3970 * openacc_lib.h: Likewise.
3971 * plugin/plugin-host.c: Likewise.
3972 * plugin/plugin-nvptx.c: Likewise.
3973 * libgomp-plugin.c: Likewise.
3974 * libgomp-plugin.h: Likewise.
3975 * libgomp_target.h: Remove file after merging content into the
3976 former file. Update all users.
3977 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
3978 (offload_targets_s, offload_targets_s_openacc): New variables.
3979 (check_effective_target_openacc_nvidia_accel_present)
3980 (check_effective_target_openacc_nvidia_accel_selected): New
3981 procedures.
3982 (libgomp_init): Update for OpenACC changes.
3983 * testsuite/libgomp-test-support.exp.in: New file.
3984 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
3985 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3986 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3987 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
3988 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
3989 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
3990 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
3991 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
3992 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
3993 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
3994 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
3995 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
3996 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
3997 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
3998 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
3999 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4000 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4001 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4002 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4003 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4004 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
4005 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
4006 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4007 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
4008 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4009 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4010 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4011 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4012 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4013 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4014 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4015 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
4016 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
4017 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
4018 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
4019 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
4020 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
4021 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
4022 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
4023 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4024 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4025 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4026 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4027 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4028 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4029 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
4030 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4031 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4032 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4033 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4034 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4035 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4036 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4037 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4038 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4039 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4040 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4041 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
4042 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4043 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
4044 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
4045 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
4046 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4047 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4048 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4049 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
4050 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
4051 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4052 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
4053 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4054 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
4055 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4056 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4057 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4058 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
4059 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
4060 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4061 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4062 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
4063 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
4064 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
4065 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
4066 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4067 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4068 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4069 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
4070 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
4071 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4072 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4073 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
4074 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
4075 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
4076 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
4077 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
4078 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4079 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4080 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4081 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
4082 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4083 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4084 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
4085 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
4086 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
4087 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
4088 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
4089 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
4090 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
4091 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
4092 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
4093 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
4094 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
4095 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
4096 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
4097 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
4098 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4099 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4100 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
4101 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
4102 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
4103 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
4104 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
4105 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
4106 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
4107 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
4108 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
4109 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
4110 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4111 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
4112 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
4113 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
4114 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
4115 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
4116 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
4117 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
4118 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
4119 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4120 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4121 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4122 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4123 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
4124 Likewise.
4125 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
4126 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
4127 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
4128 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
4129 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
4130 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4131 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4132 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4133 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4134 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4135 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4136 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4137 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4138 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4139 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4140 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4141 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4142 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4143 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4144 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4145 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4146 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4147 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4148 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4149 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4150 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4151 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
4152 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4153 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4154 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4155 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4156 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4157 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4158 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4159 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4160 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4161 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4162 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4163 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4164 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4165 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4166 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4167 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4168 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4169 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4170 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4171 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4172 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4173 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4174 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4175 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4176 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4177 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4178 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4179 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4180 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4181 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4182 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4183 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4184 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4185
4186 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
4187 Julian Brown <julian@codesourcery.com>
4188 David Malcolm <dmalcolm@redhat.com>
4189
4190 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
4191 to "GNU Offloading and Multi Processing Runtime Library". Change
4192 all users.
4193 * configure: Regenerate.
4194 * libgomp.texi: Update.
4195
4196 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
4197
4198 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
4199 "$tgt_dir/lib32".
4200 * configure: Regenerate.
4201
4202 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
4203 "intelmic" in $offload_targets.
4204
4205 2015-01-05 Jakub Jelinek <jakub@redhat.com>
4206
4207 Update copyright years.
4208
4209 * libgomp.texi: Bump @copying's copyright year.
4210
4211 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4212
4213 * testsuite/lib/libgomp.exp: Load target-utils.exp.
4214 Move load of target-supportes.exp earlier.
4215
4216 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
4217
4218 * testsuite/libgomp.c/target-9.c: New test.
4219
4220 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
4221
4222 * config.h.in: Regenerate.
4223 * configure: Regenerate.
4224 * configure.ac: Add GCC_CHECK_EMUTLS.
4225 * libgomp.h: Add check for USE_EMUTLS: this case
4226 is equal to HAVE_TLS.
4227 * team.c: Likewise.
4228
4229 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
4230
4231 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
4232
4233 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
4234 Ilya Verbin <ilya.verbin@intel.com>
4235
4236 * testsuite/libgomp.c/target-critical-1.c: New test.
4237
4238 2014-11-26 Jakub Jelinek <jakub@redhat.com>
4239
4240 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
4241 to dg-options unless expensive testing is on.
4242 (TESTITERS): Define to N if not defined.
4243 (main): Use TESTITERS instead of N.
4244 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
4245 dg-additional-options depending on whether expensive testing is on.
4246 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
4247 Decrease N to 100000 and CHUNKSZ to 10000.
4248
4249 2014-11-24 Jakub Jelinek <jakub@redhat.com>
4250
4251 PR fortran/63938
4252 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
4253 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
4254
4255 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
4256
4257 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
4258
4259 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
4260
4261 PR bootstrap/63784
4262 * configure: Regenerated.
4263
4264 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
4265
4266 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
4267 vect_simd_clones effective target.
4268 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
4269
4270 2014-11-14 Jakub Jelinek <jakub@redhat.com>
4271
4272 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
4273 of 32 as block_size.
4274 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
4275 instead of 32 as block_size.
4276
4277 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
4278 Ilya Verbin <ilya.verbin@intel.com>
4279
4280 * Makefile.in: Regenerate.
4281 * configure: Regenerate.
4282 * configure.ac: Set up offload_additional_options,
4283 offload_additional_lib_paths and offload_targets.
4284 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
4285 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
4286 * testsuite/Makefile.in: Regenerate.
4287 * testsuite/lib/libgomp.exp (libgomp_init): Append
4288 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
4289 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
4290 build directory to LD_LIBRARY_PATH for intelmic offload targets.
4291
4292 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
4293 Ilya Verbin <ilya.verbin@intel.com>
4294 Kirill Yukhin <kirill.yukhin@intel.com>
4295 Ilya Tocar <ilya.tocar@intel.com>
4296
4297 * testsuite/lib/libgomp.exp
4298 (check_effective_target_offload_device): New.
4299 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
4300 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
4301 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
4302 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
4303 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
4304 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
4305 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
4306 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
4307 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
4308 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
4309 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
4310 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
4311 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
4312 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
4313 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
4314 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
4315 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
4316 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
4317 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
4318 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
4319 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
4320 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
4321 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
4322 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
4323 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
4324 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
4325 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
4326 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
4327 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
4328 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
4329 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
4330 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
4331 * testsuite/libgomp.c/target-7.c: Fix test.
4332 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
4333 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
4334 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
4335 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
4336 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
4337 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
4338 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
4339 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
4340 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
4341 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
4342 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
4343 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
4344 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
4345 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
4346 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
4347 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
4348 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
4349 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
4350 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
4351 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
4352 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
4353 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
4354 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
4355 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
4356 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
4357 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
4358 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
4359 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
4360 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
4361 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
4362 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
4363
4364 2014-11-13 Jakub Jelinek <jakub@redhat.com>
4365 Ilya Verbin <ilya.verbin@intel.com>
4366 Thomas Schwinge <thomas@codesourcery.com>
4367 Andrey Turetskiy <andrey.turetskiy@intel.com>
4368
4369 * libgomp.map (GOMP_4.0.1): New symbol version.
4370 Add GOMP_offload_register.
4371 * libgomp_target.h: New file.
4372 * splay-tree.h: New file.
4373 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
4374 (gomp_target_init): New forward declaration.
4375 (gomp_is_initialized): New static variable.
4376 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
4377 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
4378 New structures.
4379 (offload_images, num_offload_images, devices, num_devices): New static
4380 variables.
4381 (splay_compare): New static function.
4382 (struct gomp_device_descr): New structure.
4383 (gomp_get_num_devices): Call gomp_target_init.
4384 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
4385 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
4386 (GOMP_offload_register): New function.
4387 (GOMP_target): Arrange for host callback to be performed in a separate
4388 initial thread and contention group, inheriting ICVs from
4389 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
4390 Add device initialization and lookup for target function in splay tree.
4391 (GOMP_target_data): Add device initialization and call gomp_map_vars.
4392 (GOMP_target_end_data): Call gomp_unmap_vars.
4393 (GOMP_target_update): Add device initialization and call gomp_update.
4394 (gomp_load_plugin_for_device, gomp_register_images_for_device)
4395 (gomp_target_init): New static functions.
4396
4397 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
4398 Thomas Schwinge <thomas@codesourcery.com>
4399 Ilya Verbin <ilya.verbin@intel.com>
4400 Andrey Turetskiy <andrey.turetskiy@intel.com>
4401
4402 * config.h.in: Regenerate.
4403 * configure: Regenerate.
4404 * configure.ac: Check for libdl, required for plugin support.
4405 (PLUGIN_SUPPORT): Define if plugins are supported.
4406 (enable_offload_targets): Support Intel MIC targets.
4407 (OFFLOAD_TARGETS): List of target names suitable for offloading.
4408
4409 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4410
4411 PR target/63610
4412 * configure: Regenerate.
4413
4414 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4415
4416 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
4417
4418 2014-10-06 Marek Polacek <polacek@redhat.com>
4419
4420 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
4421 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
4422 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
4423 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4424
4425 2014-10-06 Marek Polacek <polacek@redhat.com>
4426
4427 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
4428 * testsuite/libgomp.c/nqueens-1.c: Likewise.
4429 * testsuite/libgomp.c/pr26943-3.c: Likewise.
4430 * testsuite/libgomp.c/pr26943-4.c: Likewise.
4431 * testsuite/libgomp.c/pr36802-2.c: Likewise.
4432 * testsuite/libgomp.c/pr36802-3.c: Likewise.
4433 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
4434 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4435 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
4436 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
4437 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
4438 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
4439 * testsuite/libgomp.c/omp-single-1.c: Likewise.
4440 * testsuite/libgomp.c/omp-single-2.c: Likewise.
4441 * testsuite/libgomp.c/omp_matvec.c: Likewise.
4442 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
4443 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
4444 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
4445 declarations.
4446
4447 2014-10-03 Jakub Jelinek <jakub@redhat.com>
4448
4449 PR libgomp/61200
4450 * testsuite/libgomp.c/pr61200.c: New test.
4451
4452 2014-09-18 Jakub Jelinek <jakub@redhat.com>
4453
4454 PR c++/63248
4455 * testsuite/libgomp.c++/pr63248.C: New test.
4456
4457 2014-08-04 Jakub Jelinek <jakub@redhat.com>
4458
4459 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
4460 is not zero, but taskgroup->children is NULL and there are
4461 any task->children, schedule those instead of waiting.
4462 * testsuite/libgomp.c/depend-6.c: New test.
4463 * testsuite/libgomp.c/depend-7.c: New test.
4464 * testsuite/libgomp.c/depend-8.c: New test.
4465 * testsuite/libgomp.c/depend-9.c: New test.
4466 * testsuite/libgomp.c/depend-10.c: New test.
4467
4468 2014-08-01 Jakub Jelinek <jakub@redhat.com>
4469
4470 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
4471 (struct gomp_taskwait): New type.
4472 (struct gomp_task): Add taskwait and parent_depends_on, remove
4473 in_taskwait and taskwait_sem fields.
4474 (gomp_finish_task): Don't destroy taskwait_sem.
4475 * task.c (gomp_init_task): Don't init in_taskwait, instead init
4476 taskwait and parent_depends_on.
4477 (GOMP_task): For if (0) tasks with depend clause that depend on
4478 earlier tasks don't defer them, instead call
4479 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
4480 Initialize redundant_out field, for redundant out entries just
4481 move them at the end of linked list instead of removing them
4482 completely, and set redundant_out flag instead of redundant.
4483 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
4484 that task.
4485 (gomp_task_run_post_handle_dependers): If parent is in
4486 gomp_task_maybe_wait_for_dependencies and newly runnable task
4487 is not parent_depends_on, queue it in parent->children linked
4488 list after all runnable tasks with parent_depends_on set.
4489 Adjust for addition of taskwait indirection.
4490 (gomp_task_run_post_remove_parent): If parent is in
4491 gomp_task_maybe_wait_for_dependencies and task to be removed
4492 is parent_depends_on, decrement n_depend and if needed awake
4493 parent. Adjust for addition of taskwait indirection.
4494 (GOMP_taskwait): Adjust for addition of taskwait indirection.
4495 (gomp_task_maybe_wait_for_dependencies): New function.
4496 * testsuite/libgomp.c/depend-5.c: New test.
4497
4498 2014-07-13 Tobias Burnus <burnus@net-b.de>
4499
4500 * testsuite/libgomp.fortran/pr34020.f90: Make compile
4501 with TS 18508/Fortran 2015.
4502
4503 2014-07-06 Marek Polacek <polacek@redhat.com>
4504
4505 PR c/6940
4506 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
4507
4508 2014-07-03 Jakub Jelinek <jakub@redhat.com>
4509
4510 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
4511 matches regex $lang_source_re, add $lang_include_flags to options.
4512 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
4513 * testsuite/libgomp.c++/c++.exp: Likewise.
4514 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
4515 and lang_include_flags instead of adding -fintrinsic-modules-path= to
4516 ALWAYS_CFLAGS.
4517 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
4518
4519 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
4520
4521 * testsuite/libgomp.fortran/fortran.exp: Explain
4522 gfortran-dg-runtest usage.
4523
4524 2014-06-25 Jakub Jelinek <jakub@redhat.com>
4525
4526 * testsuite/libgomp.fortran/simd5.f90: New test.
4527 * testsuite/libgomp.fortran/simd6.f90: New test.
4528 * testsuite/libgomp.fortran/simd7.f90: New test.
4529
4530 2014-06-24 Jakub Jelinek <jakub@redhat.com>
4531
4532 * testsuite/libgomp.c/for-2.c: Define SC to static for
4533 #pragma omp for simd testing.
4534 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
4535 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
4536 SC macro.
4537 * testsuite/libgomp.c/simd-14.c: New test.
4538 * testsuite/libgomp.c/simd-15.c: New test.
4539 * testsuite/libgomp.c/simd-16.c: New test.
4540 * testsuite/libgomp.c/simd-17.c: New test.
4541 * testsuite/libgomp.c++/for-10.C: Define SC to static for
4542 #pragma omp for simd testing.
4543 * testsuite/libgomp.c++/simd10.C: New test.
4544 * testsuite/libgomp.c++/simd11.C: New test.
4545 * testsuite/libgomp.c++/simd12.C: New test.
4546 * testsuite/libgomp.c++/simd13.C: New test.
4547
4548 * testsuite/libgomp.fortran/aligned1.f03: New test.
4549 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
4550 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
4551 tasks with !$omp parallel !$omp single.
4552 * testsuite/libgomp.fortran/target8.f90: New test.
4553 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
4554 not to use trim in the combiner, instead call elemental function.
4555 (fn): New elemental function.
4556 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
4557 Make elemental.
4558 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
4559 omp_in): Likewise.
4560 * testsuite/libgomp.fortran/udr12.f90: New test.
4561 * testsuite/libgomp.fortran/udr13.f90: New test.
4562 * testsuite/libgomp.fortran/udr14.f90: New test.
4563 * testsuite/libgomp.fortran/udr15.f90: New test.
4564
4565 2014-06-18 Jakub Jelinek <jakub@redhat.com>
4566
4567 * omp_lib.f90.in (openmp_version): Set to 201307.
4568 * omp_lib.h.in (openmp_version): Likewise.
4569 * testsuite/libgomp.c/target-8.c: New test.
4570 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
4571 and inbranch clauses.
4572 * testsuite/libgomp.fortran/depend-3.f90: New test.
4573 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
4574 openmp_version.
4575 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4576 * testsuite/libgomp.fortran/target1.f90: New test.
4577 * testsuite/libgomp.fortran/target2.f90: New test.
4578 * testsuite/libgomp.fortran/target3.f90: New test.
4579 * testsuite/libgomp.fortran/target4.f90: New test.
4580 * testsuite/libgomp.fortran/target5.f90: New test.
4581 * testsuite/libgomp.fortran/target6.f90: New test.
4582 * testsuite/libgomp.fortran/target7.f90: New test.
4583
4584 2014-06-10 Jakub Jelinek <jakub@redhat.com>
4585
4586 PR fortran/60928
4587 * testsuite/libgomp.fortran/allocatable9.f90: New test.
4588 * testsuite/libgomp.fortran/allocatable10.f90: New test.
4589 * testsuite/libgomp.fortran/allocatable11.f90: New test.
4590 * testsuite/libgomp.fortran/allocatable12.f90: New test.
4591 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
4592 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
4593 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
4594 * testsuite/libgomp.fortran/associate1.f90: New test.
4595 * testsuite/libgomp.fortran/associate2.f90: New test.
4596 * testsuite/libgomp.fortran/procptr1.f90: New test.
4597
4598 2014-06-06 Jakub Jelinek <jakub@redhat.com>
4599
4600 * testsuite/libgomp.fortran/simd1.f90: New test.
4601 * testsuite/libgomp.fortran/udr1.f90: New test.
4602 * testsuite/libgomp.fortran/udr2.f90: New test.
4603 * testsuite/libgomp.fortran/udr3.f90: New test.
4604 * testsuite/libgomp.fortran/udr4.f90: New test.
4605 * testsuite/libgomp.fortran/udr5.f90: New test.
4606 * testsuite/libgomp.fortran/udr6.f90: New test.
4607 * testsuite/libgomp.fortran/udr7.f90: New test.
4608 * testsuite/libgomp.fortran/udr8.f90: New test.
4609 * testsuite/libgomp.fortran/udr9.f90: New test.
4610 * testsuite/libgomp.fortran/udr10.f90: New test.
4611 * testsuite/libgomp.fortran/udr11.f90: New test.
4612
4613 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
4614
4615 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
4616 vect_simd_clones effective target.
4617 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
4618
4619 2014-05-21 Jakub Jelinek <jakub@redhat.com>
4620
4621 PR middle-end/61252
4622 * testsuite/libgomp.c++/simd-9.C: New test.
4623
4624 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
4625
4626 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
4627 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
4628 texts according to their @menu entry positions.
4629
4630 2014-05-11 Jakub Jelinek <jakub@redhat.com>
4631
4632 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
4633 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
4634 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
4635 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
4636 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
4637 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
4638 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
4639 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
4640 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
4641 * testsuite/libgomp.fortran/depend-1.f90: New test.
4642 * testsuite/libgomp.fortran/depend-2.f90: New test.
4643 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
4644 * testsuite/libgomp.fortran/simd1.f90: New test.
4645 * testsuite/libgomp.fortran/simd2.f90: New test.
4646 * testsuite/libgomp.fortran/simd3.f90: New test.
4647 * testsuite/libgomp.fortran/simd4.f90: New test.
4648 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
4649
4650 2014-05-02 Jakub Jelinek <jakub@redhat.com>
4651
4652 * testsuite/libgomp.c/simd-10.c: New test.
4653 * testsuite/libgomp.c/simd-11.c: New test.
4654 * testsuite/libgomp.c/simd-12.c: New test.
4655 * testsuite/libgomp.c/simd-13.c: New test.
4656
4657 2014-04-24 Jakub Jelinek <jakub@redhat.com>
4658
4659 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
4660 atomic type clauses in any order and optional comma in between.
4661 * testsuite/libgomp.c++/atomic-15.C: Likewise.
4662 * testsuite/libgomp.c/atomic-17.c: Likewise.
4663
4664 * testsuite/libgomp.c/simd-7.c: New test.
4665 * testsuite/libgomp.c/simd-8.c: New test.
4666 * testsuite/libgomp.c/simd-9.c: New test.
4667 * testsuite/libgomp.c/loop-16.c: New test.
4668
4669 2014-04-02 Richard Henderson <rth@redhat.com>
4670
4671 * config/linux/futex.h (futex_wait): Get error value from errno.
4672 (futex_wake): Likewise.
4673
4674 2014-03-25 Jakub Jelinek <jakub@redhat.com>
4675
4676 PR c++/60331
4677 * testsuite/libgomp.c++/udr-11.C: New test.
4678 * testsuite/libgomp.c++/udr-12.C: New test.
4679 * testsuite/libgomp.c++/udr-13.C: New test.
4680 * testsuite/libgomp.c++/udr-14.C: New test.
4681 * testsuite/libgomp.c++/udr-15.C: New test.
4682 * testsuite/libgomp.c++/udr-16.C: New test.
4683 * testsuite/libgomp.c++/udr-17.C: New test.
4684 * testsuite/libgomp.c++/udr-18.C: New test.
4685 * testsuite/libgomp.c++/udr-19.C: New test.
4686
4687 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4688
4689 Update copyright years
4690
4691 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4692
4693 * hashtab.h: Use the standard form for the copyright notice.
4694
4695 2014-01-02 Tobias Burnus <burnus@net-b.de>
4696
4697 * libgomp.texi: Bump @copying's copyright year.
4698
4699 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
4700
4701 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
4702 alloca () with __builtin_alloca ().
4703 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
4704 * testsuite/libgomp.c/lock-3.c: Likewise.
4705 * testsuite/libgomp.c/pr48591.c: Likewise.
4706
4707 2013-12-17 Jakub Jelinek <jakub@redhat.com>
4708
4709 PR testsuite/59534
4710 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
4711 comparisons.
4712
4713 2013-12-16 Jakub Jelinek <jakub@redhat.com>
4714
4715 PR libgomp/58756
4716 * testsuite/libgomp.c/pr58756.c: New test.
4717
4718 2013-12-12 Jakub Jelinek <jakub@redhat.com>
4719
4720 PR libgomp/59467
4721 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
4722 !$omp parallel.
4723
4724 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
4725
4726 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
4727 ALWAYS_CFLAGS.
4728 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
4729 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
4730 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
4731 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
4732 Likewise.
4733
4734 * libgomp_g.h: Include <stddef.h> for size_t.
4735
4736 * libgomp.spec.in: Update comment about libgomp's dependencies.
4737 * configure.ac: Likewise.
4738 * configure: Regenerate.
4739
4740 2013-10-16 Tobias Burnus <burnus@net-b.de>
4741
4742 * libgomp.texi: (Runtime Library Routines): Update references for
4743 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
4744 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
4745 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
4746 (Environment Variables): Update references for OpenMP 4.0. Add
4747 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
4748 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
4749 order.
4750
4751 2013-10-14 Jakub Jelinek <jakub@redhat.com>
4752
4753 * env.c (parse_bind_var): Initialize value to avoid
4754 (false positive) warning.
4755
4756 2013-10-12 Jakub Jelinek <jakub@redhat.com>
4757
4758 PR libgomp/58691
4759 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
4760 to check variable.
4761 (gomp_init_num_threads): Move i variable declaration into
4762 #ifdef CPU_ALLOC_SIZE block.
4763 * config/linux/affinity.c (gomp_affinity_init_level): Test
4764 gomp_places_list_len == 0 rather than gomp_places_list == 0
4765 when checking for topology reading error.
4766 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
4767 * env.c (parse_affinity): Add ignore argument, if true, don't populate
4768 gomp_places_list, only parse env var and always return false.
4769 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
4770 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
4771 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
4772 and either of these variables were parsed correctly into a places
4773 list.
4774
4775 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
4776 Jakub Jelinek <jakub@redhat.com>
4777
4778 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
4779 of 5 loopfn matches.
4780 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
4781 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
4782 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
4783 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
4784 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
4785 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
4786 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
4787 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
4788
4789 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
4790
4791 * Makefile.am (omp_lib.mod): Streamline rule.
4792 * Makefile.in: Regenerate.
4793
4794 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
4795 exceptions.
4796
4797 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
4798 * testsuite/libgomp.fortran/lib1.f90: Likewise.
4799 * testsuite/libgomp.fortran/lib2.f: Likewise.
4800 * testsuite/libgomp.fortran/lib3.f: Likewise.
4801
4802 * configure.ac: Typo fix.
4803 * configure: Regenerate.
4804
4805 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
4806 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4807
4808 * omp.h.in: Don't touch the user's namespace.
4809
4810 2013-10-11 Jakub Jelinek <jakub@redhat.com>
4811 Tobias Burnus <burnus@net-b.de>
4812 Richard Henderson <rth@redhat.com>
4813
4814 * target.c: New file.
4815 * Makefile.am (libgomp_la_SOURCES): Add target.c.
4816 * Makefile.in: Regenerated.
4817 * libgomp_g.h (GOMP_task): Add depend argument.
4818 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
4819 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
4820 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
4821 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
4822 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
4823 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
4824 GOMP_taskgroup_start, GOMP_taskgroup_end,
4825 GOMP_parallel_sections): New prototypes.
4826 * fortran.c (omp_is_initial_device): Add ialias_redirect.
4827 (omp_is_initial_device_): New function.
4828 (ULP, STR1, STR2, ialias_redirect): Removed.
4829 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
4830 omp_set_default_device_8_, omp_get_default_device_,
4831 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
4832 functions.
4833 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
4834 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
4835 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
4836 @@GOMP_4.0.
4837 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
4838 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
4839 omp_set_default_device, omp_set_default_device_,
4840 omp_set_default_device_8_, omp_get_default_device,
4841 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
4842 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
4843 omp_get_team_num_): Export @@OMP_4.0.
4844 * team.c (struct gomp_thread_start_data): Add place field.
4845 (gomp_thread_start): Clear thr->thread_pool and
4846 thr->task before returning. Use gomp_team_barrier_wait_final
4847 instead of gomp_team_barrier_wait. Initialize thr->place.
4848 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
4849 team_cancelled and task_queued_count fields.
4850 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
4851 before calling pthread_exit.
4852 (gomp_free_thread): No longer static. Use
4853 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
4854 (gomp_team_start): Add flags argument. Set
4855 thr->thread_pool->threads_busy to nthreads immediately after creating
4856 new pool. Use gomp_managed_threads_lock instead of
4857 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
4858 (gomp_team_end): Use gomp_managed_threads_lock instead of
4859 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
4860 of gomp_team_barrier_wait. If team->team_cancelled, call
4861 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
4862 rather than thr->ts.work_share.
4863 (initialize_team): Don't call gomp_sem_init here.
4864 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
4865 caller.
4866 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
4867 * env.c (gomp_global_icv): Add default_device_var, target_data and
4868 bind_var initializers.
4869 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
4870 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
4871 gomp_places_list_len): New variables.
4872 (parse_bind_var, parse_one_place, parse_places_var): New functions.
4873 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
4874 sized places.
4875 (gomp_cancel_var): New global variable.
4876 (parse_int): New function.
4877 (handle_omp_display_env): New function.
4878 (initialize_env): Use it. Initialize default_device_var.
4879 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
4880 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
4881 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
4882 been successfully parsed (and call gomp_init_affinity in that case).
4883 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
4884 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
4885 omp_get_team_num, omp_is_initial_device): New functions.
4886 * libgomp.h: Include stdlib.h.
4887 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
4888 Define.
4889 (struct target_mem_desc): Forward declare.
4890 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
4891 and thread_limit_var fields.
4892 (gomp_get_num_devices): New prototype.
4893 (gomp_cancel_var): New extern decl.
4894 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
4895 team_cancelled and task_queued_count fields. Add comments about
4896 task_{,queued_,running_}count.
4897 (gomp_cancel_kind): New enum.
4898 (gomp_work_share_end_cancel): New prototype.
4899 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
4900 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
4901 and depend fields.
4902 (struct gomp_taskgroup): New type.
4903 (struct gomp_task_depend_entry,
4904 struct gomp_dependers_vec): New types.
4905 (gomp_finish_task): Free depend_hash if non-NULL.
4906 (struct gomp_team_state): Add place_partition_off
4907 and place_partition_len fields.
4908 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
4909 gomp_places_list_len): New extern decls.
4910 (struct gomp_thread): Add place field.
4911 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
4912 (gomp_init_thread_affinity): Add place argument.
4913 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
4914 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
4915 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
4916 gomp_affinity_init_level, gomp_affinity_print_place): New
4917 prototypes.
4918 (gomp_team_start): Add flags argument.
4919 (gomp_thread_limit_var, gomp_remaining_threads_count,
4920 gomp_remaining_threads_lock): Remove.
4921 (gomp_managed_threads_lock): New variable.
4922 (struct gomp_thread_pool): Add threads_busy field.
4923 (gomp_free_thread): New prototype.
4924 * task.c: Include hashtab.h.
4925 (hash_entry_type): New typedef.
4926 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
4927 (gomp_init_task): Clear dependers, depend_hash, depend_count,
4928 copy_ctors_done and taskgroup fields.
4929 (GOMP_task): Add depend argument, handle depend clauses. If
4930 gomp_team_barrier_cancelled or if it's taskgroup has been
4931 cancelled, don't queue or start new tasks. Set copy_ctors_done
4932 field if needed. Initialize taskgroup field. If copy_ctors_done
4933 and already cancelled, don't discard the task. If taskgroup is
4934 non-NULL, enqueue the task into taskgroup queue. Increment
4935 num_children field in taskgroup. Increment task_queued_count.
4936 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
4937 gomp_task_run_post_remove_taskgroup): New inline functions.
4938 (gomp_task_run_post_handle_depend_hash,
4939 gomp_task_run_post_handle_dependers,
4940 gomp_task_run_post_handle_depend): New functions.
4941 (GOMP_taskwait): Use them. If more than one new tasks
4942 have been queued, wake other threads if needed.
4943 (gomp_barrier_handle_tasks): Likewise. If
4944 gomp_team_barrier_cancelled, don't start any new tasks, just free
4945 all tasks.
4946 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
4947 * omp_lib.f90.in
4948 (omp_proc_bind_kind, omp_proc_bind_false,
4949 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
4950 omp_proc_bind_spread): New params.
4951 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
4952 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
4953 omp_get_team_num, omp_is_initial_device): New interfaces.
4954 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
4955 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
4956 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
4957 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
4958 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
4959 useless use omp_lib_kinds.
4960 * omp.h.in (omp_proc_bind_t): New typedef.
4961 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
4962 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
4963 omp_get_team_num, omp_is_initial_device): New prototypes.
4964 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
4965 through to gomp_team_start.
4966 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
4967 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
4968 Adjust gomp_parallel_loop_start callers.
4969 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
4970 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
4971 GOMP_loop_end_cancel): New functions.
4972 (GOMP_parallel_end): Add ialias_redirect.
4973 * hashtab.h: New file.
4974 * libgomp.texi (Environment Variables): Minor cleanup,
4975 update section refs to OpenMP 4.0rc2.
4976 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
4977 environment variables.
4978 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
4979 team->work_shares_to_free to thr->ts.work_share before calling
4980 free_work_share.
4981 (gomp_work_share_end_cancel): New function.
4982 * config/linux/proc.c: Include errno.h.
4983 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
4984 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
4985 sizeof (cpu_set_t) to determine number of iterations. Fix up check
4986 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
4987 gomp_cpuset_size is sizeof (cpu_set_t).
4988 (gomp_init_num_threads): Initialize gomp_cpuset_size,
4989 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
4990 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
4991 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
4992 contain any logical CPUs.
4993 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
4994 is NULL. Use gomp_cpusetp instead of &cpuset and pass
4995 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
4996 pthread_getaffinity_np. Check gomp_places_list instead of
4997 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
4998 * config/linux/bar.c (gomp_barrier_wait_end,
4999 gomp_barrier_wait_last): Use BAR_* defines.
5000 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
5001 from state where needed. Set work_share_cancelled to 0 on last
5002 thread.
5003 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
5004 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
5005 functions.
5006 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
5007 Add cpusetsize argument.
5008 (gomp_cpuset_size, gomp_cpusetp): Declare.
5009 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
5010 (affinity_counter): Remove.
5011 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
5012 if CPU_ALLOC_SIZE isn't defined.
5013 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
5014 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
5015 bind current thread to the first place.
5016 (gomp_init_thread_affinity): Rewritten. Add place argument, just
5017 pthread_setaffinity_np to gomp_places_list[place].
5018 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5019 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5020 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5021 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
5022 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
5023 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
5024 (gomp_barrier_t): Add awaited_final field.
5025 (gomp_barrier_init): Initialize awaited_final field.
5026 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
5027 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
5028 prototypes.
5029 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
5030 defines.
5031 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
5032 gomp_team_barrier_cancelled): New inline functions.
5033 (gomp_barrier_last_thread,
5034 gomp_team_barrier_set_task_pending,
5035 gomp_team_barrier_clear_task_pending,
5036 gomp_team_barrier_set_waiting_for_tasks,
5037 gomp_team_barrier_waiting_for_tasks,
5038 gomp_team_barrier_done): Use BAR_* defines.
5039 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
5040 (gomp_barrier_wait_end): Use BAR_* defines.
5041 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
5042 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
5043 Use BAR_* defines.
5044 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
5045 gomp_team_barrier_cancel): New functions.
5046 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
5047 argument.
5048 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5049 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5050 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5051 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
5052 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
5053 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
5054 (gomp_barrier_t): Add cancellable field.
5055 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
5056 gomp_team_barrier_cancel): New prototypes.
5057 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
5058 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
5059 gomp_team_barrier_cancelled): New inline functions.
5060 (gomp_barrier_wait_start, gomp_barrier_last_thread,
5061 gomp_team_barrier_set_task_pending,
5062 gomp_team_barrier_clear_task_pending,
5063 gomp_team_barrier_set_waiting_for_tasks,
5064 gomp_team_barrier_waiting_for_tasks,
5065 gomp_team_barrier_done): Use BAR_* defines.
5066 * barrier.c (GOMP_barrier_cancel): New function.
5067 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
5068 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
5069 omp_proc_bind_spread): New params.
5070 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5071 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5072 omp_get_team_num, omp_is_initial_device): New externals.
5073 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
5074 New functions.
5075 (gomp_resolve_num_threads): Adjust for thread_limit now being in
5076 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
5077 infinity. If not nested, just return minimum of max_num_threads
5078 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
5079 to the returned value. Otherwise, don't update atomically
5080 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
5081 (GOMP_parallel_end): Adjust for thread_limit now being in
5082 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
5083 infinity. Adjust threads_busy in the pool rather than
5084 gomp_remaining_threads_count. Remember team->nthreads and call
5085 gomp_team_end before adjusting threads_busy, if not nested
5086 afterwards, just set it to 1 non-atomically. Add ialias.
5087 (GOMP_parallel_start): Adjust gomp_team_start caller.
5088 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
5089 * testsuite/libgomp.c/affinity-1.c: New test.
5090 * testsuite/libgomp.c/atomic-15.c: New test.
5091 * testsuite/libgomp.c/atomic-16.c: New test.
5092 * testsuite/libgomp.c/atomic-17.c: New test.
5093 * testsuite/libgomp.c/cancel-for-1.c: New test.
5094 * testsuite/libgomp.c/cancel-for-2.c: New test.
5095 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
5096 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
5097 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
5098 * testsuite/libgomp.c/cancel-sections-1.c: New test.
5099 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
5100 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
5101 * testsuite/libgomp.c/depend-1.c: New test.
5102 * testsuite/libgomp.c/depend-2.c: New test.
5103 * testsuite/libgomp.c/depend-3.c: New test.
5104 * testsuite/libgomp.c/depend-4.c: New test.
5105 * testsuite/libgomp.c/for-1.c: New test.
5106 * testsuite/libgomp.c/for-1.h: New file.
5107 * testsuite/libgomp.c/for-2.c: New test.
5108 * testsuite/libgomp.c/for-2.h: New file.
5109 * testsuite/libgomp.c/for-3.c: New test.
5110 * testsuite/libgomp.c/pr58392.c: New test.
5111 * testsuite/libgomp.c/simd-1.c: New test.
5112 * testsuite/libgomp.c/simd-2.c: New test.
5113 * testsuite/libgomp.c/simd-3.c: New test.
5114 * testsuite/libgomp.c/simd-4.c: New test.
5115 * testsuite/libgomp.c/simd-5.c: New test.
5116 * testsuite/libgomp.c/simd-6.c: New test.
5117 * testsuite/libgomp.c/target-1.c: New test.
5118 * testsuite/libgomp.c/target-2.c: New test.
5119 * testsuite/libgomp.c/target-3.c: New test.
5120 * testsuite/libgomp.c/target-4.c: New test.
5121 * testsuite/libgomp.c/target-5.c: New test.
5122 * testsuite/libgomp.c/target-6.c: New test.
5123 * testsuite/libgomp.c/target-7.c: New test.
5124 * testsuite/libgomp.c/taskgroup-1.c: New test.
5125 * testsuite/libgomp.c/thread-limit-1.c: New test.
5126 * testsuite/libgomp.c/thread-limit-2.c: New test.
5127 * testsuite/libgomp.c/thread-limit-3.c: New test.
5128 * testsuite/libgomp.c/udr-1.c: New test.
5129 * testsuite/libgomp.c/udr-2.c: New test.
5130 * testsuite/libgomp.c/udr-3.c: New test.
5131 * testsuite/libgomp.c++/affinity-1.C: New test.
5132 * testsuite/libgomp.c++/atomic-10.C: New test.
5133 * testsuite/libgomp.c++/atomic-11.C: New test.
5134 * testsuite/libgomp.c++/atomic-12.C: New test.
5135 * testsuite/libgomp.c++/atomic-13.C: New test.
5136 * testsuite/libgomp.c++/atomic-14.C: New test.
5137 * testsuite/libgomp.c++/atomic-15.C: New test.
5138 * testsuite/libgomp.c++/cancel-for-1.C: New test.
5139 * testsuite/libgomp.c++/cancel-for-2.C: New test.
5140 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
5141 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
5142 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
5143 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
5144 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
5145 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
5146 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
5147 * testsuite/libgomp.c++/cancel-test.h: New file.
5148 * testsuite/libgomp.c++/for-9.C: New test.
5149 * testsuite/libgomp.c++/for-10.C: New test.
5150 * testsuite/libgomp.c++/for-11.C: New test.
5151 * testsuite/libgomp.c++/simd-1.C: New test.
5152 * testsuite/libgomp.c++/simd-2.C: New test.
5153 * testsuite/libgomp.c++/simd-3.C: New test.
5154 * testsuite/libgomp.c++/simd-4.C: New test.
5155 * testsuite/libgomp.c++/simd-5.C: New test.
5156 * testsuite/libgomp.c++/simd-6.C: New test.
5157 * testsuite/libgomp.c++/simd-7.C: New test.
5158 * testsuite/libgomp.c++/simd-8.C: New test.
5159 * testsuite/libgomp.c++/target-1.C: New test.
5160 * testsuite/libgomp.c++/target-2.C: New test.
5161 * testsuite/libgomp.c++/target-2-aux.cc: New file.
5162 * testsuite/libgomp.c++/target-3.C: New test.
5163 * testsuite/libgomp.c++/taskgroup-1.C: New test.
5164 * testsuite/libgomp.c++/udr-1.C: New test.
5165 * testsuite/libgomp.c++/udr-2.C: New test.
5166 * testsuite/libgomp.c++/udr-3.C: New test.
5167 * testsuite/libgomp.c++/udr-4.C: New test.
5168 * testsuite/libgomp.c++/udr-5.C: New test.
5169 * testsuite/libgomp.c++/udr-6.C: New test.
5170 * testsuite/libgomp.c++/udr-7.C: New test.
5171 * testsuite/libgomp.c++/udr-8.C: New test.
5172 * testsuite/libgomp.c++/udr-9.C: New test.
5173
5174 2013-09-20 Jakub Jelinek <jakub@redhat.com>
5175
5176 PR testsuite/57605
5177 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
5178 ALWAYS_CFLAGS.
5179
5180 2013-09-20 Alan Modra <amodra@gmail.com>
5181
5182 * configure: Regenerate.
5183
5184 2013-09-19 Jakub Jelinek <jakub@redhat.com>
5185
5186 * testsuite/libgomp.c/sections-2.c: New test.
5187
5188 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
5189
5190 * testsuite/libgomp.fortran/strassen.f90:
5191 Add dg-skip-if aarch64_tiny.
5192
5193 2013-06-20 Iain Sandoe <iain@codesourcery.com>
5194 Cesar Philippidis <cesar@codesourcery.com>
5195
5196 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
5197 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
5198 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
5199 * testsuite/libgomp.fortran/fortran.exp: Likewise.
5200 * testsuite/libgomp.graphite/graphite.exp: Likewise.
5201 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
5202 Use dg-runtest rather than gfortran-dg-runtest.
5203
5204 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
5205
5206 * testsuite/libgomp.c/icv-2.c: Extend current handling of
5207 Linux-based x86 systems to cover all GNU systems.
5208 * testsuite/libgomp.c/lock-3.c: Likewise.
5209 * testsuite/libgomp.c/pr48591.c: Likewise.
5210
5211 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
5212
5213 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
5214 GNU/Hurd, as done for Linux-based systems.
5215
5216 * config/posix/ptrlock.h: Fix comment.
5217
5218 2013-05-27 Tobias Burnus <burnus@net-b.de>
5219
5220 PR fortran/57423
5221 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
5222 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
5223 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
5224 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
5225 omp_destroy_nest_lock): Correct arguments to match the one in
5226 the OpenMP spec.
5227 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
5228 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
5229 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
5230 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
5231
5232 2013-05-16 Jakub Jelinek <jakub@redhat.com>
5233
5234 * testsuite/libgomp.c/loop-13.c: New test.
5235 * testsuite/libgomp.c/loop-14.c: New test.
5236 * testsuite/libgomp.c/loop-15.c: New test.
5237 * testsuite/libgomp.c++/loop-13.C: New test.
5238 * testsuite/libgomp.c++/loop-14.C: New test.
5239 * testsuite/libgomp.c++/loop-15.C: New test.
5240
5241 2013-02-06 Jakub Jelinek <jakub@redhat.com>
5242
5243 PR middle-end/56217
5244 * testsuite/libgomp.c++/pr56217.C: New test.
5245
5246 2013-02-01 Alan Modra <amodra@gmail.com>
5247
5248 * task.c (GOMP_task, GOMP_taskwait): Comment.
5249
5250 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
5251 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
5252
5253 PR libgomp/55561
5254 * config/linux/wait.h (do_spin): Use atomic load for addr.
5255 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
5256 for intptr and ptrlock.
5257 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
5258 for ptrlock.
5259
5260 2013-01-22 Alan Modra <amodra@gmail.com>
5261
5262 PR libgomp/51376
5263 PR libgomp/56073
5264 * task.c (GOMP_task): Revert 2011-12-09 change.
5265 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
5266 barrier to read task->children..
5267 (gomp_barrier_handle_tasks): ..and matching atomic store with
5268 release barrier here when setting parent->children to NULL.
5269
5270 2013-01-16 Jakub Jelinek <jakub@redhat.com>
5271 Tobias Burnus <burnus@net-b.de>
5272
5273 PR driver/55884
5274 * testsuite/libgomp.fortran/fortran.exp: Use
5275 -fintrinsic-modules-path= instead of
5276 -fintrinsic-modules-path.
5277
5278 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
5279
5280 Update copyright years.
5281
5282 2012-12-19 Tobias Burnus <burnus@net-b.de>
5283
5284 * testsuite/libgomp.fortran/fortran.exp: Set
5285 -fintrinsic-modules-path.
5286
5287 2012-12-19 Tobias Burnus <burnus@net-b.de>
5288
5289 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
5290 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
5291
5292 2012-11-21 Jakub Jelinek <jakub@redhat.com>
5293
5294 PR libgomp/55411
5295 * team.c (gomp_free_thread): Decrease gomp_managed_threads
5296 if pool had any threads_used.
5297
5298 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
5299
5300 * testsuite/libgomp.c++/pr24455.C: Use
5301 -Wl,-undefined,dynamic_lookup on darwin.
5302
5303 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
5304
5305 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
5306
5307 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
5308
5309 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
5310
5311 2012-10-23 Ian Bolton <ian.bolton@arm.com>
5312 Jim MacArthur <jim.macarthur@arm.com>
5313 Marcus Shawcroft <marcus.shawcroft@arm.com>
5314 Nigel Stephens <nigel.stephens@arm.com>
5315 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5316 Richard Earnshaw <rearnsha@arm.com>
5317 Sofiane Naci <sofiane.naci@arm.com>
5318 Stephen Thomas <stephen.thomas@arm.com>
5319 Tejas Belagod <tejas.belagod@arm.com>
5320 Yufeng Zhang <yufeng.zhang@arm.com>
5321
5322 * configure.tgt: Add AArch64.
5323
5324 2012-10-04 Jason Merrill <jason@redhat.com>
5325
5326 * testsuite/libgomp.c++/tls-init1.C: New.
5327
5328 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
5329
5330 * configure: Regenerated.
5331
5332 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
5333
5334 * config/linux/mips/futex.h (sys_futex0): Change to static
5335 function with noinline, nomips16 attributes under MIPS16. Adjust
5336 asm statement to place 'li v0,SYS_futex' immediately before
5337 syscall insn.
5338
5339 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
5340
5341 * libgomp.texi (Library Index): Renamed from "Index" to prevent
5342 conflict with index.html on case-insensitive file systems.
5343
5344 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
5345
5346 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
5347 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
5348
5349 2012-07-02 Richard Guenther <rguenther@suse.de>
5350 Michael Matz <matz@suse.de>
5351 Tobias Grosser <tobias@grosser.es>
5352 Sebastian Pop <sebpop@gmail.com>
5353
5354 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
5355 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
5356 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5357 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5358
5359 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
5360
5361 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
5362
5363 2012-06-22 Richard Guenther <rguenther@suse.de>
5364
5365 Merge from graphite branch
5366 2012-01-13 Tobias Grosser <tobias@grosser.es>
5367
5368 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
5369 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
5370
5371 2012-06-07 Jakub Jelinek <jakub@redhat.com>
5372
5373 PR middle-end/53580
5374 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
5375 use GOMP_barrier () call instead.
5376 * testsuite/libgomp.c/pr26943-3.c: Likewise.
5377 * testsuite/libgomp.c/pr26943-4.c: Likewise.
5378 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
5379 call GOMP_barrier instead.
5380 * testsuite/libgomp.fortran/vla5.f90: Likewise.
5381
5382 2012-06-06 Jakub Jelinek <jakub@redhat.com>
5383
5384 PR libgomp/52993
5385 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
5386 argument to memset call.
5387
5388 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
5389
5390 * configure: Regenerated.
5391
5392 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5393
5394 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
5395
5396 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
5397
5398 PR bootstrap/52812
5399 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
5400
5401 2012-03-22 Jakub Jelinek <jakub@redhat.com>
5402
5403 PR middle-end/52547
5404 * testsuite/libgomp.c/pr52547.c: New test.
5405
5406 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
5407
5408 * testsuite/lib/libgomp.exp: load fortran-modules.exp
5409
5410 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5411
5412 * configure.tgt (mips-sgi-irix6*): Remove.
5413
5414 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5415
5416 * configure.tgt (alpha*-dec-osf*): Remove.
5417
5418 * config/osf/sem.h: Remove.
5419 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
5420
5421 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
5422
5423 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
5424
5425 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5426
5427 PR libstdc++/52188
5428 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
5429 Remove ENABLE_SYMVERS_SOL2.
5430 * configure: Regenerate.
5431 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
5432 (PREPROCESS): New variable.
5433 (libgomp.ver): New target.
5434 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
5435 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
5436 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
5437 Use libgomp.ver.
5438 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
5439 * Makefile.in: Regenerate.
5440
5441 2012-02-14 Walter Lee <walt@tilera.com>
5442
5443 * configure.tgt: Handle tilegx and tilepro.
5444 * config/linux/tile/futex.h: New file.
5445
5446 2012-02-08 Richard Guenther <rguenther@suse.de>
5447
5448 PR tree-optimization/46886
5449 * testsuite/libgomp.c/pr46886.c: New testcase.
5450
5451 2012-01-25 Matthias Klose <doko@ubuntu.com>
5452
5453 * config/linux/arm: Remove empty directory.
5454 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
5455
5456 2011-12-09 Alan Modra <amodra@gmail.com>
5457
5458 PR libgomp/51376
5459 * task.c (GOMP_taskwait): Don't access task->children outside of
5460 task_lock mutex region.
5461 (GOMP_task): Likewise.
5462
5463 2011-12-06 Jakub Jelinek <jakub@redhat.com>
5464
5465 PR libgomp/51132
5466 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
5467 to file scope.
5468 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
5469 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
5470 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5471 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5472 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
5473
5474 2011-12-02 Alan Modra <amodra@gmail.com>
5475
5476 * config/linux/affinity.c: Use atomic rather than sync builtin.
5477 * config/linux/lock.c: Likewise.
5478 * config/linux/ptrlock.h: Likewise.
5479 * config/linux/ptrlock.c: Likewise.
5480 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
5481 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
5482 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
5483 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
5484 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
5485 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
5486 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
5487 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
5488 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
5489 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
5490
5491 2011-11-30 Alan Modra <amodra@gmail.com>
5492
5493 PR libgomp/51298
5494 * config/linux/bar.h: Use atomic rather than sync builtins.
5495 * config/linux/bar.c: Likewise. Add missing acquire
5496 synchronisation on generation field.
5497 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
5498 double unlock.
5499
5500 2011-11-30 Alan Modra <amodra@gmail.com>
5501
5502 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
5503 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
5504 * config/linux/mutex.h: Use atomic rather than sync builtins.
5505 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
5506 * config/linux/omp-lock.h: Comment fix.
5507 * config/linux/arm/mutex.h: Delete.
5508 * config/linux/powerpc/mutex.h: Delete.
5509 * config/linux/ia64/mutex.h: Delete.
5510 * config/linux/mips/mutex.h: Delete.
5511
5512 2011-11-30 Alan Modra <amodra@gmail.com>
5513
5514 PR libgomp/51249
5515 * config/linux/sem.h: Rewrite.
5516 * config/linux/sem.c: Rewrite.
5517
5518 2011-11-28 Richard Henderson <rth@redhat.com>
5519
5520 * libgomp.h (enum memmodel): New.
5521
5522 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
5523
5524 * configure: Regenerate.
5525
5526 2011-10-10 Matthias Klose <doko@ubuntu.com>
5527
5528 * config/posix95: Remove empty directory.
5529
5530 2011-08-26 Jakub Jelinek <jakub@redhat.com>
5531
5532 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
5533
5534 2011-08-19 Jakub Jelinek <jakub@redhat.com>
5535
5536 PR fortran/49792
5537 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
5538 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
5539
5540 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5541
5542 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
5543
5544 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5545
5546 PR libgomp/49965
5547 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
5548
5549 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
5550
5551 * config/linux/proc.h: New.
5552 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
5553 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
5554 (gomp_init_num_threads): Update call to cpuset_popcount.
5555 (get_num_procs): Ditto.
5556 * config/linux/affinity.c (gomp_init_affinity): Call
5557 gomp_cpuset_popcount.
5558
5559 2011-08-02 Jakub Jelinek <jakub@redhat.com>
5560
5561 PR fortran/42041
5562 PR fortran/46752
5563 * omp.h.in (omp_in_final): New prototype.
5564 * omp_lib.f90.in (omp_in_final): New interface.
5565 (omp_integer_kind, omp_logical_kind): Remove
5566 and replace all its uses in the module with 4.
5567 (openmp_version): Change to 201107.
5568 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
5569 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
5570 kind for the parameters.
5571 (omp_in_final): New external.
5572 (openmp_version): Change to 201107.
5573 * task.c (omp_in_final): New function.
5574 (gomp_init_task): Initialize final_task.
5575 (GOMP_task): Remove unused attribute from flags. Handle final
5576 tasks.
5577 (GOMP_taskyield): New function.
5578 (omp_in_final): Return true if if (false) or final (true) task
5579 or descendant of final (true).
5580 * fortran.c (omp_in_final_): New function.
5581 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
5582 (GOMP_3.0): Export GOMP_taskyield.
5583 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
5584 variables.
5585 (parse_unsigned_long_list): New function.
5586 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
5587 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
5588 even if parse_affinity returned false.
5589 * config/linux/affinity.c (gomp_init_affinity): Handle
5590 gomp_cpu_affinity_len == 0.
5591 * libgomp_g.h (GOMP_taskyield): New prototype.
5592 * libgomp.h (struct gomp_task): Add final_task field.
5593 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
5594 * team.c (gomp_team_start): Override new task's nthreads_var icv
5595 if list form OMP_NUM_THREADS has been used and it has value for
5596 the new nesting level.
5597
5598 * testsuite/libgomp.c/atomic-11.c: New test.
5599 * testsuite/libgomp.c/atomic-12.c: New test.
5600 * testsuite/libgomp.c/atomic-13.c: New test.
5601 * testsuite/libgomp.c/atomic-14.c: New test.
5602 * testsuite/libgomp.c/reduction-6.c: New test.
5603 * testsuite/libgomp.c/task-5.c: New test.
5604 * testsuite/libgomp.c++/atomic-2.C: New test.
5605 * testsuite/libgomp.c++/atomic-3.C: New test.
5606 * testsuite/libgomp.c++/atomic-4.C: New test.
5607 * testsuite/libgomp.c++/atomic-5.C: New test.
5608 * testsuite/libgomp.c++/atomic-6.C: New test.
5609 * testsuite/libgomp.c++/atomic-7.C: New test.
5610 * testsuite/libgomp.c++/atomic-8.C: New test.
5611 * testsuite/libgomp.c++/atomic-9.C: New test.
5612 * testsuite/libgomp.c++/task-8.C: New test.
5613 * testsuite/libgomp.c++/reduction-4.C: New test.
5614 * testsuite/libgomp.fortran/allocatable7.f90: New test.
5615 * testsuite/libgomp.fortran/allocatable8.f90: New test.
5616 * testsuite/libgomp.fortran/crayptr3.f90: New test.
5617 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
5618 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
5619 * testsuite/libgomp.fortran/pointer1.f90: New test.
5620 * testsuite/libgomp.fortran/pointer2.f90: New test.
5621 * testsuite/libgomp.fortran/task4.f90: New test.
5622
5623 2011-08-02 Tobias Burnus <burnus@net-b.de>
5624
5625 * libgomp.texi: Update OpenMP spec references to 3.1.
5626 (omp_in_final,OMP_PROC_BIND): New sections.
5627 (OMP_NUM_THREADS): Document that the value can be now a list.
5628 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
5629
5630 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
5631
5632 * config/linux/x86/futex.h: Check __x86_64__ instead of
5633 __LP64__.
5634
5635 2011-07-29 Jakub Jelinek <jakub@redhat.com>
5636
5637 PR middle-end/49897
5638 PR middle-end/49898
5639 * testsuite/libgomp.c/pr49897-1.c: New test.
5640 * testsuite/libgomp.c/pr49897-2.c: New test.
5641 * testsuite/libgomp.c/pr49898-1.c: New test.
5642 * testsuite/libgomp.c/pr49898-2.c: New test.
5643
5644 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
5645
5646 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
5647 for ia32 instead of ilp32.
5648
5649 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
5650 * testsuite/libgomp.c/atomic-6.c: Likewise.
5651
5652 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
5653
5654 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
5655 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
5656
5657 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5658
5659 PR libgomp/45351
5660 * config/osf/sem.h: New file.
5661 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
5662
5663 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5664
5665 PR target/49541
5666 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
5667 ldflags.
5668
5669 2011-07-15 Jakub Jelinek <jakub@redhat.com>
5670
5671 * config/linux/wait.h (do_spin): New inline, largely copied
5672 from do_wait, just don't do futex_wait here, instead return true if
5673 it should be done.
5674 (do_wait): Implement using do_spin.
5675 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
5676 to prototype.
5677 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
5678 __sync_bool_compare_and_swap, pass the oldval to
5679 gomp_mutex_lock_slow.
5680 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
5681 If all mutex contenders are just spinning and not sleeping, don't
5682 change state to 2 unnecessarily. Optimize the loop when state has
5683 already become 2 to use just one atomic operation per loop instead
5684 of two.
5685 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
5686 to prototype.
5687 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
5688 __sync_bool_compare_and_swap, pass the oldval to
5689 gomp_mutex_lock_slow.
5690
5691 2011-06-22 Jakub Jelinek <jakub@redhat.com>
5692
5693 PR libgomp/49490
5694 * iter.c (gomp_iter_static_next): For chunk size 0
5695 only use n ceil/ nthreads size for the first
5696 n % nthreads threads in the team instead of
5697 all threads except for the last few ones which
5698 get less work or none at all.
5699 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
5700 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
5701 chunk argument, set run_sched_modifier to 0 for static
5702 resp. 1 for other kinds. If chunk argument is 0
5703 and not static, set value to 1.
5704
5705 2011-05-19 Jakub Jelinek <jakub@redhat.com>
5706
5707 PR c++/49043
5708 * testsuite/libgomp.c++/pr49043.C: New test.
5709
5710 PR c++/48869
5711 * testsuite/libgomp.c++/pr48869.C: New test.
5712
5713 2011-05-06 Jakub Jelinek <jakub@redhat.com>
5714
5715 PR fortran/48894
5716 * fortran.c: Include limits.h.
5717 (TO_INT): Define.
5718 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
5719 *set.
5720 (omp_set_num_threads_8_, omp_set_schedule_8_,
5721 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
5722 omp_get_team_size_8_): Use TO_INT macro.
5723 * testsuite/libgomp.fortran/pr48894.f90: New test.
5724
5725 2011-04-13 Jakub Jelinek <jakub@redhat.com>
5726
5727 PR middle-end/48591
5728 * testsuite/libgomp.c/pr48591.c: New test.
5729
5730 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5731
5732 PR bootstrap/48135
5733 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
5734 * configure: Regenerate.
5735
5736 2011-02-27 Jakub Jelinek <jakub@redhat.com>
5737
5738 PR fortran/47886
5739 * testsuite/libgomp.fortran/task3.f90: New test.
5740
5741 2011-02-24 Tobias Burnus <burnus@net-b.de>
5742
5743 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
5744
5745 2011-02-23 Jakub Jelinek <jakub@redhat.com>
5746
5747 PR libgomp/47854
5748 * libgomp.texi (omp_get_wtime): Don't say time in the past
5749 must be Unix Epoch.
5750
5751 2011-02-18 Jakub Jelinek <jakub@redhat.com>
5752
5753 PR libgomp/47804
5754 * testsuite/libgomp.fortran/fortran.exp: Check for both
5755 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
5756 but $blddir != "", still append ${blddir}/${lang_library_path}
5757 to ld_library_path.
5758
5759 2011-02-16 Tobias Burnus <burnus@net-b.de>
5760
5761 PR libgomp/47758
5762 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
5763 of libquadmath.a before adding its libpath to ldflags.
5764
5765 2011-02-14 Jakub Jelinek <jakub@redhat.com>
5766
5767 PR libgomp/47731
5768 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
5769 to FUTEX_WAIT futex syscall.
5770 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
5771
5772 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5773
5774 * configure: Regenerate.
5775
5776 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
5777
5778 PR libstdc++/36104
5779 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
5780
5781 2011-01-16 Gerald Pfeifer
5782
5783 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
5784
5785 2010-12-14 Jakub Jelinek <jakub@redhat.com>
5786
5787 PR fortran/46874
5788 * libgomp.fortran/allocatable6.f90: New test.
5789
5790 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5791
5792 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
5793 * configure: Regenerate.
5794
5795 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
5796
5797 PR target/40125
5798 PR lto/46695
5799 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
5800 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
5801 * aclocal.m4: Regenerate.
5802 * configure: Regenerate.
5803 * Makefile.in: Regenerate.
5804 * testsuite/Makefile.in: Regenerate.
5805
5806 2010-12-02 Jakub Jelinek <jakub@redhat.com>
5807
5808 PR fortran/46753
5809 * libgomp.fortran/pr46753.f90: New test.
5810
5811 PR libgomp/43706
5812 * env.c (initialize_env): Default to spin count 300000
5813 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
5814 is specified.
5815
5816 PR libgomp/45240
5817 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
5818 at the end if sync builtins aren't supported.
5819
5820 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5821
5822 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
5823
5824 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5825
5826 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
5827
5828 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
5829
5830 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
5831
5832 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5833 Tobias Burnus <burnus@net-b.de>
5834
5835 PR fortran/32049
5836 * configure.ac:
5837 * configure: Regenerate.
5838
5839 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
5840
5841 * config/linux/futex.h: New.
5842 * config/linux/arm/mutex.h: New.
5843 * configure.tgt (arm*-*-linux*): Add config path.
5844
5845 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
5846
5847 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
5848
5849 2010-09-23 Tobias Burnus <burnus@net-b.de>
5850
5851 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
5852 Change Fortran datatype to LOGICAL.
5853 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
5854 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
5855
5856 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5857
5858 * configure: Regenerate.
5859
5860 2010-07-26 Jakub Jelinek <jakub@redhat.com>
5861
5862 * libgomp.texi: Add function keyword to a couple of Fortran
5863 interfaces, use integer instead of int for Fortran.
5864
5865 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
5866
5867 * libgomp.texi: Fix spelling and pasto problems throughout.
5868 Adjust prototypes to match code.
5869
5870 2010-07-24 Tobias Burnus <burnus@net-b.de>
5871
5872 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
5873 silence -fwhole-file warning.
5874
5875 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5876
5877 * configure.tgt (*-*-solaris2.[56]*): Removed.
5878
5879 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5880
5881 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
5882 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
5883 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
5884 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
5885 targetting solaris2*.
5886 * configure: Regenerate.
5887 * config.h.in: Regenerate.
5888
5889 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
5890 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
5891 Add libgomp_version_dep.
5892 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
5893 versioning.
5894 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
5895 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
5896 * Makefile.in: Regenerate.
5897
5898 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
5899 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
5900 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
5901 to common block, protected by
5902 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
5903
5904 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
5905
5906 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
5907
5908 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
5909
5910 PR bootstrap/43170
5911 * configure: Regenerate.
5912
5913 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5914
5915 PR other/43620
5916 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
5917 * configure: Regenerate.
5918 * Makefile.in: Regenerate.
5919 * testsuite/Makefile.in: Regenerate.
5920
5921 2010-04-26 Jakub Jelinek <jakub@redhat.com>
5922
5923 PR c/43893
5924 * testsuite/libgomp.c/pr43893.c: New test.
5925 * testsuite/libgomp.c++/pr43893.C: New test.
5926
5927 2010-04-21 Jakub Jelinek <jakub@redhat.com>
5928
5929 PR middle-end/43570
5930 * testsuite/libgomp.fortran/vla8.f90: New test.
5931
5932 2010-04-20 Jakub Jelinek <jakub@redhat.com>
5933
5934 PR libgomp/43706
5935 * config/linux/affinity.c (gomp_init_affinity): Decrease
5936 gomp_available_cpus if affinity mask confines the process to fewer
5937 CPUs.
5938 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
5939 non-NULL, just return gomp_available_cpus.
5940
5941 PR libgomp/43569
5942 * sections.c (gomp_sections_init): Initialize ws->mode.
5943
5944 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
5945
5946 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
5947 not unused bar variable.
5948 * configure: Regenerate.
5949
5950 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5951
5952 * Makefile.in: Regenerate.
5953 * aclocal.m4: Regenerate.
5954 * testsuite/Makefile.in: Regenerate.
5955
5956 2010-03-22 Jakub Jelinek <jakub@redhat.com>
5957
5958 PR libgomp/42942
5959 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
5960 (initialize_env): Adjust callers.
5961 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
5962 when the argument is 0.
5963
5964 * testsuite/libgomp.c/pr42942.c: New test.
5965
5966 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
5967
5968 PR middle-end/42644
5969 PR middle-end/42130
5970 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
5971 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
5972
5973 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5974
5975 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
5976 * testsuite/libgomp.c++/task-6.C: Likewise.
5977
5978 2010-01-28 Steve Ellcey <sje@cup.hp.com>
5979
5980 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
5981
5982 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
5983
5984 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
5985 * configure: Regenerate.
5986
5987 2010-01-26 Jakub Jelinek <jakub@redhat.com>
5988
5989 PR fortran/42866
5990 * testsuite/libgomp.fortran/allocatable5.f90: New test.
5991
5992 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
5993
5994 * configure.ac: Test for executability of GFORTRAN.
5995 * configure: Regenerate.
5996
5997 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5998
5999 * configure: Regenerate.
6000
6001 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
6002
6003 PR libgomp/42602
6004 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
6005
6006 2010-01-03 Richard Guenther <rguenther@suse.de>
6007
6008 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
6009
6010 2009-12-23 Sebastian Pop <sebpop@gmail.com>
6011
6012 * testsuite/libgomp.graphite/pr4118.c: New.
6013
6014 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
6015
6016 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
6017 for darwin, protect the test with require-effective-target tls_runtime.
6018 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
6019
6020 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
6021
6022 PR target/41605
6023 * testsuite/lib/libgomp.exp: Provide -B options to allow for
6024 link spec %s substitutions for static libraries.
6025
6026 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
6027
6028 PR testsuite/42135
6029 * libgomp.graphite/force-parallel-2.c: Reduce array size.
6030
6031 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6032
6033 * Makefile.in: Regenerate.
6034 * configure: Regenerate.
6035 * testsuite/Makefile.in: Regenerate.
6036
6037 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
6038
6039 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
6040 settings for LC_ALL and LANG.
6041
6042 2009-11-25 Jakub Jelinek <jakub@redhat.com>
6043
6044 PR fortran/42162
6045 * testsuite/libgomp.fortran/pr42162.f90: New test.
6046
6047 2009-11-13 Jakub Jelinek <jakub@redhat.com>
6048
6049 PR middle-end/42029
6050 * testsuite/libgomp.c/pr42029.c: New test.
6051
6052 2009-10-26 Jakub Jelinek <jakub@redhat.com>
6053
6054 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
6055 *s. Accept ld version without text in ()s.
6056 * configure: Regenerated.
6057
6058 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
6059
6060 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
6061
6062 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6063
6064 PR libgomp/41418
6065 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
6066 or a hyphen (happens with fortran language disabled).
6067 * configure: Regenerate.
6068
6069 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6070
6071 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
6072 use sed script portable to Solaris /bin/sed for extracting ld
6073 version.
6074 * configure: Regenerate.
6075
6076 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
6077
6078 * testsuite/libgomp.graphite/bounds.c: New test.
6079
6080 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6081
6082 * Makefile.am (libgomp_la_LINK): New.
6083 * Makefile.in: Regenerate.
6084
6085 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6086
6087 * configure.ac (AC_PREREQ): Bump to 2.64.
6088
6089 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6090
6091 * Makefile.am (install-html, install-pdf): Remove.
6092 * Makefile.in: Regenerate.
6093
6094 * Makefile.in: Regenerate.
6095 * aclocal.m4: Regenerate.
6096 * config.h.in: Regenerate.
6097 * configure: Regenerate.
6098 * testsuite/Makefile.in: Regenerate.
6099
6100 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6101
6102 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
6103 * Makefile.in: Regenerate.
6104
6105 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
6106
6107 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
6108 * Makefile.in: Regenerate.
6109
6110 2009-08-19 Tobias Burnus <burnus@net-b.de>
6111
6112 PR fortran/41102
6113 omp_lib.h.in: Fix -std=f95 errors.
6114
6115 2009-08-14 David Edelsohn <edelsohn@gnu.org>
6116
6117 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
6118 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
6119 * testsuite/libgomp.graphite/graphite.exp: New.
6120
6121 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
6122
6123 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
6124 only build.
6125
6126 2009-08-04 David Daney <ddaney@caviumnetworks.com>
6127
6128 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
6129 needed memory barrier semantics.
6130 * config/linux/mips/mutex.h: New file.
6131
6132 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6133
6134 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
6135
6136 2009-07-16 Joseph Myers <joseph@codesourcery.com>
6137
6138 * configure: Regenerate.
6139
6140 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
6141
6142 PR testsuite/40699
6143 PR testsuite/40707
6144 PR testsuite/40709
6145 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
6146 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
6147 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
6148
6149 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
6150
6151 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
6152 options when choosing a multilib.
6153
6154 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
6155
6156 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
6157 ld_library_path. Use add_path. Add just find_libgcc_s to
6158 ld_library_path, not every libgcc multilib directory.
6159 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
6160 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
6161 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
6162 Use add_path.
6163 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
6164
6165 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
6166
6167 * Makefile.am (LTLDFLAGS): Define.
6168 (LINK): Define.
6169 * Makefile.in: Regenerate.
6170
6171 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
6172
6173 PR fortran/39718
6174 * testsuite/libgomp.fortran/fortran.exp: Don't link with
6175 libgfortranbegin, check existence of libgfortran.a instead of
6176 libgfortranbegin.a.
6177
6178 2009-05-20 Jakub Jelinek <jakub@redhat.com>
6179
6180 PR libgomp/40174
6181 * team.c (gomp_thread_start): Destroy thr->release semaphore.
6182 (gomp_free_pool_helper): Likewise.
6183
6184 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
6185 Jakub Jelinek <jakub@redhat.com>
6186
6187 PR fortran/35423
6188 * testsuite/libgomp.fortran/workshare2.f90: New test.
6189
6190 2009-04-09 Nick Clifton <nickc@redhat.com>
6191
6192 * iter.c: Change copyright header to refer to version 3 of the
6193 GNU General Public License with version 3.1 of the GCC Runtime
6194 Library Exception and to point readers at the COPYING3 and
6195 COPYING3.RUNTIME files and the FSF's license web page.
6196 * alloc.c: Likewise.
6197 * barrier.c: Likewise.
6198 * config/bsd/proc.c: Likewise.
6199 * config/linux/affinity.c: Likewise.
6200 * config/linux/alpha/futex.h: Likewise.
6201 * config/linux/bar.c: Likewise.
6202 * config/linux/bar.h: Likewise.
6203 * config/linux/ia64/futex.h: Likewise.
6204 * config/linux/ia64/mutex.h: Likewise.
6205 * config/linux/lock.c: Likewise.
6206 * config/linux/mips/futex.h: Likewise.
6207 * config/linux/mutex.c: Likewise.
6208 * config/linux/mutex.h: Likewise.
6209 * config/linux/powerpc/futex.h: Likewise.
6210 * config/linux/proc.c: Likewise.
6211 * config/linux/ptrlock.c: Likewise.
6212 * config/linux/ptrlock.h: Likewise.
6213 * config/linux/s390/futex.h: Likewise.
6214 * config/linux/sem.c: Likewise.
6215 * config/linux/sem.h: Likewise.
6216 * config/linux/sparc/futex.h: Likewise.
6217 * config/linux/wait.h: Likewise.
6218 * config/linux/x86/futex.h: Likewise.
6219 * config/mingw32/proc.c: Likewise.
6220 * config/mingw32/time.c: Likewise.
6221 * config/posix/affinity.c: Likewise.
6222 * config/posix/bar.c: Likewise.
6223 * config/posix/bar.h: Likewise.
6224 * config/posix/lock.c: Likewise.
6225 * config/posix/mutex.h: Likewise.
6226 * config/posix/proc.c: Likewise.
6227 * config/posix/ptrlock.h: Likewise.
6228 * config/posix/sem.c: Likewise.
6229 * config/posix/sem.h: Likewise.
6230 * config/posix/time.c: Likewise.
6231 * config/posix95/lock.c: Likewise.
6232 * critical.c: Likewise.
6233 * env.c: Likewise.
6234 * error.c: Likewise.
6235 * fortran.c: Likewise.
6236 * iter_ull.c: Likewise.
6237 * libgomp.h: Likewise.
6238 * libgomp_f.h.in: Likewise.
6239 * libgomp_g.h: Likewise.
6240 * loop.c: Likewise.
6241 * loop_ull.c: Likewise.
6242 * omp.h.in: Likewise.
6243 * omp_lib.f90.in: Likewise.
6244 * omp_lib.h.in: Likewise.
6245 * ordered.c: Likewise.
6246 * parallel.c: Likewise.
6247 * sections.c: Likewise.
6248 * single.c: Likewise.
6249 * task.c: Likewise.
6250 * team.c: Likewise.
6251 * work.c: Likewise.
6252
6253 2009-04-09 Jakub Jelinek <jakub@redhat.com>
6254
6255 * testsuite/config/default.exp: Change copyright header to refer to
6256 version 3 of the GNU General Public License and to point readers
6257 at the COPYING3 file and the FSF's license web page.
6258
6259 2009-04-08 Jakub Jelinek <jakub@redhat.com>
6260
6261 PR middle-end/39573
6262 * libgomp.c++/pr39573.C: New test.
6263
6264 2009-04-01 Jakub Jelinek <jakub@redhat.com>
6265
6266 PR other/39591
6267 * testsuite/libgomp.c/pr39591-1.c: New test.
6268 * testsuite/libgomp.c/pr39591-2.c: New test.
6269 * testsuite/libgomp.c/pr39591-3.c: New test.
6270
6271 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
6272
6273 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
6274 * testsuite/libgomp.c/atomic-6.c: Ditto.
6275
6276 2009-03-23 Jakub Jelinek <jakub@redhat.com>
6277
6278 PR c/39495
6279 * testsuite/libgomp.c/loop-12.c: New test.
6280 * testsuite/libgomp.c/loop-11.c: New test.
6281 * testsuite/libgomp.c++/loop-11.C: New test.
6282 * testsuite/libgomp.c++/loop-12.C: New test.
6283 * testsuite/libgomp.c++/for-8.C: New test.
6284
6285 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6286
6287 * configure: Regenerate.
6288
6289 2009-02-11 Jakub Jelinek <jakub@redhat.com>
6290
6291 PR middle-end/39154
6292 * testsuite/libgomp.c/pr39154.c: New test.
6293
6294 2009-01-30 Ian Lance Taylor <iant@google.com>
6295
6296 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
6297 libgomp_ld_is_gold. Get gold version number.
6298 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
6299 * configure: Rebuild.
6300
6301 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
6302
6303 * testsuite/lib/libgomp.exp: Add -B option for targets that
6304 use libgfortran.a%s in their specs.
6305
6306 2009-01-07 Jakub Jelinek <jakub@redhat.com>
6307
6308 PR libgomp/38086
6309 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
6310 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
6311 HAVE_AS_SYMVER_DIRECTIVE is not defined.
6312 * configure: Regenerated.
6313 * config.h.in: Likewise.
6314
6315 2008-12-28 Jakub Jelinek <jakub@redhat.com>
6316
6317 PR c++/38650
6318 * testsuite/libgomp.c/pr38650.c: New test.
6319 * testsuite/libgomp.c++/pr38650.C: New test.
6320
6321 2008-12-27 Jakub Jelinek <jakub@redhat.com>
6322
6323 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
6324
6325 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
6326
6327 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
6328
6329 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6330
6331 * configure: Regenerate.
6332
6333 2008-12-08 Jakub Jelinek <jakub@redhat.com>
6334
6335 PR middle-end/36802
6336 * testsuite/libgomp.c/pr36802-1.c: New test.
6337 * testsuite/libgomp.c/pr36802-2.c: New test.
6338 * testsuite/libgomp.c/pr36802-3.c: New test.
6339
6340 2008-12-01 Janis Johnson <janis187@us.ibm.com>
6341
6342 PR libgomp/38270
6343 * config/linux/powerpc/mutex.h: New.
6344
6345 2008-12-01 Jakub Jelinek <jakub@redhat.com>
6346
6347 PR c++/38257
6348 * testsuite/libgomp.c++/for-7.C: New test.
6349
6350 PR c++/38348
6351 * testsuite/libgomp.c++/for-6.C: New test.
6352
6353 2008-11-26 Janis Johnson <janis187@us.ibm.com>
6354
6355 PR testsuite/28870
6356 * testsuite/lib/libgomp.exp: Include new timeout library files.
6357 (libgomp_target_compile): Set timeout value from new proc.
6358
6359 2008-11-13 Steve Ellcey <sje@cup.hp.com>
6360
6361 PR libgomp/37938
6362 * config/linux/ia64/mutex.h: New.
6363
6364 2008-11-04 Tobias Burnus <burnus@net-b.de>
6365
6366 PR libgomp/37935
6367 * libgomp.texi (Runtime library routines, environment variables):
6368 Update for OpenMP version 3.0.
6369
6370 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
6371 Steve Ellcey <sje@cup.hp.com>
6372
6373 * configure: Regenerate for new libtool.
6374 * Makefile.in: Ditto.
6375 * testsuite/Makefile.in: Ditto.
6376
6377 2008-09-19 Jakub Jelinek <jakub@redhat.com>
6378 Andreas Tobler <a.tobler@schweiz.org>
6379
6380 * config/bsd/proc.c: New file.
6381 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
6382 * configure.ac: Check for header <sys/sysctl.h>
6383 * configure: Regenerate.
6384 * config.h.in: Likewise.
6385
6386 2008-09-05 Janis Johnson <janis187@us.ibm.com>
6387
6388 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
6389
6390 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
6391
6392 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
6393 * Makefile.in: Regenerated.
6394 * testsuite/Makefile.in: Regenerated.
6395
6396 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
6397
6398 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
6399 depend on blddir if blddir exists.
6400 (libgomp_target_compile): Likewise.
6401 * testsuite/libgomp.c++/c++.exp: Likewise.
6402 * testsuite/libgomp.fortran/fortran.exp: Likewise.
6403
6404 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6405
6406 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
6407 Do not list GPL as Invariant Section.
6408
6409 2008-07-28 Ilie Garbacea <ilie@mips.com>
6410 Chao-ying Fu <fu@mips.com>
6411
6412 * configure.tgt: Enable futex for MIPS.
6413 * config/linux/mips/futex.h: New file.
6414
6415 2008-07-16 Jakub Jelinek <jakub@redhat.com>
6416
6417 * team.c (gomp_team_end): Free team immediately if it has
6418 just one thread.
6419
6420 2008-07-08 David Edelsohn <edelsohn@gnu.org>
6421
6422 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
6423 * testsuite/libgomp.fortran/fortran.exp: Same.
6424 * testsuite/libgomp.c/c.exp: Same.
6425 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
6426 directory to library path first.
6427
6428 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
6429
6430 * env.c (parse_stacksize): Add cast to avoid warning.
6431 (parse_spincount): Likewise.
6432
6433 2008-06-27 Jakub Jelinek <jakub@redhat.com>
6434
6435 * testsuite/libgomp.c/loop-10.c: New test.
6436 * libgomp.c/loop-3.c (main): Add lastprivate clause.
6437 * libgomp.c++/loop-6.C (main): Likewise.
6438
6439 PR debug/36617
6440 * testsuite/libgomp.c/debug-1.c: New test.
6441
6442 2008-06-19 Jakub Jelinek <jakub@redhat.com>
6443
6444 * testsuite/libgomp.c/nqueens-1.c: New test.
6445
6446 PR c++/36523
6447 * testsuite/libgomp.c++/task-7.C: New function.
6448
6449 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6450
6451 * configure: Regenerate.
6452
6453 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6454
6455 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
6456 mutex when HAVE_SYNC_BUILTINS isn't defined.
6457
6458 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6459
6460 * libgomp.texi (omp_test_lock): Fix typo.
6461
6462 2008-06-12 Tobias Burnus <burnus@net-b.de>
6463
6464 * omp_lib.f90.in: Add "implicit none".
6465
6466 2008-06-12 Jakub Jelinek <jakub@redhat.com>
6467
6468 PR middle-end/36506
6469 * testsuite/libgomp.c/reduction-5.c: New test.
6470
6471 2008-06-11 Jakub Jelinek <jakub@redhat.com>
6472
6473 * libgomp.h (struct gomp_task): Add in_tied_task field.
6474 * task.c (gomp_init_task): Initialize it.
6475 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
6476 unconditionally. Don't call gomp_team_barrier_wake if
6477 current task is implicit or if(0) from implicit and number of
6478 running tasks is equal to nthreads - 1.
6479
6480 PR libgomp/36471
6481 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
6482 omp_get_team_size_8): Fix pastos.
6483
6484 PR libgomp/36469
6485 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
6486 * configure: Regenerated.
6487 * config.h.in: Regenerated.
6488 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
6489 defined.
6490
6491 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
6492
6493 PR bootstrap/36452
6494 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
6495 (GOMP_loop_ull_dynamic_start): Likewise.
6496 (GOMP_loop_ull_guided_start): Likewise.
6497 (GOMP_loop_ull_ordered_static_start): Likewise.
6498 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
6499 (GOMP_loop_ull_ordered_guided_start): Likewise.
6500
6501 2008-06-06 Jakub Jelinek <jakub@redhat.com>
6502 Richard Henderson <rth@redhat.com>
6503 Ulrich Drepper <drepper@redhat.com>
6504 Jakob Blomer <jakob.blomer@ira.uka.de>
6505
6506 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
6507 Substitute also OMP_*LOCK_25*.
6508 * configure: Regenerated.
6509 * config.h.in: Regenerated.
6510 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
6511 ptrlock.c and task.c.
6512 * Makefile.in: Regenerated.
6513 * testsuite/Makefile.in: Regenerated.
6514 * task.c: New file.
6515 * loop_ull.c: New file.
6516 * iter_ull.c: New file.
6517 * libgomp.h: Include ptrlock.h.
6518 (enum gomp_task_kind): New type.
6519 (struct gomp_team): Add task_lock, task_queue, task_count,
6520 task_running_count, single_count fields. Add
6521 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
6522 Remove work_share_lock, generation_mask,
6523 oldest_live_gen, num_live_gen and init_work_shares fields, add
6524 work work_share_list_alloc, work_share_list_free and work_share_chunk
6525 fields. Change work_shares from pointer to pointers into an array.
6526 Change ordered_release field into gomp_sem_t ** from flexible array
6527 member. Add implicit_task and initial_work_shares fields.
6528 Move close to the end of the struct.
6529 (struct gomp_team_state): Add single_count, last_work_share,
6530 active_level and level fields, remove work_share_generation.
6531 (gomp_barrier_handle_tasks): New prototype.
6532 (gomp_finish_task): New inline function.
6533 (struct gomp_work_share): Move chunk_size, end, incr into
6534 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
6535 next_ll fields. Reshuffle fields. Add next_alloc,
6536 next_ws, next_free and inline_ordered_team_ids fields, change
6537 ordered_team_ids into pointer from flexible array member.
6538 Add mode field. Put lock and next into a different cache line
6539 from most of the write-once fields.
6540 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
6541 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
6542 gomp_iter_ull_guided_next): New prototypes.
6543 (gomp_new_icv): New prototype.
6544 (struct gomp_thread): Add thread_pool and task fields.
6545 (struct gomp_thread_pool): New type.
6546 (gomp_new_team): New prototype.
6547 (gomp_team_start): Change type of last argument.
6548 (gomp_new_work_share): Removed.
6549 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
6550 (gomp_work_share_init_done): New static inline.
6551 (gomp_throttled_spin_count_var, gomp_available_cpus,
6552 gomp_managed_threads): New extern decls.
6553 (gomp_init_task): New prototype.
6554 (gomp_spin_count_var): New extern var decl.
6555 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
6556 or no alias support, or if not PIC.
6557 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
6558 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
6559 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
6560 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
6561 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
6562 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
6563 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
6564 gomp_test_nest_lock_25): New prototypes.
6565 (omp_lock_symver, strong_alias): Define.
6566 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
6567 decls.
6568 (gomp_end_task): New.
6569 (struct gomp_task_icv, gomp_global_icv): New.
6570 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
6571 (struct gomp_task): New.
6572 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
6573 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
6574 (gomp_icv): New.
6575 (gomp_schedule_type): Reorder enum to match
6576 omp_sched_t.
6577 * team.c (struct gomp_thread_start_data): Add thread_pool and task
6578 fields.
6579 (gomp_thread_start): Add gomp_team_barrier_wait call.
6580 For non-nested case remove clearing of docked thread thr fields.
6581 Use pool fields instead of global gomp_* variables. Use
6582 gomp_barrier_wait_last when needed. Initialize ts.active_level.
6583 Create tasks for each member thread.
6584 (free_team): Only destroy team barrier, task_lock here and free it.
6585 (gomp_free_thread): Free last_team if non-NULL.
6586 (gomp_team_end): Call gomp_team_barrier_wait instead of
6587 gomp_barrier_wait. For nested case call one extra
6588 gomp_barrier_wait. Move here some destruction from free_team.
6589 Call free_team on pool->last_team if any, rather than freeing
6590 current team. Destroy work_share_list_free_lock ifndef
6591 HAVE_SYNC_BUILTINS.
6592 (gomp_new_icv): New function.
6593 (gomp_threads, gomp_threads_size, gomp_threads_used,
6594 gomp_threads_dock): Removed.
6595 (gomp_thread_destructor): New variable.
6596 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
6597 functions.
6598 (gomp_team_start): Create new pool if current thread doesn't have
6599 one. Use pool fields instead of global gomp_* variables.
6600 Initialize thread_pool field for new threads. Clear single_count.
6601 Change last argument from ws to team, don't create
6602 new team, set ts.work_share to &team->work_shares[0] and clear
6603 ts.last_work_share. Don't clear ts.work_share_generation.
6604 If number of threads changed, adjust atomically gomp_managed_threads.
6605 Use gomp_init_task instead of gomp_new_task,
6606 set thr->task to the corresponding implicit_task array entry.
6607 Create tasks for each member thread. Initialize ts.level.
6608 (initialize_team): Call pthread_key_create on
6609 gomp_thread_destructor.
6610 (team_destructor): New function.
6611 (new_team): Removed.
6612 (gomp_new_team): New function.
6613 (free_team): Free gomp_work_share blocks chained through next_alloc,
6614 instead of freeing work_shares and destroying work_share_lock.
6615 (gomp_team_end): Call gomp_fini_work_share. If number of threads
6616 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
6617 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
6618 of gomp_barrier_wait.
6619 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
6620 instead of gomp_barrier_wait. Call gomp_work_share_init_done
6621 if gomp_work_share_start returned true. Don't unlock ws->lock.
6622 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
6623 of gomp_barrier_wait.
6624 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
6625 gomp_work_share_init_done if gomp_work_share_start returned true.
6626 Don't unlock ws->lock.
6627 * work.c: Include stddef.h.
6628 (free_work_share): Use work_share_list_free_lock instead
6629 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
6630 Call gomp_fini_work_share and then either free ws if orphaned, or
6631 put it into work_share_list_free list of the current team.
6632 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
6633 functions.
6634 (gomp_work_share_start, gomp_work_share_end,
6635 gomp_work_share_end_nowait): Rewritten.
6636 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
6637 (openmp_version): Set to 200805.
6638 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
6639 omp_sched_guided, omp_sched_auto): New parameters.
6640 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
6641 omp_set_max_active_levels, omp_get_max_active_levels,
6642 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
6643 omp_get_active_level): New interfaces.
6644 * omp_lib.h.in (openmp_version): Set to 200805.
6645 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
6646 omp_sched_guided, omp_sched_auto): New parameters.
6647 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
6648 omp_set_max_active_levels, omp_get_max_active_levels,
6649 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
6650 omp_get_active_level): New externals.
6651 * loop.c: Include limits.h.
6652 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
6653 GFS_AUTO.
6654 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
6655 Likewise. Use gomp_icv.
6656 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
6657 ts.static_trip here.
6658 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
6659 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
6660 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
6661 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
6662 don't unlock ws->lock, otherwise lock it.
6663 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
6664 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
6665 (gomp_parallel_loop_start): Call gomp_new_team instead of
6666 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
6667 Adjust gomp_team_start caller. Pass 0 as second argument to
6668 gomp_resolve_num_threads.
6669 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
6670 If adding ws->chunk_size nthreads + 1 times after end won't
6671 overflow, set ws->mode to 1.
6672 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
6673 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
6674 GOMP_loop_ull_ordered_static_start,
6675 GOMP_loop_ull_ordered_dynamic_start,
6676 GOMP_loop_ull_ordered_guided_start,
6677 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
6678 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
6679 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
6680 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
6681 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
6682 prototypes.
6683 * libgomp.map: Export lock routines also @@OMP_2.0.
6684 (GOMP_loop_ordered_dynamic_first,
6685 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
6686 GOMP_loop_ordered_static_first): Remove.
6687 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
6688 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
6689 GOMP_loop_ull_ordered_dynamic_next,
6690 GOMP_loop_ull_ordered_dynamic_start,
6691 GOMP_loop_ull_ordered_guided_next,
6692 GOMP_loop_ull_ordered_guided_start,
6693 GOMP_loop_ull_ordered_runtime_next,
6694 GOMP_loop_ull_ordered_runtime_start,
6695 GOMP_loop_ull_ordered_static_next,
6696 GOMP_loop_ull_ordered_static_start,
6697 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
6698 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
6699 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
6700 (omp_set_schedule, omp_get_schedule,
6701 omp_get_thread_limit, omp_set_max_active_levels,
6702 omp_get_max_active_levels, omp_get_level,
6703 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
6704 omp_set_schedule_, omp_set_schedule_8_,
6705 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
6706 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
6707 omp_get_max_active_levels_, omp_get_level_,
6708 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
6709 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
6710 New exports @@OMP_3.0.
6711 * omp.h.in (omp_sched_t): New type.
6712 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
6713 omp_set_max_active_levels, omp_get_max_active_levels,
6714 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
6715 omp_get_active_level): New prototypes.
6716 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
6717 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
6718 gomp_thread_limit_var, gomp_remaining_threads_count,
6719 gomp_remaining_threads_lock): New variables.
6720 (parse_spincount): New function.
6721 (initialize_env): Call gomp_init_num_threads unconditionally.
6722 Initialize gomp_available_cpus. Call parse_spincount,
6723 initialize gomp_{,throttled_}spin_count_var
6724 depending on presence and value of OMP_WAIT_POLICY and
6725 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
6726 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
6727 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
6728 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
6729 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
6730 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
6731 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
6732 (gomp_global_icv): New.
6733 (parse_schedule): Use it. Parse "auto".
6734 (omp_set_num_threads): Use gomp_icv.
6735 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
6736 Likewise.
6737 (omp_get_max_threads): Move from parallel.c.
6738 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
6739 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
6740 add ialias.
6741 (parse_stacksize, parse_wait_policy): New functions.
6742 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
6743 both wrappers for compatibility and new locks.
6744 (omp_set_schedule, omp_get_schedule,
6745 omp_get_thread_limit, omp_set_max_active_levels,
6746 omp_get_max_active_levels, omp_get_level,
6747 omp_get_ancestor_thread_num, omp_get_team_size,
6748 omp_get_active_level): New ialias_redirect.
6749 (omp_set_schedule_, omp_set_schedule_8_,
6750 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
6751 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
6752 omp_get_max_active_levels_, omp_get_level_,
6753 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
6754 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
6755 New functions.
6756 * parallel.c: Include limits.h.
6757 (gomp_resolve_num_threads): Add count argument. Rewritten.
6758 (GOMP_parallel_start): Call gomp_new_team and pass that as last
6759 argument to gomp_team_start. Pass 0 as second argument to
6760 gomp_resolve_num_threads.
6761 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
6762 if gomp_thread_limit_var != ULONG_MAX.
6763 (omp_in_parallel): Implement using ts.active_level.
6764 (omp_get_max_threads): Move to env.c.
6765 (omp_get_level, omp_get_ancestor_thread_num,
6766 omp_get_team_size, omp_get_active_level): New functions,
6767 add ialias.
6768 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
6769 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
6770 gomp_iter_dynamic_next instead of the _locked variant and don't take
6771 lock around it, otherwise acquire it before calling
6772 gomp_iter_dynamic_next_locked.
6773 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
6774 gomp_iter_dynamic_next instead of the _locked variant and don't take
6775 lock around it.
6776 (GOMP_parallel_sections_start): Call gomp_new_team instead of
6777 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
6778 Adjust gomp_team_start caller. Pass count as second argument to
6779 gomp_resolve_num_threads, don't adjust num_threads after the call.
6780 Use gomp_icv.
6781 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
6782 ws->chunk_size by incr.
6783 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
6784 code.
6785 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
6786 types.
6787 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
6788 (omp_check_defines): Check even the compat defines.
6789 * config/linux/ptrlock.c: New file.
6790 * config/linux/ptrlock.h: New file.
6791 * config/linux/wait.h: New file.
6792 * config/posix/ptrlock.c: New file.
6793 * config/posix/ptrlock.h: New file.
6794 * config/linux/bar.h (gomp_team_barrier_wait,
6795 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
6796 (gomp_team_barrier_set_task_pending,
6797 gomp_team_barrier_clear_task_pending,
6798 gomp_team_barrier_set_waiting_for_tasks,
6799 gomp_team_barrier_waiting_for_tasks,
6800 gomp_team_barrier_done): New inlines.
6801 (gomp_barrier_t): Rewritten.
6802 (gomp_barrier_state_t): New typedef.
6803 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
6804 gomp_barrier_wait_start): Rewritten.
6805 (gomp_barrier_wait_end): Change second argument to
6806 gomp_barrier_state_t.
6807 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
6808 inlines.
6809 * config/linux/bar.c: Include wait.h instead of libgomp.h and
6810 futex.h.
6811 (gomp_barrier_wait_end): Rewritten.
6812 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
6813 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
6814 * config/posix/bar.h (gomp_barrier_t): Add generation field.
6815 (gomp_barrier_state_t): New typedef.
6816 (gomp_team_barrier_wait,
6817 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
6818 (gomp_barrier_wait_start): Or all but low 2 bits from generation
6819 into the return value. Return gomp_barrier_state_t.
6820 (gomp_team_barrier_set_task_pending,
6821 gomp_team_barrier_clear_task_pending,
6822 gomp_team_barrier_set_waiting_for_tasks,
6823 gomp_team_barrier_waiting_for_tasks,
6824 gomp_team_barrier_done): New inlines.
6825 (gomp_barrier_wait_end): Change second argument to
6826 gomp_barrier_state_t.
6827 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
6828 inlines.
6829 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
6830 (gomp_barrier_wait_end): Change second argument to
6831 gomp_barrier_state_t.
6832 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
6833 gomp_team_barrier_wake): New functions.
6834 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
6835 futex.h.
6836 (gomp_futex_wake, gomp_futex_wait): New variables.
6837 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
6838 * config/linux/lock.c: Rewrite to make locks task owned,
6839 for backwards compatibility provide the old entrypoints
6840 if symbol versioning. Include wait.h instead of libgomp.h and
6841 futex.h.
6842 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
6843 * config/posix95/lock.c: Rewrite to make locks task owned,
6844 for backwards compatibility provide the old entrypoints
6845 if symbol versioning.
6846 * config/posix/lock.c: Rewrite to make locks task owned,
6847 for backwards compatibility provide the old entrypoints
6848 if symbol versioning.
6849 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
6850 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
6851 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
6852 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6853 (sys_futex0): Return error code.
6854 (futex_wake, futex_wait): If ENOSYS was returned, clear
6855 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6856 (cpu_relax, atomic_write_barrier): New static inlines.
6857 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6858 (futex_wake, futex_wait): If ENOSYS was returned, clear
6859 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6860 (cpu_relax, atomic_write_barrier): New static inlines.
6861 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6862 (sys_futex0): Return error code.
6863 (futex_wake, futex_wait): If ENOSYS was returned, clear
6864 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6865 (cpu_relax, atomic_write_barrier): New static inlines.
6866 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6867 (sys_futex0): Return error code.
6868 (futex_wake, futex_wait): If ENOSYS was returned, clear
6869 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6870 (cpu_relax, atomic_write_barrier): New static inlines.
6871 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6872 (sys_futex0): Return error code.
6873 (futex_wake, futex_wait): If ENOSYS was returned, clear
6874 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6875 (cpu_relax, atomic_write_barrier): New static inlines.
6876 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6877 (sys_futex0): Return error code.
6878 (futex_wake, futex_wait): If ENOSYS was returned, clear
6879 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6880 (cpu_relax, atomic_write_barrier): New static inlines.
6881 * config/linux/sem.c: Include wait.h instead of libgomp.h and
6882 futex.h.
6883 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
6884 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
6885 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
6886 types.
6887 (omp_nest_lock_t): Change owner into void *, add lock field.
6888 * config/posix95/omp-lock.h: Include semaphore.h.
6889 (omp_lock_25_t, omp_nest_lock_25_t): New types.
6890 (omp_lock_t): Use sem_t instead of mutex if semaphores
6891 aren't broken.
6892 (omp_nest_lock_t): Likewise. Change owner to void *.
6893 * config/posix/omp-lock.h: Include semaphore.h.
6894 (omp_lock_25_t, omp_nest_lock_25_t): New types.
6895 (omp_lock_t): Use sem_t instead of mutex if semaphores
6896 aren't broken.
6897 (omp_nest_lock_t): Likewise. Add owner field.
6898
6899 2008-06-06 Jakub Jelinek <jakub@redhat.com>
6900
6901 * testsuite/libgomp.c/collapse-1.c: New test.
6902 * testsuite/libgomp.c/collapse-2.c: New test.
6903 * testsuite/libgomp.c/collapse-3.c: New test.
6904 * testsuite/libgomp.c/icv-1.c: New test.
6905 * testsuite/libgomp.c/icv-2.c: New test.
6906 * testsuite/libgomp.c/lib-2.c: New test.
6907 * testsuite/libgomp.c/lock-1.c: New test.
6908 * testsuite/libgomp.c/lock-2.c: New test.
6909 * testsuite/libgomp.c/lock-3.c: New test.
6910 * testsuite/libgomp.c/loop-4.c: New test.
6911 * testsuite/libgomp.c/loop-5.c: New test.
6912 * testsuite/libgomp.c/loop-6.c: New test.
6913 * testsuite/libgomp.c/loop-7.c: New test.
6914 * testsuite/libgomp.c/loop-8.c: New test.
6915 * testsuite/libgomp.c/loop-9.c: New test.
6916 * testsuite/libgomp.c/nested-3.c: New test.
6917 * testsuite/libgomp.c/nestedfn-6.c: New test.
6918 * testsuite/libgomp.c/sort-1.c: New test.
6919 * testsuite/libgomp.c/task-1.c: New test.
6920 * testsuite/libgomp.c/task-2.c: New test.
6921 * testsuite/libgomp.c/task-3.c: New test.
6922 * testsuite/libgomp.c/task-4.c: New test.
6923 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
6924 to C++ testsuite default compiler options.
6925 * testsuite/libgomp.c++/collapse-1.C: New test.
6926 * testsuite/libgomp.c++/collapse-2.C: New test.
6927 * testsuite/libgomp.c++/ctor-10.C: New test.
6928 * testsuite/libgomp.c++/for-1.C: New test.
6929 * testsuite/libgomp.c++/for-2.C: New test.
6930 * testsuite/libgomp.c++/for-3.C: New test.
6931 * testsuite/libgomp.c++/for-4.C: New test.
6932 * testsuite/libgomp.c++/for-5.C: New test.
6933 * testsuite/libgomp.c++/loop-8.C: New test.
6934 * testsuite/libgomp.c++/loop-9.C: New test.
6935 * testsuite/libgomp.c++/loop-10.C: New test.
6936 * testsuite/libgomp.c++/task-1.C: New test.
6937 * testsuite/libgomp.c++/task-2.C: New test.
6938 * testsuite/libgomp.c++/task-3.C: New test.
6939 * testsuite/libgomp.c++/task-4.C: New test.
6940 * testsuite/libgomp.c++/task-5.C: New test.
6941 * testsuite/libgomp.c++/task-6.C: New test.
6942 * testsuite/libgomp.fortran/allocatable1.f90: New test.
6943 * testsuite/libgomp.fortran/allocatable2.f90: New test.
6944 * testsuite/libgomp.fortran/allocatable3.f90: New test.
6945 * testsuite/libgomp.fortran/allocatable4.f90: New test.
6946 * testsuite/libgomp.fortran/collapse1.f90: New test.
6947 * testsuite/libgomp.fortran/collapse2.f90: New test.
6948 * testsuite/libgomp.fortran/collapse3.f90: New test.
6949 * testsuite/libgomp.fortran/collapse4.f90: New test.
6950 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
6951 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
6952 * testsuite/libgomp.fortran/lib4.f90: New test.
6953 * testsuite/libgomp.fortran/lock-1.f90: New test.
6954 * testsuite/libgomp.fortran/lock-2.f90: New test.
6955 * testsuite/libgomp.fortran/nested1.f90: New test.
6956 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
6957 * testsuite/libgomp.fortran/strassen.f90: New test.
6958 * testsuite/libgomp.fortran/tabs1.f90: New test.
6959 * testsuite/libgomp.fortran/tabs2.f: New test.
6960 * testsuite/libgomp.fortran/task1.f90: New test.
6961 * testsuite/libgomp.fortran/task2.f90: New test.
6962 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
6963 * testsuite/libgomp.fortran/vla5.f90: Likewise.
6964 * testsuite/libgomp.c/pr26943-2.c: Likewise.
6965 * testsuite/libgomp.c/pr26943-3.c: Likewise.
6966 * testsuite/libgomp.c/pr26943-4.c: Likewise.
6967
6968 2008-05-23 Jakub Jelinek <jakub@redhat.com>
6969
6970 PR c++/36308
6971 * testsuite/libgomp.c++/ctor-11.C: New test.
6972 * testsuite/libgomp.c++/ctor-12.C: New test.
6973
6974 2008-05-15 Janis Johnson <janis187@us.ibm.com>
6975
6976 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
6977
6978 2008-05-07 Jakub Jelinek <jakub@redhat.com>
6979
6980 PR middle-end/36106
6981 * testsuite/libgomp.c/atomic-5.c: New test.
6982 * testsuite/libgomp.c/atomic-6.c: New test.
6983 * testsuite/libgomp.c/autopar-1.c: New test.
6984
6985 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6986
6987 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
6988 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
6989 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
6990 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
6991 * configure: Regenerate.
6992 * Makefile.in, testsuite/Makefile.in: Likewise.
6993
6994 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
6995
6996 PR bootstrap/35457
6997 * aclocal.m4: Regenerate.
6998 * configure: Regenerate.
6999
7000 2008-03-18 Jakub Jelinek <jakub@redhat.com>
7001
7002 PR middle-end/35611
7003 * testsuite/libgomp.c/atomic-4.c: New test.
7004
7005 PR libgomp/35625
7006 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
7007 (gomp_iter_guided_next): Likewise.
7008 * testsuite/libgomp.c/pr35625.c: New test.
7009
7010 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7011
7012 * aclocal.m4: Regenerate.
7013 * configure: Likewise.
7014 * Makefile.in: Likewise.
7015 * testsuite/Makefile.in: Likewise.
7016
7017 2008-03-13 Jakub Jelinek <jakub@redhat.com>
7018
7019 PR middle-end/35185
7020 * testsuite/libgomp.c++/pr35185.C: New test.
7021
7022 2008-03-12 Jakub Jelinek <jakub@redhat.com>
7023
7024 PR middle-end/35549
7025 * testsuite/libgomp.c/pr35549.c: New test.
7026
7027 2008-03-06 Jakub Jelinek <jakub@redhat.com>
7028
7029 * testsuite/libgomp.c/atomic-3.c: New test.
7030
7031 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7032
7033 PR fortran/33197
7034 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
7035 .F08 file suffixes.
7036
7037 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
7038
7039 PR libgomp/33131
7040 * configure.ac: Add ACX_HEADER_STRING.
7041 * env.c: Include strings.h.
7042 * aclocal.m4: Regenerate.
7043 * config.h.in: Regenerate.
7044 * configure: Regenerate.
7045 * Makefile.in: Regenerate.
7046 * testsuite/Makefile.in: Regenerate.
7047
7048 2008-02-15 Jakub Jelinek <jakub@redhat.com>
7049
7050 PR middle-end/35196
7051 * testsuite/libgomp.c/pr35196.c: New test.
7052
7053 PR middle-end/35130
7054 * testsuite/libgomp.fortran/pr35130.f90: New test.
7055 * testsuite/libgomp.c/pr35130.c: New test.
7056
7057 2008-01-25 Jakub Jelinek <jakub@redhat.com>
7058
7059 PR middle-end/33880
7060 * testsuite/libgomp.c/pr33880.c: New test.
7061 * testsuite/libgomp.fortran/pr33880.f90: New test.
7062
7063 2008-01-24 David Edelsohn <edelsohn@gnu.org>
7064
7065 * configure: Regenerate.
7066
7067 2008-01-08 Jakub Jelinek <jakub@redhat.com>
7068
7069 * configure.ac: Move futex checking into ../config/futex.m4.
7070 * configure: Rebuilt.
7071 * aclocal.m4: Rebuilt.
7072 * Makefile.in: Rebuilt.
7073
7074 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
7075 2007-10-15 ../config/tls.m4 change.
7076
7077 2007-12-19 Jakub Jelinek <jakub@redhat.com>
7078
7079 PR c++/34513
7080 * testsuite/libgomp.c/pr34513.c: New test.
7081 * testsuite/libgomp.c++/pr34513.C: New test.
7082
7083 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
7084
7085 PR target/32765
7086 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
7087
7088 2007-12-04 Jakub Jelinek <jakub@redhat.com>
7089
7090 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
7091
7092 2007-12-03 Jakub Jelinek <jakub@redhat.com>
7093
7094 * testsuite/libgomp.c/private-1.c: New test.
7095
7096 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
7097 Paolo Bonzini <bonzini@gnu.org>
7098
7099 * Makefile.am: Use space as vpath separator. Use 'vpath %'
7100 instead of 'VPATH ='.
7101 * Makefile.in: Regenerate.
7102
7103 2007-11-23 Matthias Klose <doko@ubuntu.com>
7104
7105 * configure.ac: Adjust makeinfo version check.
7106 * configure: Regenerate.
7107
7108 2007-11-10 Jakub Jelinek <jakub@redhat.com>
7109
7110 PR fortran/34020
7111 * testsuite/libgomp.fortran/pr34020.f90: New test.
7112
7113 2007-11-06 Jakub Jelinek <jakub@redhat.com>
7114
7115 PR c++/33894
7116 * testsuite/libgomp.c++/atomic-1.C: New test.
7117
7118 2007-10-25 Jakub Jelinek <jakub@redhat.com>
7119
7120 PR libgomp/33275
7121 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
7122 Make x and y integers rather than (implicit) reals. Add private (j)
7123 clause to the last omp parallel.
7124
7125 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
7126
7127 * configure: Regenerate following changes to ../config/tls.m4.
7128
7129 2007-09-28 Jakub Jelinek <jakub@redhat.com>
7130
7131 * testsuite/libgomp.fortran/stack.f90: New test.
7132
7133 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
7134
7135 * config/mingw32/proc.c: New file.
7136
7137 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
7138
7139 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
7140 (main): Use __get_cpuid to get i386 target fetaures.
7141 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
7142 (main): Use __get_cpuid to get x86_64 target fetaures.
7143
7144 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
7145
7146 PR target/32765
7147 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
7148 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
7149
7150 2007-07-12 Jakub Jelinek <jakub@redhat.com>
7151
7152 PR fortran/32550
7153 * testsuite/libgomp.fortran/pr32550.f90: New test.
7154 * testsuite/libgomp.fortran/crayptr2.f90: New test.
7155
7156 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
7157
7158 * aclocal.m4: Regenerated.
7159
7160 2007-07-05 Tobias Burnus <burnus@net-b.de>
7161
7162 PR fortran/32359
7163 * testsuite/libgomp.fortran/pr32359.f90: New.
7164
7165 2007-07-02 Jakub Jelinek <jakub@redhat.com>
7166
7167 PR libgomp/32468
7168 * sections.c (GOMP_parallel_sections_start): Only decrease
7169 number of threads to COUNT if dyn_var is true.
7170 * testsuite/libgomp.c/pr32468.c: New test.
7171
7172 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7173
7174 PR libgomp/26308
7175 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
7176
7177 2007-06-21 Jakub Jelinek <jakub@redhat.com>
7178
7179 PR middle-end/32362
7180 * testsuite/libgomp.c/pr32362-1.c: New test.
7181 * testsuite/libgomp.c/pr32362-2.c: New test.
7182 * testsuite/libgomp.c/pr32362-3.c: New test.
7183
7184 2007-06-07 Jakub Jelinek <jakub@redhat.com>
7185
7186 * team.c (gomp_team_start): Fix setting up thread_attr
7187 stack size.
7188
7189 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
7190
7191 * configure: Regenerate.
7192
7193 2007-05-23 Steve Ellcey <sje@cup.hp.com>
7194
7195 * Makefile.in: Regenerate.
7196 * configure: Regenerate.
7197 * aclocal.m4: Regenerate.
7198 * testsuite/Makefile.in: Regenerate.
7199
7200 2007-05-04 Jakub Jelinek <jakub@redhat.com>
7201
7202 * config/linux/proc.c: New file.
7203
7204 PR libgomp/28482
7205 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
7206
7207 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
7208
7209 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
7210
7211 2007-04-16 Matthias Klose <doko@debian.org>
7212
7213 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
7214 flags if not building with -m64.
7215 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
7216 flag for i?86-*-* targets, if current target matches -m64.
7217
7218 2007-04-14 Steve Ellcey <sje@cup.hp.com>
7219
7220 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
7221 * Makefile.in: Regenerate.
7222
7223 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7224
7225 PR testsuite/31369
7226 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
7227 ld_library_path.
7228 * testsuite/libgomp.fortran/fortran.exp: Likewise.
7229
7230 2007-04-04 Jakub Jelinek <jakub@redhat.com>
7231
7232 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
7233 decls.
7234 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
7235 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
7236 (parse_affinity): New function.
7237 (initialize_env): Call it and gomp_init_affinity.
7238 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
7239 create new pthread_attr_t and call gomp_init_thread_affinity
7240 on it for each thread before passing the attribute to pthread_create.
7241 * config/linux/affinity.c: New file.
7242 * config/posix/affinity.c: New file.
7243 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
7244 * configure: Rebuilt.
7245 * config.h.in: Rebuilt.
7246 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
7247 * Makefile.in: Rebuilt.
7248
7249 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
7250
7251 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
7252 *-*-darwin*.
7253 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
7254 and use it if found.
7255
7256 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
7257
7258 * testsuite/config/default.exp: New file.
7259 * testsuite/lib/libgomp.exp: New file.
7260 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
7261 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
7262 load_lib *, load_gcc_lib *): Move to libgomp.exp.
7263 (libgomp_load): Remove.
7264 * testsuite/lib/libgomp.exp (libgomp_init): Compute
7265 always_ld_library_path, not ld_library_path. Set additional_flags
7266 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
7267 (target_compile): Do not call libgomp_init. Append lang_library_path
7268 and lang_link_flags to options.
7269 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
7270 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
7271 here.
7272 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
7273 always_ld_library_path. Set LD_LIBRARY_PATH here.
7274 * testsuite/libgomp.fortran/fortran.exp: Ditto.
7275 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
7276 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
7277 CX8 flag.
7278 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
7279 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
7280 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
7281 * testsuite/libgomp.c/pr29947-1.c: Ditto.
7282 * testsuite/libgomp.c/atomic-10.c: Ditto.
7283
7284 2007-03-21 Jakub Jelinek <jakub@redhat.com>
7285
7286 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
7287 dg-final cleanup-modules line.
7288 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
7289 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
7290 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
7291 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
7292 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
7293 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
7294 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
7295
7296 2007-03-18 Andreas Schwab <schwab@suse.de>
7297
7298 * acinclude.m4: Adjust regular expression for ld version
7299 extraction.
7300 * configure: Regenerate.
7301
7302 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
7303
7304 * Makefile.am: Add install-pdf target as copied from
7305 automake v1.10 rules.
7306 * Makefile.in: Regenerate
7307
7308 2007-02-07 Jakub Jelinek <jakub@redhat.com>
7309
7310 PR libgomp/28486
7311 * configure: Regenerate.
7312
7313 PR c++/30703
7314 * testsuite/libgomp.c++/pr30703.C: New test.
7315
7316 2007-02-02 Jakub Jelinek <jakub@redhat.com>
7317
7318 Revert:
7319 2006-07-05 Eric Christopher <echristo@apple.com>
7320 * configure.ac: Depend addition of -pthread on host OS.
7321 * configure: Regenerate.
7322
7323 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7324
7325 * libgomp.texi: Fix spacing after abbreviations.
7326
7327 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
7328
7329 PR libgomp/30546
7330 * configure.ac: Add check for makeinfo
7331 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
7332 if an appropiate version of makeinfo is found.
7333 * aclocal.m4: Regenerated.
7334 * configure: Regenerated.
7335 * Makefile.in: Regenerated.
7336 * testsuite/Makefile.in: Regenerated.
7337
7338 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
7339
7340 PR libgomp/30540
7341 * libgomp.texi: More about implementation-dependent settings.
7342
7343 2007-01-26 Tobias Burnus <burnus@net-b.de>
7344
7345 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
7346
7347 2007-01-24 Jakub Jelinek <jakub@redhat.com>
7348
7349 PR middle-end/30494
7350 * testsuite/libgomp.c/pr30494.c: New test.
7351
7352 2007-01-15 Tom Tromey <tromey@redhat.com>
7353
7354 * configure: Rebuilt.
7355 * configure.ac: Fixed comment.
7356
7357 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
7358
7359 * libgomp.texi: Document implementation specific default values of
7360 environment variables.
7361
7362 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
7363
7364 PR libgomp/28209
7365 * libgomp.texi: New file.
7366 * configure.ac: Add --enable-generated-files-in-srcdir option.
7367 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
7368 files to srcdir.
7369 * Makefile.in: Regenerated.
7370 * config.h.in: Regenerated.
7371 * testsuite/Makefile.in: Regenerated.
7372 * NOTES: Removed.
7373
7374 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
7375
7376 PR libgomp/29949
7377 * env.c (omp_set_num_threads): Set illegal thread count to 1.
7378
7379 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
7380
7381 * configure: Regenerate.
7382
7383 2006-12-04 Jakub Jelinek <jakub@redhat.com>
7384
7385 PR libgomp/29947
7386 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
7387 start if there shouldn't be any loop iterations.
7388 (gomp_loop_ordered_static_start): Remove start == end test.
7389 * testsuite/libgomp.c/pr29947-1.c: New test.
7390 * testsuite/libgomp.c/pr29947-2.c: New test.
7391
7392 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
7393
7394 * configure.tgt: Force initial-exec TLS model on Linux only.
7395
7396 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
7397
7398 * configure: Regenerated.
7399
7400 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
7401
7402 * env.c (parse_schedule): Reject out of range values.
7403 (parse_unsigned_long): Reject out of range, negative or zero values.
7404
7405 2006-10-29 Jakub Jelinek <jakub@redhat.com>
7406
7407 PR fortran/29629
7408 * testsuite/libgomp.fortran/pr29629.f90: New test.
7409
7410 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
7411
7412 PR libgomp/29494
7413 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
7414 * config/posix95: New directory.
7415 * config/posix95/omp-lock.h: New file.
7416 * config/posix95/lock.c: Likewise.
7417
7418 2006-10-14 Geoffrey Keating <geoffk@apple.com>
7419
7420 * aclocal.m4: Regenerate.
7421 * configure: Regenerate.
7422
7423 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
7424
7425 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
7426 '<' to '<='.
7427
7428 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
7429
7430 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
7431 test.
7432 * configure: Regenerate.
7433 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
7434
7435 2006-09-26 Jakub Jelinek <jakub@redhat.com>
7436
7437 PR middle-end/25261
7438 PR middle-end/28790
7439 * testsuite/libgomp.c/nestedfn-4.c: New test.
7440 * testsuite/libgomp.c/nestedfn-5.c: New test.
7441 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
7442
7443 PR fortran/29097
7444 * testsuite/libgomp.fortran/condinc1.f: New test.
7445 * testsuite/libgomp.fortran/condinc2.f: New test.
7446 * testsuite/libgomp.fortran/condinc3.f90: New test.
7447 * testsuite/libgomp.fortran/condinc4.f90: New test.
7448 * testsuite/libgomp.fortran/condinc1.inc: New file.
7449
7450 2006-09-18 Tom Tromey <tromey@redhat.com>
7451
7452 * configure: Rebuilt.
7453
7454 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
7455
7456 PR c/28768
7457 PR preprocessor/14634
7458 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
7459 to AC_DEFINE.
7460 * configure: Regenerate.
7461
7462 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
7463
7464 * testsuite/libgomp.fortran/reduction3.f90: Change
7465 -2147483648 to -huge(i)-1 to avoid overflow.
7466 * testsuite/libgomp.fortran/reduction4.f90: Change
7467 Z'ffffffff' to not(0) to avoid overflow.
7468
7469 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
7470
7471 PR libgomp/25938
7472 * Makefile.am (libsubincludedir): New.
7473 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
7474 * Makefile.in: Regenerate.
7475
7476 2006-08-17 Jakub Jelinek <jakub@redhat.com>
7477
7478 PR libgomp/28725
7479 * env.c: Include ctype.h.
7480 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
7481 leading and/or trailing whitespace and compare strings case
7482 insensitively.
7483
7484 2006-07-16 Jakub Jelinek <jakub@redhat.com>
7485
7486 PR fortran/28390
7487 * testsuite/libgomp.fortran/pr28390.f: New test.
7488
7489 2006-07-05 Eric Christopher <echristo@apple.com>
7490
7491 * configure.ac: Depend addition of -pthread on host OS.
7492 * configure: Regenerate.
7493
7494 2006-06-21 Jakub Jelinek <jakub@redhat.com>
7495
7496 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
7497 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
7498 defined.
7499
7500 2006-06-20 Jakub Jelinek <jakub@redhat.com>
7501
7502 PR libgomp/26175
7503 PR libgomp/26477
7504 * configure.ac: If neither --enable-linux-futex nor
7505 --disable-linux-futex is passed, determine the default by checking
7506 for compiling and/or running against NPTL. With --enable-linux-futex,
7507 check if SYS_gettid and SYS_futex are defined.
7508 * configure: Rebuilt.
7509
7510 2006-06-14 Richard Henderson <rth@redhat.com>
7511
7512 PR libgomp/28008
7513 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
7514 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
7515
7516 2006-06-09 Richard Henderson <rth@redhat.com>
7517
7518 * env.c (gomp_nthreads_var): Change to unsigned long.
7519 (gomp_run_sched_chunk): Likewise.
7520 (parse_unsigned_long): Rename from parse_num_threads and generalize.
7521 (initialize_env): Initialize gomp_thread_attr.
7522 * libgomp.h (gomp_nthreads_var): Update decl.
7523 (gomp_run_sched_chunk): Likewise.
7524 (gomp_thread_attr): Declare.
7525 * team.c (gomp_thread_attr): Export.
7526 (initialize_team): Don't initialize it.
7527
7528 2006-06-09 Jakub Jelinek <jakub@redhat.com>
7529
7530 PR fortran/27916
7531 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
7532 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
7533
7534 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
7535
7536 * config/mingw32/time.c: New file.
7537 * configure.tgt: Use it.
7538
7539 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
7540
7541 * Makefile.am: Add install-html target. Add install-html to .PHONY
7542 * Makefile.in: Regenerate.
7543
7544 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7545
7546 PR libgomp/27612
7547 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
7548 * testsuite/libgomp.c/critical-1.c: Likewise.
7549 * testsuite/libgomp.c/loop-1.c: Likewise.
7550 * testsuite/libgomp.c/loop-2.c: Likewise.
7551 * testsuite/libgomp.c/single-1.c: Likewise.
7552 * testsuite/libgomp.c/ordered-1.c: Likewise.
7553 * testsuite/libgomp.c/ordered-2.c: Likewise.
7554
7555 2006-05-15 Jakub Jelinek <jakub@redhat.com>
7556
7557 PR middle-end/27416
7558 * libgomp.fortran/pr27416-1.f90: New test.
7559
7560 2006-05-03 Jakub Jelinek <jakub@redhat.com>
7561
7562 PR fortran/27395
7563 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
7564 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
7565
7566 2006-05-02 Jakub Jelinek <jakub@redhat.com>
7567
7568 PR c++/26943
7569 * testsuite/libgomp.c/pr26943-1.c: New test.
7570 * testsuite/libgomp.c/pr26943-2.c: New test.
7571 * testsuite/libgomp.c/pr26943-3.c: New test.
7572 * testsuite/libgomp.c/pr26943-4.c: New test.
7573 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
7574 * testsuite/libgomp.c++/pr26943.C: New test.
7575
7576 2006-05-02 Jakub Jelinek <jakub@redhat.com>
7577
7578 PR middle-end/27337
7579 * testsuite/libgomp.c++/pr27337.C: New test.
7580
7581 2006-04-26 Jakub Jelinek <jakub@redhat.com>
7582
7583 PR c/26171
7584 * testsuite/libgomp.c/pr26171.c: New test.
7585
7586 2006-04-25 Richard Henderson <rth@redhat.com>
7587
7588 PR libgomp/25865
7589 * configure.ac: Use GCC_CHECK_TLS.
7590 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
7591 * Makefile.in, aclocal.m4, configure: Regenerate.
7592
7593 2006-04-10 Matthias Klose <doko@debian.org>
7594
7595 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
7596 directory names containing underscores.
7597
7598 2006-03-21 Jakub Jelinek <jakub@redhat.com>
7599
7600 PR c++/26691
7601 * testsuite/libgomp.c++/pr26691.C: New test.
7602
7603 2006-03-13 Jakub Jelinek <jakub@redhat.com>
7604
7605 * testsuite/libgomp.fortran/retval2.f90: New test.
7606
7607 2006-03-09 Diego Novillo <dnovillo@redhat.com>
7608
7609 * testsuite/libgomp.c++: New directory.
7610
7611 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
7612
7613 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
7614 * config/posix/sem.c: Implement the above.
7615
7616 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
7617
7618 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
7619 define HAVE_BROKEN_POSIX_SEMAPHORES.
7620 * configure: Rebuilt.
7621 * config.h.in: Rebuilt.
7622
7623 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
7624
7625 PR bootstrap/26161
7626 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
7627 for the other pthread check.
7628 * configure: Regenerate.
7629 * config.h.in: Regenerate.
7630
7631 2006-02-15 Jakub Jelinek <jakub@redhat.com>
7632
7633 PR libgomp/25938
7634 PR libgomp/25984
7635 * Makefile.am (fincludedir): New variable.
7636 (nodist_include_HEADERS): Remove Fortran files.
7637 (nodist_finclude_HEADERS): New variable.
7638 * Makefile.in: Regenerated.
7639
7640 2006-02-13 Jakub Jelinek <jakub@redhat.com>
7641
7642 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
7643 Remove tests for returning assumed character length arrays.
7644
7645 2006-02-12 Roger Sayle <roger@eyesopen.com>
7646 John David Anglin <dave@hiauly1.hia.nrc.ca>
7647
7648 PR libgomp/25936
7649 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
7650
7651 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
7652
7653 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
7654
7655 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
7656
7657 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
7658 part of LD_LIBRARY_PATH manually.
7659
7660 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
7661
7662 PR libgomp/25852
7663 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
7664 libgomp_init.
7665
7666 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
7667
7668 PR libgomp/25884
7669 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
7670 * configure.ac (PERL): Don't set.
7671 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
7672 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
7673 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
7674 * omp.h.in: Wrap the new configure substitutions with @ characters.
7675 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
7676 * aclocal.m4, configure, Makefile.in: Regenerate.
7677 * mkomp_h.pl: Delete.
7678
7679 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
7680
7681 PR libgomp/25259
7682 * configure.ac: Use GCC_HEADER_STDINT.
7683 * libgomp.h: Include gstdint.h.
7684 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
7685 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
7686
7687 2006-01-24 Richard Henderson <rth@redhat.com>
7688
7689 PR libgomp/25942
7690 * configure.ac: Add AM_MAINTAINER_MODE.
7691 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
7692
7693 2006-01-24 Diego Novillo <dnovillo@redhat.com>
7694
7695 * Makefile.in: Regenerate.
7696 * testsuite/Makefile.in: Regenerate.
7697 * aclocal.m4: Regenerate.
7698
7699 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
7700
7701 * config/posix/proc.c: Conditional include of sys/loadavg.h for
7702 Solaris.
7703 * configure.ac: Add check for loadavg.h.
7704 (link_gomp): Adjust comment.
7705 * configure: Regenerate.
7706 * config.h.in: Regenerate.
7707
7708 2006-01-21 Steve Ellcey <sje@cup.hp.com>
7709
7710 PR libgomp/25877
7711 * configure.ac: Remove check for alloca.h.
7712 * configure: Regenerate.
7713 * config.h.in: Regenerate.
7714 * libgomp.h: define gomp_alloca to be __builtin_alloca.
7715 * team.c: Remove use of alloca.h.
7716 Call gomp_alloca instead of alloca.
7717
7718 2006-01-20 Steve Ellcey <sje@cup.hp.com>
7719
7720 PR libgomp/25877
7721 * team.c: Add include of alloca.h.
7722 * configure.ac: Add check for alloca.h.
7723 * configure: Regenerate.
7724 * config.h.in: Regenerate.
7725
7726 2006-01-17 Jakub Jelinek <jakub@redhat.com>
7727
7728 PR fortran/25219
7729 * testsuite/libgomp.fortran/pr25219.f90: New test.
7730
7731 2005-12-05 Uros Bizjak <uros@kss-loka.si>
7732
7733 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
7734 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
7735 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
7736 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
7737 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
7738 testsuite/libgomp.fortran/threadprivate1.f90,
7739 testsuite/libgomp.fortran/threadprivate2.f90,
7740 testsuite/libgomp.fortran/threadprivate3.f90,
7741 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
7742 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
7743 testsuite/libgomp.fortran/omp_parse3.f90: Change required
7744 effective-target to TLS runtime.
7745
7746 * testsuite/libgomp.fortran/pr25162.f: Require
7747 effective-target TLS runtime.
7748
7749 2005-12-01 Jakub Jelinek <jakub@redhat.com>
7750
7751 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
7752 * testsuite/libgomp.c/nestedfn-3.c: New test.
7753
7754 2005-11-30 Jakub Jelinek <jakub@redhat.com>
7755
7756 PR fortran/25162
7757 * testsuite/libgomp.fortran/pr25162.f: New test.
7758
7759 2005-11-28 Jakub Jelinek <jakub@redhat.com>
7760
7761 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
7762 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
7763
7764 2005-11-25 Jakub Jelinek <jakub@redhat.com>
7765
7766 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
7767 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
7768 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
7769 single.c, team.c, work.c, config/linux/alpha/futex.h,
7770 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
7771 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
7772 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
7773 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
7774 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
7775 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
7776 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
7777 FSF address.
7778
7779 2005-11-18 Jakub Jelinek <jakub@redhat.com>
7780
7781 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
7782 to nodist_noinst_HEADERS.
7783 * Makefile.in: Rebuilt.
7784
7785 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
7786 add integer count field.
7787 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
7788 omp_nest_lock_t type change.
7789 (omp_init_nest_lock): Likewise. Initialize count to 0.
7790 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
7791 Increment count.
7792 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
7793 Decrement count.
7794 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
7795 Increment count if successful and return the new nesting level.
7796 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
7797 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
7798 * testsuite/libgomp.c/lib-1.c: New test.
7799 * testsuite/libgomp.fortran/lib1.f90: New test.
7800 * testsuite/libgomp.fortran/lib2.f: New test.
7801 * testsuite/libgomp.fortran/lib3.f: New test.
7802
7803 2005-11-17 Richard Henderson <rth@redhat.com>
7804
7805 PR 24845
7806 * Makefile.am (nodist_toolexeclib_HEADERS): New.
7807 * configure.ac (link_gomp): New. Substitute it.
7808 (AC_CONFIG_FILES): Add libgomp.spec.
7809 * libgomp.spec.in: New file.
7810 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
7811 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
7812
7813 2005-11-18 Jakub Jelinek <jakub@redhat.com>
7814
7815 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
7816 reduction(-:var) behaving the same as reduction(+:var).
7817 * testsuite/libgomp.c/reduction-4.c: New test.
7818
7819 2005-11-15 Uros Bizjak <uros@kss-loka.si>
7820
7821 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
7822 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
7823 testsuite/libgomp.c/copyin-3.c,
7824 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
7825 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
7826 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
7827 testsuite/libgomp.c++/pr24455.C,
7828 testsuite/libgomp.fortran/threadprivate1.f90,
7829 testsuite/libgomp.fortran/threadprivate2.f90,
7830 testsuite/libgomp.fortran/threadprivate3.f90,
7831 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
7832 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
7833 testsuite/libgomp.fortran/omp_parse3.f90: Require
7834 effective-target TLS.
7835
7836 2005-11-14 Diego Novillo <dnovillo@redhat.com>
7837
7838 * HEADER: Remove.
7839
7840 2005-11-13 Jakub Jelinek <jakub@redhat.com>
7841
7842 PR libgomp/24797
7843 * team.c (initialize_team): Pass NULL rather than free as
7844 pthread_key_create destructor. Initialize thread specific data
7845 pointer in initial thread to a static local variable rather than
7846 malloced memory.
7847
7848 2005-11-11 Uros Bizjak <uros@kss-loka.si>
7849
7850 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
7851 its location to ld_library_path.
7852
7853 2005-11-10 Diego Novillo <dnovillo@redhat.com>
7854
7855 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
7856
7857 2005-11-10 Diego Novillo <dnovillo@redhat.com>
7858
7859 * testsuite/libgomp.c: Rename from libgomp.dg.
7860
7861 2005-11-09 Diego Novillo <dnovillo@redhat.com>
7862
7863 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
7864 threadprivate variable 'i'.
7865
7866 2005-11-09 Jakub Jelinek <jakub@redhat.com>
7867
7868 * config/linux/s390/futex.h: New file.
7869 * configure.tgt: Use it.
7870
7871 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
7872 before the parallel.
7873
7874 2005-11-08 Jakub Jelinek <jakub@redhat.com>
7875
7876 PR c++/24734
7877 * testsuite/libgomp.c++/master-1.C: New test.
7878
7879 2005-11-07 Jakub Jelinek <jakub@redhat.com>
7880
7881 * testsuite/libgomp.dg/copyin-3.c: New test.
7882
7883 2005-11-07 Jakub Jelinek <jakub@redhat.com>
7884
7885 * testsuite/libgomp.fortran/retval1.f90: New test.
7886 * testsuite/libgomp.fortran/vla7.f90: New test.
7887
7888 2005-11-06 Jakub Jelinek <jakub@redhat.com>
7889
7890 * testsuite/libgomp.fortran/vla2.f90: New test.
7891 * testsuite/libgomp.fortran/vla3.f90: New test.
7892 * testsuite/libgomp.fortran/vla4.f90: New test.
7893 * testsuite/libgomp.fortran/vla5.f90: New test.
7894 * testsuite/libgomp.fortran/vla6.f90: New test.
7895
7896 2005-11-01 Jakub Jelinek <jakub@redhat.com>
7897
7898 * config/linux/sparc/futex.h: New file.
7899 * configure.tgt: Use it.
7900 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
7901
7902 * critical.c: Include stdlib.h.
7903 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
7904 ignoring return value.
7905 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
7906 LIBGOMP_CHECK_SYNC_BUILTINS check.
7907 * configure: Rebuilt.
7908
7909 2005-10-31 Jakub Jelinek <jakub@redhat.com>
7910
7911 * testsuite/libgomp.fortran/vla1.f90: New test.
7912
7913 2005-10-31 Richard Henderson <rth@redhat.com>
7914
7915 * testsuite/libgomp.fortran/character2.f90: Fix race condition
7916 setting 's' in different threads.
7917
7918 2005-10-31 Jakub Jelinek <jakub@redhat.com>
7919
7920 * libgomp.h (attribute_hidden, ialias): Define.
7921 * config/posix/proc.c (omp_get_num_procs): Add ialias.
7922 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
7923 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
7924 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
7925 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
7926 omp_test_lock, omp_test_nest_lock): Likewise.
7927 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
7928 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
7929 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
7930 omp_test_lock, omp_test_nest_lock): Likewise.
7931 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
7932 omp_get_dynamic, omp_get_nested): Likewise.
7933 * parallel.c (omp_get_num_threads, omp_get_max_threads,
7934 omp_get_thread_num, omp_in_parallel): Likewise.
7935 * fortran.c (ialias_redirect): Define.
7936 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
7937 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
7938 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
7939 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
7940 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
7941 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
7942 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
7943 omp_get_wtime): Add ialias_redirect.
7944
7945 2005-10-30 Jakub Jelinek <jakub@redhat.com>
7946
7947 * fortran.c: Include stdlib.h.
7948
7949 2005-10-29 Jakub Jelinek <jakub@redhat.com>
7950
7951 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
7952 * Makefile.in: Regenerated.
7953
7954 2005-10-28 Jakub Jelinek <jakub@redhat.com>
7955
7956 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
7957 * libgomp_f.h.in (omp_check_defines): New function.
7958 * env.c: Include libgomp_f.h.
7959 (initialize_env): Call omp_check_defines.
7960
7961 * testsuite/libgomp.dg/copyin-2.c: New test.
7962 * testsuite/libgomp.c++/copyin-2.C: New test.
7963 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
7964
7965 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
7966 * testsuite/libgomp.fortran/sharing2.f90: New test.
7967
7968 * testsuite/libgomp.dg/copyin-1.c: New test.
7969 * testsuite/libgomp.c++/copyin-1.C: New test.
7970
7971 2005-10-26 Jakub Jelinek <jakub@redhat.com>
7972
7973 * testsuite/libgomp.fortran/crayptr1.f90: New test.
7974
7975 * testsuite/libgomp.fortran/workshare1.f90: New test.
7976
7977 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
7978 only test.
7979 * libgomp.fortran/sharing1.f90: New test.
7980
7981 2005-10-24 Jakub Jelinek <jakub@redhat.com>
7982
7983 PR c++/24502
7984 * testsuite/libgomp.c++/loop-7.C: New test.
7985
7986 * testsuite/libgomp.dg/nestedfn-2.c: New test.
7987
7988 * testsuite/libgomp.dg/nestedfn-1.c: New test.
7989 * testsuite/libgomp.fortran/reduction6.f90: New test.
7990 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
7991
7992 2005-10-23 Richard Henderson <rth@redhat.com>
7993
7994 * testsuite/libgomp.c++/ctor-1.C: New.
7995 * testsuite/libgomp.c++/ctor-2.C: New.
7996 * testsuite/libgomp.c++/ctor-3.C: New.
7997 * testsuite/libgomp.c++/ctor-4.C: New.
7998 * testsuite/libgomp.c++/ctor-5.C: New.
7999 * testsuite/libgomp.c++/ctor-6.C: New.
8000 * testsuite/libgomp.c++/ctor-7.C: New.
8001 * testsuite/libgomp.c++/ctor-8.C: New.
8002 * testsuite/libgomp.c++/ctor-9.C: New.
8003
8004 2005-10-21 Diego Novillo <dnovillo@redhat.com>
8005
8006 PR 24455
8007 * testsuite/libgomp.c++/pr24455-1.C: New test.
8008 * testsuite/libgomp.c++/pr24455.C: New test.
8009 * testsuite/libgomp.dg/pr24455-1.c: New test.
8010 * testsuite/libgomp.dg/pr24455.c: New test.
8011
8012 2005-10-20 Richard Henderson <rth@redhat.com>
8013
8014 * testsuite/libgomp.c++/loop-6.C: New.
8015 * testsuite/libgomp.dg/loop-3.c: New.
8016
8017 2005-10-20 Jakub Jelinek <jakub@redhat.com>
8018
8019 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
8020 explicitly private.
8021 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
8022 explicitly shared.
8023
8024 2005-10-19 Diego Novillo <dnovillo@redhat.com>
8025
8026 * testsuite/libgomp.fortran/jacobi.f: New test.
8027
8028 2005-10-19 Richard Henderson <rth@redhat.com>
8029
8030 * configure.tgt (i?86-linux): Default to with_arch instead of
8031 CFLAGS. Add -mtune to match target_cpu.
8032 (x86_64-linux): Tune to i686.
8033
8034 * fortran.c (omp_test_nest_lock_): Fix typo.
8035
8036 2005-10-19 Jakub Jelinek <jakub@redhat.com>
8037
8038 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
8039 gomp_ordered_sync): Do nothing if team->nthreads == 1.
8040 * testsuite/libgomp.dg/ordered-3.c: New test.
8041
8042 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
8043 Remove volatile keyword.
8044
8045 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
8046 in COMMON block to avoid warnings on 64-bit targets.
8047
8048 2005-10-18 Diego Novillo <dnovillo@redhat.com>
8049
8050 * testsuite/libgomp.dg/shared-3.c: New test.
8051
8052 2005-10-18 Jakub Jelinek <jakub@redhat.com>
8053
8054 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
8055 * testsuite/libgomp.fortran/reduction5.f90: New test.
8056
8057 2005-10-18 Jakub Jelinek <jakub@redhat.com>
8058
8059 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
8060 dg-options.
8061 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
8062 flush loop now that __sync_synchronize has proper memory barrier.
8063 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
8064 Add -ffixed-form to dg-options.
8065
8066 2005-10-17 Diego Novillo <dnovillo@redhat.com>
8067
8068 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
8069 from subdirectories.
8070 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
8071 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
8072 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
8073 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
8074 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
8075 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
8076 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
8077 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
8078 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
8079 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
8080 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
8081 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
8082 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
8083 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
8084 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
8085 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
8086 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
8087 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
8088 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
8089 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
8090 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
8091 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
8092 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
8093 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
8094 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
8095
8096 2005-10-17 Jakub Jelinek <jakub@redhat.com>
8097
8098 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
8099 lang_library_path exists. Use find instead of glob to gather tests.
8100 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
8101
8102 2005-10-17 Diego Novillo <dnovillo@redhat.com>
8103
8104 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
8105 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
8106 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
8107 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
8108 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
8109 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
8110 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
8111 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
8112 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
8113 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
8114 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
8115 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
8116 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
8117
8118 2005-10-15 Jakub Jelinek <jakub@redhat.com>
8119
8120 * testsuite/libgomp.dg/vla-1.c: New test.
8121
8122 * testsuite/libgomp.fortran/reference2.f90: New test.
8123
8124 * testsuite/libgomp.fortran/character2.f90: Remove explicit
8125 declaration of omp_get_thread_num.
8126 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
8127 use omp_lib.
8128
8129 * testsuite/libgomp.fortran/reduction1.f90: New test.
8130 * testsuite/libgomp.fortran/reduction2.f90: New test.
8131 * testsuite/libgomp.fortran/reduction3.f90: New test.
8132 * testsuite/libgomp.fortran/reduction4.f90: New test.
8133
8134 2005-10-13 Richard Henderson <rth@redhat.com>
8135
8136 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
8137 * Makefile.in: Regenerate.
8138 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
8139 * libgomp.h: Include bar.h.
8140 (struct gomp_barrier): Remove.
8141 (struct gomp_team): Add barrier. Replace master_barrier with
8142 master_release. Replace threads with ordered_release.
8143 (struct gomp_thread): Replace barrier with release.
8144 * ordered.c (gomp_ordered_first): Update for ordered_release change.
8145 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
8146 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
8147 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
8148 (GOMP_single_copy_end): Likewise.
8149 * team.c (gomp_threads_dock): New.
8150 (gomp_barrier_init, gomp_barrier_destroy): Remove.
8151 (gomp_thread_start): Use gomp_barrier_wait.
8152 (new_team, free_team): Update for gomp_team changes.
8153 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
8154 (gomp_team_end): Use gomp_barrier_wait.
8155 (initialize_team): Update for gomp_thread changes.
8156 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
8157 (gomp_work_share_end_nowait): Use atomic ops when available.
8158 * config/linux/bar.c, config/linux/bar.h: New files.
8159 * config/posix/bar.c, config/posix/bar.h: New files.
8160
8161 2005-10-13 Jakub Jelinek <jakub@redhat.com>
8162
8163 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
8164 * testsuite/libgomp.dg/single-2.c: New test.
8165
8166 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
8167 lang_link_flags): Unset, so that they aren't inherited from previously
8168 sourced *.exp.
8169
8170 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
8171
8172 2005-10-12 Richard Henderson <rth@redhat.com>
8173
8174 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
8175 (libgomp_init): Use lang_test_file, lang_library_path, and
8176 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
8177
8178 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
8179 (lang_test_file, lang_link_flags): New.
8180 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
8181
8182 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
8183 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
8184 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
8185 testsuite/libgomp.c++/parallel-1.C,
8186 testsuite/libgomp.c++/reduction-1.C,
8187 testsuite/libgomp.c++/reduction-2.C,
8188 testsuite/libgomp.c++/reduction-3.C,
8189 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
8190 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
8191 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
8192 New files, largely cribbed from the C testsuite.
8193
8194 2005-10-12 Jakub Jelinek <jakub@redhat.com>
8195
8196 * testsuite/libgomp.fortran/character1.f90: New test.
8197 * testsuite/libgomp.fortran/character2.f90: New test.
8198
8199 * testsuite/libgomp.dg/nested-1.c: New test.
8200 * testsuite/libgomp.dg/nested-2.c: New test.
8201 * testsuite/libgomp.fortran/do1.f90: New test.
8202 * testsuite/libgomp.fortran/do2.f90: New test.
8203
8204 * testsuite/libgomp.fortran/reference1.f90: New test.
8205
8206 2005-10-11 Jakub Jelinek <jakub@redhat.com>
8207
8208 * testsuite/libgomp.dg/reduction-1.c: New test.
8209 * testsuite/libgomp.dg/reduction-2.c: New test.
8210 * testsuite/libgomp.dg/reduction-3.c: New test.
8211
8212 2005-10-10 Jakub Jelinek <jakub@redhat.com>
8213
8214 * testsuite/libgomp.dg/atomic-1.c: New test.
8215 * testsuite/libgomp.dg/atomic-2.c: New test.
8216
8217 2005-10-09 Richard Henderson <rth@redhat.com>
8218
8219 * critical.c (atomic_lock): New.
8220 (initialize_critical): Initialize it.
8221 (GOMP_atomic_start, GOMP_atomic_end): New.
8222 * libgomp.map: Export them.
8223 * libgomp_g.h: Declare them.
8224
8225 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
8226
8227 2005-10-02 Richard Henderson <rth@redhat.com>
8228
8229 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
8230 to XCFLAGS instead of CFLAGS.
8231
8232 2005-09-30 Richard Henderson <rth@redhat.com>
8233
8234 * configure.ac: Determine whether -pthread or -lpthread is needed.
8235 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
8236 * Makefine.in, configure: Rebuild.
8237
8238 2005-09-28 Richard Henderson <rth@redhat.com>
8239
8240 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
8241 * testsuite/libgomp.dg/omp-single-3.c: New test.
8242
8243 2005-09-28 Diego Novillo <dnovillo@redhat.com>
8244
8245 * testsuite/libgomp.dg/omp-single-2.c: New test.
8246 * testsuite/libgomp.dg/shared-2.c: Fix return code.
8247
8248 2005-09-27 Richard Henderson <rth@redhat.com>
8249
8250 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
8251 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
8252
8253 2005-09-27 Jakub Jelinek <jakub@redhat.com>
8254
8255 * testsuite/libgomp.dg/omp-loop03.c: New test.
8256
8257 2005-09-27 Diego Novillo <dnovillo@redhat.com>
8258
8259 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
8260
8261 2005-09-27 Diego Novillo <dnovillo@redhat.com>
8262
8263 * testsuite/libgomp.dg/omp-single-1.c: New test.
8264 * testsuite/libgomp.dg/shared-1.c: Return 0.
8265 Add prototype for abort.
8266 * testsuite/libgomp.dg/shared-2.c: Likewise.
8267
8268 2005-09-26 Jakub Jelinek <jakub@redhat.com>
8269
8270 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
8271 constructs.
8272
8273 2005-09-26 Diego Novillo <dnovillo@redhat.com>
8274
8275 * testsuite/libgomp.dg/shared-1.c: New test.
8276 * testsuite/libgomp.dg/shared-2.c: New test.
8277
8278 2005-09-24 Richard Henderson <rth@redhat.com>
8279
8280 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
8281
8282 2005-09-24 Richard Henderson <rth@redhat.com>
8283
8284 * iter.c (gomp_iter_static_next): Round up when computing number
8285 of iterations. Don't bother distributing a remainder equally.
8286
8287 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
8288 Don't call srand. Zero b before testing.
8289 (main): New.
8290
8291 2005-09-24 Jakub Jelinek <jakub@redhat.com>
8292
8293 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
8294 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
8295
8296 2005-09-23 Jakub Jelinek <jakub@redhat.com>
8297
8298 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
8299 without !$omp end do, followed immediately by subroutine end.
8300
8301 2005-09-23 Diego Novillo <dnovillo@redhat.com>
8302
8303 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
8304
8305 2005-09-22 Richard Henderson <rth@redhat.com>
8306
8307 * critical.c (GOMP_critical_name_start): Change argument to void**.
8308 Reuse the pointer space if the mutex fits.
8309 (GOMP_critical_name_end): Likewise.
8310 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
8311 * libgomp_g.h (GOMP_critical_name_start): Update decl.
8312 (GOMP_critical_name_end): Likewise.
8313 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
8314 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
8315
8316 2005-09-20 Richard Henderson <rth@redhat.com>
8317
8318 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
8319 (create_lock_lock): New.
8320 (initialize_critical): Initialize it.
8321 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
8322 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
8323
8324 2005-09-20 Diego Novillo <dnovillo@redhat.com>
8325
8326 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
8327
8328 2005-09-20 Diego Novillo <dnovillo@redhat.com>
8329
8330 * testsuite/libgomp.dg/omp-loop01.c: New test.
8331 * testsuite/libgomp.dg/omp-loop02.c: New test.
8332
8333 2005-09-20 Jakub Jelinek <jakub@redhat.com>
8334
8335 * configure.ac (AC_PROG_FC): Add.
8336 (USE_FORTRAN): New automake conditional.
8337 * configure: Rebuilt.
8338 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
8339 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
8340 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
8341 Add rules to build them.
8342 * Makefile.in: Rebuilt.
8343 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
8344 OMP_NEST_LOCK_KIND.
8345 * libgomp.map: Add Fortran wrappers.
8346 * libgomp_f.h.in: New file.
8347 * omp_lib.h.in: New file.
8348 * omp_lib.f90.in: New file.
8349 * fortran.c: New file.
8350 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
8351 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
8352 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
8353 libgfortran has been built.
8354 * testsuite/libgomp.fortran/fortran.exp: New file.
8355 * testsuite/libgomp.fortran/omp_cond1.f: New test.
8356 * testsuite/libgomp.fortran/omp_cond2.f: New test.
8357 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
8358 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
8359 * testsuite/libgomp.fortran/omp_hello.f: New test.
8360 * testsuite/libgomp.fortran/omp_orphan.f: New test.
8361 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
8362 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
8363 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
8364 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
8365 * testsuite/libgomp.fortran/omp_reduction.f: New test.
8366 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
8367 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
8368
8369 2005-08-30 Richard Henderson <rth@redhat.com>
8370
8371 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
8372 function for when aliases are not usable.
8373 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
8374 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
8375 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
8376 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
8377 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
8378 GOMP_loop_ordered_guided_next): Likewise.
8379 * ordered.c (GOMP_ordered_start): Likewise.
8380
8381 2005-08-01 Diego Novillo <dnovillo@redhat.com>
8382
8383 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
8384 * testsuite/libgomp.dg/omp_hello.c: Fix return code
8385 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
8386 * testsuite/libgomp.dg/omp_orphan.c: Likewise
8387 * testsuite/libgomp.dg/omp_reduction.c: Likewise
8388 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
8389 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
8390 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
8391 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
8392
8393 2005-07-07 Eric Christopher <echristo@redhat.com>
8394 Diego Novillo <dnovillo@redhat.com>
8395
8396 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
8397 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
8398 up code.
8399 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
8400 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
8401 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
8402 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
8403 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
8404 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
8405 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
8406
8407 2005-06-13 Diego Novillo <dnovillo@redhat.com>
8408
8409 * TOPLEVEL.patch: Remove.
8410
8411 2005-05-16 Richard Henderson <rth@redhat.com>
8412
8413 * configure.ac: Test for clock_gettime.
8414 * config.h.in, configure: Rebuild.
8415 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
8416 (omp_get_wtime): Use clock_gettime if available.
8417 (omp_get_wtick): Use clock_getres if available.
8418
8419 2005-05-11 Richard Henderson <rth@redhat.com>
8420
8421 * config/linux/ia64/futex.h: New file.
8422 * configure.tgt: Use it.
8423
8424 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
8425
8426 2005-05-07 Richard Henderson <rth@redhat.com>
8427
8428 * config/linux/powerpc/futex.h: New file.
8429 * configure.tgt: Use it.
8430
8431 * config/linux/i486/futex.h: Merge ...
8432 * config/linux/x86_64/futex.h: ... into ...
8433 * config/linux/x86/futex.h: ... here.
8434 * configure.tgt: Update to match.
8435
8436 2005-05-06 Richard Henderson <rth@redhat.com>
8437
8438 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
8439 * config/linux/i486/futex.h: Likewise.
8440 * config/linux/x86_64/futex.h: Likewise.
8441
8442 * config/linux/lock.c: New file.
8443 * config/linux/omp-lock.h: New file.
8444
8445 * critical.c, env.h: Don't include omp.h
8446 * config/posix/lock.c: Include libgomp.h instead of omp.h.
8447 * config/posix/time.c: Likewise.
8448 * config/posix/omp-lock.h: New file.
8449 * libgomp.h: Include omp-lock.h and omp.h.
8450 * Makefile.am (nodist_include_HEADERS): New.
8451 (omp.h): New rule.
8452 * configure.ac (PERL): New.
8453 * mkomp_h.pl: New file.
8454 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
8455 with templates.
8456 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
8457
8458 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
8459 build directory. Re-add -march=i486 hack.
8460
8461 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
8462 (libgomp_link_flags): Remove.
8463 (libgomp_initialized): Remove.
8464 (libgomp_init): Don't protect from reinitialization. Copy code
8465 from libstdc++ for getting the multilib set correctly.
8466
8467 2005-05-05 Richard Henderson <rth@redhat.com>
8468
8469 * config/linux/alpha/futex.h: New file.
8470 * configure.tgt (alpha*-*-linux*): Use it.
8471
8472 * config/posix/mutex.c: New file.
8473 * config/posix/sem.c: Use libgomp.h.
8474
8475 * configure.tgt (x86_64-linux): Also test CC for -m32.
8476 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
8477
8478 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
8479 after $gccpath.
8480
8481 * Makefile.am (SUBDIRS): New.
8482 (libgomp_la_LDFLAGS): Add -lpthread.
8483 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
8484 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
8485
8486 * libgomp_g.h: New file.
8487 * libgomp.h: Split out all public declarations to libgomp_g.h.
8488 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
8489 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
8490 * config/linux/sem.h: Likewise.
8491 * config/posix/sem.h: Likewise.
8492
8493 * Makefile.am (AM_LDFLAGS): New.
8494 (libgomp_version_script): Split out from ...
8495 (libgomp_la_LDFLAGS): ... here.
8496 (libgomp_version_info): New.
8497 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
8498 (LIBGOMP_ENABLE): New.
8499 (LIBGOMP_CHECK_LINKER_FEATURES): New.
8500 (LIBGOMP_ENABLE_SYMVERS): New.
8501 * configure.ac (AC_INIT): Version 1.0.
8502 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
8503 (enable-linux-futex): Likewise. Rename from enable-futex.
8504 (libtool_VERSION): New.
8505 (LIBGOMP_ENABLE_SYMVERS): Use it.
8506 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
8507 * Makefile.in, aclocal.m4, configure: Rebuild.
8508
8509 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
8510 (gomp_mutex_unlock_slow): Fix typo.
8511 * config/linux/sem.c: Similarly.
8512 (gomp_sem_post_slow): Fix typo.
8513 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
8514 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
8515 [__PIC__] (sys_futex0): Don't use tmp output in asm.
8516
8517 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
8518 (libgomp_la_LDFLAGS): Add top_srcdir to path.
8519 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
8520 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
8521 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
8522 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
8523 LDFLAGS. Pull enable_futex check to top-level.
8524 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
8525 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
8526
8527 First attempt at real configury.
8528 * Makefile, config.h: Remove file.
8529 * Makefile.am, Makefile.in: New file.
8530 * acinclude.m4 aclocal.m4: New file.
8531 * configure.ac, configure.tgt, configure: New file.
8532
8533 * config/posix/lock.c: Rename from sys-lock.c.
8534 * config/posix/mutex.h: Rename from sys-mutex.h.
8535 * config/posix/sem.c: Rename from sys-sem.c.
8536 * config/posix/sem.h: Rename from sys-sem.h.
8537 * config/posix/proc.c: Rename from sys-proc.c.
8538 * config/posix/time.c: Rename from sys-proc.c.
8539
8540 * config/linux/mutex.c: New file.
8541 * config/linux/mutex.h: New file.
8542 * config/linux/sem.c: New file.
8543 * config/linux/sem.h: New file.
8544 * config/linux/i486/futex.h: New file.
8545 * config/linux/x86_64/futex.h: New file.
8546
8547 2005-05-04 Richard Henderson <rth@redhat.com>
8548
8549 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
8550 * libgomp.h: Declare them.
8551 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
8552 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
8553
8554 2005-05-04 Richard Henderson <rth@redhat.com>
8555
8556 * libgomp-1 code drop
8557
8558 2005-05-04 Richard Henderson <rth@redhat.com>
8559
8560 * iter.c (gomp_iter_static_next): Return tri-state on 0.
8561 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
8562 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
8563 (gomp_iter_static_next): Update.
8564 (gomp_ordered_static_next): Update.
8565 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
8566 (gomp_loop_ordered_static_start): Likewise. Exit early for a
8567 totally empty range.
8568 (gomp_loop_ordered_static_next): Refine test for calling
8569 gomp_ordered_static_next.
8570 * testsuite/ordered-1.c: Add case for more threads than iterations.
8571
8572 * iter.c (gomp_iter_runtime_next_locked): Remove.
8573 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
8574 gomp_loop_guided_start, gomp_loop_ordered_static_start,
8575 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
8576 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
8577 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
8578 gomp_loop_ordered_guided_next): Downcase name, make static, add
8579 an external alias with the old name.
8580 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
8581 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
8582 switch and call one of the above static functions.
8583 * libgomp.h: Update.
8584
8585 * work.c (gomp_work_share_start): Lock the mutex for !first too.
8586 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
8587 GOMP_loop_guided_start, GOMP_loop_runtime_start,
8588 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
8589 GOMP_loop_ordered_guided_start): Update to match.
8590 * sections.c (GOMP_sections_start): Likewise.
8591 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
8592
8593 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
8594 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
8595 Use bounds check instead of modulus.
8596 (gomp_ordered_sync): Split out of GOMP_ordered_start.
8597 (gomp_ordered_last): Don't sync with ordered_owner here.
8598 (gomp_ordered_next): Likewise.
8599 (gomp_ordered_static_loop_next): Likewise.
8600 * loop.c, libgomp.h: Update to match.
8601
8602 * libgomp.h (GOMP_barrier): Declare.
8603
8604 * testsuite/barrier-1.c: New file.
8605 * testsuite/critical-1.c: New file.
8606 * testsuite/ordered-2.c: New file.
8607 * testsuite/ordered-1.c: New file.
8608 * testsuite/sections-1.c: New file.
8609 * testsuite/single-1.c: New file.
8610 * testsuite/Makefile (TESTS): Add them.
8611
8612 2005-05-04 Richard Henderson <rth@redhat.com>
8613
8614 * libgomp.h (struct gomp_work_share): Add ordered_owner.
8615 * loop.c (GOMP_loop_static_start): If not the startup thread,
8616 acquire the mutex to wait for initialization complete.
8617 (GOMP_loop_ordered_static_start): Likewise.
8618 (GOMP_loop_ordered_runtime_start): Likewise.
8619 (GOMP_loop_ordered_static_first): Remove.
8620 (GOMP_loop_ordered_dynamic_first): Remove.
8621 (GOMP_loop_ordered_guided_first): Remove.
8622 (GOMP_loop_ordered_runtime_first): Remove.
8623 * ordered.c (gomp_ordered_loop_first): Post to own release when
8624 we're the first thread.
8625 (gomp_ordered_loop_last): Wait on release if not owner.
8626 (gomp_ordered_loop_next): Likewise.
8627 (gomp_ordered_static_loop_init): New.
8628 (gomp_ordered_static_loop_next): Use ordered_owner.
8629 (GOMP_ordered_start): Likewise.
8630 * work.c (gomp_new_work_share): Initialize ordered_owner.
8631
8632 2005-05-03 Richard Henderson <rth@redhat.com>
8633
8634 * Makefile (OPT): New.
8635 (CFLAGS): Use it.
8636
8637 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
8638 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
8639 * libgomp.h, libgomp.map, NOTES: Update to match.
8640
8641 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
8642 Add initialized and thr members.
8643 (gomp_thread_start): Pause when initially spawned to wait for
8644 the whole team to be created.
8645 (gomp_team_start): Release team members at the end.
8646
8647 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
8648 (f_foo_1): Use GOMP_loop_end.
8649 (f_foo_2): Use GOMP_loop_end_nowait.
8650
8651 * testsuite/loop-2.c: New file.
8652 * testsuite/Makefile (TESTS): Add it.
8653
8654 2005-05-03 Richard Henderson <rth@redhat.com>
8655
8656 * iter.c (gomp_iter_static_next): Fix overflow check typo.
8657 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
8658 * team.c (new_team): Initialize oldest_live_gen to 1 if no
8659 initial work_share.
8660
8661 * testsuite/Makefile: New file.
8662 * testsuite/loop-1.c: New file.
8663
8664 2005-05-03 Richard Henderson <rth@redhat.com>
8665
8666 Initial implementation and checkin.
8667 \f
8668 Copyright (C) 2005-2017 Free Software Foundation, Inc.
8669
8670 Copying and distribution of this file, with or without modification,
8671 are permitted in any medium without royalty provided the copyright
8672 notice and this notice are preserved.