]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
[PR88407] [OpenACC] Correctly handle unseen async-arguments
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
7de562ee
TS
12018-12-14 Thomas Schwinge <thomas@codesourcery.com>
2
1404af62
TS
3 PR libgomp/88407
4 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
5 (nvptx_wait_async): Unseen async-argument is a no-op.
6 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
7 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
8 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
9 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
10 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
11 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
12 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
13 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
14 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
15
7de562ee
TS
16 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
17 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
18
17469af7
CLT
192018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
20
21 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
22 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
23 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
24
18c247cc
TS
252018-12-14 Thomas Schwinge <thomas@codesourcery.com>
26
27 PR libgomp/88370
28 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
29 (acc_set_cuda_stream): Clarify.
30 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
31 "async_valid_p".
32 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
33 acc_async_sync".
34 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
35 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
36 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
37 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
38
b0aba46c
TV
392018-12-14 Tom de Vries <tdevries@suse.de>
40
41 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
42 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
43 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
44 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
45 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
46
fe0827ee
TV
472018-12-13 Tom de Vries <tdevries@suse.de>
48
49 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
50 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
51 * fortran.c (omp_display_affinity_): ... here.
52 * libgomp.h (gomp_print_string): Declare.
53 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
54 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
55 write.
56
a51f8c92
JJ
572018-12-13 Jakub Jelinek <jakub@redhat.com>
58
59 PR libgomp/88460
60 * testsuite/libgomp.c++/for-24.C (results): Include it in
61 omp declare target region.
62 (main): Use map (always, tofrom: results) instead of
63 map (tofrom: results).
64
a6ef2ac9
JJ
652018-12-12 Jakub Jelinek <jakub@redhat.com>
66
7a289b7d
JJ
67 PR fortran/88463
68 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
69 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
70
a6ef2ac9
JJ
71 * testsuite/libgomp.c-c++-common/for-16.c: New test.
72
9c47a019
AS
732018-12-12 Andreas Schwab <schwab@suse.de>
74
75 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
76 clobbered.
77
d0cbb206
TK
782018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
79
80 PR fortran/88411
81 * testsuite/libgomp.fortran/async_io_8.f90: New test.
82
84ca08d2
TS
832018-12-09 Thomas Schwinge <thomas@codesourcery.com>
84 Jakub Jelinek <jakub@redhat.com>
85
86 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
87 devicep->host2dev_func.
88
6997628d
JJ
892018-12-08 Jakub Jelinek <jakub@redhat.com>
90
91 PR libgomp/87995
92 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
93 tls_runtime effective target.
94 (t): New threadprivate variable.
95 (main): Set t in threads which execute iterations of the worksharing
96 loop. Propagate that to the task after the loop and don't abort
97 if the current taskgroup hasn't been cancelled.
98
daa8c1d7
JJ
992018-12-02 Jakub Jelinek <jakub@redhat.com>
100
4a82df9a
JJ
101 * testsuite/libgomp.c/task-reduction-3.c: New test.
102
daa8c1d7
JJ
103 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
104
fe570ff8
CP
1052018-11-30 Cesar Philippidis <cesar@codesourcery.com>
106
107 PR libgomp/88288
108 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
109 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
110
c223608f
TS
1112018-11-30 Thomas Schwinge <thomas@codesourcery.com>
112
113 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
114
fc60283c
RB
1152018-10-19 Richard Biener <rguenther@suse.de>
116
117 PR tree-optimization/88182
118 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
119
ffcf3b79
JJ
1202018-11-26 Jakub Jelinek <jakub@redhat.com>
121
122 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
123 (RUNTEST): Don't define.
124 (RUNTESTDEFAULTFLAGS): Add.
125 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
126 (distclean-am): Depend on distclean-DEJAGNU.
127 (check-am): If -j% option is present in MFLAGS and if
128 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
129 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
130 * testsuite/Makefile.in: Regenerated.
131
ef6e6914
RB
1322018-11-26 Richard Biener <rguenther@suse.de>
133
134 PR tree-optimization/88182
135 * testsuite/libgomp.c++/pr88182.C: New testcase.
136
72d3bb76
JJ
1372018-11-20 Jakub Jelinek <jakub@redhat.com>
138
139 PR bootstrap/88106
140 * config/mingw32/affinity-fmt.c: New file.
141
207286c3
JJ
1422018-11-09 Jakub Jelinek <jakub@redhat.com>
143
9666c522
JJ
144 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
145 (gomp_display_affinity): Use __builtin_choose_expr to handle
146 properly handle argument having integral, or pointer or some other
147 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
148 with uint64_t type instead of %llx and unsigned long long.
149
207286c3
JJ
150 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
151 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
152
2033f45b
RO
1532018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
154
155 * affinity.c: Include <string.h>, <stdio.h>.
156 (gomp_display_affinity_place): Remove cpusetp.
157 * teams.c: Include <limits.h>.
158
28567c40
JJ
1592018-11-08 Jakub Jelinek <jakub@redhat.com>
160
8991d779
JJ
161 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
162 in_reduction clause for s[0].
163
28567c40
JJ
164 * affinity.c (gomp_display_affinity_place): New function.
165 * affinity-fmt.c: New file.
166 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
167 * config/linux/affinity.c (gomp_display_affinity_place): New function.
168 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
169 Move these functions to ...
170 * config/nvptx/teams.c: ... here. New file.
171 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
172 New functions.
173 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
174 functions.
175 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
176 and _aligned_malloc.
177 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
178 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
179 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
180 gomp_affinity_format_len): New variables.
181 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
182 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
183 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
184 modifiers. Display (non-default) chunk sizes. Print
185 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
186 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
187 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
188 * fortran.c: Include stdio.h and string.h.
189 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
190 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
191 (omp_set_affinity_format_, omp_get_affinity_format_,
192 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
193 omp_pause_resource_all_): New functions.
194 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
195 switch.
196 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
197 functions to ...
198 * teams.c: ... here. New file.
199 * libgomp_g.h: Include gstdint.h.
200 (GOMP_loop_nonmonotonic_runtime_start,
201 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
202 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
203 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
204 GOMP_parallel_loop_nonmonotonic_runtime,
205 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
206 GOMP_loop_ull_nonmonotonic_runtime_start,
207 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
208 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
209 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
210 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
211 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
212 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
213 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
214 GOMP_teams_reg): Declare.
215 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
216 gomp_aligned_alloc uses fallback implementation.
217 (gomp_aligned_alloc, gomp_aligned_free): Declare.
218 (enum gomp_schedule_type): Add GFS_MONOTONIC.
219 (struct gomp_doacross_work_share): Add extra field.
220 (struct gomp_work_share): Add task_reductions field.
221 (struct gomp_taskgroup): Add workshare and reductions fields.
222 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
223 (gomp_thread_handle): New typedef.
224 (gomp_display_affinity_place, gomp_set_affinity_format,
225 gomp_display_string, gomp_display_affinity,
226 gomp_display_affinity_thread): Declare.
227 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
228 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
229 gomp_workshare_task_reduction_register): Declare.
230 (gomp_team_start): Add taskgroup argument.
231 (gomp_pause_host): Declare.
232 (gomp_init_work_share, gomp_work_share_start): Change bool argument
233 to size_t.
234 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
235 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
236 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
237 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
238 GOMP_loop_ull_doacross_start,
239 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
240 GOMP_loop_maybe_nonmonotonic_runtime_next,
241 GOMP_loop_maybe_nonmonotonic_runtime_start,
242 GOMP_loop_nonmonotonic_runtime_next,
243 GOMP_loop_nonmonotonic_runtime_start,
244 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
245 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
246 GOMP_loop_ull_nonmonotonic_runtime_next,
247 GOMP_loop_ull_nonmonotonic_runtime_start,
248 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
249 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
250 GOMP_taskgroup_reduction_register,
251 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
252 GOMP_teams_reg and GOMP_taskwait_depend.
253 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
254 omp_{capture,display}_affinity{,_}, and
255 omp_[gs]et_affinity_format{,_}.
256 * loop.c: Include string.h.
257 (GOMP_loop_runtime_next): Add ialias.
258 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
259 (gomp_loop_static_start, gomp_loop_dynamic_start,
260 gomp_loop_guided_start, gomp_loop_ordered_static_start,
261 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
262 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
263 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
264 or gomp_doacross_init callers.
265 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
266 GOMP_loop_doacross_start): New functions.
267 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
268 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
269 Mask off GFS_MONOTONIC bit.
270 (GOMP_loop_maybe_nonmonotonic_runtime_next,
271 GOMP_loop_maybe_nonmonotonic_runtime_start,
272 GOMP_loop_nonmonotonic_runtime_next,
273 GOMP_loop_nonmonotonic_runtime_start,
274 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
275 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
276 functions.
277 (gomp_parallel_loop_start): Pass NULL as taskgroup to
278 gomp_team_start.
279 * loop_ull.c: Include string.h.
280 (GOMP_loop_ull_runtime_next): Add ialias.
281 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
282 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
283 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
284 gomp_loop_ull_ordered_dynamic_start,
285 gomp_loop_ull_ordered_guided_start,
286 gomp_loop_ull_doacross_static_start,
287 gomp_loop_ull_doacross_dynamic_start,
288 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
289 and gomp_doacross_ull_init callers.
290 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
291 GOMP_loop_ull_doacross_start): New functions.
292 (GOMP_loop_ull_runtime_start,
293 GOMP_loop_ull_ordered_runtime_start,
294 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
295 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
296 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
297 GOMP_loop_ull_nonmonotonic_runtime_next,
298 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
299 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
300 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
301 (omp_pause_resource_t, omp_depend_t): New typedefs.
302 (enum omp_lock_hint_t): Renamed to ...
303 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
304 enumerators using numbers and omp_lock_hint_* as their aliases.
305 (omp_lock_hint_t): New typedef. Rename to ...
306 (omp_sync_hint_t): ... this.
307 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
308 omp_sync_hint_t instead of omp_lock_hint_t.
309 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
310 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
311 Declare.
312 (omp_target_is_present, omp_target_disassociate_ptr):
313 Change first argument from void * to const void *.
314 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
315 from void * to const void *.
316 (omp_target_associate_ptr): Change first and second arguments from
317 void * to const void *.
318 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
319 omp_pause_hard): New parameters.
320 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
321 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
322 New interfaces.
323 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
324 omp_pause_hard): New parameters.
325 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
326 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
327 New externals.
328 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
329 EXTRA argument. If not needed to prepare array, if extra is 0,
330 clear ws->doacross, otherwise allocate just doacross structure and
331 extra payload. If array is needed, allocate also extra payload.
332 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
333 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
334 doacross == NULL.
335 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
336 gomp_team_start.
337 (GOMP_parallel): Likewise. Formatting fix.
338 (GOMP_parallel_reductions): New function.
339 (GOMP_cancellation_point): If taskgroup has workshare
340 flag set, check cancelled of prev taskgroup if any.
341 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
342 on prev taskgroup if any.
343 * sections.c: Include string.h.
344 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
345 (GOMP_sections_start): Adjust gomp_work_share_start caller.
346 (GOMP_sections2_start): New function.
347 (GOMP_parallel_sections_start, GOMP_parallel_sections):
348 Pass NULL as taskgroup to gomp_team_start.
349 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
350 gomp_work_share_start callers.
351 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
352 If taskgroup has workshare flag set, check cancelled on prev
353 taskgroup if any. Guard all cancellation tests with
354 gomp_cancel_var test.
355 (omp_target_is_present, omp_target_disassociate_ptr):
356 Change ptr argument from void * to const void *.
357 (omp_target_memcpy): Change src argument from void * to const void *.
358 (omp_target_memcpy_rect): Likewise.
359 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
360 instead of char * where needed.
361 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
362 from void * to const void *.
363 (omp_pause_resource, omp_pause_resource_all): New functions.
364 * task.c (gomp_task_handle_depend): Handle new depend array format
365 in addition to the old. Handle mutexinoutset kinds the same as
366 inout for now, handle unspecified kinds.
367 (gomp_create_target_task): If taskgroup has workshare flag set, check
368 cancelled on prev taskgroup if any. Guard all cancellation tests with
369 gomp_cancel_var test. Handle new depend array format count in
370 addition to the old.
371 (GOMP_task): Likewise. Adjust function comment.
372 (gomp_task_run_pre): If taskgroup has workshare flag set, check
373 cancelled on prev taskgroup if any. Guard all cancellation tests with
374 gomp_cancel_var test.
375 (GOMP_taskwait_depend): New function.
376 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
377 format in addition to the old. Handle mutexinoutset kinds the same as
378 inout for now, handle unspecified kinds. Fix a function comment typo.
379 (gomp_taskgroup_init): New function.
380 (GOMP_taskgroup_start): Use it.
381 (gomp_reduction_register, gomp_create_artificial_team,
382 GOMP_taskgroup_reduction_register,
383 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
384 gomp_parallel_reduction_register,
385 gomp_workshare_task_reduction_register,
386 gomp_workshare_taskgroup_start,
387 GOMP_workshare_task_reduction_unregister): New functions.
388 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
389 check cancelled on prev taskgroup if any. Guard all cancellation
390 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
391 by calling GOMP_taskgroup_reduction_register.
392 * team.c (gomp_thread_attr): Remove comment.
393 (struct gomp_thread_start_data): Add handle field.
394 (gomp_thread_start): Call pthread_detach.
395 (gomp_new_team): Adjust gomp_init_work_share caller.
396 (gomp_free_pool_helper): Call pthread_detach.
397 (gomp_team_start): Add taskgroup argument, initialize implicit
398 tasks' taskgroup field to that. Don't call
399 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
400 (gomp_team_end): Determine nesting by thr->ts.level != 0
401 rather than thr->ts.team != NULL.
402 (gomp_pause_pool_helper, gomp_pause_host): New functions.
403 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
404 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
405 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
406 if more than 1 allocate also extra payload at the end of array. Never
407 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
408 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
409 return true instead of ws.
410 * Makefile.in: Regenerated.
411 * configure: Regenerated.
412 * config.h.in: Regenerated.
413 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
414 in some cases.
415 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
416 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
417 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
418 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
419 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
420 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
421 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
422 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
423 * testsuite/libgomp.c-c++-common/for-10.c: New test.
424 * testsuite/libgomp.c-c++-common/for-11.c: New test.
425 * testsuite/libgomp.c-c++-common/for-12.c: New test.
426 * testsuite/libgomp.c-c++-common/for-13.c: New test.
427 * testsuite/libgomp.c-c++-common/for-14.c: New test.
428 * testsuite/libgomp.c-c++-common/for-15.c: New test.
429 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
430 define a different N(test), don't define N(f0) to N(f14), but instead
431 define N(f20) to N(f34) using != comparisons.
432 * testsuite/libgomp.c-c++-common/for-7.c: New test.
433 * testsuite/libgomp.c-c++-common/for-8.c: New test.
434 * testsuite/libgomp.c-c++-common/for-9.c: New test.
435 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
436 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
437 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
438 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
439 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
440 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
441 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
442 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
443 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
444 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
445 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
446 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
447 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
448 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
449 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
450 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
451 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
452 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
453 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
454 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
455 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
456 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
457 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
458 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
459 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
460 * testsuite/libgomp.c++/depend-1.C: New test.
461 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
462 * testsuite/libgomp.c++/depobj-1.C: New test.
463 * testsuite/libgomp.c++/for-16.C: New test.
464 * testsuite/libgomp.c++/for-21.C: New test.
465 * testsuite/libgomp.c++/for-22.C: New test.
466 * testsuite/libgomp.c++/for-23.C: New test.
467 * testsuite/libgomp.c++/for-24.C: New test.
468 * testsuite/libgomp.c++/for-25.C: New test.
469 * testsuite/libgomp.c++/for-26.C: New test.
470 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
471 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
472 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
473 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
474 * testsuite/libgomp.c++/task-reduction-10.C: New test.
475 * testsuite/libgomp.c++/task-reduction-11.C: New test.
476 * testsuite/libgomp.c++/task-reduction-12.C: New test.
477 * testsuite/libgomp.c++/task-reduction-13.C: New test.
478 * testsuite/libgomp.c++/task-reduction-14.C: New test.
479 * testsuite/libgomp.c++/task-reduction-15.C: New test.
480 * testsuite/libgomp.c++/task-reduction-16.C: New test.
481 * testsuite/libgomp.c++/task-reduction-17.C: New test.
482 * testsuite/libgomp.c++/task-reduction-18.C: New test.
483 * testsuite/libgomp.c++/task-reduction-19.C: New test.
484 * testsuite/libgomp.c/task-reduction-1.c: New test.
485 * testsuite/libgomp.c++/task-reduction-1.C: New test.
486 * testsuite/libgomp.c/task-reduction-2.c: New test.
487 * testsuite/libgomp.c++/task-reduction-2.C: New test.
488 * testsuite/libgomp.c++/task-reduction-3.C: New test.
489 * testsuite/libgomp.c++/task-reduction-4.C: New test.
490 * testsuite/libgomp.c++/task-reduction-5.C: New test.
491 * testsuite/libgomp.c++/task-reduction-6.C: New test.
492 * testsuite/libgomp.c++/task-reduction-7.C: New test.
493 * testsuite/libgomp.c++/task-reduction-8.C: New test.
494 * testsuite/libgomp.c++/task-reduction-9.C: New test.
495 * testsuite/libgomp.c/teams-1.c: New test.
496 * testsuite/libgomp.c/teams-2.c: New test.
497 * testsuite/libgomp.c/thread-limit-4.c: New test.
498 * testsuite/libgomp.c/thread-limit-5.c: New test.
499 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
500
58168bbf
CLT
5012018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
502
503 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
504 acc_memcpy_to/from_device functions, now with async parameter.
505 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
506 (acc_memcpy_from_device): Likewise.
507 (acc_memcpy_to_device_async): New API function.
508 (acc_memcpy_from_device_async): Likewise.
509 (present_create_copy): Add async parameter and async setting/unsetting.
510 (acc_create): Adjust present_create_copy call.
511 (acc_copyin): Likewise.
512 (acc_present_or_create): Likewise.
513 (acc_present_or_copyin): Likewise.
514 (acc_create_async): New API function.
515 (acc_copyin_async): New API function.
516 (delete_copyout): Add async parameter and async setting/unsetting.
517 (acc_delete): Adjust delete_copyout call.
518 (acc_copyout): Likewise.
519 (acc_delete_async): New API function.
520 (acc_copyout_async): Likewise.
521 (update_dev_host): Add async parameter and async setting/unsetting.
522 (acc_update_device): Adjust update_dev_host call.
523 (acc_update_self): Likewise.
524 (acc_update_device_async): New API function.
525 (acc_update_self_async): Likewise.
526 * openacc.h (acc_copyin_async): Declare new API function.
527 (acc_create_async): Likewise.
528 (acc_copyout_async): Likewise.
529 (acc_delete_async): Likewise.
530 (acc_update_device_async): Likewise.
531 (acc_update_self_async): Likewise.
532 (acc_memcpy_to_device_async): Likewise.
533 (acc_memcpy_from_device_async): Likewise.
534 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
535 (acc_copyin_async_64_h): New subroutine.
536 (acc_copyin_async_array_h): New subroutine.
537 (acc_create_async_32_h): New subroutine.
538 (acc_create_async_64_h): New subroutine.
539 (acc_create_async_array_h): New subroutine.
540 (acc_copyout_async_32_h): New subroutine.
541 (acc_copyout_async_64_h): New subroutine.
542 (acc_copyout_async_array_h): New subroutine.
543 (acc_delete_async_32_h): New subroutine.
544 (acc_delete_async_64_h): New subroutine.
545 (acc_delete_async_array_h): New subroutine.
546 (acc_update_device_async_32_h): New subroutine.
547 (acc_update_device_async_64_h): New subroutine.
548 (acc_update_device_async_array_h): New subroutine.
549 (acc_update_self_async_32_h): New subroutine.
550 (acc_update_self_async_64_h): New subroutine.
551 (acc_update_self_async_array_h): New subroutine.
552 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
553 (acc_copyin_async_64_h): New subroutine.
554 (acc_copyin_async_array_h): New subroutine.
555 (acc_create_async_32_h): New subroutine.
556 (acc_create_async_64_h): New subroutine.
557 (acc_create_async_array_h): New subroutine.
558 (acc_copyout_async_32_h): New subroutine.
559 (acc_copyout_async_64_h): New subroutine.
560 (acc_copyout_async_array_h): New subroutine.
561 (acc_delete_async_32_h): New subroutine.
562 (acc_delete_async_64_h): New subroutine.
563 (acc_delete_async_array_h): New subroutine.
564 (acc_update_device_async_32_h): New subroutine.
565 (acc_update_device_async_64_h): New subroutine.
566 (acc_update_device_async_array_h): New subroutine.
567 (acc_update_self_async_32_h): New subroutine.
568 (acc_update_self_async_64_h): New subroutine.
569 (acc_update_self_async_array_h): New subroutine.
570 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
571 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
572 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
573 acc_memcpy_to_device_async*, acc_update_device_async*, and
574 acc_update_self_async* entries.
575 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
576 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
577 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
578
22e05272
JM
5792018-10-31 Joseph Myers <joseph@codesourcery.com>
580
581 PR bootstrap/82856
582 * Makefile.am: Include multilib.am
583 (AUTOMAKE_OPTIONS): Add info-in-builddir.
584 (CLEANFILES): Remove libgomp.info.
585 * configure.ac: Remove AC_PREREQ.
586 * testsuite/Makefile.am (RUNTEST): Remove quotes.
587 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
588 Regenerate.
589
87a5ccfb
JM
5902018-10-29 Joseph Myers <joseph@codesourcery.com>
591 Julian Brown <julian@codesourcery.com>
592
593 * testsuite/libgomp.oacc-c++/this.C: New.
594
2049befd
CP
5952018-09-18 Cesar Philippidis <cesar@codesourcery.com>
596
597 * plugin/plugin-nvptx.c (struct cuda_map): New.
598 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
599 h_tail with (cuda_map *) map.
600 (cuda_map_create): New function.
601 (cuda_map_destroy): New function.
602 (map_init): Update to use a linked list of cuda_map objects.
603 (map_fini): Likewise.
604 (map_pop): Likewise.
605 (map_push): Likewise. Return CUdeviceptr instead of void.
606 (init_streams_for_device): Remove stales references to ptx_stream
607 members.
608 (select_stream_for_async): Likewise.
609 (nvptx_exec): Update call to map_init.
610
8e36332c
CP
6112018-09-09 Cesar Philippidis <cesar@codesourcery.com>
612 Julian Brown <julian@codesourcery.com>
613
614 PR middle-end/86336
615 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
616
2b4c9065
NK
6172018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
618 Thomas Koenig <tkoenig@gcc.gnu.org>
619
620 PR fortran/25829
621 * testsuite/libgomp.fortran/async_io_1.f90: New test.
622 * testsuite/libgomp.fortran/async_io_2.f90: New test.
623 * testsuite/libgomp.fortran/async_io_3.f90: New test.
624 * testsuite/libgomp.fortran/async_io_4.f90: New test.
625 * testsuite/libgomp.fortran/async_io_5.f90: New test.
626 * testsuite/libgomp.fortran/async_io_6.f90: New test.
627 * testsuite/libgomp.fortran/async_io_7.f90: New test.
628
bd9b3d3d
CP
6292018-08-13 Cesar Philippidis <cesar@codesourcery.com>
630 Tom de Vries <tdevries@suse.de>
631
632 PR target/85590
633 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
634 (cuOccupancyMaxPotentialBlockSize): Declare.
635 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
636 CUDA_ONE_CALL_MAYBE_NULL.
637 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
638 CUoccupancyB2DSize and declare
639 cuOccupancyMaxPotentialBlockSize.
640 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
641 default num_gangs and num_workers when the driver supports it.
642
8e09a12f
TV
6432018-08-08 Tom de Vries <tdevries@suse.de>
644
645 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
646 CUDA_ONE_CALL_MAYBE_NULL.
647 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
648 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
649 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
650 are not found.
651
cedd9bd0
TV
6522018-08-08 Tom de Vries <tdevries@suse.de>
653
654 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
655 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
656 present.
657
b113af95
TV
6582018-08-08 Tom de Vries <tdevries@suse.de>
659
660 * plugin/plugin-nvptx.c
661 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
662 (nvptx_open_device): Use
663 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
664
94767dac
TV
6652018-08-08 Tom de Vries <tdevries@suse.de>
666
667 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
668 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
669
02150de8
TV
6702018-08-07 Tom de Vries <tdevries@suse.de>
671
672 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
673 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
674 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
675 corresponding call in CUDA_ONE_CALL. Add def/undef of
676 CUDA_ONE_CALL_MAYBE_NULL.
677 (CUDA_CALL_EXISTS): Define.
678
9e28b107
TV
6792018-08-07 Tom de Vries <tdevries@suse.de>
680
681 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
682 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
683 corresponding undefs right after.
684
09940090
TV
6852018-08-04 Tom de Vries <tdevries@suse.de>
686
687 * plugin/configfrag.ac: For --without-cuda-driver, set
688 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
689 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
690 * configure: Regenerate.
691
77e0a97a
TV
6922018-08-02 Tom de Vries <tdevries@suse.de>
693
694 PR target/86660
695 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
696 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
697 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
698 Same.
699 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
700 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
701 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
702
701d080a
CP
7032018-08-01 Cesar Philippidis <cesar@codesourcery.com>
704 Thomas Schwinge <thomas@codesourcery.com>
705
706 * config/nvptx/oacc-parallel.c: Truncate.
707
094db6be
CP
7082018-08-01 Cesar Philippidis <cesar@codesourcery.com>
709 James Norris <jnorris@codesourcery.com>
710
711 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
712 (map_init, map_pop): Remove use of struct map.
713 (map_push): Likewise and change argument list.
094db6be
CP
714 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
715
8c6310a2
TV
7162018-08-01 Tom de Vries <tdevries@suse.de>
717
718 * plugin/cuda-lib.def: New file. Factor out of ...
719 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
720 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
721 using CUDA_CALLS.
722
1d4a51cf
AV
7232018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
724
725 Revert 'AsyncI/O patch committed'.
726 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
727 Thomas Koenig <tkoenig@gcc.gnu.org>
728
729 PR fortran/25829
730 * testsuite/libgomp.fortran/async_io_1.f90: New test.
731 * testsuite/libgomp.fortran/async_io_2.f90: New test.
732 * testsuite/libgomp.fortran/async_io_3.f90: New test.
733 * testsuite/libgomp.fortran/async_io_4.f90: New test.
734 * testsuite/libgomp.fortran/async_io_5.f90: New test.
735 * testsuite/libgomp.fortran/async_io_6.f90: New test.
736 * testsuite/libgomp.fortran/async_io_7.f90: New test.
737
4cdfee3f
TV
7382018-07-30 Tom de Vries <tdevries@suse.de>
739
740 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
741 (nvptx_exec): Ensure worker and vector default dims don't exceed
742 targ_fn->max_threads_per_block.
743
0b210c43
TV
7442018-07-30 Tom de Vries <tdevries@suse.de>
745
746 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
747 (nvptx_open_device): Init default_dims for device.
748 (nvptx_exec): Use default_dims from device.
749
5883c5cc
JJ
7502018-07-26 Jakub Jelinek <jakub@redhat.com>
751
5d36384c
JJ
752 PR testsuite/86660
753 * testsuite/libgomp.c++/for-15.C (results): Include it in
754 omp declare target region.
755 (main): Use map (always, tofrom: results) instead of
756 map (tofrom: results).
757
5883c5cc
JJ
758 PR middle-end/86660
759 * testsuite/libgomp.c/pr86660.c: New test.
760
88a4654d
CP
7612018-07-26 Cesar Philippidis <cesar@codesourcery.com>
762 Tom de Vries <tdevries@suse.de>
763
764 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
765 sufficient resources to launch a kernel, and give a hint on how to fix
766 it.
767
0c6c2f5f
CP
7682018-07-26 Cesar Philippidis <cesar@codesourcery.com>
769 Tom de Vries <tdevries@suse.de>
770
771 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
772 max_threads_per_block and max_threads_per_multiprocessor fields.
773 (nvptx_open_device): Initialize new fields.
774 (nvptx_exec): Use num_sms, and new fields.
775
6dd58010
TV
7762018-07-26 Tom de Vries <tdevries@suse.de>
777
778 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
779 to correct locations. Remove xfail.
780
b2eb1779
TV
7812018-07-26 Tom de Vries <tdevries@suse.de>
782
783 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
784 acc_wait. Move acc_async_test calls to correct locations. Remove
785 xfail.
786
b1f45884
NK
7872018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
788 Thomas Koenig <tkoenig@gcc.gnu.org>
789
790 PR fortran/25829
791 * testsuite/libgomp.fortran/async_io_1.f90: New test.
792 * testsuite/libgomp.fortran/async_io_2.f90: New test.
793 * testsuite/libgomp.fortran/async_io_3.f90: New test.
794 * testsuite/libgomp.fortran/async_io_4.f90: New test.
795 * testsuite/libgomp.fortran/async_io_5.f90: New test.
796 * testsuite/libgomp.fortran/async_io_6.f90: New test.
797 * testsuite/libgomp.fortran/async_io_7.f90: New test.
798
3a106211
JJ
7992018-07-17 Jakub Jelinek <jakub@redhat.com>
800
a3bccfa1
JJ
801 PR middle-end/86542
802 * testsuite/libgomp.c++/pr86542.C: New test.
803
3a106211
JJ
804 PR middle-end/86539
805 * testsuite/libgomp.c++/pr86539.C: New test.
806
2bae8b2f
JJ
8072018-07-11 Jakub Jelinek <jakub@redhat.com>
808
809 PR c++/86443
810 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
811 (results): Make sure the variable is not inside declare target region.
812 (qux): Remove unused function.
813
0b27c3ed
JJ
8142018-07-10 Jakub Jelinek <jakub@redhat.com>
815
816 PR c++/86443
817 * testsuite/libgomp.c++/for-15.C: New test.
818
f0391511
JJ
8192018-06-26 Jakub Jelinek <jakub@redhat.com>
820
821 PR c++/86291
822 * testsuite/libgomp.c++/pr86291.C: New test.
823
1a6d1d24
GP
8242018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
825
826 * libgomp.texi (Top): Move www.openmp.org to https.
827 (Enabling OpenMP): Ditto.
828 (omp_get_active_level): Ditto.
829 (omp_get_ancestor_thread_num): Ditto.
830 (omp_get_cancellation): Ditto.
831 (omp_get_default_device): Ditto.
832 (omp_get_dynamic): Ditto.
833 (omp_get_level): Ditto.
834 (omp_get_max_active_levels): Ditto.
835 (omp_get_max_task_priority): Ditto.
836 (omp_get_max_threads): Ditto.
837 (omp_get_nested): Ditto.
838 (omp_get_num_devices): Ditto.
839 (omp_get_num_procs): Ditto.
840 (omp_get_num_teams): Ditto.
841 (omp_get_num_threads): Ditto.
842 (omp_get_proc_bind): Ditto.
843 (omp_get_schedule): Ditto.
844 (omp_get_team_num): Ditto.
845 (omp_get_team_size): Ditto.
846 (omp_get_thread_limit): Ditto.
847 (omp_get_thread_num): Ditto.
848 (omp_in_parallel): Ditto.
849 (omp_in_final): Ditto.
850 (omp_is_initial_device): Ditto.
851 (omp_set_default_device): Ditto.
852 (omp_set_dynamic): Ditto.
853 (omp_set_max_active_levels): Ditto.
854 (omp_set_nested): Ditto.
855 (omp_set_num_threads): Ditto.
856 (omp_set_schedule): Ditto.
857 (omp_init_lock): Ditto.
858 (omp_set_lock): Ditto.
859 (omp_test_lock): Ditto.
860 (omp_unset_lock): Ditto.
861 (omp_destroy_lock): Ditto.
862 (omp_init_nest_lock): Ditto.
863 (omp_set_nest_lock): Ditto.
864 (omp_test_nest_lock): Ditto.
865 (omp_unset_nest_lock): Ditto.
866 (omp_destroy_nest_lock): Ditto.
867 (omp_get_wtick): Ditto.
868 (omp_get_wtime): Ditto.
869 (OMP_CANCELLATION): Ditto.
870 (OMP_DISPLAY_ENV): Ditto.
871 (OMP_DEFAULT_DEVICE): Ditto.
872 (OMP_DYNAMIC): Ditto.
873 (OMP_MAX_ACTIVE_LEVELS): Ditto.
874 (OMP_MAX_TASK_PRIORITY): Ditto.
875 (OMP_NESTED): Ditto.
876 (OMP_NUM_THREADS): Ditto.
877 (OMP_PROC_BIND): Ditto.
878 (OMP_PLACES): Ditto.
879 (OMP_STACKSIZE): Ditto.
880 (OMP_SCHEDULE): Ditto.
881 (OMP_THREAD_LIMIT): Ditto.
882 (OMP_WAIT_POLICY): Ditto.
883
31dd69b7
CP
8842018-06-22 Cesar Philippidis <cesar@codesourcery.com>
885 James Norris <jnorris@codesourcery.com>
886 Julian Brown <julian@codesourcery.com>
887 Thomas Schwinge <thomas@codesourcery.com>
888 Tom de Vries <tom@codesourcery.com>
889
890 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
891 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
892 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
893 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
894 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
895 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
896 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
897 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
898 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
899 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
900 Likewise.
901 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
902 Likewise.
903 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
904 Likewise.
905 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
906 Likewise.
907 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
908 Likewise.
909 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
910 Likewise.
911 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
912 Likewise.
913 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
914 Likewise.
915 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
916 Likewise.
917 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
918 Likewise.
919 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
920 Likewise.
921 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
922 Likewise.
923 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
924 Likewise.
925 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
926 Likewise.
927 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
928 Likewise.
929 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
930 Likewise.
931 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
932 Likewise.
933 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
934 Likewise.
935 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
936 Likewise.
937 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
938 Likewise.
939 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
940 Likewise.
941 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
942 Likewise.
943 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
944 Likewise.
945 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
946 Likewise.
947 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
948 Likewise.
949 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
950 Likewise.
951 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
952 Likewise.
953 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
954 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
955 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
956 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
957 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
958 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
959 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
960 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
961 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
962 Likewise.
963 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
964 Likewise.
965 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
966 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
967 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
968 Likewise.
969 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
970 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
971 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
972 Likewise.
973 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
974 Likewise.
975 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
976 Likewise.
977 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
978 Likewise.
979 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
980 Likewise.
981 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
982 Likewise.
983 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
984 Likewise.
985 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
986 Likewise.
987 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
988 Likewise.
989 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
990 Likewise.
991 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
992 Likewise.
993 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
994 Likewise.
995 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
996 Likewise.
997 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
998 Likewise.
999 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
1000 Likewise.
1001 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1002 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
1003 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
1004 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
1005 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
1006 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
1007 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
1008
829c6349
CLT
10092018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
1010 Thomas Schwinge <thomas@codesourcery.com>
1011 Cesar Philippidis <cesar@codesourcery.com>
1012
1013 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
1014 (gomp_acc_remove_pointer): Update declaration.
1015 (gomp_acc_declare_allocate): Declare.
1016 (gomp_remove_var): Declare.
1017 * libgomp.map (OACC_2.5): Define.
1018 * oacc-mem.c (acc_map_data): Update refcount.
1019 (acc_unmap_data): Likewise.
1020 (present_create_copy): Likewise.
1021 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
1022 (acc_copyin): Likewise.
1023 (FLAG_FINALIZE): Define.
1024 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
1025 (acc_delete_finalize): New function.
1026 (acc_delete_finalize_async): New function.
1027 (acc_copyout_finalize): New function.
1028 (acc_copyout_finalize_async): New function.
1029 (gomp_acc_insert_pointer): Update refcounts.
1030 (gomp_acc_remove_pointer): Return if data is not present on the
1031 accelerator.
1032 * oacc-parallel.c (find_pset): Rename to find_pointer.
1033 (find_pointer): Add support for GOMP_MAP_POINTER.
1034 (handle_ftn_pointers): New function.
1035 (GOACC_parallel_keyed): Update refcounts of variables.
1036 (GOACC_enter_exit_data): Add support for finalized data mappings.
1037 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
1038 of fortran arrays.
1039 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
1040 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
1041 for GOMP_MAP_FORCE_FROM.
1042 * openacc.f90 (module openacc_internal): Add
1043 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
1044 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
1045 acc_copyout_finalize and acc_delete_finalize.
1046 (acc_copyout_finalize_32_h): New subroutine.
1047 (acc_copyout_finalize_64_h): New subroutine.
1048 (acc_copyout_finalize_array_h): New subroutine.
1049 (acc_delete_finalize_32_h): New subroutine.
1050 (acc_delete_finalize_64_h): New subroutine.
1051 (acc_delete_finalize_array_h): New subroutine.
1052 * openacc.h (acc_copyout_finalize): Declare.
1053 (acc_copyout_finalize_async): Declare.
1054 (acc_delete_finalize): Declare.
1055 (acc_delete_finalize_async): Declare.
1056 * openacc_lib.h (acc_copyout_finalize): New interface.
1057 (acc_delete_finalize): New interface.
1058 * target.c (gomp_map_vars): Update dynamic_refcount.
1059 (gomp_remove_var): New function.
1060 (gomp_unmap_vars): Use it.
1061 (gomp_unload_image_from_device): Likewise.
1062 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
1063 case to utilize OpenACC 2.5 data clause semantics.
1064 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1065 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1066 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1067 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1068 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1069 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1070 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1071 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
1072 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
1073 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
1074 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
1075 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
1076 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
1077 utilize OpenACC 2.5 data clause semantics.
1078 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1079 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1080 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1081 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1082 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1083 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1084 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1085 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
1086 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
1087
4358400b
JW
10882018-05-21 Janus Weil <janus@gcc.gnu.org>
1089
1090 PR fortran/85841
1091 PR testsuite/85865
1092 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
1093 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1094 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1095 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1096 * testsuite/libgomp.fortran/task2.f90: Ditto.
1097 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1098 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1099 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1100 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1101 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1102 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1103 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1104 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
1105 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
1106
950ad0ba
CP
11072018-05-18 Cesar Philippidis <cesar@codesourcery.com>
1108
1109 PR c++/85782
1110 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
1111
f5ad16f1
TV
11122018-05-09 Tom de Vries <tom@codesourcery.com>
1113
1114 PR libgomp/82901
1115 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
1116 to GOACC_enter_exit_data.
1117
edbd038a
TV
11182018-05-09 Tom de Vries <tom@codesourcery.com>
1119
1120 PR libgomp/83792
1121 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
1122 (async_synchronous_p): New function.
1123 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
1124 async_valid_p.
1125 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1126 async_valid_stream_id_p.
1127 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
1128 * oacc-parallel.c (GOACC_parallel_keyed): Same.
1129
37d6c719
TV
11302018-05-07 Tom de Vries <tom@codesourcery.com>
1131
1132 PR testsuite/85677
1133 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
1134 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
1135
63f12215
TV
11362018-05-03 Tom de Vries <tom@codesourcery.com>
1137
1138 PR testsuite/85106
1139 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
1140 extra_tool_flags if it contains an -foffload=-fdump-* flag.
1141 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
1142 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
1143
ec00d3fa
TV
11442018-05-02 Tom de Vries <tom@codesourcery.com>
1145
1146 PR libgomp/85411
1147 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
1148 GOMP_OPENACC_DIM ...
1149 * env.c (parse_gomp_openacc_dim): ... here. New function.
1150 (initialize_env): Call parse_gomp_openacc_dim.
1151 (goacc_default_dims): Define.
1152 * libgomp.h (goacc_default_dims): Declare.
1153 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
1154 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
1155 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
1156 GOMP_PLUGIN_acc_default_dim.
1157 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
1158 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
1159
92243e7c
TV
11602018-05-02 Tom de Vries <tom@codesourcery.com>
1161
1162 PR testsuite/83791
1163 * testsuite/libgomp.c++/udr-9.C: Update.
1164 * testsuite/libgomp.c++/atomic-16.C: Remove.
1165 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
1166 * testsuite/libgomp.c++/loop-13.C: Remove.
1167 * testsuite/libgomp.c++/loop-14.C: Remove.
1168 * testsuite/libgomp.c++/loop-15.C: Remove.
1169 * testsuite/libgomp.c++/monotonic-1.C: Remove.
1170 * testsuite/libgomp.c++/monotonic-2.C: Remove.
1171 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
1172 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
1173 * testsuite/libgomp.c++/ordered-1.C: Remove.
1174 * testsuite/libgomp.c++/pr45784.C: Remove.
1175 * testsuite/libgomp.c++/pr64824.C: Remove.
1176 * testsuite/libgomp.c++/pr64868.C: Remove.
1177 * testsuite/libgomp.c++/pr66199-1.C: Remove.
1178 * testsuite/libgomp.c++/pr66199-2.C: Remove.
1179 * testsuite/libgomp.c++/pr66199-3.C: Remove.
1180 * testsuite/libgomp.c++/pr66199-4.C: Remove.
1181 * testsuite/libgomp.c++/pr66199-5.C: Remove.
1182 * testsuite/libgomp.c++/pr66199-6.C: Remove.
1183 * testsuite/libgomp.c++/pr66199-7.C: Remove.
1184 * testsuite/libgomp.c++/pr66199-8.C: Remove.
1185 * testsuite/libgomp.c++/pr66199-9.C: Remove.
1186 * testsuite/libgomp.c++/pr69389.C: Remove.
1187 * testsuite/libgomp.c++/simd10.C: Remove.
1188 * testsuite/libgomp.c++/simd11.C: Remove.
1189 * testsuite/libgomp.c++/simd12.C: Remove.
1190 * testsuite/libgomp.c++/simd13.C: Remove.
1191 * testsuite/libgomp.c++/target-1.C: Remove.
1192 * testsuite/libgomp.c++/target-3.C: Remove.
1193 * testsuite/libgomp.c++/target-4.C: Remove.
1194 * testsuite/libgomp.c++/target-5.C: Remove.
1195 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
1196 * testsuite/libgomp.c++/taskloop-1.C: Remove.
1197 * testsuite/libgomp.c++/taskloop-2.C: Remove.
1198 * testsuite/libgomp.c++/taskloop-3.C: Remove.
1199 * testsuite/libgomp.c++/taskloop-4.C: Remove.
1200 * testsuite/libgomp.c++/udr-9.C: Remove.
1201 * testsuite/libgomp.c++/for-10.C: Remove.
1202 * testsuite/libgomp.c++/for-11.C: Remove.
1203 * testsuite/libgomp.c++/for-12.C: Remove.
1204 * testsuite/libgomp.c++/for-13.C: Remove.
1205 * testsuite/libgomp.c++/for-14.C: Remove.
1206 * testsuite/libgomp.c++/for-9.C: Remove.
1207 * testsuite/libgomp.c/atomic-18.c: Move ...
1208 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
1209 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
1210 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
1211 * testsuite/libgomp.c/loop-13.c: Move ...
1212 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
1213 * testsuite/libgomp.c/loop-14.c: Move ...
1214 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
1215 * testsuite/libgomp.c/loop-15.c: Remove.
1216 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
1217 * testsuite/libgomp.c/monotonic-1.c: Move ...
1218 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
1219 * testsuite/libgomp.c/monotonic-2.c: Move ...
1220 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
1221 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
1222 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
1223 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
1224 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
1225 * testsuite/libgomp.c/ordered-4.c: Move ...
1226 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
1227 * testsuite/libgomp.c/pr45784.c: Move ...
1228 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
1229 * testsuite/libgomp.c/pr64824.c: Move ...
1230 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
1231 * testsuite/libgomp.c/pr64868.c: Move ...
1232 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
1233 * testsuite/libgomp.c/pr66199-1.c: Move ...
1234 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
1235 * testsuite/libgomp.c/pr66199-2.c: Move ...
1236 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
1237 * testsuite/libgomp.c/pr66199-3.c: Move ...
1238 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
1239 * testsuite/libgomp.c/pr66199-4.c: Move ...
1240 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
1241 * testsuite/libgomp.c/pr66199-5.c: Move ...
1242 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
1243 * testsuite/libgomp.c/pr66199-6.c: Move ...
1244 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
1245 * testsuite/libgomp.c/pr66199-7.c: Move ...
1246 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
1247 * testsuite/libgomp.c/pr66199-8.c: Move ...
1248 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
1249 * testsuite/libgomp.c/pr66199-9.c: Move ...
1250 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
1251 * testsuite/libgomp.c/pr69389.c: Move ...
1252 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
1253 * testsuite/libgomp.c/simd-14.c: Move ...
1254 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
1255 * testsuite/libgomp.c/simd-15.c: Move ...
1256 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
1257 * testsuite/libgomp.c/simd-16.c: Move ...
1258 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
1259 * testsuite/libgomp.c/simd-17.c: Move ...
1260 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
1261 * testsuite/libgomp.c/target-1.c: Move ...
1262 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
1263 * testsuite/libgomp.c/target-10.c: Move ...
1264 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
1265 * testsuite/libgomp.c/target-13.c: Move ...
1266 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
1267 * testsuite/libgomp.c/target-2.c: Move ...
1268 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
1269 * testsuite/libgomp.c/taskgroup-1.c: Move ...
1270 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
1271 * testsuite/libgomp.c/taskloop-1.c: Move ...
1272 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
1273 * testsuite/libgomp.c/taskloop-2.c: Move ...
1274 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
1275 * testsuite/libgomp.c/taskloop-3.c: Move ...
1276 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
1277 * testsuite/libgomp.c/taskloop-4.c: Move ...
1278 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
1279 * testsuite/libgomp.c/udr-1.c: Move ...
1280 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
1281 * testsuite/libgomp.c/for-1.c: Move ...
1282 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
1283 * testsuite/libgomp.c/for-1.h: Move ...
1284 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
1285 * testsuite/libgomp.c/for-2.c: Move ...
1286 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
1287 * testsuite/libgomp.c/for-2.h: Move ...
1288 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
1289 * testsuite/libgomp.c/for-3.c: Move ...
1290 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
1291 * testsuite/libgomp.c/for-4.c: Move ...
1292 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
1293 * testsuite/libgomp.c/for-5.c: Move ...
1294 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
1295 * testsuite/libgomp.c/for-6.c: Move ...
1296 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
1297
1f62d637
TV
12982018-05-02 Tom de Vries <tom@codesourcery.com>
1299
1300 PR libgomp/82428
1301 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
1302 __builtin_goacc_parlevel_{id,size}.
1303 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
1304 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
1305 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
1306 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
1307 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
1308 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
1309 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
1310 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
1311 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
1312 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
1313 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
1314 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
1315 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
1316 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
1317 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
1318 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
1319 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
1320 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
1321 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
1322 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
1323 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
1324 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
1325 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
1326
9220b511
TV
13272018-05-02 Tom de Vries <tom@codesourcery.com>
1328
1329 PR testsuite/85106
1330 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
1331
6c3c13c1
TV
13322018-05-02 Tom de Vries <tom@codesourcery.com>
1333
1334 PR testsuite/85106
1335 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
1336
8d70b61e
JB
13372018-04-29 Julian Brown <julian@codesourcery.com>
1338 Tom de Vries <tom@codesourcery.com>
1339
1340 PR testsuite/85527
1341 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
1342 arbitrary order for iterations of atomic subtract check.
1343
4a57a4b6
TV
13442018-04-28 Tom de Vries <tom@codesourcery.com>
1345
1346 PR testsuite/85527
1347 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
1348 atomic capture results obtained in parallel loop to an array, instead of
1349 to a scalar.
1350
df36a3d3
TV
13512018-04-26 Tom de Vries <tom@codesourcery.com>
1352
1353 PR libgomp/84020
1354 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
1355 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
1356 (process_GOMP_NVPTX_JIT): New function.
1357 (link_ptx): Use process_GOMP_NVPTX_JIT.
1358
d160ae78
RB
13592018-04-26 Richard Biener <rguenther@suse.de>
1360 Tom de Vries <tom@codesourcery.com>
1361
1362 PR lto/85422
1363 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
1364
ca9dc642
TV
13652018-04-26 Tom de Vries <tom@codesourcery.com>
1366
1367 PR target/85519
1368 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
1369 recursion depth from 25 to 23.
1370 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
1371
7b47ecf2
L
13722018-04-24 H.J. Lu <hongjiu.lu@intel.com>
1373
1374 * configure: Regenerated.
1375
e91eba31
NS
13762018-04-20 Nathan Sidwell <nathan@codesourcery.com>
1377 Tom de Vries <tom@codesourcery.com>
1378
1379 PR target/85445
1380 * testsuite/libgomp.oacc-c++/ref-1.C: New.
1381
6e0d40b6
TS
13822018-04-19 Thomas Schwinge <thomas@codesourcery.com>
1383
1384 PR libgomp/85463
1385 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
1386 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
1387 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
1388 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
1389 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
1390 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
1391
1392 PR libfortran/85166
1393 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
1394 abort".
1395 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
1396
a0e1df88
JJ
13972018-04-19 Jakub Jelinek <jakub@redhat.com>
1398
1399 * configure: Regenerated.
1400
001ddaa8
DM
14012018-04-18 David Malcolm <dmalcolm@redhat.com>
1402
1403 PR jit/85384
1404 * configure: Regenerate.
1405
05e0af43
CP
14062018-04-16 Cesar Philippidis <cesar@codesourcery.com>
1407 Tom de Vries <tom@codesourcery.com>
1408
1409 PR middle-end/84955
1410 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
1411 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
1412
bc436e10
TK
14132018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1414
1415 PR fortran/83064
1416 PR testsuite/85346
1417 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
1418 test from gfortran.dg to here.
1419
ffb164c7
JJ
14202018-04-12 Cesar Philippidis <cesar@codesourcery.com>
1421
1422 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
1423 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
1424
14252018-04-12 Cesar Philippidis <cesar@codesourcery.com>
1426
1427 PR middle-end/84955
1428 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
1429 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
1430
2ba16fd2
TV
14312018-04-05 Tom de Vries <tom@codesourcery.com>
1432
1433 PR target/85204
1434 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
1435
46dbeb40
TV
14362018-03-26 Tom de Vries <tom@codesourcery.com>
1437
1438 PR tree-optimization/85063
1439 * testsuite/libgomp.c/switch-conversion-2.c: New test.
1440 * testsuite/libgomp.c/switch-conversion.c: New test.
1441 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
1442 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
1443
bfc24e32
TK
14442018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
1445
1446 PR fortran/84381
1447 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
1448 call abort by STOP n.
1449 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
1450 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
1451 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
1452 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
1453 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
1454 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
1455 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
1456 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
1457 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
1458 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
1459 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
1460 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
1461 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
1462 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
1463 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
1464 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
1465 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
1466 * testsuite/libgomp.fortran/associate1.f90: Likewise.
1467 * testsuite/libgomp.fortran/associate2.f90: Likewise.
1468 * testsuite/libgomp.fortran/associate3.f90: Likewise.
1469 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
1470 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
1471 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
1472 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
1473 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
1474 * testsuite/libgomp.fortran/character1.f90: Likewise.
1475 * testsuite/libgomp.fortran/character2.f90: Likewise.
1476 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
1477 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
1478 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
1479 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
1480 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
1481 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
1482 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
1483 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
1484 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
1485 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
1486 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
1487 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
1488 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
1489 * testsuite/libgomp.fortran/do1.f90: Likewise.
1490 * testsuite/libgomp.fortran/do2.f90: Likewise.
1491 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
1492 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
1493 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
1494 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
1495 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
1496 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
1497 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
1498 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
1499 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
1500 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
1501 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
1502 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
1503 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
1504 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
1505 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
1506 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
1507 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
1508 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
1509 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
1510 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
1511 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
1512 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
1513 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
1514 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
1515 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
1516 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
1517 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
1518 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
1519 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
1520 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
1521 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
1522 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
1523 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
1524 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
1525 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
1526 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
1527 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
1528 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
1529 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
1530 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
1531 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
1532 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
1533 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
1534 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
1535 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
1536 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
1537 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
1538 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
1539 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
1540 * testsuite/libgomp.fortran/lib1.f90: Likewise.
1541 * testsuite/libgomp.fortran/lib2.f: Likewise.
1542 * testsuite/libgomp.fortran/lib3.f: Likewise.
1543 * testsuite/libgomp.fortran/lib4.f90: Likewise.
1544 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
1545 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
1546 * testsuite/libgomp.fortran/nested1.f90: Likewise.
1547 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
1548 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
1549 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
1550 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
1551 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
1552 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
1553 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
1554 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
1555 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
1556 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
1557 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
1558 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
1559 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
1560 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
1561 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
1562 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
1563 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
1564 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
1565 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
1566 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
1567 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
1568 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
1569 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
1570 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
1571 * testsuite/libgomp.fortran/pr25162.f: Likewise.
1572 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
1573 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
1574 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
1575 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
1576 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
1577 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
1578 * testsuite/libgomp.fortran/pr28390.f: Likewise.
1579 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
1580 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
1581 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
1582 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
1583 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
1584 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
1585 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
1586 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
1587 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
1588 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
1589 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
1590 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
1591 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
1592 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
1593 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
1594 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
1595 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
1596 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
1597 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
1598 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
1599 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
1600 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
1601 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
1602 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
1603 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
1604 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
1605 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
1606 * testsuite/libgomp.fortran/reference1.f90: Likewise.
1607 * testsuite/libgomp.fortran/reference2.f90: Likewise.
1608 * testsuite/libgomp.fortran/retval1.f90: Likewise.
1609 * testsuite/libgomp.fortran/retval2.f90: Likewise.
1610 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
1611 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
1612 * testsuite/libgomp.fortran/simd1.f90: Likewise.
1613 * testsuite/libgomp.fortran/simd2.f90: Likewise.
1614 * testsuite/libgomp.fortran/simd3.f90: Likewise.
1615 * testsuite/libgomp.fortran/simd4.f90: Likewise.
1616 * testsuite/libgomp.fortran/simd5.f90: Likewise.
1617 * testsuite/libgomp.fortran/simd6.f90: Likewise.
1618 * testsuite/libgomp.fortran/simd7.f90: Likewise.
1619 * testsuite/libgomp.fortran/stack.f90: Likewise.
1620 * testsuite/libgomp.fortran/strassen.f90: Likewise.
1621 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
1622 * testsuite/libgomp.fortran/tabs2.f: Likewise.
1623 * testsuite/libgomp.fortran/target1.f90: Likewise.
1624 * testsuite/libgomp.fortran/target2.f90: Likewise.
1625 * testsuite/libgomp.fortran/target3.f90: Likewise.
1626 * testsuite/libgomp.fortran/target4.f90: Likewise.
1627 * testsuite/libgomp.fortran/target5.f90: Likewise.
1628 * testsuite/libgomp.fortran/target6.f90: Likewise.
1629 * testsuite/libgomp.fortran/target7.f90: Likewise.
1630 * testsuite/libgomp.fortran/target8.f90: Likewise.
1631 * testsuite/libgomp.fortran/task1.f90: Likewise.
1632 * testsuite/libgomp.fortran/task2.f90: Likewise.
1633 * testsuite/libgomp.fortran/task3.f90: Likewise.
1634 * testsuite/libgomp.fortran/task4.f90: Likewise.
1635 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
1636 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
1637 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
1638 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
1639 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
1640 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
1641 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
1642 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
1643 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
1644 * testsuite/libgomp.fortran/udr1.f90: Likewise.
1645 * testsuite/libgomp.fortran/udr10.f90: Likewise.
1646 * testsuite/libgomp.fortran/udr11.f90: Likewise.
1647 * testsuite/libgomp.fortran/udr12.f90: Likewise.
1648 * testsuite/libgomp.fortran/udr13.f90: Likewise.
1649 * testsuite/libgomp.fortran/udr14.f90: Likewise.
1650 * testsuite/libgomp.fortran/udr15.f90: Likewise.
1651 * testsuite/libgomp.fortran/udr2.f90: Likewise.
1652 * testsuite/libgomp.fortran/udr3.f90: Likewise.
1653 * testsuite/libgomp.fortran/udr4.f90: Likewise.
1654 * testsuite/libgomp.fortran/udr5.f90: Likewise.
1655 * testsuite/libgomp.fortran/udr6.f90: Likewise.
1656 * testsuite/libgomp.fortran/udr7.f90: Likewise.
1657 * testsuite/libgomp.fortran/udr8.f90: Likewise.
1658 * testsuite/libgomp.fortran/udr9.f90: Likewise.
1659 * testsuite/libgomp.fortran/vla1.f90: Likewise.
1660 * testsuite/libgomp.fortran/vla2.f90: Likewise.
1661 * testsuite/libgomp.fortran/vla3.f90: Likewise.
1662 * testsuite/libgomp.fortran/vla4.f90: Likewise.
1663 * testsuite/libgomp.fortran/vla5.f90: Likewise.
1664 * testsuite/libgomp.fortran/vla6.f90: Likewise.
1665 * testsuite/libgomp.fortran/vla7.f90: Likewise.
1666 * testsuite/libgomp.fortran/vla8.f90: Likewise.
1667 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
1668 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
1669 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
1670 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
1671 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1672 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1673 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1674 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1675 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1676 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1677 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
1678 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
1679 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
1680 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
1681 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
1682 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
1683 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
1684 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
1685 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
1686 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
1687 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
1688 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
1689 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
1690 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
1691 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
1692 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
1693 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
1694 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
1695 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
1696 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
1697 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
1698 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
1699 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
1700 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
1701 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
1702 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
1703 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
1704 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
1705 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
1706 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1707 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
1708 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
1709 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
1710 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
1711 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
1712 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
1713 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
1714 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
1715 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
1716 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
1717 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
1718 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
1719 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
1720 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
1721 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
1722 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
1723 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
1724 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
1725 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
1726 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
1727 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
1728 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
1729 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
1730 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
1731 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
1732 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
1733 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
1734 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1735 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1736 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
1737 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
1738 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
1739 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
1740 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
1741 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1742 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
1743 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1744 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
1745 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
1746 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
1747 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1748 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1749 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1750 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
1751 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
1752 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
1753 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
1754 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
1755 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
1756 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
1757 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
1758 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
1759 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
1760 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
1761
79cf14ae
RB
17622018-03-20 Richard Biener <rguenther@suse.de>
1763
1764 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
1765 parallelizable loop.
1766
14e335ed
IT
17672018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
1768
1769 PR target/84148
1770 * configure: Regenerate.
1771
83d9be55
JJ
17722018-02-16 Jakub Jelinek <jakub@redhat.com>
1773
1774 PR fortran/84418
1775 * libgomp.fortran/pr84418-1.f90: New test.
1776 * libgomp.fortran/pr84418-2.f90: New test.
1777
d1fe6124
JJ
17782018-02-14 Jakub Jelinek <jakub@redhat.com>
1779
1780 PR fortran/84313
1781 * testsuite/libgomp.fortran/threadprivate4.f90: Add
1782 -std=f2003 -fall-intrinsics into dg-additional-options.
1783
3d224921
MJ
17842018-02-08 Martin Jambor <mjambor@suse.cz>
1785
1786 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
1787 clonable.
1788
c7c30edd
MJ
17892018-02-08 Martin Jambor <mjambor@suse.cz>
1790
1791 * testsuite/libgomp.hsa.c/staticvar.c: New test.
1792
f320fdfd
RO
17932018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1794
1795 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
1796 [__cplusplus]: Declare extern "C".
1797
c31bc4ac
TV
17982018-02-07 Tom de Vries <tom@codesourcery.com>
1799
1800 PR libgomp/84217
1801 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
1802
99ae7ce5
CS
18032018-01-29 Christoph Spiel <cspiel@freenet.de>
1804 Jakub Jelinek <jakub@redhat.com>
1805
1806 PR libgomp/84096
1807 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
1808 instead of omp_lock_t.
1809
e77a1236
TV
18102018-01-25 Tom de Vries <tom@codesourcery.com>
1811
1812 PR target/84028
1813 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
1814
3dede32b
TV
18152018-01-24 Tom de Vries <tom@codesourcery.com>
1816
1817 PR target/83589
1818 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
1819
be606483
TV
18202018-01-24 Tom de Vries <tom@codesourcery.com>
1821
1822 PR target/81352
1823 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
1824
8c8e9a6b
TV
18252018-01-19 Tom de Vries <tom@codesourcery.com>
1826 Cesar Philippidis <cesar@codesourcery.com>
1827
1828 PR target/83920
1829 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
1830 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
1831
65e6aea3
JJ
18322018-01-03 Jakub Jelinek <jakub@redhat.com>
1833
85ec4feb
JJ
1834 Update copyright years.
1835
65e6aea3
JJ
1836 * libgomp.texi: Bump @copying's copyright year.
1837
60bf575c
TV
18382017-12-30 Tom de Vries <tom@codesourcery.com>
1839
1840 PR libgomp/83046
1841 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
1842 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
1843
7ec16b79
TV
18442017-12-27 Tom de Vries <tom@codesourcery.com>
1845
1846 PR c++/83046
1847 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
1848 (test_nonstatic): Fix return type to workaround PR83046.
1849
ac550b9a
JJ
18502017-12-05 Jakub Jelinek <jakub@redhat.com>
1851
1852 PR testsuite/83281
1853 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
1854 j suffix instead of i.
1855 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
1856 Likewise.
1857
ebdc83f0
CP
18582017-12-01 Cesar Philippidis <cesar@codesourcery.com>
1859
1860 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
1861 call to acc_wait (1).
1862
3b3e6283
JJ
18632017-11-24 Jakub Jelinek <jakub@redhat.com>
1864
1865 PR fortran/81304
1866 * testsuite/libgomp.fortran/pr81304.f90: New test.
1867
3b575376
JJ
18682017-11-23 Jakub Jelinek <jakub@redhat.com>
1869
1870 PR fortran/81841
1871 * libgomp.fortran/pr81841.f90: New test.
1872
b13547d8
JJ
18732017-11-22 Jakub Jelinek <jakub@redhat.com>
1874
1875 PR libgomp/83106
1876 * target.c (gomp_target_init): Compute lengths just once and
1877 use them in both malloc size and subsequent copying.
1878
efe33ced
IT
18792017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
1880
1881 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
1882 * acinclude.m4: Add cet.m4.
1883 * configure: Regenerate.
1884 * Makefile.in: Likewise.
1885 * testsuite/Makefile.in: Likewise.
1886
a7cf2612
TV
18872017-11-15 Tom de Vries <tom@codesourcery.com>
1888
1889 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
1890 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
1891 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
1892 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
1893 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
1894 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
1895
dde76623
TV
18962017-11-14 Tom de Vries <tom@codesourcery.com>
1897
1898 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
1899 non-nvidia devices.
1900
4dbeb716
JJ
19012017-11-07 Jakub Jelinek <jakub@redhat.com>
1902
1903 PR c++/82835
1904 * testsuite/libgomp.c++/pr82835.C: New test.
1905
454f8b2b
ML
19062017-11-06 Martin Liska <mliska@suse.cz>
1907
1908 * testsuite/libgomp.c++/loop-2.C: Return a value
1909 for functions with non-void return type, or change type to void,
1910 or add -Wno-return-type for test.
1911 * testsuite/libgomp.c++/loop-4.C: Likewise.
1912 * testsuite/libgomp.c++/parallel-1.C: Likewise.
1913 * testsuite/libgomp.c++/shared-1.C: Likewise.
1914 * testsuite/libgomp.c++/single-1.C: Likewise.
1915 * testsuite/libgomp.c++/single-2.C: Likewise.
1916
12e9c8ce
TV
19172017-10-31 Tom de Vries <tom@codesourcery.com>
1918
1919 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
1920 "do {} while (false)".
1921 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
1922 after HSA_DEBUG call.
1923
7324369a
JJ
19242017-10-28 Jakub Jelinek <jakub@redhat.com>
1925
1926 * target.c (struct gomp_coalesce_buf): New type.
1927 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
1928 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
1929 (gomp_copy_host2dev): Add CBUF argument, if copying into
1930 the cached ranges, memcpy into buffer instead of copying
1931 into device.
1932 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
1933 Add CBUF argument, pass it through to other calls.
1934 (gomp_map_vars): Aggregate copies from host to device if small enough
1935 and with small enough gaps in between into memcpy into a buffer and
1936 fewer host to device copies from the buffer.
1937 (gomp_update): Adjust gomp_copy_host2dev caller.
1938
933ab0e6
TS
19392017-10-17 Thomas Schwinge <thomas@codesourcery.com>
1940
1941 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
1942 run" directive.
1943 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
1944 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
1945 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
1946 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
1947
92d5d01a
TV
19482017-10-16 Tom de Vries <tom@codesourcery.com>
1949
1950 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
1951 openacc_nvidia_accel_selected.
1952 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
1953 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
1954 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
1955 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
1956 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
1957 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
1958 openacc_nvidia_accel_selected. Skip for shared memory device.
1959 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
1960 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
1961
191411e4
MJ
19622017-10-09 Martin Jambor <mjambor@suse.cz>
1963
1964 PR hsa/82416
1965 * testsuite/libgomp.hsa.c/pr82416.c: New test.
1966
e923330e
TV
19672017-10-07 Tom de Vries <tom@codesourcery.com>
1968
1969 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
1970 Remove acc_device_nvidia references.
1971 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
1972 Same.
1973
8fe3ed4c
TV
19742017-10-05 Tom de Vries <tom@codesourcery.com>
1975
1976 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
1977 vector_length(32) clause from acc parallel directive.
1978 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
1979
26596ee5
TV
19802017-10-04 Tom de Vries <tom@codesourcery.com>
1981
1982 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
1983 (main): Reduce sum of arr elements. Assert that hres is exactly
1984 representable in 32-bit floating point.
1985 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
1986 (main): Reduce sum of arr elements. Assert that hres and hmres are
1987 exactly representable in 32-bit floating point.
1988 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
1989
5c561fa9
TV
19902017-09-28 Tom de Vries <tom@codesourcery.com>
1991
1992 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
1993 setting.
1994 * testsuite/libgomp.c++/pr69393.C: Same.
1995 * testsuite/libgomp.c++/taskloop-1.C: Same.
1996 * testsuite/libgomp.c++/taskloop-3.C: Same.
1997 * testsuite/libgomp.c++/taskloop-4.C: Same.
1998 * testsuite/libgomp.c/for-4.c: Same.
1999 * testsuite/libgomp.c/pr66199-3.c: Same.
2000 * testsuite/libgomp.c/pr66199-4.c: Same.
2001 * testsuite/libgomp.c/pr66199-6.c: Same.
2002 * testsuite/libgomp.c/taskloop-1.c: Same.
2003 * testsuite/libgomp.c/taskloop-3.c: Same.
2004 * testsuite/libgomp.c/taskloop-4.c: Same.
2005 * testsuite/libgomp.fortran/aligned1.f03: Same.
2006 * testsuite/libgomp.fortran/condinc1.f: Same.
2007 * testsuite/libgomp.fortran/condinc3.f90: Same.
2008 * testsuite/libgomp.fortran/crayptr1.f90: Same.
2009 * testsuite/libgomp.fortran/crayptr2.f90: Same.
2010 * testsuite/libgomp.fortran/crayptr3.f90: Same.
2011 * testsuite/libgomp.fortran/omp_cond1.f: Same.
2012 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
2013 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
2014 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
2015 * testsuite/libgomp.fortran/recursion1.f90: Same.
2016 * testsuite/libgomp.fortran/target2.f90: Same.
2017 * testsuite/libgomp.fortran/target5.f90: Same.
2018 * testsuite/libgomp.fortran/task3.f90: Same.
2019
7d6206fe
TV
20202017-09-28 Tom de Vries <tom@codesourcery.com>
2021
2022 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
2023 vector_length(32) clause from acc parallel directive.
2024 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
2025
84c8627c
TV
20262017-09-27 Tom de Vries <tom@codesourcery.com>
2027
2028 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
2029 Remove acc_device_nvidia references.
2030
ebc6a85e
TV
20312017-09-16 Tom de Vries <tom@codesourcery.com>
2032
2033 PR c/81875
2034 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
2035
82419efb
TV
20362017-09-14 Tom de Vries <tom@codesourcery.com>
2037
2038 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
2039 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
2040 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
2041 * testsuite/libgomp.c/c.exp: Include test-cases from
2042 libgomp.c-c++-common.
2043 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
2044 files.
2045
8b586510
JJ
20462017-09-14 Jakub Jelinek <jakub@redhat.com>
2047
2048 PR c++/81314
2049 * testsuite/libgomp.c++/pr81314.C: New test.
2050
9651fbaf
GP
20512017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
2052
2053 * libgomp.texi (Top): www.openacc.org now uses https.
2054 (Enabling OpenACC): Ditto.
2055 (acc_get_num_devices): Ditto.
2056 (acc_set_device_type): Ditto.
2057 (acc_get_device_type): Ditto.
2058 (acc_set_device_num): Ditto.
2059 (acc_get_device_num): Ditto.
2060 (acc_async_test): Ditto.
2061 (acc_async_test_all): Ditto.
2062 (acc_wait): Ditto.
2063 (acc_wait_all): Ditto.
2064 (acc_wait_all_async): Ditto.
2065 (acc_wait_async): Ditto.
2066 (acc_init): Ditto.
2067 (acc_shutdown): Ditto.
2068 (acc_on_device): Ditto.
2069 (acc_malloc): Ditto.
2070 (acc_free): Ditto.
2071 (acc_copyin): Ditto.
2072 (acc_present_or_copyin): Ditto.
2073 (acc_create): Ditto.
2074 (acc_present_or_create): Ditto.
2075 (acc_copyout): Ditto.
2076 (acc_delete): Ditto.
2077 (acc_update_device): Ditto.
2078 (acc_update_self): Ditto.
2079 (acc_map_data): Ditto.
2080 (acc_unmap_data): Ditto.
2081 (acc_deviceptr): Ditto.
2082 (acc_hostptr): Ditto.
2083 (acc_is_present): Ditto.
2084 (acc_memcpy_to_device): Ditto.
2085 (acc_memcpy_from_device): Ditto.
2086 (acc_get_current_cuda_device): Ditto.
2087 (acc_get_current_cuda_context): Ditto.
2088 (acc_get_cuda_stream): Ditto.
2089 (acc_set_cuda_stream): Ditto.
2090 (ACC_DEVICE_TYPE): Ditto.
2091 (ACC_DEVICE_NUM): Ditto.
2092 (OpenACC Library Interoperability): Ditto.
2093
50aa16c3
JJ
20942017-08-09 Jakub Jelinek <jakub@redhat.com>
2095
2096 PR c/81687
2097 * testsuite/libgomp.c/pr81687-1.c: New test.
2098 * testsuite/libgomp.c/pr81687-2.c: New test.
2099
56b5041c
JJ
21002017-08-07 Jakub Jelinek <jakub@redhat.com>
2101
2102 PR c/69389
2103 * testsuite/libgomp.c/pr69389.c: New test.
2104 * testsuite/libgomp.c++/pr69389.C: New test.
2105
f4c222c0
TV
21062017-08-07 Tom de Vries <tom@codesourcery.com>
2107
2108 PR middle-end/78266
2109 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
2110 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
2111
a40ff0ae
JJ
21122017-07-27 Jakub Jelinek <jakub@redhat.com>
2113
2114 PR c/45784
2115 * testsuite/libgomp.c/pr45784.c: New test.
2116 * testsuite/libgomp.c++/pr45784.C: New test.
2117
3717fbe3
TV
21182017-07-19 Tom de Vries <tom@codesourcery.com>
2119
2120 * testsuite/libgomp.oacc-c/vec.c: New test.
2121
9607b014
TV
21222017-07-03 Tom de Vries <tom@codesourcery.com>
2123
2124 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
2125
dfb15f6b
TV
21262017-06-27 Tom de Vries <tom@codesourcery.com>
2127
2128 * plugin/plugin-nvptx.c (notify_var): New function.
2129 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
2130
22f1a037
TV
21312017-06-27 Tom de Vries <tom@codesourcery.com>
2132
2133 * env.c (parse_unsigned_long_1): Factor out of ...
2134 (parse_unsigned_long): ... here.
2135 (parse_int_1): Factor out of ...
2136 (parse_int): ... here.
2137 (parse_int_secure): New function.
2138 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
2139 * secure_getenv.h: Factor out of ...
2140 * plugin/plugin-hsa.c: ... here.
2141 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
2142
d54d1fc3
JJ
21432017-06-21 Jakub Jelinek <jakub@redhat.com>
2144
2145 PR c++/81130
2146 * testsuite/libgomp.c++/pr81130.C: New test.
2147
4f4b0ab8
RO
21482017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2149
2150 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
2151 default args.
2152 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
2153 dg-xfail-run-if default args.
2154
40ffd95f
BE
21552017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2156
2157 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
2158 * testsuite/libgomp.c/pr39591-3.c: Likewise.
2159
01275e1e
JJ
21602017-05-30 Jakub Jelinek <jakub@redhat.com>
2161
2162 PR libgomp/80822
2163 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
2164 (gomp_affinity_init_level): Use it. Always analyze the core and thread
2165 sibling lists, depending on level just pick up what CPUs to put
2166 together into a place vs. whether add multiple ordered places.
2167
78672bd8
TS
21682017-05-24 Thomas Schwinge <thomas@codesourcery.com>
2169
7ce64403
TS
2170 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
2171 * libgomp.map (OACC_2.0.1): Add these.
2172 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
2173 for "acc_wait", and "acc_wait_all", respectively.
2174 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
2175 for "acc_wait", and "acc_wait_all", respectively.
2176 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
2177 * libgomp.texi (acc_wait, acc_wait_all): Update.
2178 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
2179 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
2180 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2181
318686c2
TS
2182 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
2183 acc_present_or_copyin and acc_present_or_create procedures,
2184 respectively.
2185 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
2186 generally different variants of OpenACC Runtime Library functions.
2187 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2188
a6745534
TS
2189 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
2190 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2191
9b94fbc7
TS
2192 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
2193 of preprocessor definitions.
2194 * libgomp.h (strong_alias): Guard by "#ifdef
2195 HAVE_ATTRIBUTE_ALIAS".
2196 * oacc-mem.c: Provide "acc_pcreate" as alias for
2197 "acc_present_or_create", and "acc_pcopyin" as alias for
2198 "acc_present_or_copyin".
2199 * libgomp.map: New version "OACC_2.0.1".
2200 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
2201 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
2202 its content into...
2203 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
2204 Extend testing.
2205
78672bd8
TS
2206 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
2207 when disabling nvptx offloading.
2208
0c36d0d5
TS
22092017-05-23 Thomas Schwinge <thomas@codesourcery.com>
2210
fd71a9a2
TS
2211 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
2212 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2213 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2214
0c36d0d5
TS
2215 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
2216 * testsuite/lib/libgomp.exp
2217 (check_effective_target_openacc_nvidia_accel_configured): New
2218 proc.
2219 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
2220 (check_effective_target_c++): New procs.
2221 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
2222 (check_effective_target_c++): Likewise.
2223
c24783c4
JJ
22242017-05-22 Jakub Jelinek <jakub@redhat.com>
2225
655e5265
JJ
2226 PR middle-end/80809
2227 * testsuite/libgomp.c/pr80809-2.c: New test.
2228 * testsuite/libgomp.c/pr80809-3.c: New test.
2229
e9e2ef9f
JJ
2230 PR middle-end/80809
2231 * testsuite/libgomp.c/pr80809-1.c: New test.
2232
c24783c4
JJ
2233 PR middle-end/80853
2234 * testsuite/libgomp.c/pr80853.c: New test.
2235
0da2f96a
TS
22362017-05-19 Thomas Schwinge <thomas@codesourcery.com>
2237
7fd549d2
TS
2238 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
2239 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
2240 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2241 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2242 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2243
0da2f96a
TS
2244 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
2245 Debug output for failure.
2246
62ffe920
RO
22472017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2248
2249 * testsuite/lib/libgomp.exp: Load scanlang.exp.
2250
f49215b1
JJ
22512017-04-27 Jakub Jelinek <jakub@redhat.com>
2252
2253 PR bootstrap/80531
2254 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
2255 bootstrap compare failures.
2256
2260d19d
AM
22572017-04-20 Alexander Monakov <amonakov@ispras.ru>
2258
2259 * testsuite/libgomp.c/target-36.c: New testcase.
2260
19929ba9
JJ
22612017-04-13 Jakub Jelinek <jakub@redhat.com>
2262
2263 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
2264 instead of char.
2265
fbc698e0
JJ
22662017-04-11 Jakub Jelinek <jakub@redhat.com>
2267
2268 PR libgomp/80394
2269 * testsuite/libgomp.c/pr80394.c: New test.
2270
c4060df4
JJ
22712017-04-04 Jakub Jelinek <jakub@redhat.com>
2272
2273 PR libgomp/79876
2274 * config/posix/thread-stacksize.h: New file.
2275 * config/darwin/thread-stacksize.h: New file.
2276 * config/nvptx/thread-stacksize.h: New file.
2277 * env.c: Include thread-stacksize.h.
2278 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
2279 instead of 0. Call pthread_attr_setstacksize even if
2280 GOMP_DEFAULT_STACKSIZE is non-zero.
2281
e02d868a
JJ
22822017-03-30 Jakub Jelinek <jakub@redhat.com>
2283
2284 * env.c (initialize_env): Initialize stacksize to 0.
2285
7ba8651e
CP
22862017-03-22 Cesar Philippidis <cesar@codesourcery.com>
2287
2288 PR c++/80029
2289 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
2290
eebc5e2d
JJ
22912017-03-08 Jakub Jelinek <jakub@redhat.com>
2292
2293 PR c/79940
2294 * testsuite/libgomp.c/pr79940.c: New test.
2295
1eb08f52
RO
22962017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2297
2298 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
2299 targets.
2300 Add __float128 options.
2301
b0f78ff3
JDA
23022017-02-11 John David Anglin <danglin@gcc.gnu.org>
2303
2304 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
2305 hppa*-*-* dg-skip-if directive.
2306
1bbe0d8f
JJ
23072017-02-09 Jakub Jelinek <jakub@redhat.com>
2308
2309 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
2310 dg-skip-if directive into a comment.
2311
02889d23
CLT
23122017-02-09 Nathan Sidwell <nathan@codesourcery.com>
2313 Chung-Lin Tang <cltang@codesourcery.com>
2314
2315 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
2316 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
2317 add additional case.
2318 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
2319 "openacc_nvidia_accel_selected".
2320 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
2321 Add num_workers(8) clause.
2322
5896a41d
JDA
23232017-02-08 John David Anglin <danglin@gcc.gnu.org>
2324
2325 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
2326 hppa*-*-*.
2327 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
2328 include complex.h on hppa*-*-hpux*.
2329 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
2330
345a8c17
TS
23312017-02-02 Thomas Schwinge <thomas@codesourcery.com>
2332
e70ab10d
TS
2333 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
2334
345a8c17
TS
2335 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
2336 GOMP_OFFLOAD_openacc_exec. Adjust all users.
2337 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
2338 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
2339 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
2340 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
2341 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
2342 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
2343 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
2344 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
2345
dced339c
TS
23462017-01-31 Thomas Schwinge <thomas@codesourcery.com>
2347
2348 * libgomp-plugin.h: #include <stdbool.h>.
2349 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
2350 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
2351 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
2352 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
2353 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
2354 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
2355 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
2356 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
2357 (GOMP_OFFLOAD_openacc_register_async_cleanup)
2358 (GOMP_OFFLOAD_openacc_async_test)
2359 (GOMP_OFFLOAD_openacc_async_test_all)
2360 (GOMP_OFFLOAD_openacc_async_wait)
2361 (GOMP_OFFLOAD_openacc_async_wait_async)
2362 (GOMP_OFFLOAD_openacc_async_wait_all)
2363 (GOMP_OFFLOAD_openacc_async_wait_all_async)
2364 (GOMP_OFFLOAD_openacc_async_set_async)
2365 (GOMP_OFFLOAD_openacc_create_thread_data)
2366 (GOMP_OFFLOAD_openacc_destroy_thread_data)
2367 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
2368 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
2369 (GOMP_OFFLOAD_openacc_get_cuda_stream)
2370 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
2371 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
2372 these.
2373 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
2374 (GOMP_OFFLOAD_unload_image): Fix argument types.
2375
23749904
JJ
23762017-01-26 Jakub Jelinek <jakub@redhat.com>
2377
c1cadde1
JJ
2378 * testsuite/lib/libgomp.exp
2379 (check_effective_target_hsa_offloading_selected_nocache): Fix up
2380 check_compile invocation. Fix up removal of executable. Drop
2381 bogus "2>&1" argument.
2382
23749904
JJ
2383 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
2384 directive.
2385
23862017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
2387 Martin Jambor <mjambor@suse.cz>
2388
2389 * plugin/hsa.h: Moved to top level include.
2390 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
2391
73aa401e
JJ
23922017-01-21 Jakub Jelinek <jakub@redhat.com>
2393
2394 PR other/79046
2395 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
2396 of cat to get version from BASE-VER file.
2397 * testsuite/Makefile.in: Regenerated.
2398
b32e85fa
JJ
23992017-01-19 Jakub Jelinek <jakub@redhat.com>
2400
2401 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
2402 for _WIN64.
2403
3c36aa6b
JJ
24042017-01-17 Jakub Jelinek <jakub@redhat.com>
2405
d190d5c0
JJ
2406 * plugin/hsa.h: Add GCC runtime library exception.
2407 * plugin/hsa_ext_finalize.h: Likewise.
2408
2393d337
JJ
2409 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
2410 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
2411 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
2412 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
2413 plugin/include/cuda as include dir and -ldl instead of -lcuda as
2414 library to link ptx plugin against.
2415 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
2416 (CUDA_CALLS): Define.
2417 (cuda_lib, cuda_lib_inited): New variables.
2418 (init_cuda_lib): New function.
2419 (CUDA_CALL_PREFIX): Define.
2420 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
2421 (CUDA_CALL): Use FN instead of (FN).
2422 (CUDA_CALL_NOCHECK): Define.
2423 (cuda_error, fini_streams_for_device, select_stream_for_async,
2424 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
2425 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
2426 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
2427 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
2428 CUDA_CALL_NOCHECK.
2429 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
2430 CUDA_CALL_NOCHECK.
2431 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
2432 Use CUDA_CALL_NOCHECK.
2433 * plugin/cuda/cuda.h: New file.
2434 * config.h.in: Regenerated.
2435 * configure: Regenerated.
2436
3c36aa6b
JJ
2437 PR other/79046
2438 * configure.ac: Add GCC_BASE_VER.
2439 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
2440 get version from BASE-VER file.
2441 * testsuite/Makefile.in: Regenerated.
2442 * configure: Regenerated.
2443 * Makefile.in: Regenerated.
2444
c508bc2d
FXC
24452017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2446
2447 PR libgomp/60670
2448 * Makefile.am: Make fincludedir multilib-aware.
2449 * Makefile.in: Regenerate.
2450
c1a9c369
JJ
24512017-01-01 Jakub Jelinek <jakub@redhat.com>
2452
cbe34bb5
JJ
2453 Update copyright years.
2454
c1a9c369
JJ
2455 * libgomp.texi: Bump @copying's copyright year.
2456
e7a7f4be
SH
24572016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
2458
2459 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
2460 pthread_spinlock_t instead of gomp_mutex_t lock.
2461 (gomp_get_thread_pool): Likewise.
2462 (gomp_release_thread_pool): Likewise.
2463 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
2464 Likewise.
2465
d313d52c
SH
24662016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
2467
2468 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
2469 thread pool in case nthreads == 1.
2470
630e3c3a
AM
24712016-11-30 Alexander Monakov <amonakov@ispras.ru>
2472
2473 * config/nvptx/env.c: Delete.
2474 * icv.c: Move definitions of ICV variables back ...
2475 * env.c: ...here. Do not compile environment-related functionality if
2476 LIBGOMP_OFFLOADED_ONLY is set.
2477
9e38af5c
AM
24782016-11-30 Alexander Monakov <amonakov@ispras.ru>
2479
2480 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
2481 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
2482 * configure: Regenerate.
2483 * config.h.in: Likewise.
2484
f96b7f1f
AM
24852016-11-30 Alexander Monakov <amonakov@ispras.ru>
2486
2487 * Makefile.in: Regenerate with automake-1.11.6.
2488 * aclocal.m4: Likewise.
2489 * configure: Likewise.
2490 * testsuite/Makefile.in: Likewise.
2491
6a6951b1
AM
24922016-11-28 Alexander Monakov <amonakov@ispras.ru>
2493
2494 * config/nvptx/critical.c: Delete to use generic implementation.
2495
c7ac071f
JH
24962016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
2497
2498 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
2499 ../../affinity.c as fallback.
2500 * config/nvptx/affinity.c: Delete to use fallback implementation.
2501
6103184e 25022016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 2503 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
2504 Dmitry Melnik <dm@ispras.ru>
2505
2506 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
2507 * Makefile.in. Regenerate.
2508 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
2509 (LIBGOMP_USE_PTHREADS): ...here; new define.
2510 * configure: Regenerate.
2511 * config.h.in: Likewise.
2512 * config/posix/affinity.c: Move to...
2513 * affinity.c: ...here (new file). Guard use of Pthreads-specific
2514 interface by LIBGOMP_USE_PTHREADS.
2515 * critical.c: Split out GOMP_atomic_{start,end} into...
2516 * atomic.c: ...here (new file).
2517 * env.c: Split out ICV definitions into...
2518 * icv.c: ...here (new file) and...
2519 * icv-device.c: ...here. New file.
2520 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
2521 (gomp_destroy_lock_30): Ditto.
2522 (gomp_set_lock_30): Ditto.
2523 (gomp_unset_lock_30): Ditto.
2524 (gomp_test_lock_30): Ditto.
2525 (gomp_init_nest_lock_30): Ditto.
2526 (gomp_destroy_nest_lock_30): Ditto.
2527 (gomp_set_nest_lock_30): Ditto.
2528 (gomp_unset_nest_lock_30): Ditto.
2529 (gomp_test_nest_lock_30): Ditto.
2530 * lock.c: New.
2531 * config/nvptx/lock.c: New.
2532 * config/nvptx/bar.c: New.
2533 * config/nvptx/bar.h: New.
2534 * config/nvptx/doacross.h: New.
2535 * config/nvptx/error.c: New.
2536 * config/nvptx/icv-device.c: New.
2537 * config/nvptx/mutex.h: New.
2538 * config/nvptx/pool.h: New.
2539 * config/nvptx/proc.c: New.
2540 * config/nvptx/ptrlock.h: New.
2541 * config/nvptx/sem.h: New.
2542 * config/nvptx/simple-bar.h: New.
2543 * config/nvptx/target.c: New.
2544 * config/nvptx/task.c: New.
2545 * config/nvptx/team.c: New.
2546 * config/nvptx/time.c: New.
2547 * config/posix/simple-bar.h: New.
2548 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
2549 (gomp_num_teams_var): Declare.
2550 (struct gomp_thread_pool): Change threads_dock member to
2551 gomp_simple_barrier_t.
2552 [__nvptx__] (gomp_thread): New implementation.
2553 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
2554 (gomp_thread_destructor): Ditto.
2555 (gomp_init_thread_affinity): Ditto.
2556 * team.c: Guard uses of Pthreads-specific interfaces by
2557 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
2558 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
2559 * config/nvptx/alloc.c: Delete.
2560 * config/nvptx/barrier.c: Ditto.
2561 * config/nvptx/fortran.c: Ditto.
2562 * config/nvptx/iter.c: Ditto.
2563 * config/nvptx/iter_ull.c: Ditto.
2564 * config/nvptx/loop.c: Ditto.
2565 * config/nvptx/loop_ull.c: Ditto.
2566 * config/nvptx/ordered.c: Ditto.
2567 * config/nvptx/parallel.c: Ditto.
2568 * config/nvptx/priority_queue.c: Ditto.
2569 * config/nvptx/sections.c: Ditto.
2570 * config/nvptx/single.c: Ditto.
2571 * config/nvptx/splay-tree.c: Ditto.
2572 * config/nvptx/work.c: Ditto.
2573 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
2574 -foffload=-lgfortran in addition to -lgfortran.
2575 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
2576 * plugin/plugin-nvptx.c: Include <limits.h>.
2577 (struct targ_fn_descriptor): Add new fields.
2578 (struct ptx_device): Ditto. Set them...
2579 (nvptx_open_device): ...here.
2580 (nvptx_adjust_launch_bounds): New.
2581 (nvptx_host2dev): Allow NULL 'nvthd'.
2582 (nvptx_dev2host): Ditto.
2583 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
2584 (link_ptx): Adjust log sizes.
2585 (nvptx_host2dev): Allow NULL 'nvthd'.
2586 (nvptx_dev2host): Ditto.
2587 (nvptx_set_clocktick): New. Use it...
2588 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
2589 fields.
2590 (GOMP_OFFLOAD_dev2dev): New.
2591 (nvptx_adjust_launch_bounds): New.
2592 (nvptx_stacks_size): New.
2593 (nvptx_stacks_alloc): New.
2594 (nvptx_stacks_free): New.
2595 (GOMP_OFFLOAD_run): New.
2596 (GOMP_OFFLOAD_async_run): New (stub).
2597
56b1c60e
MJ
25982016-11-23 Martin Jambor <mjambor@suse.cz>
2599
2600 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
2601 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
2602 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
2603
b8d89b03 26042016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 2605 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
2606
2607 * plugin/hsa.h: New file.
2608 * plugin/hsa_ext_finalize.h: New file.
2609 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
2610 header file unistd.h, and functions secure_getenv, __secure_getenv,
2611 getuid, geteuid, getgid and getegid.
2612 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
2613 -D_GNU_SOURCE.
2614 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
2615 Handle various cases of secure_getenv presence, add an implementation
2616 when we can test effective UID and GID.
2617 (struct hsa_runtime_fn_info): New structure.
2618 (hsa_runtime_fn_info hsa_fns): New variable.
2619 (hsa_runtime_lib): Likewise.
2620 (support_cpu_devices): Likewise.
2621 (init_enviroment_variables): Load newly introduced ENV
2622 variables.
2623 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
2624 (hsa_fatal): Likewise.
2625 (DLSYM_FN): New macro.
2626 (init_hsa_runtime_functions): New function.
2627 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
2628 structure. Depending on environment, also allow CPU devices.
2629 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
2630 (get_kernarg_memory_region): Likewise.
2631 (GOMP_OFFLOAD_init_device): Likewise.
2632 (destroy_hsa_program): Likewise.
2633 (init_basic_kernel_info): New function.
2634 (GOMP_OFFLOAD_load_image): Use it.
2635 (create_and_finalize_hsa_program): Call hsa run-time functions via
2636 hsa_fns structure.
2637 (create_single_kernel_dispatch): Likewise.
2638 (release_kernel_dispatch): Likewise.
2639 (init_single_kernel): Likewise.
2640 (parse_target_attributes): Allow up multiple HSA grid dimensions.
2641 (get_group_size): New function.
2642 (run_kernel): Likewise.
2643 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
2644 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
2645 structure.
2646 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
2647 * testsuite/libgomp-test-support.exp.in: Likewise.
2648 * Makefile.in: Regenerated.
2649 * aclocal.m4: Likewise.
2650 * config.h.in: Likewise.
2651 * configure: Likewise.
2652 * testsuite/Makefile.in: Likewise.
2653
18d2ada8 26542016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 2655 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
2656
2657 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
2658 mapping clauses to target constructs.
2659 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
2660
84c1b9d3
MK
26612016-11-15 Matthias Klose <doko@ubuntu.com>
2662
2663 * configure: Regenerate.
2664
b4c3a85b
JJ
26652016-11-10 Jakub Jelinek <jakub@redhat.com>
2666
8ebd1b31
JJ
2667 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
2668 * omp_lib.h.in (openmp_version): Likewise.
2669 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
2670 of 201307.
2671 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2672
b4c3a85b
JJ
2673 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
2674 (fib_wrapper): Add map(from: x) clause.
2675 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
2676 (e_53_2): Likewise.
2677 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
2678 (accum): Add map(tmp) clause.
2679 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
2680 (accum): Add map(tofrom: tmp) clause.
2681 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
2682 (gramSchmidt): Likewise.
2683 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
2684 map(tofrom: sum) clause.
2685 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
2686 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
2687 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
2688 only allowed on the loop iterator.
2689 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
2690 * testsuite/libgomp.fortran/taskloop2.f90: New test.
2691 * testsuite/libgomp.fortran/taskloop4.f90: New test.
2692 * testsuite/libgomp.fortran/doacross1.f90: New test.
2693 * testsuite/libgomp.fortran/doacross3.f90: New test.
2694 * testsuite/libgomp.fortran/taskloop1.f90: New test.
2695 * testsuite/libgomp.fortran/taskloop3.f90: New test.
2696 * testsuite/libgomp.fortran/doacross2.f90: New test.
2697 * testsuite/libgomp.c/doacross-1.c (main): Add missing
2698 #pragma omp atomic read.
2699 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
2700 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
2701
6668eb45
CP
27022016-11-02 Cesar Philippidis <cesar@codesourcery.com>
2703 Nathan Sidwell <nathan@acm.org>
2704
2705 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
2706 to determine default geometry.
2707 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
2708 dimension.
2709
f10e37a1
JJ
27102016-11-01 Jakub Jelinek <jakub@redhat.com>
2711
2712 * hashtab.h: Use standard GPLv3 with runtime exception
2713 boilerplate.
2714
015c7760
AH
27152016-10-27 Aldy Hernandez <aldyh@redhat.com>
2716
2717 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
2718 size when allocating new thread.
2719
20a1e5b8
MP
27202016-09-14 Marek Polacek <polacek@redhat.com>
2721
2722 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
2723
1cad9284
JJ
27242016-08-19 Jakub Jelinek <jakub@redhat.com>
2725
2726 PR fortran/71014
2727 * testsuite/libgomp.fortran/pr71014.f90: New test.
2728
2c71d454
CLT
27292016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
2730
2731 PR middle-end/70895
2732 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
2733 firstprivate clauses.
2734 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
2735 copy clauses.
2736 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
2737 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
2738 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
2739 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
2740 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2741 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
2742 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2743 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
2744 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2745 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2746 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2747 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
2748
7c713714
CLT
27492016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
2750
2751 PR fortran/70598
2752 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
2753
5c934396
JJ
27542016-08-08 Jakub Jelinek <jakub@redhat.com>
2755
2756 PR c++/58706
2757 * testsuite/libgomp.c++/pr58706.C: New test.
2758
9ef64248
TS
27592016-08-04 Thomas Schwinge <thomas@codesourcery.com>
2760
bbc79c0e
TS
2761 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
2762 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
2763 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
2764 Likewise.
2765 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
2766 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
2767 Likewise.
2768 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
2769
9ef64248
TS
2770 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
2771 test, and don't hardcode -O0.
2772
c1311c86
NS
27732016-08-03 Nathan Sidwell <nathan@codesourcery.com>
2774
2775 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
2776
b1c9c068
CP
27772016-07-15 Cesar Philippidis <cesar@codesourcery.com>
2778
2779 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
2780 test.
2781
b4410f63
L
27822016-07-03 H.J. Lu <hongjiu.lu@intel.com>
2783
2784 PR middle-end/71734
2785 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
2786 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
2787
a8dbab92
JJ
27882016-07-01 Jakub Jelinek <jakub@redhat.com>
2789
2790 PR fortran/71717
2791 * testsuite/libgomp.fortran/associate3.f90: New test.
2792
9b6a8d0f
JJ
27932016-06-17 Jakub Jelinek <jakub@redhat.com>
2794
2795 * testsuite/libgomp.c++/target-21.C: New test.
2796
283635f9
JJ
27972016-06-16 Jakub Jelinek <jakub@redhat.com>
2798
2799 * testsuite/libgomp.c++/target-20.C: New test.
2800
27d6ba88
TS
28012016-06-10 Thomas Schwinge <thomas@codesourcery.com>
2802 Cesar Philippidis <cesar@codesourcery.com>
2803
2804 PR middle-end/71373
2805 * libgomp.oacc-c/nested-function-1.c: New file.
2806 * libgomp.oacc-c/nested-function-2.c: Likewise.
2807 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
2808 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
2809 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
2810
4b1ffdb1
TS
28112016-06-10 Thomas Schwinge <thomas@codesourcery.com>
2812
2813 PR c/71381
2814 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
2815 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
2816 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
2817
d821b794
CLT
28182016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
2819
2820 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
2821 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
2822
3616a8c5
CP
28232016-06-01 Cesar Philippidis <cesar@codesourcery.com>
2824
2825 PR c/70688
5eed9a88 2826 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 2827
7211a097
JJ
28282016-05-26 Jakub Jelinek <jakub@redhat.com>
2829
2830 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
2831 instead of invalid schedule(static, 0).
2832 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
2833
b4557008
CLT
28342016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
2835
2836 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
2837 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
2838 parameter, use to set async stream around call to gomp_unmap_vars,
2839 call gomp_unmap_vars() with 'do_copyfrom' set to true.
2840 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
2841 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
2842 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
2843 (event_add): Add int parameter, initialize 'val' field when
2844 adding new ptx_event struct.
2845 (nvptx_evec): Adjust event_add() call arguments.
2846 (nvptx_host2dev): Likewise.
2847 (nvptx_dev2host): Likewise.
2848 (nvptx_wait_async): Likewise.
2849 (nvptx_wait_all_async): Likewise.
2850 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
2851 pass to event_add() call.
2852 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
2853 parameter.
2854 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
2855 call openacc.register_async_cleanup_func() hook.
2856 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
2857 * target.c (gomp_copy_from_async): Delete function.
2858 (gomp_map_vars): Remove async_refcount.
2859 (gomp_unmap_vars): Likewise.
2860 (gomp_load_image_to_device): Likewise.
2861 (omp_target_associate_ptr): Likewise.
2862 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
2863 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
2864 (gomp_copy_from_async): Remove.
2865
6ce13072
CLT
28662016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
2867
2868 * target.c (gomp_device_copy): New function.
2869 (gomp_copy_host2dev): Likewise.
2870 (gomp_copy_dev2host): Likewise.
2871 (gomp_free_device_memory): Likewise.
2872 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
2873 (gomp_map_pointer): Likewise.
2874 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
2875 NULL value from alloc_func plugin hook.
2876 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
2877 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
2878 (gomp_unmap_vars): Likewise.
2879 (gomp_update): Adjust to call gomp_copy_dev2host and
2880 gomp_copy_host2dev functions.
2881 (gomp_unload_image_from_device): Handle false value from
2882 unload_image_func plugin hook.
2883 (gomp_init_device): Handle false value from init_device_func
2884 plugin hook.
2885 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
2886 (omp_target_free): Adjust to call gomp_free_device_memory.
2887 (omp_target_memcpy): Handle return values from host2dev_func,
2888 dev2host_func, and dev2dev_func plugin hooks.
2889 (omp_target_memcpy_rect_worker): Likewise.
2890 (gomp_target_fini): Handle false value from fini_device_func
2891 plugin hook.
2892 * libgomp.h (struct gomp_device_descr): Adjust return type of
2893 init_device_func, fini_device_func, unload_image_func, free_func,
2894 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
2895 * oacc-init.c (acc_shutdown_1): Handle false value from
2896 fini_device_func plugin hook.
2897 * oacc-host.c (host_init_device): Change return type to bool.
2898 (host_fini_device): Likewise.
2899 (host_unload_image): Likewise.
2900 (host_free): Likewise.
2901 (host_dev2host): Likewise.
2902 (host_host2dev): Likewise.
2903 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
2904 (acc_memcpy_to_device): Likewise.
2905 (acc_memcpy_from_device): Likewise.
2906 (delete_copyout): Add libfnname parameter, handle free_func
2907 hook fatal error case.
2908 (acc_delete): Adjust delete_copyout call.
2909 (acc_copyout): Likewise.
2910 (update_dev_host): Move gomp_mutex_unlock to after
2911 host2dev/dev2host hook calls.
2912
2913 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
2914 to 'hsa_error_msg', for clarity.
2915 (hsa_fatal): Likewise.
2916 (hsa_error): New function.
2917 (init_hsa_context): Change return type to bool, adjust to return
2918 false on error.
2919 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
2920 return value.
2921 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
2922 return false on error.
2923 (get_agent_info): Adjust to return NULL on error.
2924 (destroy_hsa_program): Change return type to bool, adjust to
2925 return false on error.
2926 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
2927 (destroy_module): Change return type to bool, adjust to
2928 return false on error.
2929 (GOMP_OFFLOAD_unload_image): Likewise.
2930 (GOMP_OFFLOAD_fini_device): Likewise.
2931 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
2932 (GOMP_OFFLOAD_free): Change to return false when called.
2933 (GOMP_OFFLOAD_dev2host): Likewise.
2934 (GOMP_OFFLOAD_host2dev): Likewise.
2935 (GOMP_OFFLOAD_dev2dev): Likewise.
2936
2937 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
2938 (CUDA_CALL): Likewise.
2939 (CUDA_CALL_ASSERT): Likewise.
2940 (map_init): Change return type to bool, use CUDA_CALL* macros.
2941 (map_fini): Likewise.
2942 (init_streams_for_device): Change return type to bool, adjust
2943 call to map_init.
2944 (fini_streams_for_device): Change return type to bool, adjust
2945 call to map_fini.
2946 (select_stream_for_async): Release stream_lock before calls to
2947 GOMP_PLUGIN_fatal, adjust call to map_init.
2948 (nvptx_init): Use CUDA_CALL* macros.
2949 (nvptx_attach_host_thread_to_device): Change return type to bool,
2950 use CUDA_CALL* macros.
2951 (nvptx_open_device): Use CUDA_CALL* macros.
2952 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
2953 macros.
2954 (nvptx_get_num_devices): Use CUDA_CALL* macros.
2955 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
2956 (nvptx_exec): Use CUDA_CALL* macros.
2957 (nvptx_alloc): Use CUDA_CALL* macros.
2958 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
2959 (nvptx_host2dev): Likewise.
2960 (nvptx_dev2host): Likewise.
2961 (nvptx_wait): Use CUDA_CALL* macros.
2962 (nvptx_wait_async): Likewise.
2963 (nvptx_wait_all): Likewise.
2964 (nvptx_wait_all_async): Likewise.
2965 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
2966 use CUDA_CALL* macros, adjust call to map_fini.
2967 (GOMP_OFFLOAD_init_device): Change return type to bool,
2968 adjust code accordingly.
2969 (GOMP_OFFLOAD_fini_device): Likewise.
2970 (GOMP_OFFLOAD_load_image): Adjust calls to
2971 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
2972 use CUDA_CALL* macros.
2973 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
2974 return code.
2975 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
2976 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
2977 handle error return.
2978 (GOMP_OFFLOAD_dev2host): Likewise.
2979 (GOMP_OFFLOAD_host2dev): Likewise.
2980 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
2981 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
2982
e46c7770
CP
29832016-05-24 Cesar Philippidis <cesar@codesourcery.com>
2984
2985 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
2986 (acc_free): Likewise.
2987 (acc_memcpy_to_device): Likewise.
2988 (acc_memcpy_from_device): Likewise.
2989 (acc_deviceptr): Likewise.
2990 (acc_hostptr): Likewise.
2991 (acc_is_present): Likewise.
2992 (acc_map_data): Likewise.
2993 (acc_unmap_data): Likewise.
2994 (present_create_copy): Likewise.
2995 (delete_copyout): Likewise.
2996 (update_dev_host): Likewise.
2997 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
2998 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
2999 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
3000 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
3001 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
3002 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
3003 it only runs on nvptx targets.
3004 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
3005 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
3006 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
3007 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
3008 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
3009 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
3010 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
3011 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
3012 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
3013 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
3014 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
3015 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
3016 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
3017 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
3018 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
3019 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
3020 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
3021 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
3022 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
3023 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
3024 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
3025 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
3026 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
3027
a5057543
MJ
30282016-05-23 Martin Jambor <mjambor@suse.cz>
3029
3030 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
3031
e37288a6
CLT
30322016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
3033
3034 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
3035 to gomp_init_targets_once.
3036 (acc_set_device_type): Remove !cached_base_dev condition on call to
3037 gomp_init_targets_once, move call to before acc_device_lock acquire,
3038 to avoid deadlock.
3039 (acc_get_device_num): Remove !cached_base_dev condition on call to
3040 gomp_init_targets_once.
3041 (acc_set_device_num): Likewise.
3042
51d9ed48
MJ
30432016-05-16 Martin Jambor <mjambor@suse.cz>
3044
92a285c1 3045 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 3046
5b37e866
NS
30472016-05-02 Nathan Sidwell <nathan@codesourcery.com>
3048
3049 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
3050 expected partitioning.
3051
e7ff0319
CP
30522016-04-29 Cesar Philippidis <cesar@codesourcery.com>
3053
3054 PR middle-end/70626
3055 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
3056 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
3057 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
3058
c2bd3b69
AM
30592016-04-21 Alexander Monakov <amonakov@ispras.ru>
3060
3061 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
3062 non-fatal.
3063
84311083
JJ
30642016-04-19 Jakub Jelinek <jakub@redhat.com>
3065
3066 PR middle-end/70680
3067 * testsuite/libgomp.c/pr70680-1.c: New test.
3068 * testsuite/libgomp.c/pr70680-2.c: New test.
3069
aadc043f
CP
30702016-04-14 Cesar Philippidis <cesar@codesourcery.com>
3071
3072 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
3073 pass parameter variables to subroutines.
3074
e387fc64
CP
30752016-04-14 Cesar Philippidis <cesar@codesourcery.com>
3076
3077 PR middle-end/70643
3078 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
3079
10c3c424
CP
30802016-04-13 Cesar Philippidis <cesar@codesourcery.com>
3081
3082 PR testsuite/68242
3083 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
3084 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3085
27f9add3
TS
30862016-04-12 Thomas Schwinge <thomas@codesourcery.com>
3087
58d32aeb
TS
3088 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
3089 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
3090 GOACC_declare prototype.
3091
d97633ef
TS
3092 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
3093 Merge this file, and...
3094 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
3095 ... this file, and...
3096 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
3097 ... this file, and...
3098 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
3099 ... this file, and...
3100 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
3101 ... this file, and...
3102 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
3103 ... this file, and...
3104 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
3105 ... this file, and...
3106 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
3107 ... this file, and...
3108 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
3109 ... this file, and...
3110 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
3111 ... this file, and...
3112 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
3113 ... this file, and...
3114 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
3115 ... this file, and...
3116 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
3117 ... this file into...
3118 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
3119 file.
3120
27f9add3
TS
3121 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
3122 Make failure observable.
3123
21f3a236
JJ
31242016-04-12 Jakub Jelinek <jakub@redhat.com>
3125
3126 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
3127 field.
3128 * target.c (gomp_target_fallback_firstprivate,
3129 gomp_target_unshare_firstprivate): Removed.
3130 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
3131 before waiting for dependencies.
3132 (gomp_target_task_fn): Don't copy firstprivate vars here.
3133 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
3134 firstprivate_copies here.
3135 (gomp_create_target_task): Don't initialize firstprivate_copies field.
3136 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
3137 explicit/implicit firstprivate.
3138
c42cfb5c
CP
31392016-04-08 Cesar Philippidis <cesar@codesourcery.com>
3140
3141 PR lto/70289
3142 PR ipa/70348
3143 PR tree-optimization/70373
3144 PR middle-end/70533
3145 PR middle-end/70534
3146 PR middle-end/70535
3147 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
3148 test.
3149 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
3150 test.
3151 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
3152 test.
3153 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
3154 test.
3155 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
3156 test.
3157 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
3158 test.
3159 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
3160 test.
3161 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
3162 test.
3163 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
3164 test.
3165 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
3166 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
3167 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
3168 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
3169 test.
3170 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
3171 test.
3172 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
3173 test.
3174 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
3175 test.
3176 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
3177 coverage.
3178 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3179 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3180 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
3181 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
3182 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
3183 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
3184 coverage.
3185 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3186 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
3187 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
3188 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3189 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
3190 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
3191 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
3192 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
3193 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
3194 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3195 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3196 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3197 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3198 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3199 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
3200
2620c80d
TS
32012016-03-30 Thomas Schwinge <thomas@codesourcery.com>
3202 James Norris <jnorris@codesourcery.com>
3203 Nathan Sidwell <nathan@codesourcery.com>
3204 Julian Brown <julian@codesourcery.com>
3205 Cesar Philippidis <cesar@codesourcery.com>
3206 Chung-Lin Tang <cltang@codesourcery.com>
3207 Tom de Vries <tom@codesourcery.com>
3208
3209 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
3210 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
3211 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
3212 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
3213 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3214 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3215 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3216 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3217 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
3218 XFAIL.
3219 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
3220 Incorporate...
3221 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
3222 file.
3223 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
3224 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
3225 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
3226 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
3227 Likewise.
3228 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
3229 Likewise.
3230 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3231 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
3232 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
3233 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
3234 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3235 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3236 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3237 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3238 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3239 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
3240 Likewise.
3241 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
3242 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3243 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
3244 file...
3245 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
3246 file into...
3247 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
3248 file. Update.
3249 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
3250 file.
3251 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
3252 Likewise.
3253 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
3254 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
3255 ... this new file. Update.
3256 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
3257 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
3258 ... this new file. Update.
3259 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
3260 file. Incorporate...
3261 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
3262 file, and...
3263 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
3264 file, and...
3265 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
3266 file.
3267 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
3268
ce83104b
TS
32692016-03-29 Thomas Schwinge <thomas@codesourcery.com>
3270
3271 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
3272 set-torture-options.
3273
6e0df3b7
TS
32742016-03-24 Thomas Schwinge <thomas@codesourcery.com>
3275
3276 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
3277 gcc-dg-runtest.
3278 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3279 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
3280 -fno-builtin-acc_on_device instead of -O0.
3281 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
3282 -O0.
3283 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
3284 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
3285 Likewise.
3286 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
3287 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
3288 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
3289 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3290 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3291 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3292 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3293 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3294 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3295 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3296 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3297 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3298 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
3299 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
3300 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3301 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3302 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
3303 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
3304 Don't specify -O2.
3305 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
3306 Likewise.
3307 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
3308 Likewise.
3309
f9c8babb
ML
33102016-03-24 Martin Liska <mliska@suse.cz>
3311
3312 * plugin/plugin-hsa.c (packet_store_release): New function
3313 that is taken from the HSA runtime manual.
3314 (GOMP_OFFLOAD_run): Use the function.
3315
04833609
JJ
33162016-03-23 Jakub Jelinek <jakub@redhat.com>
3317
3318 PR c++/70376
3319 * testsuite/libgomp.c++/pr70376.C: New test.
3320
d79ee524
TV
33212016-03-23 Tom de Vries <tom@codesourcery.com>
3322
3323 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
3324 initialization of lresult and lvresult.
3325 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
3326
b6d1f2b5
JN
33272016-03-23 James Norris <jnorris@codesourcery.com>
3328 Daichi Fukuoka <dc-fukuoka@sgi.com>
3329
3330 PR libgomp/69414
3331 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
3332 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
3333 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
3334 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
3335
7397fce2
ML
33362016-03-23 Martin Liska <mliska@suse.cz>
3337
3338 PR hsa/70337
3339 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
3340 argument just in case a dispatched kernel uses that argument.
3341
ee2e7d51
TS
33422016-03-16 Thomas Schwinge <thomas@codesourcery.com>
3343
3344 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
3345 -ftree-parallelize-loops/-fopenacc changes.
3346 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
3347 Likewise.
3348 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
3349 Likewise.
3350 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
3351 Likewise.
3352 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
3353 Likewise.
3354 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3355 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3356
be9f7143
TS
33572016-03-13 Thomas Schwinge <thomas@codesourcery.com>
3358
3359 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
3360 always_ld_library_path the path to libgcc_s.
3361
f6c1032d
CP
33622016-03-10 Cesar Philippidis <cesar@codesourcery.com>
3363
3364 PR testsuite/70009
3365 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
3366
5a6452e6
TV
33672016-03-09 Tom de Vries <tom@codesourcery.com>
3368
3369 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
3370 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
3371 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
3372 Same.
3373 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
3374 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
3375 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
3376 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
3377
96a71bd5
MJ
33782016-03-07 Martin Jambor <mjambor@suse.cz>
3379
3380 * testsuite/lib/libgomp.exp
3381 (check_effective_target_hsa_offloading_selected_nocache): New.
3382 (check_effective_target_hsa_offloading_selected): Likewise.
3383 * testsuite/libgomp.hsa.c/c.exp: Likewise.
3384 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
3385 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3386 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3387 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3388 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3389 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3390 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3391 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3392 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3393 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3394 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3395 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3396 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3397 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3398 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3399 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3400
02e0b5b2
MJ
34012016-03-07 Martin Jambor <mjambor@suse.cz>
3402
3403 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
3404 non-shared memory accelerators.
3405 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
3406 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
3407 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
3408 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
3409 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
3410 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
3411 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
3412 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
3413 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
3414
45548f30
MJ
34152016-03-07 Martin Jambor <mjambor@suse.cz>
3416
3417 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
3418 ALWAYS_CFLAGS.
3419
da3d46cb
JJ
34202016-03-02 Jakub Jelinek <jakub@redhat.com>
3421
3422 PR libgomp/69555
3423 * testsuite/libgomp.c++/pr69555-1.C: New test.
3424 * testsuite/libgomp.c++/pr69555-2.C: New test.
3425
622174b2
KM
34262016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
3427 Martin Jambor <mjambor@suse.cz>
3428
3429 * testsuite/lib/libgomp.exp
3430 (check_effective_target_offload_device_shared_as): New proc.
3431 * testsuite/libgomp.c++/declare_target-1.C: New test.
3432
e6861a99
IV
34332016-02-25 Ilya Verbin <ilya.verbin@intel.com>
3434
3435 PR driver/68463
3436 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
3437
f99c3557
TS
34382016-02-23 Thomas Schwinge <thomas@codesourcery.com>
3439
3440 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
3441 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
3442 dims.
3443 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
3444 -ftree-parallelize-loops/-fopenacc changes.
3445 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
3446 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
3447 Likewise.
3448 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
3449 Likewise.
3450 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
3451 Likewise.
3452 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
3453 Likewise.
3454 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
3455 Likewise.
3456 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
3457 Likewise.
3458 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
3459 Likewise.
3460 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
3461 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
3462 Likewise.
3463 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
3464 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
3465 Likewise.
3466 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
3467 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
3468 Likewise.
3469
d5ace3b5
CP
34702016-02-22 Cesar Philippidis <cesar@codesourcery.com>
3471
3472 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
3473
f3609a89
JJ
34742016-02-19 Jakub Jelinek <jakub@redhat.com>
3475
3476 PR driver/69805
3477 * testsuite/libgomp.c/pr69805.c: New test.
3478
2175df99
TV
34792016-02-16 Tom de Vries <tom@codesourcery.com>
3480
3481 PR lto/67709
3482 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
3483
17b6426c
TV
34842016-02-09 Tom de Vries <tom@codesourcery.com>
3485
3486 PR tree-optimization/69599
3487 * testsuite/libgomp.c/omp-nested-3.c: New test.
3488 * testsuite/libgomp.c/pr46032-2.c: New test.
3489 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
3490 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
3491
34df756c
TV
34922016-02-09 Tom de Vries <tom@codesourcery.com>
3493
3494 PR lto/69707
3495 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
3496
5854ee30
AM
34972016-02-02 Alexander Monakov <amonakov@ispras.ru>
3498
3499 * testsuite/libgomp.c/target-31.c: Fix testcase.
3500
e70b6ad7
AM
35012016-02-02 Alexander Monakov <amonakov@ispras.ru>
3502
3503 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
3504 clause.
3505 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
3506 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
3507 reduction and map clauses.
3508 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
3509
bd78a45f
JN
35102016-02-02 James Norris <jnorris@codesourcery.com>
3511
3512 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
3513
41d809d3
TS
35142016-02-02 Thomas Schwinge <thomas@codesourcery.com>
3515
18f60146
TS
3516 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
3517 * oacc-parallel.c (GOACC_host_data): Remove function definition.
3518
1a06f5e6
TS
3519 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
3520 cases.
3521
033ff3d1
TS
3522 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
3523 variables.
3524 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
3525 (hsa_kmt_lib): Set variables.
3526 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
3527 always_ld_library_path.
3528 * Makefile.in: Regenerate.
3529 * configure: Likewise.
3530 * testsuite/Makefile.in: Likewise.
3531
4a88d9b7
TS
3532 * plugin/configfrag.ac (offload_additional_options)
3533 (offload_additional_lib_paths): Don't amend for hsa offloading.
3534 * configure: Regenerate.
3535
41d809d3
TS
3536 * plugin/configfrag.ac: Don't configure for offloading target if
3537 we don't build the corresponding plugin.
3538 * configure: Regenerate.
3539
b6adbb9f
NS
35402016-02-01 Nathan Sidwell <nathan@codesourcery.com>
3541
3542 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
3543 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
3544
8dfdb419
TV
35452016-01-26 Tom de Vries <tom@codesourcery.com>
3546
3547 PR tree-optimization/69110
3548 * testsuite/libgomp.c/pr69110.c: New test.
3549
02ef53f2
RB
35502016-01-25 Richard Biener <rguenther@suse.de>
3551
3552 PR lto/69393
3553 * testsuite/libgomp.c++/pr69393.C: New testcase.
3554
eb4048f2
IV
35552016-01-22 Ilya Verbin <ilya.verbin@intel.com>
3556
3557 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
3558 function wasn't mapped to the device with non-shared memory.
3559
b235cdd5
IV
35602016-01-20 Ilya Verbin <ilya.verbin@intel.com>
3561
3562 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
3563
b2b40051
MJ
35642016-01-19 Martin Jambor <mjambor@suse.cz>
3565 Martin Liska <mliska@suse.cz>
3566
3567 * plugin/Makefrag.am: Add HSA plugin requirements.
3568 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
3569 (HSA_RUNTIME_LIB): Likewise.
3570 (HSA_RUNTIME_CPPFLAGS): Likewise.
3571 (HSA_RUNTIME_INCLUDE): New substitution.
3572 (HSA_RUNTIME_LIB): Likewise.
3573 (HSA_RUNTIME_LDFLAGS): Likewise.
3574 (hsa-runtime): New configure option.
3575 (hsa-runtime-include): Likewise.
3576 (hsa-runtime-lib): Likewise.
3577 (PLUGIN_HSA): New substitution variable.
3578 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
3579 configure options.
3580 (PLUGIN_HSA_CPPFLAGS): Likewise.
3581 (PLUGIN_HSA_LDFLAGS): Likewise.
3582 (PLUGIN_HSA_LIBS): Likewise.
3583 Check that we have access to HSA run-time.
3584 * libgomp-plugin.h (offload_target_type): New element
3585 OFFLOAD_TARGET_TYPE_HSA.
3586 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
3587 args.
3588 (bool gomp_create_target_task): Updated.
3589 (gomp_device_descr): Extra parameter of run_func and async_run_func,
3590 new field can_run_func.
3591 * libgomp_g.h (GOMP_target_ext): Update prototype.
3592 * oacc-host.c (host_run): Added a new parameter args.
3593 * target.c (calculate_firstprivate_requirements): New function.
3594 (copy_firstprivate_data): Likewise.
3595 (gomp_target_fallback_firstprivate): Use them.
3596 (gomp_target_unshare_firstprivate): New function.
3597 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
3598 devices.
3599 (GOMP_target): Do host fallback for all shared memory devices. Do not
3600 pass any args to plugins.
3601 (GOMP_target_ext): Introduce device-specific argument parameter args.
3602 Allow host fallback if device shares memory. Do not remap data if
3603 device has shared memory.
3604 (gomp_target_task_fn): Likewise. Also treat shared memory devices
3605 like host fallback for mappings.
3606 (GOMP_target_data): Treat shared memory devices like host fallback.
3607 (GOMP_target_data_ext): Likewise.
3608 (GOMP_target_update): Likewise.
3609 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
3610 gomp_create_target_task.
3611 (GOMP_target_enter_exit_data): Likewise.
3612 (omp_target_alloc): Treat shared memory devices like host fallback.
3613 (omp_target_free): Likewise.
3614 (omp_target_is_present): Likewise.
3615 (omp_target_memcpy): Likewise.
3616 (omp_target_memcpy_rect): Likewise.
3617 (omp_target_associate_ptr): Likewise.
3618 (gomp_load_plugin_for_device): Also load can_run.
3619 * task.c (GOMP_PLUGIN_target_task_completion): Free
3620 firstprivate_copies.
3621 (gomp_create_target_task): Accept new argument args and store it to
3622 ttask.
3623 * plugin/plugin-hsa.c: New file.
3624
5d7804a9
TV
36252016-01-18 Tom de Vries <tom@codesourcery.com>
3626
3627 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
3628 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
3629 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
3630 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
3631 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
3632 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
3633 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
3634 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
3635 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
3636 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
3637 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
3638 Same.
3639 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
3640 Same.
3641 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
3642 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
3643 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
3644 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
3645 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
3646 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
3647 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
3648 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
3649 Same.
3650 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
3651
cb11f3cf
JJ
36522016-01-15 Jakub Jelinek <jakub@redhat.com>
3653
3654 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
3655
33a126a6
CP
36562016-01-15 Cesar Philippidis <cesar@codesourcery.com>
3657
3658 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
3659
cdf6119d
JN
36602016-01-12 James Norris <jnorris@codesourcery.com>
3661
3662 * libgomp.texi: Updates for OpenACC.
3663
0d58938e
AM
36642016-01-11 Alexander Monakov <amonakov@ispras.ru>
3665
3666 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
3667
95918b49
L
36682016-01-07 H.J. Lu <hongjiu.lu@intel.com>
3669
3670 PR fortran/66680
3671 * testsuite/libgomp.fortran/pr66680.f90: New test.
3672
8fc708b7
JJ
36732016-01-07 Jakub Jelinek <jakub@redhat.com>
3674
3675 PR middle-end/68960
3676 * testsuite/libgomp.c/pr68960.c: New test.
3677
e9b596c1
NS
36782016-01-06 Nathan Sidwell <nathan@acm.org>
3679
1a14faf2 3680 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
3681 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
3682
21fa2a29
JJ
36832016-01-04 Jakub Jelinek <jakub@redhat.com>
3684
818ab71a
JJ
3685 Update copyright years.
3686
21fa2a29
JJ
3687 * libgomp.texi: Bump @copying's copyright year.
3688
9310efbc
NS
36892015-12-31 Nathan Sidwell <nathan@acm.org>
3690
3691 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
3692 dg-additional-options syntax.
3693 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3694 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
3695 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3696 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3697 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
3698 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
3699 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3700 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
3701 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3702 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
3703 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3704 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
3705 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3706 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3707 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3708 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
3709 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3710 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3711
4a38b02b
IV
37122015-12-15 Ilya Verbin <ilya.verbin@intel.com>
3713
3714 * libgomp.h (REFCOUNT_LINK): Define.
3715 (struct splay_tree_key_s): Add link_key.
3716 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
3717 Replace target address of the pointer with target address of newly
3718 mapped object in the splay tree. Set link pointer on target to the
3719 device address of the mapped object.
3720 (gomp_unmap_vars): Restore target address of the pointer in the splay
3721 tree for REFCOUNT_LINK objects after unmapping.
3722 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
3723 declare target link" objects.
3724 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
3725 "omp declare target link" objects, which were mapped for the image.
3726 (gomp_exit_data): Restore target address of the pointer in the splay
3727 tree for REFCOUNT_LINK objects after unmapping.
3728 * testsuite/libgomp.c/target-link-1.c: New file.
3729
d84ffc0a
IV
37302015-12-14 Ilya Verbin <ilya.verbin@intel.com>
3731
3732 * libgomp.h (gomp_device_state): New enum.
3733 (struct gomp_device_descr): Replace is_initialized with state.
3734 (gomp_fini_device): Remove declaration.
3735 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
3736 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
3737 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
3738 (acc_set_device_type): Use state instead of is_initialized.
3739 (acc_set_device_num): Likewise.
3740 * target.c (resolve_device): Use state instead of is_initialized.
3741 Do not initialize finalized device.
3742 (gomp_map_vars): Do nothing if device is finalized.
3743 (gomp_unmap_vars): Likewise.
3744 (gomp_update): Likewise.
3745 (GOMP_offload_register_ver): Use state instead of is_initialized.
3746 (GOMP_offload_unregister_ver): Likewise.
3747 (gomp_init_device): Likewise.
3748 (gomp_unload_device): Likewise.
3749 (gomp_fini_device): Remove.
3750 (gomp_get_target_fn_addr): Do nothing if device is finalized.
3751 (GOMP_target): Go to host fallback if device is finalized.
3752 (GOMP_target_ext): Likewise.
3753 (gomp_exit_data): Do nothing if device is finalized.
3754 (gomp_target_task_fn): Go to host fallback if device is finalized.
3755 (gomp_target_fini): New static function.
3756 (gomp_target_init): Use state instead of is_initialized.
3757 Call gomp_target_fini at exit.
3758
76680678
TV
37592015-12-09 Tom de Vries <tom@codesourcery.com>
3760
3761 PR tree-optimization/68716
3762 * testsuite/libgomp.c/omp-nested-2.c: New test.
3763
ff7a55bf
TS
37642015-12-02 Thomas Schwinge <thomas@codesourcery.com>
3765
3766 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
3767 target openacc_nvidia_accel_selected.
3768 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
3769 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
3770 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
3771 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
3772
37d5ad46
JB
37732015-12-01 Julian Brown <julian@codesourcery.com>
3774 James Norris <James_Norris@mentor.com>
3775
3776 * oacc-parallel.c (GOACC_host_data): New function.
3777 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
3778 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
3779 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
3780 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
3781 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
3782 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
3783 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
3784
db941d7e
CP
37852015-11-30 James Norris <jnorris@codesourcery.com>
3786 Cesar Philippidis <cesar@codesourcery.com>
3787
3788 libgomp/
3789 * libgomp.oacc-fortran/routine-5.f90: New test.
3790 * libgomp.oacc-fortran/routine-7.f90: New test.
3791 * libgomp.oacc-fortran/routine-9.f90: New test.
3792
e0ca27c5
TV
37932015-11-30 Tom de Vries <tom@codesourcery.com>
3794
3795 PR tree-optimization/46032
3796 * testsuite/libgomp.c/pr46032.c: New test.
3797
aec17bfe
JJ
37982015-11-27 Jakub Jelinek <jakub@redhat.com>
3799
8e4e4719
JJ
3800 PR libgomp/68579
3801 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
3802 (gomp_create_target_task): Call it before freeing
3803 GOMP_TARGET_TASK_DATA tasks.
3804
aec17bfe
JJ
3805 PR c/63326
3806 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
3807 in between case label and OpenMP standalone directives.
3808 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
3809
6cfe90e6
DE
38102015-11-26 David Edelsohn <dje.gcc@gmail.com>
3811
3812 * configure: Regenerate.
3813
0e65fd7d
JJ
38142015-11-26 Jakub Jelinek <jakub@redhat.com>
3815
3816 * testsuite/libgomp.c/target-35.c: New test.
3817
dc7a8b4b
JN
38182015-11-22 James Norris <jnorris@codesourcery.com>
3819 Cesar Philippidis <cesar@codesourcery.com>
3820
3821 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
3822 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3823 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3824 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3825 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3826
48a78aee
JJ
38272015-11-20 Jakub Jelinek <jakub@redhat.com>
3828
3829 PR middle-end/68221
3830 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
3831 * testsuite/libgomp.c/reduction-12.c: Likewise.
3832 * testsuite/libgomp.c++/reduction-11.C: Likewise.
3833 * testsuite/libgomp.c++/reduction-12.C: Likewise.
3834
2d256816
NS
38352015-11-19 Nathan Sidwell <nathan@codesourcery.com>
3836
3837 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
3838 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
3839 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
3840 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
3841 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
3842 and fix.
3843 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
3844 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
3845
33f47f42
NS
38462015-11-18 Nathan Sidwell <nathan@codesourcery.com>
3847
3848 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
3849 worker & gang cases.
3850 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
3851
3d7bfee0
CP
38522015-11-17 Cesar Philippidis <cesar@codesourcery.com>
3853
3854 * config/nvptx/priority_queue.c: New file.
3855
00b9bd52
JJ
38562015-11-14 Jakub Jelinek <jakub@redhat.com>
3857
3858 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
3859 sections.
3860
e4606348
JJ
38612015-11-14 Jakub Jelinek <jakub@redhat.com>
3862 Aldy Hernandez <aldyh@redhat.com>
3863 Ilya Verbin <ilya.verbin@intel.com>
3864
3865 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
3866 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
3867 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
3868 iterators or IV by chunk size.
3869 * parallel.c (gomp_resolve_num_threads): Don't assume that
3870 if thr->ts.team is non-NULL, then pool must be non-NULL.
3871 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
3872 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
3873 GOMP_PLUGIN_target_task_completion.
3874 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
3875 * Makefile.in: Regenerate.
3876 * libgomp.h: Shuffle prototypes and forward definitions around so
3877 priority queues can be defined.
3878 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
3879 (enum gomp_target_task_state): New enum.
3880 (struct gomp_target_task): Add state, tgt, task and team fields.
3881 (gomp_create_target_task): Change return type to bool, add
3882 state argument.
3883 (gomp_target_task_fn): Change return type to bool.
3884 (struct gomp_device_descr): Add async_run_func.
3885 (struct gomp_task): Remove children, next_child, prev_child,
3886 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
3887 Add pnode field.
3888 (struct gomp_taskgroup): Remove children.
3889 Add taskgroup_queue.
3890 (struct gomp_team): Change task_queue type to a priority queue.
3891 (splay_compare): Define inline.
3892 (priority_queue_offset): New.
3893 (priority_node_to_task): New.
3894 (task_to_priority_node): New.
3895 * oacc-mem.c: Do not include splay-tree.h.
3896 * priority_queue.c: New file.
3897 * priority_queue.h: New file.
3898 * splay-tree.c: Do not include splay-tree.h.
3899 (splay_tree_foreach_internal): New.
3900 (splay_tree_foreach): New.
3901 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
3902 (splay_tree_callback): Define typedef.
3903 * target.c (splay_compare): Move to libgomp.h.
3904 (GOMP_target): Don't adjust *thr in any way around running offloaded
3905 task.
3906 (GOMP_target_ext): Likewise. Handle target nowait.
3907 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
3908 return value from gomp_create_target_task, if false, fallthrough
3909 as if no dependencies exist.
3910 (gomp_target_task_fn): Change return type to bool, return true
3911 if the task should have another part scheduled later. Handle
3912 target nowait.
3913 (gomp_load_plugin_for_device): Initialize async_run.
3914 * task.c (gomp_init_task): Initialize children_queue.
3915 (gomp_clear_parent_in_list): New.
3916 (gomp_clear_parent_in_tree): New.
3917 (gomp_clear_parent): Handle priorities.
3918 (GOMP_task): Likewise.
3919 (priority_queue_move_task_first,
3920 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
3921 New functions.
3922 (gomp_create_target_task): Use priority queues. Change return type
3923 to bool, add state argument, return false if for async
3924 {{enter,exit} data,update} constructs no dependencies need to be
3925 waited for, handle target nowait. Set task->fn to NULL instead of
3926 gomp_target_task_fn.
3927 (verify_children_queue): Remove.
3928 (priority_list_upgrade_task): New.
3929 (priority_queue_upgrade_task): New.
3930 (verify_task_queue): Remove.
3931 (priority_list_downgrade_task): New.
3932 (priority_queue_downgrade_task): New.
3933 (gomp_task_run_pre): Use priority queues.
3934 Abstract code out to priority_queue_downgrade_task.
3935 (gomp_task_run_post_handle_dependers): Use priority queues.
3936 (gomp_task_run_post_remove_parent): Likewise.
3937 (gomp_task_run_post_remove_taskgroup): Likewise.
3938 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
3939 tasks specially.
3940 (GOMP_taskwait): Likewise.
3941 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
3942 priority-queue_upgrade_task.
3943 (GOMP_taskgroup_start): Use priority queues.
3944 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
3945 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
3946 barrier.
3947 * taskloop.c (GOMP_taskloop): Handle priorities.
3948 * team.c (gomp_new_team): Call priority_queue_init.
3949 (free_team): Call priority_queue_free.
3950 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
3951 team created for target nowait in implicit parallel region.
3952 (gomp_team_start): For nested check, test thr->ts.level instead of
3953 thr->ts.team != NULL.
3954 * testsuite/libgomp.c/doacross-3.c: New test.
3955 * testsuite/libgomp.c/ordered-5.c: New test.
3956 * testsuite/libgomp.c/priority.c: New test.
3957 * testsuite/libgomp.c/target-31.c: New test.
3958 * testsuite/libgomp.c/target-32.c: New test.
3959 * testsuite/libgomp.c/target-33.c: New test.
3960 * testsuite/libgomp.c/target-34.c: New test.
3961
1d1ab74f
NS
39622015-11-13 Nathan Sidwell <nathan@codesourcery.com>
3963
c5a64cfe
NS
3964 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
3965
1d1ab74f
NS
3966 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
3967 loop is sequential.
3968
dd3c1b14
NS
39692015-11-13 Nathan Sidwell <nathan@codesourcery.com>
3970
3971 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
3972 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
3973
6e232ba4
JN
39742015-11-12 James Norris <jnorris@codesourcery.com>
3975 Joseph Myers <joseph@codesourcery.com>
3976
3977 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
3978 * oacc-parallel.c (GOACC_declare): New function.
3979 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
3980 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
3981 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
3982 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
3983 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
3984
fffeedeb
NS
39852015-11-12 Nathan Sidwell <nathan@codesourcery.com>
3986
3987 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
3988
182190f2
NS
39892015-11-1 Nathan Sidwell <nathan@codesourcery.com>
3990
3991 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
3992 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
3993
36fa0f5f
NS
39942015-11-09 Nathan Sidwell <nathan@codesourcery.com>
3995
d350c40c
NS
3996 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
3997 inadvertent commit.
3998
39992015-11-09 Nathan Sidwell <nathan@codesourcery.com>
4000
36fa0f5f
NS
4001 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
4002 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
4003 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
4004 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
4005 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
4006
66a5f0b4
TS
40072015-11-06 Thomas Schwinge <thomas@codesourcery.com>
4008
4009 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
4010 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4011
e01d41e5
JJ
40122015-11-05 Jakub Jelinek <jakub@redhat.com>
4013 Ilya Verbin <ilya.verbin@intel.com>
4014
4015 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
4016 GOMP_loop_nonmonotonic_dynamic_start,
4017 GOMP_loop_nonmonotonic_guided_next,
4018 GOMP_loop_nonmonotonic_guided_start,
4019 GOMP_loop_ull_nonmonotonic_dynamic_next,
4020 GOMP_loop_ull_nonmonotonic_dynamic_start,
4021 GOMP_loop_ull_nonmonotonic_guided_next,
4022 GOMP_loop_ull_nonmonotonic_guided_start,
4023 GOMP_parallel_loop_nonmonotonic_dynamic,
4024 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
4025 (GOMP_target_41): Renamed to ...
4026 (GOMP_target_ext): ... this. Add num_teams and thread_limit
4027 arguments.
4028 (GOMP_target_data_41): Renamed to ...
4029 (GOMP_target_data_ext): ... this.
4030 (GOMP_target_update_41): Renamed to ...
4031 (GOMP_target_update_ext): ... this.
4032 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
4033 GOMP_target_data_ext and GOMP_target_update_ext instead of
4034 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
4035 Export GOMP_loop_nonmonotonic_dynamic_next,
4036 GOMP_loop_nonmonotonic_dynamic_start,
4037 GOMP_loop_nonmonotonic_guided_next,
4038 GOMP_loop_nonmonotonic_guided_start,
4039 GOMP_loop_ull_nonmonotonic_dynamic_next,
4040 GOMP_loop_ull_nonmonotonic_dynamic_start,
4041 GOMP_loop_ull_nonmonotonic_guided_next,
4042 GOMP_loop_ull_nonmonotonic_guided_start,
4043 GOMP_parallel_loop_nonmonotonic_dynamic and
4044 GOMP_parallel_loop_nonmonotonic_guided.
4045 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
4046 GOMP_parallel_loop_nonmonotonic_guided,
4047 GOMP_loop_nonmonotonic_dynamic_start,
4048 GOMP_loop_nonmonotonic_guided_start,
4049 GOMP_loop_nonmonotonic_dynamic_next,
4050 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
4051 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
4052 GOMP_loop_ull_nonmonotonic_guided_start,
4053 GOMP_loop_ull_nonmonotonic_dynamic_next,
4054 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
4055 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
4056 functions.
4057 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
4058 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
4059 Use gomp_map_val function.
4060 (gomp_target_fallback_firstprivate): New static function.
4061 (GOMP_target_41): Renamed to ...
4062 (GOMP_target_ext): ... this. Add num_teams and thread_limit
4063 arguments. Move firstprivate fallback handling into a new
4064 function.
4065 (GOMP_target_data_41): Renamed to ...
4066 (GOMP_target_data_ext): ... this.
4067 (GOMP_target_update_41): Renamed to ...
4068 (GOMP_target_update_ext): ... this.
4069 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
4070 gomp_map_0len_lookup instead of gomp_map_lookup.
4071 (omp_target_is_present): Use gomp_map_0len_lookup instead of
4072 gomp_map_lookup.
4073 * testsuite/libgomp.c/target-28.c: Likewise.
4074 * testsuite/libgomp.c/monotonic-1.c: New test.
4075 * testsuite/libgomp.c/monotonic-2.c: New test.
4076 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
4077 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
4078 * testsuite/libgomp.c/pr66199-5.c: New test.
4079 * testsuite/libgomp.c/pr66199-6.c: New test.
4080 * testsuite/libgomp.c/pr66199-7.c: New test.
4081 * testsuite/libgomp.c/pr66199-8.c: New test.
4082 * testsuite/libgomp.c/pr66199-9.c: New test.
4083 * testsuite/libgomp.c/reduction-11.c: New test.
4084 * testsuite/libgomp.c/reduction-12.c: New test.
4085 * testsuite/libgomp.c/reduction-13.c: New test.
4086 * testsuite/libgomp.c/reduction-14.c: New test.
4087 * testsuite/libgomp.c/reduction-15.c: New test.
4088 * testsuite/libgomp.c/target-12.c (main): Adjust for
4089 omp_target_is_present change for one-past-last element.
4090 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
4091 the same var is both mapped and privatized.
4092 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
4093 handling of zero-length array sections.
4094 * testsuite/libgomp.c/target-28.c: New test.
4095 * testsuite/libgomp.c/target-29.c: New test.
4096 * testsuite/libgomp.c/target-30.c: New test.
4097 * testsuite/libgomp.c/target-teams-1.c: New test.
4098 * testsuite/libgomp.c++/member-6.C: New test.
4099 * testsuite/libgomp.c++/member-7.C: New test.
4100 * testsuite/libgomp.c++/monotonic-1.C: New test.
4101 * testsuite/libgomp.c++/monotonic-2.C: New test.
4102 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
4103 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
4104 * testsuite/libgomp.c++/pr66199-3.C: New test.
4105 * testsuite/libgomp.c++/pr66199-4.C: New test.
4106 * testsuite/libgomp.c++/pr66199-5.C: New test.
4107 * testsuite/libgomp.c++/pr66199-6.C: New test.
4108 * testsuite/libgomp.c++/pr66199-7.C: New test.
4109 * testsuite/libgomp.c++/pr66199-8.C: New test.
4110 * testsuite/libgomp.c++/pr66199-9.C: New test.
4111 * testsuite/libgomp.c++/reduction-11.C: New test.
4112 * testsuite/libgomp.c++/reduction-12.C: New test.
4113 * testsuite/libgomp.c++/target-13.C: New test.
4114 * testsuite/libgomp.c++/target-14.C: New test.
4115 * testsuite/libgomp.c++/target-15.C: New test.
4116 * testsuite/libgomp.c++/target-16.C: New test.
4117 * testsuite/libgomp.c++/target-17.C: New test.
4118 * testsuite/libgomp.c++/target-18.C: New test.
4119 * testsuite/libgomp.c++/target-19.C: New test.
4120
ccc8282b
NS
41212015-11-04 Nathan Sidwell <nathan@codesourcery.com>
4122
4123 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
4124 and reduction copy.
4125 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4126 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4127 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4128 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4129 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
4130 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4131 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4132 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4133 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4134 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
4135 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
4136 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4137 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4138 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
4139
5d6823a2
NS
41402015-11-04 Nathan Sidwell <nathan@codesourcery.com>
4141
4142 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
4143 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
4144 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
4145 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
4146 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
4147 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
4148 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
4149 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
4150
5c06742f
NS
41512015-11-03 Nathan Sidwell <nathan@codesourcery.com>
4152
4153 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
4154 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
4155 (GOMP_OFFLOAD_openacc_parallel): Likewise.
4156 * oacc-host.c (host_openacc_exec): Likewise.
4157 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
4158
4bf9e5a8
TS
41592015-11-03 Julian Brown <julian@codesourcery.com>
4160 Thomas Schwinge <thomas@codesourcery.com>
4161
4162 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
4163 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4164 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
4165 Likewise.
4166 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
4167 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
4168
41692015-11-03 James Norris <jnorris@codesourcery.com>
4170
4171 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
4172 file.
4173 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
4174 Likewise.
4175 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
4176 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
4177 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4178 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
4179 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4180
a0e701d8
NS
41812015-10-29 Nathan Sidwell <nathan@codesourcery.com>
4182
4183 * openacc.h (enum acc_device_t): Reformat. Ensure layout
4184 compatibility.
4185 (enum acc_async_t): Reformat.
4186 (acc_on_device): Declare compatible with builtin and provide C++
4187 wrapper.
4188 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
4189
41e977ac
TS
41902015-10-29 Thomas Schwinge <thomas@codesourcery.com>
4191 Cesar Philippidis <cesar@codesourcery.com>
4192
4193 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
4194 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
4195 ... this. Add a description of the test at the top of the file.
4196 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
4197 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
4198 ... this. Add a description of the test at the top of the file.
4199
e3091406
NS
42002015-10-28 Nathan Sidwell <nathan@codesourcery.com>
4201
4202 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
4203 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
4204 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
4205 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
4206 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
4207 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
4208
a1c1908b
NS
42092015-10-27 Nathan Sidwell <nathan@codesourcery.com>
4210
4211 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
4212 dimensions.
4213
b3962a4a
TS
42142015-10-27 Thomas Schwinge <thomas@codesourcery.com>
4215
4216 PR testsuite/68063
4217 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
4218
88bae6f4
TS
42192015-10-27 James Norris <jnorris@codesourcery.com>
4220
4221 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
4222 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
4223
8baa7864
TS
42242015-10-26 Thomas Schwinge <thomas@codesourcery.com>
4225
bdeb752c
TS
4226 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
4227 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4228
ecd4fd43
TS
4229 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
4230 acc_device_nvidia usage.
4231 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
4232 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4233 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
4234
aa8b7d30
TS
4235 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
4236 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
4237
7c8f138d
TS
4238 PR libgomp/66518
4239 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
4240
8baa7864
TS
4241 PR libgomp/65437
4242 PR libgomp/66518
4243 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
4244 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
4245
88ebcde5
TV
42462015-10-23 Tom de Vries <tom@codesourcery.com>
4247
4248 PR testsuite/68063
4249 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
4250
9ef83c04
NS
42512015-10-20 Nathan Sidwell <nathan@codesourcery.com>
4252
4253 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
4254 vector_length.
4255 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4256
3837c6d6
IV
42572015-10-14 Ilya Verbin <ilya.verbin@intel.com>
4258 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
4259
4260 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
4261 to 0 when mapnum is 0.
4262
ac8a1965
SH
42632015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
4264
4265 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
4266 Cast to int from int32_t.
4267
d9a6bd32
JJ
42682015-10-13 Jakub Jelinek <jakub@redhat.com>
4269 Aldy Hernandez <aldyh@redhat.com>
4270 Ilya Verbin <ilya.verbin@intel.com>
4271
4272 * config/linux/affinity.c (omp_get_place_num_procs,
4273 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4274 * config/linux/doacross.h: New file.
4275 * config/posix/affinity.c (omp_get_place_num_procs,
4276 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4277 * config/posix/doacross.h: New file.
4278 * env.c: Include gomp-constants.h.
4279 (struct gomp_task_icv): Rename run_sched_modifier to
4280 run_sched_chunk_size.
4281 (gomp_max_task_priority_var): New variable.
4282 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
4283 (handle_omp_display_env): Change _OPENMP value from 201307 to
4284 201511. Print OMP_MAX_TASK_PRIORITY.
4285 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
4286 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
4287 chunk_size and run_sched_modifier to run_sched_chunk_size.
4288 (omp_get_max_task_priority, omp_get_initial_device,
4289 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
4290 omp_get_partition_place_nums): New functions.
4291 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
4292 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
4293 to chunk_size.
4294 (omp_get_num_places_, omp_get_place_num_procs_,
4295 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
4296 omp_get_place_proc_ids_8_, omp_get_place_num_,
4297 omp_get_partition_num_places_, omp_get_partition_place_nums_,
4298 omp_get_partition_place_nums_8_, omp_get_initial_device_,
4299 omp_get_max_task_priority_): New functions.
4300 * libgomp_g.h (GOMP_loop_doacross_static_start,
4301 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
4302 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
4303 GOMP_loop_ull_doacross_dynamic_start,
4304 GOMP_loop_ull_doacross_guided_start,
4305 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
4306 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
4307 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
4308 GOMP_target_data_41, GOMP_target_update_41,
4309 GOMP_target_enter_exit_data): New prototypes.
4310 (GOMP_task): Add prototype argument.
4311 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
4312 (struct gomp_doacross_work_share): New type.
4313 (struct gomp_work_share): Add doacross field.
4314 (struct gomp_task_icv): Rename run_sched_modifier to
4315 run_sched_chunk_size.
4316 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
4317 GOMP_TASK_UNDEFERRED. Add comments.
4318 (struct gomp_task_depend_entry): Add comments.
4319 (struct gomp_task): Likewise.
4320 (struct gomp_taskgroup): Likewise.
4321 (struct gomp_target_task): New type.
4322 (struct gomp_team): Add comment.
4323 (gomp_get_place_proc_ids_8, gomp_doacross_init,
4324 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
4325 gomp_create_target_task, gomp_target_task_fn): New prototypes.
4326 (struct target_var_desc): New type.
4327 (struct target_mem_desc): Adjust comment. Use struct
4328 target_var_desc instead of splay_tree_key for list.
4329 (REFCOUNT_INFINITY): Define.
4330 (struct splay_tree_key_s): Remove copy_from field.
4331 (struct gomp_device_descr): Add dev2dev_func field.
4332 (enum gomp_map_vars_kind): New enum.
4333 (gomp_map_vars): Add one argument.
4334 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
4335 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
4336 omp_get_place_num_procs, omp_get_place_num_procs_,
4337 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
4338 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
4339 omp_get_place_num_, omp_get_partition_num_places,
4340 omp_get_partition_num_places_, omp_get_partition_place_nums,
4341 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
4342 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
4343 omp_target_free, omp_target_is_present, omp_target_memcpy,
4344 omp_target_memcpy_rect, omp_target_associate_ptr and
4345 omp_target_disassociate_ptr.
4346 (GOMP_4.0.2): Renamed to ...
4347 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
4348 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
4349 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
4350 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
4351 GOMP_loop_doacross_static_start, GOMP_doacross_post,
4352 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
4353 GOMP_loop_ull_doacross_guided_start,
4354 GOMP_loop_ull_doacross_runtime_start,
4355 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
4356 GOMP_doacross_ull_wait.
4357 * libgomp.texi: Document omp_get_max_task_priority.
4358 Rename modifier argument to chunk_size for omp_set_schedule and
4359 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
4360 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
4361 to run_sched_chunk_size renaming.
4362 (GOMP_loop_ordered_runtime_start): Likewise.
4363 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
4364 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
4365 GOMP_parallel_loop_runtime_start): New functions.
4366 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
4367 to run_sched_chunk_size renaming.
4368 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
4369 GOMP_loop_doacross_guided_start): New functions or aliases.
4370 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
4371 run_sched_modifier to run_sched_chunk_size renaming.
4372 (GOMP_loop_ull_ordered_runtime_start): Likewise.
4373 (gomp_loop_ull_doacross_static_start,
4374 gomp_loop_ull_doacross_dynamic_start,
4375 gomp_loop_ull_doacross_guided_start,
4376 GOMP_loop_ull_doacross_runtime_start): New functions.
4377 (GOMP_loop_ull_doacross_static_start,
4378 GOMP_loop_ull_doacross_dynamic_start,
4379 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
4380 * oacc-mem.c (acc_map_data, present_create_copy,
4381 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
4382 to gomp_map_vars.
4383 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
4384 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
4385 instead of false to gomp_map_vars.
4386 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
4387 * omp.h.in (omp_lock_hint_t): New type.
4388 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4389 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4390 omp_get_place_num, omp_get_partition_num_places,
4391 omp_get_partition_place_nums, omp_get_initial_device,
4392 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
4393 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
4394 omp_target_associate_ptr, omp_target_disassociate_ptr): New
4395 prototypes.
4396 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
4397 (omp_lock_hint_none, omp_lock_hint_uncontended,
4398 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
4399 omp_lock_hint_speculative): New parameters.
4400 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4401 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4402 omp_get_place_num, omp_get_partition_num_places,
4403 omp_get_partition_place_nums, omp_get_initial_device,
4404 omp_get_max_task_priority): New interfaces.
4405 (omp_set_schedule, omp_get_schedule): Rename modifier argument
4406 to chunk_size.
4407 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
4408 (omp_lock_hint_none, omp_lock_hint_uncontended,
4409 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
4410 omp_lock_hint_speculative): New parameters.
4411 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4412 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4413 omp_get_place_num, omp_get_partition_num_places,
4414 omp_get_partition_place_nums, omp_get_initial_device,
4415 omp_get_max_task_priority): New functions and subroutines.
4416 * ordered.c: Include stdarg.h and string.h.
4417 (MAX_COLLAPSED_BITS): Define.
4418 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
4419 gomp_doacross_ull_init, GOMP_doacross_ull_post,
4420 GOMP_doacross_ull_wait): New functions.
4421 * target.c: Include errno.h.
4422 (resolve_device): If device is not initialized, call
4423 gomp_init_device on it.
4424 (gomp_map_lookup): New function.
4425 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
4426 Don't bump refcount if REFCOUNT_INFINITY. Handle
4427 GOMP_MAP_ALWAYS_TO_P.
4428 (get_kind): Rename is_openacc argument to short_mapkind.
4429 (gomp_map_pointer): Use gomp_map_lookup.
4430 (gomp_map_fields_existing): New function.
4431 (gomp_map_vars): Rename is_openacc argument to short_mapkind
4432 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
4433 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
4434 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
4435 Adjust for tgt->list changed type and copy_from living in there.
4436 (gomp_copy_from_async): Adjust for tgt->list changed type and
4437 copy_from living in there.
4438 (gomp_unmap_vars): Likewise.
4439 (gomp_update): Likewise. Rename is_openacc argument to
4440 short_mapkind. Don't fail if object is not mapped.
4441 (gomp_load_image_to_device): Initialize refcount to
4442 REFCOUNT_INFINITY.
4443 (gomp_target_fallback): New function.
4444 (gomp_get_target_fn_addr): Likewise.
4445 (GOMP_target): Adjust gomp_map_vars caller, use
4446 gomp_get_target_fn_addr and gomp_target_fallback.
4447 (GOMP_target_41): New function.
4448 (gomp_target_data_fallback): New function.
4449 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
4450 (GOMP_target_data_41): New function.
4451 (GOMP_target_update): Adjust gomp_update caller.
4452 (GOMP_target_update_41): New function.
4453 (gomp_exit_data, GOMP_target_enter_exit_data,
4454 gomp_target_task_fn, omp_target_alloc, omp_target_free,
4455 omp_target_is_present, omp_target_memcpy,
4456 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
4457 omp_target_associate_ptr, omp_target_disassociate_ptr,
4458 gomp_load_plugin_for_device): New functions.
4459 * task.c: Include gomp-constants.h. Include taskloop.c
4460 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
4461 (gomp_task_handle_depend): New function.
4462 (GOMP_task): Use it. Add priority argument. Use
4463 gomp-constant.h constants instead of hardcoded numbers.
4464 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
4465 (gomp_create_target_task): New function.
4466 (verify_children_queue, verify_taskgroup_queue,
4467 verify_task_queue): New functions.
4468 (gomp_task_run_pre): Call verify_*_queue functions.
4469 If an upcoming tied task is about to leave the sibling or
4470 taskgroup queues in an invalid state, adjust appropriately.
4471 Remove taskgroup argument. Add comments.
4472 (gomp_task_run_post_handle_dependers): Add comments.
4473 (gomp_task_run_post_remove_parent): Likewise.
4474 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
4475 (GOMP_taskwait): Likewise. Add comments.
4476 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
4477 problem such that the first non parent_depends_on task does not
4478 end up at the end of the children queue.
4479 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
4480 GOMP_TASK_UNDEFERRED.
4481 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
4482 * taskloop.c: New file.
4483 * testsuite/lib/libgomp.exp
4484 (check_effective_target_offload_device_nonshared_as): New proc.
4485 * testsuite/libgomp.c/affinity-2.c: New test.
4486 * testsuite/libgomp.c/doacross-1.c: New test.
4487 * testsuite/libgomp.c/doacross-2.c: New test.
4488 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
4489 Add map clause to target.
4490 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
4491 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
4492 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
4493 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
4494 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
4495 Likewise.
4496 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
4497 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
4498 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
4499 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
4500 not defined. Use those where needed.
4501 * testsuite/libgomp.c/for-4.c: New test.
4502 * testsuite/libgomp.c/for-5.c: New test.
4503 * testsuite/libgomp.c/for-6.c: New test.
4504 * testsuite/libgomp.c/linear-1.c: New test.
4505 * testsuite/libgomp.c/ordered-4.c: New test.
4506 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
4507 only allowed on the loop iterator.
4508 * testsuite/libgomp.c/pr66199-3.c: New test.
4509 * testsuite/libgomp.c/pr66199-4.c: New test.
4510 * testsuite/libgomp.c/reduction-7.c: New test.
4511 * testsuite/libgomp.c/reduction-8.c: New test.
4512 * testsuite/libgomp.c/reduction-9.c: New test.
4513 * testsuite/libgomp.c/reduction-10.c: New test.
4514 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
4515 map(tofrom:s).
4516 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
4517 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
4518 * testsuite/libgomp.c/target-11.c: New test.
4519 * testsuite/libgomp.c/target-12.c: New test.
4520 * testsuite/libgomp.c/target-13.c: New test.
4521 * testsuite/libgomp.c/target-14.c: New test.
4522 * testsuite/libgomp.c/target-15.c: New test.
4523 * testsuite/libgomp.c/target-16.c: New test.
4524 * testsuite/libgomp.c/target-17.c: New test.
4525 * testsuite/libgomp.c/target-18.c: New test.
4526 * testsuite/libgomp.c/target-19.c: New test.
4527 * testsuite/libgomp.c/target-20.c: New test.
4528 * testsuite/libgomp.c/target-21.c: New test.
4529 * testsuite/libgomp.c/target-22.c: New test.
4530 * testsuite/libgomp.c/target-23.c: New test.
4531 * testsuite/libgomp.c/target-24.c: New test.
4532 * testsuite/libgomp.c/target-25.c: New test.
4533 * testsuite/libgomp.c/target-26.c: New test.
4534 * testsuite/libgomp.c/target-27.c: New test.
4535 * testsuite/libgomp.c/taskloop-1.c: New test.
4536 * testsuite/libgomp.c/taskloop-2.c: New test.
4537 * testsuite/libgomp.c/taskloop-3.c: New test.
4538 * testsuite/libgomp.c/taskloop-4.c: New test.
4539 * testsuite/libgomp.c++/ctor-13.C: New test.
4540 * testsuite/libgomp.c++/doacross-1.C: New test.
4541 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
4542 Replace offload_device with offload_device_nonshared_as.
4543 * testsuite/libgomp.c++/for-12.C: New test.
4544 * testsuite/libgomp.c++/for-13.C: New test.
4545 * testsuite/libgomp.c++/for-14.C: New test.
4546 * testsuite/libgomp.c++/linear-1.C: New test.
4547 * testsuite/libgomp.c++/member-1.C: New test.
4548 * testsuite/libgomp.c++/member-2.C: New test.
4549 * testsuite/libgomp.c++/member-3.C: New test.
4550 * testsuite/libgomp.c++/member-4.C: New test.
4551 * testsuite/libgomp.c++/member-5.C: New test.
4552 * testsuite/libgomp.c++/ordered-1.C: New test.
4553 * testsuite/libgomp.c++/reduction-5.C: New test.
4554 * testsuite/libgomp.c++/reduction-6.C: New test.
4555 * testsuite/libgomp.c++/reduction-7.C: New test.
4556 * testsuite/libgomp.c++/reduction-8.C: New test.
4557 * testsuite/libgomp.c++/reduction-9.C: New test.
4558 * testsuite/libgomp.c++/reduction-10.C: New test.
4559 * testsuite/libgomp.c++/reference-1.C: New test.
4560 * testsuite/libgomp.c++/simd14.C: New test.
4561 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
4562 * testsuite/libgomp.c++/target-5.C: New test.
4563 * testsuite/libgomp.c++/target-6.C: New test.
4564 * testsuite/libgomp.c++/target-7.C: New test.
4565 * testsuite/libgomp.c++/target-8.C: New test.
4566 * testsuite/libgomp.c++/target-9.C: New test.
4567 * testsuite/libgomp.c++/target-10.C: New test.
4568 * testsuite/libgomp.c++/target-11.C: New test.
4569 * testsuite/libgomp.c++/target-12.C: New test.
4570 * testsuite/libgomp.c++/taskloop-1.C: New test.
4571 * testsuite/libgomp.c++/taskloop-2.C: New test.
4572 * testsuite/libgomp.c++/taskloop-3.C: New test.
4573 * testsuite/libgomp.c++/taskloop-4.C: New test.
4574 * testsuite/libgomp.c++/taskloop-5.C: New test.
4575 * testsuite/libgomp.c++/taskloop-6.C: New test.
4576 * testsuite/libgomp.c++/taskloop-7.C: New test.
4577 * testsuite/libgomp.c++/taskloop-8.C: New test.
4578 * testsuite/libgomp.c++/taskloop-9.C: New test.
4579 * testsuite/libgomp.fortran/affinity1.f90: New test.
4580 * testsuite/libgomp.fortran/affinity2.f90: New test.
4581
1f600fea
TV
45822015-10-13 Tom de Vries <tom@codesourcery.com>
4583
4584 PR tree-optimization/67476
4585 * testsuite/libgomp.c/autopar-3.c: New test.
4586 * testsuite/libgomp.c/autopar-4.c: New test.
4587 * testsuite/libgomp.c/autopar-5.c: New test.
4588 * testsuite/libgomp.c/autopar-6.c: New test.
4589 * testsuite/libgomp.c/autopar-7.c: New test.
4590 * testsuite/libgomp.c/autopar-8.c: New test.
4591
058a654b
JN
45922015-10-12 James Norris <jnorris@codesourcery.com>
4593
4594 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
4595 initializer.
4596
9e531d37
DM
45972015-10-09 David Malcolm <dmalcolm@redhat.com>
4598
4599 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
4600 using load_gcc_lib.
4601
113020dc
TS
46022015-10-02 Thomas Schwinge <thomas@codesourcery.com>
4603
4604 * oacc-ptx.h: Remove file, moving its content into...
4605 * config/nvptx/fortran.c: ... here...
4606 * config/nvptx/oacc-init.c: ..., here...
4607 * config/nvptx/oacc-parallel.c: ..., and here.
4608 * config/nvptx/openacc.f90: New file.
4609 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
4610 (link_ptx): Don't link in predefined bits of PTX code.
4611
cc3cd79b
NS
46122015-09-30 Nathan Sidwell <nathan@codesourcery.com>
4613 Bernd Schmidt <bernds@codesourcery.com>
4614
4615 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
4616 (struct targ_ptx_obj): New.
4617 (nvptx_tdata): Move earlier, change data format.
4618 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
4619 objects.
4620 (GOMP_OFFLOAD_load_image): Adjust.
4621
4e2a5450
TS
46222015-09-30 Thomas Schwinge <thomas@codesourcery.com>
4623
4624 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
4625 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4626 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
4627 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
4628 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4629 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4630 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4631 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4632 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4633 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4634 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4635 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
4636 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
4637 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4638 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4639 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4640 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4641 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4642 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4643 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4644 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4645 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4646 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4647 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4648 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4649 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4650 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
4651 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4652 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4653 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4654 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4655 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4656 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
4657 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4658 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4659 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4660 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4661 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4662 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4663 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4664 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4665 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4666 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4667 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4668 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
4669 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4670 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4671 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4672 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4673 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4674 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
4675 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
4676 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
4677 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
4678 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4679 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
4680 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4681 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4682 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4683 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4684 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4685 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4686 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4687
164453bb
NS
46882015-09-29 Nathan Sidwell <nathan@codesourcery.com>
4689
4690 * oacc-init.c (acc_on_device): Force optimization level.
4691
a12a0437
NS
46922015-09-29 Nathan Sidwell <nathan@codesourcery.com>
4693
4694 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
4695 (cuda_errlist): Delete.
4696 (cuda_error): Reimplement.
4697
3e32ee19
NS
46982015-09-28 Nathan Sidwell <nathan@codesourcery.com>
4699
4700 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
4701 array.
4702 * libgomp.map (GOACC_parallel_keyed): New.
4703 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
4704 all callers.
4705 (GOACC_parallel_keyed): New interface. Lose geometry arguments
4706 and take keyed varargs list. Adjust call to exec_func.
4707 (GOACC_parallel): Force host fallback.
4708 * libgomp_g.h (GOACC_parallel): Remove.
4709 (GOACC_parallel_keyed): Declare.
4710 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
4711 (stuct targ_gn_descriptor): Replace name field with launch field.
4712 (nvptx_exec): Lose separate geometry args, take array. Process
4713 dynamic dimensions and adjust.
4714 (struct nvptx_tdata): Replace fn_names field with fn_descs.
4715 (GOMP_OFFLOAD_load_image): Adjust for change in function table
4716 data.
4717 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
4718 passing.
4719 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
4720 passing.
4721
6bb4c3e2
CLT
47222015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
4723
4724 PR libgomp/67141
4725 * oacc-int.h (goacc_host_init): Add declaration.
4726 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
4727 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
4728
74032f47 47292015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 4730 Sebastian Pop <s.pop@samsung.com>
74032f47
AK
4731
4732 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
4733 match o/p.
4734 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
4735 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
4736 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
4737 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
4738 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4739
97875f4a
JJ
47402015-09-03 Jakub Jelinek <jakub@redhat.com>
4741
4742 * configure.tgt: Add missing ;; in between nvptx and rtems
4743 snippets.
4744
06441dd5
SH
47452015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
4746
4747 * config/posix/pool.h (gomp_adjust_thread_attr): New.
4748 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
4749 (gomp_thread_pool_reservoir): Add priority member.
4750 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
4751 priority.
4752 (parse_thread_pools): Likewise.
4753 * team.c (gomp_team_start): Call configuration provided
4754 gomp_adjust_thread_attr(). Destroy thread attributes if
4755 necessary.
4756 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
4757
66c59f92
SH
47582015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
4759
4760 * config/posix/pool.h: New.
4761 * config/rtems/pool.h: Likewise.
4762 * config/rtems/proc.c: Likewise.
4763 * libgomp.h (gomp_thread_destructor): Declare.
4764 * team.c: Include configuration provided "pool.h".
4765 (gomp_get_thread_pool): Define in configuration.
4766 (gomp_team_end): Call configuration defined
4767 gomp_release_thread_pool().
4768
13c41b2e
SH
47692015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
4770
4771 * config/rtems/bar.c: New.
4772 * config/rtems/bar.h: Likewise.
4773 * config/rtems/mutex.c: Likewise.
4774 * config/rtems/mutex.h: Likewise.
4775 * config/rtems/sem.c: Likewise.
4776 * config/rtems/sem.h: Likewise.
4777 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
4778 <sys/lock.h> header file.
4779 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
4780 supported by Newlib.
4781 * configure: Regenerate.
4782
7892ec67
SH
47832015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
4784
4785 * team.c (gomp_new_thread_pool): Delete and move content to ...
4786 (gomp_get_thread_pool): ... new function. Allocate and
4787 initialize thread pool on demand.
4788 (get_last_team): Use gomp_get_thread_pool().
4789 (gomp_team_start): Delete thread pool initialization.
4790
1b96e9a4
TV
47912015-09-03 Tom de Vries <tom@codesourcery.com>
4792
4793 PR tree-optimization/65637
4794 * testsuite/libgomp.c/autopar-2.c: New test.
4795
3ff2d74e
TV
47962015-08-29 Tom de Vries <tom@codesourcery.com>
4797
4798 PR tree-optimization/46193
4799 * testsuite/libgomp.c/pr46193.c: New test.
4800
2a21ff19
NS
48012015-08-24 Nathan Sidwell <nathan@codesourcery.com>
4802
4803 libgomp/
4804 * libgomp.map: Add 4.0.2 version.
4805 * target.c (offload_image_descr): Add version field.
4806 (gomp_load_image_to_device): Add version argument. Adjust plugin
4807 call. Improve load mismatch diagnostic.
4808 (gomp_unload_image_from_device): Add version argument. Adjust plugin
4809 call.
4810 (GOMP_offload_regster): Make stub function, move bulk to ...
4811 (GOMP_offload_register_ver): ... here. Process version argument.
4812 (GOMP_offload_unregister): Make stub function, move bulk to ...
4813 (GOMP_offload_unregister_ver): ... here. Process version argument.
4814 (gomp_init_device): Process version field.
4815 (gomp_unload_device): Process version field.
4816 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
4817 macros. Check plugin version.
4818 * libgomp.h (gomp_device_descr): Add version function field. Adjust
4819 loader and unloader types.
4820 * oacc-host.c: Include gomp-constants.h.
4821 (host_version): New.
4822 (host_load_image, host_unload_image): Adjust.
4823 (host_dispatch): Add host_version.
4824 * plugin/plugin-nvptx.c: Include gomp-constants.h.
4825 (GOMP_OFFLOAD_version): New.
4826 (GOMP_OFFLOAD_load_image): Add version arg and check it.
4827 (GOMP_OFFLOAD_unload_image): Likewise.
4828 * plugin/plugin-host.c: Include gomp-constants.h.
4829 (GOMP_OFFLOAD_version): New.
4830 (GOMP_OFFLOAD_load_image): Add version arg.
4831 (GOMP_OFFLOAD_unload_image): Likewise.
4832
1358a747
TV
48332015-08-24 Tom de Vries <tom@codesourcery.com>
4834
4835 PR tree-optimization/65468
4836 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
4837
6be5c241
TV
48382015-08-24 Tom de Vries <tom@codesourcery.com>
4839
4840 PR tree-optimization/65468
4841 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
4842
bfe7ac89
JV
48432015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
4844
4845 PR libgomp/66761
4846 PR libgomp/67303
4847 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
4848 (gomp_iter_guided_next): Idem.
4849 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
4850 (gomp_iter_ull_guided_next): Idem.
4851 * config/linux/wait.h (do_spin): Idem.
4852
b97e78b7
TS
48532015-08-10 Thomas Schwinge <thomas@codesourcery.com>
4854
4855 * libgomp-plugin.h (enum offload_target_type): Remove
4856 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
4857 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
4858 * openacc.h (enum acc_device_t): Likewise.
4859 * openacc_lib.h: Likewise.
4860 * oacc-init.c (name_of_acc_device_t): Don't handle it.
4861 (acc_on_device): Just use __builtin_acc_on_device.
4862 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
4863 of acc_on_device builtin.
4864 * plugin/plugin-host.h: Remove file.
4865 * plugin/plugin-host.c: Likewise, but salvage some content into...
4866 * oacc-host.c: ... this file.
4867 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
4868 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
4869 * Makefile.in: Regenerate.
4870 * configure: Likewise.
4871 * testsuite/lib/libgomp.exp
4872 (check_effective_target_openacc_host_nonshm_selected): Remove.
4873 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
4874 ACC_DEVICE_TYPE=host_nonshm.
4875 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4876 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4877 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
4878 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4879 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4880 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4881
44a7d18d
TS
48822015-08-10 Thomas Schwinge <thomas@codesourcery.com>
4883 Jakub Jelinek <jakub@redhat.com>
4884
4885 * config/nvptx/affinity.c: New file.
4886 * config/nvptx/alloc.c: Likewise.
4887 * config/nvptx/bar.c: Likewise.
4888 * config/nvptx/barrier.c: Likewise.
4889 * config/nvptx/critical.c: Likewise.
4890 * config/nvptx/env.c: Likewise.
4891 * config/nvptx/error.c: Likewise.
4892 * config/nvptx/fortran.c: Likewise.
4893 * config/nvptx/iter.c: Likewise.
4894 * config/nvptx/iter_ull.c: Likewise.
4895 * config/nvptx/libgomp-plugin.c: Likewise.
4896 * config/nvptx/lock.c: Likewise.
4897 * config/nvptx/loop.c: Likewise.
4898 * config/nvptx/loop_ull.c: Likewise.
4899 * config/nvptx/mutex.c: Likewise.
4900 * config/nvptx/oacc-async.c: Likewise.
4901 * config/nvptx/oacc-cuda.c: Likewise.
4902 * config/nvptx/oacc-host.c: Likewise.
4903 * config/nvptx/oacc-init.c: Likewise.
4904 * config/nvptx/oacc-mem.c: Likewise.
4905 * config/nvptx/oacc-parallel.c: Likewise.
4906 * config/nvptx/oacc-plugin.c: Likewise.
4907 * config/nvptx/omp-lock.h: Likewise.
4908 * config/nvptx/ordered.c: Likewise.
4909 * config/nvptx/parallel.c: Likewise.
4910 * config/nvptx/proc.c: Likewise.
4911 * config/nvptx/ptrlock.c: Likewise.
4912 * config/nvptx/sections.c: Likewise.
4913 * config/nvptx/sem.c: Likewise.
4914 * config/nvptx/single.c: Likewise.
4915 * config/nvptx/splay-tree.c: Likewise.
4916 * config/nvptx/target.c: Likewise.
4917 * config/nvptx/task.c: Likewise.
4918 * config/nvptx/team.c: Likewise.
4919 * config/nvptx/time.c: Likewise.
4920 * config/nvptx/work.c: Likewise.
4921 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
4922 * configure: Regenerate.
4923 * configure.tgt (config_path): Set to "nvptx" for target
4924 nvptx*-*-*.
4925
96a2d174
TS
49262015-08-10 Thomas Schwinge <thomas@codesourcery.com>
4927
4928 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
4929
9ebddeb0
NS
49302015-08-03 Nathan Sidwell <nathan@codesourcery.com>
4931
4932 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
4933 (cuda_errlist): Constify.
4934 (errmsg): Move into ...
4935 (cuda_error): ... here. Make smaller.
4936 (_XSTR, _STR): Delete.
4937 (cuda_synames): Delete.
4938 (verify_device_library): Delete.
4939 (nvptx_init): Don't call it.
4940
12efb1d7
TV
49412015-07-28 Tom de Vries <tom@codesourcery.com>
4942
4943 * testsuite/libgomp.c/uns-outer-4.c: New test.
4944
710ee218
CP
49452015-07-24 Cesar Philippidis <cesar@codesourcery.com>
4946
4947 * testsuite/libgomp.c/pr66714.c: New test.
4948
27c4ac7d
MB
49492015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
4950
4951 PR libgomp/66950
4952 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
4953 (fib_ref): New function.
4954 (fib): Correct corner cases in the recursion.
4955 (main): Replace the non-simd loop with fib_ref call.
4956 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
4957 subroutine.
4958 (fibonacci): Lower the parameter N to 30. Correct accordingly check
4959 for the last array element value. Replace the non-simd loop with
4960 fib_ref call. Remove redundant b_ref array. Remove the comparison
4961 of the last array element with according Fibonacci sequence element.
4962 (fib): Correct corner cases in the recursion.
4963
22be2349
NS
49642015-07-21 Nathan Sidwell <nathan@codesourcery.com>
4965
4966 * target.c (gomp_offload_image_to_device): Rename to ...
4967 (gomp_load_image_to_device): ... here.
4968 (GOMP_offload_register): Adjust call.
4969 (gomp_init_device): Likewise.
4970 (gomp_unload_image_from_device): New. Broken out of ...
4971 (GOMP_offload_unregister): ... here. Call it.
4972 (gomp_unload_device): New.
4973 * libgomp.h (gomp_unload_device): Declare.
4974 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
4975 mem maps.
4976
f3e9a059
NS
49772015-07-20 Nathan Sidwell <nathan@codesourcery.com>
4978
a091118d
NS
4979 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
4980 wait=-specific if.
4981 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
4982 !=0 condition.
4983 (goacc_waits): Move !num_waits handling to ...
4984 (GOACC_wait): ... here, the only caller that might have zero waits.
4985
f3e9a059
NS
4986 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
4987 (struct ptx_image_data): Move earlier, add fns field.
4988 (struct ptx_device): Add images and image_lock fields.
4989 (ptx_images, ptx_image_lock): Delete.
4990 (nvptx_open_device): Initialize images and image_lock fields.
4991 (nvptx_close_device): Destroy image_lock.
4992 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
4993 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
4994 fields.
4995
afb2d80b
NS
49962015-07-17 Nathan Sidwell <nathan@codesourcery.com>
4997
896c28a7
NS
4998 * target.c (GOMP_offload_register): Use int for device type arg.
4999 (GOMP_offload_unregister): Likewise.
5000
ebe4a560
NS
5001 * target.c (struct_offload_image_descr): Constify host_table.
5002 (gomp_offload_image_to_device): Likewise.
5003 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
5004
afb2d80b
NS
5005 * libgomp.h (gomp_device_descr): Constify target data arguments.
5006 * target.c (struct offload_image_descr): Constify target_data.
5007 (gomp_offload_image_to_device): Likewise.
5008 (GOMP_offload_register): Likewise.
5009 (GOMP_offload_unrefister): Likewise.
5010 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
5011 GOMP_OFFLOAD_unload_image): Constify target data.
5012 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
5013 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
5014
a4cb876d
NS
50152015-07-16 Nathan Sidwell <nathan@codesourcery.com>
5016
5017 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
5018 Workaround driver library const error.
5019 (struct nvptx_tdata, nvptx_tdata_t): New.
5020 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
5021 type.
5022
28ef6a27
MB
50232015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
5024
5025 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
5026 of EPS parameter from integer to real.
5027 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
5028 type of EPS parameter from integer to real.
5029
6dba0113
SH
50302015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
5031
5032 * team.c (get_last_team): New.
5033 (gomp_new_team): Recycle last non-nested team if possible.
5034 (gomp_team_end): Move team work share list free lock destruction
5035 to ...
5036 (free_team): ... here.
5037
4c1cb4da
MB
50382015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
5039
5040 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
5041 and ref from int to double. Replaced their comparison with
5042 an inequality of their difference and EPS.
5043 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
5044 comparison of pri and a reference number with an inequality of their
5045 difference and EPS.
5046 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
5047 the comparison of sum and sum_ref with an inequality of their
5048 difference and EPS.
5049 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
5050 the comparison of pri and a reference number with an inequality of
5051 their difference and EPS.
5052
343587dc
MB
50532015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
5054
5055 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
5056 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
5057 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
5058 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
5059 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
5060 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
5061 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
5062 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
5063 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
5064 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
5065 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
5066 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
5067 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
5068 variables.
5069 (vec_mult): Likewise. Add #pragma omp taskwait.
5070 (main): Adjust caller.
5071 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
5072 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
5073 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
5074 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
5075 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
5076 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
5077 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
5078 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
5079 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
5080 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
5081 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
5082 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
5083 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
5084 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
5085 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
5086 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
5087 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
5088 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
5089 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
5090 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
5091 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
5092 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
5093 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
5094 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
5095 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
5096 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
5097 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
5098 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
5099 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
5100 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
5101 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
5102 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
5103 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
5104 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
5105 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
5106 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
5107 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
5108 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
5109 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
5110 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
5111 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
5112 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
5113 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
5114 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
5115 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
5116 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
5117 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
5118 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
5119 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
5120 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
5121 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
5122 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
5123 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
5124 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
5125 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
5126 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
5127 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
5128 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
5129 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
5130 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
5131 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
5132 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
5133 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
5134 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
5135 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
5136 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
5137 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
5138 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
5139 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
5140 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
5141 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
5142 (vec_mult): Add !$omp taskwait.
5143 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
5144 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
5145 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
5146 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
5147 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
5148 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
5149 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
5150 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
5151 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
5152 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
5153 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
5154 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
5155 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
5156 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
5157 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
5158 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
5159 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
5160 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
5161 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
5162 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
5163 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
5164 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
5165 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
5166 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
5167 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
5168 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
5169 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
5170 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
5171 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
5172 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
5173 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
5174 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
5175 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
5176 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
5177 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
5178 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
5179 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
5180 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
5181 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
5182 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
5183 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
5184 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
5185 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
5186 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
5187 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
5188 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
5189 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
5190 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
5191 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
5192 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
5193 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
5194 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
5195 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
5196 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
5197 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
5198 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
5199 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
5200 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
5201 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
5202 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
5203 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
5204 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
5205 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
5206 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
5207 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
5208 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
5209 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
5210
9f620bf1
TV
52112015-07-10 Tom de Vries <tom@codesourcery.com>
5212
5213 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
5214 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
5215
a92defda
TS
52162015-07-08 Thomas Schwinge <thomas@codesourcery.com>
5217
5218 PR libgomp/65099
5219 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
5220 in a 64-bit configuration.
5221 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
5222 offloading testing if no such device is available.
5223 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5224 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5225
cadb53a5
TV
52262015-07-08 Tom de Vries <tom@codesourcery.com>
5227
5228 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
5229 second call to f.
5230 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5231
712cb0bb
TV
52322015-07-07 Tom de Vries <tom@codesourcery.com>
5233
5234 PR tree-optimization/66642
5235 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
5236 iteration count case.
5237 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
5238 function, factor out of ...
5239 (main): ... here. Test low iteration count case.
5240
e5210c77
SH
52412015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
5242
5243 * libgomp.h (gomp_thread_pool): Comment last_team field.
5244
f70360e7
UB
52452015-07-02 Uros Bizjak <ubizjak@gmail.com>
5246
5247 * testsuite/libgomp.c++/pr66702-1.C: Require
5248 vect_simd_clones effective target.
5249 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
5250
b451c271
TV
52512015-06-30 Tom de Vries <tom@codesourcery.com>
5252
5253 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5254 already set. Use DEFAULT_CFLAGS in dg-runtest.
5255 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
5256 "-O2".
5257
f8e89d9f
TV
52582015-06-30 Tom de Vries <tom@codesourcery.com>
5259
5260 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5261 already set. Use DEFAULT_CFLAGS in dg-runtest.
5262 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
5263 * testsuite/libgomp.c++/pr64824.C: Same.
5264 * testsuite/libgomp.c++/pr64868.C: Same.
5265 * testsuite/libgomp.c++/pr66199-1.C: Same.
5266 * testsuite/libgomp.c++/pr66199-2.C: Same.
5267 * testsuite/libgomp.c++/target-2.C: Same.
5268 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
5269 -std=<standard> option.
5270 * testsuite/libgomp.c++/udr-11.C: Same.
5271 * testsuite/libgomp.c++/udr-12.C: Same.
5272 * testsuite/libgomp.c++/udr-13.C: Same.
5273 * testsuite/libgomp.c++/udr-14.C: Same.
5274 * testsuite/libgomp.c++/udr-15.C: Same.
5275 * testsuite/libgomp.c++/udr-16.C: Same.
5276 * testsuite/libgomp.c++/udr-17.C: Same.
5277 * testsuite/libgomp.c++/udr-18.C: Same.
5278 * testsuite/libgomp.c++/udr-19.C: Same.
5279 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
5280 * testsuite/libgomp.c++/simd-1.C: Same.
5281 * testsuite/libgomp.c++/simd-2.C: Same.
5282 * testsuite/libgomp.c++/simd-3.C: Same.
5283 * testsuite/libgomp.c++/simd-4.C: Same.
5284 * testsuite/libgomp.c++/simd-5.C: Same.
5285 * testsuite/libgomp.c++/simd-6.C: Same.
5286 * testsuite/libgomp.c++/simd-7.C: Same.
5287 * testsuite/libgomp.c++/simd-8.C: Same.
5288 * testsuite/libgomp.c++/simd-9.C: Same.
5289 * testsuite/libgomp.c++/simd10.C: Same.
5290 * testsuite/libgomp.c++/simd11.C: Same.
5291 * testsuite/libgomp.c++/simd12.C: Same.
5292 * testsuite/libgomp.c++/simd13.C: Same.
5293
3446fe48
JJ
52942015-06-30 Jakub Jelinek <jakub@redhat.com>
5295
5296 PR middle-end/66702
5297 * testsuite/libgomp.c++/pr66702-1.C: New test.
5298 * testsuite/libgomp.c++/pr66702-2.C: New test.
5299
8a36714a
TV
53002015-06-30 Tom de Vries <tom@codesourcery.com>
5301
5302 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
5303 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
5304 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
5305 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
5306
4f75d608
TV
53072015-06-30 Tom de Vries <tom@codesourcery.com>
5308
5309 PR tree-optimization/66652
5310 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
5311 using restrict pointers.
5312 (main): Add arguments to calls to f.
5313 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5314
6d9d1eeb
AT
53152015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
5316
5317 * configure.ac: Fix check for header <sys/sysctl.h>.
5318 * configure: Regenerate.
5319 * config.h.in: Likewise.
5320
1222f22b
TV
53212015-06-23 Tom de Vries <tom@codesourcery.com>
5322
5323 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
5324 abort.
5325 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
5326
d7efbbf6
TS
53272015-06-19 Thomas Schwinge <thomas@codesourcery.com>
5328
bfcd036f
TS
5329 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
5330 acc_device_nvidia.
5331
d7efbbf6
TS
5332 PR libgomp/66518
5333 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
5334 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5335
d7bfc710
TV
53362015-06-15 Tom de Vries <tom@codesourcery.com>
5337
5338 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
5339 dg-additional-options for any remaining options.
5340 * testsuite/libgomp.c/atomic-2.c: Same.
5341 * testsuite/libgomp.c/atomic-4.c: Same.
5342 * testsuite/libgomp.c/atomic-5.c: Same.
5343 * testsuite/libgomp.c/atomic-6.c: Same.
5344 * testsuite/libgomp.c/autopar-1.c: Same.
5345 * testsuite/libgomp.c/copyin-1.c: Same.
5346 * testsuite/libgomp.c/copyin-2.c: Same.
5347 * testsuite/libgomp.c/copyin-3.c: Same.
5348 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
5349 * testsuite/libgomp.c/nestedfn-5.c: Same.
5350 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
5351 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
5352 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
5353 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5354 * testsuite/libgomp.c/pr32362-1.c: Same.
5355 * testsuite/libgomp.c/pr32362-2.c: Same.
5356 * testsuite/libgomp.c/pr32362-3.c: Same.
5357 * testsuite/libgomp.c/pr39591-1.c: Same.
5358 * testsuite/libgomp.c/pr39591-2.c: Same.
5359 * testsuite/libgomp.c/pr39591-3.c: Same.
5360 * testsuite/libgomp.c/pr58392.c: Same.
5361 * testsuite/libgomp.c/pr58756.c: Same.
5362 * testsuite/libgomp.c/simd-1.c: Same.
5363 * testsuite/libgomp.c/simd-10.c: Same.
5364 * testsuite/libgomp.c/simd-11.c: Same.
5365 * testsuite/libgomp.c/simd-12.c: Same.
5366 * testsuite/libgomp.c/simd-13.c: Same.
5367 * testsuite/libgomp.c/simd-14.c: Same.
5368 * testsuite/libgomp.c/simd-15.c: Same.
5369 * testsuite/libgomp.c/simd-2.c: Same.
5370 * testsuite/libgomp.c/simd-3.c: Same.
5371 * testsuite/libgomp.c/simd-4.c: Same.
5372 * testsuite/libgomp.c/simd-5.c: Same.
5373 * testsuite/libgomp.c/simd-6.c: Same.
5374 * testsuite/libgomp.c/simd-7.c: Same.
5375 * testsuite/libgomp.c/simd-8.c: Same.
5376 * testsuite/libgomp.c/simd-9.c: Same.
5377
fb5b5352
TV
53782015-06-15 Tom de Vries <tom@codesourcery.com>
5379
5380 * testsuite/libgomp.c/pr35625.c: Fix typo.
5381
ca431bef
TV
53822015-06-15 Tom de Vries <tom@codesourcery.com>
5383
5384 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
5385 in dg-options.
5386 * testsuite/libgomp.c/atomic-3.c: Same.
5387 * testsuite/libgomp.c/debug-1.c: Same.
5388 * testsuite/libgomp.c/nqueens-1.c: Same.
5389 * testsuite/libgomp.c/pr26171.c: Same.
5390 * testsuite/libgomp.c/pr48591.c: Same.
5391 * testsuite/libgomp.c/pr64824.c: Same.
5392 * testsuite/libgomp.c/pr64868.c: Same.
5393 * testsuite/libgomp.c/pr66133.c: Same.
5394 * testsuite/libgomp.c/pr66199-1.c: Same.
5395 * testsuite/libgomp.c/pr66199-2.c: Same.
5396 * testsuite/libgomp.c/target-8.c: Same.
5397
0d8a9e20
TV
53982015-06-15 Tom de Vries <tom@codesourcery.com>
5399
5400 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
5401 -std={gnu99,c99}.
5402 * testsuite/libgomp.c/for-1.c: Same.
5403 * testsuite/libgomp.c/for-2.c: Same.
5404 * testsuite/libgomp.c/for-3.c: Same.
5405 * testsuite/libgomp.c/pr35625.c: Same.
5406 * testsuite/libgomp.c/pr39154.c: Same.
5407 * testsuite/libgomp.c/simd-16.c: Same.
5408 * testsuite/libgomp.c/simd-17.c: Same.
5409
a6860be9
TV
54102015-06-13 Tom de Vries <tom@codesourcery.com>
5411
5412 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
5413
ab3306d2
TV
54142015-06-13 Tom de Vries <tom@codesourcery.com>
5415
5416 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
5417 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5418 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
5419 (N): Define.
5420 (main): Use N instead of hardcoded constants.
5421
7c82d827
TV
54222015-06-05 Tom de Vries <tom@codesourcery.com>
5423
5424 merge from gomp4 branch:
5425 2015-05-28 Tom de Vries <tom@codesourcery.com>
5426
5427 PR tree-optimization/65443
5428 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
5429 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
5430 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
5431
c469078d
BRF
54322015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
5433
5434 * testsuite/libgomp.graphite/bounds.c: Adjust for
5435 cleanup-tree-dump removal.
5436 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
5437 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
5438 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
5439 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
5440 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
5441 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
5442 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5443 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5444 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
5445 * testsuite/libgomp.graphite/pr41118.c: Likewise.
5446
bb3caa35
UB
54472015-05-28 Uros Bizjak <ubizjak@gmail.com>
5448
5449 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
5450 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
5451 (futex_wake) [!__x86_64__]: Ditto.
5452
9fb5fd44
JB
54532015-05-28 Julian Brown <julian@codesourcery.com>
5454
5455 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
5456 function comment. Only call gomp_fatal if new argument is true.
5457 (acc_dev_num_out_of_range): New function.
5458 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
5459 acc_dev_num_out_of_range as appropriate.
5460 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
5461 (acc_get_device_num, acc_set_device_num): Update calls to
5462 resolve_device.
9fb5fd44
JB
5463 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
5464 output.
5465
32eaed93
JB
54662015-05-28 Julian Brown <julian@codesourcery.com>
5467
5468 PR libgomp/65742
32eaed93
JB
5469 * oacc-init.c (plugin/plugin-host.h): Include.
5470 (acc_on_device): Check whether we're in an offloaded region for
5471 host_nonshm
5472 plugin. Don't use __builtin_acc_on_device.
5473 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
5474 nonshm_exec flag in thread-local data.
5475 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
5476 data for host_nonshm plugin.
5477 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
5478 for host_nonshm plugin.
5479 * plugin/plugin-host.h: New.
5480
ea023bcf
UB
54812015-05-27 Uros Bizjak <ubizjak@gmail.com>
5482
8ed501f1
UB
5483 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
5484
54852015-05-27 Uros Bizjak <ubizjak@gmail.com>
5486
5487 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
5488 Declare as int.
5489 (FUTEX_PRIVATE_FLAG): Remove L suffix.
5490 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
5491 Declare as int.
5492
54932015-05-27 Uros Bizjak <ubizjak@gmail.com>
5494
bb3caa35 5495 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 5496
1716efeb
CLT
54972015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
5498
5499 * target.c (gomp_map_pointer): New function abstracting out
5500 GOMP_MAP_POINTER handling.
5501 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
5502 gomp_map_pointer().
5503
41b37d5e
JJ
55042015-05-19 Jakub Jelinek <jakub@redhat.com>
5505
5506 PR middle-end/66199
5507 * testsuite/libgomp.c/pr66199-1.c: New test.
5508 * testsuite/libgomp.c/pr66199-2.c: New test.
5509 * testsuite/libgomp.c++/pr66199-1.C: New test.
5510 * testsuite/libgomp.c++/pr66199-2.C: New test.
5511 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
5512 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
5513
c8319826
JB
55142015-05-19 Julian Brown <julian@codesourcery.com>
5515
5516 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
5517 on cuInit failure.
5518
b37dddbc
JJ
55192015-05-13 Jakub Jelinek <jakub@redhat.com>
5520
5521 PR middle-end/66133
5522 * testsuite/libgomp.c/pr66133.c: New test.
5523
55fba601
MH
55242015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
5525
5526 * Makefile.in: Regenerated with automake-1.11.6.
5527 * aclocal.m4: Likewise.
5528 * config.h.in: Likewise.
5529 * configure: Likewise.
5530 * testsuite/Makefile.in: Likewise.
5531
1be0899d
JM
55322015-05-08 Jason Merrill <jason@redhat.com>
5533
5534 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
5535 _Complex.
5536
5537 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
5538
d2463960
JB
55392015-05-06 Julian Brown <julian@codesourcery.com>
5540
5541 * oacc-init.c (acc_device_lock): Add explanatory comment.
5542 (resolve_device): Add comment about locking requirement.
5543 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
5544 gomp_init_device and gomp_fini_device calls.
5545 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
5546 (acc_get_device_num, acc_set_device_num): Add locking around
5547 resolve_device and gomp_init_device calls.
5548
e38fdba4
JB
55492015-05-06 Julian Brown <julian@codesourcery.com>
5550
5551 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
5552 goacc_thread_lock on error paths.
5553 * oacc-mem.c (lookup_host): Remove locking from function. Note
5554 locking requirement for caller in function comment.
5555 (lookup_dev): Likewise.
5556 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
5557 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
5558 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
5559 Add locking.
5560
ae8ffbbb
TS
55612015-05-05 Thomas Schwinge <thomas@codesourcery.com>
5562
5563 PR testsuite/65205
5564 PR libgomp/65993
5565 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
5566 don't expect "0x" prefix for "%p" format specifier, don't expect
5567 "(nil)" for NULL pointer.
5568 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5569 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5570 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5571 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5572 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5573 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5574 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5575 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5576 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
5577 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
5578 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5579 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5580 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5581 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5582 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
5583 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
5584 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
5585 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
5586 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5587 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5588 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5589 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5590 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5591 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5592 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5593 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5594 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
5595 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5596 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
5597 accurately specify what we're looking for.
5598 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5599 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5600 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5601 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5602 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5603
1309f1d2
JN
56042015-04-30 James Norris <jnorris@codesourcery.com>
5605
5606 PR testsuite/65205
5607 * testsuite/lib/libgomp.exp
5608 (check_effective_target_openacc_host_selected)
5609 (check_effective_target_openacc_host_nonshm_selected): New
5610 procedures.
5611 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
5612 dg-shouldfail.
5613 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
5614 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
5615 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5616 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5617 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5618 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5619 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5620 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5621 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5622 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5623 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5624 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
5625 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
5626 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5627 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5628 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
5629 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5630 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5631 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
5632 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
5633 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
5634 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
5635 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
5636 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5637 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5638 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5639 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5640 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5641 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5642 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5643 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5644 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
5645 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5646 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
5647 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5648 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5649 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5650 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5651 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5652 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
5653 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
5654 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
5655 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
5656
d93bdab5
JB
56572015-04-08 Julian Brown <julian@codesourcery.com>
5658
5659 * libgomp.h (target_mem_desc: Remove mem_map field.
5660 (acc_dispatch_t): Remove open_device_func, close_device_func,
5661 get_device_num_func, set_device_num_func, target_data members.
5662 Change create_thread_data_func argument to device number instead of
5663 generic pointer.
5664 * oacc-async.c (assert.h): Include.
5665 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
5666 (acc_wait_all, acc_wait_all_async): Use current host thread's
5667 active device, not base_dev.
5668 * oacc-cuda.c (acc_get_current_cuda_device)
5669 (acc_get_current_cuda_context, acc_get_cuda_stream)
5670 (acc_set_cuda_stream): Likewise.
5671 * oacc-host.c (host_dispatch): Don't set open_device_func,
5672 close_device_func, get_device_num_func or set_device_num_func.
5673 * oacc-init.c (base_dev, init_key): Remove.
5674 (cached_base_dev): New.
5675 (name_of_acc_device_t): New.
5676 (acc_init_1): Initialise default-numbered device, not zeroth.
5677 (acc_shutdown_1): Close all devices of a given type.
5678 (goacc_destroy_thread): Don't use base_dev.
5679 (lazy_open, lazy_init, lazy_init_and_open): Remove.
5680 (goacc_attach_host_thread_to_device): New.
5681 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
5682 (acc_get_num_devices): Don't use base_dev.
5683 (acc_set_device_type): Reimplement.
5684 (acc_get_device_type): Don't use base_dev.
5685 (acc_get_device_num): Tweak logic.
5686 (acc_set_device_num): Likewise.
5687 (acc_on_device): Use acc_get_device_type.
5688 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
5689 (goacc_lazy_initialize): Reimplement with acc_init and
5690 goacc_attach_host_thread_to_device.
5691 * oacc-int.h (goacc_thread): Add base_dev field.
5692 (base_dev): Remove extern declaration.
5693 (goacc_attach_host_thread_to_device): Add prototype.
5694 * oacc-mem.c (acc_malloc): Use current thread's device instead of
5695 base_dev.
5696 (acc_free): Likewise.
5697 (acc_memcpy_to_device): Likewise.
5698 (acc_memcpy_from_device): Likewise.
5699 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
5700 goacc_lazy_initialize (throughout).
5701 (GOACC_parallel): Use tgt_offset to locate target functions.
5702 * target.c (gomp_map_vars): Don't set tgt->mem_map.
5703 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
5704 (gomp_load_plugin_for_device): Remove open_device, close_device,
5705 get_device_num, set_device_num openacc hook initialisation. Don't set
5706 openacc.target_data.
5707 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
5708 (GOMP_OFFLOAD_openacc_close_device)
5709 (GOMP_OFFLOAD_openacc_get_device_num)
5710 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
5711 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
5712 to int.
5713 * plugin/plugin-nvptx.c (ptx_inited): Remove.
5714 (instantiated_devices, ptx_dev_lock): New.
5715 (struct ptx_image_data): New.
5716 (ptx_devices, ptx_images, ptx_image_lock): New.
5717 (fini_streams_for_device): Reorder cuStreamDestroy call.
5718 (nvptx_get_num_devices): Remove forward declaration.
5719 (nvptx_init): Change return type to bool.
5720 (nvptx_fini): Remove.
5721 (nvptx_attach_host_thread_to_device): New.
5722 (nvptx_open_device): Return struct ptx_device* instead of void*.
5723 (nvptx_close_device): Change argument type to struct ptx_device*,
5724 return type to void.
5725 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
5726 (kernel_target_data, kernel_host_table): Remove static globals.
5727 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
5728 (GOMP_OFFLOAD_init_device): Reimplement.
5729 (GOMP_OFFLOAD_fini_device): Likewise.
5730 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
5731 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
5732 (GOMP_OFFLOAD_host2dev): Use ORD argument.
5733 (GOMP_OFFLOAD_openacc_open_device)
5734 (GOMP_OFFLOAD_openacc_close_device)
5735 (GOMP_OFFLOAD_openacc_set_device_num)
5736 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
5737 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
5738 (device number).
5739
5740 testsuite/
5741 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
5742
a51df54e
IV
57432015-04-06 Ilya Verbin <ilya.verbin@intel.com>
5744
5745 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
5746 * libgomp.h (struct gomp_memory_mapping): Remove.
5747 (struct target_mem_desc): Change type of mem_map from
5748 gomp_memory_mapping * to splay_tree_s *.
5749 (struct gomp_device_descr): Remove register_image_func, get_table_func.
5750 Add load_image_func, unload_image_func.
5751 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
5752 Remove offload_regions_registered.
5753 (gomp_init_tables): Remove.
5754 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
5755 to splay_tree_s *.
5756 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
5757 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
5758 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
5759 offload_regions_registered.
5760 Initialize load_image_func, unload_image_func, mem_map.root.
5761 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
5762 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
5763 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
5764 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
5765 gomp_memory_mapping *. Use dev's lock and splay_tree.
5766 (lookup_dev): Use dev's lock.
5767 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
5768 (acc_is_present): Likewise.
5769 (acc_map_data): Likewise.
5770 (acc_unmap_data): Likewise. Use dev's lock.
5771 (present_create_copy): Likewise.
5772 (delete_copyout): Pass dev to lookup_host instead of mem_map.
5773 (update_dev_host): Likewise.
5774 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
5775 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
5776 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
5777 (GOMP_OFFLOAD_get_table): Remove
5778 (GOMP_OFFLOAD_load_image): New function.
5779 (GOMP_OFFLOAD_unload_image): New function.
5780 * target.c (register_lock): New mutex for offload image registration.
5781 (num_devices): Do not guard with PLUGIN_SUPPORT.
5782 (gomp_realloc_unlock): New static function.
5783 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
5784 before gomp_fatal.
5785 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
5786 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
5787 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
5788 mem_map's.
5789 (gomp_unmap_vars): Likewise.
5790 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
5791 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
5792 (gomp_offload_image_to_device): New static function.
5793 (GOMP_offload_register): Add mutex lock.
5794 Call gomp_offload_image_to_device for all initialized devices.
5795 Replace gomp_realloc with gomp_realloc_unlock.
5796 (GOMP_offload_unregister): New function.
5797 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
5798 get_table_func from the plugin with calls to init_device_func and
5799 gomp_offload_image_to_device.
5800 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
5801 to splay_tree_s *.
5802 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
5803 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
5804 (GOMP_target_data): Do not call gomp_init_tables.
5805 (GOMP_target_update): Likewise. Remove argument from gomp_update.
5806 (gomp_load_plugin_for_device): Replace register_image and get_table
5807 with load_image and unload_image in DLSYM ().
5808 (gomp_register_images_for_device): Remove function.
5809 (gomp_target_init): Do not initialize current_device.mem_map.*,
5810 current_device.offload_regions_registered.
5811 Remove call to gomp_register_images_for_device.
5812 Do not free offload_images and num_offload_images.
5813
6c384511
JJ
58142015-03-30 Jakub Jelinek <jakub@redhat.com>
5815
5816 PR fortran/65597
5817 * testsuite/libgomp.fortran/pr65597.f90: New test.
5818
3e8165a5
TV
58192015-03-27 Tom de Vries <tom@codesourcery.com>
5820
5821 PR testsuite/65594
5822 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
5823 (init, check): New function.
5824 (foo): Change return type to void.
5825 (main): Call init and check.
5826
4d688c9a
TV
58272015-03-27 Tom de Vries <tom@codesourcery.com>
5828
5829 PR testsuite/65594
5830 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
5831 (foo): Use M for non-inner loops to scale down test-case.
5832
01c0b3b0
KT
58332015-03-25 Kai Tietz <ktietz@redhat.com>
5834
5835 PR libgomp/64972
5836 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
5837 (GOACC_data_start): Likewise.
5838 * target.c (gomp_map_vars): Likewise.
5839
844d9a76
JDA
58402015-03-21 John David Anglin <danglin@gcc.gnu.org>
5841
5842 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
5843 hppa*-*-hpux*.
5844
9b65e171
JJ
58452015-03-19 Jakub Jelinek <jakub@redhat.com>
5846
5847 * testsuite/libgomp.c/target-10.c: New test.
5848 * testsuite/libgomp.c++/target-4.C: New test.
5849
db397e2e
IV
58502015-03-13 Ilya Verbin <ilya.verbin@intel.com>
5851
5852 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
5853 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
5854
cd93945d
SH
58552015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
5856
5857 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
5858 * configure.ac (*-*-rtems*): Assume Pthread is supported.
5859 (pthread.h): Check for this header file.
5860 * configure: Regenerate.
5861
05deba9f
TV
58622015-02-25 Tom de Vries <tom@codesourcery.com>
5863
5864 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
5865 (check_reduction_op, check_reduction_macro, max, min):
5866 Declare.
5867 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
5868 function.
5869 (main): Use new functions.
5870
196904d8
IT
58712015-02-18 Ilya Tocar <ilya.tocar@intel.com>
5872
5873 * target.c (gomp_load_plugin_for_device): Use const char * instead of
5874 char * for variables holding dlerror return values.
5875 (DLSYM_OPT): Ditto.
5876
a2818955
TS
58772015-02-17 Thomas Schwinge <thomas@codesourcery.com>
5878
5879 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
5880
26f93312
TS
58812015-02-17 Thomas Schwinge <thomas@codesourcery.com>
5882 Cesar Philippidis <cesar@codesourcery.com>
5883
5884 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
5885 GOACC_ctaid, and GOACC_nctaid routines.
5886
fa01ffcc
JJ
58872015-02-11 Jakub Jelinek <jakub@redhat.com>
5888
5889 PR c/64824
5890 * testsuite/libgomp.c/atomic-18.c: New test.
5891 * testsuite/libgomp.c++/atomic-16.C: New test.
5892
4886ec8e
JJ
58932015-02-04 Jakub Jelinek <jakub@redhat.com>
5894
5895 PR c/64824
5896 PR c/64868
5897 * testsuite/libgomp.c/pr64824.c: New test.
5898 * testsuite/libgomp.c/pr64868.c: New test.
5899 * testsuite/libgomp.c++/pr64824.C: New test.
5900 * testsuite/libgomp.c++/pr64868.C: New test.
5901
02d3e45e
DE
59022015-02-01 David Edelsohn <dje.gcc@gmail.com>
5903
5904 PR libgomp/64635
5905 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
5906 Link with -lpthread.
5907 * config/aix/plugin-suffix.h: Delete.
5908
b5f7a6ca
JH
59092015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
5910
5911 PR libgomp/64635
5912 * configure.tgt (*-*-aix*): Use config_path "aix posix".
5913 (*-*-darwin*): Use config_path "bsd darwin posix".
5914 (*-*-hpux*): Use config_path "hpux posix".
5915 * target.c: Add include of plugin-suffix.h and use
5916 SONAME_SUFFIX macro.
5917 * config/aix/plugin-suffix.h: New file.
5918 * config/darwin/plugin-suffix.h: New file.
5919 * config/hpux/plugin-suffix.h: New file.
5920 * config/posix/plugin-suffix.h: New file.
5921
b8910447
JJ
59222015-01-23 Jakub Jelinek <jakub@redhat.com>
5923
5924 PR middle-end/64734
5925 * libgomp.c/pr64734.c: New test.
5926
a0c88d06
TV
59272015-01-23 Tom de Vries <tom@codesourcery.com>
5928
5929 PR libgomp/64672
5930 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
5931
1506ae0e
TV
59322015-01-23 Tom de Vries <tom@codesourcery.com>
5933
5934 PR libgomp/64707
5935 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
5936 dg-options.
5937
128b26dc
TS
59382015-01-19 Thomas Schwinge <thomas@codesourcery.com>
5939
bed62c21 5940 PR libgomp/64625
128b26dc
TS
5941 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
5942 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
5943 formal parameter. Update all users.
5944 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
5945 Document unused formal parameter.
5946
6e36114c
TS
59472015-01-16 Thomas Schwinge <thomas@codesourcery.com>
5948
5949 * oacc-parallel.c: Don't include <alloca.h>.
5950 (GOACC_parallel): Use gomp_alloca instead of alloca.
5951
973e9808
GP
59522015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
5953
5954 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
5955
41dbbb37
TS
59562015-01-15 Thomas Schwinge <thomas@codesourcery.com>
5957 James Norris <jnorris@codesourcery.com>
5958 Tom de Vries <tom@codesourcery.com>
5959 Julian Brown <julian@codesourcery.com>
5960 Cesar Philippidis <cesar@codesourcery.com>
5961 Nathan Sidwell <nathan@codesourcery.com>
5962 Tobias Burnus <burnus@net-b.de>
5963
5964 * Makefile.am (search_path): Add $(top_srcdir)/../include.
5965 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
5966 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
5967 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
5968 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
5969 Include $(top_srcdir)/plugin/Makefrag.am.
5970 (nodist_libsubinclude_HEADERS): Add openacc.h.
5971 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
5972 openacc.f90, openacc.mod, openacc_kinds.mod.
5973 (omp_lib.mod): Generalize into...
5974 (%.mod): ... this new rule.
5975 (openacc_kinds.mod, openacc.mod): New rules.
5976 * plugin/configfrag.ac: New file.
5977 * configure.ac: Move plugin/offloading support into it. Include
5978 it. Instantiate testsuite/libgomp-test-support.pt.exp.
5979 * plugin/Makefrag.am: New file.
5980 * testsuite/Makefile.am (OFFLOAD_TARGETS)
5981 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
5982 export.
5983 (libgomp-test-support.exp): New rule.
5984 (all-local): Depend on it.
5985 * Makefile.in: Regenerate.
5986 * testsuite/Makefile.in: Regenerate.
5987 * config.h.in: Likewise.
5988 * configure: Likewise.
5989 * configure.tgt: Harden shell syntax.
5990 * env.c: Include "oacc-int.h".
5991 (parse_acc_device_type): New function.
5992 (gomp_debug_var, goacc_device_type, goacc_device_num): New
5993 variables.
5994 (initialize_env): Initialize those. Call
5995 goacc_runtime_initialize.
5996 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
5997 (gomp_fatal): Call gomp_vfatal.
5998 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
5999 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
6000 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
6001 (splay_tree_node, splay_tree, splay_tree_key)
6002 (struct target_mem_desc, struct splay_tree_key_s)
6003 (struct gomp_memory_mapping, struct acc_dispatch_t)
6004 (struct gomp_device_descr, gomp_acc_insert_pointer)
6005 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
6006 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
6007 (gomp_free_memmap, gomp_fini_device): New declarations.
6008 (gomp_vdebug, gomp_debug): New macros.
6009 Include "splay-tree.h".
6010 * libgomp.map (OACC_2.0): New symbol version. Use for
6011 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
6012 acc_set_device_type_h_, acc_get_device_type,
6013 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
6014 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
6015 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
6016 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
6017 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
6018 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
6019 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
6020 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
6021 acc_copyin_array_h_, acc_present_or_copyin,
6022 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
6023 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
6024 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
6025 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
6026 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
6027 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
6028 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
6029 acc_update_device, acc_update_device_32_h_,
6030 acc_update_device_64_h_, acc_update_device_array_h_,
6031 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
6032 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
6033 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
6034 acc_is_present_64_h_, acc_is_present_array_h_,
6035 acc_memcpy_to_device, acc_memcpy_from_device,
6036 acc_get_current_cuda_device, acc_get_current_cuda_context,
6037 acc_get_cuda_stream, acc_set_cuda_stream.
6038 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
6039 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
6040 GOACC_update, GOACC_wait, GOACC_get_thread_num,
6041 GOACC_get_num_threads.
6042 (GOMP_PLUGIN_1.0): New symbol version. Use for
6043 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
6044 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
6045 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
6046 GOMP_PLUGIN_acc_thread.
6047 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
6048 environment variable.
6049 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
6050 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
6051 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
6052 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
6053 (splay_tree_remove): New declarations.
6054 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
6055 (splay_tree_remove, splay_tree_lookup): Move into...
6056 * splay-tree.c: ... this new file.
6057 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
6058 (splay_tree_node, splay_tree, splay_tree_key)
6059 (struct target_mem_desc, struct splay_tree_key_s)
6060 (struct gomp_device_descr): Don't declare.
6061 (num_devices_openmp): New variable.
6062 (gomp_get_num_devices ): Use it.
6063 (gomp_init_targets_once): New function.
6064 (gomp_get_num_devices ): Use it.
6065 (get_kind, gomp_copy_from_async, gomp_free_memmap)
6066 (gomp_fini_device, gomp_register_image_for_device): New functions.
6067 (gomp_map_vars): Add devaddrs parameter.
6068 (gomp_update): Add mm parameter.
6069 (gomp_init_device): Move most of it into...
6070 (gomp_init_tables): ... this new function.
6071 (gomp_register_images_for_device): Remove function.
6072 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
6073 Make them hidden instead of static.
6074 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
6075 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
6076 (GOMP_target_end_data, GOMP_target_update)
6077 (gomp_load_plugin_for_device, gomp_target_init): Update for
6078 OpenACC changes.
6079 * oacc-async.c: New file.
6080 * oacc-cuda.c: Likewise.
6081 * oacc-host.c: Likewise.
6082 * oacc-init.c: Likewise.
6083 * oacc-int.h: Likewise.
6084 * oacc-mem.c: Likewise.
6085 * oacc-parallel.c: Likewise.
6086 * oacc-plugin.c: Likewise.
6087 * oacc-plugin.h: Likewise.
6088 * oacc-ptx.h: Likewise.
6089 * openacc.f90: Likewise.
6090 * openacc.h: Likewise.
6091 * openacc_lib.h: Likewise.
6092 * plugin/plugin-host.c: Likewise.
6093 * plugin/plugin-nvptx.c: Likewise.
6094 * libgomp-plugin.c: Likewise.
6095 * libgomp-plugin.h: Likewise.
6096 * libgomp_target.h: Remove file after merging content into the
6097 former file. Update all users.
6098 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
6099 (offload_targets_s, offload_targets_s_openacc): New variables.
6100 (check_effective_target_openacc_nvidia_accel_present)
6101 (check_effective_target_openacc_nvidia_accel_selected): New
6102 procedures.
6103 (libgomp_init): Update for OpenACC changes.
6104 * testsuite/libgomp-test-support.exp.in: New file.
6105 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6106 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6107 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6108 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
6109 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
6110 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6111 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
6112 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6113 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6114 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
6115 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
6116 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6117 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
6118 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6119 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6120 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
6121 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
6122 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
6123 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
6124 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
6125 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
6126 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6127 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6128 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6129 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6130 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6131 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6132 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6133 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6134 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6135 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6136 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6137 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6138 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
6139 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
6140 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6141 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6142 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6143 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
6144 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
6145 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6146 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6147 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6148 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6149 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6150 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
6151 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6152 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6153 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6154 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6155 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6156 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6157 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6158 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6159 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6160 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6161 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6162 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6163 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6164 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
6165 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
6166 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
6167 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6168 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6169 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6170 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
6171 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
6172 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6173 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6174 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6175 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
6176 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6177 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6178 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6179 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
6180 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
6181 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6182 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6183 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
6184 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
6185 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
6186 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
6187 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6188 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6189 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6190 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
6191 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
6192 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6193 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6194 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
6195 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
6196 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
6197 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
6198 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6199 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6200 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6201 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6202 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
6203 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6204 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6205 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
6206 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
6207 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
6208 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6209 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
6210 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
6211 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
6212 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
6213 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
6214 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6215 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
6216 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6217 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6218 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
6219 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
6220 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6221 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
6222 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6223 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
6224 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
6225 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
6226 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
6227 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6228 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
6229 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
6230 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
6231 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
6232 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
6233 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
6234 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
6235 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
6236 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
6237 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6238 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
6239 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6240 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6241 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6242 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6243 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6244 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
6245 Likewise.
6246 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
6247 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
6248 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
6249 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6250 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
6251 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6252 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
6253 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6254 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6255 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6256 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6257 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6258 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6259 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
6260 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6261 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
6262 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
6263 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
6264 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
6265 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
6266 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
6267 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
6268 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
6269 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
6270 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
6271 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
6272 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6273 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6274 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6275 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6276 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6277 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6278 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6279 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6280 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
6281 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
6282 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
6283 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
6284 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
6285 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
6286 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
6287 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
6288 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
6289 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
6290 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
6291 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
6292 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
6293 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
6294 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6295 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6296 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6297 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6298 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6299 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6300 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
6301 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
6302 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
6303 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
6304 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
6305 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
6306
f1f3453e
TS
63072015-01-10 Thomas Schwinge <thomas@codesourcery.com>
6308 Julian Brown <julian@codesourcery.com>
6309 David Malcolm <dmalcolm@redhat.com>
6310
6311 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
6312 to "GNU Offloading and Multi Processing Runtime Library". Change
6313 all users.
6314 * configure: Regenerate.
6315 * libgomp.texi: Update.
6316
f9a0eca4
TS
63172015-01-08 Thomas Schwinge <thomas@codesourcery.com>
6318
b335ef4e
TS
6319 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
6320 "$tgt_dir/lib32".
6321 * configure: Regenerate.
6322
f9a0eca4
TS
6323 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
6324 "intelmic" in $offload_targets.
6325
b67cd4e3
JJ
63262015-01-05 Jakub Jelinek <jakub@redhat.com>
6327
5624e564
JJ
6328 Update copyright years.
6329
b67cd4e3
JJ
6330 * libgomp.texi: Bump @copying's copyright year.
6331
3b41b583
KT
63322014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6333
6334 * testsuite/lib/libgomp.exp: Load target-utils.exp.
6335 Move load of target-supportes.exp earlier.
6336
2354caec
IV
63372014-12-10 Ilya Verbin <ilya.verbin@intel.com>
6338
6339 * testsuite/libgomp.c/target-9.c: New test.
6340
f50eecba
VR
63412014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
6342
6343 * config.h.in: Regenerate.
6344 * configure: Regenerate.
6345 * configure.ac: Add GCC_CHECK_EMUTLS.
6346 * libgomp.h: Add check for USE_EMUTLS: this case
6347 is equal to HAVE_TLS.
6348 * team.c: Likewise.
6349
68bc9270
UB
63502014-12-03 Uros Bizjak <ubizjak@gmail.com>
6351
6352 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
6353
476ff787
AT
63542014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
6355 Ilya Verbin <ilya.verbin@intel.com>
6356
6357 * testsuite/libgomp.c/target-critical-1.c: New test.
6358
31a30e62
JJ
63592014-11-26 Jakub Jelinek <jakub@redhat.com>
6360
6361 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 6362 to dg-options unless expensive testing is on.
31a30e62
JJ
6363 (TESTITERS): Define to N if not defined.
6364 (main): Use TESTITERS instead of N.
6365 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
6366 dg-additional-options depending on whether expensive testing is on.
6367 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
6368 Decrease N to 100000 and CHUNKSZ to 10000.
6369
3f9e8f13
JJ
63702014-11-24 Jakub Jelinek <jakub@redhat.com>
6371
6372 PR fortran/63938
31a30e62
JJ
6373 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
6374 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 6375
c8451a46
SE
63762014-11-21 Steve Ellcey <sellcey@imgtec.com>
6377
6378 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
6379
a699d672
L
63802014-11-21 H.J. Lu <hongjiu.lu@intel.com>
6381
6382 PR bootstrap/63784
6383 * configure: Regenerated.
6384
4a19f719
UB
63852014-11-19 Uros Bizjak <ubizjak@gmail.com>
6386
6387 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
6388 vect_simd_clones effective target.
6389 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
6390
b1bf6c52
JJ
63912014-11-14 Jakub Jelinek <jakub@redhat.com>
6392
6393 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
6394 of 32 as block_size.
6395 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
6396 instead of 32 as block_size.
6397
d64ae614
AT
63982014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
6399 Ilya Verbin <ilya.verbin@intel.com>
6400
6401 * Makefile.in: Regenerate.
6402 * configure: Regenerate.
6403 * configure.ac: Set up offload_additional_options,
6404 offload_additional_lib_paths and offload_targets.
6405 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
6406 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
6407 * testsuite/Makefile.in: Regenerate.
6408 * testsuite/lib/libgomp.exp (libgomp_init): Append
6409 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
6410 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
6411 build directory to LD_LIBRARY_PATH for intelmic offload targets.
6412
122d7303
AT
64132014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
6414 Ilya Verbin <ilya.verbin@intel.com>
6415 Kirill Yukhin <kirill.yukhin@intel.com>
6416 Ilya Tocar <ilya.tocar@intel.com>
6417
6418 * testsuite/lib/libgomp.exp
6419 (check_effective_target_offload_device): New.
6420 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
6421 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
6422 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
6423 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
6424 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
6425 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
6426 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
6427 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
6428 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
6429 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
6430 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
6431 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
6432 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
6433 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
6434 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
6435 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
6436 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
6437 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
6438 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
6439 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
6440 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
6441 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
6442 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
6443 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
6444 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
6445 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
6446 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
6447 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
6448 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
6449 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
6450 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
6451 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
6452 * testsuite/libgomp.c/target-7.c: Fix test.
6453 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
6454 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
6455 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
6456 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
6457 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
6458 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
6459 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
6460 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
6461 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
6462 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
6463 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
6464 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
6465 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
6466 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
6467 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
6468 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
6469 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
6470 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
6471 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
6472 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
6473 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
6474 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
6475 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
6476 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
6477 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
6478 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
6479 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
6480 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
6481 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
6482 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
6483 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
6484
1df3f842
JJ
64852014-11-13 Jakub Jelinek <jakub@redhat.com>
6486 Ilya Verbin <ilya.verbin@intel.com>
6487 Thomas Schwinge <thomas@codesourcery.com>
6488 Andrey Turetskiy <andrey.turetskiy@intel.com>
6489
6490 * libgomp.map (GOMP_4.0.1): New symbol version.
6491 Add GOMP_offload_register.
6492 * libgomp_target.h: New file.
6493 * splay-tree.h: New file.
6494 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
6495 (gomp_target_init): New forward declaration.
6496 (gomp_is_initialized): New static variable.
6497 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
6498 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
6499 New structures.
6500 (offload_images, num_offload_images, devices, num_devices): New static
6501 variables.
6502 (splay_compare): New static function.
6503 (struct gomp_device_descr): New structure.
6504 (gomp_get_num_devices): Call gomp_target_init.
6505 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
6506 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
6507 (GOMP_offload_register): New function.
6508 (GOMP_target): Arrange for host callback to be performed in a separate
6509 initial thread and contention group, inheriting ICVs from
6510 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
6511 Add device initialization and lookup for target function in splay tree.
6512 (GOMP_target_data): Add device initialization and call gomp_map_vars.
6513 (GOMP_target_end_data): Call gomp_unmap_vars.
6514 (GOMP_target_update): Add device initialization and call gomp_update.
6515 (gomp_load_plugin_for_device, gomp_register_images_for_device)
6516 (gomp_target_init): New static functions.
6517
85c64bbe
BS
65182014-11-13 Bernd Schmidt <bernds@codesourcery.com>
6519 Thomas Schwinge <thomas@codesourcery.com>
6520 Ilya Verbin <ilya.verbin@intel.com>
6521 Andrey Turetskiy <andrey.turetskiy@intel.com>
6522
6523 * config.h.in: Regenerate.
6524 * configure: Regenerate.
6525 * configure.ac: Check for libdl, required for plugin support.
6526 (PLUGIN_SUPPORT): Define if plugins are supported.
6527 (enable_offload_targets): Support Intel MIC targets.
6528 (OFFLOAD_TARGETS): List of target names suitable for offloading.
6529
ebf6d33b
FXC
65302014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6531
6532 PR target/63610
6533 * configure: Regenerate.
6534
8c768629
RO
65352014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6536
6537 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
6538
c1d62412
MP
65392014-10-06 Marek Polacek <polacek@redhat.com>
6540
6541 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
6542 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
6543 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
6544 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6545
44a0c6cb
MP
65462014-10-06 Marek Polacek <polacek@redhat.com>
6547
6548 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
6549 * testsuite/libgomp.c/nqueens-1.c: Likewise.
6550 * testsuite/libgomp.c/pr26943-3.c: Likewise.
6551 * testsuite/libgomp.c/pr26943-4.c: Likewise.
6552 * testsuite/libgomp.c/pr36802-2.c: Likewise.
6553 * testsuite/libgomp.c/pr36802-3.c: Likewise.
6554 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
6555 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6556 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
6557 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
6558 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
6559 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
6560 * testsuite/libgomp.c/omp-single-1.c: Likewise.
6561 * testsuite/libgomp.c/omp-single-2.c: Likewise.
6562 * testsuite/libgomp.c/omp_matvec.c: Likewise.
6563 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
6564 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
6565 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
6566 declarations.
6567
5771c391
JJ
65682014-10-03 Jakub Jelinek <jakub@redhat.com>
6569
6570 PR libgomp/61200
6571 * testsuite/libgomp.c/pr61200.c: New test.
6572
bce16b88
JJ
65732014-09-18 Jakub Jelinek <jakub@redhat.com>
6574
6575 PR c++/63248
6576 * testsuite/libgomp.c++/pr63248.C: New test.
6577
3696163c
JJ
65782014-08-04 Jakub Jelinek <jakub@redhat.com>
6579
6580 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
6581 is not zero, but taskgroup->children is NULL and there are
6582 any task->children, schedule those instead of waiting.
6583 * testsuite/libgomp.c/depend-6.c: New test.
6584 * testsuite/libgomp.c/depend-7.c: New test.
6585 * testsuite/libgomp.c/depend-8.c: New test.
6586 * testsuite/libgomp.c/depend-9.c: New test.
6587 * testsuite/libgomp.c/depend-10.c: New test.
6588
0494285a
JJ
65892014-08-01 Jakub Jelinek <jakub@redhat.com>
6590
6591 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
6592 (struct gomp_taskwait): New type.
6593 (struct gomp_task): Add taskwait and parent_depends_on, remove
6594 in_taskwait and taskwait_sem fields.
6595 (gomp_finish_task): Don't destroy taskwait_sem.
6596 * task.c (gomp_init_task): Don't init in_taskwait, instead init
6597 taskwait and parent_depends_on.
6598 (GOMP_task): For if (0) tasks with depend clause that depend on
6599 earlier tasks don't defer them, instead call
6600 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
6601 Initialize redundant_out field, for redundant out entries just
6602 move them at the end of linked list instead of removing them
6603 completely, and set redundant_out flag instead of redundant.
6604 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
6605 that task.
6606 (gomp_task_run_post_handle_dependers): If parent is in
6607 gomp_task_maybe_wait_for_dependencies and newly runnable task
6608 is not parent_depends_on, queue it in parent->children linked
6609 list after all runnable tasks with parent_depends_on set.
6610 Adjust for addition of taskwait indirection.
6611 (gomp_task_run_post_remove_parent): If parent is in
6612 gomp_task_maybe_wait_for_dependencies and task to be removed
6613 is parent_depends_on, decrement n_depend and if needed awake
6614 parent. Adjust for addition of taskwait indirection.
6615 (GOMP_taskwait): Adjust for addition of taskwait indirection.
6616 (gomp_task_maybe_wait_for_dependencies): New function.
6617 * testsuite/libgomp.c/depend-5.c: New test.
6618
60ab4b44
TB
66192014-07-13 Tobias Burnus <burnus@net-b.de>
6620
6621 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 6622 with TS 18508/Fortran 2015.
60ab4b44 6623
773ec47f
MP
66242014-07-06 Marek Polacek <polacek@redhat.com>
6625
6626 PR c/6940
6627 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
6628
f707da16
JJ
66292014-07-03 Jakub Jelinek <jakub@redhat.com>
6630
6631 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
6632 matches regex $lang_source_re, add $lang_include_flags to options.
6633 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
6634 * testsuite/libgomp.c++/c++.exp: Likewise.
6635 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
6636 and lang_include_flags instead of adding -fintrinsic-modules-path= to
6637 ALWAYS_CFLAGS.
6638 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
6639
07b6c044
TS
66402014-07-03 Thomas Schwinge <thomas@codesourcery.com>
6641
6642 * testsuite/libgomp.fortran/fortran.exp: Explain
6643 gfortran-dg-runtest usage.
6644
da6f124d
JJ
66452014-06-25 Jakub Jelinek <jakub@redhat.com>
6646
6647 * testsuite/libgomp.fortran/simd5.f90: New test.
6648 * testsuite/libgomp.fortran/simd6.f90: New test.
6649 * testsuite/libgomp.fortran/simd7.f90: New test.
6650
b46ebd6c
JJ
66512014-06-24 Jakub Jelinek <jakub@redhat.com>
6652
56ad0e38
JJ
6653 * testsuite/libgomp.c/for-2.c: Define SC to static for
6654 #pragma omp for simd testing.
6655 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
6656 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
6657 SC macro.
6658 * testsuite/libgomp.c/simd-14.c: New test.
6659 * testsuite/libgomp.c/simd-15.c: New test.
6660 * testsuite/libgomp.c/simd-16.c: New test.
6661 * testsuite/libgomp.c/simd-17.c: New test.
6662 * testsuite/libgomp.c++/for-10.C: Define SC to static for
6663 #pragma omp for simd testing.
6664 * testsuite/libgomp.c++/simd10.C: New test.
6665 * testsuite/libgomp.c++/simd11.C: New test.
6666 * testsuite/libgomp.c++/simd12.C: New test.
6667 * testsuite/libgomp.c++/simd13.C: New test.
6668
b46ebd6c
JJ
6669 * testsuite/libgomp.fortran/aligned1.f03: New test.
6670 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
6671 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
6672 tasks with !$omp parallel !$omp single.
6673 * testsuite/libgomp.fortran/target8.f90: New test.
6674 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
6675 not to use trim in the combiner, instead call elemental function.
6676 (fn): New elemental function.
6677 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
6678 Make elemental.
6679 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
6680 omp_in): Likewise.
6681 * testsuite/libgomp.fortran/udr12.f90: New test.
6682 * testsuite/libgomp.fortran/udr13.f90: New test.
6683 * testsuite/libgomp.fortran/udr14.f90: New test.
6684 * testsuite/libgomp.fortran/udr15.f90: New test.
6685
f014c653
JJ
66862014-06-18 Jakub Jelinek <jakub@redhat.com>
6687
6688 * omp_lib.f90.in (openmp_version): Set to 201307.
6689 * omp_lib.h.in (openmp_version): Likewise.
6690 * testsuite/libgomp.c/target-8.c: New test.
6691 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
6692 and inbranch clauses.
6693 * testsuite/libgomp.fortran/depend-3.f90: New test.
6694 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
6695 openmp_version.
6696 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
6697 * testsuite/libgomp.fortran/target1.f90: New test.
6698 * testsuite/libgomp.fortran/target2.f90: New test.
6699 * testsuite/libgomp.fortran/target3.f90: New test.
6700 * testsuite/libgomp.fortran/target4.f90: New test.
6701 * testsuite/libgomp.fortran/target5.f90: New test.
6702 * testsuite/libgomp.fortran/target6.f90: New test.
6703 * testsuite/libgomp.fortran/target7.f90: New test.
6704
92d28cbb
JJ
67052014-06-10 Jakub Jelinek <jakub@redhat.com>
6706
6707 PR fortran/60928
6708 * testsuite/libgomp.fortran/allocatable9.f90: New test.
6709 * testsuite/libgomp.fortran/allocatable10.f90: New test.
6710 * testsuite/libgomp.fortran/allocatable11.f90: New test.
6711 * testsuite/libgomp.fortran/allocatable12.f90: New test.
6712 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
6713 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
6714 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
6715 * testsuite/libgomp.fortran/associate1.f90: New test.
6716 * testsuite/libgomp.fortran/associate2.f90: New test.
6717 * testsuite/libgomp.fortran/procptr1.f90: New test.
6718
5f23671d
JJ
67192014-06-06 Jakub Jelinek <jakub@redhat.com>
6720
6721 * testsuite/libgomp.fortran/simd1.f90: New test.
6722 * testsuite/libgomp.fortran/udr1.f90: New test.
6723 * testsuite/libgomp.fortran/udr2.f90: New test.
6724 * testsuite/libgomp.fortran/udr3.f90: New test.
6725 * testsuite/libgomp.fortran/udr4.f90: New test.
6726 * testsuite/libgomp.fortran/udr5.f90: New test.
6727 * testsuite/libgomp.fortran/udr6.f90: New test.
6728 * testsuite/libgomp.fortran/udr7.f90: New test.
6729 * testsuite/libgomp.fortran/udr8.f90: New test.
6730 * testsuite/libgomp.fortran/udr9.f90: New test.
6731 * testsuite/libgomp.fortran/udr10.f90: New test.
6732 * testsuite/libgomp.fortran/udr11.f90: New test.
6733
0389fbb5
UB
67342014-05-27 Uros Bizjak <ubizjak@gmail.com>
6735
6736 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
6737 vect_simd_clones effective target.
6738 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
6739
decaaec8
JJ
67402014-05-21 Jakub Jelinek <jakub@redhat.com>
6741
6742 PR middle-end/61252
6743 * testsuite/libgomp.c++/simd-9.C: New test.
6744
72832460
UB
67452014-05-18 Uros Bizjak <ubizjak@gmail.com>
6746
6747 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
6748 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
6749 texts according to their @menu entry positions.
6750
dd2fc525
JJ
67512014-05-11 Jakub Jelinek <jakub@redhat.com>
6752
6753 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
6754 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
6755 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
6756 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
6757 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
6758 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
6759 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
6760 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
6761 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
6762 * testsuite/libgomp.fortran/depend-1.f90: New test.
6763 * testsuite/libgomp.fortran/depend-2.f90: New test.
6764 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
6765 * testsuite/libgomp.fortran/simd1.f90: New test.
6766 * testsuite/libgomp.fortran/simd2.f90: New test.
6767 * testsuite/libgomp.fortran/simd3.f90: New test.
6768 * testsuite/libgomp.fortran/simd4.f90: New test.
6769 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
6770
95782571
JJ
67712014-05-02 Jakub Jelinek <jakub@redhat.com>
6772
6773 * testsuite/libgomp.c/simd-10.c: New test.
6774 * testsuite/libgomp.c/simd-11.c: New test.
6775 * testsuite/libgomp.c/simd-12.c: New test.
6776 * testsuite/libgomp.c/simd-13.c: New test.
6777
f7468577
JJ
67782014-04-24 Jakub Jelinek <jakub@redhat.com>
6779
42056eac
JJ
6780 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
6781 atomic type clauses in any order and optional comma in between.
6782 * testsuite/libgomp.c++/atomic-15.C: Likewise.
6783 * testsuite/libgomp.c/atomic-17.c: Likewise.
6784
f7468577
JJ
6785 * testsuite/libgomp.c/simd-7.c: New test.
6786 * testsuite/libgomp.c/simd-8.c: New test.
6787 * testsuite/libgomp.c/simd-9.c: New test.
6788 * testsuite/libgomp.c/loop-16.c: New test.
6789
ab18f2f5
RH
67902014-04-02 Richard Henderson <rth@redhat.com>
6791
6792 * config/linux/futex.h (futex_wait): Get error value from errno.
6793 (futex_wake): Likewise.
6794
8bcc90b0
JJ
67952014-03-25 Jakub Jelinek <jakub@redhat.com>
6796
6797 PR c++/60331
6798 * testsuite/libgomp.c++/udr-11.C: New test.
6799 * testsuite/libgomp.c++/udr-12.C: New test.
6800 * testsuite/libgomp.c++/udr-13.C: New test.
6801 * testsuite/libgomp.c++/udr-14.C: New test.
6802 * testsuite/libgomp.c++/udr-15.C: New test.
6803 * testsuite/libgomp.c++/udr-16.C: New test.
6804 * testsuite/libgomp.c++/udr-17.C: New test.
6805 * testsuite/libgomp.c++/udr-18.C: New test.
6806 * testsuite/libgomp.c++/udr-19.C: New test.
6807
18d73c7f
RS
68082014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
6809
6810 Update copyright years
6811
f9030485
RS
68122014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
6813
6814 * hashtab.h: Use the standard form for the copyright notice.
6815
98db73df
TB
68162014-01-02 Tobias Burnus <burnus@net-b.de>
6817
6818 * libgomp.texi: Bump @copying's copyright year.
6819
ae246f7f
AT
68202013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
6821
6822 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
6823 alloca () with __builtin_alloca ().
6824 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
6825 * testsuite/libgomp.c/lock-3.c: Likewise.
6826 * testsuite/libgomp.c/pr48591.c: Likewise.
6827
fa00a5fe
JJ
68282013-12-17 Jakub Jelinek <jakub@redhat.com>
6829
6830 PR testsuite/59534
6831 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
6832 comparisons.
6833
e9792e1d
JJ
68342013-12-16 Jakub Jelinek <jakub@redhat.com>
6835
6836 PR libgomp/58756
6837 * testsuite/libgomp.c/pr58756.c: New test.
6838
cab37c89
JJ
68392013-12-12 Jakub Jelinek <jakub@redhat.com>
6840
6841 PR libgomp/59467
6842 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
6843 !$omp parallel.
6844
de14871c
TS
68452013-11-07 Thomas Schwinge <thomas@codesourcery.com>
6846
1707a5de
TS
6847 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
6848 ALWAYS_CFLAGS.
6849 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
6850 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
6851 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
6852 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
6853 Likewise.
6854
70f05c43
TS
6855 * libgomp_g.h: Include <stddef.h> for size_t.
6856
de14871c
TS
6857 * libgomp.spec.in: Update comment about libgomp's dependencies.
6858 * configure.ac: Likewise.
6859 * configure: Regenerate.
6860
83fd6c5b
TB
68612013-10-16 Tobias Burnus <burnus@net-b.de>
6862
6863 * libgomp.texi: (Runtime Library Routines): Update references for
6864 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
6865 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
6866 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
6867 (Environment Variables): Update references for OpenMP 4.0. Add
6868 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
6869 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
6870 order.
6871
c8673881
JJ
68722013-10-14 Jakub Jelinek <jakub@redhat.com>
6873
6874 * env.c (parse_bind_var): Initialize value to avoid
6875 (false positive) warning.
6876
f89163fd
JJ
68772013-10-12 Jakub Jelinek <jakub@redhat.com>
6878
6879 PR libgomp/58691
6880 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
6881 to check variable.
6882 (gomp_init_num_threads): Move i variable declaration into
6883 #ifdef CPU_ALLOC_SIZE block.
6884 * config/linux/affinity.c (gomp_affinity_init_level): Test
6885 gomp_places_list_len == 0 rather than gomp_places_list == 0
6886 when checking for topology reading error.
6887 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
6888 * env.c (parse_affinity): Add ignore argument, if true, don't populate
6889 gomp_places_list, only parse env var and always return false.
6890 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
6891 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
6892 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
6893 and either of these variables were parsed correctly into a places
6894 list.
6895
1d340638
TS
68962013-10-11 Thomas Schwinge <thomas@codesourcery.com>
6897 Jakub Jelinek <jakub@redhat.com>
6898
6899 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
6900 of 5 loopfn matches.
6901 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6902 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6903 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
6904 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6905 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6906 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6907 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6908 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6909
71a81c21
TS
69102013-10-11 Thomas Schwinge <thomas@codesourcery.com>
6911
bd87f731
TS
6912 * Makefile.am (omp_lib.mod): Streamline rule.
6913 * Makefile.in: Regenerate.
6914
f5745bed
TS
6915 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
6916 exceptions.
6917
b5512c66
TS
6918 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
6919 * testsuite/libgomp.fortran/lib1.f90: Likewise.
6920 * testsuite/libgomp.fortran/lib2.f: Likewise.
6921 * testsuite/libgomp.fortran/lib3.f: Likewise.
6922
451c19c4
TS
6923 * configure.ac: Typo fix.
6924 * configure: Regenerate.
6925
86a6016d
TS
6926 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
6927 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
6928
71a81c21
TS
6929 * omp.h.in: Don't touch the user's namespace.
6930
acf0174b
JJ
69312013-10-11 Jakub Jelinek <jakub@redhat.com>
6932 Tobias Burnus <burnus@net-b.de>
6933 Richard Henderson <rth@redhat.com>
6934
6935 * target.c: New file.
6936 * Makefile.am (libgomp_la_SOURCES): Add target.c.
6937 * Makefile.in: Regenerated.
6938 * libgomp_g.h (GOMP_task): Add depend argument.
6939 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
6940 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
6941 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
6942 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
6943 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
6944 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
6945 GOMP_taskgroup_start, GOMP_taskgroup_end,
6946 GOMP_parallel_sections): New prototypes.
6947 * fortran.c (omp_is_initial_device): Add ialias_redirect.
6948 (omp_is_initial_device_): New function.
6949 (ULP, STR1, STR2, ialias_redirect): Removed.
6950 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
6951 omp_set_default_device_8_, omp_get_default_device_,
6952 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
6953 functions.
6954 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
6955 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
6956 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
6957 @@GOMP_4.0.
6958 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
6959 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
6960 omp_set_default_device, omp_set_default_device_,
6961 omp_set_default_device_8_, omp_get_default_device,
6962 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
6963 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
6964 omp_get_team_num_): Export @@OMP_4.0.
6965 * team.c (struct gomp_thread_start_data): Add place field.
6966 (gomp_thread_start): Clear thr->thread_pool and
6967 thr->task before returning. Use gomp_team_barrier_wait_final
6968 instead of gomp_team_barrier_wait. Initialize thr->place.
6969 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
6970 team_cancelled and task_queued_count fields.
6971 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
6972 before calling pthread_exit.
6973 (gomp_free_thread): No longer static. Use
6974 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
6975 (gomp_team_start): Add flags argument. Set
6976 thr->thread_pool->threads_busy to nthreads immediately after creating
6977 new pool. Use gomp_managed_threads_lock instead of
6978 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
6979 (gomp_team_end): Use gomp_managed_threads_lock instead of
6980 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
6981 of gomp_team_barrier_wait. If team->team_cancelled, call
6982 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
6983 rather than thr->ts.work_share.
6984 (initialize_team): Don't call gomp_sem_init here.
6985 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
6986 caller.
6987 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
6988 * env.c (gomp_global_icv): Add default_device_var, target_data and
6989 bind_var initializers.
6990 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
6991 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
6992 gomp_places_list_len): New variables.
6993 (parse_bind_var, parse_one_place, parse_places_var): New functions.
6994 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
6995 sized places.
6996 (gomp_cancel_var): New global variable.
6997 (parse_int): New function.
6998 (handle_omp_display_env): New function.
6999 (initialize_env): Use it. Initialize default_device_var.
7000 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
7001 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
7002 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
7003 been successfully parsed (and call gomp_init_affinity in that case).
7004 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7005 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7006 omp_get_team_num, omp_is_initial_device): New functions.
7007 * libgomp.h: Include stdlib.h.
7008 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
7009 Define.
7010 (struct target_mem_desc): Forward declare.
7011 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
7012 and thread_limit_var fields.
7013 (gomp_get_num_devices): New prototype.
7014 (gomp_cancel_var): New extern decl.
7015 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
7016 team_cancelled and task_queued_count fields. Add comments about
7017 task_{,queued_,running_}count.
7018 (gomp_cancel_kind): New enum.
7019 (gomp_work_share_end_cancel): New prototype.
7020 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
7021 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
7022 and depend fields.
7023 (struct gomp_taskgroup): New type.
7024 (struct gomp_task_depend_entry,
7025 struct gomp_dependers_vec): New types.
7026 (gomp_finish_task): Free depend_hash if non-NULL.
7027 (struct gomp_team_state): Add place_partition_off
7028 and place_partition_len fields.
7029 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
7030 gomp_places_list_len): New extern decls.
7031 (struct gomp_thread): Add place field.
7032 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
7033 (gomp_init_thread_affinity): Add place argument.
7034 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7035 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7036 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7037 gomp_affinity_init_level, gomp_affinity_print_place): New
7038 prototypes.
7039 (gomp_team_start): Add flags argument.
7040 (gomp_thread_limit_var, gomp_remaining_threads_count,
7041 gomp_remaining_threads_lock): Remove.
7042 (gomp_managed_threads_lock): New variable.
7043 (struct gomp_thread_pool): Add threads_busy field.
7044 (gomp_free_thread): New prototype.
7045 * task.c: Include hashtab.h.
7046 (hash_entry_type): New typedef.
7047 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
7048 (gomp_init_task): Clear dependers, depend_hash, depend_count,
7049 copy_ctors_done and taskgroup fields.
7050 (GOMP_task): Add depend argument, handle depend clauses. If
7051 gomp_team_barrier_cancelled or if it's taskgroup has been
7052 cancelled, don't queue or start new tasks. Set copy_ctors_done
7053 field if needed. Initialize taskgroup field. If copy_ctors_done
7054 and already cancelled, don't discard the task. If taskgroup is
7055 non-NULL, enqueue the task into taskgroup queue. Increment
7056 num_children field in taskgroup. Increment task_queued_count.
7057 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
7058 gomp_task_run_post_remove_taskgroup): New inline functions.
7059 (gomp_task_run_post_handle_depend_hash,
7060 gomp_task_run_post_handle_dependers,
7061 gomp_task_run_post_handle_depend): New functions.
7062 (GOMP_taskwait): Use them. If more than one new tasks
7063 have been queued, wake other threads if needed.
7064 (gomp_barrier_handle_tasks): Likewise. If
7065 gomp_team_barrier_cancelled, don't start any new tasks, just free
7066 all tasks.
7067 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
7068 * omp_lib.f90.in
7069 (omp_proc_bind_kind, omp_proc_bind_false,
7070 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7071 omp_proc_bind_spread): New params.
7072 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7073 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7074 omp_get_team_num, omp_is_initial_device): New interfaces.
7075 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
7076 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
7077 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
7078 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
7079 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
7080 useless use omp_lib_kinds.
7081 * omp.h.in (omp_proc_bind_t): New typedef.
7082 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7083 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7084 omp_get_team_num, omp_is_initial_device): New prototypes.
7085 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
7086 through to gomp_team_start.
7087 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
7088 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
7089 Adjust gomp_parallel_loop_start callers.
7090 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7091 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7092 GOMP_loop_end_cancel): New functions.
7093 (GOMP_parallel_end): Add ialias_redirect.
7094 * hashtab.h: New file.
7095 * libgomp.texi (Environment Variables): Minor cleanup,
7096 update section refs to OpenMP 4.0rc2.
7097 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
7098 environment variables.
7099 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
7100 team->work_shares_to_free to thr->ts.work_share before calling
7101 free_work_share.
7102 (gomp_work_share_end_cancel): New function.
7103 * config/linux/proc.c: Include errno.h.
7104 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
7105 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
7106 sizeof (cpu_set_t) to determine number of iterations. Fix up check
7107 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
7108 gomp_cpuset_size is sizeof (cpu_set_t).
7109 (gomp_init_num_threads): Initialize gomp_cpuset_size,
7110 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
7111 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
7112 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
7113 contain any logical CPUs.
7114 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
7115 is NULL. Use gomp_cpusetp instead of &cpuset and pass
7116 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
7117 pthread_getaffinity_np. Check gomp_places_list instead of
7118 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
7119 * config/linux/bar.c (gomp_barrier_wait_end,
7120 gomp_barrier_wait_last): Use BAR_* defines.
7121 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
7122 from state where needed. Set work_share_cancelled to 0 on last
7123 thread.
7124 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
7125 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
7126 functions.
7127 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
7128 Add cpusetsize argument.
7129 (gomp_cpuset_size, gomp_cpusetp): Declare.
7130 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
7131 (affinity_counter): Remove.
7132 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
7133 if CPU_ALLOC_SIZE isn't defined.
7134 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
7135 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
7136 bind current thread to the first place.
7137 (gomp_init_thread_affinity): Rewritten. Add place argument, just
7138 pthread_setaffinity_np to gomp_places_list[place].
7139 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7140 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7141 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7142 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
7143 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7144 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7145 (gomp_barrier_t): Add awaited_final field.
7146 (gomp_barrier_init): Initialize awaited_final field.
7147 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
7148 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
7149 prototypes.
7150 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
7151 defines.
7152 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
7153 gomp_team_barrier_cancelled): New inline functions.
7154 (gomp_barrier_last_thread,
7155 gomp_team_barrier_set_task_pending,
7156 gomp_team_barrier_clear_task_pending,
7157 gomp_team_barrier_set_waiting_for_tasks,
7158 gomp_team_barrier_waiting_for_tasks,
7159 gomp_team_barrier_done): Use BAR_* defines.
7160 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
7161 (gomp_barrier_wait_end): Use BAR_* defines.
7162 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
7163 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
7164 Use BAR_* defines.
7165 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
7166 gomp_team_barrier_cancel): New functions.
7167 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
7168 argument.
7169 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7170 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7171 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7172 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
7173 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7174 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7175 (gomp_barrier_t): Add cancellable field.
7176 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
7177 gomp_team_barrier_cancel): New prototypes.
7178 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
7179 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
7180 gomp_team_barrier_cancelled): New inline functions.
7181 (gomp_barrier_wait_start, gomp_barrier_last_thread,
7182 gomp_team_barrier_set_task_pending,
7183 gomp_team_barrier_clear_task_pending,
7184 gomp_team_barrier_set_waiting_for_tasks,
7185 gomp_team_barrier_waiting_for_tasks,
7186 gomp_team_barrier_done): Use BAR_* defines.
7187 * barrier.c (GOMP_barrier_cancel): New function.
7188 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
7189 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7190 omp_proc_bind_spread): New params.
7191 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7192 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7193 omp_get_team_num, omp_is_initial_device): New externals.
7194 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
7195 New functions.
7196 (gomp_resolve_num_threads): Adjust for thread_limit now being in
7197 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
7198 infinity. If not nested, just return minimum of max_num_threads
7199 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
7200 to the returned value. Otherwise, don't update atomically
7201 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
7202 (GOMP_parallel_end): Adjust for thread_limit now being in
7203 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
7204 infinity. Adjust threads_busy in the pool rather than
7205 gomp_remaining_threads_count. Remember team->nthreads and call
7206 gomp_team_end before adjusting threads_busy, if not nested
7207 afterwards, just set it to 1 non-atomically. Add ialias.
7208 (GOMP_parallel_start): Adjust gomp_team_start caller.
7209 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
7210 * testsuite/libgomp.c/affinity-1.c: New test.
7211 * testsuite/libgomp.c/atomic-15.c: New test.
7212 * testsuite/libgomp.c/atomic-16.c: New test.
7213 * testsuite/libgomp.c/atomic-17.c: New test.
7214 * testsuite/libgomp.c/cancel-for-1.c: New test.
7215 * testsuite/libgomp.c/cancel-for-2.c: New test.
7216 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
7217 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
7218 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
7219 * testsuite/libgomp.c/cancel-sections-1.c: New test.
7220 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
7221 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
7222 * testsuite/libgomp.c/depend-1.c: New test.
7223 * testsuite/libgomp.c/depend-2.c: New test.
7224 * testsuite/libgomp.c/depend-3.c: New test.
7225 * testsuite/libgomp.c/depend-4.c: New test.
7226 * testsuite/libgomp.c/for-1.c: New test.
7227 * testsuite/libgomp.c/for-1.h: New file.
7228 * testsuite/libgomp.c/for-2.c: New test.
7229 * testsuite/libgomp.c/for-2.h: New file.
7230 * testsuite/libgomp.c/for-3.c: New test.
7231 * testsuite/libgomp.c/pr58392.c: New test.
7232 * testsuite/libgomp.c/simd-1.c: New test.
7233 * testsuite/libgomp.c/simd-2.c: New test.
7234 * testsuite/libgomp.c/simd-3.c: New test.
7235 * testsuite/libgomp.c/simd-4.c: New test.
7236 * testsuite/libgomp.c/simd-5.c: New test.
7237 * testsuite/libgomp.c/simd-6.c: New test.
7238 * testsuite/libgomp.c/target-1.c: New test.
7239 * testsuite/libgomp.c/target-2.c: New test.
7240 * testsuite/libgomp.c/target-3.c: New test.
7241 * testsuite/libgomp.c/target-4.c: New test.
7242 * testsuite/libgomp.c/target-5.c: New test.
7243 * testsuite/libgomp.c/target-6.c: New test.
7244 * testsuite/libgomp.c/target-7.c: New test.
7245 * testsuite/libgomp.c/taskgroup-1.c: New test.
7246 * testsuite/libgomp.c/thread-limit-1.c: New test.
7247 * testsuite/libgomp.c/thread-limit-2.c: New test.
7248 * testsuite/libgomp.c/thread-limit-3.c: New test.
7249 * testsuite/libgomp.c/udr-1.c: New test.
7250 * testsuite/libgomp.c/udr-2.c: New test.
7251 * testsuite/libgomp.c/udr-3.c: New test.
7252 * testsuite/libgomp.c++/affinity-1.C: New test.
7253 * testsuite/libgomp.c++/atomic-10.C: New test.
7254 * testsuite/libgomp.c++/atomic-11.C: New test.
7255 * testsuite/libgomp.c++/atomic-12.C: New test.
7256 * testsuite/libgomp.c++/atomic-13.C: New test.
7257 * testsuite/libgomp.c++/atomic-14.C: New test.
7258 * testsuite/libgomp.c++/atomic-15.C: New test.
7259 * testsuite/libgomp.c++/cancel-for-1.C: New test.
7260 * testsuite/libgomp.c++/cancel-for-2.C: New test.
7261 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
7262 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
7263 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
7264 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
7265 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
7266 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
7267 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
7268 * testsuite/libgomp.c++/cancel-test.h: New file.
7269 * testsuite/libgomp.c++/for-9.C: New test.
7270 * testsuite/libgomp.c++/for-10.C: New test.
7271 * testsuite/libgomp.c++/for-11.C: New test.
7272 * testsuite/libgomp.c++/simd-1.C: New test.
7273 * testsuite/libgomp.c++/simd-2.C: New test.
7274 * testsuite/libgomp.c++/simd-3.C: New test.
7275 * testsuite/libgomp.c++/simd-4.C: New test.
7276 * testsuite/libgomp.c++/simd-5.C: New test.
7277 * testsuite/libgomp.c++/simd-6.C: New test.
7278 * testsuite/libgomp.c++/simd-7.C: New test.
7279 * testsuite/libgomp.c++/simd-8.C: New test.
7280 * testsuite/libgomp.c++/target-1.C: New test.
7281 * testsuite/libgomp.c++/target-2.C: New test.
7282 * testsuite/libgomp.c++/target-2-aux.cc: New file.
7283 * testsuite/libgomp.c++/target-3.C: New test.
7284 * testsuite/libgomp.c++/taskgroup-1.C: New test.
7285 * testsuite/libgomp.c++/udr-1.C: New test.
7286 * testsuite/libgomp.c++/udr-2.C: New test.
7287 * testsuite/libgomp.c++/udr-3.C: New test.
7288 * testsuite/libgomp.c++/udr-4.C: New test.
7289 * testsuite/libgomp.c++/udr-5.C: New test.
7290 * testsuite/libgomp.c++/udr-6.C: New test.
7291 * testsuite/libgomp.c++/udr-7.C: New test.
7292 * testsuite/libgomp.c++/udr-8.C: New test.
7293 * testsuite/libgomp.c++/udr-9.C: New test.
7294
bd599dea
JJ
72952013-09-20 Jakub Jelinek <jakub@redhat.com>
7296
7297 PR testsuite/57605
7298 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
7299 ALWAYS_CFLAGS.
7300
3cbe17f7
AM
73012013-09-20 Alan Modra <amodra@gmail.com>
7302
7303 * configure: Regenerate.
7304
4befd127
JJ
73052013-09-19 Jakub Jelinek <jakub@redhat.com>
7306
7307 * testsuite/libgomp.c/sections-2.c: New test.
7308
946c8f7b
MS
73092013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
7310
7311 * testsuite/libgomp.fortran/strassen.f90:
7312 Add dg-skip-if aarch64_tiny.
7313
1ef3b58e
IS
73142013-06-20 Iain Sandoe <iain@codesourcery.com>
7315 Cesar Philippidis <cesar@codesourcery.com>
7316
7317 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
7318 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
7319 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
7320 * testsuite/libgomp.fortran/fortran.exp: Likewise.
7321 * testsuite/libgomp.graphite/graphite.exp: Likewise.
7322 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
7323 Use dg-runtest rather than gfortran-dg-runtest.
7324
9275f73a
TS
73252013-06-10 Thomas Schwinge <thomas@codesourcery.com>
7326
7327 * testsuite/libgomp.c/icv-2.c: Extend current handling of
7328 Linux-based x86 systems to cover all GNU systems.
7329 * testsuite/libgomp.c/lock-3.c: Likewise.
7330 * testsuite/libgomp.c/pr48591.c: Likewise.
7331
492992e2
TS
73322013-06-06 Thomas Schwinge <thomas@codesourcery.com>
7333
48df3acb
TS
7334 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
7335 GNU/Hurd, as done for Linux-based systems.
7336
492992e2
TS
7337 * config/posix/ptrlock.h: Fix comment.
7338
4fed6b25
TB
73392013-05-27 Tobias Burnus <burnus@net-b.de>
7340
7341 PR fortran/57423
7342 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
7343 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
7344 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
7345 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
7346 omp_destroy_nest_lock): Correct arguments to match the one in
7347 the OpenMP spec.
7348 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
7349 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
7350 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
7351 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
7352
5a0f4dd3
JJ
73532013-05-16 Jakub Jelinek <jakub@redhat.com>
7354
7355 * testsuite/libgomp.c/loop-13.c: New test.
7356 * testsuite/libgomp.c/loop-14.c: New test.
7357 * testsuite/libgomp.c/loop-15.c: New test.
7358 * testsuite/libgomp.c++/loop-13.C: New test.
7359 * testsuite/libgomp.c++/loop-14.C: New test.
7360 * testsuite/libgomp.c++/loop-15.C: New test.
7361
6d840d99
JJ
73622013-02-06 Jakub Jelinek <jakub@redhat.com>
7363
7364 PR middle-end/56217
7365 * testsuite/libgomp.c++/pr56217.C: New test.
7366
bed8d8a6
AM
73672013-02-01 Alan Modra <amodra@gmail.com>
7368
7369 * task.c (GOMP_task, GOMP_taskwait): Comment.
7370
3b35cd04
DV
73712013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
7372 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
7373
7374 PR libgomp/55561
7375 * config/linux/wait.h (do_spin): Use atomic load for addr.
7376 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
7377 for intptr and ptrlock.
7378 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
7379 for ptrlock.
7380
9a647288
AM
73812013-01-22 Alan Modra <amodra@gmail.com>
7382
7383 PR libgomp/51376
7384 PR libgomp/56073
7385 * task.c (GOMP_task): Revert 2011-12-09 change.
7386 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
7387 barrier to read task->children..
7388 (gomp_barrier_handle_tasks): ..and matching atomic store with
7389 release barrier here when setting parent->children to NULL.
7390
f34dea03
JJ
73912013-01-16 Jakub Jelinek <jakub@redhat.com>
7392 Tobias Burnus <burnus@net-b.de>
7393
7394 PR driver/55884
7395 * testsuite/libgomp.fortran/fortran.exp: Use
7396 -fintrinsic-modules-path= instead of
7397 -fintrinsic-modules-path.
7398
8129609c
RS
73992013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
7400
7401 Update copyright years.
7402
aa86bf1e
TB
74032012-12-19 Tobias Burnus <burnus@net-b.de>
7404
7405 * testsuite/libgomp.fortran/fortran.exp: Set
7406 -fintrinsic-modules-path.
7407
2865ea66
TB
74082012-12-19 Tobias Burnus <burnus@net-b.de>
7409
7410 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
7411 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
7412
4c5ba8d0
JJ
74132012-11-21 Jakub Jelinek <jakub@redhat.com>
7414
7415 PR libgomp/55411
7416 * team.c (gomp_free_thread): Decrease gomp_managed_threads
7417 if pool had any threads_used.
7418
e9f958c2
JH
74192012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
7420
7421 * testsuite/libgomp.c++/pr24455.C: Use
7422 -Wl,-undefined,dynamic_lookup on darwin.
7423
a57d75dc
DE
74242012-11-07 David Edelsohn <dje.gcc@gmail.com>
7425
7426 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
7427
c6c08485
DH
74282012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
7429
7430 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
7431
c1f37c00
IB
74322012-10-23 Ian Bolton <ian.bolton@arm.com>
7433 Jim MacArthur <jim.macarthur@arm.com>
7434 Marcus Shawcroft <marcus.shawcroft@arm.com>
7435 Nigel Stephens <nigel.stephens@arm.com>
7436 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7437 Richard Earnshaw <rearnsha@arm.com>
7438 Sofiane Naci <sofiane.naci@arm.com>
7439 Stephen Thomas <stephen.thomas@arm.com>
7440 Tejas Belagod <tejas.belagod@arm.com>
7441 Yufeng Zhang <yufeng.zhang@arm.com>
7442
7443 * configure.tgt: Add AArch64.
7444
7c424acd
JM
74452012-10-04 Jason Merrill <jason@redhat.com>
7446
7447 * testsuite/libgomp.c++/tls-init1.C: New.
7448
6608378b
DE
74492012-09-14 David Edelsohn <dje.gcc@gmail.com>
7450
7451 * configure: Regenerated.
7452
c24dbebb
CLT
74532012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
7454
7455 * config/linux/mips/futex.h (sys_futex0): Change to static
7456 function with noinline, nomips16 attributes under MIPS16. Adjust
7457 asm statement to place 'li v0,SYS_futex' immediately before
7458 syscall insn.
7459
3d3949df
SL
74602012-07-04 Sandra Loosemore <sandra@codesourcery.com>
7461
7462 * libgomp.texi (Library Index): Renamed from "Index" to prevent
7463 conflict with index.html on case-insensitive file systems.
7464
68a12ef3
UB
74652012-07-03 Uros Bizjak <ubizjak@gmail.com>
7466
7467 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
7468 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
7469
33ad93b9 74702012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
7471 Michael Matz <matz@suse.de>
7472 Tobias Grosser <tobias@grosser.es>
7473 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
7474
7475 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
7476 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7477 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7478 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7479
e6fdc918
AS
74802012-06-28 Andreas Schwab <schwab@linux-m68k.org>
7481
7482 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
7483
62e0a1ed
RG
74842012-06-22 Richard Guenther <rguenther@suse.de>
7485
7486 Merge from graphite branch
7487 2012-01-13 Tobias Grosser <tobias@grosser.es>
7488
7489 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
7490 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7491
26127932
JJ
74922012-06-07 Jakub Jelinek <jakub@redhat.com>
7493
7494 PR middle-end/53580
7495 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
7496 use GOMP_barrier () call instead.
7497 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7498 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7499 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
7500 call GOMP_barrier instead.
7501 * testsuite/libgomp.fortran/vla5.f90: Likewise.
7502
43fa5db5
JJ
75032012-06-06 Jakub Jelinek <jakub@redhat.com>
7504
7505 PR libgomp/52993
7506 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
7507 argument to memset call.
7508
e6d5f8c9
L
75092012-05-16 H.J. Lu <hongjiu.lu@intel.com>
7510
7511 * configure: Regenerated.
7512
559d990c
MLI
75132012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7514
7515 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
7516
b9c23a61
L
75172012-03-31 H.J. Lu <hongjiu.lu@intel.com>
7518
7519 PR bootstrap/52812
7520 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
7521
c140ddf3
JJ
75222012-03-22 Jakub Jelinek <jakub@redhat.com>
7523
7524 PR middle-end/52547
7525 * testsuite/libgomp.c/pr52547.c: New test.
7526
6a26a74d
BRF
75272012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7528
7529 * testsuite/lib/libgomp.exp: load fortran-modules.exp
7530
b24513a1
RO
75312012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7532
7533 * configure.tgt (mips-sgi-irix6*): Remove.
7534
5c30094f
RO
75352012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7536
7537 * configure.tgt (alpha*-dec-osf*): Remove.
7538
7539 * config/osf/sem.h: Remove.
7540 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
7541
a339c9d6
EB
75422012-02-29 Eric Botcazou <ebotcazou@adacore.com>
7543
7544 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
7545
cc2de92d
RO
75462012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7547
7548 PR libstdc++/52188
7549 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
7550 Remove ENABLE_SYMVERS_SOL2.
7551 * configure: Regenerate.
7552 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
7553 (PREPROCESS): New variable.
7554 (libgomp.ver): New target.
7555 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
7556 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
7557 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
7558 Use libgomp.ver.
7559 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
7560 * Makefile.in: Regenerate.
7561
dd552284
WL
75622012-02-14 Walter Lee <walt@tilera.com>
7563
7564 * configure.tgt: Handle tilegx and tilepro.
7565 * config/linux/tile/futex.h: New file.
7566
31432e21
RG
75672012-02-08 Richard Guenther <rguenther@suse.de>
7568
7569 PR tree-optimization/46886
7570 * testsuite/libgomp.c/pr46886.c: New testcase.
7571
b9264b5f
MK
75722012-01-25 Matthias Klose <doko@ubuntu.com>
7573
7574 * config/linux/arm: Remove empty directory.
7575 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
7576
fbf7be80
AM
75772011-12-09 Alan Modra <amodra@gmail.com>
7578
7579 PR libgomp/51376
7580 * task.c (GOMP_taskwait): Don't access task->children outside of
7581 task_lock mutex region.
7582 (GOMP_task): Likewise.
7583
5de62d00
JJ
75842011-12-06 Jakub Jelinek <jakub@redhat.com>
7585
7586 PR libgomp/51132
7587 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
7588 to file scope.
7589 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7590 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7591 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7592 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7593 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7594
45608a43
AM
75952011-12-02 Alan Modra <amodra@gmail.com>
7596
7597 * config/linux/affinity.c: Use atomic rather than sync builtin.
7598 * config/linux/lock.c: Likewise.
7599 * config/linux/ptrlock.h: Likewise.
7600 * config/linux/ptrlock.c: Likewise.
7601 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
7602 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
7603 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
7604 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
7605 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
7606 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
7607 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
7608 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
7609 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
7610 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
7611
ab6dd406
AM
76122011-11-30 Alan Modra <amodra@gmail.com>
7613
7614 PR libgomp/51298
7615 * config/linux/bar.h: Use atomic rather than sync builtins.
7616 * config/linux/bar.c: Likewise. Add missing acquire
7617 synchronisation on generation field.
7618 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
7619 double unlock.
7620
b40c885f
AM
76212011-11-30 Alan Modra <amodra@gmail.com>
7622
7623 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
7624 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
7625 * config/linux/mutex.h: Use atomic rather than sync builtins.
7626 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
7627 * config/linux/omp-lock.h: Comment fix.
7628 * config/linux/arm/mutex.h: Delete.
7629 * config/linux/powerpc/mutex.h: Delete.
7630 * config/linux/ia64/mutex.h: Delete.
7631 * config/linux/mips/mutex.h: Delete.
7632
3e348fcc
AM
76332011-11-30 Alan Modra <amodra@gmail.com>
7634
7635 PR libgomp/51249
7636 * config/linux/sem.h: Rewrite.
7637 * config/linux/sem.c: Rewrite.
7638
cef86eb2
RH
76392011-11-28 Richard Henderson <rth@redhat.com>
7640
7641 * libgomp.h (enum memmodel): New.
7642
c6084f68
AT
76432011-11-21 Andreas Tobler <andreast@fgznet.ch>
7644
7645 * configure: Regenerate.
7646
06fe026c
MK
76472011-10-10 Matthias Klose <doko@ubuntu.com>
7648
7649 * config/posix95: Remove empty directory.
7650
a6c975bd
JJ
76512011-08-26 Jakub Jelinek <jakub@redhat.com>
7652
7653 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
7654
c26dffff
JJ
76552011-08-19 Jakub Jelinek <jakub@redhat.com>
7656
7657 PR fortran/49792
7658 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
7659 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
7660
ddaad3c8
RO
76612011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7662
7663 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
7664
98d03683
RO
76652011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7666
7667 PR libgomp/49965
7668 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
7669
e0b23d9f
UB
76702011-08-03 Uros Bizjak <ubizjak@gmail.com>
7671
7672 * config/linux/proc.h: New.
7673 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
7674 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
7675 (gomp_init_num_threads): Update call to cpuset_popcount.
7676 (get_num_procs): Ditto.
7677 * config/linux/affinity.c (gomp_init_affinity): Call
7678 gomp_cpuset_popcount.
7679
20906c66
JJ
76802011-08-02 Jakub Jelinek <jakub@redhat.com>
7681
7682 PR fortran/42041
7683 PR fortran/46752
7684 * omp.h.in (omp_in_final): New prototype.
7685 * omp_lib.f90.in (omp_in_final): New interface.
7686 (omp_integer_kind, omp_logical_kind): Remove
7687 and replace all its uses in the module with 4.
7688 (openmp_version): Change to 201107.
7689 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
7690 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
7691 kind for the parameters.
7692 (omp_in_final): New external.
7693 (openmp_version): Change to 201107.
7694 * task.c (omp_in_final): New function.
7695 (gomp_init_task): Initialize final_task.
7696 (GOMP_task): Remove unused attribute from flags. Handle final
7697 tasks.
7698 (GOMP_taskyield): New function.
7699 (omp_in_final): Return true if if (false) or final (true) task
7700 or descendant of final (true).
7701 * fortran.c (omp_in_final_): New function.
7702 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
7703 (GOMP_3.0): Export GOMP_taskyield.
7704 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
7705 variables.
7706 (parse_unsigned_long_list): New function.
7707 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
7708 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
7709 even if parse_affinity returned false.
7710 * config/linux/affinity.c (gomp_init_affinity): Handle
7711 gomp_cpu_affinity_len == 0.
7712 * libgomp_g.h (GOMP_taskyield): New prototype.
7713 * libgomp.h (struct gomp_task): Add final_task field.
7714 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
7715 * team.c (gomp_team_start): Override new task's nthreads_var icv
7716 if list form OMP_NUM_THREADS has been used and it has value for
7717 the new nesting level.
7718
7719 * testsuite/libgomp.c/atomic-11.c: New test.
7720 * testsuite/libgomp.c/atomic-12.c: New test.
7721 * testsuite/libgomp.c/atomic-13.c: New test.
7722 * testsuite/libgomp.c/atomic-14.c: New test.
7723 * testsuite/libgomp.c/reduction-6.c: New test.
7724 * testsuite/libgomp.c/task-5.c: New test.
7725 * testsuite/libgomp.c++/atomic-2.C: New test.
7726 * testsuite/libgomp.c++/atomic-3.C: New test.
7727 * testsuite/libgomp.c++/atomic-4.C: New test.
7728 * testsuite/libgomp.c++/atomic-5.C: New test.
7729 * testsuite/libgomp.c++/atomic-6.C: New test.
7730 * testsuite/libgomp.c++/atomic-7.C: New test.
7731 * testsuite/libgomp.c++/atomic-8.C: New test.
7732 * testsuite/libgomp.c++/atomic-9.C: New test.
7733 * testsuite/libgomp.c++/task-8.C: New test.
7734 * testsuite/libgomp.c++/reduction-4.C: New test.
7735 * testsuite/libgomp.fortran/allocatable7.f90: New test.
7736 * testsuite/libgomp.fortran/allocatable8.f90: New test.
7737 * testsuite/libgomp.fortran/crayptr3.f90: New test.
7738 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
7739 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
7740 * testsuite/libgomp.fortran/pointer1.f90: New test.
7741 * testsuite/libgomp.fortran/pointer2.f90: New test.
7742 * testsuite/libgomp.fortran/task4.f90: New test.
7743
77442011-08-02 Tobias Burnus <burnus@net-b.de>
7745
7746 * libgomp.texi: Update OpenMP spec references to 3.1.
7747 (omp_in_final,OMP_PROC_BIND): New sections.
7748 (OMP_NUM_THREADS): Document that the value can be now a list.
7749 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
7750
c01ecafc
L
77512011-08-02 H.J. Lu <hongjiu.lu@intel.com>
7752
7753 * config/linux/x86/futex.h: Check __x86_64__ instead of
7754 __LP64__.
7755
25142650
JJ
77562011-07-29 Jakub Jelinek <jakub@redhat.com>
7757
7758 PR middle-end/49897
7759 PR middle-end/49898
7760 * testsuite/libgomp.c/pr49897-1.c: New test.
7761 * testsuite/libgomp.c/pr49897-2.c: New test.
7762 * testsuite/libgomp.c/pr49898-1.c: New test.
7763 * testsuite/libgomp.c/pr49898-2.c: New test.
7764
f53d712f
L
77652011-07-28 H.J. Lu <hongjiu.lu@intel.com>
7766
7767 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
7768 for ia32 instead of ilp32.
7769
7770 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
7771 * testsuite/libgomp.c/atomic-6.c: Likewise.
7772
3689198d
SP
77732011-07-23 Sebastian Pop <sebastian.pop@amd.com>
7774
7775 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
7776 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
7777
1a79cb73
RO
77782011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7779
7780 PR libgomp/45351
7781 * config/osf/sem.h: New file.
7782 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
7783
c1f51484
RO
77842011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7785
7786 PR target/49541
7787 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
7788 ldflags.
7789
bfee0724
JJ
77902011-07-15 Jakub Jelinek <jakub@redhat.com>
7791
7792 * config/linux/wait.h (do_spin): New inline, largely copied
7793 from do_wait, just don't do futex_wait here, instead return true if
7794 it should be done.
7795 (do_wait): Implement using do_spin.
7796 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
7797 to prototype.
7798 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
7799 __sync_bool_compare_and_swap, pass the oldval to
7800 gomp_mutex_lock_slow.
7801 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
7802 If all mutex contenders are just spinning and not sleeping, don't
7803 change state to 2 unnecessarily. Optimize the loop when state has
7804 already become 2 to use just one atomic operation per loop instead
7805 of two.
7806 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
7807 to prototype.
7808 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
7809 __sync_bool_compare_and_swap, pass the oldval to
7810 gomp_mutex_lock_slow.
7811
fb79f500
JJ
78122011-06-22 Jakub Jelinek <jakub@redhat.com>
7813
7814 PR libgomp/49490
7815 * iter.c (gomp_iter_static_next): For chunk size 0
7816 only use n ceil/ nthreads size for the first
7817 n % nthreads threads in the team instead of
7818 all threads except for the last few ones which
7819 get less work or none at all.
7820 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
7821 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
7822 chunk argument, set run_sched_modifier to 0 for static
7823 resp. 1 for other kinds. If chunk argument is 0
7824 and not static, set value to 1.
7825
4577f730
JJ
78262011-05-19 Jakub Jelinek <jakub@redhat.com>
7827
ea93a47b
JJ
7828 PR c++/49043
7829 * testsuite/libgomp.c++/pr49043.C: New test.
7830
4577f730
JJ
7831 PR c++/48869
7832 * testsuite/libgomp.c++/pr48869.C: New test.
7833
e7385332
JJ
78342011-05-06 Jakub Jelinek <jakub@redhat.com>
7835
7836 PR fortran/48894
7837 * fortran.c: Include limits.h.
7838 (TO_INT): Define.
7839 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
7840 *set.
7841 (omp_set_num_threads_8_, omp_set_schedule_8_,
7842 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
7843 omp_get_team_size_8_): Use TO_INT macro.
7844 * testsuite/libgomp.fortran/pr48894.f90: New test.
7845
20790697
JJ
78462011-04-13 Jakub Jelinek <jakub@redhat.com>
7847
7848 PR middle-end/48591
7849 * testsuite/libgomp.c/pr48591.c: New test.
7850
bf382f5f
RO
78512011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7852
7853 PR bootstrap/48135
7854 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
7855 * configure: Regenerate.
7856
113a53c1
JJ
78572011-02-27 Jakub Jelinek <jakub@redhat.com>
7858
7859 PR fortran/47886
7860 * testsuite/libgomp.fortran/task3.f90: New test.
7861
0024f1af
TB
78622011-02-24 Tobias Burnus <burnus@net-b.de>
7863
7864 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
7865
21e1e594
JJ
78662011-02-23 Jakub Jelinek <jakub@redhat.com>
7867
7868 PR libgomp/47854
7869 * libgomp.texi (omp_get_wtime): Don't say time in the past
7870 must be Unix Epoch.
7871
67962076
JJ
78722011-02-18 Jakub Jelinek <jakub@redhat.com>
7873
7874 PR libgomp/47804
7875 * testsuite/libgomp.fortran/fortran.exp: Check for both
7876 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
7877 but $blddir != "", still append ${blddir}/${lang_library_path}
7878 to ld_library_path.
7879
3808007c
TB
78802011-02-16 Tobias Burnus <burnus@net-b.de>
7881
7882 PR libgomp/47758
7883 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
7884 of libquadmath.a before adding its libpath to ldflags.
7885
53b4d41d
JJ
78862011-02-14 Jakub Jelinek <jakub@redhat.com>
7887
7888 PR libgomp/47731
7889 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
7890 to FUTEX_WAIT futex syscall.
7891 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
7892
029c8f3e
RW
78932011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7894
7895 * configure: Regenerate.
7896
bddd6626
BK
78972011-01-20 Benjamin Kosnik <bkoz@redhat.com>
7898
7899 PR libstdc++/36104
7900 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
7901
f1d4ab26
GP
79022011-01-16 Gerald Pfeifer
7903
7904 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
7905
2b503136
JJ
79062010-12-14 Jakub Jelinek <jakub@redhat.com>
7907
7908 PR fortran/46874
7909 * libgomp.fortran/allocatable6.f90: New test.
7910
c0f9d583
RO
79112010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7912
7913 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
7914 * configure: Regenerate.
7915
7de6ba7a
DK
79162010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
7917
7918 PR target/40125
7919 PR lto/46695
7920 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
7921 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
7922 * aclocal.m4: Regenerate.
7923 * configure: Regenerate.
7924 * Makefile.in: Regenerate.
7925 * testsuite/Makefile.in: Regenerate.
7926
b7516041
JJ
79272010-12-02 Jakub Jelinek <jakub@redhat.com>
7928
edaadf74
JJ
7929 PR fortran/46753
7930 * libgomp.fortran/pr46753.f90: New test.
7931
4c698cf8
JJ
7932 PR libgomp/43706
7933 * env.c (initialize_env): Default to spin count 300000
7934 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
7935 is specified.
7936
b7516041
JJ
7937 PR libgomp/45240
7938 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
7939 at the end if sync builtins aren't supported.
7940
6b43a34c
RO
79412010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7942
7943 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
7944
950691fa
RO
79452010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7946
7947 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
7948
fb9041ea
IS
79492010-11-24 Iain Sandoe <iains@gcc.gnu.org>
7950
7951 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
7952
1ec601bf
FXC
79532010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7954 Tobias Burnus <burnus@net-b.de>
7955
7956 PR fortran/32049
3e348fcc 7957 * configure.ac:
1ec601bf
FXC
7958 * configure: Regenerate.
7959
d213e92e
MS
79602010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
7961
7962 * config/linux/futex.h: New.
7963 * config/linux/arm/mutex.h: New.
7964 * configure.tgt (arm*-*-linux*): Add config path.
7965
89d5c66f
SP
79662010-09-30 Sebastian Pop <sebastian.pop@amd.com>
7967
7968 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
7969
87350d4a
TB
79702010-09-23 Tobias Burnus <burnus@net-b.de>
7971
7972 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
7973 Change Fortran datatype to LOGICAL.
7974 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
7975 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
7976
75bc9e5e
RW
79772010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7978
7979 * configure: Regenerate.
7980
acb5c916
JJ
79812010-07-26 Jakub Jelinek <jakub@redhat.com>
7982
7983 * libgomp.texi: Add function keyword to a couple of Fortran
7984 interfaces, use integer instead of int for Fortran.
7985
6a2ba183
AH
79862010-07-26 Aldy Hernandez <aldyh@redhat.com>
7987
7988 * libgomp.texi: Fix spelling and pasto problems throughout.
7989 Adjust prototypes to match code.
7990
df161b69
TB
79912010-07-24 Tobias Burnus <burnus@net-b.de>
7992
7993 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
7994 silence -fwhole-file warning.
7995
16c9d3b1
RO
79962010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7997
7998 * configure.tgt (*-*-solaris2.[56]*): Removed.
7999
6d28b933
RO
80002010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8001
8002 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
8003 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
8004 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
8005 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
8006 targetting solaris2*.
8007 * configure: Regenerate.
8008 * config.h.in: Regenerate.
8009
8010 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
8011 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
8012 Add libgomp_version_dep.
8013 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
8014 versioning.
8015 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
8016 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
8017 * Makefile.in: Regenerate.
8018
8019 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
8020 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8021 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
8022 to common block, protected by
8023 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
8024
07a67d6a
GP
80252010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
8026
8027 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
8028
dbd34b89
IS
80292010-06-09 Iain Sandoe <iains@gcc.gnu.org>
8030
8031 PR bootstrap/43170
8032 * configure: Regenerate.
8033
13917ae3
RW
80342010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8035
8036 PR other/43620
8037 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
8038 * configure: Regenerate.
8039 * Makefile.in: Regenerate.
8040 * testsuite/Makefile.in: Regenerate.
8041
b83a701b
JJ
80422010-04-26 Jakub Jelinek <jakub@redhat.com>
8043
8044 PR c/43893
8045 * testsuite/libgomp.c/pr43893.c: New test.
8046 * testsuite/libgomp.c++/pr43893.C: New test.
8047
78db7d92
JJ
80482010-04-21 Jakub Jelinek <jakub@redhat.com>
8049
8050 PR middle-end/43570
8051 * testsuite/libgomp.fortran/vla8.f90: New test.
8052
5221d7a9
JJ
80532010-04-20 Jakub Jelinek <jakub@redhat.com>
8054
e4ba7a60
JJ
8055 PR libgomp/43706
8056 * config/linux/affinity.c (gomp_init_affinity): Decrease
8057 gomp_available_cpus if affinity mask confines the process to fewer
8058 CPUs.
8059 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
8060 non-NULL, just return gomp_available_cpus.
8061
5221d7a9
JJ
8062 PR libgomp/43569
8063 * sections.c (gomp_sections_init): Initialize ws->mode.
8064
289a9f86
UB
80652010-04-14 Uros Bizjak <ubizjak@gmail.com>
8066
8067 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
8068 not unused bar variable.
8069 * configure: Regenerate.
8070
4d9e8446
RW
80712010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8072
8073 * Makefile.in: Regenerate.
8074 * aclocal.m4: Regenerate.
8075 * testsuite/Makefile.in: Regenerate.
8076
80f046cc
JJ
80772010-03-22 Jakub Jelinek <jakub@redhat.com>
8078
8079 PR libgomp/42942
8080 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
8081 (initialize_env): Adjust callers.
8082 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
8083 when the argument is 0.
8084
8085 * testsuite/libgomp.c/pr42942.c: New test.
8086
b58543c3
SP
80872010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
8088
8089 PR middle-end/42644
8090 PR middle-end/42130
8091 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8092 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
8093
41d1138f
RO
80942010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8095
8096 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
8097 * testsuite/libgomp.c++/task-6.C: Likewise.
8098
6684eb28
SE
80992010-01-28 Steve Ellcey <sje@cup.hp.com>
8100
8101 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
8102
2122aa97
PB
81032010-01-26 Paolo Bonzini <bonzini@gnu.org>
8104
8105 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
8106 * configure: Regenerate.
8107
057dd91d
JJ
81082010-01-26 Jakub Jelinek <jakub@redhat.com>
8109
8110 PR fortran/42866
8111 * testsuite/libgomp.fortran/allocatable5.f90: New test.
8112
d0709b6a
PB
81132010-01-20 Paolo Bonzini <bonzini@gnu.org>
8114
8115 * configure.ac: Test for executability of GFORTRAN.
8116 * configure: Regenerate.
8117
b9497ab5
RO
81182010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8119
8120 * configure: Regenerate.
8121
45de5648
L
81222010-01-04 H.J. Lu <hongjiu.lu@intel.com>
8123
8124 PR libgomp/42602
8125 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
8126
e74003a1
RG
81272010-01-03 Richard Guenther <rguenther@suse.de>
8128
8129 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
8130
1b3abda8
SP
81312009-12-23 Sebastian Pop <sebpop@gmail.com>
8132
8133 * testsuite/libgomp.graphite/pr4118.c: New.
8134
e19977d3
IS
81352009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8136
8137 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
8138 for darwin, protect the test with require-effective-target tls_runtime.
8139 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
8140
1d32a772
IS
81412009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8142
8143 PR target/41605
8144 * testsuite/lib/libgomp.exp: Provide -B options to allow for
8145 link spec %s substitutions for static libraries.
8146
deb109b2
JH
81472009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
8148
8149 PR testsuite/42135
8150 * libgomp.graphite/force-parallel-2.c: Reduce array size.
8151
43e02a8a
RW
81522009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8153
8154 * Makefile.in: Regenerate.
8155 * configure: Regenerate.
8156 * testsuite/Makefile.in: Regenerate.
8157
17f35e23
DK
81582009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
8159
8160 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
8161 settings for LC_ALL and LANG.
8162
281e33e1
JJ
81632009-11-25 Jakub Jelinek <jakub@redhat.com>
8164
8165 PR fortran/42162
8166 * testsuite/libgomp.fortran/pr42162.f90: New test.
8167
2b32c27d
JJ
81682009-11-13 Jakub Jelinek <jakub@redhat.com>
8169
8170 PR middle-end/42029
281e33e1 8171 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 8172
89c74f4a
JJ
81732009-10-26 Jakub Jelinek <jakub@redhat.com>
8174
8175 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
8176 *s. Accept ld version without text in ()s.
8177 * configure: Regenerated.
8178
7e06c3d6
EB
81792009-10-22 Razya Ladelsky <razya@il.ibm.com>
8180
8181 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
8182
0046b1a7
RW
81832009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8184
8185 PR libgomp/41418
8186 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
8187 or a hyphen (happens with fortran language disabled).
8188 * configure: Regenerate.
8189
c82852f7
RW
81902009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8191
8192 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
8193 use sed script portable to Solaris /bin/sed for extracting ld
8194 version.
8195 * configure: Regenerate.
8196
98f3eb1f
AM
81972009-09-17 Alexander Monakov <amonakov@ispras.ru>
8198
8199 * testsuite/libgomp.graphite/bounds.c: New test.
8200
878f62e5
RW
82012009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8202
8203 * Makefile.am (libgomp_la_LINK): New.
8204 * Makefile.in: Regenerate.
8205
df58e648
RW
82062009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8207
8208 * configure.ac (AC_PREREQ): Bump to 2.64.
8209
5213506e
RW
82102009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8211
70fa0efa
RW
8212 * Makefile.am (install-html, install-pdf): Remove.
8213 * Makefile.in: Regenerate.
8214
5213506e
RW
8215 * Makefile.in: Regenerate.
8216 * aclocal.m4: Regenerate.
8217 * config.h.in: Regenerate.
8218 * configure: Regenerate.
8219 * testsuite/Makefile.in: Regenerate.
8220
84fec8a5
RW
82212009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8222
8223 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
8224 * Makefile.in: Regenerate.
8225
197c68cc
DK
82262009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
8227
8228 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
8229 * Makefile.in: Regenerate.
8230
693d54f2
TB
82312009-08-19 Tobias Burnus <burnus@net-b.de>
8232
8233 PR fortran/41102
8234 omp_lib.h.in: Fix -std=f95 errors.
8235
8cac884c
DE
82362009-08-14 David Edelsohn <edelsohn@gnu.org>
8237
8238 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
8239 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
8240 * testsuite/libgomp.graphite/graphite.exp: New.
8241
78729ee2
AT
82422009-08-05 Andreas Tobler <a.tobler@schweiz.org>
8243
8244 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
8245 only build.
8246
b13b7f39
DD
82472009-08-04 David Daney <ddaney@caviumnetworks.com>
8248
8249 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
8250 needed memory barrier semantics.
8251 * config/linux/mips/mutex.h: New file.
8252
1b3b24c2
RW
82532009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8254
8255 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
8256
396b7fa4
JM
82572009-07-16 Joseph Myers <joseph@codesourcery.com>
8258
8259 * configure: Regenerate.
8260
33cde516
RS
82612009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
8262
8263 PR testsuite/40699
8264 PR testsuite/40707
8265 PR testsuite/40709
8266 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
8267 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
8268 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
8269
bc21bfa5
RS
82702009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
8271
8272 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
8273 options when choosing a multilib.
8274
b30bfd40
RS
82752009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
8276
8277 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
8278 ld_library_path. Use add_path. Add just find_libgcc_s to
8279 ld_library_path, not every libgcc multilib directory.
8280 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
8281 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
8282 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
8283 Use add_path.
8284 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
8285
479c15c2
NF
82862009-06-09 Nathan Froyd <froydnj@codesourcery.com>
8287
8288 * Makefile.am (LTLDFLAGS): Define.
8289 (LINK): Define.
8290 * Makefile.in: Regenerate.
8291
667e6f89
JB
82922009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
8293
8294 PR fortran/39718
8295 * testsuite/libgomp.fortran/fortran.exp: Don't link with
8296 libgfortranbegin, check existence of libgfortran.a instead of
8297 libgfortranbegin.a.
8298
6dea8e99
JJ
82992009-05-20 Jakub Jelinek <jakub@redhat.com>
8300
8301 PR libgomp/40174
8302 * team.c (gomp_thread_start): Destroy thr->release semaphore.
8303 (gomp_free_pool_helper): Likewise.
8304
34d01e1d
VL
83052009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
8306 Jakub Jelinek <jakub@redhat.com>
8307
8308 PR fortran/35423
8309 * testsuite/libgomp.fortran/workshare2.f90: New test.
8310
748086b7
JJ
83112009-04-09 Nick Clifton <nickc@redhat.com>
8312
8313 * iter.c: Change copyright header to refer to version 3 of the
8314 GNU General Public License with version 3.1 of the GCC Runtime
8315 Library Exception and to point readers at the COPYING3 and
8316 COPYING3.RUNTIME files and the FSF's license web page.
8317 * alloc.c: Likewise.
8318 * barrier.c: Likewise.
8319 * config/bsd/proc.c: Likewise.
8320 * config/linux/affinity.c: Likewise.
8321 * config/linux/alpha/futex.h: Likewise.
8322 * config/linux/bar.c: Likewise.
8323 * config/linux/bar.h: Likewise.
8324 * config/linux/ia64/futex.h: Likewise.
8325 * config/linux/ia64/mutex.h: Likewise.
8326 * config/linux/lock.c: Likewise.
8327 * config/linux/mips/futex.h: Likewise.
8328 * config/linux/mutex.c: Likewise.
8329 * config/linux/mutex.h: Likewise.
8330 * config/linux/powerpc/futex.h: Likewise.
8331 * config/linux/proc.c: Likewise.
8332 * config/linux/ptrlock.c: Likewise.
8333 * config/linux/ptrlock.h: Likewise.
8334 * config/linux/s390/futex.h: Likewise.
8335 * config/linux/sem.c: Likewise.
8336 * config/linux/sem.h: Likewise.
8337 * config/linux/sparc/futex.h: Likewise.
8338 * config/linux/wait.h: Likewise.
8339 * config/linux/x86/futex.h: Likewise.
8340 * config/mingw32/proc.c: Likewise.
8341 * config/mingw32/time.c: Likewise.
8342 * config/posix/affinity.c: Likewise.
8343 * config/posix/bar.c: Likewise.
8344 * config/posix/bar.h: Likewise.
8345 * config/posix/lock.c: Likewise.
8346 * config/posix/mutex.h: Likewise.
8347 * config/posix/proc.c: Likewise.
8348 * config/posix/ptrlock.h: Likewise.
8349 * config/posix/sem.c: Likewise.
8350 * config/posix/sem.h: Likewise.
8351 * config/posix/time.c: Likewise.
8352 * config/posix95/lock.c: Likewise.
8353 * critical.c: Likewise.
8354 * env.c: Likewise.
8355 * error.c: Likewise.
8356 * fortran.c: Likewise.
8357 * iter_ull.c: Likewise.
8358 * libgomp.h: Likewise.
8359 * libgomp_f.h.in: Likewise.
8360 * libgomp_g.h: Likewise.
8361 * loop.c: Likewise.
8362 * loop_ull.c: Likewise.
8363 * omp.h.in: Likewise.
8364 * omp_lib.f90.in: Likewise.
8365 * omp_lib.h.in: Likewise.
8366 * ordered.c: Likewise.
8367 * parallel.c: Likewise.
8368 * sections.c: Likewise.
8369 * single.c: Likewise.
8370 * task.c: Likewise.
8371 * team.c: Likewise.
8372 * work.c: Likewise.
8373
83742009-04-09 Jakub Jelinek <jakub@redhat.com>
8375
8376 * testsuite/config/default.exp: Change copyright header to refer to
8377 version 3 of the GNU General Public License and to point readers
8378 at the COPYING3 file and the FSF's license web page.
8379
4f0ae266
JJ
83802009-04-08 Jakub Jelinek <jakub@redhat.com>
8381
8382 PR middle-end/39573
8383 * libgomp.c++/pr39573.C: New test.
8384
03742a9b
JJ
83852009-04-01 Jakub Jelinek <jakub@redhat.com>
8386
8387 PR other/39591
8388 * testsuite/libgomp.c/pr39591-1.c: New test.
8389 * testsuite/libgomp.c/pr39591-2.c: New test.
8390 * testsuite/libgomp.c/pr39591-3.c: New test.
8391
e50ea10b
UB
83922009-03-25 Uros Bizjak <ubizjak@gmail.com>
8393
8394 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
8395 * testsuite/libgomp.c/atomic-6.c: Ditto.
8396
c5cdb03f
JJ
83972009-03-23 Jakub Jelinek <jakub@redhat.com>
8398
8399 PR c/39495
8400 * testsuite/libgomp.c/loop-12.c: New test.
8401 * testsuite/libgomp.c/loop-11.c: New test.
8402 * testsuite/libgomp.c++/loop-11.C: New test.
8403 * testsuite/libgomp.c++/loop-12.C: New test.
8404 * testsuite/libgomp.c++/for-8.C: New test.
8405
7a9d3fe8
RW
84062009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8407
8408 * configure: Regenerate.
8409
3ad6b266
JJ
84102009-02-11 Jakub Jelinek <jakub@redhat.com>
8411
8412 PR middle-end/39154
8413 * testsuite/libgomp.c/pr39154.c: New test.
8414
b39dea08
ILT
84152009-01-30 Ian Lance Taylor <iant@google.com>
8416
8417 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
8418 libgomp_ld_is_gold. Get gold version number.
8419 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
8420 * configure: Rebuild.
8421
72c66596
IS
84222009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8423
e50ea10b 8424 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
8425 use libgfortran.a%s in their specs.
8426
876080ff
JJ
84272009-01-07 Jakub Jelinek <jakub@redhat.com>
8428
8429 PR libgomp/38086
8430 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
8431 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
8432 HAVE_AS_SYMVER_DIRECTIVE is not defined.
8433 * configure: Regenerated.
8434 * config.h.in: Likewise.
8435
e4ebaef3
JJ
84362008-12-28 Jakub Jelinek <jakub@redhat.com>
8437
8438 PR c++/38650
8439 * testsuite/libgomp.c/pr38650.c: New test.
8440 * testsuite/libgomp.c++/pr38650.C: New test.
8441
382017a6
JJ
84422008-12-27 Jakub Jelinek <jakub@redhat.com>
8443
8444 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
8445
79644b27
UB
84462008-12-26 Uros Bizjak <ubizjak@gmail.com>
8447
8448 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
8449
baafc534
RW
84502008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8451
8452 * configure: Regenerate.
8453
d9c194cb
JJ
84542008-12-08 Jakub Jelinek <jakub@redhat.com>
8455
8456 PR middle-end/36802
8457 * testsuite/libgomp.c/pr36802-1.c: New test.
8458 * testsuite/libgomp.c/pr36802-2.c: New test.
8459 * testsuite/libgomp.c/pr36802-3.c: New test.
8460
86a182bf
JJ
84612008-12-01 Janis Johnson <janis187@us.ibm.com>
8462
8463 PR libgomp/38270
8464 * config/linux/powerpc/mutex.h: New.
8465
956adfaf
JJ
84662008-12-01 Jakub Jelinek <jakub@redhat.com>
8467
a2d4cdc9
JJ
8468 PR c++/38257
8469 * testsuite/libgomp.c++/for-7.C: New test.
8470
956adfaf
JJ
8471 PR c++/38348
8472 * testsuite/libgomp.c++/for-6.C: New test.
8473
d4038ca2
JJ
84742008-11-26 Janis Johnson <janis187@us.ibm.com>
8475
8476 PR testsuite/28870
8477 * testsuite/lib/libgomp.exp: Include new timeout library files.
8478 (libgomp_target_compile): Set timeout value from new proc.
8479
8b159eea
SE
84802008-11-13 Steve Ellcey <sje@cup.hp.com>
8481
8482 PR libgomp/37938
8483 * config/linux/ia64/mutex.h: New.
8484
5c6ed53a
TB
84852008-11-04 Tobias Burnus <burnus@net-b.de>
8486
8487 PR libgomp/37935
8488 * libgomp.texi (Runtime library routines, environment variables):
8489 Update for OpenMP version 3.0.
8490
6b4a97ed
PG
84912008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
8492 Steve Ellcey <sje@cup.hp.com>
8493
8494 * configure: Regenerate for new libtool.
8495 * Makefile.in: Ditto.
8496 * testsuite/Makefile.in: Ditto.
8497
e2b34106
JJ
84982008-09-19 Jakub Jelinek <jakub@redhat.com>
8499 Andreas Tobler <a.tobler@schweiz.org>
8500
8501 * config/bsd/proc.c: New file.
8c3b3600 8502 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
8503 * configure.ac: Check for header <sys/sysctl.h>
8504 * configure: Regenerate.
8505 * config.h.in: Likewise.
8506
3606b8bf
JJ
85072008-09-05 Janis Johnson <janis187@us.ibm.com>
8508
8509 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
8510
6528b88d
AL
85112008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
8512
8513 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
8514 * Makefile.in: Regenerated.
8515 * testsuite/Makefile.in: Regenerated.
8516
d9b14b12 85172008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 8518
a16b68bb 8519 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
8520 depend on blddir if blddir exists.
8521 (libgomp_target_compile): Likewise.
8522 * testsuite/libgomp.c++/c++.exp: Likewise.
8523 * testsuite/libgomp.fortran/fortran.exp: Likewise.
8524
70b1e376
RW
85252008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8526
8527 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
8528 Do not list GPL as Invariant Section.
8529
318e8c3f
IG
85302008-07-28 Ilie Garbacea <ilie@mips.com>
8531 Chao-ying Fu <fu@mips.com>
8532
8533 * configure.tgt: Enable futex for MIPS.
8534 * config/linux/mips/futex.h: New file.
8535
4db72361
JJ
85362008-07-16 Jakub Jelinek <jakub@redhat.com>
8537
8538 * team.c (gomp_team_end): Free team immediately if it has
8539 just one thread.
8540
87bd23b8
DE
85412008-07-08 David Edelsohn <edelsohn@gnu.org>
8542
8543 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
8544 * testsuite/libgomp.fortran/fortran.exp: Same.
8545 * testsuite/libgomp.c/c.exp: Same.
8546 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
8547 directory to library path first.
8548
323ff903
KW
85492008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
8550
8551 * env.c (parse_stacksize): Add cast to avoid warning.
8552 (parse_spincount): Likewise.
8553
b357f682
JJ
85542008-06-27 Jakub Jelinek <jakub@redhat.com>
8555
ca2b1311
JJ
8556 * testsuite/libgomp.c/loop-10.c: New test.
8557 * libgomp.c/loop-3.c (main): Add lastprivate clause.
8558 * libgomp.c++/loop-6.C (main): Likewise.
8559
b357f682
JJ
8560 PR debug/36617
8561 * testsuite/libgomp.c/debug-1.c: New test.
8562
09a46078
JJ
85632008-06-19 Jakub Jelinek <jakub@redhat.com>
8564
8565 * testsuite/libgomp.c/nqueens-1.c: New test.
8566
2368a460
JJ
8567 PR c++/36523
8568 * testsuite/libgomp.c++/task-7.C: New function.
8569
18c04407
RW
85702008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8571
8572 * configure: Regenerate.
8573
9c4e59e0
JDA
85742008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8575
8576 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
8577 mutex when HAVE_SYNC_BUILTINS isn't defined.
8578
6ccde948
RW
85792008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8580
8581 * libgomp.texi (omp_test_lock): Fix typo.
8582
b896f9fd
TB
85832008-06-12 Tobias Burnus <burnus@net-b.de>
8584
8585 * omp_lib.f90.in: Add "implicit none".
8586
c34938a8
JJ
85872008-06-12 Jakub Jelinek <jakub@redhat.com>
8588
8589 PR middle-end/36506
8590 * testsuite/libgomp.c/reduction-5.c: New test.
8591
976e44e3
JJ
85922008-06-11 Jakub Jelinek <jakub@redhat.com>
8593
5f836cbb
JJ
8594 * libgomp.h (struct gomp_task): Add in_tied_task field.
8595 * task.c (gomp_init_task): Initialize it.
8596 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
8597 unconditionally. Don't call gomp_team_barrier_wake if
8598 current task is implicit or if(0) from implicit and number of
8599 running tasks is equal to nthreads - 1.
8600
01501fc8
JJ
8601 PR libgomp/36471
8602 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
8603 omp_get_team_size_8): Fix pastos.
8604
976e44e3
JJ
8605 PR libgomp/36469
8606 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
8607 * configure: Regenerated.
8608 * config.h.in: Regenerated.
8609 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
8610 defined.
8611
e919209b
AT
86122008-06-06 Andreas Tobler <a.tobler@schweiz.org>
8613
8614 PR bootstrap/36452
8615 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
8616 (GOMP_loop_ull_dynamic_start): Likewise.
8617 (GOMP_loop_ull_guided_start): Likewise.
8618 (GOMP_loop_ull_ordered_static_start): Likewise.
8619 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
8620 (GOMP_loop_ull_ordered_guided_start): Likewise.
8621
a68ab351
JJ
86222008-06-06 Jakub Jelinek <jakub@redhat.com>
8623 Richard Henderson <rth@redhat.com>
8624 Ulrich Drepper <drepper@redhat.com>
8625 Jakob Blomer <jakob.blomer@ira.uka.de>
8626
8627 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
8628 Substitute also OMP_*LOCK_25*.
8629 * configure: Regenerated.
8630 * config.h.in: Regenerated.
8631 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
8632 ptrlock.c and task.c.
8633 * Makefile.in: Regenerated.
8634 * testsuite/Makefile.in: Regenerated.
8635 * task.c: New file.
8636 * loop_ull.c: New file.
8637 * iter_ull.c: New file.
8638 * libgomp.h: Include ptrlock.h.
8639 (enum gomp_task_kind): New type.
8640 (struct gomp_team): Add task_lock, task_queue, task_count,
8641 task_running_count, single_count fields. Add
8642 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
8643 Remove work_share_lock, generation_mask,
8644 oldest_live_gen, num_live_gen and init_work_shares fields, add
8645 work work_share_list_alloc, work_share_list_free and work_share_chunk
8646 fields. Change work_shares from pointer to pointers into an array.
8647 Change ordered_release field into gomp_sem_t ** from flexible array
8648 member. Add implicit_task and initial_work_shares fields.
8649 Move close to the end of the struct.
8650 (struct gomp_team_state): Add single_count, last_work_share,
8651 active_level and level fields, remove work_share_generation.
8652 (gomp_barrier_handle_tasks): New prototype.
8653 (gomp_finish_task): New inline function.
8654 (struct gomp_work_share): Move chunk_size, end, incr into
8655 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
8656 next_ll fields. Reshuffle fields. Add next_alloc,
8657 next_ws, next_free and inline_ordered_team_ids fields, change
8658 ordered_team_ids into pointer from flexible array member.
8659 Add mode field. Put lock and next into a different cache line
8660 from most of the write-once fields.
8661 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
8662 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
8663 gomp_iter_ull_guided_next): New prototypes.
8664 (gomp_new_icv): New prototype.
8665 (struct gomp_thread): Add thread_pool and task fields.
8666 (struct gomp_thread_pool): New type.
8667 (gomp_new_team): New prototype.
8668 (gomp_team_start): Change type of last argument.
8669 (gomp_new_work_share): Removed.
8670 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
8671 (gomp_work_share_init_done): New static inline.
8672 (gomp_throttled_spin_count_var, gomp_available_cpus,
8673 gomp_managed_threads): New extern decls.
8674 (gomp_init_task): New prototype.
8675 (gomp_spin_count_var): New extern var decl.
8676 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
8677 or no alias support, or if not PIC.
8678 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
8679 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
8680 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
8681 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
8682 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
8683 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
8684 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
8685 gomp_test_nest_lock_25): New prototypes.
8686 (omp_lock_symver, strong_alias): Define.
8687 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
8688 decls.
8689 (gomp_end_task): New.
8690 (struct gomp_task_icv, gomp_global_icv): New.
8691 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
8692 (struct gomp_task): New.
8693 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
8694 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
8695 (gomp_icv): New.
8696 (gomp_schedule_type): Reorder enum to match
8697 omp_sched_t.
8698 * team.c (struct gomp_thread_start_data): Add thread_pool and task
8699 fields.
8700 (gomp_thread_start): Add gomp_team_barrier_wait call.
8701 For non-nested case remove clearing of docked thread thr fields.
8702 Use pool fields instead of global gomp_* variables. Use
8703 gomp_barrier_wait_last when needed. Initialize ts.active_level.
8704 Create tasks for each member thread.
8705 (free_team): Only destroy team barrier, task_lock here and free it.
8706 (gomp_free_thread): Free last_team if non-NULL.
8707 (gomp_team_end): Call gomp_team_barrier_wait instead of
8708 gomp_barrier_wait. For nested case call one extra
8709 gomp_barrier_wait. Move here some destruction from free_team.
8710 Call free_team on pool->last_team if any, rather than freeing
8711 current team. Destroy work_share_list_free_lock ifndef
8712 HAVE_SYNC_BUILTINS.
8713 (gomp_new_icv): New function.
8714 (gomp_threads, gomp_threads_size, gomp_threads_used,
8715 gomp_threads_dock): Removed.
8716 (gomp_thread_destructor): New variable.
8717 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
8718 functions.
8719 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 8720 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
8721 Initialize thread_pool field for new threads. Clear single_count.
8722 Change last argument from ws to team, don't create
8723 new team, set ts.work_share to &team->work_shares[0] and clear
8724 ts.last_work_share. Don't clear ts.work_share_generation.
8725 If number of threads changed, adjust atomically gomp_managed_threads.
8726 Use gomp_init_task instead of gomp_new_task,
8727 set thr->task to the corresponding implicit_task array entry.
8728 Create tasks for each member thread. Initialize ts.level.
8729 (initialize_team): Call pthread_key_create on
8730 gomp_thread_destructor.
8731 (team_destructor): New function.
8732 (new_team): Removed.
8733 (gomp_new_team): New function.
8734 (free_team): Free gomp_work_share blocks chained through next_alloc,
8735 instead of freeing work_shares and destroying work_share_lock.
8736 (gomp_team_end): Call gomp_fini_work_share. If number of threads
8737 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
8738 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
8739 of gomp_barrier_wait.
8740 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
8741 instead of gomp_barrier_wait. Call gomp_work_share_init_done
8742 if gomp_work_share_start returned true. Don't unlock ws->lock.
8743 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
8744 of gomp_barrier_wait.
8745 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
8746 gomp_work_share_init_done if gomp_work_share_start returned true.
8747 Don't unlock ws->lock.
8748 * work.c: Include stddef.h.
8749 (free_work_share): Use work_share_list_free_lock instead
8750 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
8751 Call gomp_fini_work_share and then either free ws if orphaned, or
8752 put it into work_share_list_free list of the current team.
8753 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
8754 functions.
8755 (gomp_work_share_start, gomp_work_share_end,
8756 gomp_work_share_end_nowait): Rewritten.
8757 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
8758 (openmp_version): Set to 200805.
8759 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
8760 omp_sched_guided, omp_sched_auto): New parameters.
8761 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
8762 omp_set_max_active_levels, omp_get_max_active_levels,
8763 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
8764 omp_get_active_level): New interfaces.
8765 * omp_lib.h.in (openmp_version): Set to 200805.
8766 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
8767 omp_sched_guided, omp_sched_auto): New parameters.
8768 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
8769 omp_set_max_active_levels, omp_get_max_active_levels,
8770 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
8771 omp_get_active_level): New externals.
8772 * loop.c: Include limits.h.
8773 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
8774 GFS_AUTO.
8775 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
8776 Likewise. Use gomp_icv.
8777 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
8778 ts.static_trip here.
8779 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
8780 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
8781 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
8782 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
8783 don't unlock ws->lock, otherwise lock it.
8784 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
8785 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
8786 (gomp_parallel_loop_start): Call gomp_new_team instead of
8787 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
8788 Adjust gomp_team_start caller. Pass 0 as second argument to
8789 gomp_resolve_num_threads.
8790 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
8791 If adding ws->chunk_size nthreads + 1 times after end won't
8792 overflow, set ws->mode to 1.
8793 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
8794 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
8795 GOMP_loop_ull_ordered_static_start,
8796 GOMP_loop_ull_ordered_dynamic_start,
8797 GOMP_loop_ull_ordered_guided_start,
8798 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
8799 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
8800 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
8801 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
8802 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
8803 prototypes.
8804 * libgomp.map: Export lock routines also @@OMP_2.0.
8805 (GOMP_loop_ordered_dynamic_first,
8806 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
8807 GOMP_loop_ordered_static_first): Remove.
8808 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
8809 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
8810 GOMP_loop_ull_ordered_dynamic_next,
8811 GOMP_loop_ull_ordered_dynamic_start,
8812 GOMP_loop_ull_ordered_guided_next,
8813 GOMP_loop_ull_ordered_guided_start,
8814 GOMP_loop_ull_ordered_runtime_next,
8815 GOMP_loop_ull_ordered_runtime_start,
8816 GOMP_loop_ull_ordered_static_next,
8817 GOMP_loop_ull_ordered_static_start,
8818 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
8819 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
8820 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
8821 (omp_set_schedule, omp_get_schedule,
8822 omp_get_thread_limit, omp_set_max_active_levels,
8823 omp_get_max_active_levels, omp_get_level,
8824 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
8825 omp_set_schedule_, omp_set_schedule_8_,
8826 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
8827 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
8828 omp_get_max_active_levels_, omp_get_level_,
8829 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
8830 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
8831 New exports @@OMP_3.0.
8832 * omp.h.in (omp_sched_t): New type.
8833 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
8834 omp_set_max_active_levels, omp_get_max_active_levels,
8835 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
8836 omp_get_active_level): New prototypes.
8837 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
8838 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
8839 gomp_thread_limit_var, gomp_remaining_threads_count,
8840 gomp_remaining_threads_lock): New variables.
8841 (parse_spincount): New function.
8842 (initialize_env): Call gomp_init_num_threads unconditionally.
8843 Initialize gomp_available_cpus. Call parse_spincount,
8844 initialize gomp_{,throttled_}spin_count_var
8845 depending on presence and value of OMP_WAIT_POLICY and
8846 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
8847 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
8848 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
8849 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
8850 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
8851 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
8852 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
8853 (gomp_global_icv): New.
8854 (parse_schedule): Use it. Parse "auto".
8855 (omp_set_num_threads): Use gomp_icv.
8856 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
8857 Likewise.
8858 (omp_get_max_threads): Move from parallel.c.
8859 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
8860 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
8861 add ialias.
8862 (parse_stacksize, parse_wait_policy): New functions.
8863 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
8864 both wrappers for compatibility and new locks.
8865 (omp_set_schedule, omp_get_schedule,
8866 omp_get_thread_limit, omp_set_max_active_levels,
8867 omp_get_max_active_levels, omp_get_level,
8868 omp_get_ancestor_thread_num, omp_get_team_size,
8869 omp_get_active_level): New ialias_redirect.
8870 (omp_set_schedule_, omp_set_schedule_8_,
8871 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
8872 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
8873 omp_get_max_active_levels_, omp_get_level_,
8874 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
8875 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
8876 New functions.
8877 * parallel.c: Include limits.h.
8878 (gomp_resolve_num_threads): Add count argument. Rewritten.
8879 (GOMP_parallel_start): Call gomp_new_team and pass that as last
8880 argument to gomp_team_start. Pass 0 as second argument to
8881 gomp_resolve_num_threads.
8882 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
8883 if gomp_thread_limit_var != ULONG_MAX.
8884 (omp_in_parallel): Implement using ts.active_level.
8885 (omp_get_max_threads): Move to env.c.
8886 (omp_get_level, omp_get_ancestor_thread_num,
8887 omp_get_team_size, omp_get_active_level): New functions,
8888 add ialias.
8889 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
8890 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
8891 gomp_iter_dynamic_next instead of the _locked variant and don't take
8892 lock around it, otherwise acquire it before calling
8893 gomp_iter_dynamic_next_locked.
8894 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
8895 gomp_iter_dynamic_next instead of the _locked variant and don't take
8896 lock around it.
8897 (GOMP_parallel_sections_start): Call gomp_new_team instead of
8898 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
8899 Adjust gomp_team_start caller. Pass count as second argument to
8900 gomp_resolve_num_threads, don't adjust num_threads after the call.
8901 Use gomp_icv.
8902 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
8903 ws->chunk_size by incr.
8904 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
8905 code.
8906 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
8907 types.
8908 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
8909 (omp_check_defines): Check even the compat defines.
8910 * config/linux/ptrlock.c: New file.
8911 * config/linux/ptrlock.h: New file.
8912 * config/linux/wait.h: New file.
8913 * config/posix/ptrlock.c: New file.
8914 * config/posix/ptrlock.h: New file.
8915 * config/linux/bar.h (gomp_team_barrier_wait,
8916 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
8917 (gomp_team_barrier_set_task_pending,
8918 gomp_team_barrier_clear_task_pending,
8919 gomp_team_barrier_set_waiting_for_tasks,
8920 gomp_team_barrier_waiting_for_tasks,
8921 gomp_team_barrier_done): New inlines.
8922 (gomp_barrier_t): Rewritten.
8923 (gomp_barrier_state_t): New typedef.
8924 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
8925 gomp_barrier_wait_start): Rewritten.
8926 (gomp_barrier_wait_end): Change second argument to
8927 gomp_barrier_state_t.
8928 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
8929 inlines.
8930 * config/linux/bar.c: Include wait.h instead of libgomp.h and
8931 futex.h.
8932 (gomp_barrier_wait_end): Rewritten.
8933 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
8934 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
8935 * config/posix/bar.h (gomp_barrier_t): Add generation field.
8936 (gomp_barrier_state_t): New typedef.
8937 (gomp_team_barrier_wait,
8938 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
8939 (gomp_barrier_wait_start): Or all but low 2 bits from generation
8940 into the return value. Return gomp_barrier_state_t.
8941 (gomp_team_barrier_set_task_pending,
8942 gomp_team_barrier_clear_task_pending,
8943 gomp_team_barrier_set_waiting_for_tasks,
8944 gomp_team_barrier_waiting_for_tasks,
8945 gomp_team_barrier_done): New inlines.
8946 (gomp_barrier_wait_end): Change second argument to
8947 gomp_barrier_state_t.
8948 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
8949 inlines.
8950 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
8951 (gomp_barrier_wait_end): Change second argument to
3e348fcc 8952 gomp_barrier_state_t.
a68ab351
JJ
8953 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
8954 gomp_team_barrier_wake): New functions.
8955 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
8956 futex.h.
8957 (gomp_futex_wake, gomp_futex_wait): New variables.
8958 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
8959 * config/linux/lock.c: Rewrite to make locks task owned,
8960 for backwards compatibility provide the old entrypoints
8961 if symbol versioning. Include wait.h instead of libgomp.h and
8962 futex.h.
8963 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
8964 * config/posix95/lock.c: Rewrite to make locks task owned,
8965 for backwards compatibility provide the old entrypoints
8966 if symbol versioning.
8967 * config/posix/lock.c: Rewrite to make locks task owned,
8968 for backwards compatibility provide the old entrypoints
8969 if symbol versioning.
8970 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
8971 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
8972 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
8973 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
8974 (sys_futex0): Return error code.
8975 (futex_wake, futex_wait): If ENOSYS was returned, clear
8976 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
8977 (cpu_relax, atomic_write_barrier): New static inlines.
8978 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
8979 (futex_wake, futex_wait): If ENOSYS was returned, clear
8980 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
8981 (cpu_relax, atomic_write_barrier): New static inlines.
8982 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
8983 (sys_futex0): Return error code.
8984 (futex_wake, futex_wait): If ENOSYS was returned, clear
8985 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
8986 (cpu_relax, atomic_write_barrier): New static inlines.
8987 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
8988 (sys_futex0): Return error code.
8989 (futex_wake, futex_wait): If ENOSYS was returned, clear
8990 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
8991 (cpu_relax, atomic_write_barrier): New static inlines.
8992 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
8993 (sys_futex0): Return error code.
8994 (futex_wake, futex_wait): If ENOSYS was returned, clear
8995 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
8996 (cpu_relax, atomic_write_barrier): New static inlines.
8997 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
8998 (sys_futex0): Return error code.
8999 (futex_wake, futex_wait): If ENOSYS was returned, clear
9000 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
9001 (cpu_relax, atomic_write_barrier): New static inlines.
9002 * config/linux/sem.c: Include wait.h instead of libgomp.h and
9003 futex.h.
9004 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
9005 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
9006 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
9007 types.
9008 (omp_nest_lock_t): Change owner into void *, add lock field.
9009 * config/posix95/omp-lock.h: Include semaphore.h.
9010 (omp_lock_25_t, omp_nest_lock_25_t): New types.
9011 (omp_lock_t): Use sem_t instead of mutex if semaphores
9012 aren't broken.
9013 (omp_nest_lock_t): Likewise. Change owner to void *.
9014 * config/posix/omp-lock.h: Include semaphore.h.
9015 (omp_lock_25_t, omp_nest_lock_25_t): New types.
9016 (omp_lock_t): Use sem_t instead of mutex if semaphores
9017 aren't broken.
9018 (omp_nest_lock_t): Likewise. Add owner field.
9019
90202008-06-06 Jakub Jelinek <jakub@redhat.com>
9021
9022 * testsuite/libgomp.c/collapse-1.c: New test.
9023 * testsuite/libgomp.c/collapse-2.c: New test.
9024 * testsuite/libgomp.c/collapse-3.c: New test.
9025 * testsuite/libgomp.c/icv-1.c: New test.
9026 * testsuite/libgomp.c/icv-2.c: New test.
9027 * testsuite/libgomp.c/lib-2.c: New test.
9028 * testsuite/libgomp.c/lock-1.c: New test.
9029 * testsuite/libgomp.c/lock-2.c: New test.
9030 * testsuite/libgomp.c/lock-3.c: New test.
9031 * testsuite/libgomp.c/loop-4.c: New test.
9032 * testsuite/libgomp.c/loop-5.c: New test.
9033 * testsuite/libgomp.c/loop-6.c: New test.
9034 * testsuite/libgomp.c/loop-7.c: New test.
9035 * testsuite/libgomp.c/loop-8.c: New test.
9036 * testsuite/libgomp.c/loop-9.c: New test.
9037 * testsuite/libgomp.c/nested-3.c: New test.
9038 * testsuite/libgomp.c/nestedfn-6.c: New test.
9039 * testsuite/libgomp.c/sort-1.c: New test.
9040 * testsuite/libgomp.c/task-1.c: New test.
9041 * testsuite/libgomp.c/task-2.c: New test.
9042 * testsuite/libgomp.c/task-3.c: New test.
9043 * testsuite/libgomp.c/task-4.c: New test.
9044 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
9045 to C++ testsuite default compiler options.
9046 * testsuite/libgomp.c++/collapse-1.C: New test.
9047 * testsuite/libgomp.c++/collapse-2.C: New test.
9048 * testsuite/libgomp.c++/ctor-10.C: New test.
9049 * testsuite/libgomp.c++/for-1.C: New test.
9050 * testsuite/libgomp.c++/for-2.C: New test.
9051 * testsuite/libgomp.c++/for-3.C: New test.
9052 * testsuite/libgomp.c++/for-4.C: New test.
9053 * testsuite/libgomp.c++/for-5.C: New test.
9054 * testsuite/libgomp.c++/loop-8.C: New test.
9055 * testsuite/libgomp.c++/loop-9.C: New test.
9056 * testsuite/libgomp.c++/loop-10.C: New test.
9057 * testsuite/libgomp.c++/task-1.C: New test.
9058 * testsuite/libgomp.c++/task-2.C: New test.
9059 * testsuite/libgomp.c++/task-3.C: New test.
9060 * testsuite/libgomp.c++/task-4.C: New test.
9061 * testsuite/libgomp.c++/task-5.C: New test.
9062 * testsuite/libgomp.c++/task-6.C: New test.
9063 * testsuite/libgomp.fortran/allocatable1.f90: New test.
9064 * testsuite/libgomp.fortran/allocatable2.f90: New test.
9065 * testsuite/libgomp.fortran/allocatable3.f90: New test.
9066 * testsuite/libgomp.fortran/allocatable4.f90: New test.
9067 * testsuite/libgomp.fortran/collapse1.f90: New test.
9068 * testsuite/libgomp.fortran/collapse2.f90: New test.
9069 * testsuite/libgomp.fortran/collapse3.f90: New test.
9070 * testsuite/libgomp.fortran/collapse4.f90: New test.
9071 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
9072 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
9073 * testsuite/libgomp.fortran/lib4.f90: New test.
9074 * testsuite/libgomp.fortran/lock-1.f90: New test.
9075 * testsuite/libgomp.fortran/lock-2.f90: New test.
9076 * testsuite/libgomp.fortran/nested1.f90: New test.
9077 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
9078 * testsuite/libgomp.fortran/strassen.f90: New test.
9079 * testsuite/libgomp.fortran/tabs1.f90: New test.
9080 * testsuite/libgomp.fortran/tabs2.f: New test.
9081 * testsuite/libgomp.fortran/task1.f90: New test.
9082 * testsuite/libgomp.fortran/task2.f90: New test.
9083 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
9084 * testsuite/libgomp.fortran/vla5.f90: Likewise.
9085 * testsuite/libgomp.c/pr26943-2.c: Likewise.
9086 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9087 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9088
7a0112e7
JJ
90892008-05-23 Jakub Jelinek <jakub@redhat.com>
9090
9091 PR c++/36308
9092 * testsuite/libgomp.c++/ctor-11.C: New test.
9093 * testsuite/libgomp.c++/ctor-12.C: New test.
9094
91a5b394
JJ
90952008-05-15 Janis Johnson <janis187@us.ibm.com>
9096
9097 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
9098
c18c98c0
JJ
90992008-05-07 Jakub Jelinek <jakub@redhat.com>
9100
9101 PR middle-end/36106
9102 * testsuite/libgomp.c/atomic-5.c: New test.
9103 * testsuite/libgomp.c/atomic-6.c: New test.
9104 * testsuite/libgomp.c/autopar-1.c: New test.
9105
6d26724a
RW
91062008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9107
9108 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
9109 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
9110 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
9111 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
9112 * configure: Regenerate.
9113 * Makefile.in, testsuite/Makefile.in: Likewise.
9114
deb984e6
PB
91152008-04-18 Paolo Bonzini <bonzini@gnu.org>
9116
9117 PR bootstrap/35457
9118 * aclocal.m4: Regenerate.
9119 * configure: Regenerate.
9120
9e775963
JJ
91212008-03-18 Jakub Jelinek <jakub@redhat.com>
9122
8119fc93
JJ
9123 PR middle-end/35611
9124 * testsuite/libgomp.c/atomic-4.c: New test.
9125
9e775963
JJ
9126 PR libgomp/35625
9127 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
9128 (gomp_iter_guided_next): Likewise.
9129 * testsuite/libgomp.c/pr35625.c: New test.
9130
38d24731
RW
91312008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9132
9133 * aclocal.m4: Regenerate.
9134 * configure: Likewise.
9135 * Makefile.in: Likewise.
9136 * testsuite/Makefile.in: Likewise.
9137
d0fb20be
JJ
91382008-03-13 Jakub Jelinek <jakub@redhat.com>
9139
9140 PR middle-end/35185
9141 * testsuite/libgomp.c++/pr35185.C: New test.
9142
7c8f7639
JJ
91432008-03-12 Jakub Jelinek <jakub@redhat.com>
9144
9145 PR middle-end/35549
9146 * testsuite/libgomp.c/pr35549.c: New test.
9147
251923f5
JJ
91482008-03-06 Jakub Jelinek <jakub@redhat.com>
9149
9150 * testsuite/libgomp.c/atomic-3.c: New test.
9151
f489fba1
FXC
91522008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9153
9154 PR fortran/33197
251923f5 9155 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
9156 .F08 file suffixes.
9157
a1b25e49
PG
91582008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
9159
9160 PR libgomp/33131
9161 * configure.ac: Add ACX_HEADER_STRING.
9162 * env.c: Include strings.h.
9163 * aclocal.m4: Regenerate.
9164 * config.h.in: Regenerate.
9165 * configure: Regenerate.
9166 * Makefile.in: Regenerate.
9167 * testsuite/Makefile.in: Regenerate.
9168
6837b3b8
JJ
91692008-02-15 Jakub Jelinek <jakub@redhat.com>
9170
ac84c062
JJ
9171 PR middle-end/35196
9172 * testsuite/libgomp.c/pr35196.c: New test.
9173
6837b3b8
JJ
9174 PR middle-end/35130
9175 * testsuite/libgomp.fortran/pr35130.f90: New test.
9176 * testsuite/libgomp.c/pr35130.c: New test.
9177
c256730c
JJ
91782008-01-25 Jakub Jelinek <jakub@redhat.com>
9179
9180 PR middle-end/33880
9181 * testsuite/libgomp.c/pr33880.c: New test.
9182 * testsuite/libgomp.fortran/pr33880.f90: New test.
9183
c8e95542 91842008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
9185
9186 * configure: Regenerate.
9187
0f3e711e
JJ
91882008-01-08 Jakub Jelinek <jakub@redhat.com>
9189
9190 * configure.ac: Move futex checking into ../config/futex.m4.
9191 * configure: Rebuilt.
9192 * aclocal.m4: Rebuilt.
9193 * Makefile.in: Rebuilt.
9194
9195 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
9196 2007-10-15 ../config/tls.m4 change.
9197
5259c813
JJ
91982007-12-19 Jakub Jelinek <jakub@redhat.com>
9199
9200 PR c++/34513
9201 * testsuite/libgomp.c/pr34513.c: New test.
9202 * testsuite/libgomp.c++/pr34513.C: New test.
9203
ae8d8879
JH
92042007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
9205
9206 PR target/32765
9207 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
9208
2b4cf991
JJ
92092007-12-04 Jakub Jelinek <jakub@redhat.com>
9210
9211 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
9212
d2dda7fe
JJ
92132007-12-03 Jakub Jelinek <jakub@redhat.com>
9214
9215 * testsuite/libgomp.c/private-1.c: New test.
9216
d683ec81
PB
92172007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
9218 Paolo Bonzini <bonzini@gnu.org>
9219
9220 * Makefile.am: Use space as vpath separator. Use 'vpath %'
9221 instead of 'VPATH ='.
9222 * Makefile.in: Regenerate.
9223
a7415017
MK
92242007-11-23 Matthias Klose <doko@ubuntu.com>
9225
9226 * configure.ac: Adjust makeinfo version check.
9227 * configure: Regenerate.
9228
78e47463
JJ
92292007-11-10 Jakub Jelinek <jakub@redhat.com>
9230
9231 PR fortran/34020
9232 * testsuite/libgomp.fortran/pr34020.f90: New test.
9233
239371f9
JJ
92342007-11-06 Jakub Jelinek <jakub@redhat.com>
9235
9236 PR c++/33894
9237 * testsuite/libgomp.c++/atomic-1.C: New test.
9238
98a5fa94
JJ
92392007-10-25 Jakub Jelinek <jakub@redhat.com>
9240
9241 PR libgomp/33275
9242 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
9243 Make x and y integers rather than (implicit) reals. Add private (j)
9244 clause to the last omp parallel.
9245
3afcaaf4
MR
92462007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
9247
9248 * configure: Regenerate following changes to ../config/tls.m4.
9249
bd69daef
JJ
92502007-09-28 Jakub Jelinek <jakub@redhat.com>
9251
9252 * testsuite/libgomp.fortran/stack.f90: New test.
9253
1d0bd356
DS
92542007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
9255
9256 * config/mingw32/proc.c: New file.
9257
b3172cab
UB
92582007-09-05 Uros Bizjak <ubizjak@gmail.com>
9259
9260 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
9261 (main): Use __get_cpuid to get i386 target fetaures.
9262 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
9263 (main): Use __get_cpuid to get x86_64 target fetaures.
9264
6da17392
JH
92652007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
9266
9267 PR target/32765
9268 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
9269 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
9270
e1c82219
JJ
92712007-07-12 Jakub Jelinek <jakub@redhat.com>
9272
9273 PR fortran/32550
9274 * testsuite/libgomp.fortran/pr32550.f90: New test.
9275 * testsuite/libgomp.fortran/crayptr2.f90: New test.
9276
12a27363
L
92772007-07-05 H.J. Lu <hongjiu.lu@intel.com>
9278
9279 * aclocal.m4: Regenerated.
9280
5349080d
TB
92812007-07-05 Tobias Burnus <burnus@net-b.de>
9282
9283 PR fortran/32359
9284 * testsuite/libgomp.fortran/pr32359.f90: New.
9285
4f9c450c
JJ
92862007-07-02 Jakub Jelinek <jakub@redhat.com>
9287
9288 PR libgomp/32468
9289 * sections.c (GOMP_parallel_sections_start): Only decrease
9290 number of threads to COUNT if dyn_var is true.
9291 * testsuite/libgomp.c/pr32468.c: New test.
9292
28c67ed7
RO
92932007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9294
9295 PR libgomp/26308
9296 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
9297
64964499
JJ
92982007-06-21 Jakub Jelinek <jakub@redhat.com>
9299
9300 PR middle-end/32362
9301 * testsuite/libgomp.c/pr32362-1.c: New test.
9302 * testsuite/libgomp.c/pr32362-2.c: New test.
9303 * testsuite/libgomp.c/pr32362-3.c: New test.
9304
46d8fbd1
JJ
93052007-06-07 Jakub Jelinek <jakub@redhat.com>
9306
9307 * team.c (gomp_team_start): Fix setting up thread_attr
9308 stack size.
9309
82a6cadf
PB
93102007-06-02 Paolo Bonzini <bonzini@gnu.org>
9311
9312 * configure: Regenerate.
9313
1cf3d07d
SE
93142007-05-23 Steve Ellcey <sje@cup.hp.com>
9315
9316 * Makefile.in: Regenerate.
9317 * configure: Regenerate.
9318 * aclocal.m4: Regenerate.
9319 * testsuite/Makefile.in: Regenerate.
9320
12aac30b
JJ
93212007-05-04 Jakub Jelinek <jakub@redhat.com>
9322
9323 * config/linux/proc.c: New file.
9324
f1028b02
JJ
9325 PR libgomp/28482
9326 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
9327
06785a48
DF
93282007-04-19 Daniel Franke <franke.daniel@gmail.com>
9329
9330 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
9331
b3b08ba0
MK
93322007-04-16 Matthias Klose <doko@debian.org>
9333
9334 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
9335 flags if not building with -m64.
9336 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
9337 flag for i?86-*-* targets, if current target matches -m64.
9338
6b2c5ce0
SE
93392007-04-14 Steve Ellcey <sje@cup.hp.com>
9340
9341 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
9342 * Makefile.in: Regenerate.
9343
dd56fe7c
JDA
93442007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9345
9346 PR testsuite/31369
9347 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
9348 ld_library_path.
9349 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9350
a0884cf0
JJ
93512007-04-04 Jakub Jelinek <jakub@redhat.com>
9352
9353 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
9354 decls.
9355 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
9356 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
9357 (parse_affinity): New function.
9358 (initialize_env): Call it and gomp_init_affinity.
9359 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
9360 create new pthread_attr_t and call gomp_init_thread_affinity
9361 on it for each thread before passing the attribute to pthread_create.
9362 * config/linux/affinity.c: New file.
9363 * config/posix/affinity.c: New file.
9364 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
9365 * configure: Rebuilt.
9366 * config.h.in: Rebuilt.
9367 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
9368 * Makefile.in: Rebuilt.
9369
1850744b
AT
93702007-03-23 Andreas Tobler <a.tobler@schweiz.org>
9371
9372 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
9373 *-*-darwin*.
9374 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
9375 and use it if found.
9376
516f1ed8
UB
93772007-03-18 Uros Bizjak <ubizjak@gmail.com>
9378
9379 * testsuite/config/default.exp: New file.
9380 * testsuite/lib/libgomp.exp: New file.
9381 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
9382 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
9383 load_lib *, load_gcc_lib *): Move to libgomp.exp.
9384 (libgomp_load): Remove.
9385 * testsuite/lib/libgomp.exp (libgomp_init): Compute
9386 always_ld_library_path, not ld_library_path. Set additional_flags
9387 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
9388 (target_compile): Do not call libgomp_init. Append lang_library_path
9389 and lang_link_flags to options.
9390 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
9391 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
9392 here.
9393 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
9394 always_ld_library_path. Set LD_LIBRARY_PATH here.
9395 * testsuite/libgomp.fortran/fortran.exp: Ditto.
9396 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
9397 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
9398 CX8 flag.
9399 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
9400 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
9401 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
9402 * testsuite/libgomp.c/pr29947-1.c: Ditto.
9403 * testsuite/libgomp.c/atomic-10.c: Ditto.
9404
2ada56f5
JJ
94052007-03-21 Jakub Jelinek <jakub@redhat.com>
9406
9407 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
9408 dg-final cleanup-modules line.
9409 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
9410 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
9411 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
9412 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
9413 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
9414 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
9415 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
9416
f210f1cd
AS
94172007-03-18 Andreas Schwab <schwab@suse.de>
9418
9419 * acinclude.m4: Adjust regular expression for ld version
9420 extraction.
9421 * configure: Regenerate.
9422
c4dc950d
BM
94232007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
9424
9425 * Makefile.am: Add install-pdf target as copied from
9426 automake v1.10 rules.
9427 * Makefile.in: Regenerate
9428
e02a048f
JJ
94292007-02-07 Jakub Jelinek <jakub@redhat.com>
9430
78e075d4
JJ
9431 PR libgomp/28486
9432 * configure: Regenerate.
9433
e02a048f
JJ
9434 PR c++/30703
9435 * testsuite/libgomp.c++/pr30703.C: New test.
9436
60def7ed
JJ
94372007-02-02 Jakub Jelinek <jakub@redhat.com>
9438
9439 Revert:
9440 2006-07-05 Eric Christopher <echristo@apple.com>
9441 * configure.ac: Depend addition of -pthread on host OS.
9442 * configure: Regenerate.
9443
f1b0882e
RW
94442007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9445
9446 * libgomp.texi: Fix spacing after abbreviations.
9447
748b9d7c
DF
94482007-01-31 Daniel Franke <franke.daniel@gmail.com>
9449
9450 PR libgomp/30546
9451 * configure.ac: Add check for makeinfo
9452 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
9453 if an appropiate version of makeinfo is found.
9454 * aclocal.m4: Regenerated.
9455 * configure: Regenerated.
9456 * Makefile.in: Regenerated.
9457 * testsuite/Makefile.in: Regenerated.
9458
14734fc7
DF
94592007-01-29 Daniel Franke <franke.daniel@gmail.com>
9460
9461 PR libgomp/30540
9462 * libgomp.texi: More about implementation-dependent settings.
9463
7befd5d2
TB
94642007-01-26 Tobias Burnus <burnus@net-b.de>
9465
9466 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
9467
4288fea2
JJ
94682007-01-24 Jakub Jelinek <jakub@redhat.com>
9469
9470 PR middle-end/30494
9471 * testsuite/libgomp.c/pr30494.c: New test.
9472
627ab4b8
TT
94732007-01-15 Tom Tromey <tromey@redhat.com>
9474
9475 * configure: Rebuilt.
9476 * configure.ac: Fixed comment.
9477
7c2b7f45
DF
94782007-01-14 Daniel Franke <franke.daniel@gmail.com>
9479
9480 * libgomp.texi: Document implementation specific default values of
9481 environment variables.
9482
3721b9e1
DF
94832006-12-21 Daniel Franke <franke.daniel@gmail.com>
9484
9485 PR libgomp/28209
9486 * libgomp.texi: New file.
9487 * configure.ac: Add --enable-generated-files-in-srcdir option.
9488 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
9489 files to srcdir.
9490 * Makefile.in: Regenerated.
9491 * config.h.in: Regenerated.
9492 * testsuite/Makefile.in: Regenerated.
9493 * NOTES: Removed.
9494
62bd6216
DF
94952006-12-04 Daniel Franke <franke.daniel@gmail.com>
9496
9497 PR libgomp/29949
9498 * env.c (omp_set_num_threads): Set illegal thread count to 1.
9499
aad741f4
EB
95002006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
9501
9502 * configure: Regenerate.
9503
22568cc6
JJ
95042006-12-04 Jakub Jelinek <jakub@redhat.com>
9505
9506 PR libgomp/29947
9507 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
9508 start if there shouldn't be any loop iterations.
9509 (gomp_loop_ordered_static_start): Remove start == end test.
9510 * testsuite/libgomp.c/pr29947-1.c: New test.
9511 * testsuite/libgomp.c/pr29947-2.c: New test.
9512
a9690009
EB
95132006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
9514
9515 * configure.tgt: Force initial-exec TLS model on Linux only.
9516
597c25e6
DJ
95172006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
9518
9519 * configure: Regenerated.
9520
6acf0b38
UB
95212006-11-09 Uros Bizjak <ubizjak@gmail.com>
9522
9523 * env.c (parse_schedule): Reject out of range values.
9524 (parse_unsigned_long): Reject out of range, negative or zero values.
9525
a7a53ca5
JJ
95262006-10-29 Jakub Jelinek <jakub@redhat.com>
9527
9528 PR fortran/29629
9529 * testsuite/libgomp.fortran/pr29629.f90: New test.
9530
6d4d216a
EB
95312006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
9532
9533 PR libgomp/29494
9534 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
9535 * config/posix95: New directory.
9536 * config/posix95/omp-lock.h: New file.
9537 * config/posix95/lock.c: Likewise.
9538
5b043f08
GK
95392006-10-14 Geoffrey Keating <geoffk@apple.com>
9540
9541 * aclocal.m4: Regenerate.
9542 * configure: Regenerate.
9543
b50019f0
DS
95442006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
9545
9546 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
9547 '<' to '<='.
9548
8887708e
DS
95492006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
9550
9551 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
9552 test.
9553 * configure: Regenerate.
9554 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
9555
9b9e4cd6
JJ
95562006-09-26 Jakub Jelinek <jakub@redhat.com>
9557
a70ad3bb
JJ
9558 PR middle-end/25261
9559 PR middle-end/28790
9560 * testsuite/libgomp.c/nestedfn-4.c: New test.
9561 * testsuite/libgomp.c/nestedfn-5.c: New test.
9562 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
9563
9b9e4cd6
JJ
9564 PR fortran/29097
9565 * testsuite/libgomp.fortran/condinc1.f: New test.
9566 * testsuite/libgomp.fortran/condinc2.f: New test.
9567 * testsuite/libgomp.fortran/condinc3.f90: New test.
9568 * testsuite/libgomp.fortran/condinc4.f90: New test.
9569 * testsuite/libgomp.fortran/condinc1.inc: New file.
9570
2fb31455
TT
95712006-09-18 Tom Tromey <tromey@redhat.com>
9572
9573 * configure: Rebuilt.
9574
c663e301
JM
95752006-09-13 Joseph S. Myers <joseph@codesourcery.com>
9576
9577 PR c/28768
9578 PR preprocessor/14634
9579 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
9580 to AC_DEFINE.
9581 * configure: Regenerate.
9582
38371be9
SK
95832006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
9584
9585 * testsuite/libgomp.fortran/reduction3.f90: Change
9586 -2147483648 to -huge(i)-1 to avoid overflow.
9587 * testsuite/libgomp.fortran/reduction4.f90: Change
9588 Z'ffffffff' to not(0) to avoid overflow.
9589
571d5ac5
JM
95902006-08-26 Joseph S. Myers <joseph@codesourcery.com>
9591
9592 PR libgomp/25938
9593 * Makefile.am (libsubincludedir): New.
9594 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
9595 * Makefile.in: Regenerate.
9596
89b3e3cd
JJ
95972006-08-17 Jakub Jelinek <jakub@redhat.com>
9598
9599 PR libgomp/28725
9600 * env.c: Include ctype.h.
9601 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
9602 leading and/or trailing whitespace and compare strings case
9603 insensitively.
9604
742fae05
JJ
96052006-07-16 Jakub Jelinek <jakub@redhat.com>
9606
9607 PR fortran/28390
9608 * testsuite/libgomp.fortran/pr28390.f: New test.
9609
a1daed2d
EC
96102006-07-05 Eric Christopher <echristo@apple.com>
9611
9612 * configure.ac: Depend addition of -pthread on host OS.
9613 * configure: Regenerate.
9614
5d7b5199
JJ
96152006-06-21 Jakub Jelinek <jakub@redhat.com>
9616
9617 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
9618 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
9619 defined.
9620
fe5568e9
JJ
96212006-06-20 Jakub Jelinek <jakub@redhat.com>
9622
9623 PR libgomp/26175
9624 PR libgomp/26477
9625 * configure.ac: If neither --enable-linux-futex nor
9626 --disable-linux-futex is passed, determine the default by checking
9627 for compiling and/or running against NPTL. With --enable-linux-futex,
9628 check if SYS_gettid and SYS_futex are defined.
9629 * configure: Rebuilt.
9630
c3b11a40
RH
96312006-06-14 Richard Henderson <rth@redhat.com>
9632
9633 PR libgomp/28008
9634 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
9635 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
9636
d0d1b24d
RH
96372006-06-09 Richard Henderson <rth@redhat.com>
9638
9639 * env.c (gomp_nthreads_var): Change to unsigned long.
9640 (gomp_run_sched_chunk): Likewise.
9641 (parse_unsigned_long): Rename from parse_num_threads and generalize.
9642 (initialize_env): Initialize gomp_thread_attr.
9643 * libgomp.h (gomp_nthreads_var): Update decl.
9644 (gomp_run_sched_chunk): Likewise.
9645 (gomp_thread_attr): Declare.
9646 * team.c (gomp_thread_attr): Export.
9647 (initialize_team): Don't initialize it.
9648
cd75853e
JJ
96492006-06-09 Jakub Jelinek <jakub@redhat.com>
9650
9651 PR fortran/27916
9652 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
9653 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
9654
33815e0c
FXC
96552006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
9656
9657 * config/mingw32/time.c: New file.
9658 * configure.tgt: Use it.
9659
6667de0d
CD
96602006-05-23 Carlos O'Donell <carlos@codesourcery.com>
9661
9662 * Makefile.am: Add install-html target. Add install-html to .PHONY
9663 * Makefile.in: Regenerate.
9664
e962c46b
JDA
96652006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9666
9667 PR libgomp/27612
9668 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
9669 * testsuite/libgomp.c/critical-1.c: Likewise.
9670 * testsuite/libgomp.c/loop-1.c: Likewise.
9671 * testsuite/libgomp.c/loop-2.c: Likewise.
9672 * testsuite/libgomp.c/single-1.c: Likewise.
9673 * testsuite/libgomp.c/ordered-1.c: Likewise.
9674 * testsuite/libgomp.c/ordered-2.c: Likewise.
9675
eeb1d9e0
JJ
96762006-05-15 Jakub Jelinek <jakub@redhat.com>
9677
9678 PR middle-end/27416
9679 * libgomp.fortran/pr27416-1.f90: New test.
9680
693d710f
JJ
96812006-05-03 Jakub Jelinek <jakub@redhat.com>
9682
9683 PR fortran/27395
9684 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
9685 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
9686
8ca5b2a2
JJ
96872006-05-02 Jakub Jelinek <jakub@redhat.com>
9688
9689 PR c++/26943
9690 * testsuite/libgomp.c/pr26943-1.c: New test.
9691 * testsuite/libgomp.c/pr26943-2.c: New test.
9692 * testsuite/libgomp.c/pr26943-3.c: New test.
9693 * testsuite/libgomp.c/pr26943-4.c: New test.
9694 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
9695 * testsuite/libgomp.c++/pr26943.C: New test.
9696
077b0dfb
JJ
96972006-05-02 Jakub Jelinek <jakub@redhat.com>
9698
9699 PR middle-end/27337
9700 * testsuite/libgomp.c++/pr27337.C: New test.
9701
91b6c26d
JJ
97022006-04-26 Jakub Jelinek <jakub@redhat.com>
9703
9704 PR c/26171
9705 * testsuite/libgomp.c/pr26171.c: New test.
9706
60e1758f
RH
97072006-04-25 Richard Henderson <rth@redhat.com>
9708
9709 PR libgomp/25865
9710 * configure.ac: Use GCC_CHECK_TLS.
9711 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
9712 * Makefile.in, aclocal.m4, configure: Regenerate.
9713
615baed7
MK
97142006-04-10 Matthias Klose <doko@debian.org>
9715
9716 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
9717 directory names containing underscores.
9718
fae2b46b
JJ
97192006-03-21 Jakub Jelinek <jakub@redhat.com>
9720
9721 PR c++/26691
9722 * testsuite/libgomp.c++/pr26691.C: New test.
9723
11a5f608
JJ
97242006-03-13 Jakub Jelinek <jakub@redhat.com>
9725
9726 * testsuite/libgomp.fortran/retval2.f90: New test.
9727
1799e5d5
RH
97282006-03-09 Diego Novillo <dnovillo@redhat.com>
9729
9730 * testsuite/libgomp.c++: New directory.
9731
d349482e
AT
97322006-02-25 Shantonu Sen <ssen@opendarwin.org>
9733
9734 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
9735 * config/posix/sem.c: Implement the above.
9736
97372006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
9738
9739 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
9740 define HAVE_BROKEN_POSIX_SEMAPHORES.
9741 * configure: Rebuilt.
9742 * config.h.in: Rebuilt.
9743
124452c9
FXC
97442006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
9745
9746 PR bootstrap/26161
9747 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
9748 for the other pthread check.
9749 * configure: Regenerate.
9750 * config.h.in: Regenerate.
9751
dd8d6dfe
JJ
97522006-02-15 Jakub Jelinek <jakub@redhat.com>
9753
9754 PR libgomp/25938
9755 PR libgomp/25984
9756 * Makefile.am (fincludedir): New variable.
9757 (nodist_include_HEADERS): Remove Fortran files.
9758 (nodist_finclude_HEADERS): New variable.
9759 * Makefile.in: Regenerated.
9760
6c7a4dfd
JJ
97612006-02-13 Jakub Jelinek <jakub@redhat.com>
9762
9763 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
9764 Remove tests for returning assumed character length arrays.
9765
5142e08b
RS
97662006-02-12 Roger Sayle <roger@eyesopen.com>
9767 John David Anglin <dave@hiauly1.hia.nrc.ca>
9768
9769 PR libgomp/25936
9770 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 9771
5821fba8
UW
97722006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
9773
9774 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
9775
cb2bbc67
EB
97762006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
9777
9778 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
9779 part of LD_LIBRARY_PATH manually.
9780
f05ee80c
L
97812006-02-03 H.J. Lu <hongjiu.lu@intel.com>
9782
9783 PR libgomp/25852
9784 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
9785 libgomp_init.
9786
03b8fe49
PB
97872005-01-25 Paolo Bonzini <bonzini@gnu.org>
9788
9789 PR libgomp/25884
f05ee80c
L
9790 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
9791 * configure.ac (PERL): Don't set.
9792 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
9793 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
9794 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
9795 * omp.h.in: Wrap the new configure substitutions with @ characters.
9796 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
9797 * aclocal.m4, configure, Makefile.in: Regenerate.
9798 * mkomp_h.pl: Delete.
03b8fe49 9799
18cbfd85
PB
98002005-01-24 Paolo Bonzini <bonzini@gnu.org>
9801
9802 PR libgomp/25259
9803 * configure.ac: Use GCC_HEADER_STDINT.
9804 * libgomp.h: Include gstdint.h.
9805 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
9806 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
9807
c41303c6
RH
98082006-01-24 Richard Henderson <rth@redhat.com>
9809
9810 PR libgomp/25942
9811 * configure.ac: Add AM_MAINTAINER_MODE.
9812 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
9813
149b9553
DN
98142006-01-24 Diego Novillo <dnovillo@redhat.com>
9815
9816 * Makefile.in: Regenerate.
9817 * testsuite/Makefile.in: Regenerate.
9818 * aclocal.m4: Regenerate.
9819
192a50ad
AT
98202006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
9821
9822 * config/posix/proc.c: Conditional include of sys/loadavg.h for
9823 Solaris.
9824 * configure.ac: Add check for loadavg.h.
9825 (link_gomp): Adjust comment.
9826 * configure: Regenerate.
9827 * config.h.in: Regenerate.
9828
a55b8e18
SE
98292006-01-21 Steve Ellcey <sje@cup.hp.com>
9830
9831 PR libgomp/25877
9832 * configure.ac: Remove check for alloca.h.
9833 * configure: Regenerate.
9834 * config.h.in: Regenerate.
9835 * libgomp.h: define gomp_alloca to be __builtin_alloca.
9836 * team.c: Remove use of alloca.h.
9837 Call gomp_alloca instead of alloca.
9838
692eeb34
SE
98392006-01-20 Steve Ellcey <sje@cup.hp.com>
9840
9841 PR libgomp/25877
9842 * team.c: Add include of alloca.h.
9843 * configure.ac: Add check for alloca.h.
9844 * configure: Regenerate.
9845 * config.h.in: Regenerate.
9846
953ff289
DN
98472006-01-17 Jakub Jelinek <jakub@redhat.com>
9848
9849 PR fortran/25219
9850 * testsuite/libgomp.fortran/pr25219.f90: New test.
9851
98522005-12-05 Uros Bizjak <uros@kss-loka.si>
9853
9854 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
9855 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
9856 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
9857 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
9858 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
9859 testsuite/libgomp.fortran/threadprivate1.f90,
9860 testsuite/libgomp.fortran/threadprivate2.f90,
9861 testsuite/libgomp.fortran/threadprivate3.f90,
9862 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
9863 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
9864 testsuite/libgomp.fortran/omp_parse3.f90: Change required
9865 effective-target to TLS runtime.
9866
9867 * testsuite/libgomp.fortran/pr25162.f: Require
9868 effective-target TLS runtime.
9869
98702005-12-01 Jakub Jelinek <jakub@redhat.com>
9871
9872 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
9873 * testsuite/libgomp.c/nestedfn-3.c: New test.
9874
98752005-11-30 Jakub Jelinek <jakub@redhat.com>
9876
9877 PR fortran/25162
9878 * testsuite/libgomp.fortran/pr25162.f: New test.
9879
98802005-11-28 Jakub Jelinek <jakub@redhat.com>
9881
9882 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
9883 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
9884
98852005-11-25 Jakub Jelinek <jakub@redhat.com>
9886
9887 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
9888 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
9889 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
9890 single.c, team.c, work.c, config/linux/alpha/futex.h,
9891 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
9892 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
9893 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
9894 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
9895 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
9896 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
9897 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
9898 FSF address.
9899
99002005-11-18 Jakub Jelinek <jakub@redhat.com>
9901
9902 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
9903 to nodist_noinst_HEADERS.
9904 * Makefile.in: Rebuilt.
9905
9906 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
9907 add integer count field.
9908 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
9909 omp_nest_lock_t type change.
9910 (omp_init_nest_lock): Likewise. Initialize count to 0.
9911 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
9912 Increment count.
9913 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
9914 Decrement count.
9915 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
9916 Increment count if successful and return the new nesting level.
9917 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
9918 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
9919 * testsuite/libgomp.c/lib-1.c: New test.
9920 * testsuite/libgomp.fortran/lib1.f90: New test.
9921 * testsuite/libgomp.fortran/lib2.f: New test.
9922 * testsuite/libgomp.fortran/lib3.f: New test.
9923
99242005-11-17 Richard Henderson <rth@redhat.com>
9925
9926 PR 24845
9927 * Makefile.am (nodist_toolexeclib_HEADERS): New.
9928 * configure.ac (link_gomp): New. Substitute it.
9929 (AC_CONFIG_FILES): Add libgomp.spec.
9930 * libgomp.spec.in: New file.
9931 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
9932 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
9933
99342005-11-18 Jakub Jelinek <jakub@redhat.com>
9935
9936 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
9937 reduction(-:var) behaving the same as reduction(+:var).
9938 * testsuite/libgomp.c/reduction-4.c: New test.
9939
99402005-11-15 Uros Bizjak <uros@kss-loka.si>
9941
9942 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
9943 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
9944 testsuite/libgomp.c/copyin-3.c,
9945 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
9946 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
9947 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
9948 testsuite/libgomp.c++/pr24455.C,
9949 testsuite/libgomp.fortran/threadprivate1.f90,
9950 testsuite/libgomp.fortran/threadprivate2.f90,
9951 testsuite/libgomp.fortran/threadprivate3.f90,
9952 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
9953 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
9954 testsuite/libgomp.fortran/omp_parse3.f90: Require
9955 effective-target TLS.
9956
99572005-11-14 Diego Novillo <dnovillo@redhat.com>
9958
9959 * HEADER: Remove.
9960
99612005-11-13 Jakub Jelinek <jakub@redhat.com>
9962
9963 PR libgomp/24797
9964 * team.c (initialize_team): Pass NULL rather than free as
9965 pthread_key_create destructor. Initialize thread specific data
9966 pointer in initial thread to a static local variable rather than
9967 malloced memory.
9968
99692005-11-11 Uros Bizjak <uros@kss-loka.si>
9970
9971 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
9972 its location to ld_library_path.
9973
99742005-11-10 Diego Novillo <dnovillo@redhat.com>
9975
9976 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
9977
99782005-11-10 Diego Novillo <dnovillo@redhat.com>
9979
9980 * testsuite/libgomp.c: Rename from libgomp.dg.
9981
99822005-11-09 Diego Novillo <dnovillo@redhat.com>
9983
9984 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
9985 threadprivate variable 'i'.
9986
99872005-11-09 Jakub Jelinek <jakub@redhat.com>
9988
9989 * config/linux/s390/futex.h: New file.
9990 * configure.tgt: Use it.
9991
9992 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
9993 before the parallel.
9994
99952005-11-08 Jakub Jelinek <jakub@redhat.com>
9996
9997 PR c++/24734
9998 * testsuite/libgomp.c++/master-1.C: New test.
9999
100002005-11-07 Jakub Jelinek <jakub@redhat.com>
10001
10002 * testsuite/libgomp.dg/copyin-3.c: New test.
10003
100042005-11-07 Jakub Jelinek <jakub@redhat.com>
10005
10006 * testsuite/libgomp.fortran/retval1.f90: New test.
10007 * testsuite/libgomp.fortran/vla7.f90: New test.
10008
100092005-11-06 Jakub Jelinek <jakub@redhat.com>
10010
10011 * testsuite/libgomp.fortran/vla2.f90: New test.
10012 * testsuite/libgomp.fortran/vla3.f90: New test.
10013 * testsuite/libgomp.fortran/vla4.f90: New test.
10014 * testsuite/libgomp.fortran/vla5.f90: New test.
10015 * testsuite/libgomp.fortran/vla6.f90: New test.
10016
100172005-11-01 Jakub Jelinek <jakub@redhat.com>
10018
10019 * config/linux/sparc/futex.h: New file.
10020 * configure.tgt: Use it.
10021 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
10022
10023 * critical.c: Include stdlib.h.
10024 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
10025 ignoring return value.
10026 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
10027 LIBGOMP_CHECK_SYNC_BUILTINS check.
10028 * configure: Rebuilt.
10029
100302005-10-31 Jakub Jelinek <jakub@redhat.com>
10031
10032 * testsuite/libgomp.fortran/vla1.f90: New test.
10033
100342005-10-31 Richard Henderson <rth@redhat.com>
10035
10036 * testsuite/libgomp.fortran/character2.f90: Fix race condition
10037 setting 's' in different threads.
10038
100392005-10-31 Jakub Jelinek <jakub@redhat.com>
10040
10041 * libgomp.h (attribute_hidden, ialias): Define.
10042 * config/posix/proc.c (omp_get_num_procs): Add ialias.
10043 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
10044 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
10045 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10046 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10047 omp_test_lock, omp_test_nest_lock): Likewise.
10048 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
10049 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
10050 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
10051 omp_test_lock, omp_test_nest_lock): Likewise.
10052 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
10053 omp_get_dynamic, omp_get_nested): Likewise.
10054 * parallel.c (omp_get_num_threads, omp_get_max_threads,
10055 omp_get_thread_num, omp_in_parallel): Likewise.
10056 * fortran.c (ialias_redirect): Define.
10057 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
10058 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
10059 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
10060 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
10061 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
10062 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
10063 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
10064 omp_get_wtime): Add ialias_redirect.
10065
100662005-10-30 Jakub Jelinek <jakub@redhat.com>
10067
10068 * fortran.c: Include stdlib.h.
10069
100702005-10-29 Jakub Jelinek <jakub@redhat.com>
10071
10072 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
10073 * Makefile.in: Regenerated.
10074
100752005-10-28 Jakub Jelinek <jakub@redhat.com>
10076
10077 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
10078 * libgomp_f.h.in (omp_check_defines): New function.
10079 * env.c: Include libgomp_f.h.
10080 (initialize_env): Call omp_check_defines.
10081
10082 * testsuite/libgomp.dg/copyin-2.c: New test.
10083 * testsuite/libgomp.c++/copyin-2.C: New test.
10084 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
10085
10086 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
10087 * testsuite/libgomp.fortran/sharing2.f90: New test.
10088
10089 * testsuite/libgomp.dg/copyin-1.c: New test.
10090 * testsuite/libgomp.c++/copyin-1.C: New test.
10091
100922005-10-26 Jakub Jelinek <jakub@redhat.com>
10093
10094 * testsuite/libgomp.fortran/crayptr1.f90: New test.
10095
10096 * testsuite/libgomp.fortran/workshare1.f90: New test.
10097
10098 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
10099 only test.
10100 * libgomp.fortran/sharing1.f90: New test.
10101
101022005-10-24 Jakub Jelinek <jakub@redhat.com>
10103
10104 PR c++/24502
10105 * testsuite/libgomp.c++/loop-7.C: New test.
10106
10107 * testsuite/libgomp.dg/nestedfn-2.c: New test.
10108
10109 * testsuite/libgomp.dg/nestedfn-1.c: New test.
10110 * testsuite/libgomp.fortran/reduction6.f90: New test.
10111 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
10112
101132005-10-23 Richard Henderson <rth@redhat.com>
10114
10115 * testsuite/libgomp.c++/ctor-1.C: New.
10116 * testsuite/libgomp.c++/ctor-2.C: New.
10117 * testsuite/libgomp.c++/ctor-3.C: New.
10118 * testsuite/libgomp.c++/ctor-4.C: New.
10119 * testsuite/libgomp.c++/ctor-5.C: New.
10120 * testsuite/libgomp.c++/ctor-6.C: New.
10121 * testsuite/libgomp.c++/ctor-7.C: New.
10122 * testsuite/libgomp.c++/ctor-8.C: New.
10123 * testsuite/libgomp.c++/ctor-9.C: New.
10124
101252005-10-21 Diego Novillo <dnovillo@redhat.com>
10126
10127 PR 24455
10128 * testsuite/libgomp.c++/pr24455-1.C: New test.
10129 * testsuite/libgomp.c++/pr24455.C: New test.
10130 * testsuite/libgomp.dg/pr24455-1.c: New test.
10131 * testsuite/libgomp.dg/pr24455.c: New test.
10132
101332005-10-20 Richard Henderson <rth@redhat.com>
10134
10135 * testsuite/libgomp.c++/loop-6.C: New.
10136 * testsuite/libgomp.dg/loop-3.c: New.
10137
101382005-10-20 Jakub Jelinek <jakub@redhat.com>
10139
10140 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
10141 explicitly private.
10142 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
10143 explicitly shared.
10144
101452005-10-19 Diego Novillo <dnovillo@redhat.com>
10146
10147 * testsuite/libgomp.fortran/jacobi.f: New test.
10148
101492005-10-19 Richard Henderson <rth@redhat.com>
10150
10151 * configure.tgt (i?86-linux): Default to with_arch instead of
10152 CFLAGS. Add -mtune to match target_cpu.
10153 (x86_64-linux): Tune to i686.
10154
10155 * fortran.c (omp_test_nest_lock_): Fix typo.
10156
101572005-10-19 Jakub Jelinek <jakub@redhat.com>
10158
10159 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
10160 gomp_ordered_sync): Do nothing if team->nthreads == 1.
10161 * testsuite/libgomp.dg/ordered-3.c: New test.
10162
10163 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
10164 Remove volatile keyword.
10165
10166 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
10167 in COMMON block to avoid warnings on 64-bit targets.
10168
101692005-10-18 Diego Novillo <dnovillo@redhat.com>
10170
10171 * testsuite/libgomp.dg/shared-3.c: New test.
10172
101732005-10-18 Jakub Jelinek <jakub@redhat.com>
10174
10175 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
10176 * testsuite/libgomp.fortran/reduction5.f90: New test.
10177
101782005-10-18 Jakub Jelinek <jakub@redhat.com>
10179
10180 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
10181 dg-options.
10182 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
10183 flush loop now that __sync_synchronize has proper memory barrier.
10184 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
10185 Add -ffixed-form to dg-options.
10186
101872005-10-17 Diego Novillo <dnovillo@redhat.com>
10188
10189 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
10190 from subdirectories.
10191 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
10192 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
10193 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
10194 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
10195 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
10196 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
10197 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
10198 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
10199 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
10200 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
10201 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
10202 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
10203 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
10204 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
10205 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
10206 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
10207 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
10208 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
10209 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
10210 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
10211 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
10212 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
10213 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
10214 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
10215 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
10216
102172005-10-17 Jakub Jelinek <jakub@redhat.com>
10218
10219 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
10220 lang_library_path exists. Use find instead of glob to gather tests.
10221 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
10222
102232005-10-17 Diego Novillo <dnovillo@redhat.com>
10224
10225 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
10226 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
10227 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
10228 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
10229 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
10230 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
10231 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
10232 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
10233 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
10234 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
10235 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
10236 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
10237 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
10238
102392005-10-15 Jakub Jelinek <jakub@redhat.com>
10240
10241 * testsuite/libgomp.dg/vla-1.c: New test.
10242
10243 * testsuite/libgomp.fortran/reference2.f90: New test.
10244
10245 * testsuite/libgomp.fortran/character2.f90: Remove explicit
10246 declaration of omp_get_thread_num.
10247 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
10248 use omp_lib.
10249
10250 * testsuite/libgomp.fortran/reduction1.f90: New test.
10251 * testsuite/libgomp.fortran/reduction2.f90: New test.
10252 * testsuite/libgomp.fortran/reduction3.f90: New test.
10253 * testsuite/libgomp.fortran/reduction4.f90: New test.
10254
102552005-10-13 Richard Henderson <rth@redhat.com>
10256
10257 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
10258 * Makefile.in: Regenerate.
10259 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
10260 * libgomp.h: Include bar.h.
10261 (struct gomp_barrier): Remove.
10262 (struct gomp_team): Add barrier. Replace master_barrier with
10263 master_release. Replace threads with ordered_release.
10264 (struct gomp_thread): Replace barrier with release.
10265 * ordered.c (gomp_ordered_first): Update for ordered_release change.
10266 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
10267 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
10268 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
10269 (GOMP_single_copy_end): Likewise.
10270 * team.c (gomp_threads_dock): New.
10271 (gomp_barrier_init, gomp_barrier_destroy): Remove.
10272 (gomp_thread_start): Use gomp_barrier_wait.
10273 (new_team, free_team): Update for gomp_team changes.
10274 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
10275 (gomp_team_end): Use gomp_barrier_wait.
10276 (initialize_team): Update for gomp_thread changes.
10277 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
10278 (gomp_work_share_end_nowait): Use atomic ops when available.
10279 * config/linux/bar.c, config/linux/bar.h: New files.
10280 * config/posix/bar.c, config/posix/bar.h: New files.
10281
102822005-10-13 Jakub Jelinek <jakub@redhat.com>
10283
10284 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
10285 * testsuite/libgomp.dg/single-2.c: New test.
10286
10287 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
10288 lang_link_flags): Unset, so that they aren't inherited from previously
10289 sourced *.exp.
10290
10291 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
10292
102932005-10-12 Richard Henderson <rth@redhat.com>
10294
10295 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
10296 (libgomp_init): Use lang_test_file, lang_library_path, and
10297 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
10298
10299 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
10300 (lang_test_file, lang_link_flags): New.
10301 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
10302
10303 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
10304 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
10305 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
10306 testsuite/libgomp.c++/parallel-1.C,
10307 testsuite/libgomp.c++/reduction-1.C,
10308 testsuite/libgomp.c++/reduction-2.C,
10309 testsuite/libgomp.c++/reduction-3.C,
10310 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
10311 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
10312 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
10313 New files, largely cribbed from the C testsuite.
10314
103152005-10-12 Jakub Jelinek <jakub@redhat.com>
10316
10317 * testsuite/libgomp.fortran/character1.f90: New test.
10318 * testsuite/libgomp.fortran/character2.f90: New test.
10319
10320 * testsuite/libgomp.dg/nested-1.c: New test.
10321 * testsuite/libgomp.dg/nested-2.c: New test.
10322 * testsuite/libgomp.fortran/do1.f90: New test.
10323 * testsuite/libgomp.fortran/do2.f90: New test.
10324
10325 * testsuite/libgomp.fortran/reference1.f90: New test.
10326
103272005-10-11 Jakub Jelinek <jakub@redhat.com>
10328
10329 * testsuite/libgomp.dg/reduction-1.c: New test.
10330 * testsuite/libgomp.dg/reduction-2.c: New test.
10331 * testsuite/libgomp.dg/reduction-3.c: New test.
10332
103332005-10-10 Jakub Jelinek <jakub@redhat.com>
10334
10335 * testsuite/libgomp.dg/atomic-1.c: New test.
10336 * testsuite/libgomp.dg/atomic-2.c: New test.
10337
103382005-10-09 Richard Henderson <rth@redhat.com>
10339
10340 * critical.c (atomic_lock): New.
10341 (initialize_critical): Initialize it.
10342 (GOMP_atomic_start, GOMP_atomic_end): New.
10343 * libgomp.map: Export them.
10344 * libgomp_g.h: Declare them.
10345
10346 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
10347
103482005-10-02 Richard Henderson <rth@redhat.com>
10349
10350 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
10351 to XCFLAGS instead of CFLAGS.
10352
103532005-09-30 Richard Henderson <rth@redhat.com>
10354
10355 * configure.ac: Determine whether -pthread or -lpthread is needed.
10356 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
10357 * Makefine.in, configure: Rebuild.
10358
103592005-09-28 Richard Henderson <rth@redhat.com>
10360
10361 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
10362 * testsuite/libgomp.dg/omp-single-3.c: New test.
10363
103642005-09-28 Diego Novillo <dnovillo@redhat.com>
10365
10366 * testsuite/libgomp.dg/omp-single-2.c: New test.
10367 * testsuite/libgomp.dg/shared-2.c: Fix return code.
10368
103692005-09-27 Richard Henderson <rth@redhat.com>
10370
10371 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
10372 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
10373
103742005-09-27 Jakub Jelinek <jakub@redhat.com>
10375
10376 * testsuite/libgomp.dg/omp-loop03.c: New test.
10377
103782005-09-27 Diego Novillo <dnovillo@redhat.com>
10379
10380 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
10381
103822005-09-27 Diego Novillo <dnovillo@redhat.com>
10383
10384 * testsuite/libgomp.dg/omp-single-1.c: New test.
10385 * testsuite/libgomp.dg/shared-1.c: Return 0.
10386 Add prototype for abort.
10387 * testsuite/libgomp.dg/shared-2.c: Likewise.
10388
103892005-09-26 Jakub Jelinek <jakub@redhat.com>
10390
10391 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
10392 constructs.
10393
103942005-09-26 Diego Novillo <dnovillo@redhat.com>
10395
10396 * testsuite/libgomp.dg/shared-1.c: New test.
10397 * testsuite/libgomp.dg/shared-2.c: New test.
10398
103992005-09-24 Richard Henderson <rth@redhat.com>
10400
10401 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
10402
104032005-09-24 Richard Henderson <rth@redhat.com>
10404
10405 * iter.c (gomp_iter_static_next): Round up when computing number
10406 of iterations. Don't bother distributing a remainder equally.
10407
10408 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
10409 Don't call srand. Zero b before testing.
10410 (main): New.
10411
104122005-09-24 Jakub Jelinek <jakub@redhat.com>
10413
10414 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
10415 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
10416
104172005-09-23 Jakub Jelinek <jakub@redhat.com>
10418
10419 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
10420 without !$omp end do, followed immediately by subroutine end.
10421
104222005-09-23 Diego Novillo <dnovillo@redhat.com>
10423
10424 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
10425
104262005-09-22 Richard Henderson <rth@redhat.com>
10427
10428 * critical.c (GOMP_critical_name_start): Change argument to void**.
10429 Reuse the pointer space if the mutex fits.
10430 (GOMP_critical_name_end): Likewise.
10431 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
10432 * libgomp_g.h (GOMP_critical_name_start): Update decl.
10433 (GOMP_critical_name_end): Likewise.
10434 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
10435 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
10436
104372005-09-20 Richard Henderson <rth@redhat.com>
10438
10439 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
10440 (create_lock_lock): New.
10441 (initialize_critical): Initialize it.
10442 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
10443 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
10444
104452005-09-20 Diego Novillo <dnovillo@redhat.com>
10446
10447 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
10448
104492005-09-20 Diego Novillo <dnovillo@redhat.com>
10450
10451 * testsuite/libgomp.dg/omp-loop01.c: New test.
10452 * testsuite/libgomp.dg/omp-loop02.c: New test.
10453
104542005-09-20 Jakub Jelinek <jakub@redhat.com>
10455
10456 * configure.ac (AC_PROG_FC): Add.
10457 (USE_FORTRAN): New automake conditional.
10458 * configure: Rebuilt.
10459 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
10460 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
10461 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
10462 Add rules to build them.
10463 * Makefile.in: Rebuilt.
10464 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
10465 OMP_NEST_LOCK_KIND.
10466 * libgomp.map: Add Fortran wrappers.
10467 * libgomp_f.h.in: New file.
10468 * omp_lib.h.in: New file.
10469 * omp_lib.f90.in: New file.
10470 * fortran.c: New file.
10471 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
10472 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
10473 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
10474 libgfortran has been built.
10475 * testsuite/libgomp.fortran/fortran.exp: New file.
10476 * testsuite/libgomp.fortran/omp_cond1.f: New test.
10477 * testsuite/libgomp.fortran/omp_cond2.f: New test.
10478 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
10479 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
10480 * testsuite/libgomp.fortran/omp_hello.f: New test.
10481 * testsuite/libgomp.fortran/omp_orphan.f: New test.
10482 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
10483 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
10484 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
10485 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
10486 * testsuite/libgomp.fortran/omp_reduction.f: New test.
10487 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
10488 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
10489
104902005-08-30 Richard Henderson <rth@redhat.com>
10491
10492 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
10493 function for when aliases are not usable.
10494 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
10495 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
10496 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
10497 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
10498 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
10499 GOMP_loop_ordered_guided_next): Likewise.
10500 * ordered.c (GOMP_ordered_start): Likewise.
10501
105022005-08-01 Diego Novillo <dnovillo@redhat.com>
10503
10504 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
10505 * testsuite/libgomp.dg/omp_hello.c: Fix return code
10506 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
10507 * testsuite/libgomp.dg/omp_orphan.c: Likewise
10508 * testsuite/libgomp.dg/omp_reduction.c: Likewise
10509 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
10510 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
10511 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
10512 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
10513
105142005-07-07 Eric Christopher <echristo@redhat.com>
10515 Diego Novillo <dnovillo@redhat.com>
10516
10517 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
10518 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
10519 up code.
10520 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
10521 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
10522 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
10523 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
10524 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
10525 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
10526 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
10527
105282005-06-13 Diego Novillo <dnovillo@redhat.com>
10529
10530 * TOPLEVEL.patch: Remove.
10531
105322005-05-16 Richard Henderson <rth@redhat.com>
10533
10534 * configure.ac: Test for clock_gettime.
10535 * config.h.in, configure: Rebuild.
10536 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
10537 (omp_get_wtime): Use clock_gettime if available.
10538 (omp_get_wtick): Use clock_getres if available.
10539
105402005-05-11 Richard Henderson <rth@redhat.com>
10541
10542 * config/linux/ia64/futex.h: New file.
10543 * configure.tgt: Use it.
10544
10545 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
10546
105472005-05-07 Richard Henderson <rth@redhat.com>
10548
10549 * config/linux/powerpc/futex.h: New file.
10550 * configure.tgt: Use it.
10551
10552 * config/linux/i486/futex.h: Merge ...
10553 * config/linux/x86_64/futex.h: ... into ...
10554 * config/linux/x86/futex.h: ... here.
10555 * configure.tgt: Update to match.
10556
105572005-05-06 Richard Henderson <rth@redhat.com>
10558
10559 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
10560 * config/linux/i486/futex.h: Likewise.
10561 * config/linux/x86_64/futex.h: Likewise.
10562
10563 * config/linux/lock.c: New file.
10564 * config/linux/omp-lock.h: New file.
10565
10566 * critical.c, env.h: Don't include omp.h
10567 * config/posix/lock.c: Include libgomp.h instead of omp.h.
10568 * config/posix/time.c: Likewise.
10569 * config/posix/omp-lock.h: New file.
10570 * libgomp.h: Include omp-lock.h and omp.h.
10571 * Makefile.am (nodist_include_HEADERS): New.
10572 (omp.h): New rule.
10573 * configure.ac (PERL): New.
10574 * mkomp_h.pl: New file.
10575 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
10576 with templates.
10577 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
10578
10579 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
10580 build directory. Re-add -march=i486 hack.
10581
10582 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
10583 (libgomp_link_flags): Remove.
10584 (libgomp_initialized): Remove.
10585 (libgomp_init): Don't protect from reinitialization. Copy code
10586 from libstdc++ for getting the multilib set correctly.
10587
105882005-05-05 Richard Henderson <rth@redhat.com>
10589
10590 * config/linux/alpha/futex.h: New file.
10591 * configure.tgt (alpha*-*-linux*): Use it.
10592
10593 * config/posix/mutex.c: New file.
10594 * config/posix/sem.c: Use libgomp.h.
10595
10596 * configure.tgt (x86_64-linux): Also test CC for -m32.
10597 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
10598
a1daed2d 10599 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
10600 after $gccpath.
10601
10602 * Makefile.am (SUBDIRS): New.
10603 (libgomp_la_LDFLAGS): Add -lpthread.
10604 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
10605 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
10606
10607 * libgomp_g.h: New file.
10608 * libgomp.h: Split out all public declarations to libgomp_g.h.
10609 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
10610 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
10611 * config/linux/sem.h: Likewise.
10612 * config/posix/sem.h: Likewise.
10613
10614 * Makefile.am (AM_LDFLAGS): New.
10615 (libgomp_version_script): Split out from ...
10616 (libgomp_la_LDFLAGS): ... here.
10617 (libgomp_version_info): New.
10618 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
10619 (LIBGOMP_ENABLE): New.
10620 (LIBGOMP_CHECK_LINKER_FEATURES): New.
10621 (LIBGOMP_ENABLE_SYMVERS): New.
10622 * configure.ac (AC_INIT): Version 1.0.
10623 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
10624 (enable-linux-futex): Likewise. Rename from enable-futex.
10625 (libtool_VERSION): New.
10626 (LIBGOMP_ENABLE_SYMVERS): Use it.
10627 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
10628 * Makefile.in, aclocal.m4, configure: Rebuild.
10629
10630 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
10631 (gomp_mutex_unlock_slow): Fix typo.
10632 * config/linux/sem.c: Similarly.
10633 (gomp_sem_post_slow): Fix typo.
10634 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
10635 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
10636 [__PIC__] (sys_futex0): Don't use tmp output in asm.
10637
10638 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
10639 (libgomp_la_LDFLAGS): Add top_srcdir to path.
10640 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
10641 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
10642 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
10643 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
10644 LDFLAGS. Pull enable_futex check to top-level.
10645 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
10646 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
10647
10648 First attempt at real configury.
10649 * Makefile, config.h: Remove file.
10650 * Makefile.am, Makefile.in: New file.
10651 * acinclude.m4 aclocal.m4: New file.
10652 * configure.ac, configure.tgt, configure: New file.
10653
10654 * config/posix/lock.c: Rename from sys-lock.c.
10655 * config/posix/mutex.h: Rename from sys-mutex.h.
10656 * config/posix/sem.c: Rename from sys-sem.c.
10657 * config/posix/sem.h: Rename from sys-sem.h.
10658 * config/posix/proc.c: Rename from sys-proc.c.
10659 * config/posix/time.c: Rename from sys-proc.c.
10660
10661 * config/linux/mutex.c: New file.
10662 * config/linux/mutex.h: New file.
10663 * config/linux/sem.c: New file.
10664 * config/linux/sem.h: New file.
10665 * config/linux/i486/futex.h: New file.
10666 * config/linux/x86_64/futex.h: New file.
10667
106682005-05-04 Richard Henderson <rth@redhat.com>
10669
10670 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
10671 * libgomp.h: Declare them.
10672 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
10673 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
10674
106752005-05-04 Richard Henderson <rth@redhat.com>
10676
10677 * libgomp-1 code drop
10678
106792005-05-04 Richard Henderson <rth@redhat.com>
10680
10681 * iter.c (gomp_iter_static_next): Return tri-state on 0.
10682 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
10683 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
10684 (gomp_iter_static_next): Update.
10685 (gomp_ordered_static_next): Update.
10686 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
10687 (gomp_loop_ordered_static_start): Likewise. Exit early for a
10688 totally empty range.
10689 (gomp_loop_ordered_static_next): Refine test for calling
10690 gomp_ordered_static_next.
10691 * testsuite/ordered-1.c: Add case for more threads than iterations.
10692
10693 * iter.c (gomp_iter_runtime_next_locked): Remove.
10694 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 10695 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
10696 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
10697 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
10698 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
10699 gomp_loop_ordered_guided_next): Downcase name, make static, add
10700 an external alias with the old name.
10701 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
10702 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
10703 switch and call one of the above static functions.
10704 * libgomp.h: Update.
10705
10706 * work.c (gomp_work_share_start): Lock the mutex for !first too.
10707 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
10708 GOMP_loop_guided_start, GOMP_loop_runtime_start,
10709 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
10710 GOMP_loop_ordered_guided_start): Update to match.
10711 * sections.c (GOMP_sections_start): Likewise.
10712 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
10713
10714 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
10715 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
10716 Use bounds check instead of modulus.
10717 (gomp_ordered_sync): Split out of GOMP_ordered_start.
10718 (gomp_ordered_last): Don't sync with ordered_owner here.
10719 (gomp_ordered_next): Likewise.
10720 (gomp_ordered_static_loop_next): Likewise.
10721 * loop.c, libgomp.h: Update to match.
10722
10723 * libgomp.h (GOMP_barrier): Declare.
10724
10725 * testsuite/barrier-1.c: New file.
10726 * testsuite/critical-1.c: New file.
10727 * testsuite/ordered-2.c: New file.
10728 * testsuite/ordered-1.c: New file.
10729 * testsuite/sections-1.c: New file.
10730 * testsuite/single-1.c: New file.
10731 * testsuite/Makefile (TESTS): Add them.
10732
107332005-05-04 Richard Henderson <rth@redhat.com>
10734
10735 * libgomp.h (struct gomp_work_share): Add ordered_owner.
10736 * loop.c (GOMP_loop_static_start): If not the startup thread,
10737 acquire the mutex to wait for initialization complete.
10738 (GOMP_loop_ordered_static_start): Likewise.
10739 (GOMP_loop_ordered_runtime_start): Likewise.
10740 (GOMP_loop_ordered_static_first): Remove.
10741 (GOMP_loop_ordered_dynamic_first): Remove.
10742 (GOMP_loop_ordered_guided_first): Remove.
10743 (GOMP_loop_ordered_runtime_first): Remove.
10744 * ordered.c (gomp_ordered_loop_first): Post to own release when
10745 we're the first thread.
10746 (gomp_ordered_loop_last): Wait on release if not owner.
10747 (gomp_ordered_loop_next): Likewise.
10748 (gomp_ordered_static_loop_init): New.
10749 (gomp_ordered_static_loop_next): Use ordered_owner.
10750 (GOMP_ordered_start): Likewise.
10751 * work.c (gomp_new_work_share): Initialize ordered_owner.
10752
107532005-05-03 Richard Henderson <rth@redhat.com>
10754
10755 * Makefile (OPT): New.
10756 (CFLAGS): Use it.
10757
10758 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
10759 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
10760 * libgomp.h, libgomp.map, NOTES: Update to match.
10761
10762 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
10763 Add initialized and thr members.
10764 (gomp_thread_start): Pause when initially spawned to wait for
10765 the whole team to be created.
10766 (gomp_team_start): Release team members at the end.
10767
10768 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
10769 (f_foo_1): Use GOMP_loop_end.
10770 (f_foo_2): Use GOMP_loop_end_nowait.
10771
10772 * testsuite/loop-2.c: New file.
10773 * testsuite/Makefile (TESTS): Add it.
10774
107752005-05-03 Richard Henderson <rth@redhat.com>
10776
10777 * iter.c (gomp_iter_static_next): Fix overflow check typo.
10778 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
10779 * team.c (new_team): Initialize oldest_live_gen to 1 if no
10780 initial work_share.
10781
10782 * testsuite/Makefile: New file.
10783 * testsuite/loop-1.c: New file.
10784
107852005-05-03 Richard Henderson <rth@redhat.com>
10786
10787 Initial implementation and checkin.
21fa2a29 10788\f
85ec4feb 10789Copyright (C) 2005-2018 Free Software Foundation, Inc.
21fa2a29
JJ
10790
10791Copying and distribution of this file, with or without modification,
10792are permitted in any medium without royalty provided the copyright
10793notice and this notice are preserved.