]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
[multiple changes]
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
84ca08d2
TS
12018-12-09 Thomas Schwinge <thomas@codesourcery.com>
2 Jakub Jelinek <jakub@redhat.com>
3
4 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
5 devicep->host2dev_func.
6
6997628d
JJ
72018-12-08 Jakub Jelinek <jakub@redhat.com>
8
9 PR libgomp/87995
10 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
11 tls_runtime effective target.
12 (t): New threadprivate variable.
13 (main): Set t in threads which execute iterations of the worksharing
14 loop. Propagate that to the task after the loop and don't abort
15 if the current taskgroup hasn't been cancelled.
16
daa8c1d7
JJ
172018-12-02 Jakub Jelinek <jakub@redhat.com>
18
4a82df9a
JJ
19 * testsuite/libgomp.c/task-reduction-3.c: New test.
20
daa8c1d7
JJ
21 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
22
fe570ff8
CP
232018-11-30 Cesar Philippidis <cesar@codesourcery.com>
24
25 PR libgomp/88288
26 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
27 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
28
c223608f
TS
292018-11-30 Thomas Schwinge <thomas@codesourcery.com>
30
31 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
32
fc60283c
RB
332018-10-19 Richard Biener <rguenther@suse.de>
34
35 PR tree-optimization/88182
36 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
37
ffcf3b79
JJ
382018-11-26 Jakub Jelinek <jakub@redhat.com>
39
40 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
41 (RUNTEST): Don't define.
42 (RUNTESTDEFAULTFLAGS): Add.
43 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
44 (distclean-am): Depend on distclean-DEJAGNU.
45 (check-am): If -j% option is present in MFLAGS and if
46 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
47 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
48 * testsuite/Makefile.in: Regenerated.
49
ef6e6914
RB
502018-11-26 Richard Biener <rguenther@suse.de>
51
52 PR tree-optimization/88182
53 * testsuite/libgomp.c++/pr88182.C: New testcase.
54
72d3bb76
JJ
552018-11-20 Jakub Jelinek <jakub@redhat.com>
56
57 PR bootstrap/88106
58 * config/mingw32/affinity-fmt.c: New file.
59
207286c3
JJ
602018-11-09 Jakub Jelinek <jakub@redhat.com>
61
9666c522
JJ
62 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
63 (gomp_display_affinity): Use __builtin_choose_expr to handle
64 properly handle argument having integral, or pointer or some other
65 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
66 with uint64_t type instead of %llx and unsigned long long.
67
207286c3
JJ
68 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
69 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
70
2033f45b
RO
712018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
72
73 * affinity.c: Include <string.h>, <stdio.h>.
74 (gomp_display_affinity_place): Remove cpusetp.
75 * teams.c: Include <limits.h>.
76
28567c40
JJ
772018-11-08 Jakub Jelinek <jakub@redhat.com>
78
8991d779
JJ
79 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
80 in_reduction clause for s[0].
81
28567c40
JJ
82 * affinity.c (gomp_display_affinity_place): New function.
83 * affinity-fmt.c: New file.
84 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
85 * config/linux/affinity.c (gomp_display_affinity_place): New function.
86 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
87 Move these functions to ...
88 * config/nvptx/teams.c: ... here. New file.
89 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
90 New functions.
91 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
92 functions.
93 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
94 and _aligned_malloc.
95 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
96 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
97 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
98 gomp_affinity_format_len): New variables.
99 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
100 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
101 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
102 modifiers. Display (non-default) chunk sizes. Print
103 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
104 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
105 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
106 * fortran.c: Include stdio.h and string.h.
107 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
108 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
109 (omp_set_affinity_format_, omp_get_affinity_format_,
110 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
111 omp_pause_resource_all_): New functions.
112 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
113 switch.
114 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
115 functions to ...
116 * teams.c: ... here. New file.
117 * libgomp_g.h: Include gstdint.h.
118 (GOMP_loop_nonmonotonic_runtime_start,
119 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
120 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
121 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
122 GOMP_parallel_loop_nonmonotonic_runtime,
123 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
124 GOMP_loop_ull_nonmonotonic_runtime_start,
125 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
126 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
127 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
128 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
129 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
130 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
131 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
132 GOMP_teams_reg): Declare.
133 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
134 gomp_aligned_alloc uses fallback implementation.
135 (gomp_aligned_alloc, gomp_aligned_free): Declare.
136 (enum gomp_schedule_type): Add GFS_MONOTONIC.
137 (struct gomp_doacross_work_share): Add extra field.
138 (struct gomp_work_share): Add task_reductions field.
139 (struct gomp_taskgroup): Add workshare and reductions fields.
140 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
141 (gomp_thread_handle): New typedef.
142 (gomp_display_affinity_place, gomp_set_affinity_format,
143 gomp_display_string, gomp_display_affinity,
144 gomp_display_affinity_thread): Declare.
145 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
146 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
147 gomp_workshare_task_reduction_register): Declare.
148 (gomp_team_start): Add taskgroup argument.
149 (gomp_pause_host): Declare.
150 (gomp_init_work_share, gomp_work_share_start): Change bool argument
151 to size_t.
152 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
153 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
154 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
155 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
156 GOMP_loop_ull_doacross_start,
157 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
158 GOMP_loop_maybe_nonmonotonic_runtime_next,
159 GOMP_loop_maybe_nonmonotonic_runtime_start,
160 GOMP_loop_nonmonotonic_runtime_next,
161 GOMP_loop_nonmonotonic_runtime_start,
162 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
163 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
164 GOMP_loop_ull_nonmonotonic_runtime_next,
165 GOMP_loop_ull_nonmonotonic_runtime_start,
166 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
167 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
168 GOMP_taskgroup_reduction_register,
169 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
170 GOMP_teams_reg and GOMP_taskwait_depend.
171 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
172 omp_{capture,display}_affinity{,_}, and
173 omp_[gs]et_affinity_format{,_}.
174 * loop.c: Include string.h.
175 (GOMP_loop_runtime_next): Add ialias.
176 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
177 (gomp_loop_static_start, gomp_loop_dynamic_start,
178 gomp_loop_guided_start, gomp_loop_ordered_static_start,
179 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
180 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
181 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
182 or gomp_doacross_init callers.
183 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
184 GOMP_loop_doacross_start): New functions.
185 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
186 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
187 Mask off GFS_MONOTONIC bit.
188 (GOMP_loop_maybe_nonmonotonic_runtime_next,
189 GOMP_loop_maybe_nonmonotonic_runtime_start,
190 GOMP_loop_nonmonotonic_runtime_next,
191 GOMP_loop_nonmonotonic_runtime_start,
192 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
193 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
194 functions.
195 (gomp_parallel_loop_start): Pass NULL as taskgroup to
196 gomp_team_start.
197 * loop_ull.c: Include string.h.
198 (GOMP_loop_ull_runtime_next): Add ialias.
199 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
200 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
201 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
202 gomp_loop_ull_ordered_dynamic_start,
203 gomp_loop_ull_ordered_guided_start,
204 gomp_loop_ull_doacross_static_start,
205 gomp_loop_ull_doacross_dynamic_start,
206 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
207 and gomp_doacross_ull_init callers.
208 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
209 GOMP_loop_ull_doacross_start): New functions.
210 (GOMP_loop_ull_runtime_start,
211 GOMP_loop_ull_ordered_runtime_start,
212 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
213 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
214 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
215 GOMP_loop_ull_nonmonotonic_runtime_next,
216 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
217 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
218 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
219 (omp_pause_resource_t, omp_depend_t): New typedefs.
220 (enum omp_lock_hint_t): Renamed to ...
221 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
222 enumerators using numbers and omp_lock_hint_* as their aliases.
223 (omp_lock_hint_t): New typedef. Rename to ...
224 (omp_sync_hint_t): ... this.
225 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
226 omp_sync_hint_t instead of omp_lock_hint_t.
227 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
228 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
229 Declare.
230 (omp_target_is_present, omp_target_disassociate_ptr):
231 Change first argument from void * to const void *.
232 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
233 from void * to const void *.
234 (omp_target_associate_ptr): Change first and second arguments from
235 void * to const void *.
236 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
237 omp_pause_hard): New parameters.
238 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
239 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
240 New interfaces.
241 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
242 omp_pause_hard): New parameters.
243 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
244 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
245 New externals.
246 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
247 EXTRA argument. If not needed to prepare array, if extra is 0,
248 clear ws->doacross, otherwise allocate just doacross structure and
249 extra payload. If array is needed, allocate also extra payload.
250 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
251 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
252 doacross == NULL.
253 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
254 gomp_team_start.
255 (GOMP_parallel): Likewise. Formatting fix.
256 (GOMP_parallel_reductions): New function.
257 (GOMP_cancellation_point): If taskgroup has workshare
258 flag set, check cancelled of prev taskgroup if any.
259 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
260 on prev taskgroup if any.
261 * sections.c: Include string.h.
262 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
263 (GOMP_sections_start): Adjust gomp_work_share_start caller.
264 (GOMP_sections2_start): New function.
265 (GOMP_parallel_sections_start, GOMP_parallel_sections):
266 Pass NULL as taskgroup to gomp_team_start.
267 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
268 gomp_work_share_start callers.
269 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
270 If taskgroup has workshare flag set, check cancelled on prev
271 taskgroup if any. Guard all cancellation tests with
272 gomp_cancel_var test.
273 (omp_target_is_present, omp_target_disassociate_ptr):
274 Change ptr argument from void * to const void *.
275 (omp_target_memcpy): Change src argument from void * to const void *.
276 (omp_target_memcpy_rect): Likewise.
277 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
278 instead of char * where needed.
279 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
280 from void * to const void *.
281 (omp_pause_resource, omp_pause_resource_all): New functions.
282 * task.c (gomp_task_handle_depend): Handle new depend array format
283 in addition to the old. Handle mutexinoutset kinds the same as
284 inout for now, handle unspecified kinds.
285 (gomp_create_target_task): If taskgroup has workshare flag set, check
286 cancelled on prev taskgroup if any. Guard all cancellation tests with
287 gomp_cancel_var test. Handle new depend array format count in
288 addition to the old.
289 (GOMP_task): Likewise. Adjust function comment.
290 (gomp_task_run_pre): If taskgroup has workshare flag set, check
291 cancelled on prev taskgroup if any. Guard all cancellation tests with
292 gomp_cancel_var test.
293 (GOMP_taskwait_depend): New function.
294 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
295 format in addition to the old. Handle mutexinoutset kinds the same as
296 inout for now, handle unspecified kinds. Fix a function comment typo.
297 (gomp_taskgroup_init): New function.
298 (GOMP_taskgroup_start): Use it.
299 (gomp_reduction_register, gomp_create_artificial_team,
300 GOMP_taskgroup_reduction_register,
301 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
302 gomp_parallel_reduction_register,
303 gomp_workshare_task_reduction_register,
304 gomp_workshare_taskgroup_start,
305 GOMP_workshare_task_reduction_unregister): New functions.
306 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
307 check cancelled on prev taskgroup if any. Guard all cancellation
308 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
309 by calling GOMP_taskgroup_reduction_register.
310 * team.c (gomp_thread_attr): Remove comment.
311 (struct gomp_thread_start_data): Add handle field.
312 (gomp_thread_start): Call pthread_detach.
313 (gomp_new_team): Adjust gomp_init_work_share caller.
314 (gomp_free_pool_helper): Call pthread_detach.
315 (gomp_team_start): Add taskgroup argument, initialize implicit
316 tasks' taskgroup field to that. Don't call
317 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
318 (gomp_team_end): Determine nesting by thr->ts.level != 0
319 rather than thr->ts.team != NULL.
320 (gomp_pause_pool_helper, gomp_pause_host): New functions.
321 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
322 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
323 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
324 if more than 1 allocate also extra payload at the end of array. Never
325 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
326 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
327 return true instead of ws.
328 * Makefile.in: Regenerated.
329 * configure: Regenerated.
330 * config.h.in: Regenerated.
331 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
332 in some cases.
333 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
334 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
335 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
336 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
337 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
338 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
339 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
340 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
341 * testsuite/libgomp.c-c++-common/for-10.c: New test.
342 * testsuite/libgomp.c-c++-common/for-11.c: New test.
343 * testsuite/libgomp.c-c++-common/for-12.c: New test.
344 * testsuite/libgomp.c-c++-common/for-13.c: New test.
345 * testsuite/libgomp.c-c++-common/for-14.c: New test.
346 * testsuite/libgomp.c-c++-common/for-15.c: New test.
347 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
348 define a different N(test), don't define N(f0) to N(f14), but instead
349 define N(f20) to N(f34) using != comparisons.
350 * testsuite/libgomp.c-c++-common/for-7.c: New test.
351 * testsuite/libgomp.c-c++-common/for-8.c: New test.
352 * testsuite/libgomp.c-c++-common/for-9.c: New test.
353 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
354 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
355 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
356 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
357 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
358 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
359 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
360 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
361 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
362 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
363 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
364 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
365 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
366 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
367 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
368 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
369 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
370 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
371 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
372 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
373 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
374 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
375 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
376 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
377 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
378 * testsuite/libgomp.c++/depend-1.C: New test.
379 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
380 * testsuite/libgomp.c++/depobj-1.C: New test.
381 * testsuite/libgomp.c++/for-16.C: New test.
382 * testsuite/libgomp.c++/for-21.C: New test.
383 * testsuite/libgomp.c++/for-22.C: New test.
384 * testsuite/libgomp.c++/for-23.C: New test.
385 * testsuite/libgomp.c++/for-24.C: New test.
386 * testsuite/libgomp.c++/for-25.C: New test.
387 * testsuite/libgomp.c++/for-26.C: New test.
388 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
389 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
390 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
391 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
392 * testsuite/libgomp.c++/task-reduction-10.C: New test.
393 * testsuite/libgomp.c++/task-reduction-11.C: New test.
394 * testsuite/libgomp.c++/task-reduction-12.C: New test.
395 * testsuite/libgomp.c++/task-reduction-13.C: New test.
396 * testsuite/libgomp.c++/task-reduction-14.C: New test.
397 * testsuite/libgomp.c++/task-reduction-15.C: New test.
398 * testsuite/libgomp.c++/task-reduction-16.C: New test.
399 * testsuite/libgomp.c++/task-reduction-17.C: New test.
400 * testsuite/libgomp.c++/task-reduction-18.C: New test.
401 * testsuite/libgomp.c++/task-reduction-19.C: New test.
402 * testsuite/libgomp.c/task-reduction-1.c: New test.
403 * testsuite/libgomp.c++/task-reduction-1.C: New test.
404 * testsuite/libgomp.c/task-reduction-2.c: New test.
405 * testsuite/libgomp.c++/task-reduction-2.C: New test.
406 * testsuite/libgomp.c++/task-reduction-3.C: New test.
407 * testsuite/libgomp.c++/task-reduction-4.C: New test.
408 * testsuite/libgomp.c++/task-reduction-5.C: New test.
409 * testsuite/libgomp.c++/task-reduction-6.C: New test.
410 * testsuite/libgomp.c++/task-reduction-7.C: New test.
411 * testsuite/libgomp.c++/task-reduction-8.C: New test.
412 * testsuite/libgomp.c++/task-reduction-9.C: New test.
413 * testsuite/libgomp.c/teams-1.c: New test.
414 * testsuite/libgomp.c/teams-2.c: New test.
415 * testsuite/libgomp.c/thread-limit-4.c: New test.
416 * testsuite/libgomp.c/thread-limit-5.c: New test.
417 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
418
58168bbf
CLT
4192018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
420
421 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
422 acc_memcpy_to/from_device functions, now with async parameter.
423 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
424 (acc_memcpy_from_device): Likewise.
425 (acc_memcpy_to_device_async): New API function.
426 (acc_memcpy_from_device_async): Likewise.
427 (present_create_copy): Add async parameter and async setting/unsetting.
428 (acc_create): Adjust present_create_copy call.
429 (acc_copyin): Likewise.
430 (acc_present_or_create): Likewise.
431 (acc_present_or_copyin): Likewise.
432 (acc_create_async): New API function.
433 (acc_copyin_async): New API function.
434 (delete_copyout): Add async parameter and async setting/unsetting.
435 (acc_delete): Adjust delete_copyout call.
436 (acc_copyout): Likewise.
437 (acc_delete_async): New API function.
438 (acc_copyout_async): Likewise.
439 (update_dev_host): Add async parameter and async setting/unsetting.
440 (acc_update_device): Adjust update_dev_host call.
441 (acc_update_self): Likewise.
442 (acc_update_device_async): New API function.
443 (acc_update_self_async): Likewise.
444 * openacc.h (acc_copyin_async): Declare new API function.
445 (acc_create_async): Likewise.
446 (acc_copyout_async): Likewise.
447 (acc_delete_async): Likewise.
448 (acc_update_device_async): Likewise.
449 (acc_update_self_async): Likewise.
450 (acc_memcpy_to_device_async): Likewise.
451 (acc_memcpy_from_device_async): Likewise.
452 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
453 (acc_copyin_async_64_h): New subroutine.
454 (acc_copyin_async_array_h): New subroutine.
455 (acc_create_async_32_h): New subroutine.
456 (acc_create_async_64_h): New subroutine.
457 (acc_create_async_array_h): New subroutine.
458 (acc_copyout_async_32_h): New subroutine.
459 (acc_copyout_async_64_h): New subroutine.
460 (acc_copyout_async_array_h): New subroutine.
461 (acc_delete_async_32_h): New subroutine.
462 (acc_delete_async_64_h): New subroutine.
463 (acc_delete_async_array_h): New subroutine.
464 (acc_update_device_async_32_h): New subroutine.
465 (acc_update_device_async_64_h): New subroutine.
466 (acc_update_device_async_array_h): New subroutine.
467 (acc_update_self_async_32_h): New subroutine.
468 (acc_update_self_async_64_h): New subroutine.
469 (acc_update_self_async_array_h): New subroutine.
470 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
471 (acc_copyin_async_64_h): New subroutine.
472 (acc_copyin_async_array_h): New subroutine.
473 (acc_create_async_32_h): New subroutine.
474 (acc_create_async_64_h): New subroutine.
475 (acc_create_async_array_h): New subroutine.
476 (acc_copyout_async_32_h): New subroutine.
477 (acc_copyout_async_64_h): New subroutine.
478 (acc_copyout_async_array_h): New subroutine.
479 (acc_delete_async_32_h): New subroutine.
480 (acc_delete_async_64_h): New subroutine.
481 (acc_delete_async_array_h): New subroutine.
482 (acc_update_device_async_32_h): New subroutine.
483 (acc_update_device_async_64_h): New subroutine.
484 (acc_update_device_async_array_h): New subroutine.
485 (acc_update_self_async_32_h): New subroutine.
486 (acc_update_self_async_64_h): New subroutine.
487 (acc_update_self_async_array_h): New subroutine.
488 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
489 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
490 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
491 acc_memcpy_to_device_async*, acc_update_device_async*, and
492 acc_update_self_async* entries.
493 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
494 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
495 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
496
22e05272
JM
4972018-10-31 Joseph Myers <joseph@codesourcery.com>
498
499 PR bootstrap/82856
500 * Makefile.am: Include multilib.am
501 (AUTOMAKE_OPTIONS): Add info-in-builddir.
502 (CLEANFILES): Remove libgomp.info.
503 * configure.ac: Remove AC_PREREQ.
504 * testsuite/Makefile.am (RUNTEST): Remove quotes.
505 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
506 Regenerate.
507
87a5ccfb
JM
5082018-10-29 Joseph Myers <joseph@codesourcery.com>
509 Julian Brown <julian@codesourcery.com>
510
511 * testsuite/libgomp.oacc-c++/this.C: New.
512
2049befd
CP
5132018-09-18 Cesar Philippidis <cesar@codesourcery.com>
514
515 * plugin/plugin-nvptx.c (struct cuda_map): New.
516 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
517 h_tail with (cuda_map *) map.
518 (cuda_map_create): New function.
519 (cuda_map_destroy): New function.
520 (map_init): Update to use a linked list of cuda_map objects.
521 (map_fini): Likewise.
522 (map_pop): Likewise.
523 (map_push): Likewise. Return CUdeviceptr instead of void.
524 (init_streams_for_device): Remove stales references to ptx_stream
525 members.
526 (select_stream_for_async): Likewise.
527 (nvptx_exec): Update call to map_init.
528
8e36332c
CP
5292018-09-09 Cesar Philippidis <cesar@codesourcery.com>
530 Julian Brown <julian@codesourcery.com>
531
532 PR middle-end/86336
533 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
534
2b4c9065
NK
5352018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
536 Thomas Koenig <tkoenig@gcc.gnu.org>
537
538 PR fortran/25829
539 * testsuite/libgomp.fortran/async_io_1.f90: New test.
540 * testsuite/libgomp.fortran/async_io_2.f90: New test.
541 * testsuite/libgomp.fortran/async_io_3.f90: New test.
542 * testsuite/libgomp.fortran/async_io_4.f90: New test.
543 * testsuite/libgomp.fortran/async_io_5.f90: New test.
544 * testsuite/libgomp.fortran/async_io_6.f90: New test.
545 * testsuite/libgomp.fortran/async_io_7.f90: New test.
546
bd9b3d3d
CP
5472018-08-13 Cesar Philippidis <cesar@codesourcery.com>
548 Tom de Vries <tdevries@suse.de>
549
550 PR target/85590
551 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
552 (cuOccupancyMaxPotentialBlockSize): Declare.
553 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
554 CUDA_ONE_CALL_MAYBE_NULL.
555 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
556 CUoccupancyB2DSize and declare
557 cuOccupancyMaxPotentialBlockSize.
558 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
559 default num_gangs and num_workers when the driver supports it.
560
8e09a12f
TV
5612018-08-08 Tom de Vries <tdevries@suse.de>
562
563 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
564 CUDA_ONE_CALL_MAYBE_NULL.
565 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
566 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
567 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
568 are not found.
569
cedd9bd0
TV
5702018-08-08 Tom de Vries <tdevries@suse.de>
571
572 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
573 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
574 present.
575
b113af95
TV
5762018-08-08 Tom de Vries <tdevries@suse.de>
577
578 * plugin/plugin-nvptx.c
579 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
580 (nvptx_open_device): Use
581 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
582
94767dac
TV
5832018-08-08 Tom de Vries <tdevries@suse.de>
584
585 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
586 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
587
02150de8
TV
5882018-08-07 Tom de Vries <tdevries@suse.de>
589
590 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
591 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
592 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
593 corresponding call in CUDA_ONE_CALL. Add def/undef of
594 CUDA_ONE_CALL_MAYBE_NULL.
595 (CUDA_CALL_EXISTS): Define.
596
9e28b107
TV
5972018-08-07 Tom de Vries <tdevries@suse.de>
598
599 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
600 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
601 corresponding undefs right after.
602
09940090
TV
6032018-08-04 Tom de Vries <tdevries@suse.de>
604
605 * plugin/configfrag.ac: For --without-cuda-driver, set
606 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
607 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
608 * configure: Regenerate.
609
77e0a97a
TV
6102018-08-02 Tom de Vries <tdevries@suse.de>
611
612 PR target/86660
613 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
614 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
615 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
616 Same.
617 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
618 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
619 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
620
701d080a
CP
6212018-08-01 Cesar Philippidis <cesar@codesourcery.com>
622 Thomas Schwinge <thomas@codesourcery.com>
623
624 * config/nvptx/oacc-parallel.c: Truncate.
625
094db6be
CP
6262018-08-01 Cesar Philippidis <cesar@codesourcery.com>
627 James Norris <jnorris@codesourcery.com>
628
629 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
630 (map_init, map_pop): Remove use of struct map.
631 (map_push): Likewise and change argument list.
094db6be
CP
632 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
633
8c6310a2
TV
6342018-08-01 Tom de Vries <tdevries@suse.de>
635
636 * plugin/cuda-lib.def: New file. Factor out of ...
637 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
638 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
639 using CUDA_CALLS.
640
1d4a51cf
AV
6412018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
642
643 Revert 'AsyncI/O patch committed'.
644 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
645 Thomas Koenig <tkoenig@gcc.gnu.org>
646
647 PR fortran/25829
648 * testsuite/libgomp.fortran/async_io_1.f90: New test.
649 * testsuite/libgomp.fortran/async_io_2.f90: New test.
650 * testsuite/libgomp.fortran/async_io_3.f90: New test.
651 * testsuite/libgomp.fortran/async_io_4.f90: New test.
652 * testsuite/libgomp.fortran/async_io_5.f90: New test.
653 * testsuite/libgomp.fortran/async_io_6.f90: New test.
654 * testsuite/libgomp.fortran/async_io_7.f90: New test.
655
4cdfee3f
TV
6562018-07-30 Tom de Vries <tdevries@suse.de>
657
658 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
659 (nvptx_exec): Ensure worker and vector default dims don't exceed
660 targ_fn->max_threads_per_block.
661
0b210c43
TV
6622018-07-30 Tom de Vries <tdevries@suse.de>
663
664 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
665 (nvptx_open_device): Init default_dims for device.
666 (nvptx_exec): Use default_dims from device.
667
5883c5cc
JJ
6682018-07-26 Jakub Jelinek <jakub@redhat.com>
669
5d36384c
JJ
670 PR testsuite/86660
671 * testsuite/libgomp.c++/for-15.C (results): Include it in
672 omp declare target region.
673 (main): Use map (always, tofrom: results) instead of
674 map (tofrom: results).
675
5883c5cc
JJ
676 PR middle-end/86660
677 * testsuite/libgomp.c/pr86660.c: New test.
678
88a4654d
CP
6792018-07-26 Cesar Philippidis <cesar@codesourcery.com>
680 Tom de Vries <tdevries@suse.de>
681
682 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
683 sufficient resources to launch a kernel, and give a hint on how to fix
684 it.
685
0c6c2f5f
CP
6862018-07-26 Cesar Philippidis <cesar@codesourcery.com>
687 Tom de Vries <tdevries@suse.de>
688
689 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
690 max_threads_per_block and max_threads_per_multiprocessor fields.
691 (nvptx_open_device): Initialize new fields.
692 (nvptx_exec): Use num_sms, and new fields.
693
6dd58010
TV
6942018-07-26 Tom de Vries <tdevries@suse.de>
695
696 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
697 to correct locations. Remove xfail.
698
b2eb1779
TV
6992018-07-26 Tom de Vries <tdevries@suse.de>
700
701 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
702 acc_wait. Move acc_async_test calls to correct locations. Remove
703 xfail.
704
b1f45884
NK
7052018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
706 Thomas Koenig <tkoenig@gcc.gnu.org>
707
708 PR fortran/25829
709 * testsuite/libgomp.fortran/async_io_1.f90: New test.
710 * testsuite/libgomp.fortran/async_io_2.f90: New test.
711 * testsuite/libgomp.fortran/async_io_3.f90: New test.
712 * testsuite/libgomp.fortran/async_io_4.f90: New test.
713 * testsuite/libgomp.fortran/async_io_5.f90: New test.
714 * testsuite/libgomp.fortran/async_io_6.f90: New test.
715 * testsuite/libgomp.fortran/async_io_7.f90: New test.
716
3a106211
JJ
7172018-07-17 Jakub Jelinek <jakub@redhat.com>
718
a3bccfa1
JJ
719 PR middle-end/86542
720 * testsuite/libgomp.c++/pr86542.C: New test.
721
3a106211
JJ
722 PR middle-end/86539
723 * testsuite/libgomp.c++/pr86539.C: New test.
724
2bae8b2f
JJ
7252018-07-11 Jakub Jelinek <jakub@redhat.com>
726
727 PR c++/86443
728 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
729 (results): Make sure the variable is not inside declare target region.
730 (qux): Remove unused function.
731
0b27c3ed
JJ
7322018-07-10 Jakub Jelinek <jakub@redhat.com>
733
734 PR c++/86443
735 * testsuite/libgomp.c++/for-15.C: New test.
736
f0391511
JJ
7372018-06-26 Jakub Jelinek <jakub@redhat.com>
738
739 PR c++/86291
740 * testsuite/libgomp.c++/pr86291.C: New test.
741
1a6d1d24
GP
7422018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
743
744 * libgomp.texi (Top): Move www.openmp.org to https.
745 (Enabling OpenMP): Ditto.
746 (omp_get_active_level): Ditto.
747 (omp_get_ancestor_thread_num): Ditto.
748 (omp_get_cancellation): Ditto.
749 (omp_get_default_device): Ditto.
750 (omp_get_dynamic): Ditto.
751 (omp_get_level): Ditto.
752 (omp_get_max_active_levels): Ditto.
753 (omp_get_max_task_priority): Ditto.
754 (omp_get_max_threads): Ditto.
755 (omp_get_nested): Ditto.
756 (omp_get_num_devices): Ditto.
757 (omp_get_num_procs): Ditto.
758 (omp_get_num_teams): Ditto.
759 (omp_get_num_threads): Ditto.
760 (omp_get_proc_bind): Ditto.
761 (omp_get_schedule): Ditto.
762 (omp_get_team_num): Ditto.
763 (omp_get_team_size): Ditto.
764 (omp_get_thread_limit): Ditto.
765 (omp_get_thread_num): Ditto.
766 (omp_in_parallel): Ditto.
767 (omp_in_final): Ditto.
768 (omp_is_initial_device): Ditto.
769 (omp_set_default_device): Ditto.
770 (omp_set_dynamic): Ditto.
771 (omp_set_max_active_levels): Ditto.
772 (omp_set_nested): Ditto.
773 (omp_set_num_threads): Ditto.
774 (omp_set_schedule): Ditto.
775 (omp_init_lock): Ditto.
776 (omp_set_lock): Ditto.
777 (omp_test_lock): Ditto.
778 (omp_unset_lock): Ditto.
779 (omp_destroy_lock): Ditto.
780 (omp_init_nest_lock): Ditto.
781 (omp_set_nest_lock): Ditto.
782 (omp_test_nest_lock): Ditto.
783 (omp_unset_nest_lock): Ditto.
784 (omp_destroy_nest_lock): Ditto.
785 (omp_get_wtick): Ditto.
786 (omp_get_wtime): Ditto.
787 (OMP_CANCELLATION): Ditto.
788 (OMP_DISPLAY_ENV): Ditto.
789 (OMP_DEFAULT_DEVICE): Ditto.
790 (OMP_DYNAMIC): Ditto.
791 (OMP_MAX_ACTIVE_LEVELS): Ditto.
792 (OMP_MAX_TASK_PRIORITY): Ditto.
793 (OMP_NESTED): Ditto.
794 (OMP_NUM_THREADS): Ditto.
795 (OMP_PROC_BIND): Ditto.
796 (OMP_PLACES): Ditto.
797 (OMP_STACKSIZE): Ditto.
798 (OMP_SCHEDULE): Ditto.
799 (OMP_THREAD_LIMIT): Ditto.
800 (OMP_WAIT_POLICY): Ditto.
801
31dd69b7
CP
8022018-06-22 Cesar Philippidis <cesar@codesourcery.com>
803 James Norris <jnorris@codesourcery.com>
804 Julian Brown <julian@codesourcery.com>
805 Thomas Schwinge <thomas@codesourcery.com>
806 Tom de Vries <tom@codesourcery.com>
807
808 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
809 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
810 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
811 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
812 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
813 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
814 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
815 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
816 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
817 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
818 Likewise.
819 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
820 Likewise.
821 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
822 Likewise.
823 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
824 Likewise.
825 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
826 Likewise.
827 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
828 Likewise.
829 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
830 Likewise.
831 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
832 Likewise.
833 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
834 Likewise.
835 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
836 Likewise.
837 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
838 Likewise.
839 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
840 Likewise.
841 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
842 Likewise.
843 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
844 Likewise.
845 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
846 Likewise.
847 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
848 Likewise.
849 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
850 Likewise.
851 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
852 Likewise.
853 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
854 Likewise.
855 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
856 Likewise.
857 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
858 Likewise.
859 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
860 Likewise.
861 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
862 Likewise.
863 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
864 Likewise.
865 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
866 Likewise.
867 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
868 Likewise.
869 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
870 Likewise.
871 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
872 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
873 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
874 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
875 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
876 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
877 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
878 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
879 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
880 Likewise.
881 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
882 Likewise.
883 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
884 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
885 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
886 Likewise.
887 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
888 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
889 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
890 Likewise.
891 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
892 Likewise.
893 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
894 Likewise.
895 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
896 Likewise.
897 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
898 Likewise.
899 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
900 Likewise.
901 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
902 Likewise.
903 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
904 Likewise.
905 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
906 Likewise.
907 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
908 Likewise.
909 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
910 Likewise.
911 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
912 Likewise.
913 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
914 Likewise.
915 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
916 Likewise.
917 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
918 Likewise.
919 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
920 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
921 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
922 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
923 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
924 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
925 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
926
829c6349
CLT
9272018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
928 Thomas Schwinge <thomas@codesourcery.com>
929 Cesar Philippidis <cesar@codesourcery.com>
930
931 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
932 (gomp_acc_remove_pointer): Update declaration.
933 (gomp_acc_declare_allocate): Declare.
934 (gomp_remove_var): Declare.
935 * libgomp.map (OACC_2.5): Define.
936 * oacc-mem.c (acc_map_data): Update refcount.
937 (acc_unmap_data): Likewise.
938 (present_create_copy): Likewise.
939 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
940 (acc_copyin): Likewise.
941 (FLAG_FINALIZE): Define.
942 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
943 (acc_delete_finalize): New function.
944 (acc_delete_finalize_async): New function.
945 (acc_copyout_finalize): New function.
946 (acc_copyout_finalize_async): New function.
947 (gomp_acc_insert_pointer): Update refcounts.
948 (gomp_acc_remove_pointer): Return if data is not present on the
949 accelerator.
950 * oacc-parallel.c (find_pset): Rename to find_pointer.
951 (find_pointer): Add support for GOMP_MAP_POINTER.
952 (handle_ftn_pointers): New function.
953 (GOACC_parallel_keyed): Update refcounts of variables.
954 (GOACC_enter_exit_data): Add support for finalized data mappings.
955 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
956 of fortran arrays.
957 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
958 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
959 for GOMP_MAP_FORCE_FROM.
960 * openacc.f90 (module openacc_internal): Add
961 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
962 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
963 acc_copyout_finalize and acc_delete_finalize.
964 (acc_copyout_finalize_32_h): New subroutine.
965 (acc_copyout_finalize_64_h): New subroutine.
966 (acc_copyout_finalize_array_h): New subroutine.
967 (acc_delete_finalize_32_h): New subroutine.
968 (acc_delete_finalize_64_h): New subroutine.
969 (acc_delete_finalize_array_h): New subroutine.
970 * openacc.h (acc_copyout_finalize): Declare.
971 (acc_copyout_finalize_async): Declare.
972 (acc_delete_finalize): Declare.
973 (acc_delete_finalize_async): Declare.
974 * openacc_lib.h (acc_copyout_finalize): New interface.
975 (acc_delete_finalize): New interface.
976 * target.c (gomp_map_vars): Update dynamic_refcount.
977 (gomp_remove_var): New function.
978 (gomp_unmap_vars): Use it.
979 (gomp_unload_image_from_device): Likewise.
980 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
981 case to utilize OpenACC 2.5 data clause semantics.
982 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
983 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
984 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
985 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
986 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
987 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
988 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
989 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
990 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
991 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
992 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
993 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
994 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
995 utilize OpenACC 2.5 data clause semantics.
996 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
997 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
998 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
999 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1000 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1001 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1002 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1003 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
1004 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
1005
4358400b
JW
10062018-05-21 Janus Weil <janus@gcc.gnu.org>
1007
1008 PR fortran/85841
1009 PR testsuite/85865
1010 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
1011 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
1012 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
1013 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
1014 * testsuite/libgomp.fortran/task2.f90: Ditto.
1015 * testsuite/libgomp.fortran/vla1.f90: Ditto.
1016 * testsuite/libgomp.fortran/vla2.f90: Ditto.
1017 * testsuite/libgomp.fortran/vla3.f90: Ditto.
1018 * testsuite/libgomp.fortran/vla4.f90: Ditto.
1019 * testsuite/libgomp.fortran/vla5.f90: Ditto.
1020 * testsuite/libgomp.fortran/vla6.f90: Ditto.
1021 * testsuite/libgomp.fortran/vla8.f90: Ditto.
1022 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
1023 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
1024
950ad0ba
CP
10252018-05-18 Cesar Philippidis <cesar@codesourcery.com>
1026
1027 PR c++/85782
1028 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
1029
f5ad16f1
TV
10302018-05-09 Tom de Vries <tom@codesourcery.com>
1031
1032 PR libgomp/82901
1033 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
1034 to GOACC_enter_exit_data.
1035
edbd038a
TV
10362018-05-09 Tom de Vries <tom@codesourcery.com>
1037
1038 PR libgomp/83792
1039 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
1040 (async_synchronous_p): New function.
1041 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
1042 async_valid_p.
1043 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1044 async_valid_stream_id_p.
1045 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
1046 * oacc-parallel.c (GOACC_parallel_keyed): Same.
1047
37d6c719
TV
10482018-05-07 Tom de Vries <tom@codesourcery.com>
1049
1050 PR testsuite/85677
1051 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
1052 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
1053
63f12215
TV
10542018-05-03 Tom de Vries <tom@codesourcery.com>
1055
1056 PR testsuite/85106
1057 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
1058 extra_tool_flags if it contains an -foffload=-fdump-* flag.
1059 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
1060 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
1061
ec00d3fa
TV
10622018-05-02 Tom de Vries <tom@codesourcery.com>
1063
1064 PR libgomp/85411
1065 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
1066 GOMP_OPENACC_DIM ...
1067 * env.c (parse_gomp_openacc_dim): ... here. New function.
1068 (initialize_env): Call parse_gomp_openacc_dim.
1069 (goacc_default_dims): Define.
1070 * libgomp.h (goacc_default_dims): Declare.
1071 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
1072 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
1073 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
1074 GOMP_PLUGIN_acc_default_dim.
1075 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
1076 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
1077
92243e7c
TV
10782018-05-02 Tom de Vries <tom@codesourcery.com>
1079
1080 PR testsuite/83791
1081 * testsuite/libgomp.c++/udr-9.C: Update.
1082 * testsuite/libgomp.c++/atomic-16.C: Remove.
1083 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
1084 * testsuite/libgomp.c++/loop-13.C: Remove.
1085 * testsuite/libgomp.c++/loop-14.C: Remove.
1086 * testsuite/libgomp.c++/loop-15.C: Remove.
1087 * testsuite/libgomp.c++/monotonic-1.C: Remove.
1088 * testsuite/libgomp.c++/monotonic-2.C: Remove.
1089 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
1090 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
1091 * testsuite/libgomp.c++/ordered-1.C: Remove.
1092 * testsuite/libgomp.c++/pr45784.C: Remove.
1093 * testsuite/libgomp.c++/pr64824.C: Remove.
1094 * testsuite/libgomp.c++/pr64868.C: Remove.
1095 * testsuite/libgomp.c++/pr66199-1.C: Remove.
1096 * testsuite/libgomp.c++/pr66199-2.C: Remove.
1097 * testsuite/libgomp.c++/pr66199-3.C: Remove.
1098 * testsuite/libgomp.c++/pr66199-4.C: Remove.
1099 * testsuite/libgomp.c++/pr66199-5.C: Remove.
1100 * testsuite/libgomp.c++/pr66199-6.C: Remove.
1101 * testsuite/libgomp.c++/pr66199-7.C: Remove.
1102 * testsuite/libgomp.c++/pr66199-8.C: Remove.
1103 * testsuite/libgomp.c++/pr66199-9.C: Remove.
1104 * testsuite/libgomp.c++/pr69389.C: Remove.
1105 * testsuite/libgomp.c++/simd10.C: Remove.
1106 * testsuite/libgomp.c++/simd11.C: Remove.
1107 * testsuite/libgomp.c++/simd12.C: Remove.
1108 * testsuite/libgomp.c++/simd13.C: Remove.
1109 * testsuite/libgomp.c++/target-1.C: Remove.
1110 * testsuite/libgomp.c++/target-3.C: Remove.
1111 * testsuite/libgomp.c++/target-4.C: Remove.
1112 * testsuite/libgomp.c++/target-5.C: Remove.
1113 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
1114 * testsuite/libgomp.c++/taskloop-1.C: Remove.
1115 * testsuite/libgomp.c++/taskloop-2.C: Remove.
1116 * testsuite/libgomp.c++/taskloop-3.C: Remove.
1117 * testsuite/libgomp.c++/taskloop-4.C: Remove.
1118 * testsuite/libgomp.c++/udr-9.C: Remove.
1119 * testsuite/libgomp.c++/for-10.C: Remove.
1120 * testsuite/libgomp.c++/for-11.C: Remove.
1121 * testsuite/libgomp.c++/for-12.C: Remove.
1122 * testsuite/libgomp.c++/for-13.C: Remove.
1123 * testsuite/libgomp.c++/for-14.C: Remove.
1124 * testsuite/libgomp.c++/for-9.C: Remove.
1125 * testsuite/libgomp.c/atomic-18.c: Move ...
1126 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
1127 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
1128 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
1129 * testsuite/libgomp.c/loop-13.c: Move ...
1130 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
1131 * testsuite/libgomp.c/loop-14.c: Move ...
1132 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
1133 * testsuite/libgomp.c/loop-15.c: Remove.
1134 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
1135 * testsuite/libgomp.c/monotonic-1.c: Move ...
1136 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
1137 * testsuite/libgomp.c/monotonic-2.c: Move ...
1138 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
1139 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
1140 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
1141 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
1142 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
1143 * testsuite/libgomp.c/ordered-4.c: Move ...
1144 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
1145 * testsuite/libgomp.c/pr45784.c: Move ...
1146 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
1147 * testsuite/libgomp.c/pr64824.c: Move ...
1148 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
1149 * testsuite/libgomp.c/pr64868.c: Move ...
1150 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
1151 * testsuite/libgomp.c/pr66199-1.c: Move ...
1152 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
1153 * testsuite/libgomp.c/pr66199-2.c: Move ...
1154 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
1155 * testsuite/libgomp.c/pr66199-3.c: Move ...
1156 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
1157 * testsuite/libgomp.c/pr66199-4.c: Move ...
1158 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
1159 * testsuite/libgomp.c/pr66199-5.c: Move ...
1160 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
1161 * testsuite/libgomp.c/pr66199-6.c: Move ...
1162 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
1163 * testsuite/libgomp.c/pr66199-7.c: Move ...
1164 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
1165 * testsuite/libgomp.c/pr66199-8.c: Move ...
1166 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
1167 * testsuite/libgomp.c/pr66199-9.c: Move ...
1168 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
1169 * testsuite/libgomp.c/pr69389.c: Move ...
1170 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
1171 * testsuite/libgomp.c/simd-14.c: Move ...
1172 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
1173 * testsuite/libgomp.c/simd-15.c: Move ...
1174 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
1175 * testsuite/libgomp.c/simd-16.c: Move ...
1176 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
1177 * testsuite/libgomp.c/simd-17.c: Move ...
1178 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
1179 * testsuite/libgomp.c/target-1.c: Move ...
1180 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
1181 * testsuite/libgomp.c/target-10.c: Move ...
1182 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
1183 * testsuite/libgomp.c/target-13.c: Move ...
1184 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
1185 * testsuite/libgomp.c/target-2.c: Move ...
1186 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
1187 * testsuite/libgomp.c/taskgroup-1.c: Move ...
1188 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
1189 * testsuite/libgomp.c/taskloop-1.c: Move ...
1190 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
1191 * testsuite/libgomp.c/taskloop-2.c: Move ...
1192 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
1193 * testsuite/libgomp.c/taskloop-3.c: Move ...
1194 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
1195 * testsuite/libgomp.c/taskloop-4.c: Move ...
1196 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
1197 * testsuite/libgomp.c/udr-1.c: Move ...
1198 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
1199 * testsuite/libgomp.c/for-1.c: Move ...
1200 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
1201 * testsuite/libgomp.c/for-1.h: Move ...
1202 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
1203 * testsuite/libgomp.c/for-2.c: Move ...
1204 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
1205 * testsuite/libgomp.c/for-2.h: Move ...
1206 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
1207 * testsuite/libgomp.c/for-3.c: Move ...
1208 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
1209 * testsuite/libgomp.c/for-4.c: Move ...
1210 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
1211 * testsuite/libgomp.c/for-5.c: Move ...
1212 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
1213 * testsuite/libgomp.c/for-6.c: Move ...
1214 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
1215
1f62d637
TV
12162018-05-02 Tom de Vries <tom@codesourcery.com>
1217
1218 PR libgomp/82428
1219 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
1220 __builtin_goacc_parlevel_{id,size}.
1221 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
1222 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
1223 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
1224 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
1225 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
1226 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
1227 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
1228 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
1229 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
1230 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
1231 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
1232 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
1233 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
1234 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
1235 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
1236 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
1237 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
1238 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
1239 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
1240 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
1241 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
1242 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
1243 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
1244
9220b511
TV
12452018-05-02 Tom de Vries <tom@codesourcery.com>
1246
1247 PR testsuite/85106
1248 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
1249
6c3c13c1
TV
12502018-05-02 Tom de Vries <tom@codesourcery.com>
1251
1252 PR testsuite/85106
1253 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
1254
8d70b61e
JB
12552018-04-29 Julian Brown <julian@codesourcery.com>
1256 Tom de Vries <tom@codesourcery.com>
1257
1258 PR testsuite/85527
1259 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
1260 arbitrary order for iterations of atomic subtract check.
1261
4a57a4b6
TV
12622018-04-28 Tom de Vries <tom@codesourcery.com>
1263
1264 PR testsuite/85527
1265 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
1266 atomic capture results obtained in parallel loop to an array, instead of
1267 to a scalar.
1268
df36a3d3
TV
12692018-04-26 Tom de Vries <tom@codesourcery.com>
1270
1271 PR libgomp/84020
1272 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
1273 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
1274 (process_GOMP_NVPTX_JIT): New function.
1275 (link_ptx): Use process_GOMP_NVPTX_JIT.
1276
d160ae78
RB
12772018-04-26 Richard Biener <rguenther@suse.de>
1278 Tom de Vries <tom@codesourcery.com>
1279
1280 PR lto/85422
1281 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
1282
ca9dc642
TV
12832018-04-26 Tom de Vries <tom@codesourcery.com>
1284
1285 PR target/85519
1286 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
1287 recursion depth from 25 to 23.
1288 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
1289
7b47ecf2
L
12902018-04-24 H.J. Lu <hongjiu.lu@intel.com>
1291
1292 * configure: Regenerated.
1293
e91eba31
NS
12942018-04-20 Nathan Sidwell <nathan@codesourcery.com>
1295 Tom de Vries <tom@codesourcery.com>
1296
1297 PR target/85445
1298 * testsuite/libgomp.oacc-c++/ref-1.C: New.
1299
6e0d40b6
TS
13002018-04-19 Thomas Schwinge <thomas@codesourcery.com>
1301
1302 PR libgomp/85463
1303 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
1304 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
1305 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
1306 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
1307 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
1308 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
1309
1310 PR libfortran/85166
1311 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
1312 abort".
1313 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
1314
a0e1df88
JJ
13152018-04-19 Jakub Jelinek <jakub@redhat.com>
1316
1317 * configure: Regenerated.
1318
001ddaa8
DM
13192018-04-18 David Malcolm <dmalcolm@redhat.com>
1320
1321 PR jit/85384
1322 * configure: Regenerate.
1323
05e0af43
CP
13242018-04-16 Cesar Philippidis <cesar@codesourcery.com>
1325 Tom de Vries <tom@codesourcery.com>
1326
1327 PR middle-end/84955
1328 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
1329 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
1330
bc436e10
TK
13312018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1332
1333 PR fortran/83064
1334 PR testsuite/85346
1335 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
1336 test from gfortran.dg to here.
1337
ffb164c7
JJ
13382018-04-12 Cesar Philippidis <cesar@codesourcery.com>
1339
1340 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
1341 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
1342
13432018-04-12 Cesar Philippidis <cesar@codesourcery.com>
1344
1345 PR middle-end/84955
1346 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
1347 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
1348
2ba16fd2
TV
13492018-04-05 Tom de Vries <tom@codesourcery.com>
1350
1351 PR target/85204
1352 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
1353
46dbeb40
TV
13542018-03-26 Tom de Vries <tom@codesourcery.com>
1355
1356 PR tree-optimization/85063
1357 * testsuite/libgomp.c/switch-conversion-2.c: New test.
1358 * testsuite/libgomp.c/switch-conversion.c: New test.
1359 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
1360 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
1361
bfc24e32
TK
13622018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
1363
1364 PR fortran/84381
1365 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
1366 call abort by STOP n.
1367 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
1368 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
1369 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
1370 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
1371 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
1372 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
1373 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
1374 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
1375 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
1376 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
1377 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
1378 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
1379 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
1380 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
1381 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
1382 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
1383 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
1384 * testsuite/libgomp.fortran/associate1.f90: Likewise.
1385 * testsuite/libgomp.fortran/associate2.f90: Likewise.
1386 * testsuite/libgomp.fortran/associate3.f90: Likewise.
1387 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
1388 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
1389 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
1390 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
1391 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
1392 * testsuite/libgomp.fortran/character1.f90: Likewise.
1393 * testsuite/libgomp.fortran/character2.f90: Likewise.
1394 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
1395 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
1396 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
1397 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
1398 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
1399 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
1400 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
1401 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
1402 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
1403 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
1404 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
1405 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
1406 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
1407 * testsuite/libgomp.fortran/do1.f90: Likewise.
1408 * testsuite/libgomp.fortran/do2.f90: Likewise.
1409 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
1410 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
1411 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
1412 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
1413 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
1414 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
1415 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
1416 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
1417 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
1418 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
1419 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
1420 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
1421 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
1422 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
1423 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
1424 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
1425 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
1426 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
1427 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
1428 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
1429 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
1430 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
1431 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
1432 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
1433 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
1434 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
1435 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
1436 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
1437 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
1438 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
1439 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
1440 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
1441 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
1442 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
1443 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
1444 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
1445 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
1446 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
1447 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
1448 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
1449 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
1450 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
1451 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
1452 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
1453 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
1454 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
1455 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
1456 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
1457 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
1458 * testsuite/libgomp.fortran/lib1.f90: Likewise.
1459 * testsuite/libgomp.fortran/lib2.f: Likewise.
1460 * testsuite/libgomp.fortran/lib3.f: Likewise.
1461 * testsuite/libgomp.fortran/lib4.f90: Likewise.
1462 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
1463 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
1464 * testsuite/libgomp.fortran/nested1.f90: Likewise.
1465 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
1466 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
1467 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
1468 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
1469 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
1470 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
1471 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
1472 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
1473 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
1474 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
1475 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
1476 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
1477 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
1478 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
1479 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
1480 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
1481 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
1482 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
1483 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
1484 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
1485 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
1486 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
1487 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
1488 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
1489 * testsuite/libgomp.fortran/pr25162.f: Likewise.
1490 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
1491 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
1492 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
1493 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
1494 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
1495 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
1496 * testsuite/libgomp.fortran/pr28390.f: Likewise.
1497 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
1498 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
1499 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
1500 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
1501 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
1502 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
1503 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
1504 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
1505 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
1506 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
1507 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
1508 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
1509 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
1510 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
1511 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
1512 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
1513 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
1514 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
1515 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
1516 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
1517 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
1518 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
1519 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
1520 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
1521 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
1522 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
1523 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
1524 * testsuite/libgomp.fortran/reference1.f90: Likewise.
1525 * testsuite/libgomp.fortran/reference2.f90: Likewise.
1526 * testsuite/libgomp.fortran/retval1.f90: Likewise.
1527 * testsuite/libgomp.fortran/retval2.f90: Likewise.
1528 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
1529 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
1530 * testsuite/libgomp.fortran/simd1.f90: Likewise.
1531 * testsuite/libgomp.fortran/simd2.f90: Likewise.
1532 * testsuite/libgomp.fortran/simd3.f90: Likewise.
1533 * testsuite/libgomp.fortran/simd4.f90: Likewise.
1534 * testsuite/libgomp.fortran/simd5.f90: Likewise.
1535 * testsuite/libgomp.fortran/simd6.f90: Likewise.
1536 * testsuite/libgomp.fortran/simd7.f90: Likewise.
1537 * testsuite/libgomp.fortran/stack.f90: Likewise.
1538 * testsuite/libgomp.fortran/strassen.f90: Likewise.
1539 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
1540 * testsuite/libgomp.fortran/tabs2.f: Likewise.
1541 * testsuite/libgomp.fortran/target1.f90: Likewise.
1542 * testsuite/libgomp.fortran/target2.f90: Likewise.
1543 * testsuite/libgomp.fortran/target3.f90: Likewise.
1544 * testsuite/libgomp.fortran/target4.f90: Likewise.
1545 * testsuite/libgomp.fortran/target5.f90: Likewise.
1546 * testsuite/libgomp.fortran/target6.f90: Likewise.
1547 * testsuite/libgomp.fortran/target7.f90: Likewise.
1548 * testsuite/libgomp.fortran/target8.f90: Likewise.
1549 * testsuite/libgomp.fortran/task1.f90: Likewise.
1550 * testsuite/libgomp.fortran/task2.f90: Likewise.
1551 * testsuite/libgomp.fortran/task3.f90: Likewise.
1552 * testsuite/libgomp.fortran/task4.f90: Likewise.
1553 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
1554 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
1555 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
1556 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
1557 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
1558 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
1559 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
1560 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
1561 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
1562 * testsuite/libgomp.fortran/udr1.f90: Likewise.
1563 * testsuite/libgomp.fortran/udr10.f90: Likewise.
1564 * testsuite/libgomp.fortran/udr11.f90: Likewise.
1565 * testsuite/libgomp.fortran/udr12.f90: Likewise.
1566 * testsuite/libgomp.fortran/udr13.f90: Likewise.
1567 * testsuite/libgomp.fortran/udr14.f90: Likewise.
1568 * testsuite/libgomp.fortran/udr15.f90: Likewise.
1569 * testsuite/libgomp.fortran/udr2.f90: Likewise.
1570 * testsuite/libgomp.fortran/udr3.f90: Likewise.
1571 * testsuite/libgomp.fortran/udr4.f90: Likewise.
1572 * testsuite/libgomp.fortran/udr5.f90: Likewise.
1573 * testsuite/libgomp.fortran/udr6.f90: Likewise.
1574 * testsuite/libgomp.fortran/udr7.f90: Likewise.
1575 * testsuite/libgomp.fortran/udr8.f90: Likewise.
1576 * testsuite/libgomp.fortran/udr9.f90: Likewise.
1577 * testsuite/libgomp.fortran/vla1.f90: Likewise.
1578 * testsuite/libgomp.fortran/vla2.f90: Likewise.
1579 * testsuite/libgomp.fortran/vla3.f90: Likewise.
1580 * testsuite/libgomp.fortran/vla4.f90: Likewise.
1581 * testsuite/libgomp.fortran/vla5.f90: Likewise.
1582 * testsuite/libgomp.fortran/vla6.f90: Likewise.
1583 * testsuite/libgomp.fortran/vla7.f90: Likewise.
1584 * testsuite/libgomp.fortran/vla8.f90: Likewise.
1585 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
1586 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
1587 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
1588 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
1589 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
1590 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
1591 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
1592 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
1593 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
1594 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
1595 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
1596 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
1597 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
1598 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
1599 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
1600 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
1601 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
1602 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
1603 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
1604 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
1605 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
1606 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
1607 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
1608 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
1609 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
1610 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
1611 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
1612 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
1613 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
1614 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
1615 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
1616 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
1617 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
1618 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
1619 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
1620 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
1621 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
1622 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
1623 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
1624 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
1625 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
1626 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
1627 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
1628 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
1629 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
1630 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
1631 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
1632 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
1633 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
1634 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
1635 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
1636 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
1637 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
1638 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
1639 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
1640 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
1641 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
1642 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
1643 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
1644 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
1645 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
1646 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
1647 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
1648 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
1649 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
1650 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
1651 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
1652 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
1653 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
1654 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
1655 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
1656 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
1657 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
1658 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
1659 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
1660 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
1661 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
1662 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
1663 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
1664 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
1665 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
1666 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
1667 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
1668 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
1669 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
1670 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
1671 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
1672 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
1673 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
1674 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
1675 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
1676 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
1677 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
1678 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
1679
79cf14ae
RB
16802018-03-20 Richard Biener <rguenther@suse.de>
1681
1682 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
1683 parallelizable loop.
1684
14e335ed
IT
16852018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
1686
1687 PR target/84148
1688 * configure: Regenerate.
1689
83d9be55
JJ
16902018-02-16 Jakub Jelinek <jakub@redhat.com>
1691
1692 PR fortran/84418
1693 * libgomp.fortran/pr84418-1.f90: New test.
1694 * libgomp.fortran/pr84418-2.f90: New test.
1695
d1fe6124
JJ
16962018-02-14 Jakub Jelinek <jakub@redhat.com>
1697
1698 PR fortran/84313
1699 * testsuite/libgomp.fortran/threadprivate4.f90: Add
1700 -std=f2003 -fall-intrinsics into dg-additional-options.
1701
3d224921
MJ
17022018-02-08 Martin Jambor <mjambor@suse.cz>
1703
1704 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
1705 clonable.
1706
c7c30edd
MJ
17072018-02-08 Martin Jambor <mjambor@suse.cz>
1708
1709 * testsuite/libgomp.hsa.c/staticvar.c: New test.
1710
f320fdfd
RO
17112018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1712
1713 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
1714 [__cplusplus]: Declare extern "C".
1715
c31bc4ac
TV
17162018-02-07 Tom de Vries <tom@codesourcery.com>
1717
1718 PR libgomp/84217
1719 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
1720
99ae7ce5
CS
17212018-01-29 Christoph Spiel <cspiel@freenet.de>
1722 Jakub Jelinek <jakub@redhat.com>
1723
1724 PR libgomp/84096
1725 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
1726 instead of omp_lock_t.
1727
e77a1236
TV
17282018-01-25 Tom de Vries <tom@codesourcery.com>
1729
1730 PR target/84028
1731 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
1732
3dede32b
TV
17332018-01-24 Tom de Vries <tom@codesourcery.com>
1734
1735 PR target/83589
1736 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
1737
be606483
TV
17382018-01-24 Tom de Vries <tom@codesourcery.com>
1739
1740 PR target/81352
1741 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
1742
8c8e9a6b
TV
17432018-01-19 Tom de Vries <tom@codesourcery.com>
1744 Cesar Philippidis <cesar@codesourcery.com>
1745
1746 PR target/83920
1747 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
1748 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
1749
65e6aea3
JJ
17502018-01-03 Jakub Jelinek <jakub@redhat.com>
1751
85ec4feb
JJ
1752 Update copyright years.
1753
65e6aea3
JJ
1754 * libgomp.texi: Bump @copying's copyright year.
1755
60bf575c
TV
17562017-12-30 Tom de Vries <tom@codesourcery.com>
1757
1758 PR libgomp/83046
1759 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
1760 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
1761
7ec16b79
TV
17622017-12-27 Tom de Vries <tom@codesourcery.com>
1763
1764 PR c++/83046
1765 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
1766 (test_nonstatic): Fix return type to workaround PR83046.
1767
ac550b9a
JJ
17682017-12-05 Jakub Jelinek <jakub@redhat.com>
1769
1770 PR testsuite/83281
1771 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
1772 j suffix instead of i.
1773 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
1774 Likewise.
1775
ebdc83f0
CP
17762017-12-01 Cesar Philippidis <cesar@codesourcery.com>
1777
1778 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
1779 call to acc_wait (1).
1780
3b3e6283
JJ
17812017-11-24 Jakub Jelinek <jakub@redhat.com>
1782
1783 PR fortran/81304
1784 * testsuite/libgomp.fortran/pr81304.f90: New test.
1785
3b575376
JJ
17862017-11-23 Jakub Jelinek <jakub@redhat.com>
1787
1788 PR fortran/81841
1789 * libgomp.fortran/pr81841.f90: New test.
1790
b13547d8
JJ
17912017-11-22 Jakub Jelinek <jakub@redhat.com>
1792
1793 PR libgomp/83106
1794 * target.c (gomp_target_init): Compute lengths just once and
1795 use them in both malloc size and subsequent copying.
1796
efe33ced
IT
17972017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
1798
1799 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
1800 * acinclude.m4: Add cet.m4.
1801 * configure: Regenerate.
1802 * Makefile.in: Likewise.
1803 * testsuite/Makefile.in: Likewise.
1804
a7cf2612
TV
18052017-11-15 Tom de Vries <tom@codesourcery.com>
1806
1807 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
1808 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
1809 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
1810 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
1811 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
1812 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
1813
dde76623
TV
18142017-11-14 Tom de Vries <tom@codesourcery.com>
1815
1816 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
1817 non-nvidia devices.
1818
4dbeb716
JJ
18192017-11-07 Jakub Jelinek <jakub@redhat.com>
1820
1821 PR c++/82835
1822 * testsuite/libgomp.c++/pr82835.C: New test.
1823
454f8b2b
ML
18242017-11-06 Martin Liska <mliska@suse.cz>
1825
1826 * testsuite/libgomp.c++/loop-2.C: Return a value
1827 for functions with non-void return type, or change type to void,
1828 or add -Wno-return-type for test.
1829 * testsuite/libgomp.c++/loop-4.C: Likewise.
1830 * testsuite/libgomp.c++/parallel-1.C: Likewise.
1831 * testsuite/libgomp.c++/shared-1.C: Likewise.
1832 * testsuite/libgomp.c++/single-1.C: Likewise.
1833 * testsuite/libgomp.c++/single-2.C: Likewise.
1834
12e9c8ce
TV
18352017-10-31 Tom de Vries <tom@codesourcery.com>
1836
1837 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
1838 "do {} while (false)".
1839 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
1840 after HSA_DEBUG call.
1841
7324369a
JJ
18422017-10-28 Jakub Jelinek <jakub@redhat.com>
1843
1844 * target.c (struct gomp_coalesce_buf): New type.
1845 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
1846 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
1847 (gomp_copy_host2dev): Add CBUF argument, if copying into
1848 the cached ranges, memcpy into buffer instead of copying
1849 into device.
1850 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
1851 Add CBUF argument, pass it through to other calls.
1852 (gomp_map_vars): Aggregate copies from host to device if small enough
1853 and with small enough gaps in between into memcpy into a buffer and
1854 fewer host to device copies from the buffer.
1855 (gomp_update): Adjust gomp_copy_host2dev caller.
1856
933ab0e6
TS
18572017-10-17 Thomas Schwinge <thomas@codesourcery.com>
1858
1859 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
1860 run" directive.
1861 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
1862 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
1863 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
1864 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
1865
92d5d01a
TV
18662017-10-16 Tom de Vries <tom@codesourcery.com>
1867
1868 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
1869 openacc_nvidia_accel_selected.
1870 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
1871 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
1872 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
1873 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
1874 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
1875 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
1876 openacc_nvidia_accel_selected. Skip for shared memory device.
1877 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
1878 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
1879
191411e4
MJ
18802017-10-09 Martin Jambor <mjambor@suse.cz>
1881
1882 PR hsa/82416
1883 * testsuite/libgomp.hsa.c/pr82416.c: New test.
1884
e923330e
TV
18852017-10-07 Tom de Vries <tom@codesourcery.com>
1886
1887 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
1888 Remove acc_device_nvidia references.
1889 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
1890 Same.
1891
8fe3ed4c
TV
18922017-10-05 Tom de Vries <tom@codesourcery.com>
1893
1894 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
1895 vector_length(32) clause from acc parallel directive.
1896 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
1897
26596ee5
TV
18982017-10-04 Tom de Vries <tom@codesourcery.com>
1899
1900 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
1901 (main): Reduce sum of arr elements. Assert that hres is exactly
1902 representable in 32-bit floating point.
1903 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
1904 (main): Reduce sum of arr elements. Assert that hres and hmres are
1905 exactly representable in 32-bit floating point.
1906 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
1907
5c561fa9
TV
19082017-09-28 Tom de Vries <tom@codesourcery.com>
1909
1910 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
1911 setting.
1912 * testsuite/libgomp.c++/pr69393.C: Same.
1913 * testsuite/libgomp.c++/taskloop-1.C: Same.
1914 * testsuite/libgomp.c++/taskloop-3.C: Same.
1915 * testsuite/libgomp.c++/taskloop-4.C: Same.
1916 * testsuite/libgomp.c/for-4.c: Same.
1917 * testsuite/libgomp.c/pr66199-3.c: Same.
1918 * testsuite/libgomp.c/pr66199-4.c: Same.
1919 * testsuite/libgomp.c/pr66199-6.c: Same.
1920 * testsuite/libgomp.c/taskloop-1.c: Same.
1921 * testsuite/libgomp.c/taskloop-3.c: Same.
1922 * testsuite/libgomp.c/taskloop-4.c: Same.
1923 * testsuite/libgomp.fortran/aligned1.f03: Same.
1924 * testsuite/libgomp.fortran/condinc1.f: Same.
1925 * testsuite/libgomp.fortran/condinc3.f90: Same.
1926 * testsuite/libgomp.fortran/crayptr1.f90: Same.
1927 * testsuite/libgomp.fortran/crayptr2.f90: Same.
1928 * testsuite/libgomp.fortran/crayptr3.f90: Same.
1929 * testsuite/libgomp.fortran/omp_cond1.f: Same.
1930 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
1931 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
1932 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
1933 * testsuite/libgomp.fortran/recursion1.f90: Same.
1934 * testsuite/libgomp.fortran/target2.f90: Same.
1935 * testsuite/libgomp.fortran/target5.f90: Same.
1936 * testsuite/libgomp.fortran/task3.f90: Same.
1937
7d6206fe
TV
19382017-09-28 Tom de Vries <tom@codesourcery.com>
1939
1940 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
1941 vector_length(32) clause from acc parallel directive.
1942 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
1943
84c8627c
TV
19442017-09-27 Tom de Vries <tom@codesourcery.com>
1945
1946 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
1947 Remove acc_device_nvidia references.
1948
ebc6a85e
TV
19492017-09-16 Tom de Vries <tom@codesourcery.com>
1950
1951 PR c/81875
1952 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
1953
82419efb
TV
19542017-09-14 Tom de Vries <tom@codesourcery.com>
1955
1956 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
1957 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
1958 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
1959 * testsuite/libgomp.c/c.exp: Include test-cases from
1960 libgomp.c-c++-common.
1961 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
1962 files.
1963
8b586510
JJ
19642017-09-14 Jakub Jelinek <jakub@redhat.com>
1965
1966 PR c++/81314
1967 * testsuite/libgomp.c++/pr81314.C: New test.
1968
9651fbaf
GP
19692017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
1970
1971 * libgomp.texi (Top): www.openacc.org now uses https.
1972 (Enabling OpenACC): Ditto.
1973 (acc_get_num_devices): Ditto.
1974 (acc_set_device_type): Ditto.
1975 (acc_get_device_type): Ditto.
1976 (acc_set_device_num): Ditto.
1977 (acc_get_device_num): Ditto.
1978 (acc_async_test): Ditto.
1979 (acc_async_test_all): Ditto.
1980 (acc_wait): Ditto.
1981 (acc_wait_all): Ditto.
1982 (acc_wait_all_async): Ditto.
1983 (acc_wait_async): Ditto.
1984 (acc_init): Ditto.
1985 (acc_shutdown): Ditto.
1986 (acc_on_device): Ditto.
1987 (acc_malloc): Ditto.
1988 (acc_free): Ditto.
1989 (acc_copyin): Ditto.
1990 (acc_present_or_copyin): Ditto.
1991 (acc_create): Ditto.
1992 (acc_present_or_create): Ditto.
1993 (acc_copyout): Ditto.
1994 (acc_delete): Ditto.
1995 (acc_update_device): Ditto.
1996 (acc_update_self): Ditto.
1997 (acc_map_data): Ditto.
1998 (acc_unmap_data): Ditto.
1999 (acc_deviceptr): Ditto.
2000 (acc_hostptr): Ditto.
2001 (acc_is_present): Ditto.
2002 (acc_memcpy_to_device): Ditto.
2003 (acc_memcpy_from_device): Ditto.
2004 (acc_get_current_cuda_device): Ditto.
2005 (acc_get_current_cuda_context): Ditto.
2006 (acc_get_cuda_stream): Ditto.
2007 (acc_set_cuda_stream): Ditto.
2008 (ACC_DEVICE_TYPE): Ditto.
2009 (ACC_DEVICE_NUM): Ditto.
2010 (OpenACC Library Interoperability): Ditto.
2011
50aa16c3
JJ
20122017-08-09 Jakub Jelinek <jakub@redhat.com>
2013
2014 PR c/81687
2015 * testsuite/libgomp.c/pr81687-1.c: New test.
2016 * testsuite/libgomp.c/pr81687-2.c: New test.
2017
56b5041c
JJ
20182017-08-07 Jakub Jelinek <jakub@redhat.com>
2019
2020 PR c/69389
2021 * testsuite/libgomp.c/pr69389.c: New test.
2022 * testsuite/libgomp.c++/pr69389.C: New test.
2023
f4c222c0
TV
20242017-08-07 Tom de Vries <tom@codesourcery.com>
2025
2026 PR middle-end/78266
2027 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
2028 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
2029
a40ff0ae
JJ
20302017-07-27 Jakub Jelinek <jakub@redhat.com>
2031
2032 PR c/45784
2033 * testsuite/libgomp.c/pr45784.c: New test.
2034 * testsuite/libgomp.c++/pr45784.C: New test.
2035
3717fbe3
TV
20362017-07-19 Tom de Vries <tom@codesourcery.com>
2037
2038 * testsuite/libgomp.oacc-c/vec.c: New test.
2039
9607b014
TV
20402017-07-03 Tom de Vries <tom@codesourcery.com>
2041
2042 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
2043
dfb15f6b
TV
20442017-06-27 Tom de Vries <tom@codesourcery.com>
2045
2046 * plugin/plugin-nvptx.c (notify_var): New function.
2047 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
2048
22f1a037
TV
20492017-06-27 Tom de Vries <tom@codesourcery.com>
2050
2051 * env.c (parse_unsigned_long_1): Factor out of ...
2052 (parse_unsigned_long): ... here.
2053 (parse_int_1): Factor out of ...
2054 (parse_int): ... here.
2055 (parse_int_secure): New function.
2056 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
2057 * secure_getenv.h: Factor out of ...
2058 * plugin/plugin-hsa.c: ... here.
2059 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
2060
d54d1fc3
JJ
20612017-06-21 Jakub Jelinek <jakub@redhat.com>
2062
2063 PR c++/81130
2064 * testsuite/libgomp.c++/pr81130.C: New test.
2065
4f4b0ab8
RO
20662017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2067
2068 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
2069 default args.
2070 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
2071 dg-xfail-run-if default args.
2072
40ffd95f
BE
20732017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
2074
2075 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
2076 * testsuite/libgomp.c/pr39591-3.c: Likewise.
2077
01275e1e
JJ
20782017-05-30 Jakub Jelinek <jakub@redhat.com>
2079
2080 PR libgomp/80822
2081 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
2082 (gomp_affinity_init_level): Use it. Always analyze the core and thread
2083 sibling lists, depending on level just pick up what CPUs to put
2084 together into a place vs. whether add multiple ordered places.
2085
78672bd8
TS
20862017-05-24 Thomas Schwinge <thomas@codesourcery.com>
2087
7ce64403
TS
2088 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
2089 * libgomp.map (OACC_2.0.1): Add these.
2090 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
2091 for "acc_wait", and "acc_wait_all", respectively.
2092 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
2093 for "acc_wait", and "acc_wait_all", respectively.
2094 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
2095 * libgomp.texi (acc_wait, acc_wait_all): Update.
2096 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
2097 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
2098 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
2099
318686c2
TS
2100 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
2101 acc_present_or_copyin and acc_present_or_create procedures,
2102 respectively.
2103 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
2104 generally different variants of OpenACC Runtime Library functions.
2105 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2106
a6745534
TS
2107 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
2108 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2109
9b94fbc7
TS
2110 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
2111 of preprocessor definitions.
2112 * libgomp.h (strong_alias): Guard by "#ifdef
2113 HAVE_ATTRIBUTE_ALIAS".
2114 * oacc-mem.c: Provide "acc_pcreate" as alias for
2115 "acc_present_or_create", and "acc_pcopyin" as alias for
2116 "acc_present_or_copyin".
2117 * libgomp.map: New version "OACC_2.0.1".
2118 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
2119 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
2120 its content into...
2121 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
2122 Extend testing.
2123
78672bd8
TS
2124 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
2125 when disabling nvptx offloading.
2126
0c36d0d5
TS
21272017-05-23 Thomas Schwinge <thomas@codesourcery.com>
2128
fd71a9a2
TS
2129 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
2130 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
2131 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
2132
0c36d0d5
TS
2133 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
2134 * testsuite/lib/libgomp.exp
2135 (check_effective_target_openacc_nvidia_accel_configured): New
2136 proc.
2137 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
2138 (check_effective_target_c++): New procs.
2139 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
2140 (check_effective_target_c++): Likewise.
2141
c24783c4
JJ
21422017-05-22 Jakub Jelinek <jakub@redhat.com>
2143
655e5265
JJ
2144 PR middle-end/80809
2145 * testsuite/libgomp.c/pr80809-2.c: New test.
2146 * testsuite/libgomp.c/pr80809-3.c: New test.
2147
e9e2ef9f
JJ
2148 PR middle-end/80809
2149 * testsuite/libgomp.c/pr80809-1.c: New test.
2150
c24783c4
JJ
2151 PR middle-end/80853
2152 * testsuite/libgomp.c/pr80853.c: New test.
2153
0da2f96a
TS
21542017-05-19 Thomas Schwinge <thomas@codesourcery.com>
2155
7fd549d2
TS
2156 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
2157 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
2158 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
2159 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
2160 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
2161
0da2f96a
TS
2162 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
2163 Debug output for failure.
2164
62ffe920
RO
21652017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2166
2167 * testsuite/lib/libgomp.exp: Load scanlang.exp.
2168
f49215b1
JJ
21692017-04-27 Jakub Jelinek <jakub@redhat.com>
2170
2171 PR bootstrap/80531
2172 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
2173 bootstrap compare failures.
2174
2260d19d
AM
21752017-04-20 Alexander Monakov <amonakov@ispras.ru>
2176
2177 * testsuite/libgomp.c/target-36.c: New testcase.
2178
19929ba9
JJ
21792017-04-13 Jakub Jelinek <jakub@redhat.com>
2180
2181 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
2182 instead of char.
2183
fbc698e0
JJ
21842017-04-11 Jakub Jelinek <jakub@redhat.com>
2185
2186 PR libgomp/80394
2187 * testsuite/libgomp.c/pr80394.c: New test.
2188
c4060df4
JJ
21892017-04-04 Jakub Jelinek <jakub@redhat.com>
2190
2191 PR libgomp/79876
2192 * config/posix/thread-stacksize.h: New file.
2193 * config/darwin/thread-stacksize.h: New file.
2194 * config/nvptx/thread-stacksize.h: New file.
2195 * env.c: Include thread-stacksize.h.
2196 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
2197 instead of 0. Call pthread_attr_setstacksize even if
2198 GOMP_DEFAULT_STACKSIZE is non-zero.
2199
e02d868a
JJ
22002017-03-30 Jakub Jelinek <jakub@redhat.com>
2201
2202 * env.c (initialize_env): Initialize stacksize to 0.
2203
7ba8651e
CP
22042017-03-22 Cesar Philippidis <cesar@codesourcery.com>
2205
2206 PR c++/80029
2207 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
2208
eebc5e2d
JJ
22092017-03-08 Jakub Jelinek <jakub@redhat.com>
2210
2211 PR c/79940
2212 * testsuite/libgomp.c/pr79940.c: New test.
2213
1eb08f52
RO
22142017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2215
2216 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
2217 targets.
2218 Add __float128 options.
2219
b0f78ff3
JDA
22202017-02-11 John David Anglin <danglin@gcc.gnu.org>
2221
2222 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
2223 hppa*-*-* dg-skip-if directive.
2224
1bbe0d8f
JJ
22252017-02-09 Jakub Jelinek <jakub@redhat.com>
2226
2227 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
2228 dg-skip-if directive into a comment.
2229
02889d23
CLT
22302017-02-09 Nathan Sidwell <nathan@codesourcery.com>
2231 Chung-Lin Tang <cltang@codesourcery.com>
2232
2233 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
2234 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
2235 add additional case.
2236 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
2237 "openacc_nvidia_accel_selected".
2238 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
2239 Add num_workers(8) clause.
2240
5896a41d
JDA
22412017-02-08 John David Anglin <danglin@gcc.gnu.org>
2242
2243 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
2244 hppa*-*-*.
2245 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
2246 include complex.h on hppa*-*-hpux*.
2247 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
2248
345a8c17
TS
22492017-02-02 Thomas Schwinge <thomas@codesourcery.com>
2250
e70ab10d
TS
2251 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
2252
345a8c17
TS
2253 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
2254 GOMP_OFFLOAD_openacc_exec. Adjust all users.
2255 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
2256 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
2257 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
2258 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
2259 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
2260 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
2261 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
2262 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
2263
dced339c
TS
22642017-01-31 Thomas Schwinge <thomas@codesourcery.com>
2265
2266 * libgomp-plugin.h: #include <stdbool.h>.
2267 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
2268 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
2269 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
2270 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
2271 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
2272 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
2273 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
2274 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
2275 (GOMP_OFFLOAD_openacc_register_async_cleanup)
2276 (GOMP_OFFLOAD_openacc_async_test)
2277 (GOMP_OFFLOAD_openacc_async_test_all)
2278 (GOMP_OFFLOAD_openacc_async_wait)
2279 (GOMP_OFFLOAD_openacc_async_wait_async)
2280 (GOMP_OFFLOAD_openacc_async_wait_all)
2281 (GOMP_OFFLOAD_openacc_async_wait_all_async)
2282 (GOMP_OFFLOAD_openacc_async_set_async)
2283 (GOMP_OFFLOAD_openacc_create_thread_data)
2284 (GOMP_OFFLOAD_openacc_destroy_thread_data)
2285 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
2286 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
2287 (GOMP_OFFLOAD_openacc_get_cuda_stream)
2288 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
2289 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
2290 these.
2291 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
2292 (GOMP_OFFLOAD_unload_image): Fix argument types.
2293
23749904
JJ
22942017-01-26 Jakub Jelinek <jakub@redhat.com>
2295
c1cadde1
JJ
2296 * testsuite/lib/libgomp.exp
2297 (check_effective_target_hsa_offloading_selected_nocache): Fix up
2298 check_compile invocation. Fix up removal of executable. Drop
2299 bogus "2>&1" argument.
2300
23749904
JJ
2301 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
2302 directive.
2303
23042017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
2305 Martin Jambor <mjambor@suse.cz>
2306
2307 * plugin/hsa.h: Moved to top level include.
2308 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
2309
73aa401e
JJ
23102017-01-21 Jakub Jelinek <jakub@redhat.com>
2311
2312 PR other/79046
2313 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
2314 of cat to get version from BASE-VER file.
2315 * testsuite/Makefile.in: Regenerated.
2316
b32e85fa
JJ
23172017-01-19 Jakub Jelinek <jakub@redhat.com>
2318
2319 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
2320 for _WIN64.
2321
3c36aa6b
JJ
23222017-01-17 Jakub Jelinek <jakub@redhat.com>
2323
d190d5c0
JJ
2324 * plugin/hsa.h: Add GCC runtime library exception.
2325 * plugin/hsa_ext_finalize.h: Likewise.
2326
2393d337
JJ
2327 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
2328 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
2329 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
2330 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
2331 plugin/include/cuda as include dir and -ldl instead of -lcuda as
2332 library to link ptx plugin against.
2333 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
2334 (CUDA_CALLS): Define.
2335 (cuda_lib, cuda_lib_inited): New variables.
2336 (init_cuda_lib): New function.
2337 (CUDA_CALL_PREFIX): Define.
2338 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
2339 (CUDA_CALL): Use FN instead of (FN).
2340 (CUDA_CALL_NOCHECK): Define.
2341 (cuda_error, fini_streams_for_device, select_stream_for_async,
2342 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
2343 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
2344 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
2345 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
2346 CUDA_CALL_NOCHECK.
2347 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
2348 CUDA_CALL_NOCHECK.
2349 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
2350 Use CUDA_CALL_NOCHECK.
2351 * plugin/cuda/cuda.h: New file.
2352 * config.h.in: Regenerated.
2353 * configure: Regenerated.
2354
3c36aa6b
JJ
2355 PR other/79046
2356 * configure.ac: Add GCC_BASE_VER.
2357 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
2358 get version from BASE-VER file.
2359 * testsuite/Makefile.in: Regenerated.
2360 * configure: Regenerated.
2361 * Makefile.in: Regenerated.
2362
c508bc2d
FXC
23632017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
2364
2365 PR libgomp/60670
2366 * Makefile.am: Make fincludedir multilib-aware.
2367 * Makefile.in: Regenerate.
2368
c1a9c369
JJ
23692017-01-01 Jakub Jelinek <jakub@redhat.com>
2370
cbe34bb5
JJ
2371 Update copyright years.
2372
c1a9c369
JJ
2373 * libgomp.texi: Bump @copying's copyright year.
2374
e7a7f4be
SH
23752016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
2376
2377 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
2378 pthread_spinlock_t instead of gomp_mutex_t lock.
2379 (gomp_get_thread_pool): Likewise.
2380 (gomp_release_thread_pool): Likewise.
2381 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
2382 Likewise.
2383
d313d52c
SH
23842016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
2385
2386 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
2387 thread pool in case nthreads == 1.
2388
630e3c3a
AM
23892016-11-30 Alexander Monakov <amonakov@ispras.ru>
2390
2391 * config/nvptx/env.c: Delete.
2392 * icv.c: Move definitions of ICV variables back ...
2393 * env.c: ...here. Do not compile environment-related functionality if
2394 LIBGOMP_OFFLOADED_ONLY is set.
2395
9e38af5c
AM
23962016-11-30 Alexander Monakov <amonakov@ispras.ru>
2397
2398 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
2399 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
2400 * configure: Regenerate.
2401 * config.h.in: Likewise.
2402
f96b7f1f
AM
24032016-11-30 Alexander Monakov <amonakov@ispras.ru>
2404
2405 * Makefile.in: Regenerate with automake-1.11.6.
2406 * aclocal.m4: Likewise.
2407 * configure: Likewise.
2408 * testsuite/Makefile.in: Likewise.
2409
6a6951b1
AM
24102016-11-28 Alexander Monakov <amonakov@ispras.ru>
2411
2412 * config/nvptx/critical.c: Delete to use generic implementation.
2413
c7ac071f
JH
24142016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
2415
2416 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
2417 ../../affinity.c as fallback.
2418 * config/nvptx/affinity.c: Delete to use fallback implementation.
2419
6103184e 24202016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 2421 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
2422 Dmitry Melnik <dm@ispras.ru>
2423
2424 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
2425 * Makefile.in. Regenerate.
2426 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
2427 (LIBGOMP_USE_PTHREADS): ...here; new define.
2428 * configure: Regenerate.
2429 * config.h.in: Likewise.
2430 * config/posix/affinity.c: Move to...
2431 * affinity.c: ...here (new file). Guard use of Pthreads-specific
2432 interface by LIBGOMP_USE_PTHREADS.
2433 * critical.c: Split out GOMP_atomic_{start,end} into...
2434 * atomic.c: ...here (new file).
2435 * env.c: Split out ICV definitions into...
2436 * icv.c: ...here (new file) and...
2437 * icv-device.c: ...here. New file.
2438 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
2439 (gomp_destroy_lock_30): Ditto.
2440 (gomp_set_lock_30): Ditto.
2441 (gomp_unset_lock_30): Ditto.
2442 (gomp_test_lock_30): Ditto.
2443 (gomp_init_nest_lock_30): Ditto.
2444 (gomp_destroy_nest_lock_30): Ditto.
2445 (gomp_set_nest_lock_30): Ditto.
2446 (gomp_unset_nest_lock_30): Ditto.
2447 (gomp_test_nest_lock_30): Ditto.
2448 * lock.c: New.
2449 * config/nvptx/lock.c: New.
2450 * config/nvptx/bar.c: New.
2451 * config/nvptx/bar.h: New.
2452 * config/nvptx/doacross.h: New.
2453 * config/nvptx/error.c: New.
2454 * config/nvptx/icv-device.c: New.
2455 * config/nvptx/mutex.h: New.
2456 * config/nvptx/pool.h: New.
2457 * config/nvptx/proc.c: New.
2458 * config/nvptx/ptrlock.h: New.
2459 * config/nvptx/sem.h: New.
2460 * config/nvptx/simple-bar.h: New.
2461 * config/nvptx/target.c: New.
2462 * config/nvptx/task.c: New.
2463 * config/nvptx/team.c: New.
2464 * config/nvptx/time.c: New.
2465 * config/posix/simple-bar.h: New.
2466 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
2467 (gomp_num_teams_var): Declare.
2468 (struct gomp_thread_pool): Change threads_dock member to
2469 gomp_simple_barrier_t.
2470 [__nvptx__] (gomp_thread): New implementation.
2471 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
2472 (gomp_thread_destructor): Ditto.
2473 (gomp_init_thread_affinity): Ditto.
2474 * team.c: Guard uses of Pthreads-specific interfaces by
2475 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
2476 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
2477 * config/nvptx/alloc.c: Delete.
2478 * config/nvptx/barrier.c: Ditto.
2479 * config/nvptx/fortran.c: Ditto.
2480 * config/nvptx/iter.c: Ditto.
2481 * config/nvptx/iter_ull.c: Ditto.
2482 * config/nvptx/loop.c: Ditto.
2483 * config/nvptx/loop_ull.c: Ditto.
2484 * config/nvptx/ordered.c: Ditto.
2485 * config/nvptx/parallel.c: Ditto.
2486 * config/nvptx/priority_queue.c: Ditto.
2487 * config/nvptx/sections.c: Ditto.
2488 * config/nvptx/single.c: Ditto.
2489 * config/nvptx/splay-tree.c: Ditto.
2490 * config/nvptx/work.c: Ditto.
2491 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
2492 -foffload=-lgfortran in addition to -lgfortran.
2493 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
2494 * plugin/plugin-nvptx.c: Include <limits.h>.
2495 (struct targ_fn_descriptor): Add new fields.
2496 (struct ptx_device): Ditto. Set them...
2497 (nvptx_open_device): ...here.
2498 (nvptx_adjust_launch_bounds): New.
2499 (nvptx_host2dev): Allow NULL 'nvthd'.
2500 (nvptx_dev2host): Ditto.
2501 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
2502 (link_ptx): Adjust log sizes.
2503 (nvptx_host2dev): Allow NULL 'nvthd'.
2504 (nvptx_dev2host): Ditto.
2505 (nvptx_set_clocktick): New. Use it...
2506 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
2507 fields.
2508 (GOMP_OFFLOAD_dev2dev): New.
2509 (nvptx_adjust_launch_bounds): New.
2510 (nvptx_stacks_size): New.
2511 (nvptx_stacks_alloc): New.
2512 (nvptx_stacks_free): New.
2513 (GOMP_OFFLOAD_run): New.
2514 (GOMP_OFFLOAD_async_run): New (stub).
2515
56b1c60e
MJ
25162016-11-23 Martin Jambor <mjambor@suse.cz>
2517
2518 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
2519 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
2520 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
2521
b8d89b03 25222016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 2523 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
2524
2525 * plugin/hsa.h: New file.
2526 * plugin/hsa_ext_finalize.h: New file.
2527 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
2528 header file unistd.h, and functions secure_getenv, __secure_getenv,
2529 getuid, geteuid, getgid and getegid.
2530 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
2531 -D_GNU_SOURCE.
2532 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
2533 Handle various cases of secure_getenv presence, add an implementation
2534 when we can test effective UID and GID.
2535 (struct hsa_runtime_fn_info): New structure.
2536 (hsa_runtime_fn_info hsa_fns): New variable.
2537 (hsa_runtime_lib): Likewise.
2538 (support_cpu_devices): Likewise.
2539 (init_enviroment_variables): Load newly introduced ENV
2540 variables.
2541 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
2542 (hsa_fatal): Likewise.
2543 (DLSYM_FN): New macro.
2544 (init_hsa_runtime_functions): New function.
2545 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
2546 structure. Depending on environment, also allow CPU devices.
2547 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
2548 (get_kernarg_memory_region): Likewise.
2549 (GOMP_OFFLOAD_init_device): Likewise.
2550 (destroy_hsa_program): Likewise.
2551 (init_basic_kernel_info): New function.
2552 (GOMP_OFFLOAD_load_image): Use it.
2553 (create_and_finalize_hsa_program): Call hsa run-time functions via
2554 hsa_fns structure.
2555 (create_single_kernel_dispatch): Likewise.
2556 (release_kernel_dispatch): Likewise.
2557 (init_single_kernel): Likewise.
2558 (parse_target_attributes): Allow up multiple HSA grid dimensions.
2559 (get_group_size): New function.
2560 (run_kernel): Likewise.
2561 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
2562 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
2563 structure.
2564 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
2565 * testsuite/libgomp-test-support.exp.in: Likewise.
2566 * Makefile.in: Regenerated.
2567 * aclocal.m4: Likewise.
2568 * config.h.in: Likewise.
2569 * configure: Likewise.
2570 * testsuite/Makefile.in: Likewise.
2571
18d2ada8 25722016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 2573 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
2574
2575 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
2576 mapping clauses to target constructs.
2577 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
2578
84c1b9d3
MK
25792016-11-15 Matthias Klose <doko@ubuntu.com>
2580
2581 * configure: Regenerate.
2582
b4c3a85b
JJ
25832016-11-10 Jakub Jelinek <jakub@redhat.com>
2584
8ebd1b31
JJ
2585 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
2586 * omp_lib.h.in (openmp_version): Likewise.
2587 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
2588 of 201307.
2589 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
2590
b4c3a85b
JJ
2591 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
2592 (fib_wrapper): Add map(from: x) clause.
2593 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
2594 (e_53_2): Likewise.
2595 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
2596 (accum): Add map(tmp) clause.
2597 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
2598 (accum): Add map(tofrom: tmp) clause.
2599 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
2600 (gramSchmidt): Likewise.
2601 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
2602 map(tofrom: sum) clause.
2603 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
2604 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
2605 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
2606 only allowed on the loop iterator.
2607 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
2608 * testsuite/libgomp.fortran/taskloop2.f90: New test.
2609 * testsuite/libgomp.fortran/taskloop4.f90: New test.
2610 * testsuite/libgomp.fortran/doacross1.f90: New test.
2611 * testsuite/libgomp.fortran/doacross3.f90: New test.
2612 * testsuite/libgomp.fortran/taskloop1.f90: New test.
2613 * testsuite/libgomp.fortran/taskloop3.f90: New test.
2614 * testsuite/libgomp.fortran/doacross2.f90: New test.
2615 * testsuite/libgomp.c/doacross-1.c (main): Add missing
2616 #pragma omp atomic read.
2617 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
2618 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
2619
6668eb45
CP
26202016-11-02 Cesar Philippidis <cesar@codesourcery.com>
2621 Nathan Sidwell <nathan@acm.org>
2622
2623 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
2624 to determine default geometry.
2625 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
2626 dimension.
2627
f10e37a1
JJ
26282016-11-01 Jakub Jelinek <jakub@redhat.com>
2629
2630 * hashtab.h: Use standard GPLv3 with runtime exception
2631 boilerplate.
2632
015c7760
AH
26332016-10-27 Aldy Hernandez <aldyh@redhat.com>
2634
2635 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
2636 size when allocating new thread.
2637
20a1e5b8
MP
26382016-09-14 Marek Polacek <polacek@redhat.com>
2639
2640 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
2641
1cad9284
JJ
26422016-08-19 Jakub Jelinek <jakub@redhat.com>
2643
2644 PR fortran/71014
2645 * testsuite/libgomp.fortran/pr71014.f90: New test.
2646
2c71d454
CLT
26472016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
2648
2649 PR middle-end/70895
2650 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
2651 firstprivate clauses.
2652 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
2653 copy clauses.
2654 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
2655 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
2656 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
2657 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
2658 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
2659 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
2660 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
2661 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
2662 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
2663 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
2664 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
2665 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
2666
7c713714
CLT
26672016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
2668
2669 PR fortran/70598
2670 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
2671
5c934396
JJ
26722016-08-08 Jakub Jelinek <jakub@redhat.com>
2673
2674 PR c++/58706
2675 * testsuite/libgomp.c++/pr58706.C: New test.
2676
9ef64248
TS
26772016-08-04 Thomas Schwinge <thomas@codesourcery.com>
2678
bbc79c0e
TS
2679 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
2680 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
2681 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
2682 Likewise.
2683 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
2684 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
2685 Likewise.
2686 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
2687
9ef64248
TS
2688 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
2689 test, and don't hardcode -O0.
2690
c1311c86
NS
26912016-08-03 Nathan Sidwell <nathan@codesourcery.com>
2692
2693 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
2694
b1c9c068
CP
26952016-07-15 Cesar Philippidis <cesar@codesourcery.com>
2696
2697 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
2698 test.
2699
b4410f63
L
27002016-07-03 H.J. Lu <hongjiu.lu@intel.com>
2701
2702 PR middle-end/71734
2703 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
2704 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
2705
a8dbab92
JJ
27062016-07-01 Jakub Jelinek <jakub@redhat.com>
2707
2708 PR fortran/71717
2709 * testsuite/libgomp.fortran/associate3.f90: New test.
2710
9b6a8d0f
JJ
27112016-06-17 Jakub Jelinek <jakub@redhat.com>
2712
2713 * testsuite/libgomp.c++/target-21.C: New test.
2714
283635f9
JJ
27152016-06-16 Jakub Jelinek <jakub@redhat.com>
2716
2717 * testsuite/libgomp.c++/target-20.C: New test.
2718
27d6ba88
TS
27192016-06-10 Thomas Schwinge <thomas@codesourcery.com>
2720 Cesar Philippidis <cesar@codesourcery.com>
2721
2722 PR middle-end/71373
2723 * libgomp.oacc-c/nested-function-1.c: New file.
2724 * libgomp.oacc-c/nested-function-2.c: Likewise.
2725 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
2726 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
2727 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
2728
4b1ffdb1
TS
27292016-06-10 Thomas Schwinge <thomas@codesourcery.com>
2730
2731 PR c/71381
2732 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
2733 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
2734 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
2735
d821b794
CLT
27362016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
2737
2738 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
2739 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
2740
3616a8c5
CP
27412016-06-01 Cesar Philippidis <cesar@codesourcery.com>
2742
2743 PR c/70688
5eed9a88 2744 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 2745
7211a097
JJ
27462016-05-26 Jakub Jelinek <jakub@redhat.com>
2747
2748 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
2749 instead of invalid schedule(static, 0).
2750 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
2751
b4557008
CLT
27522016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
2753
2754 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
2755 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
2756 parameter, use to set async stream around call to gomp_unmap_vars,
2757 call gomp_unmap_vars() with 'do_copyfrom' set to true.
2758 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
2759 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
2760 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
2761 (event_add): Add int parameter, initialize 'val' field when
2762 adding new ptx_event struct.
2763 (nvptx_evec): Adjust event_add() call arguments.
2764 (nvptx_host2dev): Likewise.
2765 (nvptx_dev2host): Likewise.
2766 (nvptx_wait_async): Likewise.
2767 (nvptx_wait_all_async): Likewise.
2768 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
2769 pass to event_add() call.
2770 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
2771 parameter.
2772 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
2773 call openacc.register_async_cleanup_func() hook.
2774 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
2775 * target.c (gomp_copy_from_async): Delete function.
2776 (gomp_map_vars): Remove async_refcount.
2777 (gomp_unmap_vars): Likewise.
2778 (gomp_load_image_to_device): Likewise.
2779 (omp_target_associate_ptr): Likewise.
2780 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
2781 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
2782 (gomp_copy_from_async): Remove.
2783
6ce13072
CLT
27842016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
2785
2786 * target.c (gomp_device_copy): New function.
2787 (gomp_copy_host2dev): Likewise.
2788 (gomp_copy_dev2host): Likewise.
2789 (gomp_free_device_memory): Likewise.
2790 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
2791 (gomp_map_pointer): Likewise.
2792 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
2793 NULL value from alloc_func plugin hook.
2794 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
2795 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
2796 (gomp_unmap_vars): Likewise.
2797 (gomp_update): Adjust to call gomp_copy_dev2host and
2798 gomp_copy_host2dev functions.
2799 (gomp_unload_image_from_device): Handle false value from
2800 unload_image_func plugin hook.
2801 (gomp_init_device): Handle false value from init_device_func
2802 plugin hook.
2803 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
2804 (omp_target_free): Adjust to call gomp_free_device_memory.
2805 (omp_target_memcpy): Handle return values from host2dev_func,
2806 dev2host_func, and dev2dev_func plugin hooks.
2807 (omp_target_memcpy_rect_worker): Likewise.
2808 (gomp_target_fini): Handle false value from fini_device_func
2809 plugin hook.
2810 * libgomp.h (struct gomp_device_descr): Adjust return type of
2811 init_device_func, fini_device_func, unload_image_func, free_func,
2812 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
2813 * oacc-init.c (acc_shutdown_1): Handle false value from
2814 fini_device_func plugin hook.
2815 * oacc-host.c (host_init_device): Change return type to bool.
2816 (host_fini_device): Likewise.
2817 (host_unload_image): Likewise.
2818 (host_free): Likewise.
2819 (host_dev2host): Likewise.
2820 (host_host2dev): Likewise.
2821 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
2822 (acc_memcpy_to_device): Likewise.
2823 (acc_memcpy_from_device): Likewise.
2824 (delete_copyout): Add libfnname parameter, handle free_func
2825 hook fatal error case.
2826 (acc_delete): Adjust delete_copyout call.
2827 (acc_copyout): Likewise.
2828 (update_dev_host): Move gomp_mutex_unlock to after
2829 host2dev/dev2host hook calls.
2830
2831 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
2832 to 'hsa_error_msg', for clarity.
2833 (hsa_fatal): Likewise.
2834 (hsa_error): New function.
2835 (init_hsa_context): Change return type to bool, adjust to return
2836 false on error.
2837 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
2838 return value.
2839 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
2840 return false on error.
2841 (get_agent_info): Adjust to return NULL on error.
2842 (destroy_hsa_program): Change return type to bool, adjust to
2843 return false on error.
2844 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
2845 (destroy_module): Change return type to bool, adjust to
2846 return false on error.
2847 (GOMP_OFFLOAD_unload_image): Likewise.
2848 (GOMP_OFFLOAD_fini_device): Likewise.
2849 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
2850 (GOMP_OFFLOAD_free): Change to return false when called.
2851 (GOMP_OFFLOAD_dev2host): Likewise.
2852 (GOMP_OFFLOAD_host2dev): Likewise.
2853 (GOMP_OFFLOAD_dev2dev): Likewise.
2854
2855 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
2856 (CUDA_CALL): Likewise.
2857 (CUDA_CALL_ASSERT): Likewise.
2858 (map_init): Change return type to bool, use CUDA_CALL* macros.
2859 (map_fini): Likewise.
2860 (init_streams_for_device): Change return type to bool, adjust
2861 call to map_init.
2862 (fini_streams_for_device): Change return type to bool, adjust
2863 call to map_fini.
2864 (select_stream_for_async): Release stream_lock before calls to
2865 GOMP_PLUGIN_fatal, adjust call to map_init.
2866 (nvptx_init): Use CUDA_CALL* macros.
2867 (nvptx_attach_host_thread_to_device): Change return type to bool,
2868 use CUDA_CALL* macros.
2869 (nvptx_open_device): Use CUDA_CALL* macros.
2870 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
2871 macros.
2872 (nvptx_get_num_devices): Use CUDA_CALL* macros.
2873 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
2874 (nvptx_exec): Use CUDA_CALL* macros.
2875 (nvptx_alloc): Use CUDA_CALL* macros.
2876 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
2877 (nvptx_host2dev): Likewise.
2878 (nvptx_dev2host): Likewise.
2879 (nvptx_wait): Use CUDA_CALL* macros.
2880 (nvptx_wait_async): Likewise.
2881 (nvptx_wait_all): Likewise.
2882 (nvptx_wait_all_async): Likewise.
2883 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
2884 use CUDA_CALL* macros, adjust call to map_fini.
2885 (GOMP_OFFLOAD_init_device): Change return type to bool,
2886 adjust code accordingly.
2887 (GOMP_OFFLOAD_fini_device): Likewise.
2888 (GOMP_OFFLOAD_load_image): Adjust calls to
2889 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
2890 use CUDA_CALL* macros.
2891 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
2892 return code.
2893 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
2894 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
2895 handle error return.
2896 (GOMP_OFFLOAD_dev2host): Likewise.
2897 (GOMP_OFFLOAD_host2dev): Likewise.
2898 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
2899 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
2900
e46c7770
CP
29012016-05-24 Cesar Philippidis <cesar@codesourcery.com>
2902
2903 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
2904 (acc_free): Likewise.
2905 (acc_memcpy_to_device): Likewise.
2906 (acc_memcpy_from_device): Likewise.
2907 (acc_deviceptr): Likewise.
2908 (acc_hostptr): Likewise.
2909 (acc_is_present): Likewise.
2910 (acc_map_data): Likewise.
2911 (acc_unmap_data): Likewise.
2912 (present_create_copy): Likewise.
2913 (delete_copyout): Likewise.
2914 (update_dev_host): Likewise.
2915 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
2916 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
2917 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
2918 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
2919 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
2920 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
2921 it only runs on nvptx targets.
2922 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
2923 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
2924 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2925 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
2926 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
2927 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
2928 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
2929 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
2930 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
2931 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
2932 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2933 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
2934 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
2935 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
2936 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
2937 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
2938 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
2939 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
2940 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
2941 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
2942 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
2943 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
2944 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
2945
a5057543
MJ
29462016-05-23 Martin Jambor <mjambor@suse.cz>
2947
2948 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
2949
e37288a6
CLT
29502016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
2951
2952 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
2953 to gomp_init_targets_once.
2954 (acc_set_device_type): Remove !cached_base_dev condition on call to
2955 gomp_init_targets_once, move call to before acc_device_lock acquire,
2956 to avoid deadlock.
2957 (acc_get_device_num): Remove !cached_base_dev condition on call to
2958 gomp_init_targets_once.
2959 (acc_set_device_num): Likewise.
2960
51d9ed48
MJ
29612016-05-16 Martin Jambor <mjambor@suse.cz>
2962
92a285c1 2963 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 2964
5b37e866
NS
29652016-05-02 Nathan Sidwell <nathan@codesourcery.com>
2966
2967 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
2968 expected partitioning.
2969
e7ff0319
CP
29702016-04-29 Cesar Philippidis <cesar@codesourcery.com>
2971
2972 PR middle-end/70626
2973 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
2974 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
2975 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
2976
c2bd3b69
AM
29772016-04-21 Alexander Monakov <amonakov@ispras.ru>
2978
2979 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
2980 non-fatal.
2981
84311083
JJ
29822016-04-19 Jakub Jelinek <jakub@redhat.com>
2983
2984 PR middle-end/70680
2985 * testsuite/libgomp.c/pr70680-1.c: New test.
2986 * testsuite/libgomp.c/pr70680-2.c: New test.
2987
aadc043f
CP
29882016-04-14 Cesar Philippidis <cesar@codesourcery.com>
2989
2990 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
2991 pass parameter variables to subroutines.
2992
e387fc64
CP
29932016-04-14 Cesar Philippidis <cesar@codesourcery.com>
2994
2995 PR middle-end/70643
2996 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
2997
10c3c424
CP
29982016-04-13 Cesar Philippidis <cesar@codesourcery.com>
2999
3000 PR testsuite/68242
3001 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
3002 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3003
27f9add3
TS
30042016-04-12 Thomas Schwinge <thomas@codesourcery.com>
3005
58d32aeb
TS
3006 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
3007 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
3008 GOACC_declare prototype.
3009
d97633ef
TS
3010 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
3011 Merge this file, and...
3012 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
3013 ... this file, and...
3014 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
3015 ... this file, and...
3016 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
3017 ... this file, and...
3018 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
3019 ... this file, and...
3020 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
3021 ... this file, and...
3022 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
3023 ... this file, and...
3024 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
3025 ... this file, and...
3026 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
3027 ... this file, and...
3028 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
3029 ... this file, and...
3030 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
3031 ... this file, and...
3032 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
3033 ... this file, and...
3034 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
3035 ... this file into...
3036 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
3037 file.
3038
27f9add3
TS
3039 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
3040 Make failure observable.
3041
21f3a236
JJ
30422016-04-12 Jakub Jelinek <jakub@redhat.com>
3043
3044 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
3045 field.
3046 * target.c (gomp_target_fallback_firstprivate,
3047 gomp_target_unshare_firstprivate): Removed.
3048 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
3049 before waiting for dependencies.
3050 (gomp_target_task_fn): Don't copy firstprivate vars here.
3051 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
3052 firstprivate_copies here.
3053 (gomp_create_target_task): Don't initialize firstprivate_copies field.
3054 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
3055 explicit/implicit firstprivate.
3056
c42cfb5c
CP
30572016-04-08 Cesar Philippidis <cesar@codesourcery.com>
3058
3059 PR lto/70289
3060 PR ipa/70348
3061 PR tree-optimization/70373
3062 PR middle-end/70533
3063 PR middle-end/70534
3064 PR middle-end/70535
3065 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
3066 test.
3067 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
3068 test.
3069 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
3070 test.
3071 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
3072 test.
3073 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
3074 test.
3075 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
3076 test.
3077 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
3078 test.
3079 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
3080 test.
3081 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
3082 test.
3083 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
3084 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
3085 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
3086 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
3087 test.
3088 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
3089 test.
3090 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
3091 test.
3092 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
3093 test.
3094 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
3095 coverage.
3096 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
3097 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3098 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
3099 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
3100 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
3101 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
3102 coverage.
3103 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
3104 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
3105 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
3106 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
3107 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
3108 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
3109 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
3110 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
3111 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
3112 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3113 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3114 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3115 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3116 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3117 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
3118
2620c80d
TS
31192016-03-30 Thomas Schwinge <thomas@codesourcery.com>
3120 James Norris <jnorris@codesourcery.com>
3121 Nathan Sidwell <nathan@codesourcery.com>
3122 Julian Brown <julian@codesourcery.com>
3123 Cesar Philippidis <cesar@codesourcery.com>
3124 Chung-Lin Tang <cltang@codesourcery.com>
3125 Tom de Vries <tom@codesourcery.com>
3126
3127 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
3128 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
3129 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
3130 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
3131 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3132 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3133 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3134 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3135 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
3136 XFAIL.
3137 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
3138 Incorporate...
3139 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
3140 file.
3141 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
3142 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
3143 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
3144 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
3145 Likewise.
3146 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
3147 Likewise.
3148 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
3149 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
3150 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
3151 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
3152 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3153 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3154 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3155 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3156 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3157 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
3158 Likewise.
3159 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
3160 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3161 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
3162 file...
3163 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
3164 file into...
3165 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
3166 file. Update.
3167 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
3168 file.
3169 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
3170 Likewise.
3171 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
3172 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
3173 ... this new file. Update.
3174 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
3175 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
3176 ... this new file. Update.
3177 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
3178 file. Incorporate...
3179 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
3180 file, and...
3181 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
3182 file, and...
3183 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
3184 file.
3185 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
3186
ce83104b
TS
31872016-03-29 Thomas Schwinge <thomas@codesourcery.com>
3188
3189 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
3190 set-torture-options.
3191
6e0df3b7
TS
31922016-03-24 Thomas Schwinge <thomas@codesourcery.com>
3193
3194 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
3195 gcc-dg-runtest.
3196 * testsuite/libgomp.oacc-c/c.exp: Likewise.
3197 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
3198 -fno-builtin-acc_on_device instead of -O0.
3199 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
3200 -O0.
3201 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
3202 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
3203 Likewise.
3204 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
3205 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
3206 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
3207 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3208 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3209 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3210 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3211 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3212 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3213 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3214 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3215 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3216 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
3217 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
3218 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3219 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3220 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
3221 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
3222 Don't specify -O2.
3223 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
3224 Likewise.
3225 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
3226 Likewise.
3227
f9c8babb
ML
32282016-03-24 Martin Liska <mliska@suse.cz>
3229
3230 * plugin/plugin-hsa.c (packet_store_release): New function
3231 that is taken from the HSA runtime manual.
3232 (GOMP_OFFLOAD_run): Use the function.
3233
04833609
JJ
32342016-03-23 Jakub Jelinek <jakub@redhat.com>
3235
3236 PR c++/70376
3237 * testsuite/libgomp.c++/pr70376.C: New test.
3238
d79ee524
TV
32392016-03-23 Tom de Vries <tom@codesourcery.com>
3240
3241 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
3242 initialization of lresult and lvresult.
3243 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
3244
b6d1f2b5
JN
32452016-03-23 James Norris <jnorris@codesourcery.com>
3246 Daichi Fukuoka <dc-fukuoka@sgi.com>
3247
3248 PR libgomp/69414
3249 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
3250 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
3251 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
3252 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
3253
7397fce2
ML
32542016-03-23 Martin Liska <mliska@suse.cz>
3255
3256 PR hsa/70337
3257 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
3258 argument just in case a dispatched kernel uses that argument.
3259
ee2e7d51
TS
32602016-03-16 Thomas Schwinge <thomas@codesourcery.com>
3261
3262 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
3263 -ftree-parallelize-loops/-fopenacc changes.
3264 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
3265 Likewise.
3266 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
3267 Likewise.
3268 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
3269 Likewise.
3270 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
3271 Likewise.
3272 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3273 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3274
be9f7143
TS
32752016-03-13 Thomas Schwinge <thomas@codesourcery.com>
3276
3277 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
3278 always_ld_library_path the path to libgcc_s.
3279
f6c1032d
CP
32802016-03-10 Cesar Philippidis <cesar@codesourcery.com>
3281
3282 PR testsuite/70009
3283 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
3284
5a6452e6
TV
32852016-03-09 Tom de Vries <tom@codesourcery.com>
3286
3287 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
3288 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
3289 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
3290 Same.
3291 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
3292 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
3293 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
3294 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
3295
96a71bd5
MJ
32962016-03-07 Martin Jambor <mjambor@suse.cz>
3297
3298 * testsuite/lib/libgomp.exp
3299 (check_effective_target_hsa_offloading_selected_nocache): New.
3300 (check_effective_target_hsa_offloading_selected): Likewise.
3301 * testsuite/libgomp.hsa.c/c.exp: Likewise.
3302 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
3303 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
3304 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
3305 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
3306 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
3307 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
3308 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
3309 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
3310 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
3311 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
3312 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
3313 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
3314 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
3315 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
3316 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
3317 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
3318
02e0b5b2
MJ
33192016-03-07 Martin Jambor <mjambor@suse.cz>
3320
3321 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
3322 non-shared memory accelerators.
3323 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
3324 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
3325 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
3326 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
3327 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
3328 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
3329 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
3330 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
3331 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
3332
45548f30
MJ
33332016-03-07 Martin Jambor <mjambor@suse.cz>
3334
3335 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
3336 ALWAYS_CFLAGS.
3337
da3d46cb
JJ
33382016-03-02 Jakub Jelinek <jakub@redhat.com>
3339
3340 PR libgomp/69555
3341 * testsuite/libgomp.c++/pr69555-1.C: New test.
3342 * testsuite/libgomp.c++/pr69555-2.C: New test.
3343
622174b2
KM
33442016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
3345 Martin Jambor <mjambor@suse.cz>
3346
3347 * testsuite/lib/libgomp.exp
3348 (check_effective_target_offload_device_shared_as): New proc.
3349 * testsuite/libgomp.c++/declare_target-1.C: New test.
3350
e6861a99
IV
33512016-02-25 Ilya Verbin <ilya.verbin@intel.com>
3352
3353 PR driver/68463
3354 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
3355
f99c3557
TS
33562016-02-23 Thomas Schwinge <thomas@codesourcery.com>
3357
3358 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
3359 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
3360 dims.
3361 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
3362 -ftree-parallelize-loops/-fopenacc changes.
3363 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
3364 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
3365 Likewise.
3366 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
3367 Likewise.
3368 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
3369 Likewise.
3370 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
3371 Likewise.
3372 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
3373 Likewise.
3374 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
3375 Likewise.
3376 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
3377 Likewise.
3378 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
3379 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
3380 Likewise.
3381 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
3382 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
3383 Likewise.
3384 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
3385 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
3386 Likewise.
3387
d5ace3b5
CP
33882016-02-22 Cesar Philippidis <cesar@codesourcery.com>
3389
3390 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
3391
f3609a89
JJ
33922016-02-19 Jakub Jelinek <jakub@redhat.com>
3393
3394 PR driver/69805
3395 * testsuite/libgomp.c/pr69805.c: New test.
3396
2175df99
TV
33972016-02-16 Tom de Vries <tom@codesourcery.com>
3398
3399 PR lto/67709
3400 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
3401
17b6426c
TV
34022016-02-09 Tom de Vries <tom@codesourcery.com>
3403
3404 PR tree-optimization/69599
3405 * testsuite/libgomp.c/omp-nested-3.c: New test.
3406 * testsuite/libgomp.c/pr46032-2.c: New test.
3407 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
3408 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
3409
34df756c
TV
34102016-02-09 Tom de Vries <tom@codesourcery.com>
3411
3412 PR lto/69707
3413 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
3414
5854ee30
AM
34152016-02-02 Alexander Monakov <amonakov@ispras.ru>
3416
3417 * testsuite/libgomp.c/target-31.c: Fix testcase.
3418
e70b6ad7
AM
34192016-02-02 Alexander Monakov <amonakov@ispras.ru>
3420
3421 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
3422 clause.
3423 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
3424 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
3425 reduction and map clauses.
3426 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
3427
bd78a45f
JN
34282016-02-02 James Norris <jnorris@codesourcery.com>
3429
3430 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
3431
41d809d3
TS
34322016-02-02 Thomas Schwinge <thomas@codesourcery.com>
3433
18f60146
TS
3434 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
3435 * oacc-parallel.c (GOACC_host_data): Remove function definition.
3436
1a06f5e6
TS
3437 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
3438 cases.
3439
033ff3d1
TS
3440 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
3441 variables.
3442 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
3443 (hsa_kmt_lib): Set variables.
3444 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
3445 always_ld_library_path.
3446 * Makefile.in: Regenerate.
3447 * configure: Likewise.
3448 * testsuite/Makefile.in: Likewise.
3449
4a88d9b7
TS
3450 * plugin/configfrag.ac (offload_additional_options)
3451 (offload_additional_lib_paths): Don't amend for hsa offloading.
3452 * configure: Regenerate.
3453
41d809d3
TS
3454 * plugin/configfrag.ac: Don't configure for offloading target if
3455 we don't build the corresponding plugin.
3456 * configure: Regenerate.
3457
b6adbb9f
NS
34582016-02-01 Nathan Sidwell <nathan@codesourcery.com>
3459
3460 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
3461 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
3462
8dfdb419
TV
34632016-01-26 Tom de Vries <tom@codesourcery.com>
3464
3465 PR tree-optimization/69110
3466 * testsuite/libgomp.c/pr69110.c: New test.
3467
02ef53f2
RB
34682016-01-25 Richard Biener <rguenther@suse.de>
3469
3470 PR lto/69393
3471 * testsuite/libgomp.c++/pr69393.C: New testcase.
3472
eb4048f2
IV
34732016-01-22 Ilya Verbin <ilya.verbin@intel.com>
3474
3475 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
3476 function wasn't mapped to the device with non-shared memory.
3477
b235cdd5
IV
34782016-01-20 Ilya Verbin <ilya.verbin@intel.com>
3479
3480 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
3481
b2b40051
MJ
34822016-01-19 Martin Jambor <mjambor@suse.cz>
3483 Martin Liska <mliska@suse.cz>
3484
3485 * plugin/Makefrag.am: Add HSA plugin requirements.
3486 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
3487 (HSA_RUNTIME_LIB): Likewise.
3488 (HSA_RUNTIME_CPPFLAGS): Likewise.
3489 (HSA_RUNTIME_INCLUDE): New substitution.
3490 (HSA_RUNTIME_LIB): Likewise.
3491 (HSA_RUNTIME_LDFLAGS): Likewise.
3492 (hsa-runtime): New configure option.
3493 (hsa-runtime-include): Likewise.
3494 (hsa-runtime-lib): Likewise.
3495 (PLUGIN_HSA): New substitution variable.
3496 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
3497 configure options.
3498 (PLUGIN_HSA_CPPFLAGS): Likewise.
3499 (PLUGIN_HSA_LDFLAGS): Likewise.
3500 (PLUGIN_HSA_LIBS): Likewise.
3501 Check that we have access to HSA run-time.
3502 * libgomp-plugin.h (offload_target_type): New element
3503 OFFLOAD_TARGET_TYPE_HSA.
3504 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
3505 args.
3506 (bool gomp_create_target_task): Updated.
3507 (gomp_device_descr): Extra parameter of run_func and async_run_func,
3508 new field can_run_func.
3509 * libgomp_g.h (GOMP_target_ext): Update prototype.
3510 * oacc-host.c (host_run): Added a new parameter args.
3511 * target.c (calculate_firstprivate_requirements): New function.
3512 (copy_firstprivate_data): Likewise.
3513 (gomp_target_fallback_firstprivate): Use them.
3514 (gomp_target_unshare_firstprivate): New function.
3515 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
3516 devices.
3517 (GOMP_target): Do host fallback for all shared memory devices. Do not
3518 pass any args to plugins.
3519 (GOMP_target_ext): Introduce device-specific argument parameter args.
3520 Allow host fallback if device shares memory. Do not remap data if
3521 device has shared memory.
3522 (gomp_target_task_fn): Likewise. Also treat shared memory devices
3523 like host fallback for mappings.
3524 (GOMP_target_data): Treat shared memory devices like host fallback.
3525 (GOMP_target_data_ext): Likewise.
3526 (GOMP_target_update): Likewise.
3527 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
3528 gomp_create_target_task.
3529 (GOMP_target_enter_exit_data): Likewise.
3530 (omp_target_alloc): Treat shared memory devices like host fallback.
3531 (omp_target_free): Likewise.
3532 (omp_target_is_present): Likewise.
3533 (omp_target_memcpy): Likewise.
3534 (omp_target_memcpy_rect): Likewise.
3535 (omp_target_associate_ptr): Likewise.
3536 (gomp_load_plugin_for_device): Also load can_run.
3537 * task.c (GOMP_PLUGIN_target_task_completion): Free
3538 firstprivate_copies.
3539 (gomp_create_target_task): Accept new argument args and store it to
3540 ttask.
3541 * plugin/plugin-hsa.c: New file.
3542
5d7804a9
TV
35432016-01-18 Tom de Vries <tom@codesourcery.com>
3544
3545 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
3546 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
3547 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
3548 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
3549 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
3550 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
3551 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
3552 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
3553 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
3554 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
3555 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
3556 Same.
3557 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
3558 Same.
3559 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
3560 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
3561 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
3562 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
3563 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
3564 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
3565 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
3566 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
3567 Same.
3568 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
3569
cb11f3cf
JJ
35702016-01-15 Jakub Jelinek <jakub@redhat.com>
3571
3572 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
3573
33a126a6
CP
35742016-01-15 Cesar Philippidis <cesar@codesourcery.com>
3575
3576 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
3577
cdf6119d
JN
35782016-01-12 James Norris <jnorris@codesourcery.com>
3579
3580 * libgomp.texi: Updates for OpenACC.
3581
0d58938e
AM
35822016-01-11 Alexander Monakov <amonakov@ispras.ru>
3583
3584 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
3585
95918b49
L
35862016-01-07 H.J. Lu <hongjiu.lu@intel.com>
3587
3588 PR fortran/66680
3589 * testsuite/libgomp.fortran/pr66680.f90: New test.
3590
8fc708b7
JJ
35912016-01-07 Jakub Jelinek <jakub@redhat.com>
3592
3593 PR middle-end/68960
3594 * testsuite/libgomp.c/pr68960.c: New test.
3595
e9b596c1
NS
35962016-01-06 Nathan Sidwell <nathan@acm.org>
3597
1a14faf2 3598 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
3599 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
3600
21fa2a29
JJ
36012016-01-04 Jakub Jelinek <jakub@redhat.com>
3602
818ab71a
JJ
3603 Update copyright years.
3604
21fa2a29
JJ
3605 * libgomp.texi: Bump @copying's copyright year.
3606
9310efbc
NS
36072015-12-31 Nathan Sidwell <nathan@acm.org>
3608
3609 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
3610 dg-additional-options syntax.
3611 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
3612 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
3613 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
3614 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
3615 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
3616 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
3617 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
3618 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
3619 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
3620 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
3621 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
3622 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
3623 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
3624 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
3625 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
3626 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
3627 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
3628 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
3629
4a38b02b
IV
36302015-12-15 Ilya Verbin <ilya.verbin@intel.com>
3631
3632 * libgomp.h (REFCOUNT_LINK): Define.
3633 (struct splay_tree_key_s): Add link_key.
3634 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
3635 Replace target address of the pointer with target address of newly
3636 mapped object in the splay tree. Set link pointer on target to the
3637 device address of the mapped object.
3638 (gomp_unmap_vars): Restore target address of the pointer in the splay
3639 tree for REFCOUNT_LINK objects after unmapping.
3640 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
3641 declare target link" objects.
3642 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
3643 "omp declare target link" objects, which were mapped for the image.
3644 (gomp_exit_data): Restore target address of the pointer in the splay
3645 tree for REFCOUNT_LINK objects after unmapping.
3646 * testsuite/libgomp.c/target-link-1.c: New file.
3647
d84ffc0a
IV
36482015-12-14 Ilya Verbin <ilya.verbin@intel.com>
3649
3650 * libgomp.h (gomp_device_state): New enum.
3651 (struct gomp_device_descr): Replace is_initialized with state.
3652 (gomp_fini_device): Remove declaration.
3653 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
3654 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
3655 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
3656 (acc_set_device_type): Use state instead of is_initialized.
3657 (acc_set_device_num): Likewise.
3658 * target.c (resolve_device): Use state instead of is_initialized.
3659 Do not initialize finalized device.
3660 (gomp_map_vars): Do nothing if device is finalized.
3661 (gomp_unmap_vars): Likewise.
3662 (gomp_update): Likewise.
3663 (GOMP_offload_register_ver): Use state instead of is_initialized.
3664 (GOMP_offload_unregister_ver): Likewise.
3665 (gomp_init_device): Likewise.
3666 (gomp_unload_device): Likewise.
3667 (gomp_fini_device): Remove.
3668 (gomp_get_target_fn_addr): Do nothing if device is finalized.
3669 (GOMP_target): Go to host fallback if device is finalized.
3670 (GOMP_target_ext): Likewise.
3671 (gomp_exit_data): Do nothing if device is finalized.
3672 (gomp_target_task_fn): Go to host fallback if device is finalized.
3673 (gomp_target_fini): New static function.
3674 (gomp_target_init): Use state instead of is_initialized.
3675 Call gomp_target_fini at exit.
3676
76680678
TV
36772015-12-09 Tom de Vries <tom@codesourcery.com>
3678
3679 PR tree-optimization/68716
3680 * testsuite/libgomp.c/omp-nested-2.c: New test.
3681
ff7a55bf
TS
36822015-12-02 Thomas Schwinge <thomas@codesourcery.com>
3683
3684 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
3685 target openacc_nvidia_accel_selected.
3686 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
3687 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
3688 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
3689 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
3690
37d5ad46
JB
36912015-12-01 Julian Brown <julian@codesourcery.com>
3692 James Norris <James_Norris@mentor.com>
3693
3694 * oacc-parallel.c (GOACC_host_data): New function.
3695 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
3696 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
3697 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
3698 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
3699 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
3700 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
3701 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
3702
db941d7e
CP
37032015-11-30 James Norris <jnorris@codesourcery.com>
3704 Cesar Philippidis <cesar@codesourcery.com>
3705
3706 libgomp/
3707 * libgomp.oacc-fortran/routine-5.f90: New test.
3708 * libgomp.oacc-fortran/routine-7.f90: New test.
3709 * libgomp.oacc-fortran/routine-9.f90: New test.
3710
e0ca27c5
TV
37112015-11-30 Tom de Vries <tom@codesourcery.com>
3712
3713 PR tree-optimization/46032
3714 * testsuite/libgomp.c/pr46032.c: New test.
3715
aec17bfe
JJ
37162015-11-27 Jakub Jelinek <jakub@redhat.com>
3717
8e4e4719
JJ
3718 PR libgomp/68579
3719 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
3720 (gomp_create_target_task): Call it before freeing
3721 GOMP_TARGET_TASK_DATA tasks.
3722
aec17bfe
JJ
3723 PR c/63326
3724 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
3725 in between case label and OpenMP standalone directives.
3726 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
3727
6cfe90e6
DE
37282015-11-26 David Edelsohn <dje.gcc@gmail.com>
3729
3730 * configure: Regenerate.
3731
0e65fd7d
JJ
37322015-11-26 Jakub Jelinek <jakub@redhat.com>
3733
3734 * testsuite/libgomp.c/target-35.c: New test.
3735
dc7a8b4b
JN
37362015-11-22 James Norris <jnorris@codesourcery.com>
3737 Cesar Philippidis <cesar@codesourcery.com>
3738
3739 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
3740 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3741 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3742 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3743 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3744
48a78aee
JJ
37452015-11-20 Jakub Jelinek <jakub@redhat.com>
3746
3747 PR middle-end/68221
3748 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
3749 * testsuite/libgomp.c/reduction-12.c: Likewise.
3750 * testsuite/libgomp.c++/reduction-11.C: Likewise.
3751 * testsuite/libgomp.c++/reduction-12.C: Likewise.
3752
2d256816
NS
37532015-11-19 Nathan Sidwell <nathan@codesourcery.com>
3754
3755 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
3756 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
3757 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
3758 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
3759 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
3760 and fix.
3761 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
3762 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
3763
33f47f42
NS
37642015-11-18 Nathan Sidwell <nathan@codesourcery.com>
3765
3766 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
3767 worker & gang cases.
3768 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
3769
3d7bfee0
CP
37702015-11-17 Cesar Philippidis <cesar@codesourcery.com>
3771
3772 * config/nvptx/priority_queue.c: New file.
3773
00b9bd52
JJ
37742015-11-14 Jakub Jelinek <jakub@redhat.com>
3775
3776 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
3777 sections.
3778
e4606348
JJ
37792015-11-14 Jakub Jelinek <jakub@redhat.com>
3780 Aldy Hernandez <aldyh@redhat.com>
3781 Ilya Verbin <ilya.verbin@intel.com>
3782
3783 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
3784 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
3785 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
3786 iterators or IV by chunk size.
3787 * parallel.c (gomp_resolve_num_threads): Don't assume that
3788 if thr->ts.team is non-NULL, then pool must be non-NULL.
3789 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
3790 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
3791 GOMP_PLUGIN_target_task_completion.
3792 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
3793 * Makefile.in: Regenerate.
3794 * libgomp.h: Shuffle prototypes and forward definitions around so
3795 priority queues can be defined.
3796 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
3797 (enum gomp_target_task_state): New enum.
3798 (struct gomp_target_task): Add state, tgt, task and team fields.
3799 (gomp_create_target_task): Change return type to bool, add
3800 state argument.
3801 (gomp_target_task_fn): Change return type to bool.
3802 (struct gomp_device_descr): Add async_run_func.
3803 (struct gomp_task): Remove children, next_child, prev_child,
3804 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
3805 Add pnode field.
3806 (struct gomp_taskgroup): Remove children.
3807 Add taskgroup_queue.
3808 (struct gomp_team): Change task_queue type to a priority queue.
3809 (splay_compare): Define inline.
3810 (priority_queue_offset): New.
3811 (priority_node_to_task): New.
3812 (task_to_priority_node): New.
3813 * oacc-mem.c: Do not include splay-tree.h.
3814 * priority_queue.c: New file.
3815 * priority_queue.h: New file.
3816 * splay-tree.c: Do not include splay-tree.h.
3817 (splay_tree_foreach_internal): New.
3818 (splay_tree_foreach): New.
3819 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
3820 (splay_tree_callback): Define typedef.
3821 * target.c (splay_compare): Move to libgomp.h.
3822 (GOMP_target): Don't adjust *thr in any way around running offloaded
3823 task.
3824 (GOMP_target_ext): Likewise. Handle target nowait.
3825 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
3826 return value from gomp_create_target_task, if false, fallthrough
3827 as if no dependencies exist.
3828 (gomp_target_task_fn): Change return type to bool, return true
3829 if the task should have another part scheduled later. Handle
3830 target nowait.
3831 (gomp_load_plugin_for_device): Initialize async_run.
3832 * task.c (gomp_init_task): Initialize children_queue.
3833 (gomp_clear_parent_in_list): New.
3834 (gomp_clear_parent_in_tree): New.
3835 (gomp_clear_parent): Handle priorities.
3836 (GOMP_task): Likewise.
3837 (priority_queue_move_task_first,
3838 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
3839 New functions.
3840 (gomp_create_target_task): Use priority queues. Change return type
3841 to bool, add state argument, return false if for async
3842 {{enter,exit} data,update} constructs no dependencies need to be
3843 waited for, handle target nowait. Set task->fn to NULL instead of
3844 gomp_target_task_fn.
3845 (verify_children_queue): Remove.
3846 (priority_list_upgrade_task): New.
3847 (priority_queue_upgrade_task): New.
3848 (verify_task_queue): Remove.
3849 (priority_list_downgrade_task): New.
3850 (priority_queue_downgrade_task): New.
3851 (gomp_task_run_pre): Use priority queues.
3852 Abstract code out to priority_queue_downgrade_task.
3853 (gomp_task_run_post_handle_dependers): Use priority queues.
3854 (gomp_task_run_post_remove_parent): Likewise.
3855 (gomp_task_run_post_remove_taskgroup): Likewise.
3856 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
3857 tasks specially.
3858 (GOMP_taskwait): Likewise.
3859 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
3860 priority-queue_upgrade_task.
3861 (GOMP_taskgroup_start): Use priority queues.
3862 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
3863 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
3864 barrier.
3865 * taskloop.c (GOMP_taskloop): Handle priorities.
3866 * team.c (gomp_new_team): Call priority_queue_init.
3867 (free_team): Call priority_queue_free.
3868 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
3869 team created for target nowait in implicit parallel region.
3870 (gomp_team_start): For nested check, test thr->ts.level instead of
3871 thr->ts.team != NULL.
3872 * testsuite/libgomp.c/doacross-3.c: New test.
3873 * testsuite/libgomp.c/ordered-5.c: New test.
3874 * testsuite/libgomp.c/priority.c: New test.
3875 * testsuite/libgomp.c/target-31.c: New test.
3876 * testsuite/libgomp.c/target-32.c: New test.
3877 * testsuite/libgomp.c/target-33.c: New test.
3878 * testsuite/libgomp.c/target-34.c: New test.
3879
1d1ab74f
NS
38802015-11-13 Nathan Sidwell <nathan@codesourcery.com>
3881
c5a64cfe
NS
3882 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
3883
1d1ab74f
NS
3884 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
3885 loop is sequential.
3886
dd3c1b14
NS
38872015-11-13 Nathan Sidwell <nathan@codesourcery.com>
3888
3889 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
3890 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
3891
6e232ba4
JN
38922015-11-12 James Norris <jnorris@codesourcery.com>
3893 Joseph Myers <joseph@codesourcery.com>
3894
3895 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
3896 * oacc-parallel.c (GOACC_declare): New function.
3897 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
3898 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
3899 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
3900 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
3901 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
3902
fffeedeb
NS
39032015-11-12 Nathan Sidwell <nathan@codesourcery.com>
3904
3905 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
3906
182190f2
NS
39072015-11-1 Nathan Sidwell <nathan@codesourcery.com>
3908
3909 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
3910 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
3911
36fa0f5f
NS
39122015-11-09 Nathan Sidwell <nathan@codesourcery.com>
3913
d350c40c
NS
3914 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
3915 inadvertent commit.
3916
39172015-11-09 Nathan Sidwell <nathan@codesourcery.com>
3918
36fa0f5f
NS
3919 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
3920 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
3921 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
3922 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
3923 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
3924
66a5f0b4
TS
39252015-11-06 Thomas Schwinge <thomas@codesourcery.com>
3926
3927 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
3928 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
3929
e01d41e5
JJ
39302015-11-05 Jakub Jelinek <jakub@redhat.com>
3931 Ilya Verbin <ilya.verbin@intel.com>
3932
3933 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
3934 GOMP_loop_nonmonotonic_dynamic_start,
3935 GOMP_loop_nonmonotonic_guided_next,
3936 GOMP_loop_nonmonotonic_guided_start,
3937 GOMP_loop_ull_nonmonotonic_dynamic_next,
3938 GOMP_loop_ull_nonmonotonic_dynamic_start,
3939 GOMP_loop_ull_nonmonotonic_guided_next,
3940 GOMP_loop_ull_nonmonotonic_guided_start,
3941 GOMP_parallel_loop_nonmonotonic_dynamic,
3942 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
3943 (GOMP_target_41): Renamed to ...
3944 (GOMP_target_ext): ... this. Add num_teams and thread_limit
3945 arguments.
3946 (GOMP_target_data_41): Renamed to ...
3947 (GOMP_target_data_ext): ... this.
3948 (GOMP_target_update_41): Renamed to ...
3949 (GOMP_target_update_ext): ... this.
3950 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
3951 GOMP_target_data_ext and GOMP_target_update_ext instead of
3952 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
3953 Export GOMP_loop_nonmonotonic_dynamic_next,
3954 GOMP_loop_nonmonotonic_dynamic_start,
3955 GOMP_loop_nonmonotonic_guided_next,
3956 GOMP_loop_nonmonotonic_guided_start,
3957 GOMP_loop_ull_nonmonotonic_dynamic_next,
3958 GOMP_loop_ull_nonmonotonic_dynamic_start,
3959 GOMP_loop_ull_nonmonotonic_guided_next,
3960 GOMP_loop_ull_nonmonotonic_guided_start,
3961 GOMP_parallel_loop_nonmonotonic_dynamic and
3962 GOMP_parallel_loop_nonmonotonic_guided.
3963 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
3964 GOMP_parallel_loop_nonmonotonic_guided,
3965 GOMP_loop_nonmonotonic_dynamic_start,
3966 GOMP_loop_nonmonotonic_guided_start,
3967 GOMP_loop_nonmonotonic_dynamic_next,
3968 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
3969 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
3970 GOMP_loop_ull_nonmonotonic_guided_start,
3971 GOMP_loop_ull_nonmonotonic_dynamic_next,
3972 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
3973 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
3974 functions.
3975 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
3976 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
3977 Use gomp_map_val function.
3978 (gomp_target_fallback_firstprivate): New static function.
3979 (GOMP_target_41): Renamed to ...
3980 (GOMP_target_ext): ... this. Add num_teams and thread_limit
3981 arguments. Move firstprivate fallback handling into a new
3982 function.
3983 (GOMP_target_data_41): Renamed to ...
3984 (GOMP_target_data_ext): ... this.
3985 (GOMP_target_update_41): Renamed to ...
3986 (GOMP_target_update_ext): ... this.
3987 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
3988 gomp_map_0len_lookup instead of gomp_map_lookup.
3989 (omp_target_is_present): Use gomp_map_0len_lookup instead of
3990 gomp_map_lookup.
3991 * testsuite/libgomp.c/target-28.c: Likewise.
3992 * testsuite/libgomp.c/monotonic-1.c: New test.
3993 * testsuite/libgomp.c/monotonic-2.c: New test.
3994 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
3995 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
3996 * testsuite/libgomp.c/pr66199-5.c: New test.
3997 * testsuite/libgomp.c/pr66199-6.c: New test.
3998 * testsuite/libgomp.c/pr66199-7.c: New test.
3999 * testsuite/libgomp.c/pr66199-8.c: New test.
4000 * testsuite/libgomp.c/pr66199-9.c: New test.
4001 * testsuite/libgomp.c/reduction-11.c: New test.
4002 * testsuite/libgomp.c/reduction-12.c: New test.
4003 * testsuite/libgomp.c/reduction-13.c: New test.
4004 * testsuite/libgomp.c/reduction-14.c: New test.
4005 * testsuite/libgomp.c/reduction-15.c: New test.
4006 * testsuite/libgomp.c/target-12.c (main): Adjust for
4007 omp_target_is_present change for one-past-last element.
4008 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
4009 the same var is both mapped and privatized.
4010 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
4011 handling of zero-length array sections.
4012 * testsuite/libgomp.c/target-28.c: New test.
4013 * testsuite/libgomp.c/target-29.c: New test.
4014 * testsuite/libgomp.c/target-30.c: New test.
4015 * testsuite/libgomp.c/target-teams-1.c: New test.
4016 * testsuite/libgomp.c++/member-6.C: New test.
4017 * testsuite/libgomp.c++/member-7.C: New test.
4018 * testsuite/libgomp.c++/monotonic-1.C: New test.
4019 * testsuite/libgomp.c++/monotonic-2.C: New test.
4020 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
4021 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
4022 * testsuite/libgomp.c++/pr66199-3.C: New test.
4023 * testsuite/libgomp.c++/pr66199-4.C: New test.
4024 * testsuite/libgomp.c++/pr66199-5.C: New test.
4025 * testsuite/libgomp.c++/pr66199-6.C: New test.
4026 * testsuite/libgomp.c++/pr66199-7.C: New test.
4027 * testsuite/libgomp.c++/pr66199-8.C: New test.
4028 * testsuite/libgomp.c++/pr66199-9.C: New test.
4029 * testsuite/libgomp.c++/reduction-11.C: New test.
4030 * testsuite/libgomp.c++/reduction-12.C: New test.
4031 * testsuite/libgomp.c++/target-13.C: New test.
4032 * testsuite/libgomp.c++/target-14.C: New test.
4033 * testsuite/libgomp.c++/target-15.C: New test.
4034 * testsuite/libgomp.c++/target-16.C: New test.
4035 * testsuite/libgomp.c++/target-17.C: New test.
4036 * testsuite/libgomp.c++/target-18.C: New test.
4037 * testsuite/libgomp.c++/target-19.C: New test.
4038
ccc8282b
NS
40392015-11-04 Nathan Sidwell <nathan@codesourcery.com>
4040
4041 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
4042 and reduction copy.
4043 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4044 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4045 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4046 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4047 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
4048 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4049 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4050 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4051 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4052 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
4053 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
4054 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4055 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4056 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
4057
5d6823a2
NS
40582015-11-04 Nathan Sidwell <nathan@codesourcery.com>
4059
4060 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
4061 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
4062 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
4063 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
4064 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
4065 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
4066 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
4067 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
4068
5c06742f
NS
40692015-11-03 Nathan Sidwell <nathan@codesourcery.com>
4070
4071 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
4072 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
4073 (GOMP_OFFLOAD_openacc_parallel): Likewise.
4074 * oacc-host.c (host_openacc_exec): Likewise.
4075 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
4076
4bf9e5a8
TS
40772015-11-03 Julian Brown <julian@codesourcery.com>
4078 Thomas Schwinge <thomas@codesourcery.com>
4079
4080 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
4081 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4082 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
4083 Likewise.
4084 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
4085 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
4086
40872015-11-03 James Norris <jnorris@codesourcery.com>
4088
4089 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
4090 file.
4091 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
4092 Likewise.
4093 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
4094 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
4095 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
4096 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
4097 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
4098
a0e701d8
NS
40992015-10-29 Nathan Sidwell <nathan@codesourcery.com>
4100
4101 * openacc.h (enum acc_device_t): Reformat. Ensure layout
4102 compatibility.
4103 (enum acc_async_t): Reformat.
4104 (acc_on_device): Declare compatible with builtin and provide C++
4105 wrapper.
4106 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
4107
41e977ac
TS
41082015-10-29 Thomas Schwinge <thomas@codesourcery.com>
4109 Cesar Philippidis <cesar@codesourcery.com>
4110
4111 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
4112 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
4113 ... this. Add a description of the test at the top of the file.
4114 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
4115 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
4116 ... this. Add a description of the test at the top of the file.
4117
e3091406
NS
41182015-10-28 Nathan Sidwell <nathan@codesourcery.com>
4119
4120 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
4121 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
4122 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
4123 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
4124 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
4125 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
4126
a1c1908b
NS
41272015-10-27 Nathan Sidwell <nathan@codesourcery.com>
4128
4129 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
4130 dimensions.
4131
b3962a4a
TS
41322015-10-27 Thomas Schwinge <thomas@codesourcery.com>
4133
4134 PR testsuite/68063
4135 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
4136
88bae6f4
TS
41372015-10-27 James Norris <jnorris@codesourcery.com>
4138
4139 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
4140 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
4141
8baa7864
TS
41422015-10-26 Thomas Schwinge <thomas@codesourcery.com>
4143
bdeb752c
TS
4144 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
4145 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4146
ecd4fd43
TS
4147 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
4148 acc_device_nvidia usage.
4149 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
4150 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4151 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
4152
aa8b7d30
TS
4153 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
4154 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
4155
7c8f138d
TS
4156 PR libgomp/66518
4157 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
4158
8baa7864
TS
4159 PR libgomp/65437
4160 PR libgomp/66518
4161 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
4162 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
4163
88ebcde5
TV
41642015-10-23 Tom de Vries <tom@codesourcery.com>
4165
4166 PR testsuite/68063
4167 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
4168
9ef83c04
NS
41692015-10-20 Nathan Sidwell <nathan@codesourcery.com>
4170
4171 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
4172 vector_length.
4173 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4174
3837c6d6
IV
41752015-10-14 Ilya Verbin <ilya.verbin@intel.com>
4176 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
4177
4178 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
4179 to 0 when mapnum is 0.
4180
ac8a1965
SH
41812015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
4182
4183 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
4184 Cast to int from int32_t.
4185
d9a6bd32
JJ
41862015-10-13 Jakub Jelinek <jakub@redhat.com>
4187 Aldy Hernandez <aldyh@redhat.com>
4188 Ilya Verbin <ilya.verbin@intel.com>
4189
4190 * config/linux/affinity.c (omp_get_place_num_procs,
4191 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4192 * config/linux/doacross.h: New file.
4193 * config/posix/affinity.c (omp_get_place_num_procs,
4194 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
4195 * config/posix/doacross.h: New file.
4196 * env.c: Include gomp-constants.h.
4197 (struct gomp_task_icv): Rename run_sched_modifier to
4198 run_sched_chunk_size.
4199 (gomp_max_task_priority_var): New variable.
4200 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
4201 (handle_omp_display_env): Change _OPENMP value from 201307 to
4202 201511. Print OMP_MAX_TASK_PRIORITY.
4203 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
4204 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
4205 chunk_size and run_sched_modifier to run_sched_chunk_size.
4206 (omp_get_max_task_priority, omp_get_initial_device,
4207 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
4208 omp_get_partition_place_nums): New functions.
4209 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
4210 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
4211 to chunk_size.
4212 (omp_get_num_places_, omp_get_place_num_procs_,
4213 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
4214 omp_get_place_proc_ids_8_, omp_get_place_num_,
4215 omp_get_partition_num_places_, omp_get_partition_place_nums_,
4216 omp_get_partition_place_nums_8_, omp_get_initial_device_,
4217 omp_get_max_task_priority_): New functions.
4218 * libgomp_g.h (GOMP_loop_doacross_static_start,
4219 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
4220 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
4221 GOMP_loop_ull_doacross_dynamic_start,
4222 GOMP_loop_ull_doacross_guided_start,
4223 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
4224 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
4225 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
4226 GOMP_target_data_41, GOMP_target_update_41,
4227 GOMP_target_enter_exit_data): New prototypes.
4228 (GOMP_task): Add prototype argument.
4229 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
4230 (struct gomp_doacross_work_share): New type.
4231 (struct gomp_work_share): Add doacross field.
4232 (struct gomp_task_icv): Rename run_sched_modifier to
4233 run_sched_chunk_size.
4234 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
4235 GOMP_TASK_UNDEFERRED. Add comments.
4236 (struct gomp_task_depend_entry): Add comments.
4237 (struct gomp_task): Likewise.
4238 (struct gomp_taskgroup): Likewise.
4239 (struct gomp_target_task): New type.
4240 (struct gomp_team): Add comment.
4241 (gomp_get_place_proc_ids_8, gomp_doacross_init,
4242 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
4243 gomp_create_target_task, gomp_target_task_fn): New prototypes.
4244 (struct target_var_desc): New type.
4245 (struct target_mem_desc): Adjust comment. Use struct
4246 target_var_desc instead of splay_tree_key for list.
4247 (REFCOUNT_INFINITY): Define.
4248 (struct splay_tree_key_s): Remove copy_from field.
4249 (struct gomp_device_descr): Add dev2dev_func field.
4250 (enum gomp_map_vars_kind): New enum.
4251 (gomp_map_vars): Add one argument.
4252 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
4253 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
4254 omp_get_place_num_procs, omp_get_place_num_procs_,
4255 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
4256 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
4257 omp_get_place_num_, omp_get_partition_num_places,
4258 omp_get_partition_num_places_, omp_get_partition_place_nums,
4259 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
4260 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
4261 omp_target_free, omp_target_is_present, omp_target_memcpy,
4262 omp_target_memcpy_rect, omp_target_associate_ptr and
4263 omp_target_disassociate_ptr.
4264 (GOMP_4.0.2): Renamed to ...
4265 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
4266 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
4267 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
4268 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
4269 GOMP_loop_doacross_static_start, GOMP_doacross_post,
4270 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
4271 GOMP_loop_ull_doacross_guided_start,
4272 GOMP_loop_ull_doacross_runtime_start,
4273 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
4274 GOMP_doacross_ull_wait.
4275 * libgomp.texi: Document omp_get_max_task_priority.
4276 Rename modifier argument to chunk_size for omp_set_schedule and
4277 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
4278 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
4279 to run_sched_chunk_size renaming.
4280 (GOMP_loop_ordered_runtime_start): Likewise.
4281 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
4282 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
4283 GOMP_parallel_loop_runtime_start): New functions.
4284 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
4285 to run_sched_chunk_size renaming.
4286 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
4287 GOMP_loop_doacross_guided_start): New functions or aliases.
4288 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
4289 run_sched_modifier to run_sched_chunk_size renaming.
4290 (GOMP_loop_ull_ordered_runtime_start): Likewise.
4291 (gomp_loop_ull_doacross_static_start,
4292 gomp_loop_ull_doacross_dynamic_start,
4293 gomp_loop_ull_doacross_guided_start,
4294 GOMP_loop_ull_doacross_runtime_start): New functions.
4295 (GOMP_loop_ull_doacross_static_start,
4296 GOMP_loop_ull_doacross_dynamic_start,
4297 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
4298 * oacc-mem.c (acc_map_data, present_create_copy,
4299 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
4300 to gomp_map_vars.
4301 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
4302 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
4303 instead of false to gomp_map_vars.
4304 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
4305 * omp.h.in (omp_lock_hint_t): New type.
4306 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4307 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4308 omp_get_place_num, omp_get_partition_num_places,
4309 omp_get_partition_place_nums, omp_get_initial_device,
4310 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
4311 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
4312 omp_target_associate_ptr, omp_target_disassociate_ptr): New
4313 prototypes.
4314 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
4315 (omp_lock_hint_none, omp_lock_hint_uncontended,
4316 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
4317 omp_lock_hint_speculative): New parameters.
4318 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4319 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4320 omp_get_place_num, omp_get_partition_num_places,
4321 omp_get_partition_place_nums, omp_get_initial_device,
4322 omp_get_max_task_priority): New interfaces.
4323 (omp_set_schedule, omp_get_schedule): Rename modifier argument
4324 to chunk_size.
4325 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
4326 (omp_lock_hint_none, omp_lock_hint_uncontended,
4327 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
4328 omp_lock_hint_speculative): New parameters.
4329 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
4330 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
4331 omp_get_place_num, omp_get_partition_num_places,
4332 omp_get_partition_place_nums, omp_get_initial_device,
4333 omp_get_max_task_priority): New functions and subroutines.
4334 * ordered.c: Include stdarg.h and string.h.
4335 (MAX_COLLAPSED_BITS): Define.
4336 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
4337 gomp_doacross_ull_init, GOMP_doacross_ull_post,
4338 GOMP_doacross_ull_wait): New functions.
4339 * target.c: Include errno.h.
4340 (resolve_device): If device is not initialized, call
4341 gomp_init_device on it.
4342 (gomp_map_lookup): New function.
4343 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
4344 Don't bump refcount if REFCOUNT_INFINITY. Handle
4345 GOMP_MAP_ALWAYS_TO_P.
4346 (get_kind): Rename is_openacc argument to short_mapkind.
4347 (gomp_map_pointer): Use gomp_map_lookup.
4348 (gomp_map_fields_existing): New function.
4349 (gomp_map_vars): Rename is_openacc argument to short_mapkind
4350 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
4351 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
4352 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
4353 Adjust for tgt->list changed type and copy_from living in there.
4354 (gomp_copy_from_async): Adjust for tgt->list changed type and
4355 copy_from living in there.
4356 (gomp_unmap_vars): Likewise.
4357 (gomp_update): Likewise. Rename is_openacc argument to
4358 short_mapkind. Don't fail if object is not mapped.
4359 (gomp_load_image_to_device): Initialize refcount to
4360 REFCOUNT_INFINITY.
4361 (gomp_target_fallback): New function.
4362 (gomp_get_target_fn_addr): Likewise.
4363 (GOMP_target): Adjust gomp_map_vars caller, use
4364 gomp_get_target_fn_addr and gomp_target_fallback.
4365 (GOMP_target_41): New function.
4366 (gomp_target_data_fallback): New function.
4367 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
4368 (GOMP_target_data_41): New function.
4369 (GOMP_target_update): Adjust gomp_update caller.
4370 (GOMP_target_update_41): New function.
4371 (gomp_exit_data, GOMP_target_enter_exit_data,
4372 gomp_target_task_fn, omp_target_alloc, omp_target_free,
4373 omp_target_is_present, omp_target_memcpy,
4374 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
4375 omp_target_associate_ptr, omp_target_disassociate_ptr,
4376 gomp_load_plugin_for_device): New functions.
4377 * task.c: Include gomp-constants.h. Include taskloop.c
4378 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
4379 (gomp_task_handle_depend): New function.
4380 (GOMP_task): Use it. Add priority argument. Use
4381 gomp-constant.h constants instead of hardcoded numbers.
4382 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
4383 (gomp_create_target_task): New function.
4384 (verify_children_queue, verify_taskgroup_queue,
4385 verify_task_queue): New functions.
4386 (gomp_task_run_pre): Call verify_*_queue functions.
4387 If an upcoming tied task is about to leave the sibling or
4388 taskgroup queues in an invalid state, adjust appropriately.
4389 Remove taskgroup argument. Add comments.
4390 (gomp_task_run_post_handle_dependers): Add comments.
4391 (gomp_task_run_post_remove_parent): Likewise.
4392 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
4393 (GOMP_taskwait): Likewise. Add comments.
4394 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
4395 problem such that the first non parent_depends_on task does not
4396 end up at the end of the children queue.
4397 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
4398 GOMP_TASK_UNDEFERRED.
4399 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
4400 * taskloop.c: New file.
4401 * testsuite/lib/libgomp.exp
4402 (check_effective_target_offload_device_nonshared_as): New proc.
4403 * testsuite/libgomp.c/affinity-2.c: New test.
4404 * testsuite/libgomp.c/doacross-1.c: New test.
4405 * testsuite/libgomp.c/doacross-2.c: New test.
4406 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
4407 Add map clause to target.
4408 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
4409 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
4410 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
4411 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
4412 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
4413 Likewise.
4414 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
4415 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
4416 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
4417 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
4418 not defined. Use those where needed.
4419 * testsuite/libgomp.c/for-4.c: New test.
4420 * testsuite/libgomp.c/for-5.c: New test.
4421 * testsuite/libgomp.c/for-6.c: New test.
4422 * testsuite/libgomp.c/linear-1.c: New test.
4423 * testsuite/libgomp.c/ordered-4.c: New test.
4424 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
4425 only allowed on the loop iterator.
4426 * testsuite/libgomp.c/pr66199-3.c: New test.
4427 * testsuite/libgomp.c/pr66199-4.c: New test.
4428 * testsuite/libgomp.c/reduction-7.c: New test.
4429 * testsuite/libgomp.c/reduction-8.c: New test.
4430 * testsuite/libgomp.c/reduction-9.c: New test.
4431 * testsuite/libgomp.c/reduction-10.c: New test.
4432 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
4433 map(tofrom:s).
4434 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
4435 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
4436 * testsuite/libgomp.c/target-11.c: New test.
4437 * testsuite/libgomp.c/target-12.c: New test.
4438 * testsuite/libgomp.c/target-13.c: New test.
4439 * testsuite/libgomp.c/target-14.c: New test.
4440 * testsuite/libgomp.c/target-15.c: New test.
4441 * testsuite/libgomp.c/target-16.c: New test.
4442 * testsuite/libgomp.c/target-17.c: New test.
4443 * testsuite/libgomp.c/target-18.c: New test.
4444 * testsuite/libgomp.c/target-19.c: New test.
4445 * testsuite/libgomp.c/target-20.c: New test.
4446 * testsuite/libgomp.c/target-21.c: New test.
4447 * testsuite/libgomp.c/target-22.c: New test.
4448 * testsuite/libgomp.c/target-23.c: New test.
4449 * testsuite/libgomp.c/target-24.c: New test.
4450 * testsuite/libgomp.c/target-25.c: New test.
4451 * testsuite/libgomp.c/target-26.c: New test.
4452 * testsuite/libgomp.c/target-27.c: New test.
4453 * testsuite/libgomp.c/taskloop-1.c: New test.
4454 * testsuite/libgomp.c/taskloop-2.c: New test.
4455 * testsuite/libgomp.c/taskloop-3.c: New test.
4456 * testsuite/libgomp.c/taskloop-4.c: New test.
4457 * testsuite/libgomp.c++/ctor-13.C: New test.
4458 * testsuite/libgomp.c++/doacross-1.C: New test.
4459 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
4460 Replace offload_device with offload_device_nonshared_as.
4461 * testsuite/libgomp.c++/for-12.C: New test.
4462 * testsuite/libgomp.c++/for-13.C: New test.
4463 * testsuite/libgomp.c++/for-14.C: New test.
4464 * testsuite/libgomp.c++/linear-1.C: New test.
4465 * testsuite/libgomp.c++/member-1.C: New test.
4466 * testsuite/libgomp.c++/member-2.C: New test.
4467 * testsuite/libgomp.c++/member-3.C: New test.
4468 * testsuite/libgomp.c++/member-4.C: New test.
4469 * testsuite/libgomp.c++/member-5.C: New test.
4470 * testsuite/libgomp.c++/ordered-1.C: New test.
4471 * testsuite/libgomp.c++/reduction-5.C: New test.
4472 * testsuite/libgomp.c++/reduction-6.C: New test.
4473 * testsuite/libgomp.c++/reduction-7.C: New test.
4474 * testsuite/libgomp.c++/reduction-8.C: New test.
4475 * testsuite/libgomp.c++/reduction-9.C: New test.
4476 * testsuite/libgomp.c++/reduction-10.C: New test.
4477 * testsuite/libgomp.c++/reference-1.C: New test.
4478 * testsuite/libgomp.c++/simd14.C: New test.
4479 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
4480 * testsuite/libgomp.c++/target-5.C: New test.
4481 * testsuite/libgomp.c++/target-6.C: New test.
4482 * testsuite/libgomp.c++/target-7.C: New test.
4483 * testsuite/libgomp.c++/target-8.C: New test.
4484 * testsuite/libgomp.c++/target-9.C: New test.
4485 * testsuite/libgomp.c++/target-10.C: New test.
4486 * testsuite/libgomp.c++/target-11.C: New test.
4487 * testsuite/libgomp.c++/target-12.C: New test.
4488 * testsuite/libgomp.c++/taskloop-1.C: New test.
4489 * testsuite/libgomp.c++/taskloop-2.C: New test.
4490 * testsuite/libgomp.c++/taskloop-3.C: New test.
4491 * testsuite/libgomp.c++/taskloop-4.C: New test.
4492 * testsuite/libgomp.c++/taskloop-5.C: New test.
4493 * testsuite/libgomp.c++/taskloop-6.C: New test.
4494 * testsuite/libgomp.c++/taskloop-7.C: New test.
4495 * testsuite/libgomp.c++/taskloop-8.C: New test.
4496 * testsuite/libgomp.c++/taskloop-9.C: New test.
4497 * testsuite/libgomp.fortran/affinity1.f90: New test.
4498 * testsuite/libgomp.fortran/affinity2.f90: New test.
4499
1f600fea
TV
45002015-10-13 Tom de Vries <tom@codesourcery.com>
4501
4502 PR tree-optimization/67476
4503 * testsuite/libgomp.c/autopar-3.c: New test.
4504 * testsuite/libgomp.c/autopar-4.c: New test.
4505 * testsuite/libgomp.c/autopar-5.c: New test.
4506 * testsuite/libgomp.c/autopar-6.c: New test.
4507 * testsuite/libgomp.c/autopar-7.c: New test.
4508 * testsuite/libgomp.c/autopar-8.c: New test.
4509
058a654b
JN
45102015-10-12 James Norris <jnorris@codesourcery.com>
4511
4512 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
4513 initializer.
4514
9e531d37
DM
45152015-10-09 David Malcolm <dmalcolm@redhat.com>
4516
4517 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
4518 using load_gcc_lib.
4519
113020dc
TS
45202015-10-02 Thomas Schwinge <thomas@codesourcery.com>
4521
4522 * oacc-ptx.h: Remove file, moving its content into...
4523 * config/nvptx/fortran.c: ... here...
4524 * config/nvptx/oacc-init.c: ..., here...
4525 * config/nvptx/oacc-parallel.c: ..., and here.
4526 * config/nvptx/openacc.f90: New file.
4527 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
4528 (link_ptx): Don't link in predefined bits of PTX code.
4529
cc3cd79b
NS
45302015-09-30 Nathan Sidwell <nathan@codesourcery.com>
4531 Bernd Schmidt <bernds@codesourcery.com>
4532
4533 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
4534 (struct targ_ptx_obj): New.
4535 (nvptx_tdata): Move earlier, change data format.
4536 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
4537 objects.
4538 (GOMP_OFFLOAD_load_image): Adjust.
4539
4e2a5450
TS
45402015-09-30 Thomas Schwinge <thomas@codesourcery.com>
4541
4542 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
4543 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
4544 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
4545 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
4546 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
4547 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
4548 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
4549 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
4550 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
4551 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
4552 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
4553 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
4554 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
4555 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4556 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4557 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4558 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
4559 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4560 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4561 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4562 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4563 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4564 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
4565 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
4566 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4567 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4568 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
4569 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4570 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4571 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
4572 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
4573 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
4574 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
4575 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
4576 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4577 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4578 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4579 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4580 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4581 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4582 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4583 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4584 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
4585 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
4586 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
4587 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
4588 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
4589 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
4590 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
4591 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
4592 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
4593 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
4594 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
4595 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
4596 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
4597 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
4598 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
4599 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
4600 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
4601 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
4602 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
4603 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
4604 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
4605
164453bb
NS
46062015-09-29 Nathan Sidwell <nathan@codesourcery.com>
4607
4608 * oacc-init.c (acc_on_device): Force optimization level.
4609
a12a0437
NS
46102015-09-29 Nathan Sidwell <nathan@codesourcery.com>
4611
4612 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
4613 (cuda_errlist): Delete.
4614 (cuda_error): Reimplement.
4615
3e32ee19
NS
46162015-09-28 Nathan Sidwell <nathan@codesourcery.com>
4617
4618 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
4619 array.
4620 * libgomp.map (GOACC_parallel_keyed): New.
4621 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
4622 all callers.
4623 (GOACC_parallel_keyed): New interface. Lose geometry arguments
4624 and take keyed varargs list. Adjust call to exec_func.
4625 (GOACC_parallel): Force host fallback.
4626 * libgomp_g.h (GOACC_parallel): Remove.
4627 (GOACC_parallel_keyed): Declare.
4628 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
4629 (stuct targ_gn_descriptor): Replace name field with launch field.
4630 (nvptx_exec): Lose separate geometry args, take array. Process
4631 dynamic dimensions and adjust.
4632 (struct nvptx_tdata): Replace fn_names field with fn_descs.
4633 (GOMP_OFFLOAD_load_image): Adjust for change in function table
4634 data.
4635 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
4636 passing.
4637 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
4638 passing.
4639
6bb4c3e2
CLT
46402015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
4641
4642 PR libgomp/67141
4643 * oacc-int.h (goacc_host_init): Add declaration.
4644 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
4645 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
4646
74032f47 46472015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 4648 Sebastian Pop <s.pop@samsung.com>
74032f47
AK
4649
4650 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
4651 match o/p.
4652 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
4653 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
4654 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
4655 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
4656 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
4657
97875f4a
JJ
46582015-09-03 Jakub Jelinek <jakub@redhat.com>
4659
4660 * configure.tgt: Add missing ;; in between nvptx and rtems
4661 snippets.
4662
06441dd5
SH
46632015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
4664
4665 * config/posix/pool.h (gomp_adjust_thread_attr): New.
4666 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
4667 (gomp_thread_pool_reservoir): Add priority member.
4668 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
4669 priority.
4670 (parse_thread_pools): Likewise.
4671 * team.c (gomp_team_start): Call configuration provided
4672 gomp_adjust_thread_attr(). Destroy thread attributes if
4673 necessary.
4674 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
4675
66c59f92
SH
46762015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
4677
4678 * config/posix/pool.h: New.
4679 * config/rtems/pool.h: Likewise.
4680 * config/rtems/proc.c: Likewise.
4681 * libgomp.h (gomp_thread_destructor): Declare.
4682 * team.c: Include configuration provided "pool.h".
4683 (gomp_get_thread_pool): Define in configuration.
4684 (gomp_team_end): Call configuration defined
4685 gomp_release_thread_pool().
4686
13c41b2e
SH
46872015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
4688
4689 * config/rtems/bar.c: New.
4690 * config/rtems/bar.h: Likewise.
4691 * config/rtems/mutex.c: Likewise.
4692 * config/rtems/mutex.h: Likewise.
4693 * config/rtems/sem.c: Likewise.
4694 * config/rtems/sem.h: Likewise.
4695 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
4696 <sys/lock.h> header file.
4697 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
4698 supported by Newlib.
4699 * configure: Regenerate.
4700
7892ec67
SH
47012015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
4702
4703 * team.c (gomp_new_thread_pool): Delete and move content to ...
4704 (gomp_get_thread_pool): ... new function. Allocate and
4705 initialize thread pool on demand.
4706 (get_last_team): Use gomp_get_thread_pool().
4707 (gomp_team_start): Delete thread pool initialization.
4708
1b96e9a4
TV
47092015-09-03 Tom de Vries <tom@codesourcery.com>
4710
4711 PR tree-optimization/65637
4712 * testsuite/libgomp.c/autopar-2.c: New test.
4713
3ff2d74e
TV
47142015-08-29 Tom de Vries <tom@codesourcery.com>
4715
4716 PR tree-optimization/46193
4717 * testsuite/libgomp.c/pr46193.c: New test.
4718
2a21ff19
NS
47192015-08-24 Nathan Sidwell <nathan@codesourcery.com>
4720
4721 libgomp/
4722 * libgomp.map: Add 4.0.2 version.
4723 * target.c (offload_image_descr): Add version field.
4724 (gomp_load_image_to_device): Add version argument. Adjust plugin
4725 call. Improve load mismatch diagnostic.
4726 (gomp_unload_image_from_device): Add version argument. Adjust plugin
4727 call.
4728 (GOMP_offload_regster): Make stub function, move bulk to ...
4729 (GOMP_offload_register_ver): ... here. Process version argument.
4730 (GOMP_offload_unregister): Make stub function, move bulk to ...
4731 (GOMP_offload_unregister_ver): ... here. Process version argument.
4732 (gomp_init_device): Process version field.
4733 (gomp_unload_device): Process version field.
4734 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
4735 macros. Check plugin version.
4736 * libgomp.h (gomp_device_descr): Add version function field. Adjust
4737 loader and unloader types.
4738 * oacc-host.c: Include gomp-constants.h.
4739 (host_version): New.
4740 (host_load_image, host_unload_image): Adjust.
4741 (host_dispatch): Add host_version.
4742 * plugin/plugin-nvptx.c: Include gomp-constants.h.
4743 (GOMP_OFFLOAD_version): New.
4744 (GOMP_OFFLOAD_load_image): Add version arg and check it.
4745 (GOMP_OFFLOAD_unload_image): Likewise.
4746 * plugin/plugin-host.c: Include gomp-constants.h.
4747 (GOMP_OFFLOAD_version): New.
4748 (GOMP_OFFLOAD_load_image): Add version arg.
4749 (GOMP_OFFLOAD_unload_image): Likewise.
4750
1358a747
TV
47512015-08-24 Tom de Vries <tom@codesourcery.com>
4752
4753 PR tree-optimization/65468
4754 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
4755
6be5c241
TV
47562015-08-24 Tom de Vries <tom@codesourcery.com>
4757
4758 PR tree-optimization/65468
4759 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
4760
bfe7ac89
JV
47612015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
4762
4763 PR libgomp/66761
4764 PR libgomp/67303
4765 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
4766 (gomp_iter_guided_next): Idem.
4767 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
4768 (gomp_iter_ull_guided_next): Idem.
4769 * config/linux/wait.h (do_spin): Idem.
4770
b97e78b7
TS
47712015-08-10 Thomas Schwinge <thomas@codesourcery.com>
4772
4773 * libgomp-plugin.h (enum offload_target_type): Remove
4774 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
4775 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
4776 * openacc.h (enum acc_device_t): Likewise.
4777 * openacc_lib.h: Likewise.
4778 * oacc-init.c (name_of_acc_device_t): Don't handle it.
4779 (acc_on_device): Just use __builtin_acc_on_device.
4780 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
4781 of acc_on_device builtin.
4782 * plugin/plugin-host.h: Remove file.
4783 * plugin/plugin-host.c: Likewise, but salvage some content into...
4784 * oacc-host.c: ... this file.
4785 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
4786 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
4787 * Makefile.in: Regenerate.
4788 * configure: Likewise.
4789 * testsuite/lib/libgomp.exp
4790 (check_effective_target_openacc_host_nonshm_selected): Remove.
4791 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
4792 ACC_DEVICE_TYPE=host_nonshm.
4793 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4794 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
4795 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
4796 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
4797 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
4798 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
4799
44a7d18d
TS
48002015-08-10 Thomas Schwinge <thomas@codesourcery.com>
4801 Jakub Jelinek <jakub@redhat.com>
4802
4803 * config/nvptx/affinity.c: New file.
4804 * config/nvptx/alloc.c: Likewise.
4805 * config/nvptx/bar.c: Likewise.
4806 * config/nvptx/barrier.c: Likewise.
4807 * config/nvptx/critical.c: Likewise.
4808 * config/nvptx/env.c: Likewise.
4809 * config/nvptx/error.c: Likewise.
4810 * config/nvptx/fortran.c: Likewise.
4811 * config/nvptx/iter.c: Likewise.
4812 * config/nvptx/iter_ull.c: Likewise.
4813 * config/nvptx/libgomp-plugin.c: Likewise.
4814 * config/nvptx/lock.c: Likewise.
4815 * config/nvptx/loop.c: Likewise.
4816 * config/nvptx/loop_ull.c: Likewise.
4817 * config/nvptx/mutex.c: Likewise.
4818 * config/nvptx/oacc-async.c: Likewise.
4819 * config/nvptx/oacc-cuda.c: Likewise.
4820 * config/nvptx/oacc-host.c: Likewise.
4821 * config/nvptx/oacc-init.c: Likewise.
4822 * config/nvptx/oacc-mem.c: Likewise.
4823 * config/nvptx/oacc-parallel.c: Likewise.
4824 * config/nvptx/oacc-plugin.c: Likewise.
4825 * config/nvptx/omp-lock.h: Likewise.
4826 * config/nvptx/ordered.c: Likewise.
4827 * config/nvptx/parallel.c: Likewise.
4828 * config/nvptx/proc.c: Likewise.
4829 * config/nvptx/ptrlock.c: Likewise.
4830 * config/nvptx/sections.c: Likewise.
4831 * config/nvptx/sem.c: Likewise.
4832 * config/nvptx/single.c: Likewise.
4833 * config/nvptx/splay-tree.c: Likewise.
4834 * config/nvptx/target.c: Likewise.
4835 * config/nvptx/task.c: Likewise.
4836 * config/nvptx/team.c: Likewise.
4837 * config/nvptx/time.c: Likewise.
4838 * config/nvptx/work.c: Likewise.
4839 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
4840 * configure: Regenerate.
4841 * configure.tgt (config_path): Set to "nvptx" for target
4842 nvptx*-*-*.
4843
96a2d174
TS
48442015-08-10 Thomas Schwinge <thomas@codesourcery.com>
4845
4846 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
4847
9ebddeb0
NS
48482015-08-03 Nathan Sidwell <nathan@codesourcery.com>
4849
4850 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
4851 (cuda_errlist): Constify.
4852 (errmsg): Move into ...
4853 (cuda_error): ... here. Make smaller.
4854 (_XSTR, _STR): Delete.
4855 (cuda_synames): Delete.
4856 (verify_device_library): Delete.
4857 (nvptx_init): Don't call it.
4858
12efb1d7
TV
48592015-07-28 Tom de Vries <tom@codesourcery.com>
4860
4861 * testsuite/libgomp.c/uns-outer-4.c: New test.
4862
710ee218
CP
48632015-07-24 Cesar Philippidis <cesar@codesourcery.com>
4864
4865 * testsuite/libgomp.c/pr66714.c: New test.
4866
27c4ac7d
MB
48672015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
4868
4869 PR libgomp/66950
4870 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
4871 (fib_ref): New function.
4872 (fib): Correct corner cases in the recursion.
4873 (main): Replace the non-simd loop with fib_ref call.
4874 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
4875 subroutine.
4876 (fibonacci): Lower the parameter N to 30. Correct accordingly check
4877 for the last array element value. Replace the non-simd loop with
4878 fib_ref call. Remove redundant b_ref array. Remove the comparison
4879 of the last array element with according Fibonacci sequence element.
4880 (fib): Correct corner cases in the recursion.
4881
22be2349
NS
48822015-07-21 Nathan Sidwell <nathan@codesourcery.com>
4883
4884 * target.c (gomp_offload_image_to_device): Rename to ...
4885 (gomp_load_image_to_device): ... here.
4886 (GOMP_offload_register): Adjust call.
4887 (gomp_init_device): Likewise.
4888 (gomp_unload_image_from_device): New. Broken out of ...
4889 (GOMP_offload_unregister): ... here. Call it.
4890 (gomp_unload_device): New.
4891 * libgomp.h (gomp_unload_device): Declare.
4892 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
4893 mem maps.
4894
f3e9a059
NS
48952015-07-20 Nathan Sidwell <nathan@codesourcery.com>
4896
a091118d
NS
4897 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
4898 wait=-specific if.
4899 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
4900 !=0 condition.
4901 (goacc_waits): Move !num_waits handling to ...
4902 (GOACC_wait): ... here, the only caller that might have zero waits.
4903
f3e9a059
NS
4904 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
4905 (struct ptx_image_data): Move earlier, add fns field.
4906 (struct ptx_device): Add images and image_lock fields.
4907 (ptx_images, ptx_image_lock): Delete.
4908 (nvptx_open_device): Initialize images and image_lock fields.
4909 (nvptx_close_device): Destroy image_lock.
4910 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
4911 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
4912 fields.
4913
afb2d80b
NS
49142015-07-17 Nathan Sidwell <nathan@codesourcery.com>
4915
896c28a7
NS
4916 * target.c (GOMP_offload_register): Use int for device type arg.
4917 (GOMP_offload_unregister): Likewise.
4918
ebe4a560
NS
4919 * target.c (struct_offload_image_descr): Constify host_table.
4920 (gomp_offload_image_to_device): Likewise.
4921 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
4922
afb2d80b
NS
4923 * libgomp.h (gomp_device_descr): Constify target data arguments.
4924 * target.c (struct offload_image_descr): Constify target_data.
4925 (gomp_offload_image_to_device): Likewise.
4926 (GOMP_offload_register): Likewise.
4927 (GOMP_offload_unrefister): Likewise.
4928 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
4929 GOMP_OFFLOAD_unload_image): Constify target data.
4930 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
4931 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
4932
a4cb876d
NS
49332015-07-16 Nathan Sidwell <nathan@codesourcery.com>
4934
4935 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
4936 Workaround driver library const error.
4937 (struct nvptx_tdata, nvptx_tdata_t): New.
4938 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
4939 type.
4940
28ef6a27
MB
49412015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
4942
4943 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
4944 of EPS parameter from integer to real.
4945 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
4946 type of EPS parameter from integer to real.
4947
6dba0113
SH
49482015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
4949
4950 * team.c (get_last_team): New.
4951 (gomp_new_team): Recycle last non-nested team if possible.
4952 (gomp_team_end): Move team work share list free lock destruction
4953 to ...
4954 (free_team): ... here.
4955
4c1cb4da
MB
49562015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
4957
4958 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
4959 and ref from int to double. Replaced their comparison with
4960 an inequality of their difference and EPS.
4961 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
4962 comparison of pri and a reference number with an inequality of their
4963 difference and EPS.
4964 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
4965 the comparison of sum and sum_ref with an inequality of their
4966 difference and EPS.
4967 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
4968 the comparison of pri and a reference number with an inequality of
4969 their difference and EPS.
4970
343587dc
MB
49712015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
4972
4973 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
4974 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
4975 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
4976 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
4977 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
4978 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
4979 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
4980 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
4981 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
4982 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
4983 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
4984 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
4985 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
4986 variables.
4987 (vec_mult): Likewise. Add #pragma omp taskwait.
4988 (main): Adjust caller.
4989 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
4990 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
4991 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
4992 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
4993 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
4994 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
4995 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
4996 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
4997 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
4998 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
4999 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
5000 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
5001 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
5002 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
5003 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
5004 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
5005 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
5006 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
5007 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
5008 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
5009 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
5010 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
5011 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
5012 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
5013 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
5014 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
5015 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
5016 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
5017 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
5018 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
5019 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
5020 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
5021 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
5022 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
5023 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
5024 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
5025 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
5026 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
5027 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
5028 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
5029 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
5030 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
5031 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
5032 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
5033 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
5034 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
5035 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
5036 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
5037 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
5038 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
5039 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
5040 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
5041 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
5042 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
5043 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
5044 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
5045 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
5046 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
5047 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
5048 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
5049 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
5050 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
5051 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
5052 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
5053 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
5054 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
5055 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
5056 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
5057 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
5058 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
5059 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
5060 (vec_mult): Add !$omp taskwait.
5061 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
5062 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
5063 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
5064 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
5065 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
5066 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
5067 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
5068 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
5069 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
5070 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
5071 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
5072 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
5073 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
5074 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
5075 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
5076 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
5077 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
5078 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
5079 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
5080 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
5081 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
5082 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
5083 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
5084 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
5085 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
5086 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
5087 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
5088 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
5089 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
5090 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
5091 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
5092 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
5093 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
5094 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
5095 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
5096 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
5097 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
5098 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
5099 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
5100 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
5101 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
5102 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
5103 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
5104 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
5105 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
5106 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
5107 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
5108 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
5109 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
5110 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
5111 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
5112 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
5113 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
5114 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
5115 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
5116 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
5117 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
5118 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
5119 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
5120 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
5121 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
5122 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
5123 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
5124 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
5125 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
5126 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
5127 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
5128
9f620bf1
TV
51292015-07-10 Tom de Vries <tom@codesourcery.com>
5130
5131 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
5132 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
5133
a92defda
TS
51342015-07-08 Thomas Schwinge <thomas@codesourcery.com>
5135
5136 PR libgomp/65099
5137 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
5138 in a 64-bit configuration.
5139 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
5140 offloading testing if no such device is available.
5141 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5142 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
5143
cadb53a5
TV
51442015-07-08 Tom de Vries <tom@codesourcery.com>
5145
5146 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
5147 second call to f.
5148 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5149
712cb0bb
TV
51502015-07-07 Tom de Vries <tom@codesourcery.com>
5151
5152 PR tree-optimization/66642
5153 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
5154 iteration count case.
5155 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
5156 function, factor out of ...
5157 (main): ... here. Test low iteration count case.
5158
e5210c77
SH
51592015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
5160
5161 * libgomp.h (gomp_thread_pool): Comment last_team field.
5162
f70360e7
UB
51632015-07-02 Uros Bizjak <ubizjak@gmail.com>
5164
5165 * testsuite/libgomp.c++/pr66702-1.C: Require
5166 vect_simd_clones effective target.
5167 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
5168
b451c271
TV
51692015-06-30 Tom de Vries <tom@codesourcery.com>
5170
5171 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5172 already set. Use DEFAULT_CFLAGS in dg-runtest.
5173 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
5174 "-O2".
5175
f8e89d9f
TV
51762015-06-30 Tom de Vries <tom@codesourcery.com>
5177
5178 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
5179 already set. Use DEFAULT_CFLAGS in dg-runtest.
5180 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
5181 * testsuite/libgomp.c++/pr64824.C: Same.
5182 * testsuite/libgomp.c++/pr64868.C: Same.
5183 * testsuite/libgomp.c++/pr66199-1.C: Same.
5184 * testsuite/libgomp.c++/pr66199-2.C: Same.
5185 * testsuite/libgomp.c++/target-2.C: Same.
5186 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
5187 -std=<standard> option.
5188 * testsuite/libgomp.c++/udr-11.C: Same.
5189 * testsuite/libgomp.c++/udr-12.C: Same.
5190 * testsuite/libgomp.c++/udr-13.C: Same.
5191 * testsuite/libgomp.c++/udr-14.C: Same.
5192 * testsuite/libgomp.c++/udr-15.C: Same.
5193 * testsuite/libgomp.c++/udr-16.C: Same.
5194 * testsuite/libgomp.c++/udr-17.C: Same.
5195 * testsuite/libgomp.c++/udr-18.C: Same.
5196 * testsuite/libgomp.c++/udr-19.C: Same.
5197 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
5198 * testsuite/libgomp.c++/simd-1.C: Same.
5199 * testsuite/libgomp.c++/simd-2.C: Same.
5200 * testsuite/libgomp.c++/simd-3.C: Same.
5201 * testsuite/libgomp.c++/simd-4.C: Same.
5202 * testsuite/libgomp.c++/simd-5.C: Same.
5203 * testsuite/libgomp.c++/simd-6.C: Same.
5204 * testsuite/libgomp.c++/simd-7.C: Same.
5205 * testsuite/libgomp.c++/simd-8.C: Same.
5206 * testsuite/libgomp.c++/simd-9.C: Same.
5207 * testsuite/libgomp.c++/simd10.C: Same.
5208 * testsuite/libgomp.c++/simd11.C: Same.
5209 * testsuite/libgomp.c++/simd12.C: Same.
5210 * testsuite/libgomp.c++/simd13.C: Same.
5211
3446fe48
JJ
52122015-06-30 Jakub Jelinek <jakub@redhat.com>
5213
5214 PR middle-end/66702
5215 * testsuite/libgomp.c++/pr66702-1.C: New test.
5216 * testsuite/libgomp.c++/pr66702-2.C: New test.
5217
8a36714a
TV
52182015-06-30 Tom de Vries <tom@codesourcery.com>
5219
5220 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
5221 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
5222 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
5223 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
5224
4f75d608
TV
52252015-06-30 Tom de Vries <tom@codesourcery.com>
5226
5227 PR tree-optimization/66652
5228 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
5229 using restrict pointers.
5230 (main): Add arguments to calls to f.
5231 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5232
6d9d1eeb
AT
52332015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
5234
5235 * configure.ac: Fix check for header <sys/sysctl.h>.
5236 * configure: Regenerate.
5237 * config.h.in: Likewise.
5238
1222f22b
TV
52392015-06-23 Tom de Vries <tom@codesourcery.com>
5240
5241 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
5242 abort.
5243 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
5244
d7efbbf6
TS
52452015-06-19 Thomas Schwinge <thomas@codesourcery.com>
5246
bfcd036f
TS
5247 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
5248 acc_device_nvidia.
5249
d7efbbf6
TS
5250 PR libgomp/66518
5251 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
5252 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5253
d7bfc710
TV
52542015-06-15 Tom de Vries <tom@codesourcery.com>
5255
5256 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
5257 dg-additional-options for any remaining options.
5258 * testsuite/libgomp.c/atomic-2.c: Same.
5259 * testsuite/libgomp.c/atomic-4.c: Same.
5260 * testsuite/libgomp.c/atomic-5.c: Same.
5261 * testsuite/libgomp.c/atomic-6.c: Same.
5262 * testsuite/libgomp.c/autopar-1.c: Same.
5263 * testsuite/libgomp.c/copyin-1.c: Same.
5264 * testsuite/libgomp.c/copyin-2.c: Same.
5265 * testsuite/libgomp.c/copyin-3.c: Same.
5266 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
5267 * testsuite/libgomp.c/nestedfn-5.c: Same.
5268 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
5269 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
5270 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
5271 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5272 * testsuite/libgomp.c/pr32362-1.c: Same.
5273 * testsuite/libgomp.c/pr32362-2.c: Same.
5274 * testsuite/libgomp.c/pr32362-3.c: Same.
5275 * testsuite/libgomp.c/pr39591-1.c: Same.
5276 * testsuite/libgomp.c/pr39591-2.c: Same.
5277 * testsuite/libgomp.c/pr39591-3.c: Same.
5278 * testsuite/libgomp.c/pr58392.c: Same.
5279 * testsuite/libgomp.c/pr58756.c: Same.
5280 * testsuite/libgomp.c/simd-1.c: Same.
5281 * testsuite/libgomp.c/simd-10.c: Same.
5282 * testsuite/libgomp.c/simd-11.c: Same.
5283 * testsuite/libgomp.c/simd-12.c: Same.
5284 * testsuite/libgomp.c/simd-13.c: Same.
5285 * testsuite/libgomp.c/simd-14.c: Same.
5286 * testsuite/libgomp.c/simd-15.c: Same.
5287 * testsuite/libgomp.c/simd-2.c: Same.
5288 * testsuite/libgomp.c/simd-3.c: Same.
5289 * testsuite/libgomp.c/simd-4.c: Same.
5290 * testsuite/libgomp.c/simd-5.c: Same.
5291 * testsuite/libgomp.c/simd-6.c: Same.
5292 * testsuite/libgomp.c/simd-7.c: Same.
5293 * testsuite/libgomp.c/simd-8.c: Same.
5294 * testsuite/libgomp.c/simd-9.c: Same.
5295
fb5b5352
TV
52962015-06-15 Tom de Vries <tom@codesourcery.com>
5297
5298 * testsuite/libgomp.c/pr35625.c: Fix typo.
5299
ca431bef
TV
53002015-06-15 Tom de Vries <tom@codesourcery.com>
5301
5302 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
5303 in dg-options.
5304 * testsuite/libgomp.c/atomic-3.c: Same.
5305 * testsuite/libgomp.c/debug-1.c: Same.
5306 * testsuite/libgomp.c/nqueens-1.c: Same.
5307 * testsuite/libgomp.c/pr26171.c: Same.
5308 * testsuite/libgomp.c/pr48591.c: Same.
5309 * testsuite/libgomp.c/pr64824.c: Same.
5310 * testsuite/libgomp.c/pr64868.c: Same.
5311 * testsuite/libgomp.c/pr66133.c: Same.
5312 * testsuite/libgomp.c/pr66199-1.c: Same.
5313 * testsuite/libgomp.c/pr66199-2.c: Same.
5314 * testsuite/libgomp.c/target-8.c: Same.
5315
0d8a9e20
TV
53162015-06-15 Tom de Vries <tom@codesourcery.com>
5317
5318 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
5319 -std={gnu99,c99}.
5320 * testsuite/libgomp.c/for-1.c: Same.
5321 * testsuite/libgomp.c/for-2.c: Same.
5322 * testsuite/libgomp.c/for-3.c: Same.
5323 * testsuite/libgomp.c/pr35625.c: Same.
5324 * testsuite/libgomp.c/pr39154.c: Same.
5325 * testsuite/libgomp.c/simd-16.c: Same.
5326 * testsuite/libgomp.c/simd-17.c: Same.
5327
a6860be9
TV
53282015-06-13 Tom de Vries <tom@codesourcery.com>
5329
5330 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
5331
ab3306d2
TV
53322015-06-13 Tom de Vries <tom@codesourcery.com>
5333
5334 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
5335 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
5336 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
5337 (N): Define.
5338 (main): Use N instead of hardcoded constants.
5339
7c82d827
TV
53402015-06-05 Tom de Vries <tom@codesourcery.com>
5341
5342 merge from gomp4 branch:
5343 2015-05-28 Tom de Vries <tom@codesourcery.com>
5344
5345 PR tree-optimization/65443
5346 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
5347 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
5348 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
5349
c469078d
BRF
53502015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
5351
5352 * testsuite/libgomp.graphite/bounds.c: Adjust for
5353 cleanup-tree-dump removal.
5354 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
5355 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
5356 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
5357 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
5358 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
5359 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
5360 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
5361 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
5362 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
5363 * testsuite/libgomp.graphite/pr41118.c: Likewise.
5364
bb3caa35
UB
53652015-05-28 Uros Bizjak <ubizjak@gmail.com>
5366
5367 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
5368 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
5369 (futex_wake) [!__x86_64__]: Ditto.
5370
9fb5fd44
JB
53712015-05-28 Julian Brown <julian@codesourcery.com>
5372
5373 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
5374 function comment. Only call gomp_fatal if new argument is true.
5375 (acc_dev_num_out_of_range): New function.
5376 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
5377 acc_dev_num_out_of_range as appropriate.
5378 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
5379 (acc_get_device_num, acc_set_device_num): Update calls to
5380 resolve_device.
9fb5fd44
JB
5381 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
5382 output.
5383
32eaed93
JB
53842015-05-28 Julian Brown <julian@codesourcery.com>
5385
5386 PR libgomp/65742
32eaed93
JB
5387 * oacc-init.c (plugin/plugin-host.h): Include.
5388 (acc_on_device): Check whether we're in an offloaded region for
5389 host_nonshm
5390 plugin. Don't use __builtin_acc_on_device.
5391 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
5392 nonshm_exec flag in thread-local data.
5393 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
5394 data for host_nonshm plugin.
5395 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
5396 for host_nonshm plugin.
5397 * plugin/plugin-host.h: New.
5398
ea023bcf
UB
53992015-05-27 Uros Bizjak <ubizjak@gmail.com>
5400
8ed501f1
UB
5401 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
5402
54032015-05-27 Uros Bizjak <ubizjak@gmail.com>
5404
5405 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
5406 Declare as int.
5407 (FUTEX_PRIVATE_FLAG): Remove L suffix.
5408 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
5409 Declare as int.
5410
54112015-05-27 Uros Bizjak <ubizjak@gmail.com>
5412
bb3caa35 5413 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 5414
1716efeb
CLT
54152015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
5416
5417 * target.c (gomp_map_pointer): New function abstracting out
5418 GOMP_MAP_POINTER handling.
5419 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
5420 gomp_map_pointer().
5421
41b37d5e
JJ
54222015-05-19 Jakub Jelinek <jakub@redhat.com>
5423
5424 PR middle-end/66199
5425 * testsuite/libgomp.c/pr66199-1.c: New test.
5426 * testsuite/libgomp.c/pr66199-2.c: New test.
5427 * testsuite/libgomp.c++/pr66199-1.C: New test.
5428 * testsuite/libgomp.c++/pr66199-2.C: New test.
5429 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
5430 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
5431
c8319826
JB
54322015-05-19 Julian Brown <julian@codesourcery.com>
5433
5434 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
5435 on cuInit failure.
5436
b37dddbc
JJ
54372015-05-13 Jakub Jelinek <jakub@redhat.com>
5438
5439 PR middle-end/66133
5440 * testsuite/libgomp.c/pr66133.c: New test.
5441
55fba601
MH
54422015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
5443
5444 * Makefile.in: Regenerated with automake-1.11.6.
5445 * aclocal.m4: Likewise.
5446 * config.h.in: Likewise.
5447 * configure: Likewise.
5448 * testsuite/Makefile.in: Likewise.
5449
1be0899d
JM
54502015-05-08 Jason Merrill <jason@redhat.com>
5451
5452 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
5453 _Complex.
5454
5455 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
5456
d2463960
JB
54572015-05-06 Julian Brown <julian@codesourcery.com>
5458
5459 * oacc-init.c (acc_device_lock): Add explanatory comment.
5460 (resolve_device): Add comment about locking requirement.
5461 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
5462 gomp_init_device and gomp_fini_device calls.
5463 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
5464 (acc_get_device_num, acc_set_device_num): Add locking around
5465 resolve_device and gomp_init_device calls.
5466
e38fdba4
JB
54672015-05-06 Julian Brown <julian@codesourcery.com>
5468
5469 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
5470 goacc_thread_lock on error paths.
5471 * oacc-mem.c (lookup_host): Remove locking from function. Note
5472 locking requirement for caller in function comment.
5473 (lookup_dev): Likewise.
5474 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
5475 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
5476 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
5477 Add locking.
5478
ae8ffbbb
TS
54792015-05-05 Thomas Schwinge <thomas@codesourcery.com>
5480
5481 PR testsuite/65205
5482 PR libgomp/65993
5483 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
5484 don't expect "0x" prefix for "%p" format specifier, don't expect
5485 "(nil)" for NULL pointer.
5486 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5487 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5488 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5489 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5490 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5491 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5492 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5493 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5494 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
5495 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
5496 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5497 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5498 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5499 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5500 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
5501 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
5502 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
5503 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
5504 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5505 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5506 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5507 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5508 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5509 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5510 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5511 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5512 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
5513 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5514 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
5515 accurately specify what we're looking for.
5516 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
5517 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
5518 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
5519 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
5520 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
5521
1309f1d2
JN
55222015-04-30 James Norris <jnorris@codesourcery.com>
5523
5524 PR testsuite/65205
5525 * testsuite/lib/libgomp.exp
5526 (check_effective_target_openacc_host_selected)
5527 (check_effective_target_openacc_host_nonshm_selected): New
5528 procedures.
5529 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
5530 dg-shouldfail.
5531 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
5532 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
5533 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
5534 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
5535 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
5536 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5537 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
5538 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
5539 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
5540 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
5541 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
5542 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
5543 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
5544 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
5545 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
5546 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
5547 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
5548 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
5549 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
5550 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
5551 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
5552 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
5553 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
5554 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
5555 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
5556 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
5557 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
5558 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
5559 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
5560 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
5561 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
5562 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
5563 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
5564 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
5565 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
5566 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
5567 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
5568 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
5569 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
5570 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
5571 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
5572 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
5573 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
5574
d93bdab5
JB
55752015-04-08 Julian Brown <julian@codesourcery.com>
5576
5577 * libgomp.h (target_mem_desc: Remove mem_map field.
5578 (acc_dispatch_t): Remove open_device_func, close_device_func,
5579 get_device_num_func, set_device_num_func, target_data members.
5580 Change create_thread_data_func argument to device number instead of
5581 generic pointer.
5582 * oacc-async.c (assert.h): Include.
5583 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
5584 (acc_wait_all, acc_wait_all_async): Use current host thread's
5585 active device, not base_dev.
5586 * oacc-cuda.c (acc_get_current_cuda_device)
5587 (acc_get_current_cuda_context, acc_get_cuda_stream)
5588 (acc_set_cuda_stream): Likewise.
5589 * oacc-host.c (host_dispatch): Don't set open_device_func,
5590 close_device_func, get_device_num_func or set_device_num_func.
5591 * oacc-init.c (base_dev, init_key): Remove.
5592 (cached_base_dev): New.
5593 (name_of_acc_device_t): New.
5594 (acc_init_1): Initialise default-numbered device, not zeroth.
5595 (acc_shutdown_1): Close all devices of a given type.
5596 (goacc_destroy_thread): Don't use base_dev.
5597 (lazy_open, lazy_init, lazy_init_and_open): Remove.
5598 (goacc_attach_host_thread_to_device): New.
5599 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
5600 (acc_get_num_devices): Don't use base_dev.
5601 (acc_set_device_type): Reimplement.
5602 (acc_get_device_type): Don't use base_dev.
5603 (acc_get_device_num): Tweak logic.
5604 (acc_set_device_num): Likewise.
5605 (acc_on_device): Use acc_get_device_type.
5606 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
5607 (goacc_lazy_initialize): Reimplement with acc_init and
5608 goacc_attach_host_thread_to_device.
5609 * oacc-int.h (goacc_thread): Add base_dev field.
5610 (base_dev): Remove extern declaration.
5611 (goacc_attach_host_thread_to_device): Add prototype.
5612 * oacc-mem.c (acc_malloc): Use current thread's device instead of
5613 base_dev.
5614 (acc_free): Likewise.
5615 (acc_memcpy_to_device): Likewise.
5616 (acc_memcpy_from_device): Likewise.
5617 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
5618 goacc_lazy_initialize (throughout).
5619 (GOACC_parallel): Use tgt_offset to locate target functions.
5620 * target.c (gomp_map_vars): Don't set tgt->mem_map.
5621 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
5622 (gomp_load_plugin_for_device): Remove open_device, close_device,
5623 get_device_num, set_device_num openacc hook initialisation. Don't set
5624 openacc.target_data.
5625 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
5626 (GOMP_OFFLOAD_openacc_close_device)
5627 (GOMP_OFFLOAD_openacc_get_device_num)
5628 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
5629 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
5630 to int.
5631 * plugin/plugin-nvptx.c (ptx_inited): Remove.
5632 (instantiated_devices, ptx_dev_lock): New.
5633 (struct ptx_image_data): New.
5634 (ptx_devices, ptx_images, ptx_image_lock): New.
5635 (fini_streams_for_device): Reorder cuStreamDestroy call.
5636 (nvptx_get_num_devices): Remove forward declaration.
5637 (nvptx_init): Change return type to bool.
5638 (nvptx_fini): Remove.
5639 (nvptx_attach_host_thread_to_device): New.
5640 (nvptx_open_device): Return struct ptx_device* instead of void*.
5641 (nvptx_close_device): Change argument type to struct ptx_device*,
5642 return type to void.
5643 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
5644 (kernel_target_data, kernel_host_table): Remove static globals.
5645 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
5646 (GOMP_OFFLOAD_init_device): Reimplement.
5647 (GOMP_OFFLOAD_fini_device): Likewise.
5648 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
5649 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
5650 (GOMP_OFFLOAD_host2dev): Use ORD argument.
5651 (GOMP_OFFLOAD_openacc_open_device)
5652 (GOMP_OFFLOAD_openacc_close_device)
5653 (GOMP_OFFLOAD_openacc_set_device_num)
5654 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
5655 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
5656 (device number).
5657
5658 testsuite/
5659 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
5660
a51df54e
IV
56612015-04-06 Ilya Verbin <ilya.verbin@intel.com>
5662
5663 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
5664 * libgomp.h (struct gomp_memory_mapping): Remove.
5665 (struct target_mem_desc): Change type of mem_map from
5666 gomp_memory_mapping * to splay_tree_s *.
5667 (struct gomp_device_descr): Remove register_image_func, get_table_func.
5668 Add load_image_func, unload_image_func.
5669 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
5670 Remove offload_regions_registered.
5671 (gomp_init_tables): Remove.
5672 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
5673 to splay_tree_s *.
5674 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
5675 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
5676 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
5677 offload_regions_registered.
5678 Initialize load_image_func, unload_image_func, mem_map.root.
5679 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
5680 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
5681 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
5682 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
5683 gomp_memory_mapping *. Use dev's lock and splay_tree.
5684 (lookup_dev): Use dev's lock.
5685 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
5686 (acc_is_present): Likewise.
5687 (acc_map_data): Likewise.
5688 (acc_unmap_data): Likewise. Use dev's lock.
5689 (present_create_copy): Likewise.
5690 (delete_copyout): Pass dev to lookup_host instead of mem_map.
5691 (update_dev_host): Likewise.
5692 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
5693 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
5694 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
5695 (GOMP_OFFLOAD_get_table): Remove
5696 (GOMP_OFFLOAD_load_image): New function.
5697 (GOMP_OFFLOAD_unload_image): New function.
5698 * target.c (register_lock): New mutex for offload image registration.
5699 (num_devices): Do not guard with PLUGIN_SUPPORT.
5700 (gomp_realloc_unlock): New static function.
5701 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
5702 before gomp_fatal.
5703 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
5704 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
5705 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
5706 mem_map's.
5707 (gomp_unmap_vars): Likewise.
5708 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
5709 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
5710 (gomp_offload_image_to_device): New static function.
5711 (GOMP_offload_register): Add mutex lock.
5712 Call gomp_offload_image_to_device for all initialized devices.
5713 Replace gomp_realloc with gomp_realloc_unlock.
5714 (GOMP_offload_unregister): New function.
5715 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
5716 get_table_func from the plugin with calls to init_device_func and
5717 gomp_offload_image_to_device.
5718 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
5719 to splay_tree_s *.
5720 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
5721 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
5722 (GOMP_target_data): Do not call gomp_init_tables.
5723 (GOMP_target_update): Likewise. Remove argument from gomp_update.
5724 (gomp_load_plugin_for_device): Replace register_image and get_table
5725 with load_image and unload_image in DLSYM ().
5726 (gomp_register_images_for_device): Remove function.
5727 (gomp_target_init): Do not initialize current_device.mem_map.*,
5728 current_device.offload_regions_registered.
5729 Remove call to gomp_register_images_for_device.
5730 Do not free offload_images and num_offload_images.
5731
6c384511
JJ
57322015-03-30 Jakub Jelinek <jakub@redhat.com>
5733
5734 PR fortran/65597
5735 * testsuite/libgomp.fortran/pr65597.f90: New test.
5736
3e8165a5
TV
57372015-03-27 Tom de Vries <tom@codesourcery.com>
5738
5739 PR testsuite/65594
5740 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
5741 (init, check): New function.
5742 (foo): Change return type to void.
5743 (main): Call init and check.
5744
4d688c9a
TV
57452015-03-27 Tom de Vries <tom@codesourcery.com>
5746
5747 PR testsuite/65594
5748 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
5749 (foo): Use M for non-inner loops to scale down test-case.
5750
01c0b3b0
KT
57512015-03-25 Kai Tietz <ktietz@redhat.com>
5752
5753 PR libgomp/64972
5754 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
5755 (GOACC_data_start): Likewise.
5756 * target.c (gomp_map_vars): Likewise.
5757
844d9a76
JDA
57582015-03-21 John David Anglin <danglin@gcc.gnu.org>
5759
5760 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
5761 hppa*-*-hpux*.
5762
9b65e171
JJ
57632015-03-19 Jakub Jelinek <jakub@redhat.com>
5764
5765 * testsuite/libgomp.c/target-10.c: New test.
5766 * testsuite/libgomp.c++/target-4.C: New test.
5767
db397e2e
IV
57682015-03-13 Ilya Verbin <ilya.verbin@intel.com>
5769
5770 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
5771 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
5772
cd93945d
SH
57732015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
5774
5775 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
5776 * configure.ac (*-*-rtems*): Assume Pthread is supported.
5777 (pthread.h): Check for this header file.
5778 * configure: Regenerate.
5779
05deba9f
TV
57802015-02-25 Tom de Vries <tom@codesourcery.com>
5781
5782 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
5783 (check_reduction_op, check_reduction_macro, max, min):
5784 Declare.
5785 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
5786 function.
5787 (main): Use new functions.
5788
196904d8
IT
57892015-02-18 Ilya Tocar <ilya.tocar@intel.com>
5790
5791 * target.c (gomp_load_plugin_for_device): Use const char * instead of
5792 char * for variables holding dlerror return values.
5793 (DLSYM_OPT): Ditto.
5794
a2818955
TS
57952015-02-17 Thomas Schwinge <thomas@codesourcery.com>
5796
5797 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
5798
26f93312
TS
57992015-02-17 Thomas Schwinge <thomas@codesourcery.com>
5800 Cesar Philippidis <cesar@codesourcery.com>
5801
5802 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
5803 GOACC_ctaid, and GOACC_nctaid routines.
5804
fa01ffcc
JJ
58052015-02-11 Jakub Jelinek <jakub@redhat.com>
5806
5807 PR c/64824
5808 * testsuite/libgomp.c/atomic-18.c: New test.
5809 * testsuite/libgomp.c++/atomic-16.C: New test.
5810
4886ec8e
JJ
58112015-02-04 Jakub Jelinek <jakub@redhat.com>
5812
5813 PR c/64824
5814 PR c/64868
5815 * testsuite/libgomp.c/pr64824.c: New test.
5816 * testsuite/libgomp.c/pr64868.c: New test.
5817 * testsuite/libgomp.c++/pr64824.C: New test.
5818 * testsuite/libgomp.c++/pr64868.C: New test.
5819
02d3e45e
DE
58202015-02-01 David Edelsohn <dje.gcc@gmail.com>
5821
5822 PR libgomp/64635
5823 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
5824 Link with -lpthread.
5825 * config/aix/plugin-suffix.h: Delete.
5826
b5f7a6ca
JH
58272015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
5828
5829 PR libgomp/64635
5830 * configure.tgt (*-*-aix*): Use config_path "aix posix".
5831 (*-*-darwin*): Use config_path "bsd darwin posix".
5832 (*-*-hpux*): Use config_path "hpux posix".
5833 * target.c: Add include of plugin-suffix.h and use
5834 SONAME_SUFFIX macro.
5835 * config/aix/plugin-suffix.h: New file.
5836 * config/darwin/plugin-suffix.h: New file.
5837 * config/hpux/plugin-suffix.h: New file.
5838 * config/posix/plugin-suffix.h: New file.
5839
b8910447
JJ
58402015-01-23 Jakub Jelinek <jakub@redhat.com>
5841
5842 PR middle-end/64734
5843 * libgomp.c/pr64734.c: New test.
5844
a0c88d06
TV
58452015-01-23 Tom de Vries <tom@codesourcery.com>
5846
5847 PR libgomp/64672
5848 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
5849
1506ae0e
TV
58502015-01-23 Tom de Vries <tom@codesourcery.com>
5851
5852 PR libgomp/64707
5853 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
5854 dg-options.
5855
128b26dc
TS
58562015-01-19 Thomas Schwinge <thomas@codesourcery.com>
5857
bed62c21 5858 PR libgomp/64625
128b26dc
TS
5859 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
5860 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
5861 formal parameter. Update all users.
5862 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
5863 Document unused formal parameter.
5864
6e36114c
TS
58652015-01-16 Thomas Schwinge <thomas@codesourcery.com>
5866
5867 * oacc-parallel.c: Don't include <alloca.h>.
5868 (GOACC_parallel): Use gomp_alloca instead of alloca.
5869
973e9808
GP
58702015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
5871
5872 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
5873
41dbbb37
TS
58742015-01-15 Thomas Schwinge <thomas@codesourcery.com>
5875 James Norris <jnorris@codesourcery.com>
5876 Tom de Vries <tom@codesourcery.com>
5877 Julian Brown <julian@codesourcery.com>
5878 Cesar Philippidis <cesar@codesourcery.com>
5879 Nathan Sidwell <nathan@codesourcery.com>
5880 Tobias Burnus <burnus@net-b.de>
5881
5882 * Makefile.am (search_path): Add $(top_srcdir)/../include.
5883 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
5884 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
5885 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
5886 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
5887 Include $(top_srcdir)/plugin/Makefrag.am.
5888 (nodist_libsubinclude_HEADERS): Add openacc.h.
5889 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
5890 openacc.f90, openacc.mod, openacc_kinds.mod.
5891 (omp_lib.mod): Generalize into...
5892 (%.mod): ... this new rule.
5893 (openacc_kinds.mod, openacc.mod): New rules.
5894 * plugin/configfrag.ac: New file.
5895 * configure.ac: Move plugin/offloading support into it. Include
5896 it. Instantiate testsuite/libgomp-test-support.pt.exp.
5897 * plugin/Makefrag.am: New file.
5898 * testsuite/Makefile.am (OFFLOAD_TARGETS)
5899 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
5900 export.
5901 (libgomp-test-support.exp): New rule.
5902 (all-local): Depend on it.
5903 * Makefile.in: Regenerate.
5904 * testsuite/Makefile.in: Regenerate.
5905 * config.h.in: Likewise.
5906 * configure: Likewise.
5907 * configure.tgt: Harden shell syntax.
5908 * env.c: Include "oacc-int.h".
5909 (parse_acc_device_type): New function.
5910 (gomp_debug_var, goacc_device_type, goacc_device_num): New
5911 variables.
5912 (initialize_env): Initialize those. Call
5913 goacc_runtime_initialize.
5914 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
5915 (gomp_fatal): Call gomp_vfatal.
5916 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
5917 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
5918 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
5919 (splay_tree_node, splay_tree, splay_tree_key)
5920 (struct target_mem_desc, struct splay_tree_key_s)
5921 (struct gomp_memory_mapping, struct acc_dispatch_t)
5922 (struct gomp_device_descr, gomp_acc_insert_pointer)
5923 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
5924 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
5925 (gomp_free_memmap, gomp_fini_device): New declarations.
5926 (gomp_vdebug, gomp_debug): New macros.
5927 Include "splay-tree.h".
5928 * libgomp.map (OACC_2.0): New symbol version. Use for
5929 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
5930 acc_set_device_type_h_, acc_get_device_type,
5931 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
5932 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
5933 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
5934 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
5935 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
5936 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
5937 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
5938 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
5939 acc_copyin_array_h_, acc_present_or_copyin,
5940 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
5941 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
5942 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
5943 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
5944 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
5945 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
5946 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
5947 acc_update_device, acc_update_device_32_h_,
5948 acc_update_device_64_h_, acc_update_device_array_h_,
5949 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
5950 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
5951 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
5952 acc_is_present_64_h_, acc_is_present_array_h_,
5953 acc_memcpy_to_device, acc_memcpy_from_device,
5954 acc_get_current_cuda_device, acc_get_current_cuda_context,
5955 acc_get_cuda_stream, acc_set_cuda_stream.
5956 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
5957 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
5958 GOACC_update, GOACC_wait, GOACC_get_thread_num,
5959 GOACC_get_num_threads.
5960 (GOMP_PLUGIN_1.0): New symbol version. Use for
5961 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
5962 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
5963 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
5964 GOMP_PLUGIN_acc_thread.
5965 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
5966 environment variable.
5967 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
5968 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
5969 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
5970 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
5971 (splay_tree_remove): New declarations.
5972 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
5973 (splay_tree_remove, splay_tree_lookup): Move into...
5974 * splay-tree.c: ... this new file.
5975 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
5976 (splay_tree_node, splay_tree, splay_tree_key)
5977 (struct target_mem_desc, struct splay_tree_key_s)
5978 (struct gomp_device_descr): Don't declare.
5979 (num_devices_openmp): New variable.
5980 (gomp_get_num_devices ): Use it.
5981 (gomp_init_targets_once): New function.
5982 (gomp_get_num_devices ): Use it.
5983 (get_kind, gomp_copy_from_async, gomp_free_memmap)
5984 (gomp_fini_device, gomp_register_image_for_device): New functions.
5985 (gomp_map_vars): Add devaddrs parameter.
5986 (gomp_update): Add mm parameter.
5987 (gomp_init_device): Move most of it into...
5988 (gomp_init_tables): ... this new function.
5989 (gomp_register_images_for_device): Remove function.
5990 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
5991 Make them hidden instead of static.
5992 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
5993 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
5994 (GOMP_target_end_data, GOMP_target_update)
5995 (gomp_load_plugin_for_device, gomp_target_init): Update for
5996 OpenACC changes.
5997 * oacc-async.c: New file.
5998 * oacc-cuda.c: Likewise.
5999 * oacc-host.c: Likewise.
6000 * oacc-init.c: Likewise.
6001 * oacc-int.h: Likewise.
6002 * oacc-mem.c: Likewise.
6003 * oacc-parallel.c: Likewise.
6004 * oacc-plugin.c: Likewise.
6005 * oacc-plugin.h: Likewise.
6006 * oacc-ptx.h: Likewise.
6007 * openacc.f90: Likewise.
6008 * openacc.h: Likewise.
6009 * openacc_lib.h: Likewise.
6010 * plugin/plugin-host.c: Likewise.
6011 * plugin/plugin-nvptx.c: Likewise.
6012 * libgomp-plugin.c: Likewise.
6013 * libgomp-plugin.h: Likewise.
6014 * libgomp_target.h: Remove file after merging content into the
6015 former file. Update all users.
6016 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
6017 (offload_targets_s, offload_targets_s_openacc): New variables.
6018 (check_effective_target_openacc_nvidia_accel_present)
6019 (check_effective_target_openacc_nvidia_accel_selected): New
6020 procedures.
6021 (libgomp_init): Update for OpenACC changes.
6022 * testsuite/libgomp-test-support.exp.in: New file.
6023 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
6024 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6025 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6026 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
6027 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
6028 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6029 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
6030 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6031 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
6032 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
6033 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
6034 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6035 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
6036 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6037 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
6038 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
6039 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
6040 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
6041 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
6042 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
6043 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
6044 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
6045 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
6046 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6047 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6048 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6049 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6050 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6051 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6052 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6053 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6054 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
6055 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
6056 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
6057 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
6058 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6059 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6060 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6061 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
6062 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
6063 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
6064 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
6065 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6066 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6067 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6068 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
6069 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6070 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6071 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6072 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6073 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6074 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
6075 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6076 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6077 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6078 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6079 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6080 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6081 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6082 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
6083 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
6084 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
6085 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6086 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6087 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6088 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
6089 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
6090 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6091 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6092 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6093 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
6094 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6095 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6096 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6097 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
6098 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
6099 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6100 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6101 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
6102 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
6103 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
6104 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
6105 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6106 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6107 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6108 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
6109 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
6110 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6111 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6112 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
6113 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
6114 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
6115 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
6116 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6117 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6118 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6119 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6120 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
6121 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6122 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6123 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
6124 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
6125 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
6126 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6127 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
6128 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
6129 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
6130 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
6131 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
6132 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6133 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
6134 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
6135 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6136 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
6137 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
6138 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
6139 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
6140 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
6141 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
6142 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
6143 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
6144 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
6145 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6146 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
6147 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
6148 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
6149 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
6150 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
6151 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
6152 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
6153 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
6154 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
6155 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6156 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
6157 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6158 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6159 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6160 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6161 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6162 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
6163 Likewise.
6164 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
6165 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
6166 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
6167 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
6168 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
6169 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6170 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
6171 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6172 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6173 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6174 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
6175 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
6176 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
6177 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
6178 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
6179 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
6180 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
6181 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
6182 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
6183 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
6184 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
6185 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
6186 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
6187 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
6188 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
6189 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
6190 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6191 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6192 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6193 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6194 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6195 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6196 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6197 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6198 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
6199 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
6200 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
6201 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
6202 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
6203 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
6204 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
6205 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
6206 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
6207 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
6208 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
6209 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
6210 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
6211 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
6212 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
6213 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
6214 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
6215 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
6216 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
6217 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6218 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
6219 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
6220 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
6221 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
6222 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
6223 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
6224
f1f3453e
TS
62252015-01-10 Thomas Schwinge <thomas@codesourcery.com>
6226 Julian Brown <julian@codesourcery.com>
6227 David Malcolm <dmalcolm@redhat.com>
6228
6229 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
6230 to "GNU Offloading and Multi Processing Runtime Library". Change
6231 all users.
6232 * configure: Regenerate.
6233 * libgomp.texi: Update.
6234
f9a0eca4
TS
62352015-01-08 Thomas Schwinge <thomas@codesourcery.com>
6236
b335ef4e
TS
6237 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
6238 "$tgt_dir/lib32".
6239 * configure: Regenerate.
6240
f9a0eca4
TS
6241 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
6242 "intelmic" in $offload_targets.
6243
b67cd4e3
JJ
62442015-01-05 Jakub Jelinek <jakub@redhat.com>
6245
5624e564
JJ
6246 Update copyright years.
6247
b67cd4e3
JJ
6248 * libgomp.texi: Bump @copying's copyright year.
6249
3b41b583
KT
62502014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6251
6252 * testsuite/lib/libgomp.exp: Load target-utils.exp.
6253 Move load of target-supportes.exp earlier.
6254
2354caec
IV
62552014-12-10 Ilya Verbin <ilya.verbin@intel.com>
6256
6257 * testsuite/libgomp.c/target-9.c: New test.
6258
f50eecba
VR
62592014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
6260
6261 * config.h.in: Regenerate.
6262 * configure: Regenerate.
6263 * configure.ac: Add GCC_CHECK_EMUTLS.
6264 * libgomp.h: Add check for USE_EMUTLS: this case
6265 is equal to HAVE_TLS.
6266 * team.c: Likewise.
6267
68bc9270
UB
62682014-12-03 Uros Bizjak <ubizjak@gmail.com>
6269
6270 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
6271
476ff787
AT
62722014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
6273 Ilya Verbin <ilya.verbin@intel.com>
6274
6275 * testsuite/libgomp.c/target-critical-1.c: New test.
6276
31a30e62
JJ
62772014-11-26 Jakub Jelinek <jakub@redhat.com>
6278
6279 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 6280 to dg-options unless expensive testing is on.
31a30e62
JJ
6281 (TESTITERS): Define to N if not defined.
6282 (main): Use TESTITERS instead of N.
6283 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
6284 dg-additional-options depending on whether expensive testing is on.
6285 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
6286 Decrease N to 100000 and CHUNKSZ to 10000.
6287
3f9e8f13
JJ
62882014-11-24 Jakub Jelinek <jakub@redhat.com>
6289
6290 PR fortran/63938
31a30e62
JJ
6291 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
6292 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 6293
c8451a46
SE
62942014-11-21 Steve Ellcey <sellcey@imgtec.com>
6295
6296 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
6297
a699d672
L
62982014-11-21 H.J. Lu <hongjiu.lu@intel.com>
6299
6300 PR bootstrap/63784
6301 * configure: Regenerated.
6302
4a19f719
UB
63032014-11-19 Uros Bizjak <ubizjak@gmail.com>
6304
6305 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
6306 vect_simd_clones effective target.
6307 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
6308
b1bf6c52
JJ
63092014-11-14 Jakub Jelinek <jakub@redhat.com>
6310
6311 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
6312 of 32 as block_size.
6313 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
6314 instead of 32 as block_size.
6315
d64ae614
AT
63162014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
6317 Ilya Verbin <ilya.verbin@intel.com>
6318
6319 * Makefile.in: Regenerate.
6320 * configure: Regenerate.
6321 * configure.ac: Set up offload_additional_options,
6322 offload_additional_lib_paths and offload_targets.
6323 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
6324 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
6325 * testsuite/Makefile.in: Regenerate.
6326 * testsuite/lib/libgomp.exp (libgomp_init): Append
6327 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
6328 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
6329 build directory to LD_LIBRARY_PATH for intelmic offload targets.
6330
122d7303
AT
63312014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
6332 Ilya Verbin <ilya.verbin@intel.com>
6333 Kirill Yukhin <kirill.yukhin@intel.com>
6334 Ilya Tocar <ilya.tocar@intel.com>
6335
6336 * testsuite/lib/libgomp.exp
6337 (check_effective_target_offload_device): New.
6338 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
6339 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
6340 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
6341 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
6342 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
6343 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
6344 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
6345 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
6346 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
6347 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
6348 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
6349 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
6350 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
6351 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
6352 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
6353 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
6354 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
6355 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
6356 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
6357 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
6358 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
6359 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
6360 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
6361 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
6362 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
6363 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
6364 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
6365 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
6366 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
6367 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
6368 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
6369 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
6370 * testsuite/libgomp.c/target-7.c: Fix test.
6371 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
6372 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
6373 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
6374 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
6375 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
6376 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
6377 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
6378 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
6379 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
6380 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
6381 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
6382 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
6383 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
6384 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
6385 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
6386 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
6387 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
6388 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
6389 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
6390 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
6391 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
6392 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
6393 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
6394 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
6395 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
6396 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
6397 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
6398 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
6399 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
6400 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
6401 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
6402
1df3f842
JJ
64032014-11-13 Jakub Jelinek <jakub@redhat.com>
6404 Ilya Verbin <ilya.verbin@intel.com>
6405 Thomas Schwinge <thomas@codesourcery.com>
6406 Andrey Turetskiy <andrey.turetskiy@intel.com>
6407
6408 * libgomp.map (GOMP_4.0.1): New symbol version.
6409 Add GOMP_offload_register.
6410 * libgomp_target.h: New file.
6411 * splay-tree.h: New file.
6412 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
6413 (gomp_target_init): New forward declaration.
6414 (gomp_is_initialized): New static variable.
6415 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
6416 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
6417 New structures.
6418 (offload_images, num_offload_images, devices, num_devices): New static
6419 variables.
6420 (splay_compare): New static function.
6421 (struct gomp_device_descr): New structure.
6422 (gomp_get_num_devices): Call gomp_target_init.
6423 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
6424 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
6425 (GOMP_offload_register): New function.
6426 (GOMP_target): Arrange for host callback to be performed in a separate
6427 initial thread and contention group, inheriting ICVs from
6428 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
6429 Add device initialization and lookup for target function in splay tree.
6430 (GOMP_target_data): Add device initialization and call gomp_map_vars.
6431 (GOMP_target_end_data): Call gomp_unmap_vars.
6432 (GOMP_target_update): Add device initialization and call gomp_update.
6433 (gomp_load_plugin_for_device, gomp_register_images_for_device)
6434 (gomp_target_init): New static functions.
6435
85c64bbe
BS
64362014-11-13 Bernd Schmidt <bernds@codesourcery.com>
6437 Thomas Schwinge <thomas@codesourcery.com>
6438 Ilya Verbin <ilya.verbin@intel.com>
6439 Andrey Turetskiy <andrey.turetskiy@intel.com>
6440
6441 * config.h.in: Regenerate.
6442 * configure: Regenerate.
6443 * configure.ac: Check for libdl, required for plugin support.
6444 (PLUGIN_SUPPORT): Define if plugins are supported.
6445 (enable_offload_targets): Support Intel MIC targets.
6446 (OFFLOAD_TARGETS): List of target names suitable for offloading.
6447
ebf6d33b
FXC
64482014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
6449
6450 PR target/63610
6451 * configure: Regenerate.
6452
8c768629
RO
64532014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6454
6455 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
6456
c1d62412
MP
64572014-10-06 Marek Polacek <polacek@redhat.com>
6458
6459 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
6460 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
6461 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
6462 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6463
44a0c6cb
MP
64642014-10-06 Marek Polacek <polacek@redhat.com>
6465
6466 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
6467 * testsuite/libgomp.c/nqueens-1.c: Likewise.
6468 * testsuite/libgomp.c/pr26943-3.c: Likewise.
6469 * testsuite/libgomp.c/pr26943-4.c: Likewise.
6470 * testsuite/libgomp.c/pr36802-2.c: Likewise.
6471 * testsuite/libgomp.c/pr36802-3.c: Likewise.
6472 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
6473 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
6474 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
6475 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
6476 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
6477 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
6478 * testsuite/libgomp.c/omp-single-1.c: Likewise.
6479 * testsuite/libgomp.c/omp-single-2.c: Likewise.
6480 * testsuite/libgomp.c/omp_matvec.c: Likewise.
6481 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
6482 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
6483 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
6484 declarations.
6485
5771c391
JJ
64862014-10-03 Jakub Jelinek <jakub@redhat.com>
6487
6488 PR libgomp/61200
6489 * testsuite/libgomp.c/pr61200.c: New test.
6490
bce16b88
JJ
64912014-09-18 Jakub Jelinek <jakub@redhat.com>
6492
6493 PR c++/63248
6494 * testsuite/libgomp.c++/pr63248.C: New test.
6495
3696163c
JJ
64962014-08-04 Jakub Jelinek <jakub@redhat.com>
6497
6498 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
6499 is not zero, but taskgroup->children is NULL and there are
6500 any task->children, schedule those instead of waiting.
6501 * testsuite/libgomp.c/depend-6.c: New test.
6502 * testsuite/libgomp.c/depend-7.c: New test.
6503 * testsuite/libgomp.c/depend-8.c: New test.
6504 * testsuite/libgomp.c/depend-9.c: New test.
6505 * testsuite/libgomp.c/depend-10.c: New test.
6506
0494285a
JJ
65072014-08-01 Jakub Jelinek <jakub@redhat.com>
6508
6509 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
6510 (struct gomp_taskwait): New type.
6511 (struct gomp_task): Add taskwait and parent_depends_on, remove
6512 in_taskwait and taskwait_sem fields.
6513 (gomp_finish_task): Don't destroy taskwait_sem.
6514 * task.c (gomp_init_task): Don't init in_taskwait, instead init
6515 taskwait and parent_depends_on.
6516 (GOMP_task): For if (0) tasks with depend clause that depend on
6517 earlier tasks don't defer them, instead call
6518 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
6519 Initialize redundant_out field, for redundant out entries just
6520 move them at the end of linked list instead of removing them
6521 completely, and set redundant_out flag instead of redundant.
6522 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
6523 that task.
6524 (gomp_task_run_post_handle_dependers): If parent is in
6525 gomp_task_maybe_wait_for_dependencies and newly runnable task
6526 is not parent_depends_on, queue it in parent->children linked
6527 list after all runnable tasks with parent_depends_on set.
6528 Adjust for addition of taskwait indirection.
6529 (gomp_task_run_post_remove_parent): If parent is in
6530 gomp_task_maybe_wait_for_dependencies and task to be removed
6531 is parent_depends_on, decrement n_depend and if needed awake
6532 parent. Adjust for addition of taskwait indirection.
6533 (GOMP_taskwait): Adjust for addition of taskwait indirection.
6534 (gomp_task_maybe_wait_for_dependencies): New function.
6535 * testsuite/libgomp.c/depend-5.c: New test.
6536
60ab4b44
TB
65372014-07-13 Tobias Burnus <burnus@net-b.de>
6538
6539 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 6540 with TS 18508/Fortran 2015.
60ab4b44 6541
773ec47f
MP
65422014-07-06 Marek Polacek <polacek@redhat.com>
6543
6544 PR c/6940
6545 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
6546
f707da16
JJ
65472014-07-03 Jakub Jelinek <jakub@redhat.com>
6548
6549 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
6550 matches regex $lang_source_re, add $lang_include_flags to options.
6551 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
6552 * testsuite/libgomp.c++/c++.exp: Likewise.
6553 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
6554 and lang_include_flags instead of adding -fintrinsic-modules-path= to
6555 ALWAYS_CFLAGS.
6556 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
6557
07b6c044
TS
65582014-07-03 Thomas Schwinge <thomas@codesourcery.com>
6559
6560 * testsuite/libgomp.fortran/fortran.exp: Explain
6561 gfortran-dg-runtest usage.
6562
da6f124d
JJ
65632014-06-25 Jakub Jelinek <jakub@redhat.com>
6564
6565 * testsuite/libgomp.fortran/simd5.f90: New test.
6566 * testsuite/libgomp.fortran/simd6.f90: New test.
6567 * testsuite/libgomp.fortran/simd7.f90: New test.
6568
b46ebd6c
JJ
65692014-06-24 Jakub Jelinek <jakub@redhat.com>
6570
56ad0e38
JJ
6571 * testsuite/libgomp.c/for-2.c: Define SC to static for
6572 #pragma omp for simd testing.
6573 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
6574 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
6575 SC macro.
6576 * testsuite/libgomp.c/simd-14.c: New test.
6577 * testsuite/libgomp.c/simd-15.c: New test.
6578 * testsuite/libgomp.c/simd-16.c: New test.
6579 * testsuite/libgomp.c/simd-17.c: New test.
6580 * testsuite/libgomp.c++/for-10.C: Define SC to static for
6581 #pragma omp for simd testing.
6582 * testsuite/libgomp.c++/simd10.C: New test.
6583 * testsuite/libgomp.c++/simd11.C: New test.
6584 * testsuite/libgomp.c++/simd12.C: New test.
6585 * testsuite/libgomp.c++/simd13.C: New test.
6586
b46ebd6c
JJ
6587 * testsuite/libgomp.fortran/aligned1.f03: New test.
6588 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
6589 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
6590 tasks with !$omp parallel !$omp single.
6591 * testsuite/libgomp.fortran/target8.f90: New test.
6592 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
6593 not to use trim in the combiner, instead call elemental function.
6594 (fn): New elemental function.
6595 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
6596 Make elemental.
6597 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
6598 omp_in): Likewise.
6599 * testsuite/libgomp.fortran/udr12.f90: New test.
6600 * testsuite/libgomp.fortran/udr13.f90: New test.
6601 * testsuite/libgomp.fortran/udr14.f90: New test.
6602 * testsuite/libgomp.fortran/udr15.f90: New test.
6603
f014c653
JJ
66042014-06-18 Jakub Jelinek <jakub@redhat.com>
6605
6606 * omp_lib.f90.in (openmp_version): Set to 201307.
6607 * omp_lib.h.in (openmp_version): Likewise.
6608 * testsuite/libgomp.c/target-8.c: New test.
6609 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
6610 and inbranch clauses.
6611 * testsuite/libgomp.fortran/depend-3.f90: New test.
6612 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
6613 openmp_version.
6614 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
6615 * testsuite/libgomp.fortran/target1.f90: New test.
6616 * testsuite/libgomp.fortran/target2.f90: New test.
6617 * testsuite/libgomp.fortran/target3.f90: New test.
6618 * testsuite/libgomp.fortran/target4.f90: New test.
6619 * testsuite/libgomp.fortran/target5.f90: New test.
6620 * testsuite/libgomp.fortran/target6.f90: New test.
6621 * testsuite/libgomp.fortran/target7.f90: New test.
6622
92d28cbb
JJ
66232014-06-10 Jakub Jelinek <jakub@redhat.com>
6624
6625 PR fortran/60928
6626 * testsuite/libgomp.fortran/allocatable9.f90: New test.
6627 * testsuite/libgomp.fortran/allocatable10.f90: New test.
6628 * testsuite/libgomp.fortran/allocatable11.f90: New test.
6629 * testsuite/libgomp.fortran/allocatable12.f90: New test.
6630 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
6631 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
6632 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
6633 * testsuite/libgomp.fortran/associate1.f90: New test.
6634 * testsuite/libgomp.fortran/associate2.f90: New test.
6635 * testsuite/libgomp.fortran/procptr1.f90: New test.
6636
5f23671d
JJ
66372014-06-06 Jakub Jelinek <jakub@redhat.com>
6638
6639 * testsuite/libgomp.fortran/simd1.f90: New test.
6640 * testsuite/libgomp.fortran/udr1.f90: New test.
6641 * testsuite/libgomp.fortran/udr2.f90: New test.
6642 * testsuite/libgomp.fortran/udr3.f90: New test.
6643 * testsuite/libgomp.fortran/udr4.f90: New test.
6644 * testsuite/libgomp.fortran/udr5.f90: New test.
6645 * testsuite/libgomp.fortran/udr6.f90: New test.
6646 * testsuite/libgomp.fortran/udr7.f90: New test.
6647 * testsuite/libgomp.fortran/udr8.f90: New test.
6648 * testsuite/libgomp.fortran/udr9.f90: New test.
6649 * testsuite/libgomp.fortran/udr10.f90: New test.
6650 * testsuite/libgomp.fortran/udr11.f90: New test.
6651
0389fbb5
UB
66522014-05-27 Uros Bizjak <ubizjak@gmail.com>
6653
6654 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
6655 vect_simd_clones effective target.
6656 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
6657
decaaec8
JJ
66582014-05-21 Jakub Jelinek <jakub@redhat.com>
6659
6660 PR middle-end/61252
6661 * testsuite/libgomp.c++/simd-9.C: New test.
6662
72832460
UB
66632014-05-18 Uros Bizjak <ubizjak@gmail.com>
6664
6665 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
6666 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
6667 texts according to their @menu entry positions.
6668
dd2fc525
JJ
66692014-05-11 Jakub Jelinek <jakub@redhat.com>
6670
6671 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
6672 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
6673 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
6674 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
6675 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
6676 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
6677 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
6678 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
6679 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
6680 * testsuite/libgomp.fortran/depend-1.f90: New test.
6681 * testsuite/libgomp.fortran/depend-2.f90: New test.
6682 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
6683 * testsuite/libgomp.fortran/simd1.f90: New test.
6684 * testsuite/libgomp.fortran/simd2.f90: New test.
6685 * testsuite/libgomp.fortran/simd3.f90: New test.
6686 * testsuite/libgomp.fortran/simd4.f90: New test.
6687 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
6688
95782571
JJ
66892014-05-02 Jakub Jelinek <jakub@redhat.com>
6690
6691 * testsuite/libgomp.c/simd-10.c: New test.
6692 * testsuite/libgomp.c/simd-11.c: New test.
6693 * testsuite/libgomp.c/simd-12.c: New test.
6694 * testsuite/libgomp.c/simd-13.c: New test.
6695
f7468577
JJ
66962014-04-24 Jakub Jelinek <jakub@redhat.com>
6697
42056eac
JJ
6698 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
6699 atomic type clauses in any order and optional comma in between.
6700 * testsuite/libgomp.c++/atomic-15.C: Likewise.
6701 * testsuite/libgomp.c/atomic-17.c: Likewise.
6702
f7468577
JJ
6703 * testsuite/libgomp.c/simd-7.c: New test.
6704 * testsuite/libgomp.c/simd-8.c: New test.
6705 * testsuite/libgomp.c/simd-9.c: New test.
6706 * testsuite/libgomp.c/loop-16.c: New test.
6707
ab18f2f5
RH
67082014-04-02 Richard Henderson <rth@redhat.com>
6709
6710 * config/linux/futex.h (futex_wait): Get error value from errno.
6711 (futex_wake): Likewise.
6712
8bcc90b0
JJ
67132014-03-25 Jakub Jelinek <jakub@redhat.com>
6714
6715 PR c++/60331
6716 * testsuite/libgomp.c++/udr-11.C: New test.
6717 * testsuite/libgomp.c++/udr-12.C: New test.
6718 * testsuite/libgomp.c++/udr-13.C: New test.
6719 * testsuite/libgomp.c++/udr-14.C: New test.
6720 * testsuite/libgomp.c++/udr-15.C: New test.
6721 * testsuite/libgomp.c++/udr-16.C: New test.
6722 * testsuite/libgomp.c++/udr-17.C: New test.
6723 * testsuite/libgomp.c++/udr-18.C: New test.
6724 * testsuite/libgomp.c++/udr-19.C: New test.
6725
18d73c7f
RS
67262014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
6727
6728 Update copyright years
6729
f9030485
RS
67302014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
6731
6732 * hashtab.h: Use the standard form for the copyright notice.
6733
98db73df
TB
67342014-01-02 Tobias Burnus <burnus@net-b.de>
6735
6736 * libgomp.texi: Bump @copying's copyright year.
6737
ae246f7f
AT
67382013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
6739
6740 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
6741 alloca () with __builtin_alloca ().
6742 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
6743 * testsuite/libgomp.c/lock-3.c: Likewise.
6744 * testsuite/libgomp.c/pr48591.c: Likewise.
6745
fa00a5fe
JJ
67462013-12-17 Jakub Jelinek <jakub@redhat.com>
6747
6748 PR testsuite/59534
6749 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
6750 comparisons.
6751
e9792e1d
JJ
67522013-12-16 Jakub Jelinek <jakub@redhat.com>
6753
6754 PR libgomp/58756
6755 * testsuite/libgomp.c/pr58756.c: New test.
6756
cab37c89
JJ
67572013-12-12 Jakub Jelinek <jakub@redhat.com>
6758
6759 PR libgomp/59467
6760 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
6761 !$omp parallel.
6762
de14871c
TS
67632013-11-07 Thomas Schwinge <thomas@codesourcery.com>
6764
1707a5de
TS
6765 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
6766 ALWAYS_CFLAGS.
6767 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
6768 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
6769 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
6770 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
6771 Likewise.
6772
70f05c43
TS
6773 * libgomp_g.h: Include <stddef.h> for size_t.
6774
de14871c
TS
6775 * libgomp.spec.in: Update comment about libgomp's dependencies.
6776 * configure.ac: Likewise.
6777 * configure: Regenerate.
6778
83fd6c5b
TB
67792013-10-16 Tobias Burnus <burnus@net-b.de>
6780
6781 * libgomp.texi: (Runtime Library Routines): Update references for
6782 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
6783 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
6784 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
6785 (Environment Variables): Update references for OpenMP 4.0. Add
6786 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
6787 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
6788 order.
6789
c8673881
JJ
67902013-10-14 Jakub Jelinek <jakub@redhat.com>
6791
6792 * env.c (parse_bind_var): Initialize value to avoid
6793 (false positive) warning.
6794
f89163fd
JJ
67952013-10-12 Jakub Jelinek <jakub@redhat.com>
6796
6797 PR libgomp/58691
6798 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
6799 to check variable.
6800 (gomp_init_num_threads): Move i variable declaration into
6801 #ifdef CPU_ALLOC_SIZE block.
6802 * config/linux/affinity.c (gomp_affinity_init_level): Test
6803 gomp_places_list_len == 0 rather than gomp_places_list == 0
6804 when checking for topology reading error.
6805 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
6806 * env.c (parse_affinity): Add ignore argument, if true, don't populate
6807 gomp_places_list, only parse env var and always return false.
6808 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
6809 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
6810 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
6811 and either of these variables were parsed correctly into a places
6812 list.
6813
1d340638
TS
68142013-10-11 Thomas Schwinge <thomas@codesourcery.com>
6815 Jakub Jelinek <jakub@redhat.com>
6816
6817 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
6818 of 5 loopfn matches.
6819 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6820 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6821 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
6822 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6823 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6824 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6825 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6826 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6827
71a81c21
TS
68282013-10-11 Thomas Schwinge <thomas@codesourcery.com>
6829
bd87f731
TS
6830 * Makefile.am (omp_lib.mod): Streamline rule.
6831 * Makefile.in: Regenerate.
6832
f5745bed
TS
6833 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
6834 exceptions.
6835
b5512c66
TS
6836 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
6837 * testsuite/libgomp.fortran/lib1.f90: Likewise.
6838 * testsuite/libgomp.fortran/lib2.f: Likewise.
6839 * testsuite/libgomp.fortran/lib3.f: Likewise.
6840
451c19c4
TS
6841 * configure.ac: Typo fix.
6842 * configure: Regenerate.
6843
86a6016d
TS
6844 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
6845 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
6846
71a81c21
TS
6847 * omp.h.in: Don't touch the user's namespace.
6848
acf0174b
JJ
68492013-10-11 Jakub Jelinek <jakub@redhat.com>
6850 Tobias Burnus <burnus@net-b.de>
6851 Richard Henderson <rth@redhat.com>
6852
6853 * target.c: New file.
6854 * Makefile.am (libgomp_la_SOURCES): Add target.c.
6855 * Makefile.in: Regenerated.
6856 * libgomp_g.h (GOMP_task): Add depend argument.
6857 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
6858 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
6859 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
6860 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
6861 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
6862 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
6863 GOMP_taskgroup_start, GOMP_taskgroup_end,
6864 GOMP_parallel_sections): New prototypes.
6865 * fortran.c (omp_is_initial_device): Add ialias_redirect.
6866 (omp_is_initial_device_): New function.
6867 (ULP, STR1, STR2, ialias_redirect): Removed.
6868 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
6869 omp_set_default_device_8_, omp_get_default_device_,
6870 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
6871 functions.
6872 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
6873 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
6874 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
6875 @@GOMP_4.0.
6876 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
6877 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
6878 omp_set_default_device, omp_set_default_device_,
6879 omp_set_default_device_8_, omp_get_default_device,
6880 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
6881 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
6882 omp_get_team_num_): Export @@OMP_4.0.
6883 * team.c (struct gomp_thread_start_data): Add place field.
6884 (gomp_thread_start): Clear thr->thread_pool and
6885 thr->task before returning. Use gomp_team_barrier_wait_final
6886 instead of gomp_team_barrier_wait. Initialize thr->place.
6887 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
6888 team_cancelled and task_queued_count fields.
6889 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
6890 before calling pthread_exit.
6891 (gomp_free_thread): No longer static. Use
6892 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
6893 (gomp_team_start): Add flags argument. Set
6894 thr->thread_pool->threads_busy to nthreads immediately after creating
6895 new pool. Use gomp_managed_threads_lock instead of
6896 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
6897 (gomp_team_end): Use gomp_managed_threads_lock instead of
6898 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
6899 of gomp_team_barrier_wait. If team->team_cancelled, call
6900 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
6901 rather than thr->ts.work_share.
6902 (initialize_team): Don't call gomp_sem_init here.
6903 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
6904 caller.
6905 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
6906 * env.c (gomp_global_icv): Add default_device_var, target_data and
6907 bind_var initializers.
6908 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
6909 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
6910 gomp_places_list_len): New variables.
6911 (parse_bind_var, parse_one_place, parse_places_var): New functions.
6912 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
6913 sized places.
6914 (gomp_cancel_var): New global variable.
6915 (parse_int): New function.
6916 (handle_omp_display_env): New function.
6917 (initialize_env): Use it. Initialize default_device_var.
6918 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
6919 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
6920 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
6921 been successfully parsed (and call gomp_init_affinity in that case).
6922 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
6923 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
6924 omp_get_team_num, omp_is_initial_device): New functions.
6925 * libgomp.h: Include stdlib.h.
6926 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
6927 Define.
6928 (struct target_mem_desc): Forward declare.
6929 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
6930 and thread_limit_var fields.
6931 (gomp_get_num_devices): New prototype.
6932 (gomp_cancel_var): New extern decl.
6933 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
6934 team_cancelled and task_queued_count fields. Add comments about
6935 task_{,queued_,running_}count.
6936 (gomp_cancel_kind): New enum.
6937 (gomp_work_share_end_cancel): New prototype.
6938 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
6939 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
6940 and depend fields.
6941 (struct gomp_taskgroup): New type.
6942 (struct gomp_task_depend_entry,
6943 struct gomp_dependers_vec): New types.
6944 (gomp_finish_task): Free depend_hash if non-NULL.
6945 (struct gomp_team_state): Add place_partition_off
6946 and place_partition_len fields.
6947 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
6948 gomp_places_list_len): New extern decls.
6949 (struct gomp_thread): Add place field.
6950 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
6951 (gomp_init_thread_affinity): Add place argument.
6952 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
6953 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
6954 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
6955 gomp_affinity_init_level, gomp_affinity_print_place): New
6956 prototypes.
6957 (gomp_team_start): Add flags argument.
6958 (gomp_thread_limit_var, gomp_remaining_threads_count,
6959 gomp_remaining_threads_lock): Remove.
6960 (gomp_managed_threads_lock): New variable.
6961 (struct gomp_thread_pool): Add threads_busy field.
6962 (gomp_free_thread): New prototype.
6963 * task.c: Include hashtab.h.
6964 (hash_entry_type): New typedef.
6965 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
6966 (gomp_init_task): Clear dependers, depend_hash, depend_count,
6967 copy_ctors_done and taskgroup fields.
6968 (GOMP_task): Add depend argument, handle depend clauses. If
6969 gomp_team_barrier_cancelled or if it's taskgroup has been
6970 cancelled, don't queue or start new tasks. Set copy_ctors_done
6971 field if needed. Initialize taskgroup field. If copy_ctors_done
6972 and already cancelled, don't discard the task. If taskgroup is
6973 non-NULL, enqueue the task into taskgroup queue. Increment
6974 num_children field in taskgroup. Increment task_queued_count.
6975 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
6976 gomp_task_run_post_remove_taskgroup): New inline functions.
6977 (gomp_task_run_post_handle_depend_hash,
6978 gomp_task_run_post_handle_dependers,
6979 gomp_task_run_post_handle_depend): New functions.
6980 (GOMP_taskwait): Use them. If more than one new tasks
6981 have been queued, wake other threads if needed.
6982 (gomp_barrier_handle_tasks): Likewise. If
6983 gomp_team_barrier_cancelled, don't start any new tasks, just free
6984 all tasks.
6985 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
6986 * omp_lib.f90.in
6987 (omp_proc_bind_kind, omp_proc_bind_false,
6988 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
6989 omp_proc_bind_spread): New params.
6990 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
6991 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
6992 omp_get_team_num, omp_is_initial_device): New interfaces.
6993 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
6994 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
6995 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
6996 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
6997 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
6998 useless use omp_lib_kinds.
6999 * omp.h.in (omp_proc_bind_t): New typedef.
7000 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7001 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7002 omp_get_team_num, omp_is_initial_device): New prototypes.
7003 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
7004 through to gomp_team_start.
7005 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
7006 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
7007 Adjust gomp_parallel_loop_start callers.
7008 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
7009 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
7010 GOMP_loop_end_cancel): New functions.
7011 (GOMP_parallel_end): Add ialias_redirect.
7012 * hashtab.h: New file.
7013 * libgomp.texi (Environment Variables): Minor cleanup,
7014 update section refs to OpenMP 4.0rc2.
7015 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
7016 environment variables.
7017 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
7018 team->work_shares_to_free to thr->ts.work_share before calling
7019 free_work_share.
7020 (gomp_work_share_end_cancel): New function.
7021 * config/linux/proc.c: Include errno.h.
7022 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
7023 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
7024 sizeof (cpu_set_t) to determine number of iterations. Fix up check
7025 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
7026 gomp_cpuset_size is sizeof (cpu_set_t).
7027 (gomp_init_num_threads): Initialize gomp_cpuset_size,
7028 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
7029 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
7030 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
7031 contain any logical CPUs.
7032 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
7033 is NULL. Use gomp_cpusetp instead of &cpuset and pass
7034 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
7035 pthread_getaffinity_np. Check gomp_places_list instead of
7036 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
7037 * config/linux/bar.c (gomp_barrier_wait_end,
7038 gomp_barrier_wait_last): Use BAR_* defines.
7039 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
7040 from state where needed. Set work_share_cancelled to 0 on last
7041 thread.
7042 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
7043 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
7044 functions.
7045 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
7046 Add cpusetsize argument.
7047 (gomp_cpuset_size, gomp_cpusetp): Declare.
7048 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
7049 (affinity_counter): Remove.
7050 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
7051 if CPU_ALLOC_SIZE isn't defined.
7052 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
7053 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
7054 bind current thread to the first place.
7055 (gomp_init_thread_affinity): Rewritten. Add place argument, just
7056 pthread_setaffinity_np to gomp_places_list[place].
7057 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7058 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7059 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7060 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
7061 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7062 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7063 (gomp_barrier_t): Add awaited_final field.
7064 (gomp_barrier_init): Initialize awaited_final field.
7065 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
7066 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
7067 prototypes.
7068 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
7069 defines.
7070 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
7071 gomp_team_barrier_cancelled): New inline functions.
7072 (gomp_barrier_last_thread,
7073 gomp_team_barrier_set_task_pending,
7074 gomp_team_barrier_clear_task_pending,
7075 gomp_team_barrier_set_waiting_for_tasks,
7076 gomp_team_barrier_waiting_for_tasks,
7077 gomp_team_barrier_done): Use BAR_* defines.
7078 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
7079 (gomp_barrier_wait_end): Use BAR_* defines.
7080 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
7081 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
7082 Use BAR_* defines.
7083 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
7084 gomp_team_barrier_cancel): New functions.
7085 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
7086 argument.
7087 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
7088 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
7089 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
7090 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
7091 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
7092 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
7093 (gomp_barrier_t): Add cancellable field.
7094 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
7095 gomp_team_barrier_cancel): New prototypes.
7096 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
7097 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
7098 gomp_team_barrier_cancelled): New inline functions.
7099 (gomp_barrier_wait_start, gomp_barrier_last_thread,
7100 gomp_team_barrier_set_task_pending,
7101 gomp_team_barrier_clear_task_pending,
7102 gomp_team_barrier_set_waiting_for_tasks,
7103 gomp_team_barrier_waiting_for_tasks,
7104 gomp_team_barrier_done): Use BAR_* defines.
7105 * barrier.c (GOMP_barrier_cancel): New function.
7106 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
7107 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
7108 omp_proc_bind_spread): New params.
7109 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
7110 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
7111 omp_get_team_num, omp_is_initial_device): New externals.
7112 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
7113 New functions.
7114 (gomp_resolve_num_threads): Adjust for thread_limit now being in
7115 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
7116 infinity. If not nested, just return minimum of max_num_threads
7117 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
7118 to the returned value. Otherwise, don't update atomically
7119 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
7120 (GOMP_parallel_end): Adjust for thread_limit now being in
7121 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
7122 infinity. Adjust threads_busy in the pool rather than
7123 gomp_remaining_threads_count. Remember team->nthreads and call
7124 gomp_team_end before adjusting threads_busy, if not nested
7125 afterwards, just set it to 1 non-atomically. Add ialias.
7126 (GOMP_parallel_start): Adjust gomp_team_start caller.
7127 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
7128 * testsuite/libgomp.c/affinity-1.c: New test.
7129 * testsuite/libgomp.c/atomic-15.c: New test.
7130 * testsuite/libgomp.c/atomic-16.c: New test.
7131 * testsuite/libgomp.c/atomic-17.c: New test.
7132 * testsuite/libgomp.c/cancel-for-1.c: New test.
7133 * testsuite/libgomp.c/cancel-for-2.c: New test.
7134 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
7135 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
7136 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
7137 * testsuite/libgomp.c/cancel-sections-1.c: New test.
7138 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
7139 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
7140 * testsuite/libgomp.c/depend-1.c: New test.
7141 * testsuite/libgomp.c/depend-2.c: New test.
7142 * testsuite/libgomp.c/depend-3.c: New test.
7143 * testsuite/libgomp.c/depend-4.c: New test.
7144 * testsuite/libgomp.c/for-1.c: New test.
7145 * testsuite/libgomp.c/for-1.h: New file.
7146 * testsuite/libgomp.c/for-2.c: New test.
7147 * testsuite/libgomp.c/for-2.h: New file.
7148 * testsuite/libgomp.c/for-3.c: New test.
7149 * testsuite/libgomp.c/pr58392.c: New test.
7150 * testsuite/libgomp.c/simd-1.c: New test.
7151 * testsuite/libgomp.c/simd-2.c: New test.
7152 * testsuite/libgomp.c/simd-3.c: New test.
7153 * testsuite/libgomp.c/simd-4.c: New test.
7154 * testsuite/libgomp.c/simd-5.c: New test.
7155 * testsuite/libgomp.c/simd-6.c: New test.
7156 * testsuite/libgomp.c/target-1.c: New test.
7157 * testsuite/libgomp.c/target-2.c: New test.
7158 * testsuite/libgomp.c/target-3.c: New test.
7159 * testsuite/libgomp.c/target-4.c: New test.
7160 * testsuite/libgomp.c/target-5.c: New test.
7161 * testsuite/libgomp.c/target-6.c: New test.
7162 * testsuite/libgomp.c/target-7.c: New test.
7163 * testsuite/libgomp.c/taskgroup-1.c: New test.
7164 * testsuite/libgomp.c/thread-limit-1.c: New test.
7165 * testsuite/libgomp.c/thread-limit-2.c: New test.
7166 * testsuite/libgomp.c/thread-limit-3.c: New test.
7167 * testsuite/libgomp.c/udr-1.c: New test.
7168 * testsuite/libgomp.c/udr-2.c: New test.
7169 * testsuite/libgomp.c/udr-3.c: New test.
7170 * testsuite/libgomp.c++/affinity-1.C: New test.
7171 * testsuite/libgomp.c++/atomic-10.C: New test.
7172 * testsuite/libgomp.c++/atomic-11.C: New test.
7173 * testsuite/libgomp.c++/atomic-12.C: New test.
7174 * testsuite/libgomp.c++/atomic-13.C: New test.
7175 * testsuite/libgomp.c++/atomic-14.C: New test.
7176 * testsuite/libgomp.c++/atomic-15.C: New test.
7177 * testsuite/libgomp.c++/cancel-for-1.C: New test.
7178 * testsuite/libgomp.c++/cancel-for-2.C: New test.
7179 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
7180 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
7181 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
7182 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
7183 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
7184 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
7185 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
7186 * testsuite/libgomp.c++/cancel-test.h: New file.
7187 * testsuite/libgomp.c++/for-9.C: New test.
7188 * testsuite/libgomp.c++/for-10.C: New test.
7189 * testsuite/libgomp.c++/for-11.C: New test.
7190 * testsuite/libgomp.c++/simd-1.C: New test.
7191 * testsuite/libgomp.c++/simd-2.C: New test.
7192 * testsuite/libgomp.c++/simd-3.C: New test.
7193 * testsuite/libgomp.c++/simd-4.C: New test.
7194 * testsuite/libgomp.c++/simd-5.C: New test.
7195 * testsuite/libgomp.c++/simd-6.C: New test.
7196 * testsuite/libgomp.c++/simd-7.C: New test.
7197 * testsuite/libgomp.c++/simd-8.C: New test.
7198 * testsuite/libgomp.c++/target-1.C: New test.
7199 * testsuite/libgomp.c++/target-2.C: New test.
7200 * testsuite/libgomp.c++/target-2-aux.cc: New file.
7201 * testsuite/libgomp.c++/target-3.C: New test.
7202 * testsuite/libgomp.c++/taskgroup-1.C: New test.
7203 * testsuite/libgomp.c++/udr-1.C: New test.
7204 * testsuite/libgomp.c++/udr-2.C: New test.
7205 * testsuite/libgomp.c++/udr-3.C: New test.
7206 * testsuite/libgomp.c++/udr-4.C: New test.
7207 * testsuite/libgomp.c++/udr-5.C: New test.
7208 * testsuite/libgomp.c++/udr-6.C: New test.
7209 * testsuite/libgomp.c++/udr-7.C: New test.
7210 * testsuite/libgomp.c++/udr-8.C: New test.
7211 * testsuite/libgomp.c++/udr-9.C: New test.
7212
bd599dea
JJ
72132013-09-20 Jakub Jelinek <jakub@redhat.com>
7214
7215 PR testsuite/57605
7216 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
7217 ALWAYS_CFLAGS.
7218
3cbe17f7
AM
72192013-09-20 Alan Modra <amodra@gmail.com>
7220
7221 * configure: Regenerate.
7222
4befd127
JJ
72232013-09-19 Jakub Jelinek <jakub@redhat.com>
7224
7225 * testsuite/libgomp.c/sections-2.c: New test.
7226
946c8f7b
MS
72272013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
7228
7229 * testsuite/libgomp.fortran/strassen.f90:
7230 Add dg-skip-if aarch64_tiny.
7231
1ef3b58e
IS
72322013-06-20 Iain Sandoe <iain@codesourcery.com>
7233 Cesar Philippidis <cesar@codesourcery.com>
7234
7235 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
7236 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
7237 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
7238 * testsuite/libgomp.fortran/fortran.exp: Likewise.
7239 * testsuite/libgomp.graphite/graphite.exp: Likewise.
7240 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
7241 Use dg-runtest rather than gfortran-dg-runtest.
7242
9275f73a
TS
72432013-06-10 Thomas Schwinge <thomas@codesourcery.com>
7244
7245 * testsuite/libgomp.c/icv-2.c: Extend current handling of
7246 Linux-based x86 systems to cover all GNU systems.
7247 * testsuite/libgomp.c/lock-3.c: Likewise.
7248 * testsuite/libgomp.c/pr48591.c: Likewise.
7249
492992e2
TS
72502013-06-06 Thomas Schwinge <thomas@codesourcery.com>
7251
48df3acb
TS
7252 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
7253 GNU/Hurd, as done for Linux-based systems.
7254
492992e2
TS
7255 * config/posix/ptrlock.h: Fix comment.
7256
4fed6b25
TB
72572013-05-27 Tobias Burnus <burnus@net-b.de>
7258
7259 PR fortran/57423
7260 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
7261 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
7262 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
7263 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
7264 omp_destroy_nest_lock): Correct arguments to match the one in
7265 the OpenMP spec.
7266 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
7267 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
7268 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
7269 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
7270
5a0f4dd3
JJ
72712013-05-16 Jakub Jelinek <jakub@redhat.com>
7272
7273 * testsuite/libgomp.c/loop-13.c: New test.
7274 * testsuite/libgomp.c/loop-14.c: New test.
7275 * testsuite/libgomp.c/loop-15.c: New test.
7276 * testsuite/libgomp.c++/loop-13.C: New test.
7277 * testsuite/libgomp.c++/loop-14.C: New test.
7278 * testsuite/libgomp.c++/loop-15.C: New test.
7279
6d840d99
JJ
72802013-02-06 Jakub Jelinek <jakub@redhat.com>
7281
7282 PR middle-end/56217
7283 * testsuite/libgomp.c++/pr56217.C: New test.
7284
bed8d8a6
AM
72852013-02-01 Alan Modra <amodra@gmail.com>
7286
7287 * task.c (GOMP_task, GOMP_taskwait): Comment.
7288
3b35cd04
DV
72892013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
7290 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
7291
7292 PR libgomp/55561
7293 * config/linux/wait.h (do_spin): Use atomic load for addr.
7294 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
7295 for intptr and ptrlock.
7296 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
7297 for ptrlock.
7298
9a647288
AM
72992013-01-22 Alan Modra <amodra@gmail.com>
7300
7301 PR libgomp/51376
7302 PR libgomp/56073
7303 * task.c (GOMP_task): Revert 2011-12-09 change.
7304 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
7305 barrier to read task->children..
7306 (gomp_barrier_handle_tasks): ..and matching atomic store with
7307 release barrier here when setting parent->children to NULL.
7308
f34dea03
JJ
73092013-01-16 Jakub Jelinek <jakub@redhat.com>
7310 Tobias Burnus <burnus@net-b.de>
7311
7312 PR driver/55884
7313 * testsuite/libgomp.fortran/fortran.exp: Use
7314 -fintrinsic-modules-path= instead of
7315 -fintrinsic-modules-path.
7316
8129609c
RS
73172013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
7318
7319 Update copyright years.
7320
aa86bf1e
TB
73212012-12-19 Tobias Burnus <burnus@net-b.de>
7322
7323 * testsuite/libgomp.fortran/fortran.exp: Set
7324 -fintrinsic-modules-path.
7325
2865ea66
TB
73262012-12-19 Tobias Burnus <burnus@net-b.de>
7327
7328 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
7329 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
7330
4c5ba8d0
JJ
73312012-11-21 Jakub Jelinek <jakub@redhat.com>
7332
7333 PR libgomp/55411
7334 * team.c (gomp_free_thread): Decrease gomp_managed_threads
7335 if pool had any threads_used.
7336
e9f958c2
JH
73372012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
7338
7339 * testsuite/libgomp.c++/pr24455.C: Use
7340 -Wl,-undefined,dynamic_lookup on darwin.
7341
a57d75dc
DE
73422012-11-07 David Edelsohn <dje.gcc@gmail.com>
7343
7344 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
7345
c6c08485
DH
73462012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
7347
7348 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
7349
c1f37c00
IB
73502012-10-23 Ian Bolton <ian.bolton@arm.com>
7351 Jim MacArthur <jim.macarthur@arm.com>
7352 Marcus Shawcroft <marcus.shawcroft@arm.com>
7353 Nigel Stephens <nigel.stephens@arm.com>
7354 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7355 Richard Earnshaw <rearnsha@arm.com>
7356 Sofiane Naci <sofiane.naci@arm.com>
7357 Stephen Thomas <stephen.thomas@arm.com>
7358 Tejas Belagod <tejas.belagod@arm.com>
7359 Yufeng Zhang <yufeng.zhang@arm.com>
7360
7361 * configure.tgt: Add AArch64.
7362
7c424acd
JM
73632012-10-04 Jason Merrill <jason@redhat.com>
7364
7365 * testsuite/libgomp.c++/tls-init1.C: New.
7366
6608378b
DE
73672012-09-14 David Edelsohn <dje.gcc@gmail.com>
7368
7369 * configure: Regenerated.
7370
c24dbebb
CLT
73712012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
7372
7373 * config/linux/mips/futex.h (sys_futex0): Change to static
7374 function with noinline, nomips16 attributes under MIPS16. Adjust
7375 asm statement to place 'li v0,SYS_futex' immediately before
7376 syscall insn.
7377
3d3949df
SL
73782012-07-04 Sandra Loosemore <sandra@codesourcery.com>
7379
7380 * libgomp.texi (Library Index): Renamed from "Index" to prevent
7381 conflict with index.html on case-insensitive file systems.
7382
68a12ef3
UB
73832012-07-03 Uros Bizjak <ubizjak@gmail.com>
7384
7385 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
7386 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
7387
33ad93b9 73882012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
7389 Michael Matz <matz@suse.de>
7390 Tobias Grosser <tobias@grosser.es>
7391 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
7392
7393 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
7394 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7395 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7396 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7397
e6fdc918
AS
73982012-06-28 Andreas Schwab <schwab@linux-m68k.org>
7399
7400 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
7401
62e0a1ed
RG
74022012-06-22 Richard Guenther <rguenther@suse.de>
7403
7404 Merge from graphite branch
7405 2012-01-13 Tobias Grosser <tobias@grosser.es>
7406
7407 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
7408 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7409
26127932
JJ
74102012-06-07 Jakub Jelinek <jakub@redhat.com>
7411
7412 PR middle-end/53580
7413 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
7414 use GOMP_barrier () call instead.
7415 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7416 * testsuite/libgomp.c/pr26943-4.c: Likewise.
7417 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
7418 call GOMP_barrier instead.
7419 * testsuite/libgomp.fortran/vla5.f90: Likewise.
7420
43fa5db5
JJ
74212012-06-06 Jakub Jelinek <jakub@redhat.com>
7422
7423 PR libgomp/52993
7424 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
7425 argument to memset call.
7426
e6d5f8c9
L
74272012-05-16 H.J. Lu <hongjiu.lu@intel.com>
7428
7429 * configure: Regenerated.
7430
559d990c
MLI
74312012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
7432
7433 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
7434
b9c23a61
L
74352012-03-31 H.J. Lu <hongjiu.lu@intel.com>
7436
7437 PR bootstrap/52812
7438 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
7439
c140ddf3
JJ
74402012-03-22 Jakub Jelinek <jakub@redhat.com>
7441
7442 PR middle-end/52547
7443 * testsuite/libgomp.c/pr52547.c: New test.
7444
6a26a74d
BRF
74452012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7446
7447 * testsuite/lib/libgomp.exp: load fortran-modules.exp
7448
b24513a1
RO
74492012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7450
7451 * configure.tgt (mips-sgi-irix6*): Remove.
7452
5c30094f
RO
74532012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7454
7455 * configure.tgt (alpha*-dec-osf*): Remove.
7456
7457 * config/osf/sem.h: Remove.
7458 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
7459
a339c9d6
EB
74602012-02-29 Eric Botcazou <ebotcazou@adacore.com>
7461
7462 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
7463
cc2de92d
RO
74642012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7465
7466 PR libstdc++/52188
7467 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
7468 Remove ENABLE_SYMVERS_SOL2.
7469 * configure: Regenerate.
7470 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
7471 (PREPROCESS): New variable.
7472 (libgomp.ver): New target.
7473 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
7474 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
7475 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
7476 Use libgomp.ver.
7477 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
7478 * Makefile.in: Regenerate.
7479
dd552284
WL
74802012-02-14 Walter Lee <walt@tilera.com>
7481
7482 * configure.tgt: Handle tilegx and tilepro.
7483 * config/linux/tile/futex.h: New file.
7484
31432e21
RG
74852012-02-08 Richard Guenther <rguenther@suse.de>
7486
7487 PR tree-optimization/46886
7488 * testsuite/libgomp.c/pr46886.c: New testcase.
7489
b9264b5f
MK
74902012-01-25 Matthias Klose <doko@ubuntu.com>
7491
7492 * config/linux/arm: Remove empty directory.
7493 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
7494
fbf7be80
AM
74952011-12-09 Alan Modra <amodra@gmail.com>
7496
7497 PR libgomp/51376
7498 * task.c (GOMP_taskwait): Don't access task->children outside of
7499 task_lock mutex region.
7500 (GOMP_task): Likewise.
7501
5de62d00
JJ
75022011-12-06 Jakub Jelinek <jakub@redhat.com>
7503
7504 PR libgomp/51132
7505 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
7506 to file scope.
7507 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7508 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7509 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7510 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7511 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7512
45608a43
AM
75132011-12-02 Alan Modra <amodra@gmail.com>
7514
7515 * config/linux/affinity.c: Use atomic rather than sync builtin.
7516 * config/linux/lock.c: Likewise.
7517 * config/linux/ptrlock.h: Likewise.
7518 * config/linux/ptrlock.c: Likewise.
7519 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
7520 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
7521 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
7522 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
7523 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
7524 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
7525 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
7526 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
7527 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
7528 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
7529
ab6dd406
AM
75302011-11-30 Alan Modra <amodra@gmail.com>
7531
7532 PR libgomp/51298
7533 * config/linux/bar.h: Use atomic rather than sync builtins.
7534 * config/linux/bar.c: Likewise. Add missing acquire
7535 synchronisation on generation field.
7536 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
7537 double unlock.
7538
b40c885f
AM
75392011-11-30 Alan Modra <amodra@gmail.com>
7540
7541 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
7542 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
7543 * config/linux/mutex.h: Use atomic rather than sync builtins.
7544 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
7545 * config/linux/omp-lock.h: Comment fix.
7546 * config/linux/arm/mutex.h: Delete.
7547 * config/linux/powerpc/mutex.h: Delete.
7548 * config/linux/ia64/mutex.h: Delete.
7549 * config/linux/mips/mutex.h: Delete.
7550
3e348fcc
AM
75512011-11-30 Alan Modra <amodra@gmail.com>
7552
7553 PR libgomp/51249
7554 * config/linux/sem.h: Rewrite.
7555 * config/linux/sem.c: Rewrite.
7556
cef86eb2
RH
75572011-11-28 Richard Henderson <rth@redhat.com>
7558
7559 * libgomp.h (enum memmodel): New.
7560
c6084f68
AT
75612011-11-21 Andreas Tobler <andreast@fgznet.ch>
7562
7563 * configure: Regenerate.
7564
06fe026c
MK
75652011-10-10 Matthias Klose <doko@ubuntu.com>
7566
7567 * config/posix95: Remove empty directory.
7568
a6c975bd
JJ
75692011-08-26 Jakub Jelinek <jakub@redhat.com>
7570
7571 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
7572
c26dffff
JJ
75732011-08-19 Jakub Jelinek <jakub@redhat.com>
7574
7575 PR fortran/49792
7576 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
7577 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
7578
ddaad3c8
RO
75792011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7580
7581 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
7582
98d03683
RO
75832011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7584
7585 PR libgomp/49965
7586 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
7587
e0b23d9f
UB
75882011-08-03 Uros Bizjak <ubizjak@gmail.com>
7589
7590 * config/linux/proc.h: New.
7591 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
7592 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
7593 (gomp_init_num_threads): Update call to cpuset_popcount.
7594 (get_num_procs): Ditto.
7595 * config/linux/affinity.c (gomp_init_affinity): Call
7596 gomp_cpuset_popcount.
7597
20906c66
JJ
75982011-08-02 Jakub Jelinek <jakub@redhat.com>
7599
7600 PR fortran/42041
7601 PR fortran/46752
7602 * omp.h.in (omp_in_final): New prototype.
7603 * omp_lib.f90.in (omp_in_final): New interface.
7604 (omp_integer_kind, omp_logical_kind): Remove
7605 and replace all its uses in the module with 4.
7606 (openmp_version): Change to 201107.
7607 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
7608 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
7609 kind for the parameters.
7610 (omp_in_final): New external.
7611 (openmp_version): Change to 201107.
7612 * task.c (omp_in_final): New function.
7613 (gomp_init_task): Initialize final_task.
7614 (GOMP_task): Remove unused attribute from flags. Handle final
7615 tasks.
7616 (GOMP_taskyield): New function.
7617 (omp_in_final): Return true if if (false) or final (true) task
7618 or descendant of final (true).
7619 * fortran.c (omp_in_final_): New function.
7620 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
7621 (GOMP_3.0): Export GOMP_taskyield.
7622 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
7623 variables.
7624 (parse_unsigned_long_list): New function.
7625 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
7626 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
7627 even if parse_affinity returned false.
7628 * config/linux/affinity.c (gomp_init_affinity): Handle
7629 gomp_cpu_affinity_len == 0.
7630 * libgomp_g.h (GOMP_taskyield): New prototype.
7631 * libgomp.h (struct gomp_task): Add final_task field.
7632 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
7633 * team.c (gomp_team_start): Override new task's nthreads_var icv
7634 if list form OMP_NUM_THREADS has been used and it has value for
7635 the new nesting level.
7636
7637 * testsuite/libgomp.c/atomic-11.c: New test.
7638 * testsuite/libgomp.c/atomic-12.c: New test.
7639 * testsuite/libgomp.c/atomic-13.c: New test.
7640 * testsuite/libgomp.c/atomic-14.c: New test.
7641 * testsuite/libgomp.c/reduction-6.c: New test.
7642 * testsuite/libgomp.c/task-5.c: New test.
7643 * testsuite/libgomp.c++/atomic-2.C: New test.
7644 * testsuite/libgomp.c++/atomic-3.C: New test.
7645 * testsuite/libgomp.c++/atomic-4.C: New test.
7646 * testsuite/libgomp.c++/atomic-5.C: New test.
7647 * testsuite/libgomp.c++/atomic-6.C: New test.
7648 * testsuite/libgomp.c++/atomic-7.C: New test.
7649 * testsuite/libgomp.c++/atomic-8.C: New test.
7650 * testsuite/libgomp.c++/atomic-9.C: New test.
7651 * testsuite/libgomp.c++/task-8.C: New test.
7652 * testsuite/libgomp.c++/reduction-4.C: New test.
7653 * testsuite/libgomp.fortran/allocatable7.f90: New test.
7654 * testsuite/libgomp.fortran/allocatable8.f90: New test.
7655 * testsuite/libgomp.fortran/crayptr3.f90: New test.
7656 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
7657 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
7658 * testsuite/libgomp.fortran/pointer1.f90: New test.
7659 * testsuite/libgomp.fortran/pointer2.f90: New test.
7660 * testsuite/libgomp.fortran/task4.f90: New test.
7661
76622011-08-02 Tobias Burnus <burnus@net-b.de>
7663
7664 * libgomp.texi: Update OpenMP spec references to 3.1.
7665 (omp_in_final,OMP_PROC_BIND): New sections.
7666 (OMP_NUM_THREADS): Document that the value can be now a list.
7667 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
7668
c01ecafc
L
76692011-08-02 H.J. Lu <hongjiu.lu@intel.com>
7670
7671 * config/linux/x86/futex.h: Check __x86_64__ instead of
7672 __LP64__.
7673
25142650
JJ
76742011-07-29 Jakub Jelinek <jakub@redhat.com>
7675
7676 PR middle-end/49897
7677 PR middle-end/49898
7678 * testsuite/libgomp.c/pr49897-1.c: New test.
7679 * testsuite/libgomp.c/pr49897-2.c: New test.
7680 * testsuite/libgomp.c/pr49898-1.c: New test.
7681 * testsuite/libgomp.c/pr49898-2.c: New test.
7682
f53d712f
L
76832011-07-28 H.J. Lu <hongjiu.lu@intel.com>
7684
7685 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
7686 for ia32 instead of ilp32.
7687
7688 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
7689 * testsuite/libgomp.c/atomic-6.c: Likewise.
7690
3689198d
SP
76912011-07-23 Sebastian Pop <sebastian.pop@amd.com>
7692
7693 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
7694 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
7695
1a79cb73
RO
76962011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7697
7698 PR libgomp/45351
7699 * config/osf/sem.h: New file.
7700 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
7701
c1f51484
RO
77022011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7703
7704 PR target/49541
7705 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
7706 ldflags.
7707
bfee0724
JJ
77082011-07-15 Jakub Jelinek <jakub@redhat.com>
7709
7710 * config/linux/wait.h (do_spin): New inline, largely copied
7711 from do_wait, just don't do futex_wait here, instead return true if
7712 it should be done.
7713 (do_wait): Implement using do_spin.
7714 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
7715 to prototype.
7716 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
7717 __sync_bool_compare_and_swap, pass the oldval to
7718 gomp_mutex_lock_slow.
7719 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
7720 If all mutex contenders are just spinning and not sleeping, don't
7721 change state to 2 unnecessarily. Optimize the loop when state has
7722 already become 2 to use just one atomic operation per loop instead
7723 of two.
7724 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
7725 to prototype.
7726 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
7727 __sync_bool_compare_and_swap, pass the oldval to
7728 gomp_mutex_lock_slow.
7729
fb79f500
JJ
77302011-06-22 Jakub Jelinek <jakub@redhat.com>
7731
7732 PR libgomp/49490
7733 * iter.c (gomp_iter_static_next): For chunk size 0
7734 only use n ceil/ nthreads size for the first
7735 n % nthreads threads in the team instead of
7736 all threads except for the last few ones which
7737 get less work or none at all.
7738 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
7739 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
7740 chunk argument, set run_sched_modifier to 0 for static
7741 resp. 1 for other kinds. If chunk argument is 0
7742 and not static, set value to 1.
7743
4577f730
JJ
77442011-05-19 Jakub Jelinek <jakub@redhat.com>
7745
ea93a47b
JJ
7746 PR c++/49043
7747 * testsuite/libgomp.c++/pr49043.C: New test.
7748
4577f730
JJ
7749 PR c++/48869
7750 * testsuite/libgomp.c++/pr48869.C: New test.
7751
e7385332
JJ
77522011-05-06 Jakub Jelinek <jakub@redhat.com>
7753
7754 PR fortran/48894
7755 * fortran.c: Include limits.h.
7756 (TO_INT): Define.
7757 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
7758 *set.
7759 (omp_set_num_threads_8_, omp_set_schedule_8_,
7760 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
7761 omp_get_team_size_8_): Use TO_INT macro.
7762 * testsuite/libgomp.fortran/pr48894.f90: New test.
7763
20790697
JJ
77642011-04-13 Jakub Jelinek <jakub@redhat.com>
7765
7766 PR middle-end/48591
7767 * testsuite/libgomp.c/pr48591.c: New test.
7768
bf382f5f
RO
77692011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7770
7771 PR bootstrap/48135
7772 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
7773 * configure: Regenerate.
7774
113a53c1
JJ
77752011-02-27 Jakub Jelinek <jakub@redhat.com>
7776
7777 PR fortran/47886
7778 * testsuite/libgomp.fortran/task3.f90: New test.
7779
0024f1af
TB
77802011-02-24 Tobias Burnus <burnus@net-b.de>
7781
7782 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
7783
21e1e594
JJ
77842011-02-23 Jakub Jelinek <jakub@redhat.com>
7785
7786 PR libgomp/47854
7787 * libgomp.texi (omp_get_wtime): Don't say time in the past
7788 must be Unix Epoch.
7789
67962076
JJ
77902011-02-18 Jakub Jelinek <jakub@redhat.com>
7791
7792 PR libgomp/47804
7793 * testsuite/libgomp.fortran/fortran.exp: Check for both
7794 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
7795 but $blddir != "", still append ${blddir}/${lang_library_path}
7796 to ld_library_path.
7797
3808007c
TB
77982011-02-16 Tobias Burnus <burnus@net-b.de>
7799
7800 PR libgomp/47758
7801 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
7802 of libquadmath.a before adding its libpath to ldflags.
7803
53b4d41d
JJ
78042011-02-14 Jakub Jelinek <jakub@redhat.com>
7805
7806 PR libgomp/47731
7807 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
7808 to FUTEX_WAIT futex syscall.
7809 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
7810
029c8f3e
RW
78112011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7812
7813 * configure: Regenerate.
7814
bddd6626
BK
78152011-01-20 Benjamin Kosnik <bkoz@redhat.com>
7816
7817 PR libstdc++/36104
7818 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
7819
f1d4ab26
GP
78202011-01-16 Gerald Pfeifer
7821
7822 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
7823
2b503136
JJ
78242010-12-14 Jakub Jelinek <jakub@redhat.com>
7825
7826 PR fortran/46874
7827 * libgomp.fortran/allocatable6.f90: New test.
7828
c0f9d583
RO
78292010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7830
7831 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
7832 * configure: Regenerate.
7833
7de6ba7a
DK
78342010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
7835
7836 PR target/40125
7837 PR lto/46695
7838 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
7839 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
7840 * aclocal.m4: Regenerate.
7841 * configure: Regenerate.
7842 * Makefile.in: Regenerate.
7843 * testsuite/Makefile.in: Regenerate.
7844
b7516041
JJ
78452010-12-02 Jakub Jelinek <jakub@redhat.com>
7846
edaadf74
JJ
7847 PR fortran/46753
7848 * libgomp.fortran/pr46753.f90: New test.
7849
4c698cf8
JJ
7850 PR libgomp/43706
7851 * env.c (initialize_env): Default to spin count 300000
7852 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
7853 is specified.
7854
b7516041
JJ
7855 PR libgomp/45240
7856 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
7857 at the end if sync builtins aren't supported.
7858
6b43a34c
RO
78592010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7860
7861 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
7862
950691fa
RO
78632010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7864
7865 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
7866
fb9041ea
IS
78672010-11-24 Iain Sandoe <iains@gcc.gnu.org>
7868
7869 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
7870
1ec601bf
FXC
78712010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7872 Tobias Burnus <burnus@net-b.de>
7873
7874 PR fortran/32049
3e348fcc 7875 * configure.ac:
1ec601bf
FXC
7876 * configure: Regenerate.
7877
d213e92e
MS
78782010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
7879
7880 * config/linux/futex.h: New.
7881 * config/linux/arm/mutex.h: New.
7882 * configure.tgt (arm*-*-linux*): Add config path.
7883
89d5c66f
SP
78842010-09-30 Sebastian Pop <sebastian.pop@amd.com>
7885
7886 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
7887
87350d4a
TB
78882010-09-23 Tobias Burnus <burnus@net-b.de>
7889
7890 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
7891 Change Fortran datatype to LOGICAL.
7892 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
7893 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
7894
75bc9e5e
RW
78952010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7896
7897 * configure: Regenerate.
7898
acb5c916
JJ
78992010-07-26 Jakub Jelinek <jakub@redhat.com>
7900
7901 * libgomp.texi: Add function keyword to a couple of Fortran
7902 interfaces, use integer instead of int for Fortran.
7903
6a2ba183
AH
79042010-07-26 Aldy Hernandez <aldyh@redhat.com>
7905
7906 * libgomp.texi: Fix spelling and pasto problems throughout.
7907 Adjust prototypes to match code.
7908
df161b69
TB
79092010-07-24 Tobias Burnus <burnus@net-b.de>
7910
7911 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
7912 silence -fwhole-file warning.
7913
16c9d3b1
RO
79142010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7915
7916 * configure.tgt (*-*-solaris2.[56]*): Removed.
7917
6d28b933
RO
79182010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7919
7920 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
7921 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
7922 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
7923 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
7924 targetting solaris2*.
7925 * configure: Regenerate.
7926 * config.h.in: Regenerate.
7927
7928 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
7929 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
7930 Add libgomp_version_dep.
7931 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
7932 versioning.
7933 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
7934 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
7935 * Makefile.in: Regenerate.
7936
7937 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
7938 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
7939 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
7940 to common block, protected by
7941 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
7942
07a67d6a
GP
79432010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
7944
7945 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
7946
dbd34b89
IS
79472010-06-09 Iain Sandoe <iains@gcc.gnu.org>
7948
7949 PR bootstrap/43170
7950 * configure: Regenerate.
7951
13917ae3
RW
79522010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7953
7954 PR other/43620
7955 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
7956 * configure: Regenerate.
7957 * Makefile.in: Regenerate.
7958 * testsuite/Makefile.in: Regenerate.
7959
b83a701b
JJ
79602010-04-26 Jakub Jelinek <jakub@redhat.com>
7961
7962 PR c/43893
7963 * testsuite/libgomp.c/pr43893.c: New test.
7964 * testsuite/libgomp.c++/pr43893.C: New test.
7965
78db7d92
JJ
79662010-04-21 Jakub Jelinek <jakub@redhat.com>
7967
7968 PR middle-end/43570
7969 * testsuite/libgomp.fortran/vla8.f90: New test.
7970
5221d7a9
JJ
79712010-04-20 Jakub Jelinek <jakub@redhat.com>
7972
e4ba7a60
JJ
7973 PR libgomp/43706
7974 * config/linux/affinity.c (gomp_init_affinity): Decrease
7975 gomp_available_cpus if affinity mask confines the process to fewer
7976 CPUs.
7977 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
7978 non-NULL, just return gomp_available_cpus.
7979
5221d7a9
JJ
7980 PR libgomp/43569
7981 * sections.c (gomp_sections_init): Initialize ws->mode.
7982
289a9f86
UB
79832010-04-14 Uros Bizjak <ubizjak@gmail.com>
7984
7985 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
7986 not unused bar variable.
7987 * configure: Regenerate.
7988
4d9e8446
RW
79892010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
7990
7991 * Makefile.in: Regenerate.
7992 * aclocal.m4: Regenerate.
7993 * testsuite/Makefile.in: Regenerate.
7994
80f046cc
JJ
79952010-03-22 Jakub Jelinek <jakub@redhat.com>
7996
7997 PR libgomp/42942
7998 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
7999 (initialize_env): Adjust callers.
8000 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
8001 when the argument is 0.
8002
8003 * testsuite/libgomp.c/pr42942.c: New test.
8004
b58543c3
SP
80052010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
8006
8007 PR middle-end/42644
8008 PR middle-end/42130
8009 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8010 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
8011
41d1138f
RO
80122010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8013
8014 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
8015 * testsuite/libgomp.c++/task-6.C: Likewise.
8016
6684eb28
SE
80172010-01-28 Steve Ellcey <sje@cup.hp.com>
8018
8019 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
8020
2122aa97
PB
80212010-01-26 Paolo Bonzini <bonzini@gnu.org>
8022
8023 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
8024 * configure: Regenerate.
8025
057dd91d
JJ
80262010-01-26 Jakub Jelinek <jakub@redhat.com>
8027
8028 PR fortran/42866
8029 * testsuite/libgomp.fortran/allocatable5.f90: New test.
8030
d0709b6a
PB
80312010-01-20 Paolo Bonzini <bonzini@gnu.org>
8032
8033 * configure.ac: Test for executability of GFORTRAN.
8034 * configure: Regenerate.
8035
b9497ab5
RO
80362010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8037
8038 * configure: Regenerate.
8039
45de5648
L
80402010-01-04 H.J. Lu <hongjiu.lu@intel.com>
8041
8042 PR libgomp/42602
8043 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
8044
e74003a1
RG
80452010-01-03 Richard Guenther <rguenther@suse.de>
8046
8047 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
8048
1b3abda8
SP
80492009-12-23 Sebastian Pop <sebpop@gmail.com>
8050
8051 * testsuite/libgomp.graphite/pr4118.c: New.
8052
e19977d3
IS
80532009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8054
8055 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
8056 for darwin, protect the test with require-effective-target tls_runtime.
8057 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
8058
1d32a772
IS
80592009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8060
8061 PR target/41605
8062 * testsuite/lib/libgomp.exp: Provide -B options to allow for
8063 link spec %s substitutions for static libraries.
8064
deb109b2
JH
80652009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
8066
8067 PR testsuite/42135
8068 * libgomp.graphite/force-parallel-2.c: Reduce array size.
8069
43e02a8a
RW
80702009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8071
8072 * Makefile.in: Regenerate.
8073 * configure: Regenerate.
8074 * testsuite/Makefile.in: Regenerate.
8075
17f35e23
DK
80762009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
8077
8078 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
8079 settings for LC_ALL and LANG.
8080
281e33e1
JJ
80812009-11-25 Jakub Jelinek <jakub@redhat.com>
8082
8083 PR fortran/42162
8084 * testsuite/libgomp.fortran/pr42162.f90: New test.
8085
2b32c27d
JJ
80862009-11-13 Jakub Jelinek <jakub@redhat.com>
8087
8088 PR middle-end/42029
281e33e1 8089 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 8090
89c74f4a
JJ
80912009-10-26 Jakub Jelinek <jakub@redhat.com>
8092
8093 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
8094 *s. Accept ld version without text in ()s.
8095 * configure: Regenerated.
8096
7e06c3d6
EB
80972009-10-22 Razya Ladelsky <razya@il.ibm.com>
8098
8099 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
8100
0046b1a7
RW
81012009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8102
8103 PR libgomp/41418
8104 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
8105 or a hyphen (happens with fortran language disabled).
8106 * configure: Regenerate.
8107
c82852f7
RW
81082009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8109
8110 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
8111 use sed script portable to Solaris /bin/sed for extracting ld
8112 version.
8113 * configure: Regenerate.
8114
98f3eb1f
AM
81152009-09-17 Alexander Monakov <amonakov@ispras.ru>
8116
8117 * testsuite/libgomp.graphite/bounds.c: New test.
8118
878f62e5
RW
81192009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8120
8121 * Makefile.am (libgomp_la_LINK): New.
8122 * Makefile.in: Regenerate.
8123
df58e648
RW
81242009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8125
8126 * configure.ac (AC_PREREQ): Bump to 2.64.
8127
5213506e
RW
81282009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8129
70fa0efa
RW
8130 * Makefile.am (install-html, install-pdf): Remove.
8131 * Makefile.in: Regenerate.
8132
5213506e
RW
8133 * Makefile.in: Regenerate.
8134 * aclocal.m4: Regenerate.
8135 * config.h.in: Regenerate.
8136 * configure: Regenerate.
8137 * testsuite/Makefile.in: Regenerate.
8138
84fec8a5
RW
81392009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8140
8141 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
8142 * Makefile.in: Regenerate.
8143
197c68cc
DK
81442009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
8145
8146 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
8147 * Makefile.in: Regenerate.
8148
693d54f2
TB
81492009-08-19 Tobias Burnus <burnus@net-b.de>
8150
8151 PR fortran/41102
8152 omp_lib.h.in: Fix -std=f95 errors.
8153
8cac884c
DE
81542009-08-14 David Edelsohn <edelsohn@gnu.org>
8155
8156 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
8157 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
8158 * testsuite/libgomp.graphite/graphite.exp: New.
8159
78729ee2
AT
81602009-08-05 Andreas Tobler <a.tobler@schweiz.org>
8161
8162 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
8163 only build.
8164
b13b7f39
DD
81652009-08-04 David Daney <ddaney@caviumnetworks.com>
8166
8167 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
8168 needed memory barrier semantics.
8169 * config/linux/mips/mutex.h: New file.
8170
1b3b24c2
RW
81712009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8172
8173 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
8174
396b7fa4
JM
81752009-07-16 Joseph Myers <joseph@codesourcery.com>
8176
8177 * configure: Regenerate.
8178
33cde516
RS
81792009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
8180
8181 PR testsuite/40699
8182 PR testsuite/40707
8183 PR testsuite/40709
8184 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
8185 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
8186 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
8187
bc21bfa5
RS
81882009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
8189
8190 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
8191 options when choosing a multilib.
8192
b30bfd40
RS
81932009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
8194
8195 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
8196 ld_library_path. Use add_path. Add just find_libgcc_s to
8197 ld_library_path, not every libgcc multilib directory.
8198 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
8199 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
8200 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
8201 Use add_path.
8202 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
8203
479c15c2
NF
82042009-06-09 Nathan Froyd <froydnj@codesourcery.com>
8205
8206 * Makefile.am (LTLDFLAGS): Define.
8207 (LINK): Define.
8208 * Makefile.in: Regenerate.
8209
667e6f89
JB
82102009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
8211
8212 PR fortran/39718
8213 * testsuite/libgomp.fortran/fortran.exp: Don't link with
8214 libgfortranbegin, check existence of libgfortran.a instead of
8215 libgfortranbegin.a.
8216
6dea8e99
JJ
82172009-05-20 Jakub Jelinek <jakub@redhat.com>
8218
8219 PR libgomp/40174
8220 * team.c (gomp_thread_start): Destroy thr->release semaphore.
8221 (gomp_free_pool_helper): Likewise.
8222
34d01e1d
VL
82232009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
8224 Jakub Jelinek <jakub@redhat.com>
8225
8226 PR fortran/35423
8227 * testsuite/libgomp.fortran/workshare2.f90: New test.
8228
748086b7
JJ
82292009-04-09 Nick Clifton <nickc@redhat.com>
8230
8231 * iter.c: Change copyright header to refer to version 3 of the
8232 GNU General Public License with version 3.1 of the GCC Runtime
8233 Library Exception and to point readers at the COPYING3 and
8234 COPYING3.RUNTIME files and the FSF's license web page.
8235 * alloc.c: Likewise.
8236 * barrier.c: Likewise.
8237 * config/bsd/proc.c: Likewise.
8238 * config/linux/affinity.c: Likewise.
8239 * config/linux/alpha/futex.h: Likewise.
8240 * config/linux/bar.c: Likewise.
8241 * config/linux/bar.h: Likewise.
8242 * config/linux/ia64/futex.h: Likewise.
8243 * config/linux/ia64/mutex.h: Likewise.
8244 * config/linux/lock.c: Likewise.
8245 * config/linux/mips/futex.h: Likewise.
8246 * config/linux/mutex.c: Likewise.
8247 * config/linux/mutex.h: Likewise.
8248 * config/linux/powerpc/futex.h: Likewise.
8249 * config/linux/proc.c: Likewise.
8250 * config/linux/ptrlock.c: Likewise.
8251 * config/linux/ptrlock.h: Likewise.
8252 * config/linux/s390/futex.h: Likewise.
8253 * config/linux/sem.c: Likewise.
8254 * config/linux/sem.h: Likewise.
8255 * config/linux/sparc/futex.h: Likewise.
8256 * config/linux/wait.h: Likewise.
8257 * config/linux/x86/futex.h: Likewise.
8258 * config/mingw32/proc.c: Likewise.
8259 * config/mingw32/time.c: Likewise.
8260 * config/posix/affinity.c: Likewise.
8261 * config/posix/bar.c: Likewise.
8262 * config/posix/bar.h: Likewise.
8263 * config/posix/lock.c: Likewise.
8264 * config/posix/mutex.h: Likewise.
8265 * config/posix/proc.c: Likewise.
8266 * config/posix/ptrlock.h: Likewise.
8267 * config/posix/sem.c: Likewise.
8268 * config/posix/sem.h: Likewise.
8269 * config/posix/time.c: Likewise.
8270 * config/posix95/lock.c: Likewise.
8271 * critical.c: Likewise.
8272 * env.c: Likewise.
8273 * error.c: Likewise.
8274 * fortran.c: Likewise.
8275 * iter_ull.c: Likewise.
8276 * libgomp.h: Likewise.
8277 * libgomp_f.h.in: Likewise.
8278 * libgomp_g.h: Likewise.
8279 * loop.c: Likewise.
8280 * loop_ull.c: Likewise.
8281 * omp.h.in: Likewise.
8282 * omp_lib.f90.in: Likewise.
8283 * omp_lib.h.in: Likewise.
8284 * ordered.c: Likewise.
8285 * parallel.c: Likewise.
8286 * sections.c: Likewise.
8287 * single.c: Likewise.
8288 * task.c: Likewise.
8289 * team.c: Likewise.
8290 * work.c: Likewise.
8291
82922009-04-09 Jakub Jelinek <jakub@redhat.com>
8293
8294 * testsuite/config/default.exp: Change copyright header to refer to
8295 version 3 of the GNU General Public License and to point readers
8296 at the COPYING3 file and the FSF's license web page.
8297
4f0ae266
JJ
82982009-04-08 Jakub Jelinek <jakub@redhat.com>
8299
8300 PR middle-end/39573
8301 * libgomp.c++/pr39573.C: New test.
8302
03742a9b
JJ
83032009-04-01 Jakub Jelinek <jakub@redhat.com>
8304
8305 PR other/39591
8306 * testsuite/libgomp.c/pr39591-1.c: New test.
8307 * testsuite/libgomp.c/pr39591-2.c: New test.
8308 * testsuite/libgomp.c/pr39591-3.c: New test.
8309
e50ea10b
UB
83102009-03-25 Uros Bizjak <ubizjak@gmail.com>
8311
8312 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
8313 * testsuite/libgomp.c/atomic-6.c: Ditto.
8314
c5cdb03f
JJ
83152009-03-23 Jakub Jelinek <jakub@redhat.com>
8316
8317 PR c/39495
8318 * testsuite/libgomp.c/loop-12.c: New test.
8319 * testsuite/libgomp.c/loop-11.c: New test.
8320 * testsuite/libgomp.c++/loop-11.C: New test.
8321 * testsuite/libgomp.c++/loop-12.C: New test.
8322 * testsuite/libgomp.c++/for-8.C: New test.
8323
7a9d3fe8
RW
83242009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8325
8326 * configure: Regenerate.
8327
3ad6b266
JJ
83282009-02-11 Jakub Jelinek <jakub@redhat.com>
8329
8330 PR middle-end/39154
8331 * testsuite/libgomp.c/pr39154.c: New test.
8332
b39dea08
ILT
83332009-01-30 Ian Lance Taylor <iant@google.com>
8334
8335 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
8336 libgomp_ld_is_gold. Get gold version number.
8337 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
8338 * configure: Rebuild.
8339
72c66596
IS
83402009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
8341
e50ea10b 8342 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
8343 use libgfortran.a%s in their specs.
8344
876080ff
JJ
83452009-01-07 Jakub Jelinek <jakub@redhat.com>
8346
8347 PR libgomp/38086
8348 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
8349 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
8350 HAVE_AS_SYMVER_DIRECTIVE is not defined.
8351 * configure: Regenerated.
8352 * config.h.in: Likewise.
8353
e4ebaef3
JJ
83542008-12-28 Jakub Jelinek <jakub@redhat.com>
8355
8356 PR c++/38650
8357 * testsuite/libgomp.c/pr38650.c: New test.
8358 * testsuite/libgomp.c++/pr38650.C: New test.
8359
382017a6
JJ
83602008-12-27 Jakub Jelinek <jakub@redhat.com>
8361
8362 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
8363
79644b27
UB
83642008-12-26 Uros Bizjak <ubizjak@gmail.com>
8365
8366 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
8367
baafc534
RW
83682008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8369
8370 * configure: Regenerate.
8371
d9c194cb
JJ
83722008-12-08 Jakub Jelinek <jakub@redhat.com>
8373
8374 PR middle-end/36802
8375 * testsuite/libgomp.c/pr36802-1.c: New test.
8376 * testsuite/libgomp.c/pr36802-2.c: New test.
8377 * testsuite/libgomp.c/pr36802-3.c: New test.
8378
86a182bf
JJ
83792008-12-01 Janis Johnson <janis187@us.ibm.com>
8380
8381 PR libgomp/38270
8382 * config/linux/powerpc/mutex.h: New.
8383
956adfaf
JJ
83842008-12-01 Jakub Jelinek <jakub@redhat.com>
8385
a2d4cdc9
JJ
8386 PR c++/38257
8387 * testsuite/libgomp.c++/for-7.C: New test.
8388
956adfaf
JJ
8389 PR c++/38348
8390 * testsuite/libgomp.c++/for-6.C: New test.
8391
d4038ca2
JJ
83922008-11-26 Janis Johnson <janis187@us.ibm.com>
8393
8394 PR testsuite/28870
8395 * testsuite/lib/libgomp.exp: Include new timeout library files.
8396 (libgomp_target_compile): Set timeout value from new proc.
8397
8b159eea
SE
83982008-11-13 Steve Ellcey <sje@cup.hp.com>
8399
8400 PR libgomp/37938
8401 * config/linux/ia64/mutex.h: New.
8402
5c6ed53a
TB
84032008-11-04 Tobias Burnus <burnus@net-b.de>
8404
8405 PR libgomp/37935
8406 * libgomp.texi (Runtime library routines, environment variables):
8407 Update for OpenMP version 3.0.
8408
6b4a97ed
PG
84092008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
8410 Steve Ellcey <sje@cup.hp.com>
8411
8412 * configure: Regenerate for new libtool.
8413 * Makefile.in: Ditto.
8414 * testsuite/Makefile.in: Ditto.
8415
e2b34106
JJ
84162008-09-19 Jakub Jelinek <jakub@redhat.com>
8417 Andreas Tobler <a.tobler@schweiz.org>
8418
8419 * config/bsd/proc.c: New file.
8c3b3600 8420 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
8421 * configure.ac: Check for header <sys/sysctl.h>
8422 * configure: Regenerate.
8423 * config.h.in: Likewise.
8424
3606b8bf
JJ
84252008-09-05 Janis Johnson <janis187@us.ibm.com>
8426
8427 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
8428
6528b88d
AL
84292008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
8430
8431 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
8432 * Makefile.in: Regenerated.
8433 * testsuite/Makefile.in: Regenerated.
8434
d9b14b12 84352008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 8436
a16b68bb 8437 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
8438 depend on blddir if blddir exists.
8439 (libgomp_target_compile): Likewise.
8440 * testsuite/libgomp.c++/c++.exp: Likewise.
8441 * testsuite/libgomp.fortran/fortran.exp: Likewise.
8442
70b1e376
RW
84432008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8444
8445 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
8446 Do not list GPL as Invariant Section.
8447
318e8c3f
IG
84482008-07-28 Ilie Garbacea <ilie@mips.com>
8449 Chao-ying Fu <fu@mips.com>
8450
8451 * configure.tgt: Enable futex for MIPS.
8452 * config/linux/mips/futex.h: New file.
8453
4db72361
JJ
84542008-07-16 Jakub Jelinek <jakub@redhat.com>
8455
8456 * team.c (gomp_team_end): Free team immediately if it has
8457 just one thread.
8458
87bd23b8
DE
84592008-07-08 David Edelsohn <edelsohn@gnu.org>
8460
8461 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
8462 * testsuite/libgomp.fortran/fortran.exp: Same.
8463 * testsuite/libgomp.c/c.exp: Same.
8464 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
8465 directory to library path first.
8466
323ff903
KW
84672008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
8468
8469 * env.c (parse_stacksize): Add cast to avoid warning.
8470 (parse_spincount): Likewise.
8471
b357f682
JJ
84722008-06-27 Jakub Jelinek <jakub@redhat.com>
8473
ca2b1311
JJ
8474 * testsuite/libgomp.c/loop-10.c: New test.
8475 * libgomp.c/loop-3.c (main): Add lastprivate clause.
8476 * libgomp.c++/loop-6.C (main): Likewise.
8477
b357f682
JJ
8478 PR debug/36617
8479 * testsuite/libgomp.c/debug-1.c: New test.
8480
09a46078
JJ
84812008-06-19 Jakub Jelinek <jakub@redhat.com>
8482
8483 * testsuite/libgomp.c/nqueens-1.c: New test.
8484
2368a460
JJ
8485 PR c++/36523
8486 * testsuite/libgomp.c++/task-7.C: New function.
8487
18c04407
RW
84882008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8489
8490 * configure: Regenerate.
8491
9c4e59e0
JDA
84922008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
8493
8494 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
8495 mutex when HAVE_SYNC_BUILTINS isn't defined.
8496
6ccde948
RW
84972008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
8498
8499 * libgomp.texi (omp_test_lock): Fix typo.
8500
b896f9fd
TB
85012008-06-12 Tobias Burnus <burnus@net-b.de>
8502
8503 * omp_lib.f90.in: Add "implicit none".
8504
c34938a8
JJ
85052008-06-12 Jakub Jelinek <jakub@redhat.com>
8506
8507 PR middle-end/36506
8508 * testsuite/libgomp.c/reduction-5.c: New test.
8509
976e44e3
JJ
85102008-06-11 Jakub Jelinek <jakub@redhat.com>
8511
5f836cbb
JJ
8512 * libgomp.h (struct gomp_task): Add in_tied_task field.
8513 * task.c (gomp_init_task): Initialize it.
8514 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
8515 unconditionally. Don't call gomp_team_barrier_wake if
8516 current task is implicit or if(0) from implicit and number of
8517 running tasks is equal to nthreads - 1.
8518
01501fc8
JJ
8519 PR libgomp/36471
8520 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
8521 omp_get_team_size_8): Fix pastos.
8522
976e44e3
JJ
8523 PR libgomp/36469
8524 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
8525 * configure: Regenerated.
8526 * config.h.in: Regenerated.
8527 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
8528 defined.
8529
e919209b
AT
85302008-06-06 Andreas Tobler <a.tobler@schweiz.org>
8531
8532 PR bootstrap/36452
8533 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
8534 (GOMP_loop_ull_dynamic_start): Likewise.
8535 (GOMP_loop_ull_guided_start): Likewise.
8536 (GOMP_loop_ull_ordered_static_start): Likewise.
8537 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
8538 (GOMP_loop_ull_ordered_guided_start): Likewise.
8539
a68ab351
JJ
85402008-06-06 Jakub Jelinek <jakub@redhat.com>
8541 Richard Henderson <rth@redhat.com>
8542 Ulrich Drepper <drepper@redhat.com>
8543 Jakob Blomer <jakob.blomer@ira.uka.de>
8544
8545 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
8546 Substitute also OMP_*LOCK_25*.
8547 * configure: Regenerated.
8548 * config.h.in: Regenerated.
8549 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
8550 ptrlock.c and task.c.
8551 * Makefile.in: Regenerated.
8552 * testsuite/Makefile.in: Regenerated.
8553 * task.c: New file.
8554 * loop_ull.c: New file.
8555 * iter_ull.c: New file.
8556 * libgomp.h: Include ptrlock.h.
8557 (enum gomp_task_kind): New type.
8558 (struct gomp_team): Add task_lock, task_queue, task_count,
8559 task_running_count, single_count fields. Add
8560 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
8561 Remove work_share_lock, generation_mask,
8562 oldest_live_gen, num_live_gen and init_work_shares fields, add
8563 work work_share_list_alloc, work_share_list_free and work_share_chunk
8564 fields. Change work_shares from pointer to pointers into an array.
8565 Change ordered_release field into gomp_sem_t ** from flexible array
8566 member. Add implicit_task and initial_work_shares fields.
8567 Move close to the end of the struct.
8568 (struct gomp_team_state): Add single_count, last_work_share,
8569 active_level and level fields, remove work_share_generation.
8570 (gomp_barrier_handle_tasks): New prototype.
8571 (gomp_finish_task): New inline function.
8572 (struct gomp_work_share): Move chunk_size, end, incr into
8573 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
8574 next_ll fields. Reshuffle fields. Add next_alloc,
8575 next_ws, next_free and inline_ordered_team_ids fields, change
8576 ordered_team_ids into pointer from flexible array member.
8577 Add mode field. Put lock and next into a different cache line
8578 from most of the write-once fields.
8579 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
8580 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
8581 gomp_iter_ull_guided_next): New prototypes.
8582 (gomp_new_icv): New prototype.
8583 (struct gomp_thread): Add thread_pool and task fields.
8584 (struct gomp_thread_pool): New type.
8585 (gomp_new_team): New prototype.
8586 (gomp_team_start): Change type of last argument.
8587 (gomp_new_work_share): Removed.
8588 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
8589 (gomp_work_share_init_done): New static inline.
8590 (gomp_throttled_spin_count_var, gomp_available_cpus,
8591 gomp_managed_threads): New extern decls.
8592 (gomp_init_task): New prototype.
8593 (gomp_spin_count_var): New extern var decl.
8594 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
8595 or no alias support, or if not PIC.
8596 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
8597 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
8598 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
8599 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
8600 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
8601 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
8602 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
8603 gomp_test_nest_lock_25): New prototypes.
8604 (omp_lock_symver, strong_alias): Define.
8605 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
8606 decls.
8607 (gomp_end_task): New.
8608 (struct gomp_task_icv, gomp_global_icv): New.
8609 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
8610 (struct gomp_task): New.
8611 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
8612 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
8613 (gomp_icv): New.
8614 (gomp_schedule_type): Reorder enum to match
8615 omp_sched_t.
8616 * team.c (struct gomp_thread_start_data): Add thread_pool and task
8617 fields.
8618 (gomp_thread_start): Add gomp_team_barrier_wait call.
8619 For non-nested case remove clearing of docked thread thr fields.
8620 Use pool fields instead of global gomp_* variables. Use
8621 gomp_barrier_wait_last when needed. Initialize ts.active_level.
8622 Create tasks for each member thread.
8623 (free_team): Only destroy team barrier, task_lock here and free it.
8624 (gomp_free_thread): Free last_team if non-NULL.
8625 (gomp_team_end): Call gomp_team_barrier_wait instead of
8626 gomp_barrier_wait. For nested case call one extra
8627 gomp_barrier_wait. Move here some destruction from free_team.
8628 Call free_team on pool->last_team if any, rather than freeing
8629 current team. Destroy work_share_list_free_lock ifndef
8630 HAVE_SYNC_BUILTINS.
8631 (gomp_new_icv): New function.
8632 (gomp_threads, gomp_threads_size, gomp_threads_used,
8633 gomp_threads_dock): Removed.
8634 (gomp_thread_destructor): New variable.
8635 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
8636 functions.
8637 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 8638 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
8639 Initialize thread_pool field for new threads. Clear single_count.
8640 Change last argument from ws to team, don't create
8641 new team, set ts.work_share to &team->work_shares[0] and clear
8642 ts.last_work_share. Don't clear ts.work_share_generation.
8643 If number of threads changed, adjust atomically gomp_managed_threads.
8644 Use gomp_init_task instead of gomp_new_task,
8645 set thr->task to the corresponding implicit_task array entry.
8646 Create tasks for each member thread. Initialize ts.level.
8647 (initialize_team): Call pthread_key_create on
8648 gomp_thread_destructor.
8649 (team_destructor): New function.
8650 (new_team): Removed.
8651 (gomp_new_team): New function.
8652 (free_team): Free gomp_work_share blocks chained through next_alloc,
8653 instead of freeing work_shares and destroying work_share_lock.
8654 (gomp_team_end): Call gomp_fini_work_share. If number of threads
8655 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
8656 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
8657 of gomp_barrier_wait.
8658 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
8659 instead of gomp_barrier_wait. Call gomp_work_share_init_done
8660 if gomp_work_share_start returned true. Don't unlock ws->lock.
8661 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
8662 of gomp_barrier_wait.
8663 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
8664 gomp_work_share_init_done if gomp_work_share_start returned true.
8665 Don't unlock ws->lock.
8666 * work.c: Include stddef.h.
8667 (free_work_share): Use work_share_list_free_lock instead
8668 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
8669 Call gomp_fini_work_share and then either free ws if orphaned, or
8670 put it into work_share_list_free list of the current team.
8671 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
8672 functions.
8673 (gomp_work_share_start, gomp_work_share_end,
8674 gomp_work_share_end_nowait): Rewritten.
8675 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
8676 (openmp_version): Set to 200805.
8677 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
8678 omp_sched_guided, omp_sched_auto): New parameters.
8679 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
8680 omp_set_max_active_levels, omp_get_max_active_levels,
8681 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
8682 omp_get_active_level): New interfaces.
8683 * omp_lib.h.in (openmp_version): Set to 200805.
8684 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
8685 omp_sched_guided, omp_sched_auto): New parameters.
8686 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
8687 omp_set_max_active_levels, omp_get_max_active_levels,
8688 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
8689 omp_get_active_level): New externals.
8690 * loop.c: Include limits.h.
8691 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
8692 GFS_AUTO.
8693 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
8694 Likewise. Use gomp_icv.
8695 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
8696 ts.static_trip here.
8697 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
8698 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
8699 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
8700 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
8701 don't unlock ws->lock, otherwise lock it.
8702 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
8703 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
8704 (gomp_parallel_loop_start): Call gomp_new_team instead of
8705 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
8706 Adjust gomp_team_start caller. Pass 0 as second argument to
8707 gomp_resolve_num_threads.
8708 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
8709 If adding ws->chunk_size nthreads + 1 times after end won't
8710 overflow, set ws->mode to 1.
8711 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
8712 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
8713 GOMP_loop_ull_ordered_static_start,
8714 GOMP_loop_ull_ordered_dynamic_start,
8715 GOMP_loop_ull_ordered_guided_start,
8716 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
8717 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
8718 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
8719 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
8720 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
8721 prototypes.
8722 * libgomp.map: Export lock routines also @@OMP_2.0.
8723 (GOMP_loop_ordered_dynamic_first,
8724 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
8725 GOMP_loop_ordered_static_first): Remove.
8726 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
8727 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
8728 GOMP_loop_ull_ordered_dynamic_next,
8729 GOMP_loop_ull_ordered_dynamic_start,
8730 GOMP_loop_ull_ordered_guided_next,
8731 GOMP_loop_ull_ordered_guided_start,
8732 GOMP_loop_ull_ordered_runtime_next,
8733 GOMP_loop_ull_ordered_runtime_start,
8734 GOMP_loop_ull_ordered_static_next,
8735 GOMP_loop_ull_ordered_static_start,
8736 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
8737 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
8738 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
8739 (omp_set_schedule, omp_get_schedule,
8740 omp_get_thread_limit, omp_set_max_active_levels,
8741 omp_get_max_active_levels, omp_get_level,
8742 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
8743 omp_set_schedule_, omp_set_schedule_8_,
8744 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
8745 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
8746 omp_get_max_active_levels_, omp_get_level_,
8747 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
8748 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
8749 New exports @@OMP_3.0.
8750 * omp.h.in (omp_sched_t): New type.
8751 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
8752 omp_set_max_active_levels, omp_get_max_active_levels,
8753 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
8754 omp_get_active_level): New prototypes.
8755 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
8756 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
8757 gomp_thread_limit_var, gomp_remaining_threads_count,
8758 gomp_remaining_threads_lock): New variables.
8759 (parse_spincount): New function.
8760 (initialize_env): Call gomp_init_num_threads unconditionally.
8761 Initialize gomp_available_cpus. Call parse_spincount,
8762 initialize gomp_{,throttled_}spin_count_var
8763 depending on presence and value of OMP_WAIT_POLICY and
8764 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
8765 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
8766 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
8767 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
8768 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
8769 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
8770 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
8771 (gomp_global_icv): New.
8772 (parse_schedule): Use it. Parse "auto".
8773 (omp_set_num_threads): Use gomp_icv.
8774 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
8775 Likewise.
8776 (omp_get_max_threads): Move from parallel.c.
8777 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
8778 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
8779 add ialias.
8780 (parse_stacksize, parse_wait_policy): New functions.
8781 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
8782 both wrappers for compatibility and new locks.
8783 (omp_set_schedule, omp_get_schedule,
8784 omp_get_thread_limit, omp_set_max_active_levels,
8785 omp_get_max_active_levels, omp_get_level,
8786 omp_get_ancestor_thread_num, omp_get_team_size,
8787 omp_get_active_level): New ialias_redirect.
8788 (omp_set_schedule_, omp_set_schedule_8_,
8789 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
8790 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
8791 omp_get_max_active_levels_, omp_get_level_,
8792 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
8793 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
8794 New functions.
8795 * parallel.c: Include limits.h.
8796 (gomp_resolve_num_threads): Add count argument. Rewritten.
8797 (GOMP_parallel_start): Call gomp_new_team and pass that as last
8798 argument to gomp_team_start. Pass 0 as second argument to
8799 gomp_resolve_num_threads.
8800 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
8801 if gomp_thread_limit_var != ULONG_MAX.
8802 (omp_in_parallel): Implement using ts.active_level.
8803 (omp_get_max_threads): Move to env.c.
8804 (omp_get_level, omp_get_ancestor_thread_num,
8805 omp_get_team_size, omp_get_active_level): New functions,
8806 add ialias.
8807 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
8808 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
8809 gomp_iter_dynamic_next instead of the _locked variant and don't take
8810 lock around it, otherwise acquire it before calling
8811 gomp_iter_dynamic_next_locked.
8812 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
8813 gomp_iter_dynamic_next instead of the _locked variant and don't take
8814 lock around it.
8815 (GOMP_parallel_sections_start): Call gomp_new_team instead of
8816 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
8817 Adjust gomp_team_start caller. Pass count as second argument to
8818 gomp_resolve_num_threads, don't adjust num_threads after the call.
8819 Use gomp_icv.
8820 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
8821 ws->chunk_size by incr.
8822 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
8823 code.
8824 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
8825 types.
8826 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
8827 (omp_check_defines): Check even the compat defines.
8828 * config/linux/ptrlock.c: New file.
8829 * config/linux/ptrlock.h: New file.
8830 * config/linux/wait.h: New file.
8831 * config/posix/ptrlock.c: New file.
8832 * config/posix/ptrlock.h: New file.
8833 * config/linux/bar.h (gomp_team_barrier_wait,
8834 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
8835 (gomp_team_barrier_set_task_pending,
8836 gomp_team_barrier_clear_task_pending,
8837 gomp_team_barrier_set_waiting_for_tasks,
8838 gomp_team_barrier_waiting_for_tasks,
8839 gomp_team_barrier_done): New inlines.
8840 (gomp_barrier_t): Rewritten.
8841 (gomp_barrier_state_t): New typedef.
8842 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
8843 gomp_barrier_wait_start): Rewritten.
8844 (gomp_barrier_wait_end): Change second argument to
8845 gomp_barrier_state_t.
8846 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
8847 inlines.
8848 * config/linux/bar.c: Include wait.h instead of libgomp.h and
8849 futex.h.
8850 (gomp_barrier_wait_end): Rewritten.
8851 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
8852 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
8853 * config/posix/bar.h (gomp_barrier_t): Add generation field.
8854 (gomp_barrier_state_t): New typedef.
8855 (gomp_team_barrier_wait,
8856 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
8857 (gomp_barrier_wait_start): Or all but low 2 bits from generation
8858 into the return value. Return gomp_barrier_state_t.
8859 (gomp_team_barrier_set_task_pending,
8860 gomp_team_barrier_clear_task_pending,
8861 gomp_team_barrier_set_waiting_for_tasks,
8862 gomp_team_barrier_waiting_for_tasks,
8863 gomp_team_barrier_done): New inlines.
8864 (gomp_barrier_wait_end): Change second argument to
8865 gomp_barrier_state_t.
8866 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
8867 inlines.
8868 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
8869 (gomp_barrier_wait_end): Change second argument to
3e348fcc 8870 gomp_barrier_state_t.
a68ab351
JJ
8871 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
8872 gomp_team_barrier_wake): New functions.
8873 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
8874 futex.h.
8875 (gomp_futex_wake, gomp_futex_wait): New variables.
8876 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
8877 * config/linux/lock.c: Rewrite to make locks task owned,
8878 for backwards compatibility provide the old entrypoints
8879 if symbol versioning. Include wait.h instead of libgomp.h and
8880 futex.h.
8881 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
8882 * config/posix95/lock.c: Rewrite to make locks task owned,
8883 for backwards compatibility provide the old entrypoints
8884 if symbol versioning.
8885 * config/posix/lock.c: Rewrite to make locks task owned,
8886 for backwards compatibility provide the old entrypoints
8887 if symbol versioning.
8888 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
8889 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
8890 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
8891 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
8892 (sys_futex0): Return error code.
8893 (futex_wake, futex_wait): If ENOSYS was returned, clear
8894 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
8895 (cpu_relax, atomic_write_barrier): New static inlines.
8896 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
8897 (futex_wake, futex_wait): If ENOSYS was returned, clear
8898 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
8899 (cpu_relax, atomic_write_barrier): New static inlines.
8900 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
8901 (sys_futex0): Return error code.
8902 (futex_wake, futex_wait): If ENOSYS was returned, clear
8903 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
8904 (cpu_relax, atomic_write_barrier): New static inlines.
8905 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
8906 (sys_futex0): Return error code.
8907 (futex_wake, futex_wait): If ENOSYS was returned, clear
8908 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
8909 (cpu_relax, atomic_write_barrier): New static inlines.
8910 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
8911 (sys_futex0): Return error code.
8912 (futex_wake, futex_wait): If ENOSYS was returned, clear
8913 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
8914 (cpu_relax, atomic_write_barrier): New static inlines.
8915 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
8916 (sys_futex0): Return error code.
8917 (futex_wake, futex_wait): If ENOSYS was returned, clear
8918 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
8919 (cpu_relax, atomic_write_barrier): New static inlines.
8920 * config/linux/sem.c: Include wait.h instead of libgomp.h and
8921 futex.h.
8922 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
8923 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
8924 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
8925 types.
8926 (omp_nest_lock_t): Change owner into void *, add lock field.
8927 * config/posix95/omp-lock.h: Include semaphore.h.
8928 (omp_lock_25_t, omp_nest_lock_25_t): New types.
8929 (omp_lock_t): Use sem_t instead of mutex if semaphores
8930 aren't broken.
8931 (omp_nest_lock_t): Likewise. Change owner to void *.
8932 * config/posix/omp-lock.h: Include semaphore.h.
8933 (omp_lock_25_t, omp_nest_lock_25_t): New types.
8934 (omp_lock_t): Use sem_t instead of mutex if semaphores
8935 aren't broken.
8936 (omp_nest_lock_t): Likewise. Add owner field.
8937
89382008-06-06 Jakub Jelinek <jakub@redhat.com>
8939
8940 * testsuite/libgomp.c/collapse-1.c: New test.
8941 * testsuite/libgomp.c/collapse-2.c: New test.
8942 * testsuite/libgomp.c/collapse-3.c: New test.
8943 * testsuite/libgomp.c/icv-1.c: New test.
8944 * testsuite/libgomp.c/icv-2.c: New test.
8945 * testsuite/libgomp.c/lib-2.c: New test.
8946 * testsuite/libgomp.c/lock-1.c: New test.
8947 * testsuite/libgomp.c/lock-2.c: New test.
8948 * testsuite/libgomp.c/lock-3.c: New test.
8949 * testsuite/libgomp.c/loop-4.c: New test.
8950 * testsuite/libgomp.c/loop-5.c: New test.
8951 * testsuite/libgomp.c/loop-6.c: New test.
8952 * testsuite/libgomp.c/loop-7.c: New test.
8953 * testsuite/libgomp.c/loop-8.c: New test.
8954 * testsuite/libgomp.c/loop-9.c: New test.
8955 * testsuite/libgomp.c/nested-3.c: New test.
8956 * testsuite/libgomp.c/nestedfn-6.c: New test.
8957 * testsuite/libgomp.c/sort-1.c: New test.
8958 * testsuite/libgomp.c/task-1.c: New test.
8959 * testsuite/libgomp.c/task-2.c: New test.
8960 * testsuite/libgomp.c/task-3.c: New test.
8961 * testsuite/libgomp.c/task-4.c: New test.
8962 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
8963 to C++ testsuite default compiler options.
8964 * testsuite/libgomp.c++/collapse-1.C: New test.
8965 * testsuite/libgomp.c++/collapse-2.C: New test.
8966 * testsuite/libgomp.c++/ctor-10.C: New test.
8967 * testsuite/libgomp.c++/for-1.C: New test.
8968 * testsuite/libgomp.c++/for-2.C: New test.
8969 * testsuite/libgomp.c++/for-3.C: New test.
8970 * testsuite/libgomp.c++/for-4.C: New test.
8971 * testsuite/libgomp.c++/for-5.C: New test.
8972 * testsuite/libgomp.c++/loop-8.C: New test.
8973 * testsuite/libgomp.c++/loop-9.C: New test.
8974 * testsuite/libgomp.c++/loop-10.C: New test.
8975 * testsuite/libgomp.c++/task-1.C: New test.
8976 * testsuite/libgomp.c++/task-2.C: New test.
8977 * testsuite/libgomp.c++/task-3.C: New test.
8978 * testsuite/libgomp.c++/task-4.C: New test.
8979 * testsuite/libgomp.c++/task-5.C: New test.
8980 * testsuite/libgomp.c++/task-6.C: New test.
8981 * testsuite/libgomp.fortran/allocatable1.f90: New test.
8982 * testsuite/libgomp.fortran/allocatable2.f90: New test.
8983 * testsuite/libgomp.fortran/allocatable3.f90: New test.
8984 * testsuite/libgomp.fortran/allocatable4.f90: New test.
8985 * testsuite/libgomp.fortran/collapse1.f90: New test.
8986 * testsuite/libgomp.fortran/collapse2.f90: New test.
8987 * testsuite/libgomp.fortran/collapse3.f90: New test.
8988 * testsuite/libgomp.fortran/collapse4.f90: New test.
8989 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
8990 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
8991 * testsuite/libgomp.fortran/lib4.f90: New test.
8992 * testsuite/libgomp.fortran/lock-1.f90: New test.
8993 * testsuite/libgomp.fortran/lock-2.f90: New test.
8994 * testsuite/libgomp.fortran/nested1.f90: New test.
8995 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
8996 * testsuite/libgomp.fortran/strassen.f90: New test.
8997 * testsuite/libgomp.fortran/tabs1.f90: New test.
8998 * testsuite/libgomp.fortran/tabs2.f: New test.
8999 * testsuite/libgomp.fortran/task1.f90: New test.
9000 * testsuite/libgomp.fortran/task2.f90: New test.
9001 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
9002 * testsuite/libgomp.fortran/vla5.f90: Likewise.
9003 * testsuite/libgomp.c/pr26943-2.c: Likewise.
9004 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9005 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9006
7a0112e7
JJ
90072008-05-23 Jakub Jelinek <jakub@redhat.com>
9008
9009 PR c++/36308
9010 * testsuite/libgomp.c++/ctor-11.C: New test.
9011 * testsuite/libgomp.c++/ctor-12.C: New test.
9012
91a5b394
JJ
90132008-05-15 Janis Johnson <janis187@us.ibm.com>
9014
9015 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
9016
c18c98c0
JJ
90172008-05-07 Jakub Jelinek <jakub@redhat.com>
9018
9019 PR middle-end/36106
9020 * testsuite/libgomp.c/atomic-5.c: New test.
9021 * testsuite/libgomp.c/atomic-6.c: New test.
9022 * testsuite/libgomp.c/autopar-1.c: New test.
9023
6d26724a
RW
90242008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9025
9026 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
9027 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
9028 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
9029 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
9030 * configure: Regenerate.
9031 * Makefile.in, testsuite/Makefile.in: Likewise.
9032
deb984e6
PB
90332008-04-18 Paolo Bonzini <bonzini@gnu.org>
9034
9035 PR bootstrap/35457
9036 * aclocal.m4: Regenerate.
9037 * configure: Regenerate.
9038
9e775963
JJ
90392008-03-18 Jakub Jelinek <jakub@redhat.com>
9040
8119fc93
JJ
9041 PR middle-end/35611
9042 * testsuite/libgomp.c/atomic-4.c: New test.
9043
9e775963
JJ
9044 PR libgomp/35625
9045 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
9046 (gomp_iter_guided_next): Likewise.
9047 * testsuite/libgomp.c/pr35625.c: New test.
9048
38d24731
RW
90492008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9050
9051 * aclocal.m4: Regenerate.
9052 * configure: Likewise.
9053 * Makefile.in: Likewise.
9054 * testsuite/Makefile.in: Likewise.
9055
d0fb20be
JJ
90562008-03-13 Jakub Jelinek <jakub@redhat.com>
9057
9058 PR middle-end/35185
9059 * testsuite/libgomp.c++/pr35185.C: New test.
9060
7c8f7639
JJ
90612008-03-12 Jakub Jelinek <jakub@redhat.com>
9062
9063 PR middle-end/35549
9064 * testsuite/libgomp.c/pr35549.c: New test.
9065
251923f5
JJ
90662008-03-06 Jakub Jelinek <jakub@redhat.com>
9067
9068 * testsuite/libgomp.c/atomic-3.c: New test.
9069
f489fba1
FXC
90702008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9071
9072 PR fortran/33197
251923f5 9073 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
9074 .F08 file suffixes.
9075
a1b25e49
PG
90762008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
9077
9078 PR libgomp/33131
9079 * configure.ac: Add ACX_HEADER_STRING.
9080 * env.c: Include strings.h.
9081 * aclocal.m4: Regenerate.
9082 * config.h.in: Regenerate.
9083 * configure: Regenerate.
9084 * Makefile.in: Regenerate.
9085 * testsuite/Makefile.in: Regenerate.
9086
6837b3b8
JJ
90872008-02-15 Jakub Jelinek <jakub@redhat.com>
9088
ac84c062
JJ
9089 PR middle-end/35196
9090 * testsuite/libgomp.c/pr35196.c: New test.
9091
6837b3b8
JJ
9092 PR middle-end/35130
9093 * testsuite/libgomp.fortran/pr35130.f90: New test.
9094 * testsuite/libgomp.c/pr35130.c: New test.
9095
c256730c
JJ
90962008-01-25 Jakub Jelinek <jakub@redhat.com>
9097
9098 PR middle-end/33880
9099 * testsuite/libgomp.c/pr33880.c: New test.
9100 * testsuite/libgomp.fortran/pr33880.f90: New test.
9101
c8e95542 91022008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
9103
9104 * configure: Regenerate.
9105
0f3e711e
JJ
91062008-01-08 Jakub Jelinek <jakub@redhat.com>
9107
9108 * configure.ac: Move futex checking into ../config/futex.m4.
9109 * configure: Rebuilt.
9110 * aclocal.m4: Rebuilt.
9111 * Makefile.in: Rebuilt.
9112
9113 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
9114 2007-10-15 ../config/tls.m4 change.
9115
5259c813
JJ
91162007-12-19 Jakub Jelinek <jakub@redhat.com>
9117
9118 PR c++/34513
9119 * testsuite/libgomp.c/pr34513.c: New test.
9120 * testsuite/libgomp.c++/pr34513.C: New test.
9121
ae8d8879
JH
91222007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
9123
9124 PR target/32765
9125 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
9126
2b4cf991
JJ
91272007-12-04 Jakub Jelinek <jakub@redhat.com>
9128
9129 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
9130
d2dda7fe
JJ
91312007-12-03 Jakub Jelinek <jakub@redhat.com>
9132
9133 * testsuite/libgomp.c/private-1.c: New test.
9134
d683ec81
PB
91352007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
9136 Paolo Bonzini <bonzini@gnu.org>
9137
9138 * Makefile.am: Use space as vpath separator. Use 'vpath %'
9139 instead of 'VPATH ='.
9140 * Makefile.in: Regenerate.
9141
a7415017
MK
91422007-11-23 Matthias Klose <doko@ubuntu.com>
9143
9144 * configure.ac: Adjust makeinfo version check.
9145 * configure: Regenerate.
9146
78e47463
JJ
91472007-11-10 Jakub Jelinek <jakub@redhat.com>
9148
9149 PR fortran/34020
9150 * testsuite/libgomp.fortran/pr34020.f90: New test.
9151
239371f9
JJ
91522007-11-06 Jakub Jelinek <jakub@redhat.com>
9153
9154 PR c++/33894
9155 * testsuite/libgomp.c++/atomic-1.C: New test.
9156
98a5fa94
JJ
91572007-10-25 Jakub Jelinek <jakub@redhat.com>
9158
9159 PR libgomp/33275
9160 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
9161 Make x and y integers rather than (implicit) reals. Add private (j)
9162 clause to the last omp parallel.
9163
3afcaaf4
MR
91642007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
9165
9166 * configure: Regenerate following changes to ../config/tls.m4.
9167
bd69daef
JJ
91682007-09-28 Jakub Jelinek <jakub@redhat.com>
9169
9170 * testsuite/libgomp.fortran/stack.f90: New test.
9171
1d0bd356
DS
91722007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
9173
9174 * config/mingw32/proc.c: New file.
9175
b3172cab
UB
91762007-09-05 Uros Bizjak <ubizjak@gmail.com>
9177
9178 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
9179 (main): Use __get_cpuid to get i386 target fetaures.
9180 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
9181 (main): Use __get_cpuid to get x86_64 target fetaures.
9182
6da17392
JH
91832007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
9184
9185 PR target/32765
9186 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
9187 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
9188
e1c82219
JJ
91892007-07-12 Jakub Jelinek <jakub@redhat.com>
9190
9191 PR fortran/32550
9192 * testsuite/libgomp.fortran/pr32550.f90: New test.
9193 * testsuite/libgomp.fortran/crayptr2.f90: New test.
9194
12a27363
L
91952007-07-05 H.J. Lu <hongjiu.lu@intel.com>
9196
9197 * aclocal.m4: Regenerated.
9198
5349080d
TB
91992007-07-05 Tobias Burnus <burnus@net-b.de>
9200
9201 PR fortran/32359
9202 * testsuite/libgomp.fortran/pr32359.f90: New.
9203
4f9c450c
JJ
92042007-07-02 Jakub Jelinek <jakub@redhat.com>
9205
9206 PR libgomp/32468
9207 * sections.c (GOMP_parallel_sections_start): Only decrease
9208 number of threads to COUNT if dyn_var is true.
9209 * testsuite/libgomp.c/pr32468.c: New test.
9210
28c67ed7
RO
92112007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
9212
9213 PR libgomp/26308
9214 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
9215
64964499
JJ
92162007-06-21 Jakub Jelinek <jakub@redhat.com>
9217
9218 PR middle-end/32362
9219 * testsuite/libgomp.c/pr32362-1.c: New test.
9220 * testsuite/libgomp.c/pr32362-2.c: New test.
9221 * testsuite/libgomp.c/pr32362-3.c: New test.
9222
46d8fbd1
JJ
92232007-06-07 Jakub Jelinek <jakub@redhat.com>
9224
9225 * team.c (gomp_team_start): Fix setting up thread_attr
9226 stack size.
9227
82a6cadf
PB
92282007-06-02 Paolo Bonzini <bonzini@gnu.org>
9229
9230 * configure: Regenerate.
9231
1cf3d07d
SE
92322007-05-23 Steve Ellcey <sje@cup.hp.com>
9233
9234 * Makefile.in: Regenerate.
9235 * configure: Regenerate.
9236 * aclocal.m4: Regenerate.
9237 * testsuite/Makefile.in: Regenerate.
9238
12aac30b
JJ
92392007-05-04 Jakub Jelinek <jakub@redhat.com>
9240
9241 * config/linux/proc.c: New file.
9242
f1028b02
JJ
9243 PR libgomp/28482
9244 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
9245
06785a48
DF
92462007-04-19 Daniel Franke <franke.daniel@gmail.com>
9247
9248 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
9249
b3b08ba0
MK
92502007-04-16 Matthias Klose <doko@debian.org>
9251
9252 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
9253 flags if not building with -m64.
9254 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
9255 flag for i?86-*-* targets, if current target matches -m64.
9256
6b2c5ce0
SE
92572007-04-14 Steve Ellcey <sje@cup.hp.com>
9258
9259 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
9260 * Makefile.in: Regenerate.
9261
dd56fe7c
JDA
92622007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9263
9264 PR testsuite/31369
9265 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
9266 ld_library_path.
9267 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9268
a0884cf0
JJ
92692007-04-04 Jakub Jelinek <jakub@redhat.com>
9270
9271 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
9272 decls.
9273 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
9274 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
9275 (parse_affinity): New function.
9276 (initialize_env): Call it and gomp_init_affinity.
9277 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
9278 create new pthread_attr_t and call gomp_init_thread_affinity
9279 on it for each thread before passing the attribute to pthread_create.
9280 * config/linux/affinity.c: New file.
9281 * config/posix/affinity.c: New file.
9282 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
9283 * configure: Rebuilt.
9284 * config.h.in: Rebuilt.
9285 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
9286 * Makefile.in: Rebuilt.
9287
1850744b
AT
92882007-03-23 Andreas Tobler <a.tobler@schweiz.org>
9289
9290 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
9291 *-*-darwin*.
9292 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
9293 and use it if found.
9294
516f1ed8
UB
92952007-03-18 Uros Bizjak <ubizjak@gmail.com>
9296
9297 * testsuite/config/default.exp: New file.
9298 * testsuite/lib/libgomp.exp: New file.
9299 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
9300 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
9301 load_lib *, load_gcc_lib *): Move to libgomp.exp.
9302 (libgomp_load): Remove.
9303 * testsuite/lib/libgomp.exp (libgomp_init): Compute
9304 always_ld_library_path, not ld_library_path. Set additional_flags
9305 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
9306 (target_compile): Do not call libgomp_init. Append lang_library_path
9307 and lang_link_flags to options.
9308 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
9309 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
9310 here.
9311 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
9312 always_ld_library_path. Set LD_LIBRARY_PATH here.
9313 * testsuite/libgomp.fortran/fortran.exp: Ditto.
9314 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
9315 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
9316 CX8 flag.
9317 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
9318 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
9319 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
9320 * testsuite/libgomp.c/pr29947-1.c: Ditto.
9321 * testsuite/libgomp.c/atomic-10.c: Ditto.
9322
2ada56f5
JJ
93232007-03-21 Jakub Jelinek <jakub@redhat.com>
9324
9325 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
9326 dg-final cleanup-modules line.
9327 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
9328 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
9329 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
9330 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
9331 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
9332 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
9333 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
9334
f210f1cd
AS
93352007-03-18 Andreas Schwab <schwab@suse.de>
9336
9337 * acinclude.m4: Adjust regular expression for ld version
9338 extraction.
9339 * configure: Regenerate.
9340
c4dc950d
BM
93412007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
9342
9343 * Makefile.am: Add install-pdf target as copied from
9344 automake v1.10 rules.
9345 * Makefile.in: Regenerate
9346
e02a048f
JJ
93472007-02-07 Jakub Jelinek <jakub@redhat.com>
9348
78e075d4
JJ
9349 PR libgomp/28486
9350 * configure: Regenerate.
9351
e02a048f
JJ
9352 PR c++/30703
9353 * testsuite/libgomp.c++/pr30703.C: New test.
9354
60def7ed
JJ
93552007-02-02 Jakub Jelinek <jakub@redhat.com>
9356
9357 Revert:
9358 2006-07-05 Eric Christopher <echristo@apple.com>
9359 * configure.ac: Depend addition of -pthread on host OS.
9360 * configure: Regenerate.
9361
f1b0882e
RW
93622007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9363
9364 * libgomp.texi: Fix spacing after abbreviations.
9365
748b9d7c
DF
93662007-01-31 Daniel Franke <franke.daniel@gmail.com>
9367
9368 PR libgomp/30546
9369 * configure.ac: Add check for makeinfo
9370 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
9371 if an appropiate version of makeinfo is found.
9372 * aclocal.m4: Regenerated.
9373 * configure: Regenerated.
9374 * Makefile.in: Regenerated.
9375 * testsuite/Makefile.in: Regenerated.
9376
14734fc7
DF
93772007-01-29 Daniel Franke <franke.daniel@gmail.com>
9378
9379 PR libgomp/30540
9380 * libgomp.texi: More about implementation-dependent settings.
9381
7befd5d2
TB
93822007-01-26 Tobias Burnus <burnus@net-b.de>
9383
9384 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
9385
4288fea2
JJ
93862007-01-24 Jakub Jelinek <jakub@redhat.com>
9387
9388 PR middle-end/30494
9389 * testsuite/libgomp.c/pr30494.c: New test.
9390
627ab4b8
TT
93912007-01-15 Tom Tromey <tromey@redhat.com>
9392
9393 * configure: Rebuilt.
9394 * configure.ac: Fixed comment.
9395
7c2b7f45
DF
93962007-01-14 Daniel Franke <franke.daniel@gmail.com>
9397
9398 * libgomp.texi: Document implementation specific default values of
9399 environment variables.
9400
3721b9e1
DF
94012006-12-21 Daniel Franke <franke.daniel@gmail.com>
9402
9403 PR libgomp/28209
9404 * libgomp.texi: New file.
9405 * configure.ac: Add --enable-generated-files-in-srcdir option.
9406 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
9407 files to srcdir.
9408 * Makefile.in: Regenerated.
9409 * config.h.in: Regenerated.
9410 * testsuite/Makefile.in: Regenerated.
9411 * NOTES: Removed.
9412
62bd6216
DF
94132006-12-04 Daniel Franke <franke.daniel@gmail.com>
9414
9415 PR libgomp/29949
9416 * env.c (omp_set_num_threads): Set illegal thread count to 1.
9417
aad741f4
EB
94182006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
9419
9420 * configure: Regenerate.
9421
22568cc6
JJ
94222006-12-04 Jakub Jelinek <jakub@redhat.com>
9423
9424 PR libgomp/29947
9425 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
9426 start if there shouldn't be any loop iterations.
9427 (gomp_loop_ordered_static_start): Remove start == end test.
9428 * testsuite/libgomp.c/pr29947-1.c: New test.
9429 * testsuite/libgomp.c/pr29947-2.c: New test.
9430
a9690009
EB
94312006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
9432
9433 * configure.tgt: Force initial-exec TLS model on Linux only.
9434
597c25e6
DJ
94352006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
9436
9437 * configure: Regenerated.
9438
6acf0b38
UB
94392006-11-09 Uros Bizjak <ubizjak@gmail.com>
9440
9441 * env.c (parse_schedule): Reject out of range values.
9442 (parse_unsigned_long): Reject out of range, negative or zero values.
9443
a7a53ca5
JJ
94442006-10-29 Jakub Jelinek <jakub@redhat.com>
9445
9446 PR fortran/29629
9447 * testsuite/libgomp.fortran/pr29629.f90: New test.
9448
6d4d216a
EB
94492006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
9450
9451 PR libgomp/29494
9452 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
9453 * config/posix95: New directory.
9454 * config/posix95/omp-lock.h: New file.
9455 * config/posix95/lock.c: Likewise.
9456
5b043f08
GK
94572006-10-14 Geoffrey Keating <geoffk@apple.com>
9458
9459 * aclocal.m4: Regenerate.
9460 * configure: Regenerate.
9461
b50019f0
DS
94622006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
9463
9464 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
9465 '<' to '<='.
9466
8887708e
DS
94672006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
9468
9469 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
9470 test.
9471 * configure: Regenerate.
9472 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
9473
9b9e4cd6
JJ
94742006-09-26 Jakub Jelinek <jakub@redhat.com>
9475
a70ad3bb
JJ
9476 PR middle-end/25261
9477 PR middle-end/28790
9478 * testsuite/libgomp.c/nestedfn-4.c: New test.
9479 * testsuite/libgomp.c/nestedfn-5.c: New test.
9480 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
9481
9b9e4cd6
JJ
9482 PR fortran/29097
9483 * testsuite/libgomp.fortran/condinc1.f: New test.
9484 * testsuite/libgomp.fortran/condinc2.f: New test.
9485 * testsuite/libgomp.fortran/condinc3.f90: New test.
9486 * testsuite/libgomp.fortran/condinc4.f90: New test.
9487 * testsuite/libgomp.fortran/condinc1.inc: New file.
9488
2fb31455
TT
94892006-09-18 Tom Tromey <tromey@redhat.com>
9490
9491 * configure: Rebuilt.
9492
c663e301
JM
94932006-09-13 Joseph S. Myers <joseph@codesourcery.com>
9494
9495 PR c/28768
9496 PR preprocessor/14634
9497 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
9498 to AC_DEFINE.
9499 * configure: Regenerate.
9500
38371be9
SK
95012006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
9502
9503 * testsuite/libgomp.fortran/reduction3.f90: Change
9504 -2147483648 to -huge(i)-1 to avoid overflow.
9505 * testsuite/libgomp.fortran/reduction4.f90: Change
9506 Z'ffffffff' to not(0) to avoid overflow.
9507
571d5ac5
JM
95082006-08-26 Joseph S. Myers <joseph@codesourcery.com>
9509
9510 PR libgomp/25938
9511 * Makefile.am (libsubincludedir): New.
9512 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
9513 * Makefile.in: Regenerate.
9514
89b3e3cd
JJ
95152006-08-17 Jakub Jelinek <jakub@redhat.com>
9516
9517 PR libgomp/28725
9518 * env.c: Include ctype.h.
9519 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
9520 leading and/or trailing whitespace and compare strings case
9521 insensitively.
9522
742fae05
JJ
95232006-07-16 Jakub Jelinek <jakub@redhat.com>
9524
9525 PR fortran/28390
9526 * testsuite/libgomp.fortran/pr28390.f: New test.
9527
a1daed2d
EC
95282006-07-05 Eric Christopher <echristo@apple.com>
9529
9530 * configure.ac: Depend addition of -pthread on host OS.
9531 * configure: Regenerate.
9532
5d7b5199
JJ
95332006-06-21 Jakub Jelinek <jakub@redhat.com>
9534
9535 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
9536 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
9537 defined.
9538
fe5568e9
JJ
95392006-06-20 Jakub Jelinek <jakub@redhat.com>
9540
9541 PR libgomp/26175
9542 PR libgomp/26477
9543 * configure.ac: If neither --enable-linux-futex nor
9544 --disable-linux-futex is passed, determine the default by checking
9545 for compiling and/or running against NPTL. With --enable-linux-futex,
9546 check if SYS_gettid and SYS_futex are defined.
9547 * configure: Rebuilt.
9548
c3b11a40
RH
95492006-06-14 Richard Henderson <rth@redhat.com>
9550
9551 PR libgomp/28008
9552 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
9553 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
9554
d0d1b24d
RH
95552006-06-09 Richard Henderson <rth@redhat.com>
9556
9557 * env.c (gomp_nthreads_var): Change to unsigned long.
9558 (gomp_run_sched_chunk): Likewise.
9559 (parse_unsigned_long): Rename from parse_num_threads and generalize.
9560 (initialize_env): Initialize gomp_thread_attr.
9561 * libgomp.h (gomp_nthreads_var): Update decl.
9562 (gomp_run_sched_chunk): Likewise.
9563 (gomp_thread_attr): Declare.
9564 * team.c (gomp_thread_attr): Export.
9565 (initialize_team): Don't initialize it.
9566
cd75853e
JJ
95672006-06-09 Jakub Jelinek <jakub@redhat.com>
9568
9569 PR fortran/27916
9570 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
9571 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
9572
33815e0c
FXC
95732006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
9574
9575 * config/mingw32/time.c: New file.
9576 * configure.tgt: Use it.
9577
6667de0d
CD
95782006-05-23 Carlos O'Donell <carlos@codesourcery.com>
9579
9580 * Makefile.am: Add install-html target. Add install-html to .PHONY
9581 * Makefile.in: Regenerate.
9582
e962c46b
JDA
95832006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
9584
9585 PR libgomp/27612
9586 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
9587 * testsuite/libgomp.c/critical-1.c: Likewise.
9588 * testsuite/libgomp.c/loop-1.c: Likewise.
9589 * testsuite/libgomp.c/loop-2.c: Likewise.
9590 * testsuite/libgomp.c/single-1.c: Likewise.
9591 * testsuite/libgomp.c/ordered-1.c: Likewise.
9592 * testsuite/libgomp.c/ordered-2.c: Likewise.
9593
eeb1d9e0
JJ
95942006-05-15 Jakub Jelinek <jakub@redhat.com>
9595
9596 PR middle-end/27416
9597 * libgomp.fortran/pr27416-1.f90: New test.
9598
693d710f
JJ
95992006-05-03 Jakub Jelinek <jakub@redhat.com>
9600
9601 PR fortran/27395
9602 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
9603 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
9604
8ca5b2a2
JJ
96052006-05-02 Jakub Jelinek <jakub@redhat.com>
9606
9607 PR c++/26943
9608 * testsuite/libgomp.c/pr26943-1.c: New test.
9609 * testsuite/libgomp.c/pr26943-2.c: New test.
9610 * testsuite/libgomp.c/pr26943-3.c: New test.
9611 * testsuite/libgomp.c/pr26943-4.c: New test.
9612 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
9613 * testsuite/libgomp.c++/pr26943.C: New test.
9614
077b0dfb
JJ
96152006-05-02 Jakub Jelinek <jakub@redhat.com>
9616
9617 PR middle-end/27337
9618 * testsuite/libgomp.c++/pr27337.C: New test.
9619
91b6c26d
JJ
96202006-04-26 Jakub Jelinek <jakub@redhat.com>
9621
9622 PR c/26171
9623 * testsuite/libgomp.c/pr26171.c: New test.
9624
60e1758f
RH
96252006-04-25 Richard Henderson <rth@redhat.com>
9626
9627 PR libgomp/25865
9628 * configure.ac: Use GCC_CHECK_TLS.
9629 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
9630 * Makefile.in, aclocal.m4, configure: Regenerate.
9631
615baed7
MK
96322006-04-10 Matthias Klose <doko@debian.org>
9633
9634 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
9635 directory names containing underscores.
9636
fae2b46b
JJ
96372006-03-21 Jakub Jelinek <jakub@redhat.com>
9638
9639 PR c++/26691
9640 * testsuite/libgomp.c++/pr26691.C: New test.
9641
11a5f608
JJ
96422006-03-13 Jakub Jelinek <jakub@redhat.com>
9643
9644 * testsuite/libgomp.fortran/retval2.f90: New test.
9645
1799e5d5
RH
96462006-03-09 Diego Novillo <dnovillo@redhat.com>
9647
9648 * testsuite/libgomp.c++: New directory.
9649
d349482e
AT
96502006-02-25 Shantonu Sen <ssen@opendarwin.org>
9651
9652 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
9653 * config/posix/sem.c: Implement the above.
9654
96552006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
9656
9657 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
9658 define HAVE_BROKEN_POSIX_SEMAPHORES.
9659 * configure: Rebuilt.
9660 * config.h.in: Rebuilt.
9661
124452c9
FXC
96622006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
9663
9664 PR bootstrap/26161
9665 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
9666 for the other pthread check.
9667 * configure: Regenerate.
9668 * config.h.in: Regenerate.
9669
dd8d6dfe
JJ
96702006-02-15 Jakub Jelinek <jakub@redhat.com>
9671
9672 PR libgomp/25938
9673 PR libgomp/25984
9674 * Makefile.am (fincludedir): New variable.
9675 (nodist_include_HEADERS): Remove Fortran files.
9676 (nodist_finclude_HEADERS): New variable.
9677 * Makefile.in: Regenerated.
9678
6c7a4dfd
JJ
96792006-02-13 Jakub Jelinek <jakub@redhat.com>
9680
9681 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
9682 Remove tests for returning assumed character length arrays.
9683
5142e08b
RS
96842006-02-12 Roger Sayle <roger@eyesopen.com>
9685 John David Anglin <dave@hiauly1.hia.nrc.ca>
9686
9687 PR libgomp/25936
9688 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 9689
5821fba8
UW
96902006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
9691
9692 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
9693
cb2bbc67
EB
96942006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
9695
9696 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
9697 part of LD_LIBRARY_PATH manually.
9698
f05ee80c
L
96992006-02-03 H.J. Lu <hongjiu.lu@intel.com>
9700
9701 PR libgomp/25852
9702 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
9703 libgomp_init.
9704
03b8fe49
PB
97052005-01-25 Paolo Bonzini <bonzini@gnu.org>
9706
9707 PR libgomp/25884
f05ee80c
L
9708 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
9709 * configure.ac (PERL): Don't set.
9710 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
9711 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
9712 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
9713 * omp.h.in: Wrap the new configure substitutions with @ characters.
9714 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
9715 * aclocal.m4, configure, Makefile.in: Regenerate.
9716 * mkomp_h.pl: Delete.
03b8fe49 9717
18cbfd85
PB
97182005-01-24 Paolo Bonzini <bonzini@gnu.org>
9719
9720 PR libgomp/25259
9721 * configure.ac: Use GCC_HEADER_STDINT.
9722 * libgomp.h: Include gstdint.h.
9723 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
9724 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
9725
c41303c6
RH
97262006-01-24 Richard Henderson <rth@redhat.com>
9727
9728 PR libgomp/25942
9729 * configure.ac: Add AM_MAINTAINER_MODE.
9730 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
9731
149b9553
DN
97322006-01-24 Diego Novillo <dnovillo@redhat.com>
9733
9734 * Makefile.in: Regenerate.
9735 * testsuite/Makefile.in: Regenerate.
9736 * aclocal.m4: Regenerate.
9737
192a50ad
AT
97382006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
9739
9740 * config/posix/proc.c: Conditional include of sys/loadavg.h for
9741 Solaris.
9742 * configure.ac: Add check for loadavg.h.
9743 (link_gomp): Adjust comment.
9744 * configure: Regenerate.
9745 * config.h.in: Regenerate.
9746
a55b8e18
SE
97472006-01-21 Steve Ellcey <sje@cup.hp.com>
9748
9749 PR libgomp/25877
9750 * configure.ac: Remove check for alloca.h.
9751 * configure: Regenerate.
9752 * config.h.in: Regenerate.
9753 * libgomp.h: define gomp_alloca to be __builtin_alloca.
9754 * team.c: Remove use of alloca.h.
9755 Call gomp_alloca instead of alloca.
9756
692eeb34
SE
97572006-01-20 Steve Ellcey <sje@cup.hp.com>
9758
9759 PR libgomp/25877
9760 * team.c: Add include of alloca.h.
9761 * configure.ac: Add check for alloca.h.
9762 * configure: Regenerate.
9763 * config.h.in: Regenerate.
9764
953ff289
DN
97652006-01-17 Jakub Jelinek <jakub@redhat.com>
9766
9767 PR fortran/25219
9768 * testsuite/libgomp.fortran/pr25219.f90: New test.
9769
97702005-12-05 Uros Bizjak <uros@kss-loka.si>
9771
9772 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
9773 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
9774 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
9775 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
9776 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
9777 testsuite/libgomp.fortran/threadprivate1.f90,
9778 testsuite/libgomp.fortran/threadprivate2.f90,
9779 testsuite/libgomp.fortran/threadprivate3.f90,
9780 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
9781 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
9782 testsuite/libgomp.fortran/omp_parse3.f90: Change required
9783 effective-target to TLS runtime.
9784
9785 * testsuite/libgomp.fortran/pr25162.f: Require
9786 effective-target TLS runtime.
9787
97882005-12-01 Jakub Jelinek <jakub@redhat.com>
9789
9790 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
9791 * testsuite/libgomp.c/nestedfn-3.c: New test.
9792
97932005-11-30 Jakub Jelinek <jakub@redhat.com>
9794
9795 PR fortran/25162
9796 * testsuite/libgomp.fortran/pr25162.f: New test.
9797
97982005-11-28 Jakub Jelinek <jakub@redhat.com>
9799
9800 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
9801 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
9802
98032005-11-25 Jakub Jelinek <jakub@redhat.com>
9804
9805 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
9806 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
9807 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
9808 single.c, team.c, work.c, config/linux/alpha/futex.h,
9809 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
9810 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
9811 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
9812 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
9813 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
9814 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
9815 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
9816 FSF address.
9817
98182005-11-18 Jakub Jelinek <jakub@redhat.com>
9819
9820 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
9821 to nodist_noinst_HEADERS.
9822 * Makefile.in: Rebuilt.
9823
9824 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
9825 add integer count field.
9826 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
9827 omp_nest_lock_t type change.
9828 (omp_init_nest_lock): Likewise. Initialize count to 0.
9829 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
9830 Increment count.
9831 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
9832 Decrement count.
9833 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
9834 Increment count if successful and return the new nesting level.
9835 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
9836 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
9837 * testsuite/libgomp.c/lib-1.c: New test.
9838 * testsuite/libgomp.fortran/lib1.f90: New test.
9839 * testsuite/libgomp.fortran/lib2.f: New test.
9840 * testsuite/libgomp.fortran/lib3.f: New test.
9841
98422005-11-17 Richard Henderson <rth@redhat.com>
9843
9844 PR 24845
9845 * Makefile.am (nodist_toolexeclib_HEADERS): New.
9846 * configure.ac (link_gomp): New. Substitute it.
9847 (AC_CONFIG_FILES): Add libgomp.spec.
9848 * libgomp.spec.in: New file.
9849 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
9850 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
9851
98522005-11-18 Jakub Jelinek <jakub@redhat.com>
9853
9854 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
9855 reduction(-:var) behaving the same as reduction(+:var).
9856 * testsuite/libgomp.c/reduction-4.c: New test.
9857
98582005-11-15 Uros Bizjak <uros@kss-loka.si>
9859
9860 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
9861 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
9862 testsuite/libgomp.c/copyin-3.c,
9863 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
9864 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
9865 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
9866 testsuite/libgomp.c++/pr24455.C,
9867 testsuite/libgomp.fortran/threadprivate1.f90,
9868 testsuite/libgomp.fortran/threadprivate2.f90,
9869 testsuite/libgomp.fortran/threadprivate3.f90,
9870 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
9871 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
9872 testsuite/libgomp.fortran/omp_parse3.f90: Require
9873 effective-target TLS.
9874
98752005-11-14 Diego Novillo <dnovillo@redhat.com>
9876
9877 * HEADER: Remove.
9878
98792005-11-13 Jakub Jelinek <jakub@redhat.com>
9880
9881 PR libgomp/24797
9882 * team.c (initialize_team): Pass NULL rather than free as
9883 pthread_key_create destructor. Initialize thread specific data
9884 pointer in initial thread to a static local variable rather than
9885 malloced memory.
9886
98872005-11-11 Uros Bizjak <uros@kss-loka.si>
9888
9889 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
9890 its location to ld_library_path.
9891
98922005-11-10 Diego Novillo <dnovillo@redhat.com>
9893
9894 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
9895
98962005-11-10 Diego Novillo <dnovillo@redhat.com>
9897
9898 * testsuite/libgomp.c: Rename from libgomp.dg.
9899
99002005-11-09 Diego Novillo <dnovillo@redhat.com>
9901
9902 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
9903 threadprivate variable 'i'.
9904
99052005-11-09 Jakub Jelinek <jakub@redhat.com>
9906
9907 * config/linux/s390/futex.h: New file.
9908 * configure.tgt: Use it.
9909
9910 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
9911 before the parallel.
9912
99132005-11-08 Jakub Jelinek <jakub@redhat.com>
9914
9915 PR c++/24734
9916 * testsuite/libgomp.c++/master-1.C: New test.
9917
99182005-11-07 Jakub Jelinek <jakub@redhat.com>
9919
9920 * testsuite/libgomp.dg/copyin-3.c: New test.
9921
99222005-11-07 Jakub Jelinek <jakub@redhat.com>
9923
9924 * testsuite/libgomp.fortran/retval1.f90: New test.
9925 * testsuite/libgomp.fortran/vla7.f90: New test.
9926
99272005-11-06 Jakub Jelinek <jakub@redhat.com>
9928
9929 * testsuite/libgomp.fortran/vla2.f90: New test.
9930 * testsuite/libgomp.fortran/vla3.f90: New test.
9931 * testsuite/libgomp.fortran/vla4.f90: New test.
9932 * testsuite/libgomp.fortran/vla5.f90: New test.
9933 * testsuite/libgomp.fortran/vla6.f90: New test.
9934
99352005-11-01 Jakub Jelinek <jakub@redhat.com>
9936
9937 * config/linux/sparc/futex.h: New file.
9938 * configure.tgt: Use it.
9939 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
9940
9941 * critical.c: Include stdlib.h.
9942 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
9943 ignoring return value.
9944 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
9945 LIBGOMP_CHECK_SYNC_BUILTINS check.
9946 * configure: Rebuilt.
9947
99482005-10-31 Jakub Jelinek <jakub@redhat.com>
9949
9950 * testsuite/libgomp.fortran/vla1.f90: New test.
9951
99522005-10-31 Richard Henderson <rth@redhat.com>
9953
9954 * testsuite/libgomp.fortran/character2.f90: Fix race condition
9955 setting 's' in different threads.
9956
99572005-10-31 Jakub Jelinek <jakub@redhat.com>
9958
9959 * libgomp.h (attribute_hidden, ialias): Define.
9960 * config/posix/proc.c (omp_get_num_procs): Add ialias.
9961 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
9962 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
9963 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
9964 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
9965 omp_test_lock, omp_test_nest_lock): Likewise.
9966 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
9967 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
9968 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
9969 omp_test_lock, omp_test_nest_lock): Likewise.
9970 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
9971 omp_get_dynamic, omp_get_nested): Likewise.
9972 * parallel.c (omp_get_num_threads, omp_get_max_threads,
9973 omp_get_thread_num, omp_in_parallel): Likewise.
9974 * fortran.c (ialias_redirect): Define.
9975 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
9976 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
9977 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
9978 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
9979 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
9980 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
9981 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
9982 omp_get_wtime): Add ialias_redirect.
9983
99842005-10-30 Jakub Jelinek <jakub@redhat.com>
9985
9986 * fortran.c: Include stdlib.h.
9987
99882005-10-29 Jakub Jelinek <jakub@redhat.com>
9989
9990 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
9991 * Makefile.in: Regenerated.
9992
99932005-10-28 Jakub Jelinek <jakub@redhat.com>
9994
9995 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
9996 * libgomp_f.h.in (omp_check_defines): New function.
9997 * env.c: Include libgomp_f.h.
9998 (initialize_env): Call omp_check_defines.
9999
10000 * testsuite/libgomp.dg/copyin-2.c: New test.
10001 * testsuite/libgomp.c++/copyin-2.C: New test.
10002 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
10003
10004 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
10005 * testsuite/libgomp.fortran/sharing2.f90: New test.
10006
10007 * testsuite/libgomp.dg/copyin-1.c: New test.
10008 * testsuite/libgomp.c++/copyin-1.C: New test.
10009
100102005-10-26 Jakub Jelinek <jakub@redhat.com>
10011
10012 * testsuite/libgomp.fortran/crayptr1.f90: New test.
10013
10014 * testsuite/libgomp.fortran/workshare1.f90: New test.
10015
10016 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
10017 only test.
10018 * libgomp.fortran/sharing1.f90: New test.
10019
100202005-10-24 Jakub Jelinek <jakub@redhat.com>
10021
10022 PR c++/24502
10023 * testsuite/libgomp.c++/loop-7.C: New test.
10024
10025 * testsuite/libgomp.dg/nestedfn-2.c: New test.
10026
10027 * testsuite/libgomp.dg/nestedfn-1.c: New test.
10028 * testsuite/libgomp.fortran/reduction6.f90: New test.
10029 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
10030
100312005-10-23 Richard Henderson <rth@redhat.com>
10032
10033 * testsuite/libgomp.c++/ctor-1.C: New.
10034 * testsuite/libgomp.c++/ctor-2.C: New.
10035 * testsuite/libgomp.c++/ctor-3.C: New.
10036 * testsuite/libgomp.c++/ctor-4.C: New.
10037 * testsuite/libgomp.c++/ctor-5.C: New.
10038 * testsuite/libgomp.c++/ctor-6.C: New.
10039 * testsuite/libgomp.c++/ctor-7.C: New.
10040 * testsuite/libgomp.c++/ctor-8.C: New.
10041 * testsuite/libgomp.c++/ctor-9.C: New.
10042
100432005-10-21 Diego Novillo <dnovillo@redhat.com>
10044
10045 PR 24455
10046 * testsuite/libgomp.c++/pr24455-1.C: New test.
10047 * testsuite/libgomp.c++/pr24455.C: New test.
10048 * testsuite/libgomp.dg/pr24455-1.c: New test.
10049 * testsuite/libgomp.dg/pr24455.c: New test.
10050
100512005-10-20 Richard Henderson <rth@redhat.com>
10052
10053 * testsuite/libgomp.c++/loop-6.C: New.
10054 * testsuite/libgomp.dg/loop-3.c: New.
10055
100562005-10-20 Jakub Jelinek <jakub@redhat.com>
10057
10058 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
10059 explicitly private.
10060 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
10061 explicitly shared.
10062
100632005-10-19 Diego Novillo <dnovillo@redhat.com>
10064
10065 * testsuite/libgomp.fortran/jacobi.f: New test.
10066
100672005-10-19 Richard Henderson <rth@redhat.com>
10068
10069 * configure.tgt (i?86-linux): Default to with_arch instead of
10070 CFLAGS. Add -mtune to match target_cpu.
10071 (x86_64-linux): Tune to i686.
10072
10073 * fortran.c (omp_test_nest_lock_): Fix typo.
10074
100752005-10-19 Jakub Jelinek <jakub@redhat.com>
10076
10077 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
10078 gomp_ordered_sync): Do nothing if team->nthreads == 1.
10079 * testsuite/libgomp.dg/ordered-3.c: New test.
10080
10081 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
10082 Remove volatile keyword.
10083
10084 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
10085 in COMMON block to avoid warnings on 64-bit targets.
10086
100872005-10-18 Diego Novillo <dnovillo@redhat.com>
10088
10089 * testsuite/libgomp.dg/shared-3.c: New test.
10090
100912005-10-18 Jakub Jelinek <jakub@redhat.com>
10092
10093 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
10094 * testsuite/libgomp.fortran/reduction5.f90: New test.
10095
100962005-10-18 Jakub Jelinek <jakub@redhat.com>
10097
10098 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
10099 dg-options.
10100 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
10101 flush loop now that __sync_synchronize has proper memory barrier.
10102 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
10103 Add -ffixed-form to dg-options.
10104
101052005-10-17 Diego Novillo <dnovillo@redhat.com>
10106
10107 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
10108 from subdirectories.
10109 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
10110 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
10111 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
10112 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
10113 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
10114 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
10115 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
10116 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
10117 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
10118 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
10119 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
10120 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
10121 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
10122 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
10123 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
10124 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
10125 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
10126 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
10127 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
10128 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
10129 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
10130 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
10131 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
10132 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
10133 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
10134
101352005-10-17 Jakub Jelinek <jakub@redhat.com>
10136
10137 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
10138 lang_library_path exists. Use find instead of glob to gather tests.
10139 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
10140
101412005-10-17 Diego Novillo <dnovillo@redhat.com>
10142
10143 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
10144 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
10145 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
10146 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
10147 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
10148 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
10149 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
10150 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
10151 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
10152 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
10153 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
10154 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
10155 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
10156
101572005-10-15 Jakub Jelinek <jakub@redhat.com>
10158
10159 * testsuite/libgomp.dg/vla-1.c: New test.
10160
10161 * testsuite/libgomp.fortran/reference2.f90: New test.
10162
10163 * testsuite/libgomp.fortran/character2.f90: Remove explicit
10164 declaration of omp_get_thread_num.
10165 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
10166 use omp_lib.
10167
10168 * testsuite/libgomp.fortran/reduction1.f90: New test.
10169 * testsuite/libgomp.fortran/reduction2.f90: New test.
10170 * testsuite/libgomp.fortran/reduction3.f90: New test.
10171 * testsuite/libgomp.fortran/reduction4.f90: New test.
10172
101732005-10-13 Richard Henderson <rth@redhat.com>
10174
10175 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
10176 * Makefile.in: Regenerate.
10177 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
10178 * libgomp.h: Include bar.h.
10179 (struct gomp_barrier): Remove.
10180 (struct gomp_team): Add barrier. Replace master_barrier with
10181 master_release. Replace threads with ordered_release.
10182 (struct gomp_thread): Replace barrier with release.
10183 * ordered.c (gomp_ordered_first): Update for ordered_release change.
10184 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
10185 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
10186 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
10187 (GOMP_single_copy_end): Likewise.
10188 * team.c (gomp_threads_dock): New.
10189 (gomp_barrier_init, gomp_barrier_destroy): Remove.
10190 (gomp_thread_start): Use gomp_barrier_wait.
10191 (new_team, free_team): Update for gomp_team changes.
10192 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
10193 (gomp_team_end): Use gomp_barrier_wait.
10194 (initialize_team): Update for gomp_thread changes.
10195 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
10196 (gomp_work_share_end_nowait): Use atomic ops when available.
10197 * config/linux/bar.c, config/linux/bar.h: New files.
10198 * config/posix/bar.c, config/posix/bar.h: New files.
10199
102002005-10-13 Jakub Jelinek <jakub@redhat.com>
10201
10202 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
10203 * testsuite/libgomp.dg/single-2.c: New test.
10204
10205 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
10206 lang_link_flags): Unset, so that they aren't inherited from previously
10207 sourced *.exp.
10208
10209 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
10210
102112005-10-12 Richard Henderson <rth@redhat.com>
10212
10213 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
10214 (libgomp_init): Use lang_test_file, lang_library_path, and
10215 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
10216
10217 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
10218 (lang_test_file, lang_link_flags): New.
10219 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
10220
10221 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
10222 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
10223 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
10224 testsuite/libgomp.c++/parallel-1.C,
10225 testsuite/libgomp.c++/reduction-1.C,
10226 testsuite/libgomp.c++/reduction-2.C,
10227 testsuite/libgomp.c++/reduction-3.C,
10228 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
10229 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
10230 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
10231 New files, largely cribbed from the C testsuite.
10232
102332005-10-12 Jakub Jelinek <jakub@redhat.com>
10234
10235 * testsuite/libgomp.fortran/character1.f90: New test.
10236 * testsuite/libgomp.fortran/character2.f90: New test.
10237
10238 * testsuite/libgomp.dg/nested-1.c: New test.
10239 * testsuite/libgomp.dg/nested-2.c: New test.
10240 * testsuite/libgomp.fortran/do1.f90: New test.
10241 * testsuite/libgomp.fortran/do2.f90: New test.
10242
10243 * testsuite/libgomp.fortran/reference1.f90: New test.
10244
102452005-10-11 Jakub Jelinek <jakub@redhat.com>
10246
10247 * testsuite/libgomp.dg/reduction-1.c: New test.
10248 * testsuite/libgomp.dg/reduction-2.c: New test.
10249 * testsuite/libgomp.dg/reduction-3.c: New test.
10250
102512005-10-10 Jakub Jelinek <jakub@redhat.com>
10252
10253 * testsuite/libgomp.dg/atomic-1.c: New test.
10254 * testsuite/libgomp.dg/atomic-2.c: New test.
10255
102562005-10-09 Richard Henderson <rth@redhat.com>
10257
10258 * critical.c (atomic_lock): New.
10259 (initialize_critical): Initialize it.
10260 (GOMP_atomic_start, GOMP_atomic_end): New.
10261 * libgomp.map: Export them.
10262 * libgomp_g.h: Declare them.
10263
10264 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
10265
102662005-10-02 Richard Henderson <rth@redhat.com>
10267
10268 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
10269 to XCFLAGS instead of CFLAGS.
10270
102712005-09-30 Richard Henderson <rth@redhat.com>
10272
10273 * configure.ac: Determine whether -pthread or -lpthread is needed.
10274 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
10275 * Makefine.in, configure: Rebuild.
10276
102772005-09-28 Richard Henderson <rth@redhat.com>
10278
10279 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
10280 * testsuite/libgomp.dg/omp-single-3.c: New test.
10281
102822005-09-28 Diego Novillo <dnovillo@redhat.com>
10283
10284 * testsuite/libgomp.dg/omp-single-2.c: New test.
10285 * testsuite/libgomp.dg/shared-2.c: Fix return code.
10286
102872005-09-27 Richard Henderson <rth@redhat.com>
10288
10289 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
10290 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
10291
102922005-09-27 Jakub Jelinek <jakub@redhat.com>
10293
10294 * testsuite/libgomp.dg/omp-loop03.c: New test.
10295
102962005-09-27 Diego Novillo <dnovillo@redhat.com>
10297
10298 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
10299
103002005-09-27 Diego Novillo <dnovillo@redhat.com>
10301
10302 * testsuite/libgomp.dg/omp-single-1.c: New test.
10303 * testsuite/libgomp.dg/shared-1.c: Return 0.
10304 Add prototype for abort.
10305 * testsuite/libgomp.dg/shared-2.c: Likewise.
10306
103072005-09-26 Jakub Jelinek <jakub@redhat.com>
10308
10309 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
10310 constructs.
10311
103122005-09-26 Diego Novillo <dnovillo@redhat.com>
10313
10314 * testsuite/libgomp.dg/shared-1.c: New test.
10315 * testsuite/libgomp.dg/shared-2.c: New test.
10316
103172005-09-24 Richard Henderson <rth@redhat.com>
10318
10319 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
10320
103212005-09-24 Richard Henderson <rth@redhat.com>
10322
10323 * iter.c (gomp_iter_static_next): Round up when computing number
10324 of iterations. Don't bother distributing a remainder equally.
10325
10326 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
10327 Don't call srand. Zero b before testing.
10328 (main): New.
10329
103302005-09-24 Jakub Jelinek <jakub@redhat.com>
10331
10332 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
10333 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
10334
103352005-09-23 Jakub Jelinek <jakub@redhat.com>
10336
10337 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
10338 without !$omp end do, followed immediately by subroutine end.
10339
103402005-09-23 Diego Novillo <dnovillo@redhat.com>
10341
10342 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
10343
103442005-09-22 Richard Henderson <rth@redhat.com>
10345
10346 * critical.c (GOMP_critical_name_start): Change argument to void**.
10347 Reuse the pointer space if the mutex fits.
10348 (GOMP_critical_name_end): Likewise.
10349 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
10350 * libgomp_g.h (GOMP_critical_name_start): Update decl.
10351 (GOMP_critical_name_end): Likewise.
10352 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
10353 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
10354
103552005-09-20 Richard Henderson <rth@redhat.com>
10356
10357 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
10358 (create_lock_lock): New.
10359 (initialize_critical): Initialize it.
10360 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
10361 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
10362
103632005-09-20 Diego Novillo <dnovillo@redhat.com>
10364
10365 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
10366
103672005-09-20 Diego Novillo <dnovillo@redhat.com>
10368
10369 * testsuite/libgomp.dg/omp-loop01.c: New test.
10370 * testsuite/libgomp.dg/omp-loop02.c: New test.
10371
103722005-09-20 Jakub Jelinek <jakub@redhat.com>
10373
10374 * configure.ac (AC_PROG_FC): Add.
10375 (USE_FORTRAN): New automake conditional.
10376 * configure: Rebuilt.
10377 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
10378 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
10379 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
10380 Add rules to build them.
10381 * Makefile.in: Rebuilt.
10382 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
10383 OMP_NEST_LOCK_KIND.
10384 * libgomp.map: Add Fortran wrappers.
10385 * libgomp_f.h.in: New file.
10386 * omp_lib.h.in: New file.
10387 * omp_lib.f90.in: New file.
10388 * fortran.c: New file.
10389 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
10390 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
10391 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
10392 libgfortran has been built.
10393 * testsuite/libgomp.fortran/fortran.exp: New file.
10394 * testsuite/libgomp.fortran/omp_cond1.f: New test.
10395 * testsuite/libgomp.fortran/omp_cond2.f: New test.
10396 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
10397 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
10398 * testsuite/libgomp.fortran/omp_hello.f: New test.
10399 * testsuite/libgomp.fortran/omp_orphan.f: New test.
10400 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
10401 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
10402 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
10403 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
10404 * testsuite/libgomp.fortran/omp_reduction.f: New test.
10405 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
10406 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
10407
104082005-08-30 Richard Henderson <rth@redhat.com>
10409
10410 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
10411 function for when aliases are not usable.
10412 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
10413 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
10414 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
10415 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
10416 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
10417 GOMP_loop_ordered_guided_next): Likewise.
10418 * ordered.c (GOMP_ordered_start): Likewise.
10419
104202005-08-01 Diego Novillo <dnovillo@redhat.com>
10421
10422 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
10423 * testsuite/libgomp.dg/omp_hello.c: Fix return code
10424 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
10425 * testsuite/libgomp.dg/omp_orphan.c: Likewise
10426 * testsuite/libgomp.dg/omp_reduction.c: Likewise
10427 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
10428 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
10429 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
10430 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
10431
104322005-07-07 Eric Christopher <echristo@redhat.com>
10433 Diego Novillo <dnovillo@redhat.com>
10434
10435 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
10436 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
10437 up code.
10438 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
10439 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
10440 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
10441 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
10442 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
10443 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
10444 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
10445
104462005-06-13 Diego Novillo <dnovillo@redhat.com>
10447
10448 * TOPLEVEL.patch: Remove.
10449
104502005-05-16 Richard Henderson <rth@redhat.com>
10451
10452 * configure.ac: Test for clock_gettime.
10453 * config.h.in, configure: Rebuild.
10454 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
10455 (omp_get_wtime): Use clock_gettime if available.
10456 (omp_get_wtick): Use clock_getres if available.
10457
104582005-05-11 Richard Henderson <rth@redhat.com>
10459
10460 * config/linux/ia64/futex.h: New file.
10461 * configure.tgt: Use it.
10462
10463 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
10464
104652005-05-07 Richard Henderson <rth@redhat.com>
10466
10467 * config/linux/powerpc/futex.h: New file.
10468 * configure.tgt: Use it.
10469
10470 * config/linux/i486/futex.h: Merge ...
10471 * config/linux/x86_64/futex.h: ... into ...
10472 * config/linux/x86/futex.h: ... here.
10473 * configure.tgt: Update to match.
10474
104752005-05-06 Richard Henderson <rth@redhat.com>
10476
10477 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
10478 * config/linux/i486/futex.h: Likewise.
10479 * config/linux/x86_64/futex.h: Likewise.
10480
10481 * config/linux/lock.c: New file.
10482 * config/linux/omp-lock.h: New file.
10483
10484 * critical.c, env.h: Don't include omp.h
10485 * config/posix/lock.c: Include libgomp.h instead of omp.h.
10486 * config/posix/time.c: Likewise.
10487 * config/posix/omp-lock.h: New file.
10488 * libgomp.h: Include omp-lock.h and omp.h.
10489 * Makefile.am (nodist_include_HEADERS): New.
10490 (omp.h): New rule.
10491 * configure.ac (PERL): New.
10492 * mkomp_h.pl: New file.
10493 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
10494 with templates.
10495 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
10496
10497 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
10498 build directory. Re-add -march=i486 hack.
10499
10500 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
10501 (libgomp_link_flags): Remove.
10502 (libgomp_initialized): Remove.
10503 (libgomp_init): Don't protect from reinitialization. Copy code
10504 from libstdc++ for getting the multilib set correctly.
10505
105062005-05-05 Richard Henderson <rth@redhat.com>
10507
10508 * config/linux/alpha/futex.h: New file.
10509 * configure.tgt (alpha*-*-linux*): Use it.
10510
10511 * config/posix/mutex.c: New file.
10512 * config/posix/sem.c: Use libgomp.h.
10513
10514 * configure.tgt (x86_64-linux): Also test CC for -m32.
10515 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
10516
a1daed2d 10517 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
10518 after $gccpath.
10519
10520 * Makefile.am (SUBDIRS): New.
10521 (libgomp_la_LDFLAGS): Add -lpthread.
10522 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
10523 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
10524
10525 * libgomp_g.h: New file.
10526 * libgomp.h: Split out all public declarations to libgomp_g.h.
10527 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
10528 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
10529 * config/linux/sem.h: Likewise.
10530 * config/posix/sem.h: Likewise.
10531
10532 * Makefile.am (AM_LDFLAGS): New.
10533 (libgomp_version_script): Split out from ...
10534 (libgomp_la_LDFLAGS): ... here.
10535 (libgomp_version_info): New.
10536 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
10537 (LIBGOMP_ENABLE): New.
10538 (LIBGOMP_CHECK_LINKER_FEATURES): New.
10539 (LIBGOMP_ENABLE_SYMVERS): New.
10540 * configure.ac (AC_INIT): Version 1.0.
10541 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
10542 (enable-linux-futex): Likewise. Rename from enable-futex.
10543 (libtool_VERSION): New.
10544 (LIBGOMP_ENABLE_SYMVERS): Use it.
10545 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
10546 * Makefile.in, aclocal.m4, configure: Rebuild.
10547
10548 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
10549 (gomp_mutex_unlock_slow): Fix typo.
10550 * config/linux/sem.c: Similarly.
10551 (gomp_sem_post_slow): Fix typo.
10552 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
10553 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
10554 [__PIC__] (sys_futex0): Don't use tmp output in asm.
10555
10556 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
10557 (libgomp_la_LDFLAGS): Add top_srcdir to path.
10558 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
10559 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
10560 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
10561 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
10562 LDFLAGS. Pull enable_futex check to top-level.
10563 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
10564 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
10565
10566 First attempt at real configury.
10567 * Makefile, config.h: Remove file.
10568 * Makefile.am, Makefile.in: New file.
10569 * acinclude.m4 aclocal.m4: New file.
10570 * configure.ac, configure.tgt, configure: New file.
10571
10572 * config/posix/lock.c: Rename from sys-lock.c.
10573 * config/posix/mutex.h: Rename from sys-mutex.h.
10574 * config/posix/sem.c: Rename from sys-sem.c.
10575 * config/posix/sem.h: Rename from sys-sem.h.
10576 * config/posix/proc.c: Rename from sys-proc.c.
10577 * config/posix/time.c: Rename from sys-proc.c.
10578
10579 * config/linux/mutex.c: New file.
10580 * config/linux/mutex.h: New file.
10581 * config/linux/sem.c: New file.
10582 * config/linux/sem.h: New file.
10583 * config/linux/i486/futex.h: New file.
10584 * config/linux/x86_64/futex.h: New file.
10585
105862005-05-04 Richard Henderson <rth@redhat.com>
10587
10588 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
10589 * libgomp.h: Declare them.
10590 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
10591 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
10592
105932005-05-04 Richard Henderson <rth@redhat.com>
10594
10595 * libgomp-1 code drop
10596
105972005-05-04 Richard Henderson <rth@redhat.com>
10598
10599 * iter.c (gomp_iter_static_next): Return tri-state on 0.
10600 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
10601 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
10602 (gomp_iter_static_next): Update.
10603 (gomp_ordered_static_next): Update.
10604 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
10605 (gomp_loop_ordered_static_start): Likewise. Exit early for a
10606 totally empty range.
10607 (gomp_loop_ordered_static_next): Refine test for calling
10608 gomp_ordered_static_next.
10609 * testsuite/ordered-1.c: Add case for more threads than iterations.
10610
10611 * iter.c (gomp_iter_runtime_next_locked): Remove.
10612 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 10613 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
10614 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
10615 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
10616 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
10617 gomp_loop_ordered_guided_next): Downcase name, make static, add
10618 an external alias with the old name.
10619 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
10620 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
10621 switch and call one of the above static functions.
10622 * libgomp.h: Update.
10623
10624 * work.c (gomp_work_share_start): Lock the mutex for !first too.
10625 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
10626 GOMP_loop_guided_start, GOMP_loop_runtime_start,
10627 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
10628 GOMP_loop_ordered_guided_start): Update to match.
10629 * sections.c (GOMP_sections_start): Likewise.
10630 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
10631
10632 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
10633 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
10634 Use bounds check instead of modulus.
10635 (gomp_ordered_sync): Split out of GOMP_ordered_start.
10636 (gomp_ordered_last): Don't sync with ordered_owner here.
10637 (gomp_ordered_next): Likewise.
10638 (gomp_ordered_static_loop_next): Likewise.
10639 * loop.c, libgomp.h: Update to match.
10640
10641 * libgomp.h (GOMP_barrier): Declare.
10642
10643 * testsuite/barrier-1.c: New file.
10644 * testsuite/critical-1.c: New file.
10645 * testsuite/ordered-2.c: New file.
10646 * testsuite/ordered-1.c: New file.
10647 * testsuite/sections-1.c: New file.
10648 * testsuite/single-1.c: New file.
10649 * testsuite/Makefile (TESTS): Add them.
10650
106512005-05-04 Richard Henderson <rth@redhat.com>
10652
10653 * libgomp.h (struct gomp_work_share): Add ordered_owner.
10654 * loop.c (GOMP_loop_static_start): If not the startup thread,
10655 acquire the mutex to wait for initialization complete.
10656 (GOMP_loop_ordered_static_start): Likewise.
10657 (GOMP_loop_ordered_runtime_start): Likewise.
10658 (GOMP_loop_ordered_static_first): Remove.
10659 (GOMP_loop_ordered_dynamic_first): Remove.
10660 (GOMP_loop_ordered_guided_first): Remove.
10661 (GOMP_loop_ordered_runtime_first): Remove.
10662 * ordered.c (gomp_ordered_loop_first): Post to own release when
10663 we're the first thread.
10664 (gomp_ordered_loop_last): Wait on release if not owner.
10665 (gomp_ordered_loop_next): Likewise.
10666 (gomp_ordered_static_loop_init): New.
10667 (gomp_ordered_static_loop_next): Use ordered_owner.
10668 (GOMP_ordered_start): Likewise.
10669 * work.c (gomp_new_work_share): Initialize ordered_owner.
10670
106712005-05-03 Richard Henderson <rth@redhat.com>
10672
10673 * Makefile (OPT): New.
10674 (CFLAGS): Use it.
10675
10676 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
10677 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
10678 * libgomp.h, libgomp.map, NOTES: Update to match.
10679
10680 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
10681 Add initialized and thr members.
10682 (gomp_thread_start): Pause when initially spawned to wait for
10683 the whole team to be created.
10684 (gomp_team_start): Release team members at the end.
10685
10686 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
10687 (f_foo_1): Use GOMP_loop_end.
10688 (f_foo_2): Use GOMP_loop_end_nowait.
10689
10690 * testsuite/loop-2.c: New file.
10691 * testsuite/Makefile (TESTS): Add it.
10692
106932005-05-03 Richard Henderson <rth@redhat.com>
10694
10695 * iter.c (gomp_iter_static_next): Fix overflow check typo.
10696 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
10697 * team.c (new_team): Initialize oldest_live_gen to 1 if no
10698 initial work_share.
10699
10700 * testsuite/Makefile: New file.
10701 * testsuite/loop-1.c: New file.
10702
107032005-05-03 Richard Henderson <rth@redhat.com>
10704
10705 Initial implementation and checkin.
21fa2a29 10706\f
85ec4feb 10707Copyright (C) 2005-2018 Free Software Foundation, Inc.
21fa2a29
JJ
10708
10709Copying and distribution of this file, with or without modification,
10710are permitted in any medium without royalty provided the copyright
10711notice and this notice are preserved.