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