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