]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
82419efb
TV
12017-09-14 Tom de Vries <tom@codesourcery.com>
2
3 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
4 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
5 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
6 * testsuite/libgomp.c/c.exp: Include test-cases from
7 libgomp.c-c++-common.
8 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
9 files.
10
8b586510
JJ
112017-09-14 Jakub Jelinek <jakub@redhat.com>
12
13 PR c++/81314
14 * testsuite/libgomp.c++/pr81314.C: New test.
15
9651fbaf
GP
162017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
17
18 * libgomp.texi (Top): www.openacc.org now uses https.
19 (Enabling OpenACC): Ditto.
20 (acc_get_num_devices): Ditto.
21 (acc_set_device_type): Ditto.
22 (acc_get_device_type): Ditto.
23 (acc_set_device_num): Ditto.
24 (acc_get_device_num): Ditto.
25 (acc_async_test): Ditto.
26 (acc_async_test_all): Ditto.
27 (acc_wait): Ditto.
28 (acc_wait_all): Ditto.
29 (acc_wait_all_async): Ditto.
30 (acc_wait_async): Ditto.
31 (acc_init): Ditto.
32 (acc_shutdown): Ditto.
33 (acc_on_device): Ditto.
34 (acc_malloc): Ditto.
35 (acc_free): Ditto.
36 (acc_copyin): Ditto.
37 (acc_present_or_copyin): Ditto.
38 (acc_create): Ditto.
39 (acc_present_or_create): Ditto.
40 (acc_copyout): Ditto.
41 (acc_delete): Ditto.
42 (acc_update_device): Ditto.
43 (acc_update_self): Ditto.
44 (acc_map_data): Ditto.
45 (acc_unmap_data): Ditto.
46 (acc_deviceptr): Ditto.
47 (acc_hostptr): Ditto.
48 (acc_is_present): Ditto.
49 (acc_memcpy_to_device): Ditto.
50 (acc_memcpy_from_device): Ditto.
51 (acc_get_current_cuda_device): Ditto.
52 (acc_get_current_cuda_context): Ditto.
53 (acc_get_cuda_stream): Ditto.
54 (acc_set_cuda_stream): Ditto.
55 (ACC_DEVICE_TYPE): Ditto.
56 (ACC_DEVICE_NUM): Ditto.
57 (OpenACC Library Interoperability): Ditto.
58
50aa16c3
JJ
592017-08-09 Jakub Jelinek <jakub@redhat.com>
60
61 PR c/81687
62 * testsuite/libgomp.c/pr81687-1.c: New test.
63 * testsuite/libgomp.c/pr81687-2.c: New test.
64
56b5041c
JJ
652017-08-07 Jakub Jelinek <jakub@redhat.com>
66
67 PR c/69389
68 * testsuite/libgomp.c/pr69389.c: New test.
69 * testsuite/libgomp.c++/pr69389.C: New test.
70
f4c222c0
TV
712017-08-07 Tom de Vries <tom@codesourcery.com>
72
73 PR middle-end/78266
74 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
75 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
76
a40ff0ae
JJ
772017-07-27 Jakub Jelinek <jakub@redhat.com>
78
79 PR c/45784
80 * testsuite/libgomp.c/pr45784.c: New test.
81 * testsuite/libgomp.c++/pr45784.C: New test.
82
3717fbe3
TV
832017-07-19 Tom de Vries <tom@codesourcery.com>
84
85 * testsuite/libgomp.oacc-c/vec.c: New test.
86
9607b014
TV
872017-07-03 Tom de Vries <tom@codesourcery.com>
88
89 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
90
dfb15f6b
TV
912017-06-27 Tom de Vries <tom@codesourcery.com>
92
93 * plugin/plugin-nvptx.c (notify_var): New function.
94 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
95
22f1a037
TV
962017-06-27 Tom de Vries <tom@codesourcery.com>
97
98 * env.c (parse_unsigned_long_1): Factor out of ...
99 (parse_unsigned_long): ... here.
100 (parse_int_1): Factor out of ...
101 (parse_int): ... here.
102 (parse_int_secure): New function.
103 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
104 * secure_getenv.h: Factor out of ...
105 * plugin/plugin-hsa.c: ... here.
106 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
107
d54d1fc3
JJ
1082017-06-21 Jakub Jelinek <jakub@redhat.com>
109
110 PR c++/81130
111 * testsuite/libgomp.c++/pr81130.C: New test.
112
4f4b0ab8
RO
1132017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
114
115 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
116 default args.
117 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
118 dg-xfail-run-if default args.
119
40ffd95f
BE
1202017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
121
122 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
123 * testsuite/libgomp.c/pr39591-3.c: Likewise.
124
01275e1e
JJ
1252017-05-30 Jakub Jelinek <jakub@redhat.com>
126
127 PR libgomp/80822
128 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
129 (gomp_affinity_init_level): Use it. Always analyze the core and thread
130 sibling lists, depending on level just pick up what CPUs to put
131 together into a place vs. whether add multiple ordered places.
132
78672bd8
TS
1332017-05-24 Thomas Schwinge <thomas@codesourcery.com>
134
7ce64403
TS
135 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
136 * libgomp.map (OACC_2.0.1): Add these.
137 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
138 for "acc_wait", and "acc_wait_all", respectively.
139 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
140 for "acc_wait", and "acc_wait_all", respectively.
141 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
142 * libgomp.texi (acc_wait, acc_wait_all): Update.
143 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
144 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
145 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
146
318686c2
TS
147 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
148 acc_present_or_copyin and acc_present_or_create procedures,
149 respectively.
150 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
151 generally different variants of OpenACC Runtime Library functions.
152 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
153
a6745534
TS
154 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
155 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
156
9b94fbc7
TS
157 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
158 of preprocessor definitions.
159 * libgomp.h (strong_alias): Guard by "#ifdef
160 HAVE_ATTRIBUTE_ALIAS".
161 * oacc-mem.c: Provide "acc_pcreate" as alias for
162 "acc_present_or_create", and "acc_pcopyin" as alias for
163 "acc_present_or_copyin".
164 * libgomp.map: New version "OACC_2.0.1".
165 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
166 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
167 its content into...
168 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
169 Extend testing.
170
78672bd8
TS
171 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
172 when disabling nvptx offloading.
173
0c36d0d5
TS
1742017-05-23 Thomas Schwinge <thomas@codesourcery.com>
175
fd71a9a2
TS
176 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
177 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
178 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
179
0c36d0d5
TS
180 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
181 * testsuite/lib/libgomp.exp
182 (check_effective_target_openacc_nvidia_accel_configured): New
183 proc.
184 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
185 (check_effective_target_c++): New procs.
186 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
187 (check_effective_target_c++): Likewise.
188
c24783c4
JJ
1892017-05-22 Jakub Jelinek <jakub@redhat.com>
190
655e5265
JJ
191 PR middle-end/80809
192 * testsuite/libgomp.c/pr80809-2.c: New test.
193 * testsuite/libgomp.c/pr80809-3.c: New test.
194
e9e2ef9f
JJ
195 PR middle-end/80809
196 * testsuite/libgomp.c/pr80809-1.c: New test.
197
c24783c4
JJ
198 PR middle-end/80853
199 * testsuite/libgomp.c/pr80853.c: New test.
200
0da2f96a
TS
2012017-05-19 Thomas Schwinge <thomas@codesourcery.com>
202
7fd549d2
TS
203 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
204 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
205 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
206 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
207 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
208
0da2f96a
TS
209 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
210 Debug output for failure.
211
62ffe920
RO
2122017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
213
214 * testsuite/lib/libgomp.exp: Load scanlang.exp.
215
f49215b1
JJ
2162017-04-27 Jakub Jelinek <jakub@redhat.com>
217
218 PR bootstrap/80531
219 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
220 bootstrap compare failures.
221
2260d19d
AM
2222017-04-20 Alexander Monakov <amonakov@ispras.ru>
223
224 * testsuite/libgomp.c/target-36.c: New testcase.
225
19929ba9
JJ
2262017-04-13 Jakub Jelinek <jakub@redhat.com>
227
228 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
229 instead of char.
230
fbc698e0
JJ
2312017-04-11 Jakub Jelinek <jakub@redhat.com>
232
233 PR libgomp/80394
234 * testsuite/libgomp.c/pr80394.c: New test.
235
c4060df4
JJ
2362017-04-04 Jakub Jelinek <jakub@redhat.com>
237
238 PR libgomp/79876
239 * config/posix/thread-stacksize.h: New file.
240 * config/darwin/thread-stacksize.h: New file.
241 * config/nvptx/thread-stacksize.h: New file.
242 * env.c: Include thread-stacksize.h.
243 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
244 instead of 0. Call pthread_attr_setstacksize even if
245 GOMP_DEFAULT_STACKSIZE is non-zero.
246
e02d868a
JJ
2472017-03-30 Jakub Jelinek <jakub@redhat.com>
248
249 * env.c (initialize_env): Initialize stacksize to 0.
250
7ba8651e
CP
2512017-03-22 Cesar Philippidis <cesar@codesourcery.com>
252
253 PR c++/80029
254 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
255
eebc5e2d
JJ
2562017-03-08 Jakub Jelinek <jakub@redhat.com>
257
258 PR c/79940
259 * testsuite/libgomp.c/pr79940.c: New test.
260
1eb08f52
RO
2612017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
262
263 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
264 targets.
265 Add __float128 options.
266
b0f78ff3
JDA
2672017-02-11 John David Anglin <danglin@gcc.gnu.org>
268
269 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
270 hppa*-*-* dg-skip-if directive.
271
1bbe0d8f
JJ
2722017-02-09 Jakub Jelinek <jakub@redhat.com>
273
274 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
275 dg-skip-if directive into a comment.
276
02889d23
CLT
2772017-02-09 Nathan Sidwell <nathan@codesourcery.com>
278 Chung-Lin Tang <cltang@codesourcery.com>
279
280 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
281 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
282 add additional case.
283 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
284 "openacc_nvidia_accel_selected".
285 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
286 Add num_workers(8) clause.
287
5896a41d
JDA
2882017-02-08 John David Anglin <danglin@gcc.gnu.org>
289
290 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
291 hppa*-*-*.
292 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
293 include complex.h on hppa*-*-hpux*.
294 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
295
345a8c17
TS
2962017-02-02 Thomas Schwinge <thomas@codesourcery.com>
297
e70ab10d
TS
298 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
299
345a8c17
TS
300 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
301 GOMP_OFFLOAD_openacc_exec. Adjust all users.
302 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
303 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
304 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
305 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
306 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
307 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
308 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
309 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
310
dced339c
TS
3112017-01-31 Thomas Schwinge <thomas@codesourcery.com>
312
313 * libgomp-plugin.h: #include <stdbool.h>.
314 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
315 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
316 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
317 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
318 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
319 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
320 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
321 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
322 (GOMP_OFFLOAD_openacc_register_async_cleanup)
323 (GOMP_OFFLOAD_openacc_async_test)
324 (GOMP_OFFLOAD_openacc_async_test_all)
325 (GOMP_OFFLOAD_openacc_async_wait)
326 (GOMP_OFFLOAD_openacc_async_wait_async)
327 (GOMP_OFFLOAD_openacc_async_wait_all)
328 (GOMP_OFFLOAD_openacc_async_wait_all_async)
329 (GOMP_OFFLOAD_openacc_async_set_async)
330 (GOMP_OFFLOAD_openacc_create_thread_data)
331 (GOMP_OFFLOAD_openacc_destroy_thread_data)
332 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
333 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
334 (GOMP_OFFLOAD_openacc_get_cuda_stream)
335 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
336 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
337 these.
338 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
339 (GOMP_OFFLOAD_unload_image): Fix argument types.
340
23749904
JJ
3412017-01-26 Jakub Jelinek <jakub@redhat.com>
342
c1cadde1
JJ
343 * testsuite/lib/libgomp.exp
344 (check_effective_target_hsa_offloading_selected_nocache): Fix up
345 check_compile invocation. Fix up removal of executable. Drop
346 bogus "2>&1" argument.
347
23749904
JJ
348 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
349 directive.
350
3512017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
352 Martin Jambor <mjambor@suse.cz>
353
354 * plugin/hsa.h: Moved to top level include.
355 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
356
73aa401e
JJ
3572017-01-21 Jakub Jelinek <jakub@redhat.com>
358
359 PR other/79046
360 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
361 of cat to get version from BASE-VER file.
362 * testsuite/Makefile.in: Regenerated.
363
b32e85fa
JJ
3642017-01-19 Jakub Jelinek <jakub@redhat.com>
365
366 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
367 for _WIN64.
368
3c36aa6b
JJ
3692017-01-17 Jakub Jelinek <jakub@redhat.com>
370
d190d5c0
JJ
371 * plugin/hsa.h: Add GCC runtime library exception.
372 * plugin/hsa_ext_finalize.h: Likewise.
373
2393d337
JJ
374 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
375 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
376 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
377 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
378 plugin/include/cuda as include dir and -ldl instead of -lcuda as
379 library to link ptx plugin against.
380 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
381 (CUDA_CALLS): Define.
382 (cuda_lib, cuda_lib_inited): New variables.
383 (init_cuda_lib): New function.
384 (CUDA_CALL_PREFIX): Define.
385 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
386 (CUDA_CALL): Use FN instead of (FN).
387 (CUDA_CALL_NOCHECK): Define.
388 (cuda_error, fini_streams_for_device, select_stream_for_async,
389 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
390 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
391 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
392 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
393 CUDA_CALL_NOCHECK.
394 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
395 CUDA_CALL_NOCHECK.
396 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
397 Use CUDA_CALL_NOCHECK.
398 * plugin/cuda/cuda.h: New file.
399 * config.h.in: Regenerated.
400 * configure: Regenerated.
401
3c36aa6b
JJ
402 PR other/79046
403 * configure.ac: Add GCC_BASE_VER.
404 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
405 get version from BASE-VER file.
406 * testsuite/Makefile.in: Regenerated.
407 * configure: Regenerated.
408 * Makefile.in: Regenerated.
409
c508bc2d
FXC
4102017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
411
412 PR libgomp/60670
413 * Makefile.am: Make fincludedir multilib-aware.
414 * Makefile.in: Regenerate.
415
c1a9c369
JJ
4162017-01-01 Jakub Jelinek <jakub@redhat.com>
417
cbe34bb5
JJ
418 Update copyright years.
419
c1a9c369
JJ
420 * libgomp.texi: Bump @copying's copyright year.
421
e7a7f4be
SH
4222016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
423
424 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
425 pthread_spinlock_t instead of gomp_mutex_t lock.
426 (gomp_get_thread_pool): Likewise.
427 (gomp_release_thread_pool): Likewise.
428 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
429 Likewise.
430
d313d52c
SH
4312016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
432
433 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
434 thread pool in case nthreads == 1.
435
630e3c3a
AM
4362016-11-30 Alexander Monakov <amonakov@ispras.ru>
437
438 * config/nvptx/env.c: Delete.
439 * icv.c: Move definitions of ICV variables back ...
440 * env.c: ...here. Do not compile environment-related functionality if
441 LIBGOMP_OFFLOADED_ONLY is set.
442
9e38af5c
AM
4432016-11-30 Alexander Monakov <amonakov@ispras.ru>
444
445 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
446 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
447 * configure: Regenerate.
448 * config.h.in: Likewise.
449
f96b7f1f
AM
4502016-11-30 Alexander Monakov <amonakov@ispras.ru>
451
452 * Makefile.in: Regenerate with automake-1.11.6.
453 * aclocal.m4: Likewise.
454 * configure: Likewise.
455 * testsuite/Makefile.in: Likewise.
456
6a6951b1
AM
4572016-11-28 Alexander Monakov <amonakov@ispras.ru>
458
459 * config/nvptx/critical.c: Delete to use generic implementation.
460
c7ac071f
JH
4612016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
462
463 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
464 ../../affinity.c as fallback.
465 * config/nvptx/affinity.c: Delete to use fallback implementation.
466
6103184e
AM
4672016-11-23 Alexander Monakov <amonakov@ispras.ru>
468 Jakub Jelinek <jakub@redhat.com>
469 Dmitry Melnik <dm@ispras.ru>
470
471 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
472 * Makefile.in. Regenerate.
473 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
474 (LIBGOMP_USE_PTHREADS): ...here; new define.
475 * configure: Regenerate.
476 * config.h.in: Likewise.
477 * config/posix/affinity.c: Move to...
478 * affinity.c: ...here (new file). Guard use of Pthreads-specific
479 interface by LIBGOMP_USE_PTHREADS.
480 * critical.c: Split out GOMP_atomic_{start,end} into...
481 * atomic.c: ...here (new file).
482 * env.c: Split out ICV definitions into...
483 * icv.c: ...here (new file) and...
484 * icv-device.c: ...here. New file.
485 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
486 (gomp_destroy_lock_30): Ditto.
487 (gomp_set_lock_30): Ditto.
488 (gomp_unset_lock_30): Ditto.
489 (gomp_test_lock_30): Ditto.
490 (gomp_init_nest_lock_30): Ditto.
491 (gomp_destroy_nest_lock_30): Ditto.
492 (gomp_set_nest_lock_30): Ditto.
493 (gomp_unset_nest_lock_30): Ditto.
494 (gomp_test_nest_lock_30): Ditto.
495 * lock.c: New.
496 * config/nvptx/lock.c: New.
497 * config/nvptx/bar.c: New.
498 * config/nvptx/bar.h: New.
499 * config/nvptx/doacross.h: New.
500 * config/nvptx/error.c: New.
501 * config/nvptx/icv-device.c: New.
502 * config/nvptx/mutex.h: New.
503 * config/nvptx/pool.h: New.
504 * config/nvptx/proc.c: New.
505 * config/nvptx/ptrlock.h: New.
506 * config/nvptx/sem.h: New.
507 * config/nvptx/simple-bar.h: New.
508 * config/nvptx/target.c: New.
509 * config/nvptx/task.c: New.
510 * config/nvptx/team.c: New.
511 * config/nvptx/time.c: New.
512 * config/posix/simple-bar.h: New.
513 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
514 (gomp_num_teams_var): Declare.
515 (struct gomp_thread_pool): Change threads_dock member to
516 gomp_simple_barrier_t.
517 [__nvptx__] (gomp_thread): New implementation.
518 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
519 (gomp_thread_destructor): Ditto.
520 (gomp_init_thread_affinity): Ditto.
521 * team.c: Guard uses of Pthreads-specific interfaces by
522 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
523 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
524 * config/nvptx/alloc.c: Delete.
525 * config/nvptx/barrier.c: Ditto.
526 * config/nvptx/fortran.c: Ditto.
527 * config/nvptx/iter.c: Ditto.
528 * config/nvptx/iter_ull.c: Ditto.
529 * config/nvptx/loop.c: Ditto.
530 * config/nvptx/loop_ull.c: Ditto.
531 * config/nvptx/ordered.c: Ditto.
532 * config/nvptx/parallel.c: Ditto.
533 * config/nvptx/priority_queue.c: Ditto.
534 * config/nvptx/sections.c: Ditto.
535 * config/nvptx/single.c: Ditto.
536 * config/nvptx/splay-tree.c: Ditto.
537 * config/nvptx/work.c: Ditto.
538 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
539 -foffload=-lgfortran in addition to -lgfortran.
540 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
541 * plugin/plugin-nvptx.c: Include <limits.h>.
542 (struct targ_fn_descriptor): Add new fields.
543 (struct ptx_device): Ditto. Set them...
544 (nvptx_open_device): ...here.
545 (nvptx_adjust_launch_bounds): New.
546 (nvptx_host2dev): Allow NULL 'nvthd'.
547 (nvptx_dev2host): Ditto.
548 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
549 (link_ptx): Adjust log sizes.
550 (nvptx_host2dev): Allow NULL 'nvthd'.
551 (nvptx_dev2host): Ditto.
552 (nvptx_set_clocktick): New. Use it...
553 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
554 fields.
555 (GOMP_OFFLOAD_dev2dev): New.
556 (nvptx_adjust_launch_bounds): New.
557 (nvptx_stacks_size): New.
558 (nvptx_stacks_alloc): New.
559 (nvptx_stacks_free): New.
560 (GOMP_OFFLOAD_run): New.
561 (GOMP_OFFLOAD_async_run): New (stub).
562
56b1c60e
MJ
5632016-11-23 Martin Jambor <mjambor@suse.cz>
564
565 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
566 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
567 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
568
b8d89b03
ML
5692016-11-23 Martin Liska <mliska@suse.cz>
570 Martin Jambor <mjambor@suse.cz>
571
572 * plugin/hsa.h: New file.
573 * plugin/hsa_ext_finalize.h: New file.
574 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
575 header file unistd.h, and functions secure_getenv, __secure_getenv,
576 getuid, geteuid, getgid and getegid.
577 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
578 -D_GNU_SOURCE.
579 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
580 Handle various cases of secure_getenv presence, add an implementation
581 when we can test effective UID and GID.
582 (struct hsa_runtime_fn_info): New structure.
583 (hsa_runtime_fn_info hsa_fns): New variable.
584 (hsa_runtime_lib): Likewise.
585 (support_cpu_devices): Likewise.
586 (init_enviroment_variables): Load newly introduced ENV
587 variables.
588 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
589 (hsa_fatal): Likewise.
590 (DLSYM_FN): New macro.
591 (init_hsa_runtime_functions): New function.
592 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
593 structure. Depending on environment, also allow CPU devices.
594 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
595 (get_kernarg_memory_region): Likewise.
596 (GOMP_OFFLOAD_init_device): Likewise.
597 (destroy_hsa_program): Likewise.
598 (init_basic_kernel_info): New function.
599 (GOMP_OFFLOAD_load_image): Use it.
600 (create_and_finalize_hsa_program): Call hsa run-time functions via
601 hsa_fns structure.
602 (create_single_kernel_dispatch): Likewise.
603 (release_kernel_dispatch): Likewise.
604 (init_single_kernel): Likewise.
605 (parse_target_attributes): Allow up multiple HSA grid dimensions.
606 (get_group_size): New function.
607 (run_kernel): Likewise.
608 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
609 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
610 structure.
611 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
612 * testsuite/libgomp-test-support.exp.in: Likewise.
613 * Makefile.in: Regenerated.
614 * aclocal.m4: Likewise.
615 * config.h.in: Likewise.
616 * configure: Likewise.
617 * testsuite/Makefile.in: Likewise.
618
18d2ada8
MJ
6192016-11-15 Martin Jambor <mjambor@suse.cz>
620 Alexander Monakov <amonakov@ispras.ru>
621
622 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
623 mapping clauses to target constructs.
624 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
625
84c1b9d3
MK
6262016-11-15 Matthias Klose <doko@ubuntu.com>
627
628 * configure: Regenerate.
629
b4c3a85b
JJ
6302016-11-10 Jakub Jelinek <jakub@redhat.com>
631
8ebd1b31
JJ
632 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
633 * omp_lib.h.in (openmp_version): Likewise.
634 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
635 of 201307.
636 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
637
b4c3a85b
JJ
638 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
639 (fib_wrapper): Add map(from: x) clause.
640 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
641 (e_53_2): Likewise.
642 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
643 (accum): Add map(tmp) clause.
644 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
645 (accum): Add map(tofrom: tmp) clause.
646 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
647 (gramSchmidt): Likewise.
648 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
649 map(tofrom: sum) clause.
650 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
651 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
652 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
653 only allowed on the loop iterator.
654 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
655 * testsuite/libgomp.fortran/taskloop2.f90: New test.
656 * testsuite/libgomp.fortran/taskloop4.f90: New test.
657 * testsuite/libgomp.fortran/doacross1.f90: New test.
658 * testsuite/libgomp.fortran/doacross3.f90: New test.
659 * testsuite/libgomp.fortran/taskloop1.f90: New test.
660 * testsuite/libgomp.fortran/taskloop3.f90: New test.
661 * testsuite/libgomp.fortran/doacross2.f90: New test.
662 * testsuite/libgomp.c/doacross-1.c (main): Add missing
663 #pragma omp atomic read.
664 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
665 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
666
6668eb45
CP
6672016-11-02 Cesar Philippidis <cesar@codesourcery.com>
668 Nathan Sidwell <nathan@acm.org>
669
670 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
671 to determine default geometry.
672 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
673 dimension.
674
f10e37a1
JJ
6752016-11-01 Jakub Jelinek <jakub@redhat.com>
676
677 * hashtab.h: Use standard GPLv3 with runtime exception
678 boilerplate.
679
015c7760
AH
6802016-10-27 Aldy Hernandez <aldyh@redhat.com>
681
682 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
683 size when allocating new thread.
684
20a1e5b8
MP
6852016-09-14 Marek Polacek <polacek@redhat.com>
686
687 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
688
1cad9284
JJ
6892016-08-19 Jakub Jelinek <jakub@redhat.com>
690
691 PR fortran/71014
692 * testsuite/libgomp.fortran/pr71014.f90: New test.
693
2c71d454
CLT
6942016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
695
696 PR middle-end/70895
697 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
698 firstprivate clauses.
699 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
700 copy clauses.
701 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
702 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
703 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
704 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
705 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
706 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
707 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
708 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
709 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
710 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
711 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
712 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
713
7c713714
CLT
7142016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
715
716 PR fortran/70598
717 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
718
5c934396
JJ
7192016-08-08 Jakub Jelinek <jakub@redhat.com>
720
721 PR c++/58706
722 * testsuite/libgomp.c++/pr58706.C: New test.
723
9ef64248
TS
7242016-08-04 Thomas Schwinge <thomas@codesourcery.com>
725
bbc79c0e
TS
726 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
727 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
728 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
729 Likewise.
730 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
731 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
732 Likewise.
733 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
734
9ef64248
TS
735 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
736 test, and don't hardcode -O0.
737
c1311c86
NS
7382016-08-03 Nathan Sidwell <nathan@codesourcery.com>
739
740 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
741
b1c9c068
CP
7422016-07-15 Cesar Philippidis <cesar@codesourcery.com>
743
744 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
745 test.
746
b4410f63
L
7472016-07-03 H.J. Lu <hongjiu.lu@intel.com>
748
749 PR middle-end/71734
750 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
751 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
752
a8dbab92
JJ
7532016-07-01 Jakub Jelinek <jakub@redhat.com>
754
755 PR fortran/71717
756 * testsuite/libgomp.fortran/associate3.f90: New test.
757
9b6a8d0f
JJ
7582016-06-17 Jakub Jelinek <jakub@redhat.com>
759
760 * testsuite/libgomp.c++/target-21.C: New test.
761
283635f9
JJ
7622016-06-16 Jakub Jelinek <jakub@redhat.com>
763
764 * testsuite/libgomp.c++/target-20.C: New test.
765
27d6ba88
TS
7662016-06-10 Thomas Schwinge <thomas@codesourcery.com>
767 Cesar Philippidis <cesar@codesourcery.com>
768
769 PR middle-end/71373
770 * libgomp.oacc-c/nested-function-1.c: New file.
771 * libgomp.oacc-c/nested-function-2.c: Likewise.
772 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
773 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
774 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
775
4b1ffdb1
TS
7762016-06-10 Thomas Schwinge <thomas@codesourcery.com>
777
778 PR c/71381
779 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
780 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
781 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
782
d821b794
CLT
7832016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
784
785 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
786 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
787
3616a8c5
CP
7882016-06-01 Cesar Philippidis <cesar@codesourcery.com>
789
790 PR c/70688
5eed9a88 791 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 792
7211a097
JJ
7932016-05-26 Jakub Jelinek <jakub@redhat.com>
794
795 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
796 instead of invalid schedule(static, 0).
797 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
798
b4557008
CLT
7992016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
800
801 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
802 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
803 parameter, use to set async stream around call to gomp_unmap_vars,
804 call gomp_unmap_vars() with 'do_copyfrom' set to true.
805 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
806 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
807 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
808 (event_add): Add int parameter, initialize 'val' field when
809 adding new ptx_event struct.
810 (nvptx_evec): Adjust event_add() call arguments.
811 (nvptx_host2dev): Likewise.
812 (nvptx_dev2host): Likewise.
813 (nvptx_wait_async): Likewise.
814 (nvptx_wait_all_async): Likewise.
815 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
816 pass to event_add() call.
817 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
818 parameter.
819 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
820 call openacc.register_async_cleanup_func() hook.
821 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
822 * target.c (gomp_copy_from_async): Delete function.
823 (gomp_map_vars): Remove async_refcount.
824 (gomp_unmap_vars): Likewise.
825 (gomp_load_image_to_device): Likewise.
826 (omp_target_associate_ptr): Likewise.
827 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
828 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
829 (gomp_copy_from_async): Remove.
830
6ce13072
CLT
8312016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
832
833 * target.c (gomp_device_copy): New function.
834 (gomp_copy_host2dev): Likewise.
835 (gomp_copy_dev2host): Likewise.
836 (gomp_free_device_memory): Likewise.
837 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
838 (gomp_map_pointer): Likewise.
839 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
840 NULL value from alloc_func plugin hook.
841 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
842 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
843 (gomp_unmap_vars): Likewise.
844 (gomp_update): Adjust to call gomp_copy_dev2host and
845 gomp_copy_host2dev functions.
846 (gomp_unload_image_from_device): Handle false value from
847 unload_image_func plugin hook.
848 (gomp_init_device): Handle false value from init_device_func
849 plugin hook.
850 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
851 (omp_target_free): Adjust to call gomp_free_device_memory.
852 (omp_target_memcpy): Handle return values from host2dev_func,
853 dev2host_func, and dev2dev_func plugin hooks.
854 (omp_target_memcpy_rect_worker): Likewise.
855 (gomp_target_fini): Handle false value from fini_device_func
856 plugin hook.
857 * libgomp.h (struct gomp_device_descr): Adjust return type of
858 init_device_func, fini_device_func, unload_image_func, free_func,
859 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
860 * oacc-init.c (acc_shutdown_1): Handle false value from
861 fini_device_func plugin hook.
862 * oacc-host.c (host_init_device): Change return type to bool.
863 (host_fini_device): Likewise.
864 (host_unload_image): Likewise.
865 (host_free): Likewise.
866 (host_dev2host): Likewise.
867 (host_host2dev): Likewise.
868 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
869 (acc_memcpy_to_device): Likewise.
870 (acc_memcpy_from_device): Likewise.
871 (delete_copyout): Add libfnname parameter, handle free_func
872 hook fatal error case.
873 (acc_delete): Adjust delete_copyout call.
874 (acc_copyout): Likewise.
875 (update_dev_host): Move gomp_mutex_unlock to after
876 host2dev/dev2host hook calls.
877
878 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
879 to 'hsa_error_msg', for clarity.
880 (hsa_fatal): Likewise.
881 (hsa_error): New function.
882 (init_hsa_context): Change return type to bool, adjust to return
883 false on error.
884 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
885 return value.
886 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
887 return false on error.
888 (get_agent_info): Adjust to return NULL on error.
889 (destroy_hsa_program): Change return type to bool, adjust to
890 return false on error.
891 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
892 (destroy_module): Change return type to bool, adjust to
893 return false on error.
894 (GOMP_OFFLOAD_unload_image): Likewise.
895 (GOMP_OFFLOAD_fini_device): Likewise.
896 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
897 (GOMP_OFFLOAD_free): Change to return false when called.
898 (GOMP_OFFLOAD_dev2host): Likewise.
899 (GOMP_OFFLOAD_host2dev): Likewise.
900 (GOMP_OFFLOAD_dev2dev): Likewise.
901
902 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
903 (CUDA_CALL): Likewise.
904 (CUDA_CALL_ASSERT): Likewise.
905 (map_init): Change return type to bool, use CUDA_CALL* macros.
906 (map_fini): Likewise.
907 (init_streams_for_device): Change return type to bool, adjust
908 call to map_init.
909 (fini_streams_for_device): Change return type to bool, adjust
910 call to map_fini.
911 (select_stream_for_async): Release stream_lock before calls to
912 GOMP_PLUGIN_fatal, adjust call to map_init.
913 (nvptx_init): Use CUDA_CALL* macros.
914 (nvptx_attach_host_thread_to_device): Change return type to bool,
915 use CUDA_CALL* macros.
916 (nvptx_open_device): Use CUDA_CALL* macros.
917 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
918 macros.
919 (nvptx_get_num_devices): Use CUDA_CALL* macros.
920 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
921 (nvptx_exec): Use CUDA_CALL* macros.
922 (nvptx_alloc): Use CUDA_CALL* macros.
923 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
924 (nvptx_host2dev): Likewise.
925 (nvptx_dev2host): Likewise.
926 (nvptx_wait): Use CUDA_CALL* macros.
927 (nvptx_wait_async): Likewise.
928 (nvptx_wait_all): Likewise.
929 (nvptx_wait_all_async): Likewise.
930 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
931 use CUDA_CALL* macros, adjust call to map_fini.
932 (GOMP_OFFLOAD_init_device): Change return type to bool,
933 adjust code accordingly.
934 (GOMP_OFFLOAD_fini_device): Likewise.
935 (GOMP_OFFLOAD_load_image): Adjust calls to
936 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
937 use CUDA_CALL* macros.
938 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
939 return code.
940 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
941 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
942 handle error return.
943 (GOMP_OFFLOAD_dev2host): Likewise.
944 (GOMP_OFFLOAD_host2dev): Likewise.
945 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
946 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
947
e46c7770
CP
9482016-05-24 Cesar Philippidis <cesar@codesourcery.com>
949
950 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
951 (acc_free): Likewise.
952 (acc_memcpy_to_device): Likewise.
953 (acc_memcpy_from_device): Likewise.
954 (acc_deviceptr): Likewise.
955 (acc_hostptr): Likewise.
956 (acc_is_present): Likewise.
957 (acc_map_data): Likewise.
958 (acc_unmap_data): Likewise.
959 (present_create_copy): Likewise.
960 (delete_copyout): Likewise.
961 (update_dev_host): Likewise.
962 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
963 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
964 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
965 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
966 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
967 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
968 it only runs on nvptx targets.
969 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
970 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
971 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
972 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
973 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
974 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
975 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
976 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
977 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
978 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
979 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
980 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
981 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
982 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
983 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
984 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
985 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
986 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
987 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
988 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
989 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
990 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
991 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
992
a5057543
MJ
9932016-05-23 Martin Jambor <mjambor@suse.cz>
994
995 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
996
e37288a6
CLT
9972016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
998
999 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
1000 to gomp_init_targets_once.
1001 (acc_set_device_type): Remove !cached_base_dev condition on call to
1002 gomp_init_targets_once, move call to before acc_device_lock acquire,
1003 to avoid deadlock.
1004 (acc_get_device_num): Remove !cached_base_dev condition on call to
1005 gomp_init_targets_once.
1006 (acc_set_device_num): Likewise.
1007
51d9ed48
MJ
10082016-05-16 Martin Jambor <mjambor@suse.cz>
1009
1010 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
1011
5b37e866
NS
10122016-05-02 Nathan Sidwell <nathan@codesourcery.com>
1013
1014 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
1015 expected partitioning.
1016
e7ff0319
CP
10172016-04-29 Cesar Philippidis <cesar@codesourcery.com>
1018
1019 PR middle-end/70626
1020 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
1021 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
1022 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
1023
c2bd3b69
AM
10242016-04-21 Alexander Monakov <amonakov@ispras.ru>
1025
1026 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
1027 non-fatal.
1028
84311083
JJ
10292016-04-19 Jakub Jelinek <jakub@redhat.com>
1030
1031 PR middle-end/70680
1032 * testsuite/libgomp.c/pr70680-1.c: New test.
1033 * testsuite/libgomp.c/pr70680-2.c: New test.
1034
aadc043f
CP
10352016-04-14 Cesar Philippidis <cesar@codesourcery.com>
1036
1037 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
1038 pass parameter variables to subroutines.
1039
e387fc64
CP
10402016-04-14 Cesar Philippidis <cesar@codesourcery.com>
1041
1042 PR middle-end/70643
1043 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
1044
10c3c424
CP
10452016-04-13 Cesar Philippidis <cesar@codesourcery.com>
1046
1047 PR testsuite/68242
1048 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
1049 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1050
27f9add3
TS
10512016-04-12 Thomas Schwinge <thomas@codesourcery.com>
1052
58d32aeb
TS
1053 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
1054 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
1055 GOACC_declare prototype.
1056
d97633ef
TS
1057 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
1058 Merge this file, and...
1059 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
1060 ... this file, and...
1061 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
1062 ... this file, and...
1063 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
1064 ... this file, and...
1065 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
1066 ... this file, and...
1067 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
1068 ... this file, and...
1069 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
1070 ... this file, and...
1071 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
1072 ... this file, and...
1073 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
1074 ... this file, and...
1075 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
1076 ... this file, and...
1077 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
1078 ... this file, and...
1079 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
1080 ... this file, and...
1081 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
1082 ... this file into...
1083 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
1084 file.
1085
27f9add3
TS
1086 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
1087 Make failure observable.
1088
21f3a236
JJ
10892016-04-12 Jakub Jelinek <jakub@redhat.com>
1090
1091 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
1092 field.
1093 * target.c (gomp_target_fallback_firstprivate,
1094 gomp_target_unshare_firstprivate): Removed.
1095 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
1096 before waiting for dependencies.
1097 (gomp_target_task_fn): Don't copy firstprivate vars here.
1098 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
1099 firstprivate_copies here.
1100 (gomp_create_target_task): Don't initialize firstprivate_copies field.
1101 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
1102 explicit/implicit firstprivate.
1103
c42cfb5c
CP
11042016-04-08 Cesar Philippidis <cesar@codesourcery.com>
1105
1106 PR lto/70289
1107 PR ipa/70348
1108 PR tree-optimization/70373
1109 PR middle-end/70533
1110 PR middle-end/70534
1111 PR middle-end/70535
1112 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
1113 test.
1114 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
1115 test.
1116 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
1117 test.
1118 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
1119 test.
1120 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
1121 test.
1122 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
1123 test.
1124 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
1125 test.
1126 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
1127 test.
1128 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
1129 test.
1130 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
1131 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
1132 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
1133 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
1134 test.
1135 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
1136 test.
1137 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
1138 test.
1139 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
1140 test.
1141 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
1142 coverage.
1143 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
1144 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
1145 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
1146 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
1147 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
1148 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
1149 coverage.
1150 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
1151 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1152 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1153 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
1154 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
1155 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
1156 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
1157 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
1158 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
1159 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
1160 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
1161 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
1162 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1163 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1164 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
1165
2620c80d
TS
11662016-03-30 Thomas Schwinge <thomas@codesourcery.com>
1167 James Norris <jnorris@codesourcery.com>
1168 Nathan Sidwell <nathan@codesourcery.com>
1169 Julian Brown <julian@codesourcery.com>
1170 Cesar Philippidis <cesar@codesourcery.com>
1171 Chung-Lin Tang <cltang@codesourcery.com>
1172 Tom de Vries <tom@codesourcery.com>
1173
1174 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
1175 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
1176 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
1177 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
1178 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1179 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1180 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1181 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
1182 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
1183 XFAIL.
1184 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
1185 Incorporate...
1186 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
1187 file.
1188 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
1189 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
1190 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
1191 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
1192 Likewise.
1193 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
1194 Likewise.
1195 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
1196 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
1197 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
1198 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
1199 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
1200 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
1201 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
1202 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
1203 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1204 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
1205 Likewise.
1206 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
1207 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1208 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
1209 file...
1210 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
1211 file into...
1212 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
1213 file. Update.
1214 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
1215 file.
1216 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
1217 Likewise.
1218 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
1219 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
1220 ... this new file. Update.
1221 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
1222 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
1223 ... this new file. Update.
1224 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
1225 file. Incorporate...
1226 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
1227 file, and...
1228 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
1229 file, and...
1230 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
1231 file.
1232 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
1233
ce83104b
TS
12342016-03-29 Thomas Schwinge <thomas@codesourcery.com>
1235
1236 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
1237 set-torture-options.
1238
6e0df3b7
TS
12392016-03-24 Thomas Schwinge <thomas@codesourcery.com>
1240
1241 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
1242 gcc-dg-runtest.
1243 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1244 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
1245 -fno-builtin-acc_on_device instead of -O0.
1246 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
1247 -O0.
1248 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
1249 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
1250 Likewise.
1251 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
1252 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
1253 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
1254 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1255 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1256 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1257 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1258 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1259 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1260 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1261 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1262 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1263 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
1264 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
1265 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
1266 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1267 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
1268 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
1269 Don't specify -O2.
1270 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
1271 Likewise.
1272 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
1273 Likewise.
1274
f9c8babb
ML
12752016-03-24 Martin Liska <mliska@suse.cz>
1276
1277 * plugin/plugin-hsa.c (packet_store_release): New function
1278 that is taken from the HSA runtime manual.
1279 (GOMP_OFFLOAD_run): Use the function.
1280
04833609
JJ
12812016-03-23 Jakub Jelinek <jakub@redhat.com>
1282
1283 PR c++/70376
1284 * testsuite/libgomp.c++/pr70376.C: New test.
1285
d79ee524
TV
12862016-03-23 Tom de Vries <tom@codesourcery.com>
1287
1288 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
1289 initialization of lresult and lvresult.
1290 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
1291
b6d1f2b5
JN
12922016-03-23 James Norris <jnorris@codesourcery.com>
1293 Daichi Fukuoka <dc-fukuoka@sgi.com>
1294
1295 PR libgomp/69414
1296 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
1297 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
1298 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
1299 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
1300
7397fce2
ML
13012016-03-23 Martin Liska <mliska@suse.cz>
1302
1303 PR hsa/70337
1304 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
1305 argument just in case a dispatched kernel uses that argument.
1306
ee2e7d51
TS
13072016-03-16 Thomas Schwinge <thomas@codesourcery.com>
1308
1309 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
1310 -ftree-parallelize-loops/-fopenacc changes.
1311 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
1312 Likewise.
1313 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
1314 Likewise.
1315 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
1316 Likewise.
1317 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
1318 Likewise.
1319 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
1320 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
1321
be9f7143
TS
13222016-03-13 Thomas Schwinge <thomas@codesourcery.com>
1323
1324 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
1325 always_ld_library_path the path to libgcc_s.
1326
f6c1032d
CP
13272016-03-10 Cesar Philippidis <cesar@codesourcery.com>
1328
1329 PR testsuite/70009
1330 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
1331
5a6452e6
TV
13322016-03-09 Tom de Vries <tom@codesourcery.com>
1333
1334 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
1335 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
1336 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
1337 Same.
1338 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
1339 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
1340 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
1341 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
1342
96a71bd5
MJ
13432016-03-07 Martin Jambor <mjambor@suse.cz>
1344
1345 * testsuite/lib/libgomp.exp
1346 (check_effective_target_hsa_offloading_selected_nocache): New.
1347 (check_effective_target_hsa_offloading_selected): Likewise.
1348 * testsuite/libgomp.hsa.c/c.exp: Likewise.
1349 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
1350 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
1351 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
1352 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
1353 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
1354 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
1355 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
1356 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
1357 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
1358 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
1359 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
1360 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
1361 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
1362 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
1363 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
1364 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
1365
02e0b5b2
MJ
13662016-03-07 Martin Jambor <mjambor@suse.cz>
1367
1368 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
1369 non-shared memory accelerators.
1370 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
1371 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
1372 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
1373 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
1374 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
1375 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
1376 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
1377 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
1378 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
1379
45548f30
MJ
13802016-03-07 Martin Jambor <mjambor@suse.cz>
1381
1382 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
1383 ALWAYS_CFLAGS.
1384
da3d46cb
JJ
13852016-03-02 Jakub Jelinek <jakub@redhat.com>
1386
1387 PR libgomp/69555
1388 * testsuite/libgomp.c++/pr69555-1.C: New test.
1389 * testsuite/libgomp.c++/pr69555-2.C: New test.
1390
622174b2
KM
13912016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
1392 Martin Jambor <mjambor@suse.cz>
1393
1394 * testsuite/lib/libgomp.exp
1395 (check_effective_target_offload_device_shared_as): New proc.
1396 * testsuite/libgomp.c++/declare_target-1.C: New test.
1397
e6861a99
IV
13982016-02-25 Ilya Verbin <ilya.verbin@intel.com>
1399
1400 PR driver/68463
1401 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
1402
f99c3557
TS
14032016-02-23 Thomas Schwinge <thomas@codesourcery.com>
1404
1405 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
1406 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
1407 dims.
1408 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
1409 -ftree-parallelize-loops/-fopenacc changes.
1410 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
1411 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
1412 Likewise.
1413 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
1414 Likewise.
1415 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
1416 Likewise.
1417 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
1418 Likewise.
1419 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
1420 Likewise.
1421 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
1422 Likewise.
1423 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
1424 Likewise.
1425 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
1426 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
1427 Likewise.
1428 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
1429 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
1430 Likewise.
1431 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
1432 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
1433 Likewise.
1434
d5ace3b5
CP
14352016-02-22 Cesar Philippidis <cesar@codesourcery.com>
1436
1437 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
1438
f3609a89
JJ
14392016-02-19 Jakub Jelinek <jakub@redhat.com>
1440
1441 PR driver/69805
1442 * testsuite/libgomp.c/pr69805.c: New test.
1443
2175df99
TV
14442016-02-16 Tom de Vries <tom@codesourcery.com>
1445
1446 PR lto/67709
1447 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
1448
17b6426c
TV
14492016-02-09 Tom de Vries <tom@codesourcery.com>
1450
1451 PR tree-optimization/69599
1452 * testsuite/libgomp.c/omp-nested-3.c: New test.
1453 * testsuite/libgomp.c/pr46032-2.c: New test.
1454 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
1455 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
1456
34df756c
TV
14572016-02-09 Tom de Vries <tom@codesourcery.com>
1458
1459 PR lto/69707
1460 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
1461
5854ee30
AM
14622016-02-02 Alexander Monakov <amonakov@ispras.ru>
1463
1464 * testsuite/libgomp.c/target-31.c: Fix testcase.
1465
e70b6ad7
AM
14662016-02-02 Alexander Monakov <amonakov@ispras.ru>
1467
1468 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
1469 clause.
1470 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
1471 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
1472 reduction and map clauses.
1473 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
1474
bd78a45f
JN
14752016-02-02 James Norris <jnorris@codesourcery.com>
1476
1477 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
1478
41d809d3
TS
14792016-02-02 Thomas Schwinge <thomas@codesourcery.com>
1480
18f60146
TS
1481 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
1482 * oacc-parallel.c (GOACC_host_data): Remove function definition.
1483
1a06f5e6
TS
1484 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
1485 cases.
1486
033ff3d1
TS
1487 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
1488 variables.
1489 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
1490 (hsa_kmt_lib): Set variables.
1491 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
1492 always_ld_library_path.
1493 * Makefile.in: Regenerate.
1494 * configure: Likewise.
1495 * testsuite/Makefile.in: Likewise.
1496
4a88d9b7
TS
1497 * plugin/configfrag.ac (offload_additional_options)
1498 (offload_additional_lib_paths): Don't amend for hsa offloading.
1499 * configure: Regenerate.
1500
41d809d3
TS
1501 * plugin/configfrag.ac: Don't configure for offloading target if
1502 we don't build the corresponding plugin.
1503 * configure: Regenerate.
1504
b6adbb9f
NS
15052016-02-01 Nathan Sidwell <nathan@codesourcery.com>
1506
1507 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
1508 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
1509
8dfdb419
TV
15102016-01-26 Tom de Vries <tom@codesourcery.com>
1511
1512 PR tree-optimization/69110
1513 * testsuite/libgomp.c/pr69110.c: New test.
1514
02ef53f2
RB
15152016-01-25 Richard Biener <rguenther@suse.de>
1516
1517 PR lto/69393
1518 * testsuite/libgomp.c++/pr69393.C: New testcase.
1519
eb4048f2
IV
15202016-01-22 Ilya Verbin <ilya.verbin@intel.com>
1521
1522 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
1523 function wasn't mapped to the device with non-shared memory.
1524
b235cdd5
IV
15252016-01-20 Ilya Verbin <ilya.verbin@intel.com>
1526
1527 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
1528
b2b40051
MJ
15292016-01-19 Martin Jambor <mjambor@suse.cz>
1530 Martin Liska <mliska@suse.cz>
1531
1532 * plugin/Makefrag.am: Add HSA plugin requirements.
1533 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
1534 (HSA_RUNTIME_LIB): Likewise.
1535 (HSA_RUNTIME_CPPFLAGS): Likewise.
1536 (HSA_RUNTIME_INCLUDE): New substitution.
1537 (HSA_RUNTIME_LIB): Likewise.
1538 (HSA_RUNTIME_LDFLAGS): Likewise.
1539 (hsa-runtime): New configure option.
1540 (hsa-runtime-include): Likewise.
1541 (hsa-runtime-lib): Likewise.
1542 (PLUGIN_HSA): New substitution variable.
1543 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
1544 configure options.
1545 (PLUGIN_HSA_CPPFLAGS): Likewise.
1546 (PLUGIN_HSA_LDFLAGS): Likewise.
1547 (PLUGIN_HSA_LIBS): Likewise.
1548 Check that we have access to HSA run-time.
1549 * libgomp-plugin.h (offload_target_type): New element
1550 OFFLOAD_TARGET_TYPE_HSA.
1551 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
1552 args.
1553 (bool gomp_create_target_task): Updated.
1554 (gomp_device_descr): Extra parameter of run_func and async_run_func,
1555 new field can_run_func.
1556 * libgomp_g.h (GOMP_target_ext): Update prototype.
1557 * oacc-host.c (host_run): Added a new parameter args.
1558 * target.c (calculate_firstprivate_requirements): New function.
1559 (copy_firstprivate_data): Likewise.
1560 (gomp_target_fallback_firstprivate): Use them.
1561 (gomp_target_unshare_firstprivate): New function.
1562 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
1563 devices.
1564 (GOMP_target): Do host fallback for all shared memory devices. Do not
1565 pass any args to plugins.
1566 (GOMP_target_ext): Introduce device-specific argument parameter args.
1567 Allow host fallback if device shares memory. Do not remap data if
1568 device has shared memory.
1569 (gomp_target_task_fn): Likewise. Also treat shared memory devices
1570 like host fallback for mappings.
1571 (GOMP_target_data): Treat shared memory devices like host fallback.
1572 (GOMP_target_data_ext): Likewise.
1573 (GOMP_target_update): Likewise.
1574 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
1575 gomp_create_target_task.
1576 (GOMP_target_enter_exit_data): Likewise.
1577 (omp_target_alloc): Treat shared memory devices like host fallback.
1578 (omp_target_free): Likewise.
1579 (omp_target_is_present): Likewise.
1580 (omp_target_memcpy): Likewise.
1581 (omp_target_memcpy_rect): Likewise.
1582 (omp_target_associate_ptr): Likewise.
1583 (gomp_load_plugin_for_device): Also load can_run.
1584 * task.c (GOMP_PLUGIN_target_task_completion): Free
1585 firstprivate_copies.
1586 (gomp_create_target_task): Accept new argument args and store it to
1587 ttask.
1588 * plugin/plugin-hsa.c: New file.
1589
5d7804a9
TV
15902016-01-18 Tom de Vries <tom@codesourcery.com>
1591
1592 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
1593 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
1594 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
1595 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
1596 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
1597 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
1598 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
1599 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
1600 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
1601 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
1602 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
1603 Same.
1604 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
1605 Same.
1606 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
1607 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
1608 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
1609 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
1610 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
1611 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
1612 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
1613 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
1614 Same.
1615 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
1616
cb11f3cf
JJ
16172016-01-15 Jakub Jelinek <jakub@redhat.com>
1618
1619 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
1620
33a126a6
CP
16212016-01-15 Cesar Philippidis <cesar@codesourcery.com>
1622
1623 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
1624
cdf6119d
JN
16252016-01-12 James Norris <jnorris@codesourcery.com>
1626
1627 * libgomp.texi: Updates for OpenACC.
1628
0d58938e
AM
16292016-01-11 Alexander Monakov <amonakov@ispras.ru>
1630
1631 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
1632
95918b49
L
16332016-01-07 H.J. Lu <hongjiu.lu@intel.com>
1634
1635 PR fortran/66680
1636 * testsuite/libgomp.fortran/pr66680.f90: New test.
1637
8fc708b7
JJ
16382016-01-07 Jakub Jelinek <jakub@redhat.com>
1639
1640 PR middle-end/68960
1641 * testsuite/libgomp.c/pr68960.c: New test.
1642
e9b596c1
NS
16432016-01-06 Nathan Sidwell <nathan@acm.org>
1644
1a14faf2 1645 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
1646 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
1647
21fa2a29
JJ
16482016-01-04 Jakub Jelinek <jakub@redhat.com>
1649
818ab71a
JJ
1650 Update copyright years.
1651
21fa2a29
JJ
1652 * libgomp.texi: Bump @copying's copyright year.
1653
9310efbc
NS
16542015-12-31 Nathan Sidwell <nathan@acm.org>
1655
1656 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
1657 dg-additional-options syntax.
1658 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
1659 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
1660 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
1661 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
1662 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
1663 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
1664 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
1665 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
1666 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
1667 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
1668 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
1669 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
1670 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
1671 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
1672 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
1673 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
1674 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
1675 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
1676
4a38b02b
IV
16772015-12-15 Ilya Verbin <ilya.verbin@intel.com>
1678
1679 * libgomp.h (REFCOUNT_LINK): Define.
1680 (struct splay_tree_key_s): Add link_key.
1681 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
1682 Replace target address of the pointer with target address of newly
1683 mapped object in the splay tree. Set link pointer on target to the
1684 device address of the mapped object.
1685 (gomp_unmap_vars): Restore target address of the pointer in the splay
1686 tree for REFCOUNT_LINK objects after unmapping.
1687 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
1688 declare target link" objects.
1689 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
1690 "omp declare target link" objects, which were mapped for the image.
1691 (gomp_exit_data): Restore target address of the pointer in the splay
1692 tree for REFCOUNT_LINK objects after unmapping.
1693 * testsuite/libgomp.c/target-link-1.c: New file.
1694
d84ffc0a
IV
16952015-12-14 Ilya Verbin <ilya.verbin@intel.com>
1696
1697 * libgomp.h (gomp_device_state): New enum.
1698 (struct gomp_device_descr): Replace is_initialized with state.
1699 (gomp_fini_device): Remove declaration.
1700 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
1701 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
1702 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
1703 (acc_set_device_type): Use state instead of is_initialized.
1704 (acc_set_device_num): Likewise.
1705 * target.c (resolve_device): Use state instead of is_initialized.
1706 Do not initialize finalized device.
1707 (gomp_map_vars): Do nothing if device is finalized.
1708 (gomp_unmap_vars): Likewise.
1709 (gomp_update): Likewise.
1710 (GOMP_offload_register_ver): Use state instead of is_initialized.
1711 (GOMP_offload_unregister_ver): Likewise.
1712 (gomp_init_device): Likewise.
1713 (gomp_unload_device): Likewise.
1714 (gomp_fini_device): Remove.
1715 (gomp_get_target_fn_addr): Do nothing if device is finalized.
1716 (GOMP_target): Go to host fallback if device is finalized.
1717 (GOMP_target_ext): Likewise.
1718 (gomp_exit_data): Do nothing if device is finalized.
1719 (gomp_target_task_fn): Go to host fallback if device is finalized.
1720 (gomp_target_fini): New static function.
1721 (gomp_target_init): Use state instead of is_initialized.
1722 Call gomp_target_fini at exit.
1723
76680678
TV
17242015-12-09 Tom de Vries <tom@codesourcery.com>
1725
1726 PR tree-optimization/68716
1727 * testsuite/libgomp.c/omp-nested-2.c: New test.
1728
ff7a55bf
TS
17292015-12-02 Thomas Schwinge <thomas@codesourcery.com>
1730
1731 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
1732 target openacc_nvidia_accel_selected.
1733 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
1734 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
1735 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
1736 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
1737
37d5ad46
JB
17382015-12-01 Julian Brown <julian@codesourcery.com>
1739 James Norris <James_Norris@mentor.com>
1740
1741 * oacc-parallel.c (GOACC_host_data): New function.
1742 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
1743 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
1744 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
1745 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
1746 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
1747 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
1748 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
1749
db941d7e
CP
17502015-11-30 James Norris <jnorris@codesourcery.com>
1751 Cesar Philippidis <cesar@codesourcery.com>
1752
1753 libgomp/
1754 * libgomp.oacc-fortran/routine-5.f90: New test.
1755 * libgomp.oacc-fortran/routine-7.f90: New test.
1756 * libgomp.oacc-fortran/routine-9.f90: New test.
1757
e0ca27c5
TV
17582015-11-30 Tom de Vries <tom@codesourcery.com>
1759
1760 PR tree-optimization/46032
1761 * testsuite/libgomp.c/pr46032.c: New test.
1762
aec17bfe
JJ
17632015-11-27 Jakub Jelinek <jakub@redhat.com>
1764
8e4e4719
JJ
1765 PR libgomp/68579
1766 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
1767 (gomp_create_target_task): Call it before freeing
1768 GOMP_TARGET_TASK_DATA tasks.
1769
aec17bfe
JJ
1770 PR c/63326
1771 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
1772 in between case label and OpenMP standalone directives.
1773 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
1774
6cfe90e6
DE
17752015-11-26 David Edelsohn <dje.gcc@gmail.com>
1776
1777 * configure: Regenerate.
1778
0e65fd7d
JJ
17792015-11-26 Jakub Jelinek <jakub@redhat.com>
1780
1781 * testsuite/libgomp.c/target-35.c: New test.
1782
dc7a8b4b
JN
17832015-11-22 James Norris <jnorris@codesourcery.com>
1784 Cesar Philippidis <cesar@codesourcery.com>
1785
1786 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
1787 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
1788 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
1789 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
1790 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
1791
48a78aee
JJ
17922015-11-20 Jakub Jelinek <jakub@redhat.com>
1793
1794 PR middle-end/68221
1795 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
1796 * testsuite/libgomp.c/reduction-12.c: Likewise.
1797 * testsuite/libgomp.c++/reduction-11.C: Likewise.
1798 * testsuite/libgomp.c++/reduction-12.C: Likewise.
1799
2d256816
NS
18002015-11-19 Nathan Sidwell <nathan@codesourcery.com>
1801
1802 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
1803 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
1804 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
1805 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
1806 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
1807 and fix.
1808 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
1809 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
1810
33f47f42
NS
18112015-11-18 Nathan Sidwell <nathan@codesourcery.com>
1812
1813 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
1814 worker & gang cases.
1815 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
1816
3d7bfee0
CP
18172015-11-17 Cesar Philippidis <cesar@codesourcery.com>
1818
1819 * config/nvptx/priority_queue.c: New file.
1820
00b9bd52
JJ
18212015-11-14 Jakub Jelinek <jakub@redhat.com>
1822
1823 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
1824 sections.
1825
e4606348
JJ
18262015-11-14 Jakub Jelinek <jakub@redhat.com>
1827 Aldy Hernandez <aldyh@redhat.com>
1828 Ilya Verbin <ilya.verbin@intel.com>
1829
1830 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
1831 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
1832 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
1833 iterators or IV by chunk size.
1834 * parallel.c (gomp_resolve_num_threads): Don't assume that
1835 if thr->ts.team is non-NULL, then pool must be non-NULL.
1836 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
1837 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
1838 GOMP_PLUGIN_target_task_completion.
1839 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
1840 * Makefile.in: Regenerate.
1841 * libgomp.h: Shuffle prototypes and forward definitions around so
1842 priority queues can be defined.
1843 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
1844 (enum gomp_target_task_state): New enum.
1845 (struct gomp_target_task): Add state, tgt, task and team fields.
1846 (gomp_create_target_task): Change return type to bool, add
1847 state argument.
1848 (gomp_target_task_fn): Change return type to bool.
1849 (struct gomp_device_descr): Add async_run_func.
1850 (struct gomp_task): Remove children, next_child, prev_child,
1851 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
1852 Add pnode field.
1853 (struct gomp_taskgroup): Remove children.
1854 Add taskgroup_queue.
1855 (struct gomp_team): Change task_queue type to a priority queue.
1856 (splay_compare): Define inline.
1857 (priority_queue_offset): New.
1858 (priority_node_to_task): New.
1859 (task_to_priority_node): New.
1860 * oacc-mem.c: Do not include splay-tree.h.
1861 * priority_queue.c: New file.
1862 * priority_queue.h: New file.
1863 * splay-tree.c: Do not include splay-tree.h.
1864 (splay_tree_foreach_internal): New.
1865 (splay_tree_foreach): New.
1866 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
1867 (splay_tree_callback): Define typedef.
1868 * target.c (splay_compare): Move to libgomp.h.
1869 (GOMP_target): Don't adjust *thr in any way around running offloaded
1870 task.
1871 (GOMP_target_ext): Likewise. Handle target nowait.
1872 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
1873 return value from gomp_create_target_task, if false, fallthrough
1874 as if no dependencies exist.
1875 (gomp_target_task_fn): Change return type to bool, return true
1876 if the task should have another part scheduled later. Handle
1877 target nowait.
1878 (gomp_load_plugin_for_device): Initialize async_run.
1879 * task.c (gomp_init_task): Initialize children_queue.
1880 (gomp_clear_parent_in_list): New.
1881 (gomp_clear_parent_in_tree): New.
1882 (gomp_clear_parent): Handle priorities.
1883 (GOMP_task): Likewise.
1884 (priority_queue_move_task_first,
1885 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
1886 New functions.
1887 (gomp_create_target_task): Use priority queues. Change return type
1888 to bool, add state argument, return false if for async
1889 {{enter,exit} data,update} constructs no dependencies need to be
1890 waited for, handle target nowait. Set task->fn to NULL instead of
1891 gomp_target_task_fn.
1892 (verify_children_queue): Remove.
1893 (priority_list_upgrade_task): New.
1894 (priority_queue_upgrade_task): New.
1895 (verify_task_queue): Remove.
1896 (priority_list_downgrade_task): New.
1897 (priority_queue_downgrade_task): New.
1898 (gomp_task_run_pre): Use priority queues.
1899 Abstract code out to priority_queue_downgrade_task.
1900 (gomp_task_run_post_handle_dependers): Use priority queues.
1901 (gomp_task_run_post_remove_parent): Likewise.
1902 (gomp_task_run_post_remove_taskgroup): Likewise.
1903 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
1904 tasks specially.
1905 (GOMP_taskwait): Likewise.
1906 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
1907 priority-queue_upgrade_task.
1908 (GOMP_taskgroup_start): Use priority queues.
1909 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
1910 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
1911 barrier.
1912 * taskloop.c (GOMP_taskloop): Handle priorities.
1913 * team.c (gomp_new_team): Call priority_queue_init.
1914 (free_team): Call priority_queue_free.
1915 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
1916 team created for target nowait in implicit parallel region.
1917 (gomp_team_start): For nested check, test thr->ts.level instead of
1918 thr->ts.team != NULL.
1919 * testsuite/libgomp.c/doacross-3.c: New test.
1920 * testsuite/libgomp.c/ordered-5.c: New test.
1921 * testsuite/libgomp.c/priority.c: New test.
1922 * testsuite/libgomp.c/target-31.c: New test.
1923 * testsuite/libgomp.c/target-32.c: New test.
1924 * testsuite/libgomp.c/target-33.c: New test.
1925 * testsuite/libgomp.c/target-34.c: New test.
1926
1d1ab74f
NS
19272015-11-13 Nathan Sidwell <nathan@codesourcery.com>
1928
c5a64cfe
NS
1929 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
1930
1d1ab74f
NS
1931 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
1932 loop is sequential.
1933
dd3c1b14
NS
19342015-11-13 Nathan Sidwell <nathan@codesourcery.com>
1935
1936 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
1937 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
1938
6e232ba4
JN
19392015-11-12 James Norris <jnorris@codesourcery.com>
1940 Joseph Myers <joseph@codesourcery.com>
1941
1942 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
1943 * oacc-parallel.c (GOACC_declare): New function.
1944 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
1945 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
1946 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
1947 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
1948 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
1949
fffeedeb
NS
19502015-11-12 Nathan Sidwell <nathan@codesourcery.com>
1951
1952 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
1953
182190f2
NS
19542015-11-1 Nathan Sidwell <nathan@codesourcery.com>
1955
1956 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
1957 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
1958
36fa0f5f
NS
19592015-11-09 Nathan Sidwell <nathan@codesourcery.com>
1960
d350c40c
NS
1961 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
1962 inadvertent commit.
1963
19642015-11-09 Nathan Sidwell <nathan@codesourcery.com>
1965
36fa0f5f
NS
1966 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
1967 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
1968 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
1969 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
1970 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
1971
66a5f0b4
TS
19722015-11-06 Thomas Schwinge <thomas@codesourcery.com>
1973
1974 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
1975 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
1976
e01d41e5
JJ
19772015-11-05 Jakub Jelinek <jakub@redhat.com>
1978 Ilya Verbin <ilya.verbin@intel.com>
1979
1980 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
1981 GOMP_loop_nonmonotonic_dynamic_start,
1982 GOMP_loop_nonmonotonic_guided_next,
1983 GOMP_loop_nonmonotonic_guided_start,
1984 GOMP_loop_ull_nonmonotonic_dynamic_next,
1985 GOMP_loop_ull_nonmonotonic_dynamic_start,
1986 GOMP_loop_ull_nonmonotonic_guided_next,
1987 GOMP_loop_ull_nonmonotonic_guided_start,
1988 GOMP_parallel_loop_nonmonotonic_dynamic,
1989 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
1990 (GOMP_target_41): Renamed to ...
1991 (GOMP_target_ext): ... this. Add num_teams and thread_limit
1992 arguments.
1993 (GOMP_target_data_41): Renamed to ...
1994 (GOMP_target_data_ext): ... this.
1995 (GOMP_target_update_41): Renamed to ...
1996 (GOMP_target_update_ext): ... this.
1997 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
1998 GOMP_target_data_ext and GOMP_target_update_ext instead of
1999 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
2000 Export GOMP_loop_nonmonotonic_dynamic_next,
2001 GOMP_loop_nonmonotonic_dynamic_start,
2002 GOMP_loop_nonmonotonic_guided_next,
2003 GOMP_loop_nonmonotonic_guided_start,
2004 GOMP_loop_ull_nonmonotonic_dynamic_next,
2005 GOMP_loop_ull_nonmonotonic_dynamic_start,
2006 GOMP_loop_ull_nonmonotonic_guided_next,
2007 GOMP_loop_ull_nonmonotonic_guided_start,
2008 GOMP_parallel_loop_nonmonotonic_dynamic and
2009 GOMP_parallel_loop_nonmonotonic_guided.
2010 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
2011 GOMP_parallel_loop_nonmonotonic_guided,
2012 GOMP_loop_nonmonotonic_dynamic_start,
2013 GOMP_loop_nonmonotonic_guided_start,
2014 GOMP_loop_nonmonotonic_dynamic_next,
2015 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
2016 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
2017 GOMP_loop_ull_nonmonotonic_guided_start,
2018 GOMP_loop_ull_nonmonotonic_dynamic_next,
2019 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
2020 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
2021 functions.
2022 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
2023 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
2024 Use gomp_map_val function.
2025 (gomp_target_fallback_firstprivate): New static function.
2026 (GOMP_target_41): Renamed to ...
2027 (GOMP_target_ext): ... this. Add num_teams and thread_limit
2028 arguments. Move firstprivate fallback handling into a new
2029 function.
2030 (GOMP_target_data_41): Renamed to ...
2031 (GOMP_target_data_ext): ... this.
2032 (GOMP_target_update_41): Renamed to ...
2033 (GOMP_target_update_ext): ... this.
2034 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
2035 gomp_map_0len_lookup instead of gomp_map_lookup.
2036 (omp_target_is_present): Use gomp_map_0len_lookup instead of
2037 gomp_map_lookup.
2038 * testsuite/libgomp.c/target-28.c: Likewise.
2039 * testsuite/libgomp.c/monotonic-1.c: New test.
2040 * testsuite/libgomp.c/monotonic-2.c: New test.
2041 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
2042 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
2043 * testsuite/libgomp.c/pr66199-5.c: New test.
2044 * testsuite/libgomp.c/pr66199-6.c: New test.
2045 * testsuite/libgomp.c/pr66199-7.c: New test.
2046 * testsuite/libgomp.c/pr66199-8.c: New test.
2047 * testsuite/libgomp.c/pr66199-9.c: New test.
2048 * testsuite/libgomp.c/reduction-11.c: New test.
2049 * testsuite/libgomp.c/reduction-12.c: New test.
2050 * testsuite/libgomp.c/reduction-13.c: New test.
2051 * testsuite/libgomp.c/reduction-14.c: New test.
2052 * testsuite/libgomp.c/reduction-15.c: New test.
2053 * testsuite/libgomp.c/target-12.c (main): Adjust for
2054 omp_target_is_present change for one-past-last element.
2055 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
2056 the same var is both mapped and privatized.
2057 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
2058 handling of zero-length array sections.
2059 * testsuite/libgomp.c/target-28.c: New test.
2060 * testsuite/libgomp.c/target-29.c: New test.
2061 * testsuite/libgomp.c/target-30.c: New test.
2062 * testsuite/libgomp.c/target-teams-1.c: New test.
2063 * testsuite/libgomp.c++/member-6.C: New test.
2064 * testsuite/libgomp.c++/member-7.C: New test.
2065 * testsuite/libgomp.c++/monotonic-1.C: New test.
2066 * testsuite/libgomp.c++/monotonic-2.C: New test.
2067 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
2068 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
2069 * testsuite/libgomp.c++/pr66199-3.C: New test.
2070 * testsuite/libgomp.c++/pr66199-4.C: New test.
2071 * testsuite/libgomp.c++/pr66199-5.C: New test.
2072 * testsuite/libgomp.c++/pr66199-6.C: New test.
2073 * testsuite/libgomp.c++/pr66199-7.C: New test.
2074 * testsuite/libgomp.c++/pr66199-8.C: New test.
2075 * testsuite/libgomp.c++/pr66199-9.C: New test.
2076 * testsuite/libgomp.c++/reduction-11.C: New test.
2077 * testsuite/libgomp.c++/reduction-12.C: New test.
2078 * testsuite/libgomp.c++/target-13.C: New test.
2079 * testsuite/libgomp.c++/target-14.C: New test.
2080 * testsuite/libgomp.c++/target-15.C: New test.
2081 * testsuite/libgomp.c++/target-16.C: New test.
2082 * testsuite/libgomp.c++/target-17.C: New test.
2083 * testsuite/libgomp.c++/target-18.C: New test.
2084 * testsuite/libgomp.c++/target-19.C: New test.
2085
ccc8282b
NS
20862015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2087
2088 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
2089 and reduction copy.
2090 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
2091 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
2092 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
2093 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2094 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
2095 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
2096 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
2097 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2098 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
2099 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
2100 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
2101 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
2102 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
2103 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
2104
5d6823a2
NS
21052015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2106
2107 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
2108 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
2109 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
2110 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
2111 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
2112 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
2113 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
2114 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
2115
5c06742f
NS
21162015-11-03 Nathan Sidwell <nathan@codesourcery.com>
2117
2118 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
2119 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
2120 (GOMP_OFFLOAD_openacc_parallel): Likewise.
2121 * oacc-host.c (host_openacc_exec): Likewise.
2122 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
2123
4bf9e5a8
TS
21242015-11-03 Julian Brown <julian@codesourcery.com>
2125 Thomas Schwinge <thomas@codesourcery.com>
2126
2127 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
2128 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
2129 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
2130 Likewise.
2131 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
2132 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
2133
21342015-11-03 James Norris <jnorris@codesourcery.com>
2135
2136 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
2137 file.
2138 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
2139 Likewise.
2140 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
2141 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
2142 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
2143 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
2144 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
2145
a0e701d8
NS
21462015-10-29 Nathan Sidwell <nathan@codesourcery.com>
2147
2148 * openacc.h (enum acc_device_t): Reformat. Ensure layout
2149 compatibility.
2150 (enum acc_async_t): Reformat.
2151 (acc_on_device): Declare compatible with builtin and provide C++
2152 wrapper.
2153 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
2154
41e977ac
TS
21552015-10-29 Thomas Schwinge <thomas@codesourcery.com>
2156 Cesar Philippidis <cesar@codesourcery.com>
2157
2158 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
2159 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
2160 ... this. Add a description of the test at the top of the file.
2161 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
2162 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
2163 ... this. Add a description of the test at the top of the file.
2164
e3091406
NS
21652015-10-28 Nathan Sidwell <nathan@codesourcery.com>
2166
2167 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
2168 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
2169 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
2170 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
2171 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
2172 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
2173
a1c1908b
NS
21742015-10-27 Nathan Sidwell <nathan@codesourcery.com>
2175
2176 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
2177 dimensions.
2178
b3962a4a
TS
21792015-10-27 Thomas Schwinge <thomas@codesourcery.com>
2180
2181 PR testsuite/68063
2182 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
2183
88bae6f4
TS
21842015-10-27 James Norris <jnorris@codesourcery.com>
2185
2186 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
2187 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
2188
8baa7864
TS
21892015-10-26 Thomas Schwinge <thomas@codesourcery.com>
2190
bdeb752c
TS
2191 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
2192 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
2193
ecd4fd43
TS
2194 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
2195 acc_device_nvidia usage.
2196 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
2197 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
2198 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
2199
aa8b7d30
TS
2200 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
2201 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
2202
7c8f138d
TS
2203 PR libgomp/66518
2204 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
2205
8baa7864
TS
2206 PR libgomp/65437
2207 PR libgomp/66518
2208 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
2209 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
2210
88ebcde5
TV
22112015-10-23 Tom de Vries <tom@codesourcery.com>
2212
2213 PR testsuite/68063
2214 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
2215
9ef83c04
NS
22162015-10-20 Nathan Sidwell <nathan@codesourcery.com>
2217
2218 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
2219 vector_length.
2220 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
2221
3837c6d6
IV
22222015-10-14 Ilya Verbin <ilya.verbin@intel.com>
2223 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
2224
2225 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
2226 to 0 when mapnum is 0.
2227
ac8a1965
SH
22282015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
2229
2230 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
2231 Cast to int from int32_t.
2232
d9a6bd32
JJ
22332015-10-13 Jakub Jelinek <jakub@redhat.com>
2234 Aldy Hernandez <aldyh@redhat.com>
2235 Ilya Verbin <ilya.verbin@intel.com>
2236
2237 * config/linux/affinity.c (omp_get_place_num_procs,
2238 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
2239 * config/linux/doacross.h: New file.
2240 * config/posix/affinity.c (omp_get_place_num_procs,
2241 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
2242 * config/posix/doacross.h: New file.
2243 * env.c: Include gomp-constants.h.
2244 (struct gomp_task_icv): Rename run_sched_modifier to
2245 run_sched_chunk_size.
2246 (gomp_max_task_priority_var): New variable.
2247 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
2248 (handle_omp_display_env): Change _OPENMP value from 201307 to
2249 201511. Print OMP_MAX_TASK_PRIORITY.
2250 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
2251 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
2252 chunk_size and run_sched_modifier to run_sched_chunk_size.
2253 (omp_get_max_task_priority, omp_get_initial_device,
2254 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
2255 omp_get_partition_place_nums): New functions.
2256 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
2257 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
2258 to chunk_size.
2259 (omp_get_num_places_, omp_get_place_num_procs_,
2260 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
2261 omp_get_place_proc_ids_8_, omp_get_place_num_,
2262 omp_get_partition_num_places_, omp_get_partition_place_nums_,
2263 omp_get_partition_place_nums_8_, omp_get_initial_device_,
2264 omp_get_max_task_priority_): New functions.
2265 * libgomp_g.h (GOMP_loop_doacross_static_start,
2266 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
2267 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
2268 GOMP_loop_ull_doacross_dynamic_start,
2269 GOMP_loop_ull_doacross_guided_start,
2270 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
2271 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
2272 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
2273 GOMP_target_data_41, GOMP_target_update_41,
2274 GOMP_target_enter_exit_data): New prototypes.
2275 (GOMP_task): Add prototype argument.
2276 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
2277 (struct gomp_doacross_work_share): New type.
2278 (struct gomp_work_share): Add doacross field.
2279 (struct gomp_task_icv): Rename run_sched_modifier to
2280 run_sched_chunk_size.
2281 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
2282 GOMP_TASK_UNDEFERRED. Add comments.
2283 (struct gomp_task_depend_entry): Add comments.
2284 (struct gomp_task): Likewise.
2285 (struct gomp_taskgroup): Likewise.
2286 (struct gomp_target_task): New type.
2287 (struct gomp_team): Add comment.
2288 (gomp_get_place_proc_ids_8, gomp_doacross_init,
2289 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
2290 gomp_create_target_task, gomp_target_task_fn): New prototypes.
2291 (struct target_var_desc): New type.
2292 (struct target_mem_desc): Adjust comment. Use struct
2293 target_var_desc instead of splay_tree_key for list.
2294 (REFCOUNT_INFINITY): Define.
2295 (struct splay_tree_key_s): Remove copy_from field.
2296 (struct gomp_device_descr): Add dev2dev_func field.
2297 (enum gomp_map_vars_kind): New enum.
2298 (gomp_map_vars): Add one argument.
2299 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
2300 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
2301 omp_get_place_num_procs, omp_get_place_num_procs_,
2302 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
2303 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
2304 omp_get_place_num_, omp_get_partition_num_places,
2305 omp_get_partition_num_places_, omp_get_partition_place_nums,
2306 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
2307 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
2308 omp_target_free, omp_target_is_present, omp_target_memcpy,
2309 omp_target_memcpy_rect, omp_target_associate_ptr and
2310 omp_target_disassociate_ptr.
2311 (GOMP_4.0.2): Renamed to ...
2312 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
2313 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
2314 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
2315 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
2316 GOMP_loop_doacross_static_start, GOMP_doacross_post,
2317 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
2318 GOMP_loop_ull_doacross_guided_start,
2319 GOMP_loop_ull_doacross_runtime_start,
2320 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
2321 GOMP_doacross_ull_wait.
2322 * libgomp.texi: Document omp_get_max_task_priority.
2323 Rename modifier argument to chunk_size for omp_set_schedule and
2324 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
2325 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
2326 to run_sched_chunk_size renaming.
2327 (GOMP_loop_ordered_runtime_start): Likewise.
2328 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
2329 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
2330 GOMP_parallel_loop_runtime_start): New functions.
2331 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
2332 to run_sched_chunk_size renaming.
2333 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
2334 GOMP_loop_doacross_guided_start): New functions or aliases.
2335 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
2336 run_sched_modifier to run_sched_chunk_size renaming.
2337 (GOMP_loop_ull_ordered_runtime_start): Likewise.
2338 (gomp_loop_ull_doacross_static_start,
2339 gomp_loop_ull_doacross_dynamic_start,
2340 gomp_loop_ull_doacross_guided_start,
2341 GOMP_loop_ull_doacross_runtime_start): New functions.
2342 (GOMP_loop_ull_doacross_static_start,
2343 GOMP_loop_ull_doacross_dynamic_start,
2344 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
2345 * oacc-mem.c (acc_map_data, present_create_copy,
2346 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
2347 to gomp_map_vars.
2348 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
2349 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
2350 instead of false to gomp_map_vars.
2351 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
2352 * omp.h.in (omp_lock_hint_t): New type.
2353 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
2354 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
2355 omp_get_place_num, omp_get_partition_num_places,
2356 omp_get_partition_place_nums, omp_get_initial_device,
2357 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
2358 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
2359 omp_target_associate_ptr, omp_target_disassociate_ptr): New
2360 prototypes.
2361 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
2362 (omp_lock_hint_none, omp_lock_hint_uncontended,
2363 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
2364 omp_lock_hint_speculative): New parameters.
2365 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
2366 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
2367 omp_get_place_num, omp_get_partition_num_places,
2368 omp_get_partition_place_nums, omp_get_initial_device,
2369 omp_get_max_task_priority): New interfaces.
2370 (omp_set_schedule, omp_get_schedule): Rename modifier argument
2371 to chunk_size.
2372 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
2373 (omp_lock_hint_none, omp_lock_hint_uncontended,
2374 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
2375 omp_lock_hint_speculative): New parameters.
2376 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
2377 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
2378 omp_get_place_num, omp_get_partition_num_places,
2379 omp_get_partition_place_nums, omp_get_initial_device,
2380 omp_get_max_task_priority): New functions and subroutines.
2381 * ordered.c: Include stdarg.h and string.h.
2382 (MAX_COLLAPSED_BITS): Define.
2383 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
2384 gomp_doacross_ull_init, GOMP_doacross_ull_post,
2385 GOMP_doacross_ull_wait): New functions.
2386 * target.c: Include errno.h.
2387 (resolve_device): If device is not initialized, call
2388 gomp_init_device on it.
2389 (gomp_map_lookup): New function.
2390 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
2391 Don't bump refcount if REFCOUNT_INFINITY. Handle
2392 GOMP_MAP_ALWAYS_TO_P.
2393 (get_kind): Rename is_openacc argument to short_mapkind.
2394 (gomp_map_pointer): Use gomp_map_lookup.
2395 (gomp_map_fields_existing): New function.
2396 (gomp_map_vars): Rename is_openacc argument to short_mapkind
2397 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
2398 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
2399 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
2400 Adjust for tgt->list changed type and copy_from living in there.
2401 (gomp_copy_from_async): Adjust for tgt->list changed type and
2402 copy_from living in there.
2403 (gomp_unmap_vars): Likewise.
2404 (gomp_update): Likewise. Rename is_openacc argument to
2405 short_mapkind. Don't fail if object is not mapped.
2406 (gomp_load_image_to_device): Initialize refcount to
2407 REFCOUNT_INFINITY.
2408 (gomp_target_fallback): New function.
2409 (gomp_get_target_fn_addr): Likewise.
2410 (GOMP_target): Adjust gomp_map_vars caller, use
2411 gomp_get_target_fn_addr and gomp_target_fallback.
2412 (GOMP_target_41): New function.
2413 (gomp_target_data_fallback): New function.
2414 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
2415 (GOMP_target_data_41): New function.
2416 (GOMP_target_update): Adjust gomp_update caller.
2417 (GOMP_target_update_41): New function.
2418 (gomp_exit_data, GOMP_target_enter_exit_data,
2419 gomp_target_task_fn, omp_target_alloc, omp_target_free,
2420 omp_target_is_present, omp_target_memcpy,
2421 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
2422 omp_target_associate_ptr, omp_target_disassociate_ptr,
2423 gomp_load_plugin_for_device): New functions.
2424 * task.c: Include gomp-constants.h. Include taskloop.c
2425 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
2426 (gomp_task_handle_depend): New function.
2427 (GOMP_task): Use it. Add priority argument. Use
2428 gomp-constant.h constants instead of hardcoded numbers.
2429 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
2430 (gomp_create_target_task): New function.
2431 (verify_children_queue, verify_taskgroup_queue,
2432 verify_task_queue): New functions.
2433 (gomp_task_run_pre): Call verify_*_queue functions.
2434 If an upcoming tied task is about to leave the sibling or
2435 taskgroup queues in an invalid state, adjust appropriately.
2436 Remove taskgroup argument. Add comments.
2437 (gomp_task_run_post_handle_dependers): Add comments.
2438 (gomp_task_run_post_remove_parent): Likewise.
2439 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
2440 (GOMP_taskwait): Likewise. Add comments.
2441 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
2442 problem such that the first non parent_depends_on task does not
2443 end up at the end of the children queue.
2444 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
2445 GOMP_TASK_UNDEFERRED.
2446 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
2447 * taskloop.c: New file.
2448 * testsuite/lib/libgomp.exp
2449 (check_effective_target_offload_device_nonshared_as): New proc.
2450 * testsuite/libgomp.c/affinity-2.c: New test.
2451 * testsuite/libgomp.c/doacross-1.c: New test.
2452 * testsuite/libgomp.c/doacross-2.c: New test.
2453 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
2454 Add map clause to target.
2455 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
2456 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
2457 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
2458 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
2459 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
2460 Likewise.
2461 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
2462 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
2463 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
2464 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
2465 not defined. Use those where needed.
2466 * testsuite/libgomp.c/for-4.c: New test.
2467 * testsuite/libgomp.c/for-5.c: New test.
2468 * testsuite/libgomp.c/for-6.c: New test.
2469 * testsuite/libgomp.c/linear-1.c: New test.
2470 * testsuite/libgomp.c/ordered-4.c: New test.
2471 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
2472 only allowed on the loop iterator.
2473 * testsuite/libgomp.c/pr66199-3.c: New test.
2474 * testsuite/libgomp.c/pr66199-4.c: New test.
2475 * testsuite/libgomp.c/reduction-7.c: New test.
2476 * testsuite/libgomp.c/reduction-8.c: New test.
2477 * testsuite/libgomp.c/reduction-9.c: New test.
2478 * testsuite/libgomp.c/reduction-10.c: New test.
2479 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
2480 map(tofrom:s).
2481 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
2482 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
2483 * testsuite/libgomp.c/target-11.c: New test.
2484 * testsuite/libgomp.c/target-12.c: New test.
2485 * testsuite/libgomp.c/target-13.c: New test.
2486 * testsuite/libgomp.c/target-14.c: New test.
2487 * testsuite/libgomp.c/target-15.c: New test.
2488 * testsuite/libgomp.c/target-16.c: New test.
2489 * testsuite/libgomp.c/target-17.c: New test.
2490 * testsuite/libgomp.c/target-18.c: New test.
2491 * testsuite/libgomp.c/target-19.c: New test.
2492 * testsuite/libgomp.c/target-20.c: New test.
2493 * testsuite/libgomp.c/target-21.c: New test.
2494 * testsuite/libgomp.c/target-22.c: New test.
2495 * testsuite/libgomp.c/target-23.c: New test.
2496 * testsuite/libgomp.c/target-24.c: New test.
2497 * testsuite/libgomp.c/target-25.c: New test.
2498 * testsuite/libgomp.c/target-26.c: New test.
2499 * testsuite/libgomp.c/target-27.c: New test.
2500 * testsuite/libgomp.c/taskloop-1.c: New test.
2501 * testsuite/libgomp.c/taskloop-2.c: New test.
2502 * testsuite/libgomp.c/taskloop-3.c: New test.
2503 * testsuite/libgomp.c/taskloop-4.c: New test.
2504 * testsuite/libgomp.c++/ctor-13.C: New test.
2505 * testsuite/libgomp.c++/doacross-1.C: New test.
2506 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
2507 Replace offload_device with offload_device_nonshared_as.
2508 * testsuite/libgomp.c++/for-12.C: New test.
2509 * testsuite/libgomp.c++/for-13.C: New test.
2510 * testsuite/libgomp.c++/for-14.C: New test.
2511 * testsuite/libgomp.c++/linear-1.C: New test.
2512 * testsuite/libgomp.c++/member-1.C: New test.
2513 * testsuite/libgomp.c++/member-2.C: New test.
2514 * testsuite/libgomp.c++/member-3.C: New test.
2515 * testsuite/libgomp.c++/member-4.C: New test.
2516 * testsuite/libgomp.c++/member-5.C: New test.
2517 * testsuite/libgomp.c++/ordered-1.C: New test.
2518 * testsuite/libgomp.c++/reduction-5.C: New test.
2519 * testsuite/libgomp.c++/reduction-6.C: New test.
2520 * testsuite/libgomp.c++/reduction-7.C: New test.
2521 * testsuite/libgomp.c++/reduction-8.C: New test.
2522 * testsuite/libgomp.c++/reduction-9.C: New test.
2523 * testsuite/libgomp.c++/reduction-10.C: New test.
2524 * testsuite/libgomp.c++/reference-1.C: New test.
2525 * testsuite/libgomp.c++/simd14.C: New test.
2526 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
2527 * testsuite/libgomp.c++/target-5.C: New test.
2528 * testsuite/libgomp.c++/target-6.C: New test.
2529 * testsuite/libgomp.c++/target-7.C: New test.
2530 * testsuite/libgomp.c++/target-8.C: New test.
2531 * testsuite/libgomp.c++/target-9.C: New test.
2532 * testsuite/libgomp.c++/target-10.C: New test.
2533 * testsuite/libgomp.c++/target-11.C: New test.
2534 * testsuite/libgomp.c++/target-12.C: New test.
2535 * testsuite/libgomp.c++/taskloop-1.C: New test.
2536 * testsuite/libgomp.c++/taskloop-2.C: New test.
2537 * testsuite/libgomp.c++/taskloop-3.C: New test.
2538 * testsuite/libgomp.c++/taskloop-4.C: New test.
2539 * testsuite/libgomp.c++/taskloop-5.C: New test.
2540 * testsuite/libgomp.c++/taskloop-6.C: New test.
2541 * testsuite/libgomp.c++/taskloop-7.C: New test.
2542 * testsuite/libgomp.c++/taskloop-8.C: New test.
2543 * testsuite/libgomp.c++/taskloop-9.C: New test.
2544 * testsuite/libgomp.fortran/affinity1.f90: New test.
2545 * testsuite/libgomp.fortran/affinity2.f90: New test.
2546
1f600fea
TV
25472015-10-13 Tom de Vries <tom@codesourcery.com>
2548
2549 PR tree-optimization/67476
2550 * testsuite/libgomp.c/autopar-3.c: New test.
2551 * testsuite/libgomp.c/autopar-4.c: New test.
2552 * testsuite/libgomp.c/autopar-5.c: New test.
2553 * testsuite/libgomp.c/autopar-6.c: New test.
2554 * testsuite/libgomp.c/autopar-7.c: New test.
2555 * testsuite/libgomp.c/autopar-8.c: New test.
2556
058a654b
JN
25572015-10-12 James Norris <jnorris@codesourcery.com>
2558
2559 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
2560 initializer.
2561
9e531d37
DM
25622015-10-09 David Malcolm <dmalcolm@redhat.com>
2563
2564 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
2565 using load_gcc_lib.
2566
113020dc
TS
25672015-10-02 Thomas Schwinge <thomas@codesourcery.com>
2568
2569 * oacc-ptx.h: Remove file, moving its content into...
2570 * config/nvptx/fortran.c: ... here...
2571 * config/nvptx/oacc-init.c: ..., here...
2572 * config/nvptx/oacc-parallel.c: ..., and here.
2573 * config/nvptx/openacc.f90: New file.
2574 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
2575 (link_ptx): Don't link in predefined bits of PTX code.
2576
cc3cd79b
NS
25772015-09-30 Nathan Sidwell <nathan@codesourcery.com>
2578 Bernd Schmidt <bernds@codesourcery.com>
2579
2580 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
2581 (struct targ_ptx_obj): New.
2582 (nvptx_tdata): Move earlier, change data format.
2583 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
2584 objects.
2585 (GOMP_OFFLOAD_load_image): Adjust.
2586
4e2a5450
TS
25872015-09-30 Thomas Schwinge <thomas@codesourcery.com>
2588
2589 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
2590 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
2591 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
2592 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
2593 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2594 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2595 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2596 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2597 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2598 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2599 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2600 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
2601 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
2602 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2603 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
2604 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
2605 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
2606 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2607 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
2608 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
2609 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2610 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2611 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
2612 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
2613 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
2614 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
2615 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
2616 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2617 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2618 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
2619 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
2620 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
2621 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
2622 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
2623 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2624 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
2625 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2626 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
2627 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2628 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
2629 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2630 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2631 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
2632 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
2633 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
2634 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
2635 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
2636 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
2637 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
2638 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
2639 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
2640 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
2641 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
2642 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
2643 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
2644 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
2645 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2646 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2647 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2648 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2649 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2650 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2651 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2652
164453bb
NS
26532015-09-29 Nathan Sidwell <nathan@codesourcery.com>
2654
2655 * oacc-init.c (acc_on_device): Force optimization level.
2656
a12a0437
NS
26572015-09-29 Nathan Sidwell <nathan@codesourcery.com>
2658
2659 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
2660 (cuda_errlist): Delete.
2661 (cuda_error): Reimplement.
2662
3e32ee19
NS
26632015-09-28 Nathan Sidwell <nathan@codesourcery.com>
2664
2665 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
2666 array.
2667 * libgomp.map (GOACC_parallel_keyed): New.
2668 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
2669 all callers.
2670 (GOACC_parallel_keyed): New interface. Lose geometry arguments
2671 and take keyed varargs list. Adjust call to exec_func.
2672 (GOACC_parallel): Force host fallback.
2673 * libgomp_g.h (GOACC_parallel): Remove.
2674 (GOACC_parallel_keyed): Declare.
2675 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
2676 (stuct targ_gn_descriptor): Replace name field with launch field.
2677 (nvptx_exec): Lose separate geometry args, take array. Process
2678 dynamic dimensions and adjust.
2679 (struct nvptx_tdata): Replace fn_names field with fn_descs.
2680 (GOMP_OFFLOAD_load_image): Adjust for change in function table
2681 data.
2682 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
2683 passing.
2684 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
2685 passing.
2686
6bb4c3e2
CLT
26872015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
2688
2689 PR libgomp/67141
2690 * oacc-int.h (goacc_host_init): Add declaration.
2691 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
2692 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
2693
74032f47 26942015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 2695 Sebastian Pop <s.pop@samsung.com>
74032f47
AK
2696
2697 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
2698 match o/p.
2699 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
2700 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
2701 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
2702 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
2703 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
2704
97875f4a
JJ
27052015-09-03 Jakub Jelinek <jakub@redhat.com>
2706
2707 * configure.tgt: Add missing ;; in between nvptx and rtems
2708 snippets.
2709
06441dd5
SH
27102015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
2711
2712 * config/posix/pool.h (gomp_adjust_thread_attr): New.
2713 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
2714 (gomp_thread_pool_reservoir): Add priority member.
2715 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
2716 priority.
2717 (parse_thread_pools): Likewise.
2718 * team.c (gomp_team_start): Call configuration provided
2719 gomp_adjust_thread_attr(). Destroy thread attributes if
2720 necessary.
2721 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
2722
66c59f92
SH
27232015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
2724
2725 * config/posix/pool.h: New.
2726 * config/rtems/pool.h: Likewise.
2727 * config/rtems/proc.c: Likewise.
2728 * libgomp.h (gomp_thread_destructor): Declare.
2729 * team.c: Include configuration provided "pool.h".
2730 (gomp_get_thread_pool): Define in configuration.
2731 (gomp_team_end): Call configuration defined
2732 gomp_release_thread_pool().
2733
13c41b2e
SH
27342015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
2735
2736 * config/rtems/bar.c: New.
2737 * config/rtems/bar.h: Likewise.
2738 * config/rtems/mutex.c: Likewise.
2739 * config/rtems/mutex.h: Likewise.
2740 * config/rtems/sem.c: Likewise.
2741 * config/rtems/sem.h: Likewise.
2742 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
2743 <sys/lock.h> header file.
2744 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
2745 supported by Newlib.
2746 * configure: Regenerate.
2747
7892ec67
SH
27482015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
2749
2750 * team.c (gomp_new_thread_pool): Delete and move content to ...
2751 (gomp_get_thread_pool): ... new function. Allocate and
2752 initialize thread pool on demand.
2753 (get_last_team): Use gomp_get_thread_pool().
2754 (gomp_team_start): Delete thread pool initialization.
2755
1b96e9a4
TV
27562015-09-03 Tom de Vries <tom@codesourcery.com>
2757
2758 PR tree-optimization/65637
2759 * testsuite/libgomp.c/autopar-2.c: New test.
2760
3ff2d74e
TV
27612015-08-29 Tom de Vries <tom@codesourcery.com>
2762
2763 PR tree-optimization/46193
2764 * testsuite/libgomp.c/pr46193.c: New test.
2765
2a21ff19
NS
27662015-08-24 Nathan Sidwell <nathan@codesourcery.com>
2767
2768 libgomp/
2769 * libgomp.map: Add 4.0.2 version.
2770 * target.c (offload_image_descr): Add version field.
2771 (gomp_load_image_to_device): Add version argument. Adjust plugin
2772 call. Improve load mismatch diagnostic.
2773 (gomp_unload_image_from_device): Add version argument. Adjust plugin
2774 call.
2775 (GOMP_offload_regster): Make stub function, move bulk to ...
2776 (GOMP_offload_register_ver): ... here. Process version argument.
2777 (GOMP_offload_unregister): Make stub function, move bulk to ...
2778 (GOMP_offload_unregister_ver): ... here. Process version argument.
2779 (gomp_init_device): Process version field.
2780 (gomp_unload_device): Process version field.
2781 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
2782 macros. Check plugin version.
2783 * libgomp.h (gomp_device_descr): Add version function field. Adjust
2784 loader and unloader types.
2785 * oacc-host.c: Include gomp-constants.h.
2786 (host_version): New.
2787 (host_load_image, host_unload_image): Adjust.
2788 (host_dispatch): Add host_version.
2789 * plugin/plugin-nvptx.c: Include gomp-constants.h.
2790 (GOMP_OFFLOAD_version): New.
2791 (GOMP_OFFLOAD_load_image): Add version arg and check it.
2792 (GOMP_OFFLOAD_unload_image): Likewise.
2793 * plugin/plugin-host.c: Include gomp-constants.h.
2794 (GOMP_OFFLOAD_version): New.
2795 (GOMP_OFFLOAD_load_image): Add version arg.
2796 (GOMP_OFFLOAD_unload_image): Likewise.
2797
1358a747
TV
27982015-08-24 Tom de Vries <tom@codesourcery.com>
2799
2800 PR tree-optimization/65468
2801 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
2802
6be5c241
TV
28032015-08-24 Tom de Vries <tom@codesourcery.com>
2804
2805 PR tree-optimization/65468
2806 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
2807
bfe7ac89
JV
28082015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
2809
2810 PR libgomp/66761
2811 PR libgomp/67303
2812 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
2813 (gomp_iter_guided_next): Idem.
2814 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
2815 (gomp_iter_ull_guided_next): Idem.
2816 * config/linux/wait.h (do_spin): Idem.
2817
b97e78b7
TS
28182015-08-10 Thomas Schwinge <thomas@codesourcery.com>
2819
2820 * libgomp-plugin.h (enum offload_target_type): Remove
2821 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
2822 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
2823 * openacc.h (enum acc_device_t): Likewise.
2824 * openacc_lib.h: Likewise.
2825 * oacc-init.c (name_of_acc_device_t): Don't handle it.
2826 (acc_on_device): Just use __builtin_acc_on_device.
2827 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
2828 of acc_on_device builtin.
2829 * plugin/plugin-host.h: Remove file.
2830 * plugin/plugin-host.c: Likewise, but salvage some content into...
2831 * oacc-host.c: ... this file.
2832 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
2833 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
2834 * Makefile.in: Regenerate.
2835 * configure: Likewise.
2836 * testsuite/lib/libgomp.exp
2837 (check_effective_target_openacc_host_nonshm_selected): Remove.
2838 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
2839 ACC_DEVICE_TYPE=host_nonshm.
2840 * testsuite/libgomp.oacc-c/c.exp: Likewise.
2841 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
2842 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
2843 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
2844 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
2845 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
2846
44a7d18d
TS
28472015-08-10 Thomas Schwinge <thomas@codesourcery.com>
2848 Jakub Jelinek <jakub@redhat.com>
2849
2850 * config/nvptx/affinity.c: New file.
2851 * config/nvptx/alloc.c: Likewise.
2852 * config/nvptx/bar.c: Likewise.
2853 * config/nvptx/barrier.c: Likewise.
2854 * config/nvptx/critical.c: Likewise.
2855 * config/nvptx/env.c: Likewise.
2856 * config/nvptx/error.c: Likewise.
2857 * config/nvptx/fortran.c: Likewise.
2858 * config/nvptx/iter.c: Likewise.
2859 * config/nvptx/iter_ull.c: Likewise.
2860 * config/nvptx/libgomp-plugin.c: Likewise.
2861 * config/nvptx/lock.c: Likewise.
2862 * config/nvptx/loop.c: Likewise.
2863 * config/nvptx/loop_ull.c: Likewise.
2864 * config/nvptx/mutex.c: Likewise.
2865 * config/nvptx/oacc-async.c: Likewise.
2866 * config/nvptx/oacc-cuda.c: Likewise.
2867 * config/nvptx/oacc-host.c: Likewise.
2868 * config/nvptx/oacc-init.c: Likewise.
2869 * config/nvptx/oacc-mem.c: Likewise.
2870 * config/nvptx/oacc-parallel.c: Likewise.
2871 * config/nvptx/oacc-plugin.c: Likewise.
2872 * config/nvptx/omp-lock.h: Likewise.
2873 * config/nvptx/ordered.c: Likewise.
2874 * config/nvptx/parallel.c: Likewise.
2875 * config/nvptx/proc.c: Likewise.
2876 * config/nvptx/ptrlock.c: Likewise.
2877 * config/nvptx/sections.c: Likewise.
2878 * config/nvptx/sem.c: Likewise.
2879 * config/nvptx/single.c: Likewise.
2880 * config/nvptx/splay-tree.c: Likewise.
2881 * config/nvptx/target.c: Likewise.
2882 * config/nvptx/task.c: Likewise.
2883 * config/nvptx/team.c: Likewise.
2884 * config/nvptx/time.c: Likewise.
2885 * config/nvptx/work.c: Likewise.
2886 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
2887 * configure: Regenerate.
2888 * configure.tgt (config_path): Set to "nvptx" for target
2889 nvptx*-*-*.
2890
96a2d174
TS
28912015-08-10 Thomas Schwinge <thomas@codesourcery.com>
2892
2893 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
2894
9ebddeb0
NS
28952015-08-03 Nathan Sidwell <nathan@codesourcery.com>
2896
2897 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
2898 (cuda_errlist): Constify.
2899 (errmsg): Move into ...
2900 (cuda_error): ... here. Make smaller.
2901 (_XSTR, _STR): Delete.
2902 (cuda_synames): Delete.
2903 (verify_device_library): Delete.
2904 (nvptx_init): Don't call it.
2905
12efb1d7
TV
29062015-07-28 Tom de Vries <tom@codesourcery.com>
2907
2908 * testsuite/libgomp.c/uns-outer-4.c: New test.
2909
710ee218
CP
29102015-07-24 Cesar Philippidis <cesar@codesourcery.com>
2911
2912 * testsuite/libgomp.c/pr66714.c: New test.
2913
27c4ac7d
MB
29142015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
2915
2916 PR libgomp/66950
2917 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
2918 (fib_ref): New function.
2919 (fib): Correct corner cases in the recursion.
2920 (main): Replace the non-simd loop with fib_ref call.
2921 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
2922 subroutine.
2923 (fibonacci): Lower the parameter N to 30. Correct accordingly check
2924 for the last array element value. Replace the non-simd loop with
2925 fib_ref call. Remove redundant b_ref array. Remove the comparison
2926 of the last array element with according Fibonacci sequence element.
2927 (fib): Correct corner cases in the recursion.
2928
22be2349
NS
29292015-07-21 Nathan Sidwell <nathan@codesourcery.com>
2930
2931 * target.c (gomp_offload_image_to_device): Rename to ...
2932 (gomp_load_image_to_device): ... here.
2933 (GOMP_offload_register): Adjust call.
2934 (gomp_init_device): Likewise.
2935 (gomp_unload_image_from_device): New. Broken out of ...
2936 (GOMP_offload_unregister): ... here. Call it.
2937 (gomp_unload_device): New.
2938 * libgomp.h (gomp_unload_device): Declare.
2939 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
2940 mem maps.
2941
f3e9a059
NS
29422015-07-20 Nathan Sidwell <nathan@codesourcery.com>
2943
a091118d
NS
2944 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
2945 wait=-specific if.
2946 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
2947 !=0 condition.
2948 (goacc_waits): Move !num_waits handling to ...
2949 (GOACC_wait): ... here, the only caller that might have zero waits.
2950
f3e9a059
NS
2951 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
2952 (struct ptx_image_data): Move earlier, add fns field.
2953 (struct ptx_device): Add images and image_lock fields.
2954 (ptx_images, ptx_image_lock): Delete.
2955 (nvptx_open_device): Initialize images and image_lock fields.
2956 (nvptx_close_device): Destroy image_lock.
2957 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
2958 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
2959 fields.
2960
afb2d80b
NS
29612015-07-17 Nathan Sidwell <nathan@codesourcery.com>
2962
896c28a7
NS
2963 * target.c (GOMP_offload_register): Use int for device type arg.
2964 (GOMP_offload_unregister): Likewise.
2965
ebe4a560
NS
2966 * target.c (struct_offload_image_descr): Constify host_table.
2967 (gomp_offload_image_to_device): Likewise.
2968 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
2969
afb2d80b
NS
2970 * libgomp.h (gomp_device_descr): Constify target data arguments.
2971 * target.c (struct offload_image_descr): Constify target_data.
2972 (gomp_offload_image_to_device): Likewise.
2973 (GOMP_offload_register): Likewise.
2974 (GOMP_offload_unrefister): Likewise.
2975 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
2976 GOMP_OFFLOAD_unload_image): Constify target data.
2977 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
2978 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
2979
a4cb876d
NS
29802015-07-16 Nathan Sidwell <nathan@codesourcery.com>
2981
2982 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
2983 Workaround driver library const error.
2984 (struct nvptx_tdata, nvptx_tdata_t): New.
2985 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
2986 type.
2987
28ef6a27
MB
29882015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
2989
2990 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
2991 of EPS parameter from integer to real.
2992 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
2993 type of EPS parameter from integer to real.
2994
6dba0113
SH
29952015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
2996
2997 * team.c (get_last_team): New.
2998 (gomp_new_team): Recycle last non-nested team if possible.
2999 (gomp_team_end): Move team work share list free lock destruction
3000 to ...
3001 (free_team): ... here.
3002
4c1cb4da
MB
30032015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
3004
3005 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
3006 and ref from int to double. Replaced their comparison with
3007 an inequality of their difference and EPS.
3008 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
3009 comparison of pri and a reference number with an inequality of their
3010 difference and EPS.
3011 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
3012 the comparison of sum and sum_ref with an inequality of their
3013 difference and EPS.
3014 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
3015 the comparison of pri and a reference number with an inequality of
3016 their difference and EPS.
3017
343587dc
MB
30182015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
3019
3020 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
3021 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
3022 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
3023 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
3024 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
3025 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
3026 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
3027 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
3028 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
3029 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
3030 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
3031 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
3032 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
3033 variables.
3034 (vec_mult): Likewise. Add #pragma omp taskwait.
3035 (main): Adjust caller.
3036 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
3037 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
3038 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
3039 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
3040 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
3041 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
3042 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
3043 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
3044 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
3045 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
3046 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
3047 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
3048 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
3049 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
3050 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
3051 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
3052 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
3053 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
3054 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
3055 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
3056 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
3057 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
3058 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
3059 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
3060 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
3061 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
3062 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
3063 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
3064 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
3065 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
3066 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
3067 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
3068 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
3069 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
3070 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
3071 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
3072 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
3073 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
3074 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
3075 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
3076 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
3077 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
3078 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
3079 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
3080 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
3081 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
3082 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
3083 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
3084 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
3085 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
3086 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
3087 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
3088 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
3089 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
3090 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
3091 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
3092 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
3093 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
3094 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
3095 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
3096 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
3097 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
3098 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
3099 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
3100 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
3101 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
3102 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
3103 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
3104 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
3105 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
3106 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
3107 (vec_mult): Add !$omp taskwait.
3108 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
3109 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
3110 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
3111 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
3112 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
3113 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
3114 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
3115 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
3116 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
3117 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
3118 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
3119 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
3120 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
3121 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
3122 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
3123 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
3124 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
3125 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
3126 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
3127 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
3128 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
3129 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
3130 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
3131 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
3132 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
3133 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
3134 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
3135 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
3136 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
3137 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
3138 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
3139 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
3140 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
3141 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
3142 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
3143 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
3144 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
3145 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
3146 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
3147 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
3148 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
3149 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
3150 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
3151 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
3152 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
3153 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
3154 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
3155 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
3156 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
3157 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
3158 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
3159 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
3160 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
3161 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
3162 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
3163 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
3164 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
3165 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
3166 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
3167 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
3168 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
3169 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
3170 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
3171 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
3172 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
3173 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
3174 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
3175
9f620bf1
TV
31762015-07-10 Tom de Vries <tom@codesourcery.com>
3177
3178 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
3179 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
3180
a92defda
TS
31812015-07-08 Thomas Schwinge <thomas@codesourcery.com>
3182
3183 PR libgomp/65099
3184 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
3185 in a 64-bit configuration.
3186 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
3187 offloading testing if no such device is available.
3188 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3189 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
3190
cadb53a5
TV
31912015-07-08 Tom de Vries <tom@codesourcery.com>
3192
3193 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
3194 second call to f.
3195 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3196
712cb0bb
TV
31972015-07-07 Tom de Vries <tom@codesourcery.com>
3198
3199 PR tree-optimization/66642
3200 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
3201 iteration count case.
3202 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
3203 function, factor out of ...
3204 (main): ... here. Test low iteration count case.
3205
e5210c77
SH
32062015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
3207
3208 * libgomp.h (gomp_thread_pool): Comment last_team field.
3209
f70360e7
UB
32102015-07-02 Uros Bizjak <ubizjak@gmail.com>
3211
3212 * testsuite/libgomp.c++/pr66702-1.C: Require
3213 vect_simd_clones effective target.
3214 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
3215
b451c271
TV
32162015-06-30 Tom de Vries <tom@codesourcery.com>
3217
3218 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
3219 already set. Use DEFAULT_CFLAGS in dg-runtest.
3220 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
3221 "-O2".
3222
f8e89d9f
TV
32232015-06-30 Tom de Vries <tom@codesourcery.com>
3224
3225 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
3226 already set. Use DEFAULT_CFLAGS in dg-runtest.
3227 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
3228 * testsuite/libgomp.c++/pr64824.C: Same.
3229 * testsuite/libgomp.c++/pr64868.C: Same.
3230 * testsuite/libgomp.c++/pr66199-1.C: Same.
3231 * testsuite/libgomp.c++/pr66199-2.C: Same.
3232 * testsuite/libgomp.c++/target-2.C: Same.
3233 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
3234 -std=<standard> option.
3235 * testsuite/libgomp.c++/udr-11.C: Same.
3236 * testsuite/libgomp.c++/udr-12.C: Same.
3237 * testsuite/libgomp.c++/udr-13.C: Same.
3238 * testsuite/libgomp.c++/udr-14.C: Same.
3239 * testsuite/libgomp.c++/udr-15.C: Same.
3240 * testsuite/libgomp.c++/udr-16.C: Same.
3241 * testsuite/libgomp.c++/udr-17.C: Same.
3242 * testsuite/libgomp.c++/udr-18.C: Same.
3243 * testsuite/libgomp.c++/udr-19.C: Same.
3244 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
3245 * testsuite/libgomp.c++/simd-1.C: Same.
3246 * testsuite/libgomp.c++/simd-2.C: Same.
3247 * testsuite/libgomp.c++/simd-3.C: Same.
3248 * testsuite/libgomp.c++/simd-4.C: Same.
3249 * testsuite/libgomp.c++/simd-5.C: Same.
3250 * testsuite/libgomp.c++/simd-6.C: Same.
3251 * testsuite/libgomp.c++/simd-7.C: Same.
3252 * testsuite/libgomp.c++/simd-8.C: Same.
3253 * testsuite/libgomp.c++/simd-9.C: Same.
3254 * testsuite/libgomp.c++/simd10.C: Same.
3255 * testsuite/libgomp.c++/simd11.C: Same.
3256 * testsuite/libgomp.c++/simd12.C: Same.
3257 * testsuite/libgomp.c++/simd13.C: Same.
3258
3446fe48
JJ
32592015-06-30 Jakub Jelinek <jakub@redhat.com>
3260
3261 PR middle-end/66702
3262 * testsuite/libgomp.c++/pr66702-1.C: New test.
3263 * testsuite/libgomp.c++/pr66702-2.C: New test.
3264
8a36714a
TV
32652015-06-30 Tom de Vries <tom@codesourcery.com>
3266
3267 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
3268 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
3269 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
3270 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
3271
4f75d608
TV
32722015-06-30 Tom de Vries <tom@codesourcery.com>
3273
3274 PR tree-optimization/66652
3275 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
3276 using restrict pointers.
3277 (main): Add arguments to calls to f.
3278 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3279
6d9d1eeb
AT
32802015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
3281
3282 * configure.ac: Fix check for header <sys/sysctl.h>.
3283 * configure: Regenerate.
3284 * config.h.in: Likewise.
3285
1222f22b
TV
32862015-06-23 Tom de Vries <tom@codesourcery.com>
3287
3288 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
3289 abort.
3290 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
3291
d7efbbf6
TS
32922015-06-19 Thomas Schwinge <thomas@codesourcery.com>
3293
bfcd036f
TS
3294 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
3295 acc_device_nvidia.
3296
d7efbbf6
TS
3297 PR libgomp/66518
3298 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
3299 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3300
d7bfc710
TV
33012015-06-15 Tom de Vries <tom@codesourcery.com>
3302
3303 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
3304 dg-additional-options for any remaining options.
3305 * testsuite/libgomp.c/atomic-2.c: Same.
3306 * testsuite/libgomp.c/atomic-4.c: Same.
3307 * testsuite/libgomp.c/atomic-5.c: Same.
3308 * testsuite/libgomp.c/atomic-6.c: Same.
3309 * testsuite/libgomp.c/autopar-1.c: Same.
3310 * testsuite/libgomp.c/copyin-1.c: Same.
3311 * testsuite/libgomp.c/copyin-2.c: Same.
3312 * testsuite/libgomp.c/copyin-3.c: Same.
3313 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
3314 * testsuite/libgomp.c/nestedfn-5.c: Same.
3315 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
3316 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
3317 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
3318 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3319 * testsuite/libgomp.c/pr32362-1.c: Same.
3320 * testsuite/libgomp.c/pr32362-2.c: Same.
3321 * testsuite/libgomp.c/pr32362-3.c: Same.
3322 * testsuite/libgomp.c/pr39591-1.c: Same.
3323 * testsuite/libgomp.c/pr39591-2.c: Same.
3324 * testsuite/libgomp.c/pr39591-3.c: Same.
3325 * testsuite/libgomp.c/pr58392.c: Same.
3326 * testsuite/libgomp.c/pr58756.c: Same.
3327 * testsuite/libgomp.c/simd-1.c: Same.
3328 * testsuite/libgomp.c/simd-10.c: Same.
3329 * testsuite/libgomp.c/simd-11.c: Same.
3330 * testsuite/libgomp.c/simd-12.c: Same.
3331 * testsuite/libgomp.c/simd-13.c: Same.
3332 * testsuite/libgomp.c/simd-14.c: Same.
3333 * testsuite/libgomp.c/simd-15.c: Same.
3334 * testsuite/libgomp.c/simd-2.c: Same.
3335 * testsuite/libgomp.c/simd-3.c: Same.
3336 * testsuite/libgomp.c/simd-4.c: Same.
3337 * testsuite/libgomp.c/simd-5.c: Same.
3338 * testsuite/libgomp.c/simd-6.c: Same.
3339 * testsuite/libgomp.c/simd-7.c: Same.
3340 * testsuite/libgomp.c/simd-8.c: Same.
3341 * testsuite/libgomp.c/simd-9.c: Same.
3342
fb5b5352
TV
33432015-06-15 Tom de Vries <tom@codesourcery.com>
3344
3345 * testsuite/libgomp.c/pr35625.c: Fix typo.
3346
ca431bef
TV
33472015-06-15 Tom de Vries <tom@codesourcery.com>
3348
3349 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
3350 in dg-options.
3351 * testsuite/libgomp.c/atomic-3.c: Same.
3352 * testsuite/libgomp.c/debug-1.c: Same.
3353 * testsuite/libgomp.c/nqueens-1.c: Same.
3354 * testsuite/libgomp.c/pr26171.c: Same.
3355 * testsuite/libgomp.c/pr48591.c: Same.
3356 * testsuite/libgomp.c/pr64824.c: Same.
3357 * testsuite/libgomp.c/pr64868.c: Same.
3358 * testsuite/libgomp.c/pr66133.c: Same.
3359 * testsuite/libgomp.c/pr66199-1.c: Same.
3360 * testsuite/libgomp.c/pr66199-2.c: Same.
3361 * testsuite/libgomp.c/target-8.c: Same.
3362
0d8a9e20
TV
33632015-06-15 Tom de Vries <tom@codesourcery.com>
3364
3365 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
3366 -std={gnu99,c99}.
3367 * testsuite/libgomp.c/for-1.c: Same.
3368 * testsuite/libgomp.c/for-2.c: Same.
3369 * testsuite/libgomp.c/for-3.c: Same.
3370 * testsuite/libgomp.c/pr35625.c: Same.
3371 * testsuite/libgomp.c/pr39154.c: Same.
3372 * testsuite/libgomp.c/simd-16.c: Same.
3373 * testsuite/libgomp.c/simd-17.c: Same.
3374
a6860be9
TV
33752015-06-13 Tom de Vries <tom@codesourcery.com>
3376
3377 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
3378
ab3306d2
TV
33792015-06-13 Tom de Vries <tom@codesourcery.com>
3380
3381 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
3382 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
3383 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
3384 (N): Define.
3385 (main): Use N instead of hardcoded constants.
3386
7c82d827
TV
33872015-06-05 Tom de Vries <tom@codesourcery.com>
3388
3389 merge from gomp4 branch:
3390 2015-05-28 Tom de Vries <tom@codesourcery.com>
3391
3392 PR tree-optimization/65443
3393 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
3394 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
3395 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
3396
c469078d
BRF
33972015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
3398
3399 * testsuite/libgomp.graphite/bounds.c: Adjust for
3400 cleanup-tree-dump removal.
3401 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
3402 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
3403 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
3404 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
3405 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
3406 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
3407 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
3408 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
3409 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
3410 * testsuite/libgomp.graphite/pr41118.c: Likewise.
3411
bb3caa35
UB
34122015-05-28 Uros Bizjak <ubizjak@gmail.com>
3413
3414 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
3415 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
3416 (futex_wake) [!__x86_64__]: Ditto.
3417
9fb5fd44
JB
34182015-05-28 Julian Brown <julian@codesourcery.com>
3419
3420 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
3421 function comment. Only call gomp_fatal if new argument is true.
3422 (acc_dev_num_out_of_range): New function.
3423 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
3424 acc_dev_num_out_of_range as appropriate.
3425 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
3426 (acc_get_device_num, acc_set_device_num): Update calls to
3427 resolve_device.
9fb5fd44
JB
3428 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
3429 output.
3430
32eaed93
JB
34312015-05-28 Julian Brown <julian@codesourcery.com>
3432
3433 PR libgomp/65742
32eaed93
JB
3434 * oacc-init.c (plugin/plugin-host.h): Include.
3435 (acc_on_device): Check whether we're in an offloaded region for
3436 host_nonshm
3437 plugin. Don't use __builtin_acc_on_device.
3438 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
3439 nonshm_exec flag in thread-local data.
3440 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
3441 data for host_nonshm plugin.
3442 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
3443 for host_nonshm plugin.
3444 * plugin/plugin-host.h: New.
3445
ea023bcf
UB
34462015-05-27 Uros Bizjak <ubizjak@gmail.com>
3447
8ed501f1
UB
3448 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
3449
34502015-05-27 Uros Bizjak <ubizjak@gmail.com>
3451
3452 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
3453 Declare as int.
3454 (FUTEX_PRIVATE_FLAG): Remove L suffix.
3455 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
3456 Declare as int.
3457
34582015-05-27 Uros Bizjak <ubizjak@gmail.com>
3459
bb3caa35 3460 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 3461
1716efeb
CLT
34622015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
3463
3464 * target.c (gomp_map_pointer): New function abstracting out
3465 GOMP_MAP_POINTER handling.
3466 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
3467 gomp_map_pointer().
3468
41b37d5e
JJ
34692015-05-19 Jakub Jelinek <jakub@redhat.com>
3470
3471 PR middle-end/66199
3472 * testsuite/libgomp.c/pr66199-1.c: New test.
3473 * testsuite/libgomp.c/pr66199-2.c: New test.
3474 * testsuite/libgomp.c++/pr66199-1.C: New test.
3475 * testsuite/libgomp.c++/pr66199-2.C: New test.
3476 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
3477 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
3478
c8319826
JB
34792015-05-19 Julian Brown <julian@codesourcery.com>
3480
3481 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
3482 on cuInit failure.
3483
b37dddbc
JJ
34842015-05-13 Jakub Jelinek <jakub@redhat.com>
3485
3486 PR middle-end/66133
3487 * testsuite/libgomp.c/pr66133.c: New test.
3488
55fba601
MH
34892015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
3490
3491 * Makefile.in: Regenerated with automake-1.11.6.
3492 * aclocal.m4: Likewise.
3493 * config.h.in: Likewise.
3494 * configure: Likewise.
3495 * testsuite/Makefile.in: Likewise.
3496
1be0899d
JM
34972015-05-08 Jason Merrill <jason@redhat.com>
3498
3499 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
3500 _Complex.
3501
3502 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
3503
d2463960
JB
35042015-05-06 Julian Brown <julian@codesourcery.com>
3505
3506 * oacc-init.c (acc_device_lock): Add explanatory comment.
3507 (resolve_device): Add comment about locking requirement.
3508 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
3509 gomp_init_device and gomp_fini_device calls.
3510 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
3511 (acc_get_device_num, acc_set_device_num): Add locking around
3512 resolve_device and gomp_init_device calls.
3513
e38fdba4
JB
35142015-05-06 Julian Brown <julian@codesourcery.com>
3515
3516 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
3517 goacc_thread_lock on error paths.
3518 * oacc-mem.c (lookup_host): Remove locking from function. Note
3519 locking requirement for caller in function comment.
3520 (lookup_dev): Likewise.
3521 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
3522 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
3523 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
3524 Add locking.
3525
ae8ffbbb
TS
35262015-05-05 Thomas Schwinge <thomas@codesourcery.com>
3527
3528 PR testsuite/65205
3529 PR libgomp/65993
3530 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
3531 don't expect "0x" prefix for "%p" format specifier, don't expect
3532 "(nil)" for NULL pointer.
3533 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3534 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3535 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3536 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3537 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3538 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3539 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3540 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3541 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
3542 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
3543 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3544 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3545 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3546 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3547 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
3548 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
3549 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
3550 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
3551 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3552 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3553 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3554 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3555 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3556 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3557 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3558 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3559 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
3560 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
3561 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
3562 accurately specify what we're looking for.
3563 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
3564 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
3565 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
3566 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
3567 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
3568
1309f1d2
JN
35692015-04-30 James Norris <jnorris@codesourcery.com>
3570
3571 PR testsuite/65205
3572 * testsuite/lib/libgomp.exp
3573 (check_effective_target_openacc_host_selected)
3574 (check_effective_target_openacc_host_nonshm_selected): New
3575 procedures.
3576 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
3577 dg-shouldfail.
3578 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
3579 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
3580 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3581 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3582 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3583 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
3584 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3585 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3586 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3587 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3588 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3589 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
3590 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
3591 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3592 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3593 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
3594 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3595 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3596 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
3597 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
3598 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
3599 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
3600 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
3601 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3602 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3603 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3604 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3605 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3606 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3607 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3608 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3609 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
3610 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
3611 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
3612 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
3613 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
3614 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
3615 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
3616 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
3617 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
3618 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
3619 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
3620 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
3621
d93bdab5
JB
36222015-04-08 Julian Brown <julian@codesourcery.com>
3623
3624 * libgomp.h (target_mem_desc: Remove mem_map field.
3625 (acc_dispatch_t): Remove open_device_func, close_device_func,
3626 get_device_num_func, set_device_num_func, target_data members.
3627 Change create_thread_data_func argument to device number instead of
3628 generic pointer.
3629 * oacc-async.c (assert.h): Include.
3630 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
3631 (acc_wait_all, acc_wait_all_async): Use current host thread's
3632 active device, not base_dev.
3633 * oacc-cuda.c (acc_get_current_cuda_device)
3634 (acc_get_current_cuda_context, acc_get_cuda_stream)
3635 (acc_set_cuda_stream): Likewise.
3636 * oacc-host.c (host_dispatch): Don't set open_device_func,
3637 close_device_func, get_device_num_func or set_device_num_func.
3638 * oacc-init.c (base_dev, init_key): Remove.
3639 (cached_base_dev): New.
3640 (name_of_acc_device_t): New.
3641 (acc_init_1): Initialise default-numbered device, not zeroth.
3642 (acc_shutdown_1): Close all devices of a given type.
3643 (goacc_destroy_thread): Don't use base_dev.
3644 (lazy_open, lazy_init, lazy_init_and_open): Remove.
3645 (goacc_attach_host_thread_to_device): New.
3646 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
3647 (acc_get_num_devices): Don't use base_dev.
3648 (acc_set_device_type): Reimplement.
3649 (acc_get_device_type): Don't use base_dev.
3650 (acc_get_device_num): Tweak logic.
3651 (acc_set_device_num): Likewise.
3652 (acc_on_device): Use acc_get_device_type.
3653 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
3654 (goacc_lazy_initialize): Reimplement with acc_init and
3655 goacc_attach_host_thread_to_device.
3656 * oacc-int.h (goacc_thread): Add base_dev field.
3657 (base_dev): Remove extern declaration.
3658 (goacc_attach_host_thread_to_device): Add prototype.
3659 * oacc-mem.c (acc_malloc): Use current thread's device instead of
3660 base_dev.
3661 (acc_free): Likewise.
3662 (acc_memcpy_to_device): Likewise.
3663 (acc_memcpy_from_device): Likewise.
3664 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
3665 goacc_lazy_initialize (throughout).
3666 (GOACC_parallel): Use tgt_offset to locate target functions.
3667 * target.c (gomp_map_vars): Don't set tgt->mem_map.
3668 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
3669 (gomp_load_plugin_for_device): Remove open_device, close_device,
3670 get_device_num, set_device_num openacc hook initialisation. Don't set
3671 openacc.target_data.
3672 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
3673 (GOMP_OFFLOAD_openacc_close_device)
3674 (GOMP_OFFLOAD_openacc_get_device_num)
3675 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
3676 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
3677 to int.
3678 * plugin/plugin-nvptx.c (ptx_inited): Remove.
3679 (instantiated_devices, ptx_dev_lock): New.
3680 (struct ptx_image_data): New.
3681 (ptx_devices, ptx_images, ptx_image_lock): New.
3682 (fini_streams_for_device): Reorder cuStreamDestroy call.
3683 (nvptx_get_num_devices): Remove forward declaration.
3684 (nvptx_init): Change return type to bool.
3685 (nvptx_fini): Remove.
3686 (nvptx_attach_host_thread_to_device): New.
3687 (nvptx_open_device): Return struct ptx_device* instead of void*.
3688 (nvptx_close_device): Change argument type to struct ptx_device*,
3689 return type to void.
3690 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
3691 (kernel_target_data, kernel_host_table): Remove static globals.
3692 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
3693 (GOMP_OFFLOAD_init_device): Reimplement.
3694 (GOMP_OFFLOAD_fini_device): Likewise.
3695 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
3696 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
3697 (GOMP_OFFLOAD_host2dev): Use ORD argument.
3698 (GOMP_OFFLOAD_openacc_open_device)
3699 (GOMP_OFFLOAD_openacc_close_device)
3700 (GOMP_OFFLOAD_openacc_set_device_num)
3701 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
3702 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
3703 (device number).
3704
3705 testsuite/
3706 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
3707
a51df54e
IV
37082015-04-06 Ilya Verbin <ilya.verbin@intel.com>
3709
3710 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
3711 * libgomp.h (struct gomp_memory_mapping): Remove.
3712 (struct target_mem_desc): Change type of mem_map from
3713 gomp_memory_mapping * to splay_tree_s *.
3714 (struct gomp_device_descr): Remove register_image_func, get_table_func.
3715 Add load_image_func, unload_image_func.
3716 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
3717 Remove offload_regions_registered.
3718 (gomp_init_tables): Remove.
3719 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
3720 to splay_tree_s *.
3721 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
3722 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
3723 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
3724 offload_regions_registered.
3725 Initialize load_image_func, unload_image_func, mem_map.root.
3726 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
3727 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
3728 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
3729 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
3730 gomp_memory_mapping *. Use dev's lock and splay_tree.
3731 (lookup_dev): Use dev's lock.
3732 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
3733 (acc_is_present): Likewise.
3734 (acc_map_data): Likewise.
3735 (acc_unmap_data): Likewise. Use dev's lock.
3736 (present_create_copy): Likewise.
3737 (delete_copyout): Pass dev to lookup_host instead of mem_map.
3738 (update_dev_host): Likewise.
3739 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
3740 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
3741 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
3742 (GOMP_OFFLOAD_get_table): Remove
3743 (GOMP_OFFLOAD_load_image): New function.
3744 (GOMP_OFFLOAD_unload_image): New function.
3745 * target.c (register_lock): New mutex for offload image registration.
3746 (num_devices): Do not guard with PLUGIN_SUPPORT.
3747 (gomp_realloc_unlock): New static function.
3748 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
3749 before gomp_fatal.
3750 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
3751 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
3752 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
3753 mem_map's.
3754 (gomp_unmap_vars): Likewise.
3755 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
3756 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
3757 (gomp_offload_image_to_device): New static function.
3758 (GOMP_offload_register): Add mutex lock.
3759 Call gomp_offload_image_to_device for all initialized devices.
3760 Replace gomp_realloc with gomp_realloc_unlock.
3761 (GOMP_offload_unregister): New function.
3762 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
3763 get_table_func from the plugin with calls to init_device_func and
3764 gomp_offload_image_to_device.
3765 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
3766 to splay_tree_s *.
3767 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
3768 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
3769 (GOMP_target_data): Do not call gomp_init_tables.
3770 (GOMP_target_update): Likewise. Remove argument from gomp_update.
3771 (gomp_load_plugin_for_device): Replace register_image and get_table
3772 with load_image and unload_image in DLSYM ().
3773 (gomp_register_images_for_device): Remove function.
3774 (gomp_target_init): Do not initialize current_device.mem_map.*,
3775 current_device.offload_regions_registered.
3776 Remove call to gomp_register_images_for_device.
3777 Do not free offload_images and num_offload_images.
3778
6c384511
JJ
37792015-03-30 Jakub Jelinek <jakub@redhat.com>
3780
3781 PR fortran/65597
3782 * testsuite/libgomp.fortran/pr65597.f90: New test.
3783
3e8165a5
TV
37842015-03-27 Tom de Vries <tom@codesourcery.com>
3785
3786 PR testsuite/65594
3787 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
3788 (init, check): New function.
3789 (foo): Change return type to void.
3790 (main): Call init and check.
3791
4d688c9a
TV
37922015-03-27 Tom de Vries <tom@codesourcery.com>
3793
3794 PR testsuite/65594
3795 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
3796 (foo): Use M for non-inner loops to scale down test-case.
3797
01c0b3b0
KT
37982015-03-25 Kai Tietz <ktietz@redhat.com>
3799
3800 PR libgomp/64972
3801 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
3802 (GOACC_data_start): Likewise.
3803 * target.c (gomp_map_vars): Likewise.
3804
844d9a76
JDA
38052015-03-21 John David Anglin <danglin@gcc.gnu.org>
3806
3807 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
3808 hppa*-*-hpux*.
3809
9b65e171
JJ
38102015-03-19 Jakub Jelinek <jakub@redhat.com>
3811
3812 * testsuite/libgomp.c/target-10.c: New test.
3813 * testsuite/libgomp.c++/target-4.C: New test.
3814
db397e2e
IV
38152015-03-13 Ilya Verbin <ilya.verbin@intel.com>
3816
3817 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
3818 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
3819
cd93945d
SH
38202015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
3821
3822 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
3823 * configure.ac (*-*-rtems*): Assume Pthread is supported.
3824 (pthread.h): Check for this header file.
3825 * configure: Regenerate.
3826
05deba9f
TV
38272015-02-25 Tom de Vries <tom@codesourcery.com>
3828
3829 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
3830 (check_reduction_op, check_reduction_macro, max, min):
3831 Declare.
3832 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
3833 function.
3834 (main): Use new functions.
3835
196904d8
IT
38362015-02-18 Ilya Tocar <ilya.tocar@intel.com>
3837
3838 * target.c (gomp_load_plugin_for_device): Use const char * instead of
3839 char * for variables holding dlerror return values.
3840 (DLSYM_OPT): Ditto.
3841
a2818955
TS
38422015-02-17 Thomas Schwinge <thomas@codesourcery.com>
3843
3844 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
3845
26f93312
TS
38462015-02-17 Thomas Schwinge <thomas@codesourcery.com>
3847 Cesar Philippidis <cesar@codesourcery.com>
3848
3849 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
3850 GOACC_ctaid, and GOACC_nctaid routines.
3851
fa01ffcc
JJ
38522015-02-11 Jakub Jelinek <jakub@redhat.com>
3853
3854 PR c/64824
3855 * testsuite/libgomp.c/atomic-18.c: New test.
3856 * testsuite/libgomp.c++/atomic-16.C: New test.
3857
4886ec8e
JJ
38582015-02-04 Jakub Jelinek <jakub@redhat.com>
3859
3860 PR c/64824
3861 PR c/64868
3862 * testsuite/libgomp.c/pr64824.c: New test.
3863 * testsuite/libgomp.c/pr64868.c: New test.
3864 * testsuite/libgomp.c++/pr64824.C: New test.
3865 * testsuite/libgomp.c++/pr64868.C: New test.
3866
02d3e45e
DE
38672015-02-01 David Edelsohn <dje.gcc@gmail.com>
3868
3869 PR libgomp/64635
3870 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
3871 Link with -lpthread.
3872 * config/aix/plugin-suffix.h: Delete.
3873
b5f7a6ca
JH
38742015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
3875
3876 PR libgomp/64635
3877 * configure.tgt (*-*-aix*): Use config_path "aix posix".
3878 (*-*-darwin*): Use config_path "bsd darwin posix".
3879 (*-*-hpux*): Use config_path "hpux posix".
3880 * target.c: Add include of plugin-suffix.h and use
3881 SONAME_SUFFIX macro.
3882 * config/aix/plugin-suffix.h: New file.
3883 * config/darwin/plugin-suffix.h: New file.
3884 * config/hpux/plugin-suffix.h: New file.
3885 * config/posix/plugin-suffix.h: New file.
3886
b8910447
JJ
38872015-01-23 Jakub Jelinek <jakub@redhat.com>
3888
3889 PR middle-end/64734
3890 * libgomp.c/pr64734.c: New test.
3891
a0c88d06
TV
38922015-01-23 Tom de Vries <tom@codesourcery.com>
3893
3894 PR libgomp/64672
3895 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
3896
1506ae0e
TV
38972015-01-23 Tom de Vries <tom@codesourcery.com>
3898
3899 PR libgomp/64707
3900 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
3901 dg-options.
3902
128b26dc
TS
39032015-01-19 Thomas Schwinge <thomas@codesourcery.com>
3904
bed62c21 3905 PR libgomp/64625
128b26dc
TS
3906 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
3907 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
3908 formal parameter. Update all users.
3909 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
3910 Document unused formal parameter.
3911
6e36114c
TS
39122015-01-16 Thomas Schwinge <thomas@codesourcery.com>
3913
3914 * oacc-parallel.c: Don't include <alloca.h>.
3915 (GOACC_parallel): Use gomp_alloca instead of alloca.
3916
973e9808
GP
39172015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
3918
3919 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
3920
41dbbb37
TS
39212015-01-15 Thomas Schwinge <thomas@codesourcery.com>
3922 James Norris <jnorris@codesourcery.com>
3923 Tom de Vries <tom@codesourcery.com>
3924 Julian Brown <julian@codesourcery.com>
3925 Cesar Philippidis <cesar@codesourcery.com>
3926 Nathan Sidwell <nathan@codesourcery.com>
3927 Tobias Burnus <burnus@net-b.de>
3928
3929 * Makefile.am (search_path): Add $(top_srcdir)/../include.
3930 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
3931 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
3932 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
3933 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
3934 Include $(top_srcdir)/plugin/Makefrag.am.
3935 (nodist_libsubinclude_HEADERS): Add openacc.h.
3936 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
3937 openacc.f90, openacc.mod, openacc_kinds.mod.
3938 (omp_lib.mod): Generalize into...
3939 (%.mod): ... this new rule.
3940 (openacc_kinds.mod, openacc.mod): New rules.
3941 * plugin/configfrag.ac: New file.
3942 * configure.ac: Move plugin/offloading support into it. Include
3943 it. Instantiate testsuite/libgomp-test-support.pt.exp.
3944 * plugin/Makefrag.am: New file.
3945 * testsuite/Makefile.am (OFFLOAD_TARGETS)
3946 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
3947 export.
3948 (libgomp-test-support.exp): New rule.
3949 (all-local): Depend on it.
3950 * Makefile.in: Regenerate.
3951 * testsuite/Makefile.in: Regenerate.
3952 * config.h.in: Likewise.
3953 * configure: Likewise.
3954 * configure.tgt: Harden shell syntax.
3955 * env.c: Include "oacc-int.h".
3956 (parse_acc_device_type): New function.
3957 (gomp_debug_var, goacc_device_type, goacc_device_num): New
3958 variables.
3959 (initialize_env): Initialize those. Call
3960 goacc_runtime_initialize.
3961 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
3962 (gomp_fatal): Call gomp_vfatal.
3963 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
3964 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
3965 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
3966 (splay_tree_node, splay_tree, splay_tree_key)
3967 (struct target_mem_desc, struct splay_tree_key_s)
3968 (struct gomp_memory_mapping, struct acc_dispatch_t)
3969 (struct gomp_device_descr, gomp_acc_insert_pointer)
3970 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
3971 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
3972 (gomp_free_memmap, gomp_fini_device): New declarations.
3973 (gomp_vdebug, gomp_debug): New macros.
3974 Include "splay-tree.h".
3975 * libgomp.map (OACC_2.0): New symbol version. Use for
3976 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
3977 acc_set_device_type_h_, acc_get_device_type,
3978 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
3979 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
3980 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
3981 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
3982 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
3983 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
3984 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
3985 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
3986 acc_copyin_array_h_, acc_present_or_copyin,
3987 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
3988 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
3989 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
3990 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
3991 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
3992 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
3993 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
3994 acc_update_device, acc_update_device_32_h_,
3995 acc_update_device_64_h_, acc_update_device_array_h_,
3996 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
3997 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
3998 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
3999 acc_is_present_64_h_, acc_is_present_array_h_,
4000 acc_memcpy_to_device, acc_memcpy_from_device,
4001 acc_get_current_cuda_device, acc_get_current_cuda_context,
4002 acc_get_cuda_stream, acc_set_cuda_stream.
4003 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
4004 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
4005 GOACC_update, GOACC_wait, GOACC_get_thread_num,
4006 GOACC_get_num_threads.
4007 (GOMP_PLUGIN_1.0): New symbol version. Use for
4008 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
4009 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
4010 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
4011 GOMP_PLUGIN_acc_thread.
4012 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
4013 environment variable.
4014 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
4015 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
4016 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
4017 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
4018 (splay_tree_remove): New declarations.
4019 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
4020 (splay_tree_remove, splay_tree_lookup): Move into...
4021 * splay-tree.c: ... this new file.
4022 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
4023 (splay_tree_node, splay_tree, splay_tree_key)
4024 (struct target_mem_desc, struct splay_tree_key_s)
4025 (struct gomp_device_descr): Don't declare.
4026 (num_devices_openmp): New variable.
4027 (gomp_get_num_devices ): Use it.
4028 (gomp_init_targets_once): New function.
4029 (gomp_get_num_devices ): Use it.
4030 (get_kind, gomp_copy_from_async, gomp_free_memmap)
4031 (gomp_fini_device, gomp_register_image_for_device): New functions.
4032 (gomp_map_vars): Add devaddrs parameter.
4033 (gomp_update): Add mm parameter.
4034 (gomp_init_device): Move most of it into...
4035 (gomp_init_tables): ... this new function.
4036 (gomp_register_images_for_device): Remove function.
4037 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
4038 Make them hidden instead of static.
4039 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
4040 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
4041 (GOMP_target_end_data, GOMP_target_update)
4042 (gomp_load_plugin_for_device, gomp_target_init): Update for
4043 OpenACC changes.
4044 * oacc-async.c: New file.
4045 * oacc-cuda.c: Likewise.
4046 * oacc-host.c: Likewise.
4047 * oacc-init.c: Likewise.
4048 * oacc-int.h: Likewise.
4049 * oacc-mem.c: Likewise.
4050 * oacc-parallel.c: Likewise.
4051 * oacc-plugin.c: Likewise.
4052 * oacc-plugin.h: Likewise.
4053 * oacc-ptx.h: Likewise.
4054 * openacc.f90: Likewise.
4055 * openacc.h: Likewise.
4056 * openacc_lib.h: Likewise.
4057 * plugin/plugin-host.c: Likewise.
4058 * plugin/plugin-nvptx.c: Likewise.
4059 * libgomp-plugin.c: Likewise.
4060 * libgomp-plugin.h: Likewise.
4061 * libgomp_target.h: Remove file after merging content into the
4062 former file. Update all users.
4063 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
4064 (offload_targets_s, offload_targets_s_openacc): New variables.
4065 (check_effective_target_openacc_nvidia_accel_present)
4066 (check_effective_target_openacc_nvidia_accel_selected): New
4067 procedures.
4068 (libgomp_init): Update for OpenACC changes.
4069 * testsuite/libgomp-test-support.exp.in: New file.
4070 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
4071 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4072 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4073 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
4074 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
4075 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4076 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
4077 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
4078 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
4079 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
4080 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
4081 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
4082 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
4083 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4084 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
4085 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4086 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
4087 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
4088 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
4089 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
4090 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
4091 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
4092 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4093 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
4094 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4095 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4096 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4097 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4098 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4099 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4100 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4101 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
4102 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
4103 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
4104 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
4105 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
4106 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
4107 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
4108 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
4109 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
4110 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4111 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4112 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4113 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4114 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4115 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
4116 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4117 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4118 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4119 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4120 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4121 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4122 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4123 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4124 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4125 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4126 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4127 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
4128 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4129 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
4130 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
4131 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
4132 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4133 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4134 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4135 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
4136 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
4137 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4138 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
4139 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4140 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
4141 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4142 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4143 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4144 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
4145 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
4146 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4147 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4148 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
4149 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
4150 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
4151 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
4152 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4153 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4154 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4155 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
4156 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
4157 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4158 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4159 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
4160 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
4161 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
4162 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
4163 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
4164 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4165 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4166 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4167 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
4168 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4169 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4170 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
4171 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
4172 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
4173 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
4174 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
4175 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
4176 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
4177 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
4178 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
4179 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
4180 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
4181 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
4182 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
4183 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
4184 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
4185 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
4186 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
4187 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
4188 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
4189 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
4190 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
4191 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
4192 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
4193 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
4194 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
4195 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
4196 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
4197 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
4198 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
4199 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
4200 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
4201 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
4202 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
4203 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
4204 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
4205 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4206 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4207 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4208 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4209 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
4210 Likewise.
4211 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
4212 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
4213 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
4214 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
4215 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
4216 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4217 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
4218 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4219 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4220 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4221 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4222 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4223 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4224 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
4225 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
4226 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
4227 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
4228 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
4229 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
4230 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
4231 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
4232 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
4233 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
4234 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
4235 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4236 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
4237 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
4238 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4239 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4240 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4241 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4242 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4243 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4244 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4245 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
4246 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
4247 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
4248 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
4249 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
4250 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
4251 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
4252 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
4253 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
4254 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
4255 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
4256 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
4257 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
4258 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
4259 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
4260 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4261 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4262 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4263 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4264 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4265 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
4266 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
4267 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
4268 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
4269 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
4270 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
4271
f1f3453e
TS
42722015-01-10 Thomas Schwinge <thomas@codesourcery.com>
4273 Julian Brown <julian@codesourcery.com>
4274 David Malcolm <dmalcolm@redhat.com>
4275
4276 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
4277 to "GNU Offloading and Multi Processing Runtime Library". Change
4278 all users.
4279 * configure: Regenerate.
4280 * libgomp.texi: Update.
4281
f9a0eca4
TS
42822015-01-08 Thomas Schwinge <thomas@codesourcery.com>
4283
b335ef4e
TS
4284 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
4285 "$tgt_dir/lib32".
4286 * configure: Regenerate.
4287
f9a0eca4
TS
4288 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
4289 "intelmic" in $offload_targets.
4290
b67cd4e3
JJ
42912015-01-05 Jakub Jelinek <jakub@redhat.com>
4292
5624e564
JJ
4293 Update copyright years.
4294
b67cd4e3
JJ
4295 * libgomp.texi: Bump @copying's copyright year.
4296
3b41b583
KT
42972014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4298
4299 * testsuite/lib/libgomp.exp: Load target-utils.exp.
4300 Move load of target-supportes.exp earlier.
4301
2354caec
IV
43022014-12-10 Ilya Verbin <ilya.verbin@intel.com>
4303
4304 * testsuite/libgomp.c/target-9.c: New test.
4305
f50eecba
VR
43062014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
4307
4308 * config.h.in: Regenerate.
4309 * configure: Regenerate.
4310 * configure.ac: Add GCC_CHECK_EMUTLS.
4311 * libgomp.h: Add check for USE_EMUTLS: this case
4312 is equal to HAVE_TLS.
4313 * team.c: Likewise.
4314
68bc9270
UB
43152014-12-03 Uros Bizjak <ubizjak@gmail.com>
4316
4317 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
4318
476ff787
AT
43192014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
4320 Ilya Verbin <ilya.verbin@intel.com>
4321
4322 * testsuite/libgomp.c/target-critical-1.c: New test.
4323
31a30e62
JJ
43242014-11-26 Jakub Jelinek <jakub@redhat.com>
4325
4326 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 4327 to dg-options unless expensive testing is on.
31a30e62
JJ
4328 (TESTITERS): Define to N if not defined.
4329 (main): Use TESTITERS instead of N.
4330 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
4331 dg-additional-options depending on whether expensive testing is on.
4332 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
4333 Decrease N to 100000 and CHUNKSZ to 10000.
4334
3f9e8f13
JJ
43352014-11-24 Jakub Jelinek <jakub@redhat.com>
4336
4337 PR fortran/63938
31a30e62
JJ
4338 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
4339 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 4340
c8451a46
SE
43412014-11-21 Steve Ellcey <sellcey@imgtec.com>
4342
4343 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
4344
a699d672
L
43452014-11-21 H.J. Lu <hongjiu.lu@intel.com>
4346
4347 PR bootstrap/63784
4348 * configure: Regenerated.
4349
4a19f719
UB
43502014-11-19 Uros Bizjak <ubizjak@gmail.com>
4351
4352 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
4353 vect_simd_clones effective target.
4354 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
4355
b1bf6c52
JJ
43562014-11-14 Jakub Jelinek <jakub@redhat.com>
4357
4358 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
4359 of 32 as block_size.
4360 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
4361 instead of 32 as block_size.
4362
d64ae614
AT
43632014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
4364 Ilya Verbin <ilya.verbin@intel.com>
4365
4366 * Makefile.in: Regenerate.
4367 * configure: Regenerate.
4368 * configure.ac: Set up offload_additional_options,
4369 offload_additional_lib_paths and offload_targets.
4370 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
4371 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
4372 * testsuite/Makefile.in: Regenerate.
4373 * testsuite/lib/libgomp.exp (libgomp_init): Append
4374 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
4375 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
4376 build directory to LD_LIBRARY_PATH for intelmic offload targets.
4377
122d7303
AT
43782014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
4379 Ilya Verbin <ilya.verbin@intel.com>
4380 Kirill Yukhin <kirill.yukhin@intel.com>
4381 Ilya Tocar <ilya.tocar@intel.com>
4382
4383 * testsuite/lib/libgomp.exp
4384 (check_effective_target_offload_device): New.
4385 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
4386 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
4387 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
4388 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
4389 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
4390 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
4391 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
4392 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
4393 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
4394 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
4395 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
4396 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
4397 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
4398 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
4399 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
4400 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
4401 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
4402 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
4403 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
4404 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
4405 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
4406 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
4407 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
4408 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
4409 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
4410 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
4411 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
4412 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
4413 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
4414 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
4415 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
4416 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
4417 * testsuite/libgomp.c/target-7.c: Fix test.
4418 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
4419 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
4420 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
4421 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
4422 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
4423 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
4424 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
4425 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
4426 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
4427 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
4428 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
4429 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
4430 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
4431 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
4432 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
4433 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
4434 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
4435 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
4436 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
4437 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
4438 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
4439 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
4440 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
4441 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
4442 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
4443 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
4444 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
4445 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
4446 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
4447 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
4448 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
4449
1df3f842
JJ
44502014-11-13 Jakub Jelinek <jakub@redhat.com>
4451 Ilya Verbin <ilya.verbin@intel.com>
4452 Thomas Schwinge <thomas@codesourcery.com>
4453 Andrey Turetskiy <andrey.turetskiy@intel.com>
4454
4455 * libgomp.map (GOMP_4.0.1): New symbol version.
4456 Add GOMP_offload_register.
4457 * libgomp_target.h: New file.
4458 * splay-tree.h: New file.
4459 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
4460 (gomp_target_init): New forward declaration.
4461 (gomp_is_initialized): New static variable.
4462 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
4463 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
4464 New structures.
4465 (offload_images, num_offload_images, devices, num_devices): New static
4466 variables.
4467 (splay_compare): New static function.
4468 (struct gomp_device_descr): New structure.
4469 (gomp_get_num_devices): Call gomp_target_init.
4470 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
4471 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
4472 (GOMP_offload_register): New function.
4473 (GOMP_target): Arrange for host callback to be performed in a separate
4474 initial thread and contention group, inheriting ICVs from
4475 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
4476 Add device initialization and lookup for target function in splay tree.
4477 (GOMP_target_data): Add device initialization and call gomp_map_vars.
4478 (GOMP_target_end_data): Call gomp_unmap_vars.
4479 (GOMP_target_update): Add device initialization and call gomp_update.
4480 (gomp_load_plugin_for_device, gomp_register_images_for_device)
4481 (gomp_target_init): New static functions.
4482
85c64bbe
BS
44832014-11-13 Bernd Schmidt <bernds@codesourcery.com>
4484 Thomas Schwinge <thomas@codesourcery.com>
4485 Ilya Verbin <ilya.verbin@intel.com>
4486 Andrey Turetskiy <andrey.turetskiy@intel.com>
4487
4488 * config.h.in: Regenerate.
4489 * configure: Regenerate.
4490 * configure.ac: Check for libdl, required for plugin support.
4491 (PLUGIN_SUPPORT): Define if plugins are supported.
4492 (enable_offload_targets): Support Intel MIC targets.
4493 (OFFLOAD_TARGETS): List of target names suitable for offloading.
4494
ebf6d33b
FXC
44952014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4496
4497 PR target/63610
4498 * configure: Regenerate.
4499
8c768629
RO
45002014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4501
4502 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
4503
c1d62412
MP
45042014-10-06 Marek Polacek <polacek@redhat.com>
4505
4506 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
4507 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
4508 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
4509 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4510
44a0c6cb
MP
45112014-10-06 Marek Polacek <polacek@redhat.com>
4512
4513 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
4514 * testsuite/libgomp.c/nqueens-1.c: Likewise.
4515 * testsuite/libgomp.c/pr26943-3.c: Likewise.
4516 * testsuite/libgomp.c/pr26943-4.c: Likewise.
4517 * testsuite/libgomp.c/pr36802-2.c: Likewise.
4518 * testsuite/libgomp.c/pr36802-3.c: Likewise.
4519 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
4520 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
4521 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
4522 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
4523 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
4524 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
4525 * testsuite/libgomp.c/omp-single-1.c: Likewise.
4526 * testsuite/libgomp.c/omp-single-2.c: Likewise.
4527 * testsuite/libgomp.c/omp_matvec.c: Likewise.
4528 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
4529 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
4530 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
4531 declarations.
4532
5771c391
JJ
45332014-10-03 Jakub Jelinek <jakub@redhat.com>
4534
4535 PR libgomp/61200
4536 * testsuite/libgomp.c/pr61200.c: New test.
4537
bce16b88
JJ
45382014-09-18 Jakub Jelinek <jakub@redhat.com>
4539
4540 PR c++/63248
4541 * testsuite/libgomp.c++/pr63248.C: New test.
4542
3696163c
JJ
45432014-08-04 Jakub Jelinek <jakub@redhat.com>
4544
4545 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
4546 is not zero, but taskgroup->children is NULL and there are
4547 any task->children, schedule those instead of waiting.
4548 * testsuite/libgomp.c/depend-6.c: New test.
4549 * testsuite/libgomp.c/depend-7.c: New test.
4550 * testsuite/libgomp.c/depend-8.c: New test.
4551 * testsuite/libgomp.c/depend-9.c: New test.
4552 * testsuite/libgomp.c/depend-10.c: New test.
4553
0494285a
JJ
45542014-08-01 Jakub Jelinek <jakub@redhat.com>
4555
4556 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
4557 (struct gomp_taskwait): New type.
4558 (struct gomp_task): Add taskwait and parent_depends_on, remove
4559 in_taskwait and taskwait_sem fields.
4560 (gomp_finish_task): Don't destroy taskwait_sem.
4561 * task.c (gomp_init_task): Don't init in_taskwait, instead init
4562 taskwait and parent_depends_on.
4563 (GOMP_task): For if (0) tasks with depend clause that depend on
4564 earlier tasks don't defer them, instead call
4565 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
4566 Initialize redundant_out field, for redundant out entries just
4567 move them at the end of linked list instead of removing them
4568 completely, and set redundant_out flag instead of redundant.
4569 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
4570 that task.
4571 (gomp_task_run_post_handle_dependers): If parent is in
4572 gomp_task_maybe_wait_for_dependencies and newly runnable task
4573 is not parent_depends_on, queue it in parent->children linked
4574 list after all runnable tasks with parent_depends_on set.
4575 Adjust for addition of taskwait indirection.
4576 (gomp_task_run_post_remove_parent): If parent is in
4577 gomp_task_maybe_wait_for_dependencies and task to be removed
4578 is parent_depends_on, decrement n_depend and if needed awake
4579 parent. Adjust for addition of taskwait indirection.
4580 (GOMP_taskwait): Adjust for addition of taskwait indirection.
4581 (gomp_task_maybe_wait_for_dependencies): New function.
4582 * testsuite/libgomp.c/depend-5.c: New test.
4583
60ab4b44
TB
45842014-07-13 Tobias Burnus <burnus@net-b.de>
4585
4586 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 4587 with TS 18508/Fortran 2015.
60ab4b44 4588
773ec47f
MP
45892014-07-06 Marek Polacek <polacek@redhat.com>
4590
4591 PR c/6940
4592 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
4593
f707da16
JJ
45942014-07-03 Jakub Jelinek <jakub@redhat.com>
4595
4596 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
4597 matches regex $lang_source_re, add $lang_include_flags to options.
4598 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
4599 * testsuite/libgomp.c++/c++.exp: Likewise.
4600 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
4601 and lang_include_flags instead of adding -fintrinsic-modules-path= to
4602 ALWAYS_CFLAGS.
4603 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
4604
07b6c044
TS
46052014-07-03 Thomas Schwinge <thomas@codesourcery.com>
4606
4607 * testsuite/libgomp.fortran/fortran.exp: Explain
4608 gfortran-dg-runtest usage.
4609
da6f124d
JJ
46102014-06-25 Jakub Jelinek <jakub@redhat.com>
4611
4612 * testsuite/libgomp.fortran/simd5.f90: New test.
4613 * testsuite/libgomp.fortran/simd6.f90: New test.
4614 * testsuite/libgomp.fortran/simd7.f90: New test.
4615
b46ebd6c
JJ
46162014-06-24 Jakub Jelinek <jakub@redhat.com>
4617
56ad0e38
JJ
4618 * testsuite/libgomp.c/for-2.c: Define SC to static for
4619 #pragma omp for simd testing.
4620 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
4621 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
4622 SC macro.
4623 * testsuite/libgomp.c/simd-14.c: New test.
4624 * testsuite/libgomp.c/simd-15.c: New test.
4625 * testsuite/libgomp.c/simd-16.c: New test.
4626 * testsuite/libgomp.c/simd-17.c: New test.
4627 * testsuite/libgomp.c++/for-10.C: Define SC to static for
4628 #pragma omp for simd testing.
4629 * testsuite/libgomp.c++/simd10.C: New test.
4630 * testsuite/libgomp.c++/simd11.C: New test.
4631 * testsuite/libgomp.c++/simd12.C: New test.
4632 * testsuite/libgomp.c++/simd13.C: New test.
4633
b46ebd6c
JJ
4634 * testsuite/libgomp.fortran/aligned1.f03: New test.
4635 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
4636 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
4637 tasks with !$omp parallel !$omp single.
4638 * testsuite/libgomp.fortran/target8.f90: New test.
4639 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
4640 not to use trim in the combiner, instead call elemental function.
4641 (fn): New elemental function.
4642 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
4643 Make elemental.
4644 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
4645 omp_in): Likewise.
4646 * testsuite/libgomp.fortran/udr12.f90: New test.
4647 * testsuite/libgomp.fortran/udr13.f90: New test.
4648 * testsuite/libgomp.fortran/udr14.f90: New test.
4649 * testsuite/libgomp.fortran/udr15.f90: New test.
4650
f014c653
JJ
46512014-06-18 Jakub Jelinek <jakub@redhat.com>
4652
4653 * omp_lib.f90.in (openmp_version): Set to 201307.
4654 * omp_lib.h.in (openmp_version): Likewise.
4655 * testsuite/libgomp.c/target-8.c: New test.
4656 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
4657 and inbranch clauses.
4658 * testsuite/libgomp.fortran/depend-3.f90: New test.
4659 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
4660 openmp_version.
4661 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4662 * testsuite/libgomp.fortran/target1.f90: New test.
4663 * testsuite/libgomp.fortran/target2.f90: New test.
4664 * testsuite/libgomp.fortran/target3.f90: New test.
4665 * testsuite/libgomp.fortran/target4.f90: New test.
4666 * testsuite/libgomp.fortran/target5.f90: New test.
4667 * testsuite/libgomp.fortran/target6.f90: New test.
4668 * testsuite/libgomp.fortran/target7.f90: New test.
4669
92d28cbb
JJ
46702014-06-10 Jakub Jelinek <jakub@redhat.com>
4671
4672 PR fortran/60928
4673 * testsuite/libgomp.fortran/allocatable9.f90: New test.
4674 * testsuite/libgomp.fortran/allocatable10.f90: New test.
4675 * testsuite/libgomp.fortran/allocatable11.f90: New test.
4676 * testsuite/libgomp.fortran/allocatable12.f90: New test.
4677 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
4678 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
4679 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
4680 * testsuite/libgomp.fortran/associate1.f90: New test.
4681 * testsuite/libgomp.fortran/associate2.f90: New test.
4682 * testsuite/libgomp.fortran/procptr1.f90: New test.
4683
5f23671d
JJ
46842014-06-06 Jakub Jelinek <jakub@redhat.com>
4685
4686 * testsuite/libgomp.fortran/simd1.f90: New test.
4687 * testsuite/libgomp.fortran/udr1.f90: New test.
4688 * testsuite/libgomp.fortran/udr2.f90: New test.
4689 * testsuite/libgomp.fortran/udr3.f90: New test.
4690 * testsuite/libgomp.fortran/udr4.f90: New test.
4691 * testsuite/libgomp.fortran/udr5.f90: New test.
4692 * testsuite/libgomp.fortran/udr6.f90: New test.
4693 * testsuite/libgomp.fortran/udr7.f90: New test.
4694 * testsuite/libgomp.fortran/udr8.f90: New test.
4695 * testsuite/libgomp.fortran/udr9.f90: New test.
4696 * testsuite/libgomp.fortran/udr10.f90: New test.
4697 * testsuite/libgomp.fortran/udr11.f90: New test.
4698
0389fbb5
UB
46992014-05-27 Uros Bizjak <ubizjak@gmail.com>
4700
4701 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
4702 vect_simd_clones effective target.
4703 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
4704
decaaec8
JJ
47052014-05-21 Jakub Jelinek <jakub@redhat.com>
4706
4707 PR middle-end/61252
4708 * testsuite/libgomp.c++/simd-9.C: New test.
4709
72832460
UB
47102014-05-18 Uros Bizjak <ubizjak@gmail.com>
4711
4712 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
4713 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
4714 texts according to their @menu entry positions.
4715
dd2fc525
JJ
47162014-05-11 Jakub Jelinek <jakub@redhat.com>
4717
4718 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
4719 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
4720 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
4721 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
4722 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
4723 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
4724 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
4725 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
4726 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
4727 * testsuite/libgomp.fortran/depend-1.f90: New test.
4728 * testsuite/libgomp.fortran/depend-2.f90: New test.
4729 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
4730 * testsuite/libgomp.fortran/simd1.f90: New test.
4731 * testsuite/libgomp.fortran/simd2.f90: New test.
4732 * testsuite/libgomp.fortran/simd3.f90: New test.
4733 * testsuite/libgomp.fortran/simd4.f90: New test.
4734 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
4735
95782571
JJ
47362014-05-02 Jakub Jelinek <jakub@redhat.com>
4737
4738 * testsuite/libgomp.c/simd-10.c: New test.
4739 * testsuite/libgomp.c/simd-11.c: New test.
4740 * testsuite/libgomp.c/simd-12.c: New test.
4741 * testsuite/libgomp.c/simd-13.c: New test.
4742
f7468577
JJ
47432014-04-24 Jakub Jelinek <jakub@redhat.com>
4744
42056eac
JJ
4745 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
4746 atomic type clauses in any order and optional comma in between.
4747 * testsuite/libgomp.c++/atomic-15.C: Likewise.
4748 * testsuite/libgomp.c/atomic-17.c: Likewise.
4749
f7468577
JJ
4750 * testsuite/libgomp.c/simd-7.c: New test.
4751 * testsuite/libgomp.c/simd-8.c: New test.
4752 * testsuite/libgomp.c/simd-9.c: New test.
4753 * testsuite/libgomp.c/loop-16.c: New test.
4754
ab18f2f5
RH
47552014-04-02 Richard Henderson <rth@redhat.com>
4756
4757 * config/linux/futex.h (futex_wait): Get error value from errno.
4758 (futex_wake): Likewise.
4759
8bcc90b0
JJ
47602014-03-25 Jakub Jelinek <jakub@redhat.com>
4761
4762 PR c++/60331
4763 * testsuite/libgomp.c++/udr-11.C: New test.
4764 * testsuite/libgomp.c++/udr-12.C: New test.
4765 * testsuite/libgomp.c++/udr-13.C: New test.
4766 * testsuite/libgomp.c++/udr-14.C: New test.
4767 * testsuite/libgomp.c++/udr-15.C: New test.
4768 * testsuite/libgomp.c++/udr-16.C: New test.
4769 * testsuite/libgomp.c++/udr-17.C: New test.
4770 * testsuite/libgomp.c++/udr-18.C: New test.
4771 * testsuite/libgomp.c++/udr-19.C: New test.
4772
18d73c7f
RS
47732014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4774
4775 Update copyright years
4776
f9030485
RS
47772014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
4778
4779 * hashtab.h: Use the standard form for the copyright notice.
4780
98db73df
TB
47812014-01-02 Tobias Burnus <burnus@net-b.de>
4782
4783 * libgomp.texi: Bump @copying's copyright year.
4784
ae246f7f
AT
47852013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
4786
4787 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
4788 alloca () with __builtin_alloca ().
4789 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
4790 * testsuite/libgomp.c/lock-3.c: Likewise.
4791 * testsuite/libgomp.c/pr48591.c: Likewise.
4792
fa00a5fe
JJ
47932013-12-17 Jakub Jelinek <jakub@redhat.com>
4794
4795 PR testsuite/59534
4796 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
4797 comparisons.
4798
e9792e1d
JJ
47992013-12-16 Jakub Jelinek <jakub@redhat.com>
4800
4801 PR libgomp/58756
4802 * testsuite/libgomp.c/pr58756.c: New test.
4803
cab37c89
JJ
48042013-12-12 Jakub Jelinek <jakub@redhat.com>
4805
4806 PR libgomp/59467
4807 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
4808 !$omp parallel.
4809
de14871c
TS
48102013-11-07 Thomas Schwinge <thomas@codesourcery.com>
4811
1707a5de
TS
4812 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
4813 ALWAYS_CFLAGS.
4814 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
4815 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
4816 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
4817 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
4818 Likewise.
4819
70f05c43
TS
4820 * libgomp_g.h: Include <stddef.h> for size_t.
4821
de14871c
TS
4822 * libgomp.spec.in: Update comment about libgomp's dependencies.
4823 * configure.ac: Likewise.
4824 * configure: Regenerate.
4825
83fd6c5b
TB
48262013-10-16 Tobias Burnus <burnus@net-b.de>
4827
4828 * libgomp.texi: (Runtime Library Routines): Update references for
4829 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
4830 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
4831 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
4832 (Environment Variables): Update references for OpenMP 4.0. Add
4833 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
4834 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
4835 order.
4836
c8673881
JJ
48372013-10-14 Jakub Jelinek <jakub@redhat.com>
4838
4839 * env.c (parse_bind_var): Initialize value to avoid
4840 (false positive) warning.
4841
f89163fd
JJ
48422013-10-12 Jakub Jelinek <jakub@redhat.com>
4843
4844 PR libgomp/58691
4845 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
4846 to check variable.
4847 (gomp_init_num_threads): Move i variable declaration into
4848 #ifdef CPU_ALLOC_SIZE block.
4849 * config/linux/affinity.c (gomp_affinity_init_level): Test
4850 gomp_places_list_len == 0 rather than gomp_places_list == 0
4851 when checking for topology reading error.
4852 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
4853 * env.c (parse_affinity): Add ignore argument, if true, don't populate
4854 gomp_places_list, only parse env var and always return false.
4855 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
4856 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
4857 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
4858 and either of these variables were parsed correctly into a places
4859 list.
4860
1d340638
TS
48612013-10-11 Thomas Schwinge <thomas@codesourcery.com>
4862 Jakub Jelinek <jakub@redhat.com>
4863
4864 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
4865 of 5 loopfn matches.
4866 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
4867 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
4868 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
4869 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
4870 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
4871 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
4872 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
4873 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
4874
71a81c21
TS
48752013-10-11 Thomas Schwinge <thomas@codesourcery.com>
4876
bd87f731
TS
4877 * Makefile.am (omp_lib.mod): Streamline rule.
4878 * Makefile.in: Regenerate.
4879
f5745bed
TS
4880 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
4881 exceptions.
4882
b5512c66
TS
4883 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
4884 * testsuite/libgomp.fortran/lib1.f90: Likewise.
4885 * testsuite/libgomp.fortran/lib2.f: Likewise.
4886 * testsuite/libgomp.fortran/lib3.f: Likewise.
4887
451c19c4
TS
4888 * configure.ac: Typo fix.
4889 * configure: Regenerate.
4890
86a6016d
TS
4891 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
4892 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4893
71a81c21
TS
4894 * omp.h.in: Don't touch the user's namespace.
4895
acf0174b
JJ
48962013-10-11 Jakub Jelinek <jakub@redhat.com>
4897 Tobias Burnus <burnus@net-b.de>
4898 Richard Henderson <rth@redhat.com>
4899
4900 * target.c: New file.
4901 * Makefile.am (libgomp_la_SOURCES): Add target.c.
4902 * Makefile.in: Regenerated.
4903 * libgomp_g.h (GOMP_task): Add depend argument.
4904 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
4905 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
4906 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
4907 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
4908 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
4909 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
4910 GOMP_taskgroup_start, GOMP_taskgroup_end,
4911 GOMP_parallel_sections): New prototypes.
4912 * fortran.c (omp_is_initial_device): Add ialias_redirect.
4913 (omp_is_initial_device_): New function.
4914 (ULP, STR1, STR2, ialias_redirect): Removed.
4915 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
4916 omp_set_default_device_8_, omp_get_default_device_,
4917 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
4918 functions.
4919 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
4920 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
4921 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
4922 @@GOMP_4.0.
4923 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
4924 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
4925 omp_set_default_device, omp_set_default_device_,
4926 omp_set_default_device_8_, omp_get_default_device,
4927 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
4928 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
4929 omp_get_team_num_): Export @@OMP_4.0.
4930 * team.c (struct gomp_thread_start_data): Add place field.
4931 (gomp_thread_start): Clear thr->thread_pool and
4932 thr->task before returning. Use gomp_team_barrier_wait_final
4933 instead of gomp_team_barrier_wait. Initialize thr->place.
4934 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
4935 team_cancelled and task_queued_count fields.
4936 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
4937 before calling pthread_exit.
4938 (gomp_free_thread): No longer static. Use
4939 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
4940 (gomp_team_start): Add flags argument. Set
4941 thr->thread_pool->threads_busy to nthreads immediately after creating
4942 new pool. Use gomp_managed_threads_lock instead of
4943 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
4944 (gomp_team_end): Use gomp_managed_threads_lock instead of
4945 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
4946 of gomp_team_barrier_wait. If team->team_cancelled, call
4947 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
4948 rather than thr->ts.work_share.
4949 (initialize_team): Don't call gomp_sem_init here.
4950 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
4951 caller.
4952 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
4953 * env.c (gomp_global_icv): Add default_device_var, target_data and
4954 bind_var initializers.
4955 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
4956 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
4957 gomp_places_list_len): New variables.
4958 (parse_bind_var, parse_one_place, parse_places_var): New functions.
4959 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
4960 sized places.
4961 (gomp_cancel_var): New global variable.
4962 (parse_int): New function.
4963 (handle_omp_display_env): New function.
4964 (initialize_env): Use it. Initialize default_device_var.
4965 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
4966 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
4967 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
4968 been successfully parsed (and call gomp_init_affinity in that case).
4969 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
4970 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
4971 omp_get_team_num, omp_is_initial_device): New functions.
4972 * libgomp.h: Include stdlib.h.
4973 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
4974 Define.
4975 (struct target_mem_desc): Forward declare.
4976 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
4977 and thread_limit_var fields.
4978 (gomp_get_num_devices): New prototype.
4979 (gomp_cancel_var): New extern decl.
4980 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
4981 team_cancelled and task_queued_count fields. Add comments about
4982 task_{,queued_,running_}count.
4983 (gomp_cancel_kind): New enum.
4984 (gomp_work_share_end_cancel): New prototype.
4985 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
4986 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
4987 and depend fields.
4988 (struct gomp_taskgroup): New type.
4989 (struct gomp_task_depend_entry,
4990 struct gomp_dependers_vec): New types.
4991 (gomp_finish_task): Free depend_hash if non-NULL.
4992 (struct gomp_team_state): Add place_partition_off
4993 and place_partition_len fields.
4994 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
4995 gomp_places_list_len): New extern decls.
4996 (struct gomp_thread): Add place field.
4997 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
4998 (gomp_init_thread_affinity): Add place argument.
4999 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5000 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5001 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5002 gomp_affinity_init_level, gomp_affinity_print_place): New
5003 prototypes.
5004 (gomp_team_start): Add flags argument.
5005 (gomp_thread_limit_var, gomp_remaining_threads_count,
5006 gomp_remaining_threads_lock): Remove.
5007 (gomp_managed_threads_lock): New variable.
5008 (struct gomp_thread_pool): Add threads_busy field.
5009 (gomp_free_thread): New prototype.
5010 * task.c: Include hashtab.h.
5011 (hash_entry_type): New typedef.
5012 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
5013 (gomp_init_task): Clear dependers, depend_hash, depend_count,
5014 copy_ctors_done and taskgroup fields.
5015 (GOMP_task): Add depend argument, handle depend clauses. If
5016 gomp_team_barrier_cancelled or if it's taskgroup has been
5017 cancelled, don't queue or start new tasks. Set copy_ctors_done
5018 field if needed. Initialize taskgroup field. If copy_ctors_done
5019 and already cancelled, don't discard the task. If taskgroup is
5020 non-NULL, enqueue the task into taskgroup queue. Increment
5021 num_children field in taskgroup. Increment task_queued_count.
5022 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
5023 gomp_task_run_post_remove_taskgroup): New inline functions.
5024 (gomp_task_run_post_handle_depend_hash,
5025 gomp_task_run_post_handle_dependers,
5026 gomp_task_run_post_handle_depend): New functions.
5027 (GOMP_taskwait): Use them. If more than one new tasks
5028 have been queued, wake other threads if needed.
5029 (gomp_barrier_handle_tasks): Likewise. If
5030 gomp_team_barrier_cancelled, don't start any new tasks, just free
5031 all tasks.
5032 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
5033 * omp_lib.f90.in
5034 (omp_proc_bind_kind, omp_proc_bind_false,
5035 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
5036 omp_proc_bind_spread): New params.
5037 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5038 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5039 omp_get_team_num, omp_is_initial_device): New interfaces.
5040 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
5041 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
5042 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
5043 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
5044 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
5045 useless use omp_lib_kinds.
5046 * omp.h.in (omp_proc_bind_t): New typedef.
5047 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5048 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5049 omp_get_team_num, omp_is_initial_device): New prototypes.
5050 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
5051 through to gomp_team_start.
5052 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
5053 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
5054 Adjust gomp_parallel_loop_start callers.
5055 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
5056 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
5057 GOMP_loop_end_cancel): New functions.
5058 (GOMP_parallel_end): Add ialias_redirect.
5059 * hashtab.h: New file.
5060 * libgomp.texi (Environment Variables): Minor cleanup,
5061 update section refs to OpenMP 4.0rc2.
5062 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
5063 environment variables.
5064 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
5065 team->work_shares_to_free to thr->ts.work_share before calling
5066 free_work_share.
5067 (gomp_work_share_end_cancel): New function.
5068 * config/linux/proc.c: Include errno.h.
5069 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
5070 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
5071 sizeof (cpu_set_t) to determine number of iterations. Fix up check
5072 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
5073 gomp_cpuset_size is sizeof (cpu_set_t).
5074 (gomp_init_num_threads): Initialize gomp_cpuset_size,
5075 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
5076 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
5077 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
5078 contain any logical CPUs.
5079 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
5080 is NULL. Use gomp_cpusetp instead of &cpuset and pass
5081 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
5082 pthread_getaffinity_np. Check gomp_places_list instead of
5083 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
5084 * config/linux/bar.c (gomp_barrier_wait_end,
5085 gomp_barrier_wait_last): Use BAR_* defines.
5086 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
5087 from state where needed. Set work_share_cancelled to 0 on last
5088 thread.
5089 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
5090 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
5091 functions.
5092 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
5093 Add cpusetsize argument.
5094 (gomp_cpuset_size, gomp_cpusetp): Declare.
5095 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
5096 (affinity_counter): Remove.
5097 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
5098 if CPU_ALLOC_SIZE isn't defined.
5099 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
5100 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
5101 bind current thread to the first place.
5102 (gomp_init_thread_affinity): Rewritten. Add place argument, just
5103 pthread_setaffinity_np to gomp_places_list[place].
5104 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5105 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5106 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5107 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
5108 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
5109 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
5110 (gomp_barrier_t): Add awaited_final field.
5111 (gomp_barrier_init): Initialize awaited_final field.
5112 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
5113 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
5114 prototypes.
5115 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
5116 defines.
5117 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
5118 gomp_team_barrier_cancelled): New inline functions.
5119 (gomp_barrier_last_thread,
5120 gomp_team_barrier_set_task_pending,
5121 gomp_team_barrier_clear_task_pending,
5122 gomp_team_barrier_set_waiting_for_tasks,
5123 gomp_team_barrier_waiting_for_tasks,
5124 gomp_team_barrier_done): Use BAR_* defines.
5125 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
5126 (gomp_barrier_wait_end): Use BAR_* defines.
5127 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
5128 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
5129 Use BAR_* defines.
5130 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
5131 gomp_team_barrier_cancel): New functions.
5132 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
5133 argument.
5134 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
5135 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
5136 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
5137 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
5138 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
5139 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
5140 (gomp_barrier_t): Add cancellable field.
5141 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
5142 gomp_team_barrier_cancel): New prototypes.
5143 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
5144 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
5145 gomp_team_barrier_cancelled): New inline functions.
5146 (gomp_barrier_wait_start, gomp_barrier_last_thread,
5147 gomp_team_barrier_set_task_pending,
5148 gomp_team_barrier_clear_task_pending,
5149 gomp_team_barrier_set_waiting_for_tasks,
5150 gomp_team_barrier_waiting_for_tasks,
5151 gomp_team_barrier_done): Use BAR_* defines.
5152 * barrier.c (GOMP_barrier_cancel): New function.
5153 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
5154 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
5155 omp_proc_bind_spread): New params.
5156 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
5157 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
5158 omp_get_team_num, omp_is_initial_device): New externals.
5159 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
5160 New functions.
5161 (gomp_resolve_num_threads): Adjust for thread_limit now being in
5162 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
5163 infinity. If not nested, just return minimum of max_num_threads
5164 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
5165 to the returned value. Otherwise, don't update atomically
5166 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
5167 (GOMP_parallel_end): Adjust for thread_limit now being in
5168 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
5169 infinity. Adjust threads_busy in the pool rather than
5170 gomp_remaining_threads_count. Remember team->nthreads and call
5171 gomp_team_end before adjusting threads_busy, if not nested
5172 afterwards, just set it to 1 non-atomically. Add ialias.
5173 (GOMP_parallel_start): Adjust gomp_team_start caller.
5174 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
5175 * testsuite/libgomp.c/affinity-1.c: New test.
5176 * testsuite/libgomp.c/atomic-15.c: New test.
5177 * testsuite/libgomp.c/atomic-16.c: New test.
5178 * testsuite/libgomp.c/atomic-17.c: New test.
5179 * testsuite/libgomp.c/cancel-for-1.c: New test.
5180 * testsuite/libgomp.c/cancel-for-2.c: New test.
5181 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
5182 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
5183 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
5184 * testsuite/libgomp.c/cancel-sections-1.c: New test.
5185 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
5186 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
5187 * testsuite/libgomp.c/depend-1.c: New test.
5188 * testsuite/libgomp.c/depend-2.c: New test.
5189 * testsuite/libgomp.c/depend-3.c: New test.
5190 * testsuite/libgomp.c/depend-4.c: New test.
5191 * testsuite/libgomp.c/for-1.c: New test.
5192 * testsuite/libgomp.c/for-1.h: New file.
5193 * testsuite/libgomp.c/for-2.c: New test.
5194 * testsuite/libgomp.c/for-2.h: New file.
5195 * testsuite/libgomp.c/for-3.c: New test.
5196 * testsuite/libgomp.c/pr58392.c: New test.
5197 * testsuite/libgomp.c/simd-1.c: New test.
5198 * testsuite/libgomp.c/simd-2.c: New test.
5199 * testsuite/libgomp.c/simd-3.c: New test.
5200 * testsuite/libgomp.c/simd-4.c: New test.
5201 * testsuite/libgomp.c/simd-5.c: New test.
5202 * testsuite/libgomp.c/simd-6.c: New test.
5203 * testsuite/libgomp.c/target-1.c: New test.
5204 * testsuite/libgomp.c/target-2.c: New test.
5205 * testsuite/libgomp.c/target-3.c: New test.
5206 * testsuite/libgomp.c/target-4.c: New test.
5207 * testsuite/libgomp.c/target-5.c: New test.
5208 * testsuite/libgomp.c/target-6.c: New test.
5209 * testsuite/libgomp.c/target-7.c: New test.
5210 * testsuite/libgomp.c/taskgroup-1.c: New test.
5211 * testsuite/libgomp.c/thread-limit-1.c: New test.
5212 * testsuite/libgomp.c/thread-limit-2.c: New test.
5213 * testsuite/libgomp.c/thread-limit-3.c: New test.
5214 * testsuite/libgomp.c/udr-1.c: New test.
5215 * testsuite/libgomp.c/udr-2.c: New test.
5216 * testsuite/libgomp.c/udr-3.c: New test.
5217 * testsuite/libgomp.c++/affinity-1.C: New test.
5218 * testsuite/libgomp.c++/atomic-10.C: New test.
5219 * testsuite/libgomp.c++/atomic-11.C: New test.
5220 * testsuite/libgomp.c++/atomic-12.C: New test.
5221 * testsuite/libgomp.c++/atomic-13.C: New test.
5222 * testsuite/libgomp.c++/atomic-14.C: New test.
5223 * testsuite/libgomp.c++/atomic-15.C: New test.
5224 * testsuite/libgomp.c++/cancel-for-1.C: New test.
5225 * testsuite/libgomp.c++/cancel-for-2.C: New test.
5226 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
5227 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
5228 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
5229 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
5230 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
5231 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
5232 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
5233 * testsuite/libgomp.c++/cancel-test.h: New file.
5234 * testsuite/libgomp.c++/for-9.C: New test.
5235 * testsuite/libgomp.c++/for-10.C: New test.
5236 * testsuite/libgomp.c++/for-11.C: New test.
5237 * testsuite/libgomp.c++/simd-1.C: New test.
5238 * testsuite/libgomp.c++/simd-2.C: New test.
5239 * testsuite/libgomp.c++/simd-3.C: New test.
5240 * testsuite/libgomp.c++/simd-4.C: New test.
5241 * testsuite/libgomp.c++/simd-5.C: New test.
5242 * testsuite/libgomp.c++/simd-6.C: New test.
5243 * testsuite/libgomp.c++/simd-7.C: New test.
5244 * testsuite/libgomp.c++/simd-8.C: New test.
5245 * testsuite/libgomp.c++/target-1.C: New test.
5246 * testsuite/libgomp.c++/target-2.C: New test.
5247 * testsuite/libgomp.c++/target-2-aux.cc: New file.
5248 * testsuite/libgomp.c++/target-3.C: New test.
5249 * testsuite/libgomp.c++/taskgroup-1.C: New test.
5250 * testsuite/libgomp.c++/udr-1.C: New test.
5251 * testsuite/libgomp.c++/udr-2.C: New test.
5252 * testsuite/libgomp.c++/udr-3.C: New test.
5253 * testsuite/libgomp.c++/udr-4.C: New test.
5254 * testsuite/libgomp.c++/udr-5.C: New test.
5255 * testsuite/libgomp.c++/udr-6.C: New test.
5256 * testsuite/libgomp.c++/udr-7.C: New test.
5257 * testsuite/libgomp.c++/udr-8.C: New test.
5258 * testsuite/libgomp.c++/udr-9.C: New test.
5259
bd599dea
JJ
52602013-09-20 Jakub Jelinek <jakub@redhat.com>
5261
5262 PR testsuite/57605
5263 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
5264 ALWAYS_CFLAGS.
5265
3cbe17f7
AM
52662013-09-20 Alan Modra <amodra@gmail.com>
5267
5268 * configure: Regenerate.
5269
4befd127
JJ
52702013-09-19 Jakub Jelinek <jakub@redhat.com>
5271
5272 * testsuite/libgomp.c/sections-2.c: New test.
5273
946c8f7b
MS
52742013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
5275
5276 * testsuite/libgomp.fortran/strassen.f90:
5277 Add dg-skip-if aarch64_tiny.
5278
1ef3b58e
IS
52792013-06-20 Iain Sandoe <iain@codesourcery.com>
5280 Cesar Philippidis <cesar@codesourcery.com>
5281
5282 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
5283 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
5284 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
5285 * testsuite/libgomp.fortran/fortran.exp: Likewise.
5286 * testsuite/libgomp.graphite/graphite.exp: Likewise.
5287 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
5288 Use dg-runtest rather than gfortran-dg-runtest.
5289
9275f73a
TS
52902013-06-10 Thomas Schwinge <thomas@codesourcery.com>
5291
5292 * testsuite/libgomp.c/icv-2.c: Extend current handling of
5293 Linux-based x86 systems to cover all GNU systems.
5294 * testsuite/libgomp.c/lock-3.c: Likewise.
5295 * testsuite/libgomp.c/pr48591.c: Likewise.
5296
492992e2
TS
52972013-06-06 Thomas Schwinge <thomas@codesourcery.com>
5298
48df3acb
TS
5299 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
5300 GNU/Hurd, as done for Linux-based systems.
5301
492992e2
TS
5302 * config/posix/ptrlock.h: Fix comment.
5303
4fed6b25
TB
53042013-05-27 Tobias Burnus <burnus@net-b.de>
5305
5306 PR fortran/57423
5307 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
5308 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
5309 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
5310 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
5311 omp_destroy_nest_lock): Correct arguments to match the one in
5312 the OpenMP spec.
5313 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
5314 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
5315 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
5316 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
5317
5a0f4dd3
JJ
53182013-05-16 Jakub Jelinek <jakub@redhat.com>
5319
5320 * testsuite/libgomp.c/loop-13.c: New test.
5321 * testsuite/libgomp.c/loop-14.c: New test.
5322 * testsuite/libgomp.c/loop-15.c: New test.
5323 * testsuite/libgomp.c++/loop-13.C: New test.
5324 * testsuite/libgomp.c++/loop-14.C: New test.
5325 * testsuite/libgomp.c++/loop-15.C: New test.
5326
6d840d99
JJ
53272013-02-06 Jakub Jelinek <jakub@redhat.com>
5328
5329 PR middle-end/56217
5330 * testsuite/libgomp.c++/pr56217.C: New test.
5331
bed8d8a6
AM
53322013-02-01 Alan Modra <amodra@gmail.com>
5333
5334 * task.c (GOMP_task, GOMP_taskwait): Comment.
5335
3b35cd04
DV
53362013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
5337 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
5338
5339 PR libgomp/55561
5340 * config/linux/wait.h (do_spin): Use atomic load for addr.
5341 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
5342 for intptr and ptrlock.
5343 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
5344 for ptrlock.
5345
9a647288
AM
53462013-01-22 Alan Modra <amodra@gmail.com>
5347
5348 PR libgomp/51376
5349 PR libgomp/56073
5350 * task.c (GOMP_task): Revert 2011-12-09 change.
5351 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
5352 barrier to read task->children..
5353 (gomp_barrier_handle_tasks): ..and matching atomic store with
5354 release barrier here when setting parent->children to NULL.
5355
f34dea03
JJ
53562013-01-16 Jakub Jelinek <jakub@redhat.com>
5357 Tobias Burnus <burnus@net-b.de>
5358
5359 PR driver/55884
5360 * testsuite/libgomp.fortran/fortran.exp: Use
5361 -fintrinsic-modules-path= instead of
5362 -fintrinsic-modules-path.
5363
8129609c
RS
53642013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
5365
5366 Update copyright years.
5367
aa86bf1e
TB
53682012-12-19 Tobias Burnus <burnus@net-b.de>
5369
5370 * testsuite/libgomp.fortran/fortran.exp: Set
5371 -fintrinsic-modules-path.
5372
2865ea66
TB
53732012-12-19 Tobias Burnus <burnus@net-b.de>
5374
5375 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
5376 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
5377
4c5ba8d0
JJ
53782012-11-21 Jakub Jelinek <jakub@redhat.com>
5379
5380 PR libgomp/55411
5381 * team.c (gomp_free_thread): Decrease gomp_managed_threads
5382 if pool had any threads_used.
5383
e9f958c2
JH
53842012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
5385
5386 * testsuite/libgomp.c++/pr24455.C: Use
5387 -Wl,-undefined,dynamic_lookup on darwin.
5388
a57d75dc
DE
53892012-11-07 David Edelsohn <dje.gcc@gmail.com>
5390
5391 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
5392
c6c08485
DH
53932012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
5394
5395 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
5396
c1f37c00
IB
53972012-10-23 Ian Bolton <ian.bolton@arm.com>
5398 Jim MacArthur <jim.macarthur@arm.com>
5399 Marcus Shawcroft <marcus.shawcroft@arm.com>
5400 Nigel Stephens <nigel.stephens@arm.com>
5401 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5402 Richard Earnshaw <rearnsha@arm.com>
5403 Sofiane Naci <sofiane.naci@arm.com>
5404 Stephen Thomas <stephen.thomas@arm.com>
5405 Tejas Belagod <tejas.belagod@arm.com>
5406 Yufeng Zhang <yufeng.zhang@arm.com>
5407
5408 * configure.tgt: Add AArch64.
5409
7c424acd
JM
54102012-10-04 Jason Merrill <jason@redhat.com>
5411
5412 * testsuite/libgomp.c++/tls-init1.C: New.
5413
6608378b
DE
54142012-09-14 David Edelsohn <dje.gcc@gmail.com>
5415
5416 * configure: Regenerated.
5417
c24dbebb
CLT
54182012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
5419
5420 * config/linux/mips/futex.h (sys_futex0): Change to static
5421 function with noinline, nomips16 attributes under MIPS16. Adjust
5422 asm statement to place 'li v0,SYS_futex' immediately before
5423 syscall insn.
5424
3d3949df
SL
54252012-07-04 Sandra Loosemore <sandra@codesourcery.com>
5426
5427 * libgomp.texi (Library Index): Renamed from "Index" to prevent
5428 conflict with index.html on case-insensitive file systems.
5429
68a12ef3
UB
54302012-07-03 Uros Bizjak <ubizjak@gmail.com>
5431
5432 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
5433 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
5434
33ad93b9 54352012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
5436 Michael Matz <matz@suse.de>
5437 Tobias Grosser <tobias@grosser.es>
5438 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
5439
5440 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
5441 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
5442 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5443 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5444
e6fdc918
AS
54452012-06-28 Andreas Schwab <schwab@linux-m68k.org>
5446
5447 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
5448
62e0a1ed
RG
54492012-06-22 Richard Guenther <rguenther@suse.de>
5450
5451 Merge from graphite branch
5452 2012-01-13 Tobias Grosser <tobias@grosser.es>
5453
5454 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
5455 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
5456
26127932
JJ
54572012-06-07 Jakub Jelinek <jakub@redhat.com>
5458
5459 PR middle-end/53580
5460 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
5461 use GOMP_barrier () call instead.
5462 * testsuite/libgomp.c/pr26943-3.c: Likewise.
5463 * testsuite/libgomp.c/pr26943-4.c: Likewise.
5464 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
5465 call GOMP_barrier instead.
5466 * testsuite/libgomp.fortran/vla5.f90: Likewise.
5467
43fa5db5
JJ
54682012-06-06 Jakub Jelinek <jakub@redhat.com>
5469
5470 PR libgomp/52993
5471 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
5472 argument to memset call.
5473
e6d5f8c9
L
54742012-05-16 H.J. Lu <hongjiu.lu@intel.com>
5475
5476 * configure: Regenerated.
5477
559d990c
MLI
54782012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
5479
5480 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
5481
b9c23a61
L
54822012-03-31 H.J. Lu <hongjiu.lu@intel.com>
5483
5484 PR bootstrap/52812
5485 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
5486
c140ddf3
JJ
54872012-03-22 Jakub Jelinek <jakub@redhat.com>
5488
5489 PR middle-end/52547
5490 * testsuite/libgomp.c/pr52547.c: New test.
5491
6a26a74d
BRF
54922012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
5493
5494 * testsuite/lib/libgomp.exp: load fortran-modules.exp
5495
b24513a1
RO
54962012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5497
5498 * configure.tgt (mips-sgi-irix6*): Remove.
5499
5c30094f
RO
55002012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5501
5502 * configure.tgt (alpha*-dec-osf*): Remove.
5503
5504 * config/osf/sem.h: Remove.
5505 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
5506
a339c9d6
EB
55072012-02-29 Eric Botcazou <ebotcazou@adacore.com>
5508
5509 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
5510
cc2de92d
RO
55112012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5512
5513 PR libstdc++/52188
5514 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
5515 Remove ENABLE_SYMVERS_SOL2.
5516 * configure: Regenerate.
5517 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
5518 (PREPROCESS): New variable.
5519 (libgomp.ver): New target.
5520 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
5521 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
5522 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
5523 Use libgomp.ver.
5524 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
5525 * Makefile.in: Regenerate.
5526
dd552284
WL
55272012-02-14 Walter Lee <walt@tilera.com>
5528
5529 * configure.tgt: Handle tilegx and tilepro.
5530 * config/linux/tile/futex.h: New file.
5531
31432e21
RG
55322012-02-08 Richard Guenther <rguenther@suse.de>
5533
5534 PR tree-optimization/46886
5535 * testsuite/libgomp.c/pr46886.c: New testcase.
5536
b9264b5f
MK
55372012-01-25 Matthias Klose <doko@ubuntu.com>
5538
5539 * config/linux/arm: Remove empty directory.
5540 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
5541
fbf7be80
AM
55422011-12-09 Alan Modra <amodra@gmail.com>
5543
5544 PR libgomp/51376
5545 * task.c (GOMP_taskwait): Don't access task->children outside of
5546 task_lock mutex region.
5547 (GOMP_task): Likewise.
5548
5de62d00
JJ
55492011-12-06 Jakub Jelinek <jakub@redhat.com>
5550
5551 PR libgomp/51132
5552 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
5553 to file scope.
5554 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
5555 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
5556 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5557 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5558 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
5559
45608a43
AM
55602011-12-02 Alan Modra <amodra@gmail.com>
5561
5562 * config/linux/affinity.c: Use atomic rather than sync builtin.
5563 * config/linux/lock.c: Likewise.
5564 * config/linux/ptrlock.h: Likewise.
5565 * config/linux/ptrlock.c: Likewise.
5566 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
5567 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
5568 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
5569 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
5570 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
5571 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
5572 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
5573 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
5574 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
5575 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
5576
ab6dd406
AM
55772011-11-30 Alan Modra <amodra@gmail.com>
5578
5579 PR libgomp/51298
5580 * config/linux/bar.h: Use atomic rather than sync builtins.
5581 * config/linux/bar.c: Likewise. Add missing acquire
5582 synchronisation on generation field.
5583 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
5584 double unlock.
5585
b40c885f
AM
55862011-11-30 Alan Modra <amodra@gmail.com>
5587
5588 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
5589 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
5590 * config/linux/mutex.h: Use atomic rather than sync builtins.
5591 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
5592 * config/linux/omp-lock.h: Comment fix.
5593 * config/linux/arm/mutex.h: Delete.
5594 * config/linux/powerpc/mutex.h: Delete.
5595 * config/linux/ia64/mutex.h: Delete.
5596 * config/linux/mips/mutex.h: Delete.
5597
3e348fcc
AM
55982011-11-30 Alan Modra <amodra@gmail.com>
5599
5600 PR libgomp/51249
5601 * config/linux/sem.h: Rewrite.
5602 * config/linux/sem.c: Rewrite.
5603
cef86eb2
RH
56042011-11-28 Richard Henderson <rth@redhat.com>
5605
5606 * libgomp.h (enum memmodel): New.
5607
c6084f68
AT
56082011-11-21 Andreas Tobler <andreast@fgznet.ch>
5609
5610 * configure: Regenerate.
5611
06fe026c
MK
56122011-10-10 Matthias Klose <doko@ubuntu.com>
5613
5614 * config/posix95: Remove empty directory.
5615
a6c975bd
JJ
56162011-08-26 Jakub Jelinek <jakub@redhat.com>
5617
5618 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
5619
c26dffff
JJ
56202011-08-19 Jakub Jelinek <jakub@redhat.com>
5621
5622 PR fortran/49792
5623 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
5624 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
5625
ddaad3c8
RO
56262011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5627
5628 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
5629
98d03683
RO
56302011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5631
5632 PR libgomp/49965
5633 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
5634
e0b23d9f
UB
56352011-08-03 Uros Bizjak <ubizjak@gmail.com>
5636
5637 * config/linux/proc.h: New.
5638 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
5639 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
5640 (gomp_init_num_threads): Update call to cpuset_popcount.
5641 (get_num_procs): Ditto.
5642 * config/linux/affinity.c (gomp_init_affinity): Call
5643 gomp_cpuset_popcount.
5644
20906c66
JJ
56452011-08-02 Jakub Jelinek <jakub@redhat.com>
5646
5647 PR fortran/42041
5648 PR fortran/46752
5649 * omp.h.in (omp_in_final): New prototype.
5650 * omp_lib.f90.in (omp_in_final): New interface.
5651 (omp_integer_kind, omp_logical_kind): Remove
5652 and replace all its uses in the module with 4.
5653 (openmp_version): Change to 201107.
5654 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
5655 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
5656 kind for the parameters.
5657 (omp_in_final): New external.
5658 (openmp_version): Change to 201107.
5659 * task.c (omp_in_final): New function.
5660 (gomp_init_task): Initialize final_task.
5661 (GOMP_task): Remove unused attribute from flags. Handle final
5662 tasks.
5663 (GOMP_taskyield): New function.
5664 (omp_in_final): Return true if if (false) or final (true) task
5665 or descendant of final (true).
5666 * fortran.c (omp_in_final_): New function.
5667 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
5668 (GOMP_3.0): Export GOMP_taskyield.
5669 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
5670 variables.
5671 (parse_unsigned_long_list): New function.
5672 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
5673 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
5674 even if parse_affinity returned false.
5675 * config/linux/affinity.c (gomp_init_affinity): Handle
5676 gomp_cpu_affinity_len == 0.
5677 * libgomp_g.h (GOMP_taskyield): New prototype.
5678 * libgomp.h (struct gomp_task): Add final_task field.
5679 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
5680 * team.c (gomp_team_start): Override new task's nthreads_var icv
5681 if list form OMP_NUM_THREADS has been used and it has value for
5682 the new nesting level.
5683
5684 * testsuite/libgomp.c/atomic-11.c: New test.
5685 * testsuite/libgomp.c/atomic-12.c: New test.
5686 * testsuite/libgomp.c/atomic-13.c: New test.
5687 * testsuite/libgomp.c/atomic-14.c: New test.
5688 * testsuite/libgomp.c/reduction-6.c: New test.
5689 * testsuite/libgomp.c/task-5.c: New test.
5690 * testsuite/libgomp.c++/atomic-2.C: New test.
5691 * testsuite/libgomp.c++/atomic-3.C: New test.
5692 * testsuite/libgomp.c++/atomic-4.C: New test.
5693 * testsuite/libgomp.c++/atomic-5.C: New test.
5694 * testsuite/libgomp.c++/atomic-6.C: New test.
5695 * testsuite/libgomp.c++/atomic-7.C: New test.
5696 * testsuite/libgomp.c++/atomic-8.C: New test.
5697 * testsuite/libgomp.c++/atomic-9.C: New test.
5698 * testsuite/libgomp.c++/task-8.C: New test.
5699 * testsuite/libgomp.c++/reduction-4.C: New test.
5700 * testsuite/libgomp.fortran/allocatable7.f90: New test.
5701 * testsuite/libgomp.fortran/allocatable8.f90: New test.
5702 * testsuite/libgomp.fortran/crayptr3.f90: New test.
5703 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
5704 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
5705 * testsuite/libgomp.fortran/pointer1.f90: New test.
5706 * testsuite/libgomp.fortran/pointer2.f90: New test.
5707 * testsuite/libgomp.fortran/task4.f90: New test.
5708
57092011-08-02 Tobias Burnus <burnus@net-b.de>
5710
5711 * libgomp.texi: Update OpenMP spec references to 3.1.
5712 (omp_in_final,OMP_PROC_BIND): New sections.
5713 (OMP_NUM_THREADS): Document that the value can be now a list.
5714 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
5715
c01ecafc
L
57162011-08-02 H.J. Lu <hongjiu.lu@intel.com>
5717
5718 * config/linux/x86/futex.h: Check __x86_64__ instead of
5719 __LP64__.
5720
25142650
JJ
57212011-07-29 Jakub Jelinek <jakub@redhat.com>
5722
5723 PR middle-end/49897
5724 PR middle-end/49898
5725 * testsuite/libgomp.c/pr49897-1.c: New test.
5726 * testsuite/libgomp.c/pr49897-2.c: New test.
5727 * testsuite/libgomp.c/pr49898-1.c: New test.
5728 * testsuite/libgomp.c/pr49898-2.c: New test.
5729
f53d712f
L
57302011-07-28 H.J. Lu <hongjiu.lu@intel.com>
5731
5732 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
5733 for ia32 instead of ilp32.
5734
5735 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
5736 * testsuite/libgomp.c/atomic-6.c: Likewise.
5737
3689198d
SP
57382011-07-23 Sebastian Pop <sebastian.pop@amd.com>
5739
5740 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
5741 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
5742
1a79cb73
RO
57432011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5744
5745 PR libgomp/45351
5746 * config/osf/sem.h: New file.
5747 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
5748
c1f51484
RO
57492011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5750
5751 PR target/49541
5752 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
5753 ldflags.
5754
bfee0724
JJ
57552011-07-15 Jakub Jelinek <jakub@redhat.com>
5756
5757 * config/linux/wait.h (do_spin): New inline, largely copied
5758 from do_wait, just don't do futex_wait here, instead return true if
5759 it should be done.
5760 (do_wait): Implement using do_spin.
5761 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
5762 to prototype.
5763 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
5764 __sync_bool_compare_and_swap, pass the oldval to
5765 gomp_mutex_lock_slow.
5766 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
5767 If all mutex contenders are just spinning and not sleeping, don't
5768 change state to 2 unnecessarily. Optimize the loop when state has
5769 already become 2 to use just one atomic operation per loop instead
5770 of two.
5771 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
5772 to prototype.
5773 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
5774 __sync_bool_compare_and_swap, pass the oldval to
5775 gomp_mutex_lock_slow.
5776
fb79f500
JJ
57772011-06-22 Jakub Jelinek <jakub@redhat.com>
5778
5779 PR libgomp/49490
5780 * iter.c (gomp_iter_static_next): For chunk size 0
5781 only use n ceil/ nthreads size for the first
5782 n % nthreads threads in the team instead of
5783 all threads except for the last few ones which
5784 get less work or none at all.
5785 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
5786 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
5787 chunk argument, set run_sched_modifier to 0 for static
5788 resp. 1 for other kinds. If chunk argument is 0
5789 and not static, set value to 1.
5790
4577f730
JJ
57912011-05-19 Jakub Jelinek <jakub@redhat.com>
5792
ea93a47b
JJ
5793 PR c++/49043
5794 * testsuite/libgomp.c++/pr49043.C: New test.
5795
4577f730
JJ
5796 PR c++/48869
5797 * testsuite/libgomp.c++/pr48869.C: New test.
5798
e7385332
JJ
57992011-05-06 Jakub Jelinek <jakub@redhat.com>
5800
5801 PR fortran/48894
5802 * fortran.c: Include limits.h.
5803 (TO_INT): Define.
5804 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
5805 *set.
5806 (omp_set_num_threads_8_, omp_set_schedule_8_,
5807 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
5808 omp_get_team_size_8_): Use TO_INT macro.
5809 * testsuite/libgomp.fortran/pr48894.f90: New test.
5810
20790697
JJ
58112011-04-13 Jakub Jelinek <jakub@redhat.com>
5812
5813 PR middle-end/48591
5814 * testsuite/libgomp.c/pr48591.c: New test.
5815
bf382f5f
RO
58162011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5817
5818 PR bootstrap/48135
5819 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
5820 * configure: Regenerate.
5821
113a53c1
JJ
58222011-02-27 Jakub Jelinek <jakub@redhat.com>
5823
5824 PR fortran/47886
5825 * testsuite/libgomp.fortran/task3.f90: New test.
5826
0024f1af
TB
58272011-02-24 Tobias Burnus <burnus@net-b.de>
5828
5829 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
5830
21e1e594
JJ
58312011-02-23 Jakub Jelinek <jakub@redhat.com>
5832
5833 PR libgomp/47854
5834 * libgomp.texi (omp_get_wtime): Don't say time in the past
5835 must be Unix Epoch.
5836
67962076
JJ
58372011-02-18 Jakub Jelinek <jakub@redhat.com>
5838
5839 PR libgomp/47804
5840 * testsuite/libgomp.fortran/fortran.exp: Check for both
5841 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
5842 but $blddir != "", still append ${blddir}/${lang_library_path}
5843 to ld_library_path.
5844
3808007c
TB
58452011-02-16 Tobias Burnus <burnus@net-b.de>
5846
5847 PR libgomp/47758
5848 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
5849 of libquadmath.a before adding its libpath to ldflags.
5850
53b4d41d
JJ
58512011-02-14 Jakub Jelinek <jakub@redhat.com>
5852
5853 PR libgomp/47731
5854 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
5855 to FUTEX_WAIT futex syscall.
5856 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
5857
029c8f3e
RW
58582011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5859
5860 * configure: Regenerate.
5861
bddd6626
BK
58622011-01-20 Benjamin Kosnik <bkoz@redhat.com>
5863
5864 PR libstdc++/36104
5865 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
5866
f1d4ab26
GP
58672011-01-16 Gerald Pfeifer
5868
5869 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
5870
2b503136
JJ
58712010-12-14 Jakub Jelinek <jakub@redhat.com>
5872
5873 PR fortran/46874
5874 * libgomp.fortran/allocatable6.f90: New test.
5875
c0f9d583
RO
58762010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5877
5878 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
5879 * configure: Regenerate.
5880
7de6ba7a
DK
58812010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
5882
5883 PR target/40125
5884 PR lto/46695
5885 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
5886 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
5887 * aclocal.m4: Regenerate.
5888 * configure: Regenerate.
5889 * Makefile.in: Regenerate.
5890 * testsuite/Makefile.in: Regenerate.
5891
b7516041
JJ
58922010-12-02 Jakub Jelinek <jakub@redhat.com>
5893
edaadf74
JJ
5894 PR fortran/46753
5895 * libgomp.fortran/pr46753.f90: New test.
5896
4c698cf8
JJ
5897 PR libgomp/43706
5898 * env.c (initialize_env): Default to spin count 300000
5899 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
5900 is specified.
5901
b7516041
JJ
5902 PR libgomp/45240
5903 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
5904 at the end if sync builtins aren't supported.
5905
6b43a34c
RO
59062010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5907
5908 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
5909
950691fa
RO
59102010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5911
5912 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
5913
fb9041ea
IS
59142010-11-24 Iain Sandoe <iains@gcc.gnu.org>
5915
5916 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
5917
1ec601bf
FXC
59182010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5919 Tobias Burnus <burnus@net-b.de>
5920
5921 PR fortran/32049
3e348fcc 5922 * configure.ac:
1ec601bf
FXC
5923 * configure: Regenerate.
5924
d213e92e
MS
59252010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
5926
5927 * config/linux/futex.h: New.
5928 * config/linux/arm/mutex.h: New.
5929 * configure.tgt (arm*-*-linux*): Add config path.
5930
89d5c66f
SP
59312010-09-30 Sebastian Pop <sebastian.pop@amd.com>
5932
5933 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
5934
87350d4a
TB
59352010-09-23 Tobias Burnus <burnus@net-b.de>
5936
5937 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
5938 Change Fortran datatype to LOGICAL.
5939 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
5940 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
5941
75bc9e5e
RW
59422010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
5943
5944 * configure: Regenerate.
5945
acb5c916
JJ
59462010-07-26 Jakub Jelinek <jakub@redhat.com>
5947
5948 * libgomp.texi: Add function keyword to a couple of Fortran
5949 interfaces, use integer instead of int for Fortran.
5950
6a2ba183
AH
59512010-07-26 Aldy Hernandez <aldyh@redhat.com>
5952
5953 * libgomp.texi: Fix spelling and pasto problems throughout.
5954 Adjust prototypes to match code.
5955
df161b69
TB
59562010-07-24 Tobias Burnus <burnus@net-b.de>
5957
5958 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
5959 silence -fwhole-file warning.
5960
16c9d3b1
RO
59612010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5962
5963 * configure.tgt (*-*-solaris2.[56]*): Removed.
5964
6d28b933
RO
59652010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5966
5967 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
5968 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
5969 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
5970 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
5971 targetting solaris2*.
5972 * configure: Regenerate.
5973 * config.h.in: Regenerate.
5974
5975 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
5976 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
5977 Add libgomp_version_dep.
5978 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
5979 versioning.
5980 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
5981 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
5982 * Makefile.in: Regenerate.
5983
5984 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
5985 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
5986 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
5987 to common block, protected by
5988 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
5989
07a67d6a
GP
59902010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
5991
5992 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
5993
dbd34b89
IS
59942010-06-09 Iain Sandoe <iains@gcc.gnu.org>
5995
5996 PR bootstrap/43170
5997 * configure: Regenerate.
5998
13917ae3
RW
59992010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6000
6001 PR other/43620
6002 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
6003 * configure: Regenerate.
6004 * Makefile.in: Regenerate.
6005 * testsuite/Makefile.in: Regenerate.
6006
b83a701b
JJ
60072010-04-26 Jakub Jelinek <jakub@redhat.com>
6008
6009 PR c/43893
6010 * testsuite/libgomp.c/pr43893.c: New test.
6011 * testsuite/libgomp.c++/pr43893.C: New test.
6012
78db7d92
JJ
60132010-04-21 Jakub Jelinek <jakub@redhat.com>
6014
6015 PR middle-end/43570
6016 * testsuite/libgomp.fortran/vla8.f90: New test.
6017
5221d7a9
JJ
60182010-04-20 Jakub Jelinek <jakub@redhat.com>
6019
e4ba7a60
JJ
6020 PR libgomp/43706
6021 * config/linux/affinity.c (gomp_init_affinity): Decrease
6022 gomp_available_cpus if affinity mask confines the process to fewer
6023 CPUs.
6024 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
6025 non-NULL, just return gomp_available_cpus.
6026
5221d7a9
JJ
6027 PR libgomp/43569
6028 * sections.c (gomp_sections_init): Initialize ws->mode.
6029
289a9f86
UB
60302010-04-14 Uros Bizjak <ubizjak@gmail.com>
6031
6032 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
6033 not unused bar variable.
6034 * configure: Regenerate.
6035
4d9e8446
RW
60362010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6037
6038 * Makefile.in: Regenerate.
6039 * aclocal.m4: Regenerate.
6040 * testsuite/Makefile.in: Regenerate.
6041
80f046cc
JJ
60422010-03-22 Jakub Jelinek <jakub@redhat.com>
6043
6044 PR libgomp/42942
6045 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
6046 (initialize_env): Adjust callers.
6047 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
6048 when the argument is 0.
6049
6050 * testsuite/libgomp.c/pr42942.c: New test.
6051
b58543c3
SP
60522010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
6053
6054 PR middle-end/42644
6055 PR middle-end/42130
6056 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
6057 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
6058
41d1138f
RO
60592010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6060
6061 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
6062 * testsuite/libgomp.c++/task-6.C: Likewise.
6063
6684eb28
SE
60642010-01-28 Steve Ellcey <sje@cup.hp.com>
6065
6066 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
6067
2122aa97
PB
60682010-01-26 Paolo Bonzini <bonzini@gnu.org>
6069
6070 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
6071 * configure: Regenerate.
6072
057dd91d
JJ
60732010-01-26 Jakub Jelinek <jakub@redhat.com>
6074
6075 PR fortran/42866
6076 * testsuite/libgomp.fortran/allocatable5.f90: New test.
6077
d0709b6a
PB
60782010-01-20 Paolo Bonzini <bonzini@gnu.org>
6079
6080 * configure.ac: Test for executability of GFORTRAN.
6081 * configure: Regenerate.
6082
b9497ab5
RO
60832010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6084
6085 * configure: Regenerate.
6086
45de5648
L
60872010-01-04 H.J. Lu <hongjiu.lu@intel.com>
6088
6089 PR libgomp/42602
6090 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
6091
e74003a1
RG
60922010-01-03 Richard Guenther <rguenther@suse.de>
6093
6094 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
6095
1b3abda8
SP
60962009-12-23 Sebastian Pop <sebpop@gmail.com>
6097
6098 * testsuite/libgomp.graphite/pr4118.c: New.
6099
e19977d3
IS
61002009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
6101
6102 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
6103 for darwin, protect the test with require-effective-target tls_runtime.
6104 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
6105
1d32a772
IS
61062009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
6107
6108 PR target/41605
6109 * testsuite/lib/libgomp.exp: Provide -B options to allow for
6110 link spec %s substitutions for static libraries.
6111
deb109b2
JH
61122009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
6113
6114 PR testsuite/42135
6115 * libgomp.graphite/force-parallel-2.c: Reduce array size.
6116
43e02a8a
RW
61172009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6118
6119 * Makefile.in: Regenerate.
6120 * configure: Regenerate.
6121 * testsuite/Makefile.in: Regenerate.
6122
17f35e23
DK
61232009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
6124
6125 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
6126 settings for LC_ALL and LANG.
6127
281e33e1
JJ
61282009-11-25 Jakub Jelinek <jakub@redhat.com>
6129
6130 PR fortran/42162
6131 * testsuite/libgomp.fortran/pr42162.f90: New test.
6132
2b32c27d
JJ
61332009-11-13 Jakub Jelinek <jakub@redhat.com>
6134
6135 PR middle-end/42029
281e33e1 6136 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 6137
89c74f4a
JJ
61382009-10-26 Jakub Jelinek <jakub@redhat.com>
6139
6140 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
6141 *s. Accept ld version without text in ()s.
6142 * configure: Regenerated.
6143
7e06c3d6
EB
61442009-10-22 Razya Ladelsky <razya@il.ibm.com>
6145
6146 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
6147
0046b1a7
RW
61482009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6149
6150 PR libgomp/41418
6151 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
6152 or a hyphen (happens with fortran language disabled).
6153 * configure: Regenerate.
6154
c82852f7
RW
61552009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6156
6157 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
6158 use sed script portable to Solaris /bin/sed for extracting ld
6159 version.
6160 * configure: Regenerate.
6161
98f3eb1f
AM
61622009-09-17 Alexander Monakov <amonakov@ispras.ru>
6163
6164 * testsuite/libgomp.graphite/bounds.c: New test.
6165
878f62e5
RW
61662009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6167
6168 * Makefile.am (libgomp_la_LINK): New.
6169 * Makefile.in: Regenerate.
6170
df58e648
RW
61712009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6172
6173 * configure.ac (AC_PREREQ): Bump to 2.64.
6174
5213506e
RW
61752009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6176
70fa0efa
RW
6177 * Makefile.am (install-html, install-pdf): Remove.
6178 * Makefile.in: Regenerate.
6179
5213506e
RW
6180 * Makefile.in: Regenerate.
6181 * aclocal.m4: Regenerate.
6182 * config.h.in: Regenerate.
6183 * configure: Regenerate.
6184 * testsuite/Makefile.in: Regenerate.
6185
84fec8a5
RW
61862009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6187
6188 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
6189 * Makefile.in: Regenerate.
6190
197c68cc
DK
61912009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
6192
6193 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
6194 * Makefile.in: Regenerate.
6195
693d54f2
TB
61962009-08-19 Tobias Burnus <burnus@net-b.de>
6197
6198 PR fortran/41102
6199 omp_lib.h.in: Fix -std=f95 errors.
6200
8cac884c
DE
62012009-08-14 David Edelsohn <edelsohn@gnu.org>
6202
6203 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
6204 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
6205 * testsuite/libgomp.graphite/graphite.exp: New.
6206
78729ee2
AT
62072009-08-05 Andreas Tobler <a.tobler@schweiz.org>
6208
6209 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
6210 only build.
6211
b13b7f39
DD
62122009-08-04 David Daney <ddaney@caviumnetworks.com>
6213
6214 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
6215 needed memory barrier semantics.
6216 * config/linux/mips/mutex.h: New file.
6217
1b3b24c2
RW
62182009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6219
6220 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
6221
396b7fa4
JM
62222009-07-16 Joseph Myers <joseph@codesourcery.com>
6223
6224 * configure: Regenerate.
6225
33cde516
RS
62262009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
6227
6228 PR testsuite/40699
6229 PR testsuite/40707
6230 PR testsuite/40709
6231 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
6232 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
6233 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
6234
bc21bfa5
RS
62352009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
6236
6237 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
6238 options when choosing a multilib.
6239
b30bfd40
RS
62402009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
6241
6242 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
6243 ld_library_path. Use add_path. Add just find_libgcc_s to
6244 ld_library_path, not every libgcc multilib directory.
6245 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
6246 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
6247 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
6248 Use add_path.
6249 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
6250
479c15c2
NF
62512009-06-09 Nathan Froyd <froydnj@codesourcery.com>
6252
6253 * Makefile.am (LTLDFLAGS): Define.
6254 (LINK): Define.
6255 * Makefile.in: Regenerate.
6256
667e6f89
JB
62572009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
6258
6259 PR fortran/39718
6260 * testsuite/libgomp.fortran/fortran.exp: Don't link with
6261 libgfortranbegin, check existence of libgfortran.a instead of
6262 libgfortranbegin.a.
6263
6dea8e99
JJ
62642009-05-20 Jakub Jelinek <jakub@redhat.com>
6265
6266 PR libgomp/40174
6267 * team.c (gomp_thread_start): Destroy thr->release semaphore.
6268 (gomp_free_pool_helper): Likewise.
6269
34d01e1d
VL
62702009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
6271 Jakub Jelinek <jakub@redhat.com>
6272
6273 PR fortran/35423
6274 * testsuite/libgomp.fortran/workshare2.f90: New test.
6275
748086b7
JJ
62762009-04-09 Nick Clifton <nickc@redhat.com>
6277
6278 * iter.c: Change copyright header to refer to version 3 of the
6279 GNU General Public License with version 3.1 of the GCC Runtime
6280 Library Exception and to point readers at the COPYING3 and
6281 COPYING3.RUNTIME files and the FSF's license web page.
6282 * alloc.c: Likewise.
6283 * barrier.c: Likewise.
6284 * config/bsd/proc.c: Likewise.
6285 * config/linux/affinity.c: Likewise.
6286 * config/linux/alpha/futex.h: Likewise.
6287 * config/linux/bar.c: Likewise.
6288 * config/linux/bar.h: Likewise.
6289 * config/linux/ia64/futex.h: Likewise.
6290 * config/linux/ia64/mutex.h: Likewise.
6291 * config/linux/lock.c: Likewise.
6292 * config/linux/mips/futex.h: Likewise.
6293 * config/linux/mutex.c: Likewise.
6294 * config/linux/mutex.h: Likewise.
6295 * config/linux/powerpc/futex.h: Likewise.
6296 * config/linux/proc.c: Likewise.
6297 * config/linux/ptrlock.c: Likewise.
6298 * config/linux/ptrlock.h: Likewise.
6299 * config/linux/s390/futex.h: Likewise.
6300 * config/linux/sem.c: Likewise.
6301 * config/linux/sem.h: Likewise.
6302 * config/linux/sparc/futex.h: Likewise.
6303 * config/linux/wait.h: Likewise.
6304 * config/linux/x86/futex.h: Likewise.
6305 * config/mingw32/proc.c: Likewise.
6306 * config/mingw32/time.c: Likewise.
6307 * config/posix/affinity.c: Likewise.
6308 * config/posix/bar.c: Likewise.
6309 * config/posix/bar.h: Likewise.
6310 * config/posix/lock.c: Likewise.
6311 * config/posix/mutex.h: Likewise.
6312 * config/posix/proc.c: Likewise.
6313 * config/posix/ptrlock.h: Likewise.
6314 * config/posix/sem.c: Likewise.
6315 * config/posix/sem.h: Likewise.
6316 * config/posix/time.c: Likewise.
6317 * config/posix95/lock.c: Likewise.
6318 * critical.c: Likewise.
6319 * env.c: Likewise.
6320 * error.c: Likewise.
6321 * fortran.c: Likewise.
6322 * iter_ull.c: Likewise.
6323 * libgomp.h: Likewise.
6324 * libgomp_f.h.in: Likewise.
6325 * libgomp_g.h: Likewise.
6326 * loop.c: Likewise.
6327 * loop_ull.c: Likewise.
6328 * omp.h.in: Likewise.
6329 * omp_lib.f90.in: Likewise.
6330 * omp_lib.h.in: Likewise.
6331 * ordered.c: Likewise.
6332 * parallel.c: Likewise.
6333 * sections.c: Likewise.
6334 * single.c: Likewise.
6335 * task.c: Likewise.
6336 * team.c: Likewise.
6337 * work.c: Likewise.
6338
63392009-04-09 Jakub Jelinek <jakub@redhat.com>
6340
6341 * testsuite/config/default.exp: Change copyright header to refer to
6342 version 3 of the GNU General Public License and to point readers
6343 at the COPYING3 file and the FSF's license web page.
6344
4f0ae266
JJ
63452009-04-08 Jakub Jelinek <jakub@redhat.com>
6346
6347 PR middle-end/39573
6348 * libgomp.c++/pr39573.C: New test.
6349
03742a9b
JJ
63502009-04-01 Jakub Jelinek <jakub@redhat.com>
6351
6352 PR other/39591
6353 * testsuite/libgomp.c/pr39591-1.c: New test.
6354 * testsuite/libgomp.c/pr39591-2.c: New test.
6355 * testsuite/libgomp.c/pr39591-3.c: New test.
6356
e50ea10b
UB
63572009-03-25 Uros Bizjak <ubizjak@gmail.com>
6358
6359 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
6360 * testsuite/libgomp.c/atomic-6.c: Ditto.
6361
c5cdb03f
JJ
63622009-03-23 Jakub Jelinek <jakub@redhat.com>
6363
6364 PR c/39495
6365 * testsuite/libgomp.c/loop-12.c: New test.
6366 * testsuite/libgomp.c/loop-11.c: New test.
6367 * testsuite/libgomp.c++/loop-11.C: New test.
6368 * testsuite/libgomp.c++/loop-12.C: New test.
6369 * testsuite/libgomp.c++/for-8.C: New test.
6370
7a9d3fe8
RW
63712009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6372
6373 * configure: Regenerate.
6374
3ad6b266
JJ
63752009-02-11 Jakub Jelinek <jakub@redhat.com>
6376
6377 PR middle-end/39154
6378 * testsuite/libgomp.c/pr39154.c: New test.
6379
b39dea08
ILT
63802009-01-30 Ian Lance Taylor <iant@google.com>
6381
6382 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
6383 libgomp_ld_is_gold. Get gold version number.
6384 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
6385 * configure: Rebuild.
6386
72c66596
IS
63872009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
6388
e50ea10b 6389 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
6390 use libgfortran.a%s in their specs.
6391
876080ff
JJ
63922009-01-07 Jakub Jelinek <jakub@redhat.com>
6393
6394 PR libgomp/38086
6395 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
6396 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
6397 HAVE_AS_SYMVER_DIRECTIVE is not defined.
6398 * configure: Regenerated.
6399 * config.h.in: Likewise.
6400
e4ebaef3
JJ
64012008-12-28 Jakub Jelinek <jakub@redhat.com>
6402
6403 PR c++/38650
6404 * testsuite/libgomp.c/pr38650.c: New test.
6405 * testsuite/libgomp.c++/pr38650.C: New test.
6406
382017a6
JJ
64072008-12-27 Jakub Jelinek <jakub@redhat.com>
6408
6409 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
6410
79644b27
UB
64112008-12-26 Uros Bizjak <ubizjak@gmail.com>
6412
6413 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
6414
baafc534
RW
64152008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6416
6417 * configure: Regenerate.
6418
d9c194cb
JJ
64192008-12-08 Jakub Jelinek <jakub@redhat.com>
6420
6421 PR middle-end/36802
6422 * testsuite/libgomp.c/pr36802-1.c: New test.
6423 * testsuite/libgomp.c/pr36802-2.c: New test.
6424 * testsuite/libgomp.c/pr36802-3.c: New test.
6425
86a182bf
JJ
64262008-12-01 Janis Johnson <janis187@us.ibm.com>
6427
6428 PR libgomp/38270
6429 * config/linux/powerpc/mutex.h: New.
6430
956adfaf
JJ
64312008-12-01 Jakub Jelinek <jakub@redhat.com>
6432
a2d4cdc9
JJ
6433 PR c++/38257
6434 * testsuite/libgomp.c++/for-7.C: New test.
6435
956adfaf
JJ
6436 PR c++/38348
6437 * testsuite/libgomp.c++/for-6.C: New test.
6438
d4038ca2
JJ
64392008-11-26 Janis Johnson <janis187@us.ibm.com>
6440
6441 PR testsuite/28870
6442 * testsuite/lib/libgomp.exp: Include new timeout library files.
6443 (libgomp_target_compile): Set timeout value from new proc.
6444
8b159eea
SE
64452008-11-13 Steve Ellcey <sje@cup.hp.com>
6446
6447 PR libgomp/37938
6448 * config/linux/ia64/mutex.h: New.
6449
5c6ed53a
TB
64502008-11-04 Tobias Burnus <burnus@net-b.de>
6451
6452 PR libgomp/37935
6453 * libgomp.texi (Runtime library routines, environment variables):
6454 Update for OpenMP version 3.0.
6455
6b4a97ed
PG
64562008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
6457 Steve Ellcey <sje@cup.hp.com>
6458
6459 * configure: Regenerate for new libtool.
6460 * Makefile.in: Ditto.
6461 * testsuite/Makefile.in: Ditto.
6462
e2b34106
JJ
64632008-09-19 Jakub Jelinek <jakub@redhat.com>
6464 Andreas Tobler <a.tobler@schweiz.org>
6465
6466 * config/bsd/proc.c: New file.
8c3b3600 6467 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
6468 * configure.ac: Check for header <sys/sysctl.h>
6469 * configure: Regenerate.
6470 * config.h.in: Likewise.
6471
3606b8bf
JJ
64722008-09-05 Janis Johnson <janis187@us.ibm.com>
6473
6474 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
6475
6528b88d
AL
64762008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
6477
6478 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
6479 * Makefile.in: Regenerated.
6480 * testsuite/Makefile.in: Regenerated.
6481
d9b14b12 64822008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 6483
a16b68bb 6484 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
6485 depend on blddir if blddir exists.
6486 (libgomp_target_compile): Likewise.
6487 * testsuite/libgomp.c++/c++.exp: Likewise.
6488 * testsuite/libgomp.fortran/fortran.exp: Likewise.
6489
70b1e376
RW
64902008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6491
6492 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
6493 Do not list GPL as Invariant Section.
6494
318e8c3f
IG
64952008-07-28 Ilie Garbacea <ilie@mips.com>
6496 Chao-ying Fu <fu@mips.com>
6497
6498 * configure.tgt: Enable futex for MIPS.
6499 * config/linux/mips/futex.h: New file.
6500
4db72361
JJ
65012008-07-16 Jakub Jelinek <jakub@redhat.com>
6502
6503 * team.c (gomp_team_end): Free team immediately if it has
6504 just one thread.
6505
87bd23b8
DE
65062008-07-08 David Edelsohn <edelsohn@gnu.org>
6507
6508 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
6509 * testsuite/libgomp.fortran/fortran.exp: Same.
6510 * testsuite/libgomp.c/c.exp: Same.
6511 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
6512 directory to library path first.
6513
323ff903
KW
65142008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
6515
6516 * env.c (parse_stacksize): Add cast to avoid warning.
6517 (parse_spincount): Likewise.
6518
b357f682
JJ
65192008-06-27 Jakub Jelinek <jakub@redhat.com>
6520
ca2b1311
JJ
6521 * testsuite/libgomp.c/loop-10.c: New test.
6522 * libgomp.c/loop-3.c (main): Add lastprivate clause.
6523 * libgomp.c++/loop-6.C (main): Likewise.
6524
b357f682
JJ
6525 PR debug/36617
6526 * testsuite/libgomp.c/debug-1.c: New test.
6527
09a46078
JJ
65282008-06-19 Jakub Jelinek <jakub@redhat.com>
6529
6530 * testsuite/libgomp.c/nqueens-1.c: New test.
6531
2368a460
JJ
6532 PR c++/36523
6533 * testsuite/libgomp.c++/task-7.C: New function.
6534
18c04407
RW
65352008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6536
6537 * configure: Regenerate.
6538
9c4e59e0
JDA
65392008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
6540
6541 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
6542 mutex when HAVE_SYNC_BUILTINS isn't defined.
6543
6ccde948
RW
65442008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
6545
6546 * libgomp.texi (omp_test_lock): Fix typo.
6547
b896f9fd
TB
65482008-06-12 Tobias Burnus <burnus@net-b.de>
6549
6550 * omp_lib.f90.in: Add "implicit none".
6551
c34938a8
JJ
65522008-06-12 Jakub Jelinek <jakub@redhat.com>
6553
6554 PR middle-end/36506
6555 * testsuite/libgomp.c/reduction-5.c: New test.
6556
976e44e3
JJ
65572008-06-11 Jakub Jelinek <jakub@redhat.com>
6558
5f836cbb
JJ
6559 * libgomp.h (struct gomp_task): Add in_tied_task field.
6560 * task.c (gomp_init_task): Initialize it.
6561 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
6562 unconditionally. Don't call gomp_team_barrier_wake if
6563 current task is implicit or if(0) from implicit and number of
6564 running tasks is equal to nthreads - 1.
6565
01501fc8
JJ
6566 PR libgomp/36471
6567 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
6568 omp_get_team_size_8): Fix pastos.
6569
976e44e3
JJ
6570 PR libgomp/36469
6571 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
6572 * configure: Regenerated.
6573 * config.h.in: Regenerated.
6574 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
6575 defined.
6576
e919209b
AT
65772008-06-06 Andreas Tobler <a.tobler@schweiz.org>
6578
6579 PR bootstrap/36452
6580 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
6581 (GOMP_loop_ull_dynamic_start): Likewise.
6582 (GOMP_loop_ull_guided_start): Likewise.
6583 (GOMP_loop_ull_ordered_static_start): Likewise.
6584 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
6585 (GOMP_loop_ull_ordered_guided_start): Likewise.
6586
a68ab351
JJ
65872008-06-06 Jakub Jelinek <jakub@redhat.com>
6588 Richard Henderson <rth@redhat.com>
6589 Ulrich Drepper <drepper@redhat.com>
6590 Jakob Blomer <jakob.blomer@ira.uka.de>
6591
6592 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
6593 Substitute also OMP_*LOCK_25*.
6594 * configure: Regenerated.
6595 * config.h.in: Regenerated.
6596 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
6597 ptrlock.c and task.c.
6598 * Makefile.in: Regenerated.
6599 * testsuite/Makefile.in: Regenerated.
6600 * task.c: New file.
6601 * loop_ull.c: New file.
6602 * iter_ull.c: New file.
6603 * libgomp.h: Include ptrlock.h.
6604 (enum gomp_task_kind): New type.
6605 (struct gomp_team): Add task_lock, task_queue, task_count,
6606 task_running_count, single_count fields. Add
6607 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
6608 Remove work_share_lock, generation_mask,
6609 oldest_live_gen, num_live_gen and init_work_shares fields, add
6610 work work_share_list_alloc, work_share_list_free and work_share_chunk
6611 fields. Change work_shares from pointer to pointers into an array.
6612 Change ordered_release field into gomp_sem_t ** from flexible array
6613 member. Add implicit_task and initial_work_shares fields.
6614 Move close to the end of the struct.
6615 (struct gomp_team_state): Add single_count, last_work_share,
6616 active_level and level fields, remove work_share_generation.
6617 (gomp_barrier_handle_tasks): New prototype.
6618 (gomp_finish_task): New inline function.
6619 (struct gomp_work_share): Move chunk_size, end, incr into
6620 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
6621 next_ll fields. Reshuffle fields. Add next_alloc,
6622 next_ws, next_free and inline_ordered_team_ids fields, change
6623 ordered_team_ids into pointer from flexible array member.
6624 Add mode field. Put lock and next into a different cache line
6625 from most of the write-once fields.
6626 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
6627 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
6628 gomp_iter_ull_guided_next): New prototypes.
6629 (gomp_new_icv): New prototype.
6630 (struct gomp_thread): Add thread_pool and task fields.
6631 (struct gomp_thread_pool): New type.
6632 (gomp_new_team): New prototype.
6633 (gomp_team_start): Change type of last argument.
6634 (gomp_new_work_share): Removed.
6635 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
6636 (gomp_work_share_init_done): New static inline.
6637 (gomp_throttled_spin_count_var, gomp_available_cpus,
6638 gomp_managed_threads): New extern decls.
6639 (gomp_init_task): New prototype.
6640 (gomp_spin_count_var): New extern var decl.
6641 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
6642 or no alias support, or if not PIC.
6643 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
6644 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
6645 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
6646 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
6647 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
6648 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
6649 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
6650 gomp_test_nest_lock_25): New prototypes.
6651 (omp_lock_symver, strong_alias): Define.
6652 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
6653 decls.
6654 (gomp_end_task): New.
6655 (struct gomp_task_icv, gomp_global_icv): New.
6656 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
6657 (struct gomp_task): New.
6658 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
6659 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
6660 (gomp_icv): New.
6661 (gomp_schedule_type): Reorder enum to match
6662 omp_sched_t.
6663 * team.c (struct gomp_thread_start_data): Add thread_pool and task
6664 fields.
6665 (gomp_thread_start): Add gomp_team_barrier_wait call.
6666 For non-nested case remove clearing of docked thread thr fields.
6667 Use pool fields instead of global gomp_* variables. Use
6668 gomp_barrier_wait_last when needed. Initialize ts.active_level.
6669 Create tasks for each member thread.
6670 (free_team): Only destroy team barrier, task_lock here and free it.
6671 (gomp_free_thread): Free last_team if non-NULL.
6672 (gomp_team_end): Call gomp_team_barrier_wait instead of
6673 gomp_barrier_wait. For nested case call one extra
6674 gomp_barrier_wait. Move here some destruction from free_team.
6675 Call free_team on pool->last_team if any, rather than freeing
6676 current team. Destroy work_share_list_free_lock ifndef
6677 HAVE_SYNC_BUILTINS.
6678 (gomp_new_icv): New function.
6679 (gomp_threads, gomp_threads_size, gomp_threads_used,
6680 gomp_threads_dock): Removed.
6681 (gomp_thread_destructor): New variable.
6682 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
6683 functions.
6684 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 6685 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
6686 Initialize thread_pool field for new threads. Clear single_count.
6687 Change last argument from ws to team, don't create
6688 new team, set ts.work_share to &team->work_shares[0] and clear
6689 ts.last_work_share. Don't clear ts.work_share_generation.
6690 If number of threads changed, adjust atomically gomp_managed_threads.
6691 Use gomp_init_task instead of gomp_new_task,
6692 set thr->task to the corresponding implicit_task array entry.
6693 Create tasks for each member thread. Initialize ts.level.
6694 (initialize_team): Call pthread_key_create on
6695 gomp_thread_destructor.
6696 (team_destructor): New function.
6697 (new_team): Removed.
6698 (gomp_new_team): New function.
6699 (free_team): Free gomp_work_share blocks chained through next_alloc,
6700 instead of freeing work_shares and destroying work_share_lock.
6701 (gomp_team_end): Call gomp_fini_work_share. If number of threads
6702 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
6703 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
6704 of gomp_barrier_wait.
6705 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
6706 instead of gomp_barrier_wait. Call gomp_work_share_init_done
6707 if gomp_work_share_start returned true. Don't unlock ws->lock.
6708 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
6709 of gomp_barrier_wait.
6710 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
6711 gomp_work_share_init_done if gomp_work_share_start returned true.
6712 Don't unlock ws->lock.
6713 * work.c: Include stddef.h.
6714 (free_work_share): Use work_share_list_free_lock instead
6715 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
6716 Call gomp_fini_work_share and then either free ws if orphaned, or
6717 put it into work_share_list_free list of the current team.
6718 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
6719 functions.
6720 (gomp_work_share_start, gomp_work_share_end,
6721 gomp_work_share_end_nowait): Rewritten.
6722 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
6723 (openmp_version): Set to 200805.
6724 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
6725 omp_sched_guided, omp_sched_auto): New parameters.
6726 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
6727 omp_set_max_active_levels, omp_get_max_active_levels,
6728 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
6729 omp_get_active_level): New interfaces.
6730 * omp_lib.h.in (openmp_version): Set to 200805.
6731 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
6732 omp_sched_guided, omp_sched_auto): New parameters.
6733 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
6734 omp_set_max_active_levels, omp_get_max_active_levels,
6735 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
6736 omp_get_active_level): New externals.
6737 * loop.c: Include limits.h.
6738 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
6739 GFS_AUTO.
6740 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
6741 Likewise. Use gomp_icv.
6742 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
6743 ts.static_trip here.
6744 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
6745 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
6746 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
6747 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
6748 don't unlock ws->lock, otherwise lock it.
6749 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
6750 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
6751 (gomp_parallel_loop_start): Call gomp_new_team instead of
6752 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
6753 Adjust gomp_team_start caller. Pass 0 as second argument to
6754 gomp_resolve_num_threads.
6755 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
6756 If adding ws->chunk_size nthreads + 1 times after end won't
6757 overflow, set ws->mode to 1.
6758 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
6759 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
6760 GOMP_loop_ull_ordered_static_start,
6761 GOMP_loop_ull_ordered_dynamic_start,
6762 GOMP_loop_ull_ordered_guided_start,
6763 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
6764 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
6765 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
6766 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
6767 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
6768 prototypes.
6769 * libgomp.map: Export lock routines also @@OMP_2.0.
6770 (GOMP_loop_ordered_dynamic_first,
6771 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
6772 GOMP_loop_ordered_static_first): Remove.
6773 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
6774 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
6775 GOMP_loop_ull_ordered_dynamic_next,
6776 GOMP_loop_ull_ordered_dynamic_start,
6777 GOMP_loop_ull_ordered_guided_next,
6778 GOMP_loop_ull_ordered_guided_start,
6779 GOMP_loop_ull_ordered_runtime_next,
6780 GOMP_loop_ull_ordered_runtime_start,
6781 GOMP_loop_ull_ordered_static_next,
6782 GOMP_loop_ull_ordered_static_start,
6783 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
6784 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
6785 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
6786 (omp_set_schedule, omp_get_schedule,
6787 omp_get_thread_limit, omp_set_max_active_levels,
6788 omp_get_max_active_levels, omp_get_level,
6789 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
6790 omp_set_schedule_, omp_set_schedule_8_,
6791 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
6792 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
6793 omp_get_max_active_levels_, omp_get_level_,
6794 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
6795 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
6796 New exports @@OMP_3.0.
6797 * omp.h.in (omp_sched_t): New type.
6798 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
6799 omp_set_max_active_levels, omp_get_max_active_levels,
6800 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
6801 omp_get_active_level): New prototypes.
6802 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
6803 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
6804 gomp_thread_limit_var, gomp_remaining_threads_count,
6805 gomp_remaining_threads_lock): New variables.
6806 (parse_spincount): New function.
6807 (initialize_env): Call gomp_init_num_threads unconditionally.
6808 Initialize gomp_available_cpus. Call parse_spincount,
6809 initialize gomp_{,throttled_}spin_count_var
6810 depending on presence and value of OMP_WAIT_POLICY and
6811 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
6812 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
6813 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
6814 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
6815 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
6816 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
6817 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
6818 (gomp_global_icv): New.
6819 (parse_schedule): Use it. Parse "auto".
6820 (omp_set_num_threads): Use gomp_icv.
6821 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
6822 Likewise.
6823 (omp_get_max_threads): Move from parallel.c.
6824 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
6825 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
6826 add ialias.
6827 (parse_stacksize, parse_wait_policy): New functions.
6828 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
6829 both wrappers for compatibility and new locks.
6830 (omp_set_schedule, omp_get_schedule,
6831 omp_get_thread_limit, omp_set_max_active_levels,
6832 omp_get_max_active_levels, omp_get_level,
6833 omp_get_ancestor_thread_num, omp_get_team_size,
6834 omp_get_active_level): New ialias_redirect.
6835 (omp_set_schedule_, omp_set_schedule_8_,
6836 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
6837 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
6838 omp_get_max_active_levels_, omp_get_level_,
6839 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
6840 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
6841 New functions.
6842 * parallel.c: Include limits.h.
6843 (gomp_resolve_num_threads): Add count argument. Rewritten.
6844 (GOMP_parallel_start): Call gomp_new_team and pass that as last
6845 argument to gomp_team_start. Pass 0 as second argument to
6846 gomp_resolve_num_threads.
6847 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
6848 if gomp_thread_limit_var != ULONG_MAX.
6849 (omp_in_parallel): Implement using ts.active_level.
6850 (omp_get_max_threads): Move to env.c.
6851 (omp_get_level, omp_get_ancestor_thread_num,
6852 omp_get_team_size, omp_get_active_level): New functions,
6853 add ialias.
6854 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
6855 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
6856 gomp_iter_dynamic_next instead of the _locked variant and don't take
6857 lock around it, otherwise acquire it before calling
6858 gomp_iter_dynamic_next_locked.
6859 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
6860 gomp_iter_dynamic_next instead of the _locked variant and don't take
6861 lock around it.
6862 (GOMP_parallel_sections_start): Call gomp_new_team instead of
6863 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
6864 Adjust gomp_team_start caller. Pass count as second argument to
6865 gomp_resolve_num_threads, don't adjust num_threads after the call.
6866 Use gomp_icv.
6867 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
6868 ws->chunk_size by incr.
6869 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
6870 code.
6871 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
6872 types.
6873 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
6874 (omp_check_defines): Check even the compat defines.
6875 * config/linux/ptrlock.c: New file.
6876 * config/linux/ptrlock.h: New file.
6877 * config/linux/wait.h: New file.
6878 * config/posix/ptrlock.c: New file.
6879 * config/posix/ptrlock.h: New file.
6880 * config/linux/bar.h (gomp_team_barrier_wait,
6881 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
6882 (gomp_team_barrier_set_task_pending,
6883 gomp_team_barrier_clear_task_pending,
6884 gomp_team_barrier_set_waiting_for_tasks,
6885 gomp_team_barrier_waiting_for_tasks,
6886 gomp_team_barrier_done): New inlines.
6887 (gomp_barrier_t): Rewritten.
6888 (gomp_barrier_state_t): New typedef.
6889 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
6890 gomp_barrier_wait_start): Rewritten.
6891 (gomp_barrier_wait_end): Change second argument to
6892 gomp_barrier_state_t.
6893 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
6894 inlines.
6895 * config/linux/bar.c: Include wait.h instead of libgomp.h and
6896 futex.h.
6897 (gomp_barrier_wait_end): Rewritten.
6898 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
6899 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
6900 * config/posix/bar.h (gomp_barrier_t): Add generation field.
6901 (gomp_barrier_state_t): New typedef.
6902 (gomp_team_barrier_wait,
6903 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
6904 (gomp_barrier_wait_start): Or all but low 2 bits from generation
6905 into the return value. Return gomp_barrier_state_t.
6906 (gomp_team_barrier_set_task_pending,
6907 gomp_team_barrier_clear_task_pending,
6908 gomp_team_barrier_set_waiting_for_tasks,
6909 gomp_team_barrier_waiting_for_tasks,
6910 gomp_team_barrier_done): New inlines.
6911 (gomp_barrier_wait_end): Change second argument to
6912 gomp_barrier_state_t.
6913 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
6914 inlines.
6915 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
6916 (gomp_barrier_wait_end): Change second argument to
3e348fcc 6917 gomp_barrier_state_t.
a68ab351
JJ
6918 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
6919 gomp_team_barrier_wake): New functions.
6920 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
6921 futex.h.
6922 (gomp_futex_wake, gomp_futex_wait): New variables.
6923 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
6924 * config/linux/lock.c: Rewrite to make locks task owned,
6925 for backwards compatibility provide the old entrypoints
6926 if symbol versioning. Include wait.h instead of libgomp.h and
6927 futex.h.
6928 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
6929 * config/posix95/lock.c: Rewrite to make locks task owned,
6930 for backwards compatibility provide the old entrypoints
6931 if symbol versioning.
6932 * config/posix/lock.c: Rewrite to make locks task owned,
6933 for backwards compatibility provide the old entrypoints
6934 if symbol versioning.
6935 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
6936 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
6937 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
6938 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6939 (sys_futex0): Return error code.
6940 (futex_wake, futex_wait): If ENOSYS was returned, clear
6941 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6942 (cpu_relax, atomic_write_barrier): New static inlines.
6943 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6944 (futex_wake, futex_wait): If ENOSYS was returned, clear
6945 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6946 (cpu_relax, atomic_write_barrier): New static inlines.
6947 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6948 (sys_futex0): Return error code.
6949 (futex_wake, futex_wait): If ENOSYS was returned, clear
6950 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6951 (cpu_relax, atomic_write_barrier): New static inlines.
6952 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6953 (sys_futex0): Return error code.
6954 (futex_wake, futex_wait): If ENOSYS was returned, clear
6955 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6956 (cpu_relax, atomic_write_barrier): New static inlines.
6957 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6958 (sys_futex0): Return error code.
6959 (futex_wake, futex_wait): If ENOSYS was returned, clear
6960 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6961 (cpu_relax, atomic_write_barrier): New static inlines.
6962 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
6963 (sys_futex0): Return error code.
6964 (futex_wake, futex_wait): If ENOSYS was returned, clear
6965 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
6966 (cpu_relax, atomic_write_barrier): New static inlines.
6967 * config/linux/sem.c: Include wait.h instead of libgomp.h and
6968 futex.h.
6969 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
6970 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
6971 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
6972 types.
6973 (omp_nest_lock_t): Change owner into void *, add lock field.
6974 * config/posix95/omp-lock.h: Include semaphore.h.
6975 (omp_lock_25_t, omp_nest_lock_25_t): New types.
6976 (omp_lock_t): Use sem_t instead of mutex if semaphores
6977 aren't broken.
6978 (omp_nest_lock_t): Likewise. Change owner to void *.
6979 * config/posix/omp-lock.h: Include semaphore.h.
6980 (omp_lock_25_t, omp_nest_lock_25_t): New types.
6981 (omp_lock_t): Use sem_t instead of mutex if semaphores
6982 aren't broken.
6983 (omp_nest_lock_t): Likewise. Add owner field.
6984
69852008-06-06 Jakub Jelinek <jakub@redhat.com>
6986
6987 * testsuite/libgomp.c/collapse-1.c: New test.
6988 * testsuite/libgomp.c/collapse-2.c: New test.
6989 * testsuite/libgomp.c/collapse-3.c: New test.
6990 * testsuite/libgomp.c/icv-1.c: New test.
6991 * testsuite/libgomp.c/icv-2.c: New test.
6992 * testsuite/libgomp.c/lib-2.c: New test.
6993 * testsuite/libgomp.c/lock-1.c: New test.
6994 * testsuite/libgomp.c/lock-2.c: New test.
6995 * testsuite/libgomp.c/lock-3.c: New test.
6996 * testsuite/libgomp.c/loop-4.c: New test.
6997 * testsuite/libgomp.c/loop-5.c: New test.
6998 * testsuite/libgomp.c/loop-6.c: New test.
6999 * testsuite/libgomp.c/loop-7.c: New test.
7000 * testsuite/libgomp.c/loop-8.c: New test.
7001 * testsuite/libgomp.c/loop-9.c: New test.
7002 * testsuite/libgomp.c/nested-3.c: New test.
7003 * testsuite/libgomp.c/nestedfn-6.c: New test.
7004 * testsuite/libgomp.c/sort-1.c: New test.
7005 * testsuite/libgomp.c/task-1.c: New test.
7006 * testsuite/libgomp.c/task-2.c: New test.
7007 * testsuite/libgomp.c/task-3.c: New test.
7008 * testsuite/libgomp.c/task-4.c: New test.
7009 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
7010 to C++ testsuite default compiler options.
7011 * testsuite/libgomp.c++/collapse-1.C: New test.
7012 * testsuite/libgomp.c++/collapse-2.C: New test.
7013 * testsuite/libgomp.c++/ctor-10.C: New test.
7014 * testsuite/libgomp.c++/for-1.C: New test.
7015 * testsuite/libgomp.c++/for-2.C: New test.
7016 * testsuite/libgomp.c++/for-3.C: New test.
7017 * testsuite/libgomp.c++/for-4.C: New test.
7018 * testsuite/libgomp.c++/for-5.C: New test.
7019 * testsuite/libgomp.c++/loop-8.C: New test.
7020 * testsuite/libgomp.c++/loop-9.C: New test.
7021 * testsuite/libgomp.c++/loop-10.C: New test.
7022 * testsuite/libgomp.c++/task-1.C: New test.
7023 * testsuite/libgomp.c++/task-2.C: New test.
7024 * testsuite/libgomp.c++/task-3.C: New test.
7025 * testsuite/libgomp.c++/task-4.C: New test.
7026 * testsuite/libgomp.c++/task-5.C: New test.
7027 * testsuite/libgomp.c++/task-6.C: New test.
7028 * testsuite/libgomp.fortran/allocatable1.f90: New test.
7029 * testsuite/libgomp.fortran/allocatable2.f90: New test.
7030 * testsuite/libgomp.fortran/allocatable3.f90: New test.
7031 * testsuite/libgomp.fortran/allocatable4.f90: New test.
7032 * testsuite/libgomp.fortran/collapse1.f90: New test.
7033 * testsuite/libgomp.fortran/collapse2.f90: New test.
7034 * testsuite/libgomp.fortran/collapse3.f90: New test.
7035 * testsuite/libgomp.fortran/collapse4.f90: New test.
7036 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
7037 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
7038 * testsuite/libgomp.fortran/lib4.f90: New test.
7039 * testsuite/libgomp.fortran/lock-1.f90: New test.
7040 * testsuite/libgomp.fortran/lock-2.f90: New test.
7041 * testsuite/libgomp.fortran/nested1.f90: New test.
7042 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
7043 * testsuite/libgomp.fortran/strassen.f90: New test.
7044 * testsuite/libgomp.fortran/tabs1.f90: New test.
7045 * testsuite/libgomp.fortran/tabs2.f: New test.
7046 * testsuite/libgomp.fortran/task1.f90: New test.
7047 * testsuite/libgomp.fortran/task2.f90: New test.
7048 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
7049 * testsuite/libgomp.fortran/vla5.f90: Likewise.
7050 * testsuite/libgomp.c/pr26943-2.c: Likewise.
7051 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7052 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7053
7a0112e7
JJ
70542008-05-23 Jakub Jelinek <jakub@redhat.com>
7055
7056 PR c++/36308
7057 * testsuite/libgomp.c++/ctor-11.C: New test.
7058 * testsuite/libgomp.c++/ctor-12.C: New test.
7059
91a5b394
JJ
70602008-05-15 Janis Johnson <janis187@us.ibm.com>
7061
7062 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
7063
c18c98c0
JJ
70642008-05-07 Jakub Jelinek <jakub@redhat.com>
7065
7066 PR middle-end/36106
7067 * testsuite/libgomp.c/atomic-5.c: New test.
7068 * testsuite/libgomp.c/atomic-6.c: New test.
7069 * testsuite/libgomp.c/autopar-1.c: New test.
7070
6d26724a
RW
70712008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7072
7073 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
7074 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
7075 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
7076 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
7077 * configure: Regenerate.
7078 * Makefile.in, testsuite/Makefile.in: Likewise.
7079
deb984e6
PB
70802008-04-18 Paolo Bonzini <bonzini@gnu.org>
7081
7082 PR bootstrap/35457
7083 * aclocal.m4: Regenerate.
7084 * configure: Regenerate.
7085
9e775963
JJ
70862008-03-18 Jakub Jelinek <jakub@redhat.com>
7087
8119fc93
JJ
7088 PR middle-end/35611
7089 * testsuite/libgomp.c/atomic-4.c: New test.
7090
9e775963
JJ
7091 PR libgomp/35625
7092 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
7093 (gomp_iter_guided_next): Likewise.
7094 * testsuite/libgomp.c/pr35625.c: New test.
7095
38d24731
RW
70962008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7097
7098 * aclocal.m4: Regenerate.
7099 * configure: Likewise.
7100 * Makefile.in: Likewise.
7101 * testsuite/Makefile.in: Likewise.
7102
d0fb20be
JJ
71032008-03-13 Jakub Jelinek <jakub@redhat.com>
7104
7105 PR middle-end/35185
7106 * testsuite/libgomp.c++/pr35185.C: New test.
7107
7c8f7639
JJ
71082008-03-12 Jakub Jelinek <jakub@redhat.com>
7109
7110 PR middle-end/35549
7111 * testsuite/libgomp.c/pr35549.c: New test.
7112
251923f5
JJ
71132008-03-06 Jakub Jelinek <jakub@redhat.com>
7114
7115 * testsuite/libgomp.c/atomic-3.c: New test.
7116
f489fba1
FXC
71172008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7118
7119 PR fortran/33197
251923f5 7120 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
7121 .F08 file suffixes.
7122
a1b25e49
PG
71232008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
7124
7125 PR libgomp/33131
7126 * configure.ac: Add ACX_HEADER_STRING.
7127 * env.c: Include strings.h.
7128 * aclocal.m4: Regenerate.
7129 * config.h.in: Regenerate.
7130 * configure: Regenerate.
7131 * Makefile.in: Regenerate.
7132 * testsuite/Makefile.in: Regenerate.
7133
6837b3b8
JJ
71342008-02-15 Jakub Jelinek <jakub@redhat.com>
7135
ac84c062
JJ
7136 PR middle-end/35196
7137 * testsuite/libgomp.c/pr35196.c: New test.
7138
6837b3b8
JJ
7139 PR middle-end/35130
7140 * testsuite/libgomp.fortran/pr35130.f90: New test.
7141 * testsuite/libgomp.c/pr35130.c: New test.
7142
c256730c
JJ
71432008-01-25 Jakub Jelinek <jakub@redhat.com>
7144
7145 PR middle-end/33880
7146 * testsuite/libgomp.c/pr33880.c: New test.
7147 * testsuite/libgomp.fortran/pr33880.f90: New test.
7148
c8e95542 71492008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
7150
7151 * configure: Regenerate.
7152
0f3e711e
JJ
71532008-01-08 Jakub Jelinek <jakub@redhat.com>
7154
7155 * configure.ac: Move futex checking into ../config/futex.m4.
7156 * configure: Rebuilt.
7157 * aclocal.m4: Rebuilt.
7158 * Makefile.in: Rebuilt.
7159
7160 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
7161 2007-10-15 ../config/tls.m4 change.
7162
5259c813
JJ
71632007-12-19 Jakub Jelinek <jakub@redhat.com>
7164
7165 PR c++/34513
7166 * testsuite/libgomp.c/pr34513.c: New test.
7167 * testsuite/libgomp.c++/pr34513.C: New test.
7168
ae8d8879
JH
71692007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
7170
7171 PR target/32765
7172 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
7173
2b4cf991
JJ
71742007-12-04 Jakub Jelinek <jakub@redhat.com>
7175
7176 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
7177
d2dda7fe
JJ
71782007-12-03 Jakub Jelinek <jakub@redhat.com>
7179
7180 * testsuite/libgomp.c/private-1.c: New test.
7181
d683ec81
PB
71822007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
7183 Paolo Bonzini <bonzini@gnu.org>
7184
7185 * Makefile.am: Use space as vpath separator. Use 'vpath %'
7186 instead of 'VPATH ='.
7187 * Makefile.in: Regenerate.
7188
a7415017
MK
71892007-11-23 Matthias Klose <doko@ubuntu.com>
7190
7191 * configure.ac: Adjust makeinfo version check.
7192 * configure: Regenerate.
7193
78e47463
JJ
71942007-11-10 Jakub Jelinek <jakub@redhat.com>
7195
7196 PR fortran/34020
7197 * testsuite/libgomp.fortran/pr34020.f90: New test.
7198
239371f9
JJ
71992007-11-06 Jakub Jelinek <jakub@redhat.com>
7200
7201 PR c++/33894
7202 * testsuite/libgomp.c++/atomic-1.C: New test.
7203
98a5fa94
JJ
72042007-10-25 Jakub Jelinek <jakub@redhat.com>
7205
7206 PR libgomp/33275
7207 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
7208 Make x and y integers rather than (implicit) reals. Add private (j)
7209 clause to the last omp parallel.
7210
3afcaaf4
MR
72112007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
7212
7213 * configure: Regenerate following changes to ../config/tls.m4.
7214
bd69daef
JJ
72152007-09-28 Jakub Jelinek <jakub@redhat.com>
7216
7217 * testsuite/libgomp.fortran/stack.f90: New test.
7218
1d0bd356
DS
72192007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
7220
7221 * config/mingw32/proc.c: New file.
7222
b3172cab
UB
72232007-09-05 Uros Bizjak <ubizjak@gmail.com>
7224
7225 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
7226 (main): Use __get_cpuid to get i386 target fetaures.
7227 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
7228 (main): Use __get_cpuid to get x86_64 target fetaures.
7229
6da17392
JH
72302007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
7231
7232 PR target/32765
7233 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
7234 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
7235
e1c82219
JJ
72362007-07-12 Jakub Jelinek <jakub@redhat.com>
7237
7238 PR fortran/32550
7239 * testsuite/libgomp.fortran/pr32550.f90: New test.
7240 * testsuite/libgomp.fortran/crayptr2.f90: New test.
7241
12a27363
L
72422007-07-05 H.J. Lu <hongjiu.lu@intel.com>
7243
7244 * aclocal.m4: Regenerated.
7245
5349080d
TB
72462007-07-05 Tobias Burnus <burnus@net-b.de>
7247
7248 PR fortran/32359
7249 * testsuite/libgomp.fortran/pr32359.f90: New.
7250
4f9c450c
JJ
72512007-07-02 Jakub Jelinek <jakub@redhat.com>
7252
7253 PR libgomp/32468
7254 * sections.c (GOMP_parallel_sections_start): Only decrease
7255 number of threads to COUNT if dyn_var is true.
7256 * testsuite/libgomp.c/pr32468.c: New test.
7257
28c67ed7
RO
72582007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
7259
7260 PR libgomp/26308
7261 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
7262
64964499
JJ
72632007-06-21 Jakub Jelinek <jakub@redhat.com>
7264
7265 PR middle-end/32362
7266 * testsuite/libgomp.c/pr32362-1.c: New test.
7267 * testsuite/libgomp.c/pr32362-2.c: New test.
7268 * testsuite/libgomp.c/pr32362-3.c: New test.
7269
46d8fbd1
JJ
72702007-06-07 Jakub Jelinek <jakub@redhat.com>
7271
7272 * team.c (gomp_team_start): Fix setting up thread_attr
7273 stack size.
7274
82a6cadf
PB
72752007-06-02 Paolo Bonzini <bonzini@gnu.org>
7276
7277 * configure: Regenerate.
7278
1cf3d07d
SE
72792007-05-23 Steve Ellcey <sje@cup.hp.com>
7280
7281 * Makefile.in: Regenerate.
7282 * configure: Regenerate.
7283 * aclocal.m4: Regenerate.
7284 * testsuite/Makefile.in: Regenerate.
7285
12aac30b
JJ
72862007-05-04 Jakub Jelinek <jakub@redhat.com>
7287
7288 * config/linux/proc.c: New file.
7289
f1028b02
JJ
7290 PR libgomp/28482
7291 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
7292
06785a48
DF
72932007-04-19 Daniel Franke <franke.daniel@gmail.com>
7294
7295 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
7296
b3b08ba0
MK
72972007-04-16 Matthias Klose <doko@debian.org>
7298
7299 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
7300 flags if not building with -m64.
7301 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
7302 flag for i?86-*-* targets, if current target matches -m64.
7303
6b2c5ce0
SE
73042007-04-14 Steve Ellcey <sje@cup.hp.com>
7305
7306 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
7307 * Makefile.in: Regenerate.
7308
dd56fe7c
JDA
73092007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7310
7311 PR testsuite/31369
7312 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
7313 ld_library_path.
7314 * testsuite/libgomp.fortran/fortran.exp: Likewise.
7315
a0884cf0
JJ
73162007-04-04 Jakub Jelinek <jakub@redhat.com>
7317
7318 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
7319 decls.
7320 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
7321 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
7322 (parse_affinity): New function.
7323 (initialize_env): Call it and gomp_init_affinity.
7324 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
7325 create new pthread_attr_t and call gomp_init_thread_affinity
7326 on it for each thread before passing the attribute to pthread_create.
7327 * config/linux/affinity.c: New file.
7328 * config/posix/affinity.c: New file.
7329 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
7330 * configure: Rebuilt.
7331 * config.h.in: Rebuilt.
7332 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
7333 * Makefile.in: Rebuilt.
7334
1850744b
AT
73352007-03-23 Andreas Tobler <a.tobler@schweiz.org>
7336
7337 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
7338 *-*-darwin*.
7339 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
7340 and use it if found.
7341
516f1ed8
UB
73422007-03-18 Uros Bizjak <ubizjak@gmail.com>
7343
7344 * testsuite/config/default.exp: New file.
7345 * testsuite/lib/libgomp.exp: New file.
7346 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
7347 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
7348 load_lib *, load_gcc_lib *): Move to libgomp.exp.
7349 (libgomp_load): Remove.
7350 * testsuite/lib/libgomp.exp (libgomp_init): Compute
7351 always_ld_library_path, not ld_library_path. Set additional_flags
7352 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
7353 (target_compile): Do not call libgomp_init. Append lang_library_path
7354 and lang_link_flags to options.
7355 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
7356 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
7357 here.
7358 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
7359 always_ld_library_path. Set LD_LIBRARY_PATH here.
7360 * testsuite/libgomp.fortran/fortran.exp: Ditto.
7361 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
7362 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
7363 CX8 flag.
7364 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
7365 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
7366 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
7367 * testsuite/libgomp.c/pr29947-1.c: Ditto.
7368 * testsuite/libgomp.c/atomic-10.c: Ditto.
7369
2ada56f5
JJ
73702007-03-21 Jakub Jelinek <jakub@redhat.com>
7371
7372 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
7373 dg-final cleanup-modules line.
7374 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
7375 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
7376 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
7377 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
7378 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
7379 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
7380 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
7381
f210f1cd
AS
73822007-03-18 Andreas Schwab <schwab@suse.de>
7383
7384 * acinclude.m4: Adjust regular expression for ld version
7385 extraction.
7386 * configure: Regenerate.
7387
c4dc950d
BM
73882007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
7389
7390 * Makefile.am: Add install-pdf target as copied from
7391 automake v1.10 rules.
7392 * Makefile.in: Regenerate
7393
e02a048f
JJ
73942007-02-07 Jakub Jelinek <jakub@redhat.com>
7395
78e075d4
JJ
7396 PR libgomp/28486
7397 * configure: Regenerate.
7398
e02a048f
JJ
7399 PR c++/30703
7400 * testsuite/libgomp.c++/pr30703.C: New test.
7401
60def7ed
JJ
74022007-02-02 Jakub Jelinek <jakub@redhat.com>
7403
7404 Revert:
7405 2006-07-05 Eric Christopher <echristo@apple.com>
7406 * configure.ac: Depend addition of -pthread on host OS.
7407 * configure: Regenerate.
7408
f1b0882e
RW
74092007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7410
7411 * libgomp.texi: Fix spacing after abbreviations.
7412
748b9d7c
DF
74132007-01-31 Daniel Franke <franke.daniel@gmail.com>
7414
7415 PR libgomp/30546
7416 * configure.ac: Add check for makeinfo
7417 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
7418 if an appropiate version of makeinfo is found.
7419 * aclocal.m4: Regenerated.
7420 * configure: Regenerated.
7421 * Makefile.in: Regenerated.
7422 * testsuite/Makefile.in: Regenerated.
7423
14734fc7
DF
74242007-01-29 Daniel Franke <franke.daniel@gmail.com>
7425
7426 PR libgomp/30540
7427 * libgomp.texi: More about implementation-dependent settings.
7428
7befd5d2
TB
74292007-01-26 Tobias Burnus <burnus@net-b.de>
7430
7431 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
7432
4288fea2
JJ
74332007-01-24 Jakub Jelinek <jakub@redhat.com>
7434
7435 PR middle-end/30494
7436 * testsuite/libgomp.c/pr30494.c: New test.
7437
627ab4b8
TT
74382007-01-15 Tom Tromey <tromey@redhat.com>
7439
7440 * configure: Rebuilt.
7441 * configure.ac: Fixed comment.
7442
7c2b7f45
DF
74432007-01-14 Daniel Franke <franke.daniel@gmail.com>
7444
7445 * libgomp.texi: Document implementation specific default values of
7446 environment variables.
7447
3721b9e1
DF
74482006-12-21 Daniel Franke <franke.daniel@gmail.com>
7449
7450 PR libgomp/28209
7451 * libgomp.texi: New file.
7452 * configure.ac: Add --enable-generated-files-in-srcdir option.
7453 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
7454 files to srcdir.
7455 * Makefile.in: Regenerated.
7456 * config.h.in: Regenerated.
7457 * testsuite/Makefile.in: Regenerated.
7458 * NOTES: Removed.
7459
62bd6216
DF
74602006-12-04 Daniel Franke <franke.daniel@gmail.com>
7461
7462 PR libgomp/29949
7463 * env.c (omp_set_num_threads): Set illegal thread count to 1.
7464
aad741f4
EB
74652006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
7466
7467 * configure: Regenerate.
7468
22568cc6
JJ
74692006-12-04 Jakub Jelinek <jakub@redhat.com>
7470
7471 PR libgomp/29947
7472 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
7473 start if there shouldn't be any loop iterations.
7474 (gomp_loop_ordered_static_start): Remove start == end test.
7475 * testsuite/libgomp.c/pr29947-1.c: New test.
7476 * testsuite/libgomp.c/pr29947-2.c: New test.
7477
a9690009
EB
74782006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
7479
7480 * configure.tgt: Force initial-exec TLS model on Linux only.
7481
597c25e6
DJ
74822006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
7483
7484 * configure: Regenerated.
7485
6acf0b38
UB
74862006-11-09 Uros Bizjak <ubizjak@gmail.com>
7487
7488 * env.c (parse_schedule): Reject out of range values.
7489 (parse_unsigned_long): Reject out of range, negative or zero values.
7490
a7a53ca5
JJ
74912006-10-29 Jakub Jelinek <jakub@redhat.com>
7492
7493 PR fortran/29629
7494 * testsuite/libgomp.fortran/pr29629.f90: New test.
7495
6d4d216a
EB
74962006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
7497
7498 PR libgomp/29494
7499 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
7500 * config/posix95: New directory.
7501 * config/posix95/omp-lock.h: New file.
7502 * config/posix95/lock.c: Likewise.
7503
5b043f08
GK
75042006-10-14 Geoffrey Keating <geoffk@apple.com>
7505
7506 * aclocal.m4: Regenerate.
7507 * configure: Regenerate.
7508
b50019f0
DS
75092006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
7510
7511 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
7512 '<' to '<='.
7513
8887708e
DS
75142006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
7515
7516 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
7517 test.
7518 * configure: Regenerate.
7519 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
7520
9b9e4cd6
JJ
75212006-09-26 Jakub Jelinek <jakub@redhat.com>
7522
a70ad3bb
JJ
7523 PR middle-end/25261
7524 PR middle-end/28790
7525 * testsuite/libgomp.c/nestedfn-4.c: New test.
7526 * testsuite/libgomp.c/nestedfn-5.c: New test.
7527 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
7528
9b9e4cd6
JJ
7529 PR fortran/29097
7530 * testsuite/libgomp.fortran/condinc1.f: New test.
7531 * testsuite/libgomp.fortran/condinc2.f: New test.
7532 * testsuite/libgomp.fortran/condinc3.f90: New test.
7533 * testsuite/libgomp.fortran/condinc4.f90: New test.
7534 * testsuite/libgomp.fortran/condinc1.inc: New file.
7535
2fb31455
TT
75362006-09-18 Tom Tromey <tromey@redhat.com>
7537
7538 * configure: Rebuilt.
7539
c663e301
JM
75402006-09-13 Joseph S. Myers <joseph@codesourcery.com>
7541
7542 PR c/28768
7543 PR preprocessor/14634
7544 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
7545 to AC_DEFINE.
7546 * configure: Regenerate.
7547
38371be9
SK
75482006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
7549
7550 * testsuite/libgomp.fortran/reduction3.f90: Change
7551 -2147483648 to -huge(i)-1 to avoid overflow.
7552 * testsuite/libgomp.fortran/reduction4.f90: Change
7553 Z'ffffffff' to not(0) to avoid overflow.
7554
571d5ac5
JM
75552006-08-26 Joseph S. Myers <joseph@codesourcery.com>
7556
7557 PR libgomp/25938
7558 * Makefile.am (libsubincludedir): New.
7559 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
7560 * Makefile.in: Regenerate.
7561
89b3e3cd
JJ
75622006-08-17 Jakub Jelinek <jakub@redhat.com>
7563
7564 PR libgomp/28725
7565 * env.c: Include ctype.h.
7566 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
7567 leading and/or trailing whitespace and compare strings case
7568 insensitively.
7569
742fae05
JJ
75702006-07-16 Jakub Jelinek <jakub@redhat.com>
7571
7572 PR fortran/28390
7573 * testsuite/libgomp.fortran/pr28390.f: New test.
7574
a1daed2d
EC
75752006-07-05 Eric Christopher <echristo@apple.com>
7576
7577 * configure.ac: Depend addition of -pthread on host OS.
7578 * configure: Regenerate.
7579
5d7b5199
JJ
75802006-06-21 Jakub Jelinek <jakub@redhat.com>
7581
7582 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
7583 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
7584 defined.
7585
fe5568e9
JJ
75862006-06-20 Jakub Jelinek <jakub@redhat.com>
7587
7588 PR libgomp/26175
7589 PR libgomp/26477
7590 * configure.ac: If neither --enable-linux-futex nor
7591 --disable-linux-futex is passed, determine the default by checking
7592 for compiling and/or running against NPTL. With --enable-linux-futex,
7593 check if SYS_gettid and SYS_futex are defined.
7594 * configure: Rebuilt.
7595
c3b11a40
RH
75962006-06-14 Richard Henderson <rth@redhat.com>
7597
7598 PR libgomp/28008
7599 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
7600 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
7601
d0d1b24d
RH
76022006-06-09 Richard Henderson <rth@redhat.com>
7603
7604 * env.c (gomp_nthreads_var): Change to unsigned long.
7605 (gomp_run_sched_chunk): Likewise.
7606 (parse_unsigned_long): Rename from parse_num_threads and generalize.
7607 (initialize_env): Initialize gomp_thread_attr.
7608 * libgomp.h (gomp_nthreads_var): Update decl.
7609 (gomp_run_sched_chunk): Likewise.
7610 (gomp_thread_attr): Declare.
7611 * team.c (gomp_thread_attr): Export.
7612 (initialize_team): Don't initialize it.
7613
cd75853e
JJ
76142006-06-09 Jakub Jelinek <jakub@redhat.com>
7615
7616 PR fortran/27916
7617 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
7618 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
7619
33815e0c
FXC
76202006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
7621
7622 * config/mingw32/time.c: New file.
7623 * configure.tgt: Use it.
7624
6667de0d
CD
76252006-05-23 Carlos O'Donell <carlos@codesourcery.com>
7626
7627 * Makefile.am: Add install-html target. Add install-html to .PHONY
7628 * Makefile.in: Regenerate.
7629
e962c46b
JDA
76302006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
7631
7632 PR libgomp/27612
7633 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
7634 * testsuite/libgomp.c/critical-1.c: Likewise.
7635 * testsuite/libgomp.c/loop-1.c: Likewise.
7636 * testsuite/libgomp.c/loop-2.c: Likewise.
7637 * testsuite/libgomp.c/single-1.c: Likewise.
7638 * testsuite/libgomp.c/ordered-1.c: Likewise.
7639 * testsuite/libgomp.c/ordered-2.c: Likewise.
7640
eeb1d9e0
JJ
76412006-05-15 Jakub Jelinek <jakub@redhat.com>
7642
7643 PR middle-end/27416
7644 * libgomp.fortran/pr27416-1.f90: New test.
7645
693d710f
JJ
76462006-05-03 Jakub Jelinek <jakub@redhat.com>
7647
7648 PR fortran/27395
7649 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
7650 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
7651
8ca5b2a2
JJ
76522006-05-02 Jakub Jelinek <jakub@redhat.com>
7653
7654 PR c++/26943
7655 * testsuite/libgomp.c/pr26943-1.c: New test.
7656 * testsuite/libgomp.c/pr26943-2.c: New test.
7657 * testsuite/libgomp.c/pr26943-3.c: New test.
7658 * testsuite/libgomp.c/pr26943-4.c: New test.
7659 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
7660 * testsuite/libgomp.c++/pr26943.C: New test.
7661
077b0dfb
JJ
76622006-05-02 Jakub Jelinek <jakub@redhat.com>
7663
7664 PR middle-end/27337
7665 * testsuite/libgomp.c++/pr27337.C: New test.
7666
91b6c26d
JJ
76672006-04-26 Jakub Jelinek <jakub@redhat.com>
7668
7669 PR c/26171
7670 * testsuite/libgomp.c/pr26171.c: New test.
7671
60e1758f
RH
76722006-04-25 Richard Henderson <rth@redhat.com>
7673
7674 PR libgomp/25865
7675 * configure.ac: Use GCC_CHECK_TLS.
7676 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
7677 * Makefile.in, aclocal.m4, configure: Regenerate.
7678
615baed7
MK
76792006-04-10 Matthias Klose <doko@debian.org>
7680
7681 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
7682 directory names containing underscores.
7683
fae2b46b
JJ
76842006-03-21 Jakub Jelinek <jakub@redhat.com>
7685
7686 PR c++/26691
7687 * testsuite/libgomp.c++/pr26691.C: New test.
7688
11a5f608
JJ
76892006-03-13 Jakub Jelinek <jakub@redhat.com>
7690
7691 * testsuite/libgomp.fortran/retval2.f90: New test.
7692
1799e5d5
RH
76932006-03-09 Diego Novillo <dnovillo@redhat.com>
7694
7695 * testsuite/libgomp.c++: New directory.
7696
d349482e
AT
76972006-02-25 Shantonu Sen <ssen@opendarwin.org>
7698
7699 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
7700 * config/posix/sem.c: Implement the above.
7701
77022006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
7703
7704 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
7705 define HAVE_BROKEN_POSIX_SEMAPHORES.
7706 * configure: Rebuilt.
7707 * config.h.in: Rebuilt.
7708
124452c9
FXC
77092006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
7710
7711 PR bootstrap/26161
7712 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
7713 for the other pthread check.
7714 * configure: Regenerate.
7715 * config.h.in: Regenerate.
7716
dd8d6dfe
JJ
77172006-02-15 Jakub Jelinek <jakub@redhat.com>
7718
7719 PR libgomp/25938
7720 PR libgomp/25984
7721 * Makefile.am (fincludedir): New variable.
7722 (nodist_include_HEADERS): Remove Fortran files.
7723 (nodist_finclude_HEADERS): New variable.
7724 * Makefile.in: Regenerated.
7725
6c7a4dfd
JJ
77262006-02-13 Jakub Jelinek <jakub@redhat.com>
7727
7728 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
7729 Remove tests for returning assumed character length arrays.
7730
5142e08b
RS
77312006-02-12 Roger Sayle <roger@eyesopen.com>
7732 John David Anglin <dave@hiauly1.hia.nrc.ca>
7733
7734 PR libgomp/25936
7735 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 7736
5821fba8
UW
77372006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
7738
7739 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
7740
cb2bbc67
EB
77412006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
7742
7743 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
7744 part of LD_LIBRARY_PATH manually.
7745
f05ee80c
L
77462006-02-03 H.J. Lu <hongjiu.lu@intel.com>
7747
7748 PR libgomp/25852
7749 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
7750 libgomp_init.
7751
03b8fe49
PB
77522005-01-25 Paolo Bonzini <bonzini@gnu.org>
7753
7754 PR libgomp/25884
f05ee80c
L
7755 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
7756 * configure.ac (PERL): Don't set.
7757 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
7758 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
7759 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
7760 * omp.h.in: Wrap the new configure substitutions with @ characters.
7761 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
7762 * aclocal.m4, configure, Makefile.in: Regenerate.
7763 * mkomp_h.pl: Delete.
03b8fe49 7764
18cbfd85
PB
77652005-01-24 Paolo Bonzini <bonzini@gnu.org>
7766
7767 PR libgomp/25259
7768 * configure.ac: Use GCC_HEADER_STDINT.
7769 * libgomp.h: Include gstdint.h.
7770 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
7771 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
7772
c41303c6
RH
77732006-01-24 Richard Henderson <rth@redhat.com>
7774
7775 PR libgomp/25942
7776 * configure.ac: Add AM_MAINTAINER_MODE.
7777 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
7778
149b9553
DN
77792006-01-24 Diego Novillo <dnovillo@redhat.com>
7780
7781 * Makefile.in: Regenerate.
7782 * testsuite/Makefile.in: Regenerate.
7783 * aclocal.m4: Regenerate.
7784
192a50ad
AT
77852006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
7786
7787 * config/posix/proc.c: Conditional include of sys/loadavg.h for
7788 Solaris.
7789 * configure.ac: Add check for loadavg.h.
7790 (link_gomp): Adjust comment.
7791 * configure: Regenerate.
7792 * config.h.in: Regenerate.
7793
a55b8e18
SE
77942006-01-21 Steve Ellcey <sje@cup.hp.com>
7795
7796 PR libgomp/25877
7797 * configure.ac: Remove check for alloca.h.
7798 * configure: Regenerate.
7799 * config.h.in: Regenerate.
7800 * libgomp.h: define gomp_alloca to be __builtin_alloca.
7801 * team.c: Remove use of alloca.h.
7802 Call gomp_alloca instead of alloca.
7803
692eeb34
SE
78042006-01-20 Steve Ellcey <sje@cup.hp.com>
7805
7806 PR libgomp/25877
7807 * team.c: Add include of alloca.h.
7808 * configure.ac: Add check for alloca.h.
7809 * configure: Regenerate.
7810 * config.h.in: Regenerate.
7811
953ff289
DN
78122006-01-17 Jakub Jelinek <jakub@redhat.com>
7813
7814 PR fortran/25219
7815 * testsuite/libgomp.fortran/pr25219.f90: New test.
7816
78172005-12-05 Uros Bizjak <uros@kss-loka.si>
7818
7819 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
7820 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
7821 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
7822 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
7823 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
7824 testsuite/libgomp.fortran/threadprivate1.f90,
7825 testsuite/libgomp.fortran/threadprivate2.f90,
7826 testsuite/libgomp.fortran/threadprivate3.f90,
7827 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
7828 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
7829 testsuite/libgomp.fortran/omp_parse3.f90: Change required
7830 effective-target to TLS runtime.
7831
7832 * testsuite/libgomp.fortran/pr25162.f: Require
7833 effective-target TLS runtime.
7834
78352005-12-01 Jakub Jelinek <jakub@redhat.com>
7836
7837 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
7838 * testsuite/libgomp.c/nestedfn-3.c: New test.
7839
78402005-11-30 Jakub Jelinek <jakub@redhat.com>
7841
7842 PR fortran/25162
7843 * testsuite/libgomp.fortran/pr25162.f: New test.
7844
78452005-11-28 Jakub Jelinek <jakub@redhat.com>
7846
7847 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
7848 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
7849
78502005-11-25 Jakub Jelinek <jakub@redhat.com>
7851
7852 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
7853 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
7854 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
7855 single.c, team.c, work.c, config/linux/alpha/futex.h,
7856 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
7857 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
7858 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
7859 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
7860 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
7861 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
7862 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
7863 FSF address.
7864
78652005-11-18 Jakub Jelinek <jakub@redhat.com>
7866
7867 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
7868 to nodist_noinst_HEADERS.
7869 * Makefile.in: Rebuilt.
7870
7871 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
7872 add integer count field.
7873 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
7874 omp_nest_lock_t type change.
7875 (omp_init_nest_lock): Likewise. Initialize count to 0.
7876 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
7877 Increment count.
7878 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
7879 Decrement count.
7880 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
7881 Increment count if successful and return the new nesting level.
7882 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
7883 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
7884 * testsuite/libgomp.c/lib-1.c: New test.
7885 * testsuite/libgomp.fortran/lib1.f90: New test.
7886 * testsuite/libgomp.fortran/lib2.f: New test.
7887 * testsuite/libgomp.fortran/lib3.f: New test.
7888
78892005-11-17 Richard Henderson <rth@redhat.com>
7890
7891 PR 24845
7892 * Makefile.am (nodist_toolexeclib_HEADERS): New.
7893 * configure.ac (link_gomp): New. Substitute it.
7894 (AC_CONFIG_FILES): Add libgomp.spec.
7895 * libgomp.spec.in: New file.
7896 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
7897 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
7898
78992005-11-18 Jakub Jelinek <jakub@redhat.com>
7900
7901 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
7902 reduction(-:var) behaving the same as reduction(+:var).
7903 * testsuite/libgomp.c/reduction-4.c: New test.
7904
79052005-11-15 Uros Bizjak <uros@kss-loka.si>
7906
7907 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
7908 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
7909 testsuite/libgomp.c/copyin-3.c,
7910 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
7911 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
7912 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
7913 testsuite/libgomp.c++/pr24455.C,
7914 testsuite/libgomp.fortran/threadprivate1.f90,
7915 testsuite/libgomp.fortran/threadprivate2.f90,
7916 testsuite/libgomp.fortran/threadprivate3.f90,
7917 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
7918 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
7919 testsuite/libgomp.fortran/omp_parse3.f90: Require
7920 effective-target TLS.
7921
79222005-11-14 Diego Novillo <dnovillo@redhat.com>
7923
7924 * HEADER: Remove.
7925
79262005-11-13 Jakub Jelinek <jakub@redhat.com>
7927
7928 PR libgomp/24797
7929 * team.c (initialize_team): Pass NULL rather than free as
7930 pthread_key_create destructor. Initialize thread specific data
7931 pointer in initial thread to a static local variable rather than
7932 malloced memory.
7933
79342005-11-11 Uros Bizjak <uros@kss-loka.si>
7935
7936 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
7937 its location to ld_library_path.
7938
79392005-11-10 Diego Novillo <dnovillo@redhat.com>
7940
7941 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
7942
79432005-11-10 Diego Novillo <dnovillo@redhat.com>
7944
7945 * testsuite/libgomp.c: Rename from libgomp.dg.
7946
79472005-11-09 Diego Novillo <dnovillo@redhat.com>
7948
7949 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
7950 threadprivate variable 'i'.
7951
79522005-11-09 Jakub Jelinek <jakub@redhat.com>
7953
7954 * config/linux/s390/futex.h: New file.
7955 * configure.tgt: Use it.
7956
7957 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
7958 before the parallel.
7959
79602005-11-08 Jakub Jelinek <jakub@redhat.com>
7961
7962 PR c++/24734
7963 * testsuite/libgomp.c++/master-1.C: New test.
7964
79652005-11-07 Jakub Jelinek <jakub@redhat.com>
7966
7967 * testsuite/libgomp.dg/copyin-3.c: New test.
7968
79692005-11-07 Jakub Jelinek <jakub@redhat.com>
7970
7971 * testsuite/libgomp.fortran/retval1.f90: New test.
7972 * testsuite/libgomp.fortran/vla7.f90: New test.
7973
79742005-11-06 Jakub Jelinek <jakub@redhat.com>
7975
7976 * testsuite/libgomp.fortran/vla2.f90: New test.
7977 * testsuite/libgomp.fortran/vla3.f90: New test.
7978 * testsuite/libgomp.fortran/vla4.f90: New test.
7979 * testsuite/libgomp.fortran/vla5.f90: New test.
7980 * testsuite/libgomp.fortran/vla6.f90: New test.
7981
79822005-11-01 Jakub Jelinek <jakub@redhat.com>
7983
7984 * config/linux/sparc/futex.h: New file.
7985 * configure.tgt: Use it.
7986 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
7987
7988 * critical.c: Include stdlib.h.
7989 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
7990 ignoring return value.
7991 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
7992 LIBGOMP_CHECK_SYNC_BUILTINS check.
7993 * configure: Rebuilt.
7994
79952005-10-31 Jakub Jelinek <jakub@redhat.com>
7996
7997 * testsuite/libgomp.fortran/vla1.f90: New test.
7998
79992005-10-31 Richard Henderson <rth@redhat.com>
8000
8001 * testsuite/libgomp.fortran/character2.f90: Fix race condition
8002 setting 's' in different threads.
8003
80042005-10-31 Jakub Jelinek <jakub@redhat.com>
8005
8006 * libgomp.h (attribute_hidden, ialias): Define.
8007 * config/posix/proc.c (omp_get_num_procs): Add ialias.
8008 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
8009 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
8010 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
8011 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
8012 omp_test_lock, omp_test_nest_lock): Likewise.
8013 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
8014 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
8015 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
8016 omp_test_lock, omp_test_nest_lock): Likewise.
8017 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
8018 omp_get_dynamic, omp_get_nested): Likewise.
8019 * parallel.c (omp_get_num_threads, omp_get_max_threads,
8020 omp_get_thread_num, omp_in_parallel): Likewise.
8021 * fortran.c (ialias_redirect): Define.
8022 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
8023 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
8024 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
8025 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
8026 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
8027 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
8028 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
8029 omp_get_wtime): Add ialias_redirect.
8030
80312005-10-30 Jakub Jelinek <jakub@redhat.com>
8032
8033 * fortran.c: Include stdlib.h.
8034
80352005-10-29 Jakub Jelinek <jakub@redhat.com>
8036
8037 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
8038 * Makefile.in: Regenerated.
8039
80402005-10-28 Jakub Jelinek <jakub@redhat.com>
8041
8042 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
8043 * libgomp_f.h.in (omp_check_defines): New function.
8044 * env.c: Include libgomp_f.h.
8045 (initialize_env): Call omp_check_defines.
8046
8047 * testsuite/libgomp.dg/copyin-2.c: New test.
8048 * testsuite/libgomp.c++/copyin-2.C: New test.
8049 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
8050
8051 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
8052 * testsuite/libgomp.fortran/sharing2.f90: New test.
8053
8054 * testsuite/libgomp.dg/copyin-1.c: New test.
8055 * testsuite/libgomp.c++/copyin-1.C: New test.
8056
80572005-10-26 Jakub Jelinek <jakub@redhat.com>
8058
8059 * testsuite/libgomp.fortran/crayptr1.f90: New test.
8060
8061 * testsuite/libgomp.fortran/workshare1.f90: New test.
8062
8063 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
8064 only test.
8065 * libgomp.fortran/sharing1.f90: New test.
8066
80672005-10-24 Jakub Jelinek <jakub@redhat.com>
8068
8069 PR c++/24502
8070 * testsuite/libgomp.c++/loop-7.C: New test.
8071
8072 * testsuite/libgomp.dg/nestedfn-2.c: New test.
8073
8074 * testsuite/libgomp.dg/nestedfn-1.c: New test.
8075 * testsuite/libgomp.fortran/reduction6.f90: New test.
8076 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
8077
80782005-10-23 Richard Henderson <rth@redhat.com>
8079
8080 * testsuite/libgomp.c++/ctor-1.C: New.
8081 * testsuite/libgomp.c++/ctor-2.C: New.
8082 * testsuite/libgomp.c++/ctor-3.C: New.
8083 * testsuite/libgomp.c++/ctor-4.C: New.
8084 * testsuite/libgomp.c++/ctor-5.C: New.
8085 * testsuite/libgomp.c++/ctor-6.C: New.
8086 * testsuite/libgomp.c++/ctor-7.C: New.
8087 * testsuite/libgomp.c++/ctor-8.C: New.
8088 * testsuite/libgomp.c++/ctor-9.C: New.
8089
80902005-10-21 Diego Novillo <dnovillo@redhat.com>
8091
8092 PR 24455
8093 * testsuite/libgomp.c++/pr24455-1.C: New test.
8094 * testsuite/libgomp.c++/pr24455.C: New test.
8095 * testsuite/libgomp.dg/pr24455-1.c: New test.
8096 * testsuite/libgomp.dg/pr24455.c: New test.
8097
80982005-10-20 Richard Henderson <rth@redhat.com>
8099
8100 * testsuite/libgomp.c++/loop-6.C: New.
8101 * testsuite/libgomp.dg/loop-3.c: New.
8102
81032005-10-20 Jakub Jelinek <jakub@redhat.com>
8104
8105 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
8106 explicitly private.
8107 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
8108 explicitly shared.
8109
81102005-10-19 Diego Novillo <dnovillo@redhat.com>
8111
8112 * testsuite/libgomp.fortran/jacobi.f: New test.
8113
81142005-10-19 Richard Henderson <rth@redhat.com>
8115
8116 * configure.tgt (i?86-linux): Default to with_arch instead of
8117 CFLAGS. Add -mtune to match target_cpu.
8118 (x86_64-linux): Tune to i686.
8119
8120 * fortran.c (omp_test_nest_lock_): Fix typo.
8121
81222005-10-19 Jakub Jelinek <jakub@redhat.com>
8123
8124 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
8125 gomp_ordered_sync): Do nothing if team->nthreads == 1.
8126 * testsuite/libgomp.dg/ordered-3.c: New test.
8127
8128 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
8129 Remove volatile keyword.
8130
8131 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
8132 in COMMON block to avoid warnings on 64-bit targets.
8133
81342005-10-18 Diego Novillo <dnovillo@redhat.com>
8135
8136 * testsuite/libgomp.dg/shared-3.c: New test.
8137
81382005-10-18 Jakub Jelinek <jakub@redhat.com>
8139
8140 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
8141 * testsuite/libgomp.fortran/reduction5.f90: New test.
8142
81432005-10-18 Jakub Jelinek <jakub@redhat.com>
8144
8145 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
8146 dg-options.
8147 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
8148 flush loop now that __sync_synchronize has proper memory barrier.
8149 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
8150 Add -ffixed-form to dg-options.
8151
81522005-10-17 Diego Novillo <dnovillo@redhat.com>
8153
8154 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
8155 from subdirectories.
8156 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
8157 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
8158 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
8159 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
8160 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
8161 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
8162 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
8163 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
8164 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
8165 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
8166 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
8167 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
8168 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
8169 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
8170 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
8171 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
8172 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
8173 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
8174 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
8175 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
8176 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
8177 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
8178 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
8179 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
8180 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
8181
81822005-10-17 Jakub Jelinek <jakub@redhat.com>
8183
8184 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
8185 lang_library_path exists. Use find instead of glob to gather tests.
8186 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
8187
81882005-10-17 Diego Novillo <dnovillo@redhat.com>
8189
8190 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
8191 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
8192 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
8193 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
8194 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
8195 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
8196 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
8197 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
8198 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
8199 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
8200 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
8201 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
8202 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
8203
82042005-10-15 Jakub Jelinek <jakub@redhat.com>
8205
8206 * testsuite/libgomp.dg/vla-1.c: New test.
8207
8208 * testsuite/libgomp.fortran/reference2.f90: New test.
8209
8210 * testsuite/libgomp.fortran/character2.f90: Remove explicit
8211 declaration of omp_get_thread_num.
8212 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
8213 use omp_lib.
8214
8215 * testsuite/libgomp.fortran/reduction1.f90: New test.
8216 * testsuite/libgomp.fortran/reduction2.f90: New test.
8217 * testsuite/libgomp.fortran/reduction3.f90: New test.
8218 * testsuite/libgomp.fortran/reduction4.f90: New test.
8219
82202005-10-13 Richard Henderson <rth@redhat.com>
8221
8222 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
8223 * Makefile.in: Regenerate.
8224 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
8225 * libgomp.h: Include bar.h.
8226 (struct gomp_barrier): Remove.
8227 (struct gomp_team): Add barrier. Replace master_barrier with
8228 master_release. Replace threads with ordered_release.
8229 (struct gomp_thread): Replace barrier with release.
8230 * ordered.c (gomp_ordered_first): Update for ordered_release change.
8231 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
8232 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
8233 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
8234 (GOMP_single_copy_end): Likewise.
8235 * team.c (gomp_threads_dock): New.
8236 (gomp_barrier_init, gomp_barrier_destroy): Remove.
8237 (gomp_thread_start): Use gomp_barrier_wait.
8238 (new_team, free_team): Update for gomp_team changes.
8239 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
8240 (gomp_team_end): Use gomp_barrier_wait.
8241 (initialize_team): Update for gomp_thread changes.
8242 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
8243 (gomp_work_share_end_nowait): Use atomic ops when available.
8244 * config/linux/bar.c, config/linux/bar.h: New files.
8245 * config/posix/bar.c, config/posix/bar.h: New files.
8246
82472005-10-13 Jakub Jelinek <jakub@redhat.com>
8248
8249 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
8250 * testsuite/libgomp.dg/single-2.c: New test.
8251
8252 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
8253 lang_link_flags): Unset, so that they aren't inherited from previously
8254 sourced *.exp.
8255
8256 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
8257
82582005-10-12 Richard Henderson <rth@redhat.com>
8259
8260 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
8261 (libgomp_init): Use lang_test_file, lang_library_path, and
8262 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
8263
8264 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
8265 (lang_test_file, lang_link_flags): New.
8266 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
8267
8268 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
8269 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
8270 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
8271 testsuite/libgomp.c++/parallel-1.C,
8272 testsuite/libgomp.c++/reduction-1.C,
8273 testsuite/libgomp.c++/reduction-2.C,
8274 testsuite/libgomp.c++/reduction-3.C,
8275 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
8276 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
8277 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
8278 New files, largely cribbed from the C testsuite.
8279
82802005-10-12 Jakub Jelinek <jakub@redhat.com>
8281
8282 * testsuite/libgomp.fortran/character1.f90: New test.
8283 * testsuite/libgomp.fortran/character2.f90: New test.
8284
8285 * testsuite/libgomp.dg/nested-1.c: New test.
8286 * testsuite/libgomp.dg/nested-2.c: New test.
8287 * testsuite/libgomp.fortran/do1.f90: New test.
8288 * testsuite/libgomp.fortran/do2.f90: New test.
8289
8290 * testsuite/libgomp.fortran/reference1.f90: New test.
8291
82922005-10-11 Jakub Jelinek <jakub@redhat.com>
8293
8294 * testsuite/libgomp.dg/reduction-1.c: New test.
8295 * testsuite/libgomp.dg/reduction-2.c: New test.
8296 * testsuite/libgomp.dg/reduction-3.c: New test.
8297
82982005-10-10 Jakub Jelinek <jakub@redhat.com>
8299
8300 * testsuite/libgomp.dg/atomic-1.c: New test.
8301 * testsuite/libgomp.dg/atomic-2.c: New test.
8302
83032005-10-09 Richard Henderson <rth@redhat.com>
8304
8305 * critical.c (atomic_lock): New.
8306 (initialize_critical): Initialize it.
8307 (GOMP_atomic_start, GOMP_atomic_end): New.
8308 * libgomp.map: Export them.
8309 * libgomp_g.h: Declare them.
8310
8311 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
8312
83132005-10-02 Richard Henderson <rth@redhat.com>
8314
8315 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
8316 to XCFLAGS instead of CFLAGS.
8317
83182005-09-30 Richard Henderson <rth@redhat.com>
8319
8320 * configure.ac: Determine whether -pthread or -lpthread is needed.
8321 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
8322 * Makefine.in, configure: Rebuild.
8323
83242005-09-28 Richard Henderson <rth@redhat.com>
8325
8326 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
8327 * testsuite/libgomp.dg/omp-single-3.c: New test.
8328
83292005-09-28 Diego Novillo <dnovillo@redhat.com>
8330
8331 * testsuite/libgomp.dg/omp-single-2.c: New test.
8332 * testsuite/libgomp.dg/shared-2.c: Fix return code.
8333
83342005-09-27 Richard Henderson <rth@redhat.com>
8335
8336 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
8337 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
8338
83392005-09-27 Jakub Jelinek <jakub@redhat.com>
8340
8341 * testsuite/libgomp.dg/omp-loop03.c: New test.
8342
83432005-09-27 Diego Novillo <dnovillo@redhat.com>
8344
8345 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
8346
83472005-09-27 Diego Novillo <dnovillo@redhat.com>
8348
8349 * testsuite/libgomp.dg/omp-single-1.c: New test.
8350 * testsuite/libgomp.dg/shared-1.c: Return 0.
8351 Add prototype for abort.
8352 * testsuite/libgomp.dg/shared-2.c: Likewise.
8353
83542005-09-26 Jakub Jelinek <jakub@redhat.com>
8355
8356 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
8357 constructs.
8358
83592005-09-26 Diego Novillo <dnovillo@redhat.com>
8360
8361 * testsuite/libgomp.dg/shared-1.c: New test.
8362 * testsuite/libgomp.dg/shared-2.c: New test.
8363
83642005-09-24 Richard Henderson <rth@redhat.com>
8365
8366 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
8367
83682005-09-24 Richard Henderson <rth@redhat.com>
8369
8370 * iter.c (gomp_iter_static_next): Round up when computing number
8371 of iterations. Don't bother distributing a remainder equally.
8372
8373 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
8374 Don't call srand. Zero b before testing.
8375 (main): New.
8376
83772005-09-24 Jakub Jelinek <jakub@redhat.com>
8378
8379 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
8380 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
8381
83822005-09-23 Jakub Jelinek <jakub@redhat.com>
8383
8384 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
8385 without !$omp end do, followed immediately by subroutine end.
8386
83872005-09-23 Diego Novillo <dnovillo@redhat.com>
8388
8389 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
8390
83912005-09-22 Richard Henderson <rth@redhat.com>
8392
8393 * critical.c (GOMP_critical_name_start): Change argument to void**.
8394 Reuse the pointer space if the mutex fits.
8395 (GOMP_critical_name_end): Likewise.
8396 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
8397 * libgomp_g.h (GOMP_critical_name_start): Update decl.
8398 (GOMP_critical_name_end): Likewise.
8399 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
8400 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
8401
84022005-09-20 Richard Henderson <rth@redhat.com>
8403
8404 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
8405 (create_lock_lock): New.
8406 (initialize_critical): Initialize it.
8407 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
8408 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
8409
84102005-09-20 Diego Novillo <dnovillo@redhat.com>
8411
8412 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
8413
84142005-09-20 Diego Novillo <dnovillo@redhat.com>
8415
8416 * testsuite/libgomp.dg/omp-loop01.c: New test.
8417 * testsuite/libgomp.dg/omp-loop02.c: New test.
8418
84192005-09-20 Jakub Jelinek <jakub@redhat.com>
8420
8421 * configure.ac (AC_PROG_FC): Add.
8422 (USE_FORTRAN): New automake conditional.
8423 * configure: Rebuilt.
8424 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
8425 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
8426 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
8427 Add rules to build them.
8428 * Makefile.in: Rebuilt.
8429 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
8430 OMP_NEST_LOCK_KIND.
8431 * libgomp.map: Add Fortran wrappers.
8432 * libgomp_f.h.in: New file.
8433 * omp_lib.h.in: New file.
8434 * omp_lib.f90.in: New file.
8435 * fortran.c: New file.
8436 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
8437 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
8438 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
8439 libgfortran has been built.
8440 * testsuite/libgomp.fortran/fortran.exp: New file.
8441 * testsuite/libgomp.fortran/omp_cond1.f: New test.
8442 * testsuite/libgomp.fortran/omp_cond2.f: New test.
8443 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
8444 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
8445 * testsuite/libgomp.fortran/omp_hello.f: New test.
8446 * testsuite/libgomp.fortran/omp_orphan.f: New test.
8447 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
8448 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
8449 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
8450 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
8451 * testsuite/libgomp.fortran/omp_reduction.f: New test.
8452 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
8453 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
8454
84552005-08-30 Richard Henderson <rth@redhat.com>
8456
8457 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
8458 function for when aliases are not usable.
8459 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
8460 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
8461 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
8462 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
8463 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
8464 GOMP_loop_ordered_guided_next): Likewise.
8465 * ordered.c (GOMP_ordered_start): Likewise.
8466
84672005-08-01 Diego Novillo <dnovillo@redhat.com>
8468
8469 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
8470 * testsuite/libgomp.dg/omp_hello.c: Fix return code
8471 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
8472 * testsuite/libgomp.dg/omp_orphan.c: Likewise
8473 * testsuite/libgomp.dg/omp_reduction.c: Likewise
8474 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
8475 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
8476 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
8477 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
8478
84792005-07-07 Eric Christopher <echristo@redhat.com>
8480 Diego Novillo <dnovillo@redhat.com>
8481
8482 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
8483 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
8484 up code.
8485 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
8486 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
8487 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
8488 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
8489 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
8490 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
8491 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
8492
84932005-06-13 Diego Novillo <dnovillo@redhat.com>
8494
8495 * TOPLEVEL.patch: Remove.
8496
84972005-05-16 Richard Henderson <rth@redhat.com>
8498
8499 * configure.ac: Test for clock_gettime.
8500 * config.h.in, configure: Rebuild.
8501 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
8502 (omp_get_wtime): Use clock_gettime if available.
8503 (omp_get_wtick): Use clock_getres if available.
8504
85052005-05-11 Richard Henderson <rth@redhat.com>
8506
8507 * config/linux/ia64/futex.h: New file.
8508 * configure.tgt: Use it.
8509
8510 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
8511
85122005-05-07 Richard Henderson <rth@redhat.com>
8513
8514 * config/linux/powerpc/futex.h: New file.
8515 * configure.tgt: Use it.
8516
8517 * config/linux/i486/futex.h: Merge ...
8518 * config/linux/x86_64/futex.h: ... into ...
8519 * config/linux/x86/futex.h: ... here.
8520 * configure.tgt: Update to match.
8521
85222005-05-06 Richard Henderson <rth@redhat.com>
8523
8524 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
8525 * config/linux/i486/futex.h: Likewise.
8526 * config/linux/x86_64/futex.h: Likewise.
8527
8528 * config/linux/lock.c: New file.
8529 * config/linux/omp-lock.h: New file.
8530
8531 * critical.c, env.h: Don't include omp.h
8532 * config/posix/lock.c: Include libgomp.h instead of omp.h.
8533 * config/posix/time.c: Likewise.
8534 * config/posix/omp-lock.h: New file.
8535 * libgomp.h: Include omp-lock.h and omp.h.
8536 * Makefile.am (nodist_include_HEADERS): New.
8537 (omp.h): New rule.
8538 * configure.ac (PERL): New.
8539 * mkomp_h.pl: New file.
8540 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
8541 with templates.
8542 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
8543
8544 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
8545 build directory. Re-add -march=i486 hack.
8546
8547 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
8548 (libgomp_link_flags): Remove.
8549 (libgomp_initialized): Remove.
8550 (libgomp_init): Don't protect from reinitialization. Copy code
8551 from libstdc++ for getting the multilib set correctly.
8552
85532005-05-05 Richard Henderson <rth@redhat.com>
8554
8555 * config/linux/alpha/futex.h: New file.
8556 * configure.tgt (alpha*-*-linux*): Use it.
8557
8558 * config/posix/mutex.c: New file.
8559 * config/posix/sem.c: Use libgomp.h.
8560
8561 * configure.tgt (x86_64-linux): Also test CC for -m32.
8562 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
8563
a1daed2d 8564 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
8565 after $gccpath.
8566
8567 * Makefile.am (SUBDIRS): New.
8568 (libgomp_la_LDFLAGS): Add -lpthread.
8569 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
8570 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
8571
8572 * libgomp_g.h: New file.
8573 * libgomp.h: Split out all public declarations to libgomp_g.h.
8574 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
8575 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
8576 * config/linux/sem.h: Likewise.
8577 * config/posix/sem.h: Likewise.
8578
8579 * Makefile.am (AM_LDFLAGS): New.
8580 (libgomp_version_script): Split out from ...
8581 (libgomp_la_LDFLAGS): ... here.
8582 (libgomp_version_info): New.
8583 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
8584 (LIBGOMP_ENABLE): New.
8585 (LIBGOMP_CHECK_LINKER_FEATURES): New.
8586 (LIBGOMP_ENABLE_SYMVERS): New.
8587 * configure.ac (AC_INIT): Version 1.0.
8588 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
8589 (enable-linux-futex): Likewise. Rename from enable-futex.
8590 (libtool_VERSION): New.
8591 (LIBGOMP_ENABLE_SYMVERS): Use it.
8592 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
8593 * Makefile.in, aclocal.m4, configure: Rebuild.
8594
8595 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
8596 (gomp_mutex_unlock_slow): Fix typo.
8597 * config/linux/sem.c: Similarly.
8598 (gomp_sem_post_slow): Fix typo.
8599 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
8600 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
8601 [__PIC__] (sys_futex0): Don't use tmp output in asm.
8602
8603 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
8604 (libgomp_la_LDFLAGS): Add top_srcdir to path.
8605 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
8606 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
8607 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
8608 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
8609 LDFLAGS. Pull enable_futex check to top-level.
8610 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
8611 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
8612
8613 First attempt at real configury.
8614 * Makefile, config.h: Remove file.
8615 * Makefile.am, Makefile.in: New file.
8616 * acinclude.m4 aclocal.m4: New file.
8617 * configure.ac, configure.tgt, configure: New file.
8618
8619 * config/posix/lock.c: Rename from sys-lock.c.
8620 * config/posix/mutex.h: Rename from sys-mutex.h.
8621 * config/posix/sem.c: Rename from sys-sem.c.
8622 * config/posix/sem.h: Rename from sys-sem.h.
8623 * config/posix/proc.c: Rename from sys-proc.c.
8624 * config/posix/time.c: Rename from sys-proc.c.
8625
8626 * config/linux/mutex.c: New file.
8627 * config/linux/mutex.h: New file.
8628 * config/linux/sem.c: New file.
8629 * config/linux/sem.h: New file.
8630 * config/linux/i486/futex.h: New file.
8631 * config/linux/x86_64/futex.h: New file.
8632
86332005-05-04 Richard Henderson <rth@redhat.com>
8634
8635 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
8636 * libgomp.h: Declare them.
8637 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
8638 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
8639
86402005-05-04 Richard Henderson <rth@redhat.com>
8641
8642 * libgomp-1 code drop
8643
86442005-05-04 Richard Henderson <rth@redhat.com>
8645
8646 * iter.c (gomp_iter_static_next): Return tri-state on 0.
8647 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
8648 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
8649 (gomp_iter_static_next): Update.
8650 (gomp_ordered_static_next): Update.
8651 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
8652 (gomp_loop_ordered_static_start): Likewise. Exit early for a
8653 totally empty range.
8654 (gomp_loop_ordered_static_next): Refine test for calling
8655 gomp_ordered_static_next.
8656 * testsuite/ordered-1.c: Add case for more threads than iterations.
8657
8658 * iter.c (gomp_iter_runtime_next_locked): Remove.
8659 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 8660 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
8661 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
8662 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
8663 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
8664 gomp_loop_ordered_guided_next): Downcase name, make static, add
8665 an external alias with the old name.
8666 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
8667 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
8668 switch and call one of the above static functions.
8669 * libgomp.h: Update.
8670
8671 * work.c (gomp_work_share_start): Lock the mutex for !first too.
8672 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
8673 GOMP_loop_guided_start, GOMP_loop_runtime_start,
8674 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
8675 GOMP_loop_ordered_guided_start): Update to match.
8676 * sections.c (GOMP_sections_start): Likewise.
8677 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
8678
8679 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
8680 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
8681 Use bounds check instead of modulus.
8682 (gomp_ordered_sync): Split out of GOMP_ordered_start.
8683 (gomp_ordered_last): Don't sync with ordered_owner here.
8684 (gomp_ordered_next): Likewise.
8685 (gomp_ordered_static_loop_next): Likewise.
8686 * loop.c, libgomp.h: Update to match.
8687
8688 * libgomp.h (GOMP_barrier): Declare.
8689
8690 * testsuite/barrier-1.c: New file.
8691 * testsuite/critical-1.c: New file.
8692 * testsuite/ordered-2.c: New file.
8693 * testsuite/ordered-1.c: New file.
8694 * testsuite/sections-1.c: New file.
8695 * testsuite/single-1.c: New file.
8696 * testsuite/Makefile (TESTS): Add them.
8697
86982005-05-04 Richard Henderson <rth@redhat.com>
8699
8700 * libgomp.h (struct gomp_work_share): Add ordered_owner.
8701 * loop.c (GOMP_loop_static_start): If not the startup thread,
8702 acquire the mutex to wait for initialization complete.
8703 (GOMP_loop_ordered_static_start): Likewise.
8704 (GOMP_loop_ordered_runtime_start): Likewise.
8705 (GOMP_loop_ordered_static_first): Remove.
8706 (GOMP_loop_ordered_dynamic_first): Remove.
8707 (GOMP_loop_ordered_guided_first): Remove.
8708 (GOMP_loop_ordered_runtime_first): Remove.
8709 * ordered.c (gomp_ordered_loop_first): Post to own release when
8710 we're the first thread.
8711 (gomp_ordered_loop_last): Wait on release if not owner.
8712 (gomp_ordered_loop_next): Likewise.
8713 (gomp_ordered_static_loop_init): New.
8714 (gomp_ordered_static_loop_next): Use ordered_owner.
8715 (GOMP_ordered_start): Likewise.
8716 * work.c (gomp_new_work_share): Initialize ordered_owner.
8717
87182005-05-03 Richard Henderson <rth@redhat.com>
8719
8720 * Makefile (OPT): New.
8721 (CFLAGS): Use it.
8722
8723 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
8724 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
8725 * libgomp.h, libgomp.map, NOTES: Update to match.
8726
8727 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
8728 Add initialized and thr members.
8729 (gomp_thread_start): Pause when initially spawned to wait for
8730 the whole team to be created.
8731 (gomp_team_start): Release team members at the end.
8732
8733 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
8734 (f_foo_1): Use GOMP_loop_end.
8735 (f_foo_2): Use GOMP_loop_end_nowait.
8736
8737 * testsuite/loop-2.c: New file.
8738 * testsuite/Makefile (TESTS): Add it.
8739
87402005-05-03 Richard Henderson <rth@redhat.com>
8741
8742 * iter.c (gomp_iter_static_next): Fix overflow check typo.
8743 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
8744 * team.c (new_team): Initialize oldest_live_gen to 1 if no
8745 initial work_share.
8746
8747 * testsuite/Makefile: New file.
8748 * testsuite/loop-1.c: New file.
8749
87502005-05-03 Richard Henderson <rth@redhat.com>
8751
8752 Initial implementation and checkin.
21fa2a29 8753\f
c1a9c369 8754Copyright (C) 2005-2017 Free Software Foundation, Inc.
21fa2a29
JJ
8755
8756Copying and distribution of this file, with or without modification,
8757are permitted in any medium without royalty provided the copyright
8758notice and this notice are preserved.