1 2019-11-29 Tobias Burnus <tobias@codesourcery.com>
3 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
4 adding a common-block test case.
6 2019-11-29 Jakub Jelinek <jakub@redhat.com>
9 * testsuite/libgomp.c++/udr-20.C: New test.
10 * testsuite/libgomp.c++/udr-21.C: New test.
12 2019-11-27 Thomas Schwinge <thomas@codesourcery.com>
14 * testsuite/lib/libgomp.exp
15 (check_effective_target_offload_target_nvptx): New proc.
16 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
18 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
19 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
20 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
22 2019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
24 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
25 * testsuite/libgomp.c/pr39591-2.c: Likewise.
26 * testsuite/libgomp.c/pr39591-3.c: Likewise.
27 * testsuite/libgomp.c/private-1.c: Likewise.
28 * testsuite/libgomp.c/task-1.c: Likewise.
29 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
31 2019-11-20 Julian Brown <julian@codesourcery.com>
33 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
35 (queue_push_launch): Lock aq->mutex before calling
36 wait_for_queue_nonfull.
37 (queue_push_callback): Likewise.
38 (queue_push_asyncwait): Likewise.
39 (queue_push_placeholder): Likewise.
41 2019-11-20 Julian Brown <julian@codesourcery.com>
43 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
44 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
45 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
48 2019-11-20 Julian Brown <julian@codesourcery.com>
52 * oacc-mem.c (present_create_copy): Fix device pointer return value in
53 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
54 in non-present/create case.
55 (delete_copyout): Change error condition to fail only on copies outside
56 of mapped block. Adjust error message accordingly.
57 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
58 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
59 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
61 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
62 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
63 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
65 2019-11-20 Maciej W. Rozycki <macro@wdc.com>
67 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
68 libatomic in build-tree testing.
70 2019-11-18 Maciej W. Rozycki <macro@wdc.com>
72 * testsuite/Makefile.in: Regenerate.
74 2019-11-15 Andrew Stubbs <ams@codesourcery.com>
76 * testsuite/libgomp.c/target-print-1.c: New file.
77 * testsuite/libgomp.fortran/target-print-1.f90: New file.
78 * testsuite/libgomp.oacc-c/print-1.c: New file.
79 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
81 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
82 Kwok Cheung Yeung <kcy@codesourcery.com>
83 Julian Brown <julian@codesourcery.com>
84 Tom de Vries <tom@codesourcery.com>
86 * plugin/Makefrag.am: Add amdgcn plugin support.
87 * plugin/configfrag.ac: Likewise.
88 * plugin/plugin-gcn.c: New file.
89 * configure: Regenerate.
90 * Makefile.in: Regenerate.
91 * testsuite/Makefile.in: Regenerate.
93 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
95 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
96 and use team_malloc variants.
97 (gomp_gcn_exit_kernel): Use team_free.
98 * libgomp.h (TEAM_ARENA_SIZE): Define.
99 (TEAM_ARENA_START): Define.
100 (TEAM_ARENA_FREE): Define.
101 (TEAM_ARENA_END): Define.
102 (team_malloc): New function.
103 (team_malloc_cleared): New function.
104 (team_free): New function.
105 * team.c (gomp_new_team): Initialize and use team_malloc.
106 (free_team): Use team_free.
107 (gomp_free_thread): Use team_free.
108 (gomp_pause_host): Use team_free.
109 * work.c (gomp_init_work_share): Use team_malloc.
110 (gomp_fini_work_share): Use team_free.
112 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
113 Kwok Cheung Yeung <kcy@codesourcery.com>
114 Julian Brown <julian@codesourcery.com>
115 Tom de Vries <tom@codesourcery.com>
117 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
118 * Makefile.in: Regenerate.
119 * config.h.in (PLUGIN_GCN): Add new undef.
120 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
121 * config/gcn/affinity-fmt.c: New file.
122 * config/gcn/bar.c: New file.
123 * config/gcn/bar.h: New file.
124 * config/gcn/doacross.h: New file.
125 * config/gcn/icv-device.c: New file.
126 * config/gcn/oacc-target.c: New file.
127 * config/gcn/simple-bar.h: New file.
128 * config/gcn/target.c: New file.
129 * config/gcn/task.c: New file.
130 * config/gcn/team.c: New file.
131 * config/gcn/time.c: New file.
132 * configure.ac: Add amdgcn*-*-*.
133 * configure: Regenerate.
134 * configure.tgt: Add amdgcn*-*-*.
135 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
136 * libgomp.h (gcn_thrs): Add amdgcn variant.
137 (set_gcn_thrs): Likewise.
138 (gomp_thread): Likewise.
139 * oacc-int.h (goacc_thread): Likewise.
140 * oacc-target.c: New file.
141 * openacc.f90 (acc_device_gcn): New parameter.
142 * openacc.h (acc_device_t): Add acc_device_gcn.
143 * team.c (gomp_free_pool_helper): Add amdgcn support.
145 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
146 Julian Brown <julian@codesourcery.com>
148 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
150 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
152 * oacc-host.c (host_openacc_async_construct): Add device parameter.
153 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
156 2019-11-13 Andrew Stubbs <ams@codesourcery.com>
158 * configure.tgt (nvptx*-*-*): Add "accel" directory.
159 * config/nvptx/libgomp-plugin.c: Move ...
160 * config/accel/libgomp-plugin.c: ... to here.
161 * config/nvptx/lock.c: Move ...
162 * config/accel/lock.c: ... to here.
163 * config/nvptx/mutex.c: Move ...
164 * config/accel/mutex.c: ... to here.
165 * config/nvptx/mutex.h: Move ...
166 * config/accel/mutex.h: ... to here.
167 * config/nvptx/oacc-async.c: Move ...
168 * config/accel/oacc-async.c: ... to here.
169 * config/nvptx/oacc-cuda.c: Move ...
170 * config/accel/oacc-cuda.c: ... to here.
171 * config/nvptx/oacc-host.c: Move ...
172 * config/accel/oacc-host.c: ... to here.
173 * config/nvptx/oacc-init.c: Move ...
174 * config/accel/oacc-init.c: ... to here.
175 * config/nvptx/oacc-mem.c: Move ...
176 * config/accel/oacc-mem.c: ... to here.
177 * config/nvptx/oacc-plugin.c: Move ...
178 * config/accel/oacc-plugin.c: ... to here.
179 * config/nvptx/omp-lock.h: Move ...
180 * config/accel/omp-lock.h: ... to here.
181 * config/nvptx/openacc.f90: Move ...
182 * config/accel/openacc.f90: ... to here.
183 * config/nvptx/pool.h: Move ...
184 * config/accel/pool.h: ... to here.
185 * config/nvptx/proc.c: Move ...
186 * config/accel/proc.c: ... to here.
187 * config/nvptx/ptrlock.c: Move ...
188 * config/accel/ptrlock.c: ... to here.
189 * config/nvptx/ptrlock.h: Move ...
190 * config/accel/ptrlock.h: ... to here.
191 * config/nvptx/sem.c: Move ...
192 * config/accel/sem.c: ... to here.
193 * config/nvptx/sem.h: Move ...
194 * config/accel/sem.h: ... to here.
195 * config/nvptx/thread-stacksize.h: Move ...
196 * config/accel/thread-stacksize.h: ... to here.
198 2019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
199 Tobias Burnus <tobias@codesourcery.com>
200 Frederik Harwath <frederik@codesourcery.com>
201 Thomas Schwinge <thomas@codesourcery.com>
204 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
205 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
206 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
208 2019-11-11 Tobias Burnus <tobias@codesourcery.com>
209 Kwok Cheung Yeung <kcy@codesourcery.com>
211 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
212 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
214 2019-11-11 Thomas Schwinge <thomas@codesourcery.com>
216 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
218 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
220 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
221 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
223 2019-11-06 Thomas Schwinge <thomas@codesourcery.com>
225 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
226 Add expected warnings about missing reduction clauses.
227 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
229 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
231 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
234 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
236 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
237 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
238 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
239 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
240 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
241 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
243 2019-11-04 Tobias Burnus <tobias@codesourcery.com>
246 * testsuite/libgomp.fortran/allocatable2.f90: Use
247 unique numbers with 'stop'.
248 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
249 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
250 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
251 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
252 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
254 2019-11-01 Tobias Burnus <tobias@codesourcery.com>
256 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
257 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
258 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
259 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
260 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
261 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
263 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
265 * testsuite/libgomp.fortran/target9.f90: New.
267 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
269 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
270 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
271 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
272 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
273 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
274 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
275 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
276 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
277 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
278 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
279 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
280 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
281 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
282 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
283 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
284 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
285 * testsuite/libgomp.fortran/associate1.f90: Ditto.
286 * testsuite/libgomp.fortran/associate2.f90: Ditto.
287 * testsuite/libgomp.fortran/associate3.f90: Ditto.
288 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
289 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
290 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
291 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
292 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
293 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
294 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
295 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
296 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
297 * testsuite/libgomp.fortran/character1.f90: Ditto.
298 * testsuite/libgomp.fortran/character2.f90: Ditto.
299 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
300 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
301 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
302 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
303 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
304 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
305 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
306 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
307 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
308 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
309 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
310 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
311 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
312 * testsuite/libgomp.fortran/do1.f90: Ditto.
313 * testsuite/libgomp.fortran/do2.f90: Ditto.
314 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
315 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
316 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
317 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
318 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
319 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
320 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
321 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
322 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
323 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
324 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
325 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
326 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
327 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
328 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
329 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
330 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
331 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
332 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
333 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
334 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
335 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
336 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
337 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
338 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
339 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
340 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
341 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
342 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
343 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
344 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
345 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
346 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
347 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
348 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
349 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
350 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
351 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
352 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
353 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
354 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
355 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
356 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
357 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
358 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
359 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
360 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
361 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
362 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
363 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
364 * testsuite/libgomp.fortran/lib1.f90: Ditto.
365 * testsuite/libgomp.fortran/lib4.f90: Ditto.
366 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
367 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
368 * testsuite/libgomp.fortran/nested1.f90: Ditto.
369 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
370 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
371 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
372 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
373 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
374 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
375 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
376 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
377 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
378 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
379 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
380 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
381 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
382 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
383 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
384 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
385 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
386 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
387 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
388 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
389 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
390 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
391 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
392 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
393 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
394 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
395 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
396 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
397 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
398 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
399 * testsuite/libgomp.fortran/pr28390.f: Ditto.
400 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
401 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
402 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
403 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
404 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
405 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
406 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
407 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
408 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
409 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
410 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
411 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
412 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
413 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
414 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
415 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
416 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
417 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
418 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
419 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
420 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
421 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
422 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
423 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
424 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
425 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
426 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
427 * testsuite/libgomp.fortran/reference1.f90: Ditto.
428 * testsuite/libgomp.fortran/reference2.f90: Ditto.
429 * testsuite/libgomp.fortran/retval1.f90: Ditto.
430 * testsuite/libgomp.fortran/retval2.f90: Ditto.
431 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
432 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
433 * testsuite/libgomp.fortran/simd1.f90: Ditto.
434 * testsuite/libgomp.fortran/simd2.f90: Ditto.
435 * testsuite/libgomp.fortran/simd3.f90: Ditto.
436 * testsuite/libgomp.fortran/simd4.f90: Ditto.
437 * testsuite/libgomp.fortran/simd5.f90: Ditto.
438 * testsuite/libgomp.fortran/simd6.f90: Ditto.
439 * testsuite/libgomp.fortran/simd7.f90: Ditto.
440 * testsuite/libgomp.fortran/stack.f90: Ditto.
441 * testsuite/libgomp.fortran/strassen.f90: Ditto.
442 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
443 * testsuite/libgomp.fortran/tabs2.f: Ditto.
444 * testsuite/libgomp.fortran/target1.f90: Ditto.
445 * testsuite/libgomp.fortran/target2.f90: Ditto.
446 * testsuite/libgomp.fortran/target3.f90: Ditto.
447 * testsuite/libgomp.fortran/target4.f90: Ditto.
448 * testsuite/libgomp.fortran/target5.f90: Ditto.
449 * testsuite/libgomp.fortran/target6.f90: Ditto.
450 * testsuite/libgomp.fortran/target7.f90: Ditto.
451 * testsuite/libgomp.fortran/target8.f90: Ditto.
452 * testsuite/libgomp.fortran/task1.f90: Ditto.
453 * testsuite/libgomp.fortran/task2.f90: Ditto.
454 * testsuite/libgomp.fortran/task3.f90: Ditto.
455 * testsuite/libgomp.fortran/task4.f90: Ditto.
456 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
457 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
458 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
459 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
460 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
461 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
462 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
463 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
464 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
465 * testsuite/libgomp.fortran/udr1.f90: Ditto.
466 * testsuite/libgomp.fortran/udr10.f90: Ditto.
467 * testsuite/libgomp.fortran/udr11.f90: Ditto.
468 * testsuite/libgomp.fortran/udr12.f90: Ditto.
469 * testsuite/libgomp.fortran/udr13.f90: Ditto.
470 * testsuite/libgomp.fortran/udr14.f90: Ditto.
471 * testsuite/libgomp.fortran/udr15.f90: Ditto.
472 * testsuite/libgomp.fortran/udr2.f90: Ditto.
473 * testsuite/libgomp.fortran/udr3.f90: Ditto.
474 * testsuite/libgomp.fortran/udr4.f90: Ditto.
475 * testsuite/libgomp.fortran/udr5.f90: Ditto.
476 * testsuite/libgomp.fortran/udr6.f90: Ditto.
477 * testsuite/libgomp.fortran/udr7.f90: Ditto.
478 * testsuite/libgomp.fortran/udr8.f90: Ditto.
479 * testsuite/libgomp.fortran/udr9.f90: Ditto.
480 * testsuite/libgomp.fortran/vla1.f90: Ditto.
481 * testsuite/libgomp.fortran/vla2.f90: Ditto.
482 * testsuite/libgomp.fortran/vla3.f90: Ditto.
483 * testsuite/libgomp.fortran/vla4.f90: Ditto.
484 * testsuite/libgomp.fortran/vla5.f90: Ditto.
485 * testsuite/libgomp.fortran/vla6.f90: Ditto.
486 * testsuite/libgomp.fortran/vla7.f90: Ditto.
487 * testsuite/libgomp.fortran/vla8.f90: Ditto.
488 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
489 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
491 2019-10-30 Tobias Burnus <tobias@codesourcery.com>
493 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
494 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
495 Ditto; add 'dg-do run' for torture testing.
496 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
497 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
498 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
499 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
500 * testsuite/libgomp.fortran/pr28390.f: Ditto.
501 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
502 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
503 * testsuite/libgomp.fortran/task2.f90: Ditto.
504 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
505 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
506 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
507 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
508 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
509 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
511 2019-10-28 Tobias Burnus <tobias@codesourcery.com>
513 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
514 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
515 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
516 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
517 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
518 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
519 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
520 Use 'stop' not abort().
521 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
522 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
523 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
524 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
525 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
526 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
527 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
528 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
529 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
530 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
531 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
532 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
533 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
534 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
535 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
536 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
537 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
539 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
541 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
543 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
545 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
547 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
549 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
551 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
553 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
555 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
557 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
559 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
561 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
563 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
565 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
566 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
567 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
568 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
569 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
570 Likewise and also add 'dg-do run'.
571 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
574 2019-10-25 Cesar Philippidis <cesar@codesourcery.com>
575 Tobias Burnus <tobias@codesourcery.com>
577 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
578 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
579 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
581 2019-10-14 Jakub Jelinek <jakub@redhat.com>
584 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
587 2019-10-11 Tobias Burnus <tobias@codesourcery.com>
589 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
590 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
592 2019-10-09 Thomas Schwinge <thomas@codesourcery.com>
595 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
598 2019-10-09 Tobias Burnus <tobias@codesourcery.com>
601 * testsuite/libgomp.fortran/fortran.exp: Conditionally
603 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
605 2019-10-09 Jakub Jelinek <jakub@redhat.com>
608 * target.c (gomp_map_vars_internal): Readd the previous
609 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
610 though do that just in the !not_found_cnt case.
612 2019-10-08 Tobias Burnus <tobias@codesourcery.com>
614 * gfortran.dg/gomp/target-simd.f90: New.
616 2019-10-02 Julian Brown <julian@codesourcery.com>
617 Cesar Philippidis <cesar@codesourcery.com>
619 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
620 * target.c (FIELD_TGT_EMPTY): Define.
621 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
622 as switch instead of list of ifs.
623 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
625 2019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
627 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
628 include. Replace alloca () with __builtin_alloca ().
629 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
631 2019-10-01 Jakub Jelinek <jakub@redhat.com>
633 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
634 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
635 * oacc-parallel.c: Don't include "libgomp_g.h".
636 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
637 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
638 * aclocal.m4: Regenerated.
639 * config.h.in: Regenerated.
640 * configure: Regenerated.
641 * Makefile.in: Regenerated.
643 2019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
645 * libgomp_g.h: Include stdint.h instead of gstdint.h.
647 2019-09-27 Maciej W. Rozycki <macro@wdc.com>
649 * configure: Regenerate.
651 2019-09-13 Tobias Burnus <tobias@codesourcery.com>
653 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
654 string is initialized.
656 2019-09-06 Florian Weimer <fweimer@redhat.com>
658 * configure: Regenerate.
660 2019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
663 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
664 scanning to conform to the GNU Coding Standards.
665 * configure: Regenerate.
667 2019-08-28 Jakub Jelinek <jakub@redhat.com>
670 * testsuite/libgomp.c/scan-21.c: New test.
671 * testsuite/libgomp.c/scan-22.c: New test.
673 2019-08-27 Jakub Jelinek <jakub@redhat.com>
676 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
678 * testsuite/libgomp.c/scan-12.c: Likewise.
679 * testsuite/libgomp.c/scan-13.c: Likewise.
680 * testsuite/libgomp.c/scan-14.c: Likewise.
681 * testsuite/libgomp.c/scan-15.c: Likewise.
682 * testsuite/libgomp.c/scan-16.c: Likewise.
683 * testsuite/libgomp.c/scan-17.c: Likewise.
684 * testsuite/libgomp.c/scan-18.c: Likewise.
685 * testsuite/libgomp.c/scan-19.c: Likewise.
686 * testsuite/libgomp.c/scan-20.c: Likewise.
687 * testsuite/libgomp.c++/scan-9.C: Likewise.
688 * testsuite/libgomp.c++/scan-10.C: Likewise.
689 * testsuite/libgomp.c++/scan-11.C: Likewise.
690 * testsuite/libgomp.c++/scan-12.C: Likewise.
691 * testsuite/libgomp.c++/scan-14.C: Likewise.
692 * testsuite/libgomp.c++/scan-15.C: Likewise.
693 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
694 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
695 * testsuite/libgomp.c++/scan-16.C: Likewise.
697 2019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
700 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
701 -std=legacy so invalid code in the test case is accepted.
703 2019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
706 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
709 2019-08-08 Jakub Jelinek <jakub@redhat.com>
711 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
712 perform the lookup in the first loop only if !not_found_cnt, otherwise
713 perform lookups for it in the second loop guarded with
714 if (not_found_cnt || has_firstprivate).
715 * testsuite/libgomp.c/target-37.c: New test.
716 * testsuite/libgomp.c++/target-22.C: New test.
718 2019-08-07 Jakub Jelinek <jakub@redhat.com>
720 * testsuite/libgomp.c/target-18.c (struct S): New type.
721 (foo): Use use_device_addr clause instead of use_device_ptr clause
722 where required by OpenMP 5.0, add further tests for both use_device_ptr
723 and use_device_addr clauses.
724 * testsuite/libgomp.c++/target-9.C (struct S): New type.
725 (foo): Use use_device_addr clause instead of use_device_ptr clause
726 where required by OpenMP 5.0, add further tests for both use_device_ptr
727 and use_device_addr clauses. Add t and u arguments.
728 (main): Adjust caller.
730 2019-08-06 Jakub Jelinek <jakub@redhat.com>
732 * testsuite/libgomp.c++/loop-13.C: New test.
733 * testsuite/libgomp.c++/loop-14.C: New test.
734 * testsuite/libgomp.c++/loop-15.C: New test.
736 2019-07-31 Jakub Jelinek <jakub@redhat.com>
739 * testsuite/libgomp.c++/for-27.C: New test.
741 2019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
743 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
744 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
746 2019-07-20 Jakub Jelinek <jakub@redhat.com>
748 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
750 2019-07-08 Jakub Jelinek <jakub@redhat.com>
752 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
753 * testsuite/libgomp.c++/scan-16.C: Likewise.
755 2019-07-06 Jakub Jelinek <jakub@redhat.com>
757 * testsuite/libgomp.c/scan-19.c: New test.
758 * testsuite/libgomp.c/scan-20.c: New test.
760 * testsuite/libgomp.c/scan-11.c: New test.
761 * testsuite/libgomp.c/scan-12.c: New test.
762 * testsuite/libgomp.c/scan-13.c: New test.
763 * testsuite/libgomp.c/scan-14.c: New test.
764 * testsuite/libgomp.c/scan-15.c: New test.
765 * testsuite/libgomp.c/scan-16.c: New test.
766 * testsuite/libgomp.c/scan-17.c: New test.
767 * testsuite/libgomp.c/scan-18.c: New test.
768 * testsuite/libgomp.c++/scan-9.C: New test.
769 * testsuite/libgomp.c++/scan-10.C: New test.
770 * testsuite/libgomp.c++/scan-11.C: New test.
771 * testsuite/libgomp.c++/scan-12.C: New test.
772 * testsuite/libgomp.c++/scan-13.C: New test.
773 * testsuite/libgomp.c++/scan-14.C: New test.
774 * testsuite/libgomp.c++/scan-15.C: New test.
775 * testsuite/libgomp.c++/scan-16.C: New test.
777 2019-07-04 Jakub Jelinek <jakub@redhat.com>
779 * testsuite/libgomp.c/scan-9.c: New test.
780 * testsuite/libgomp.c/scan-10.c: New test.
782 2019-07-03 Jakub Jelinek <jakub@redhat.com>
784 * testsuite/libgomp.c++/scan-1.C: New test.
785 * testsuite/libgomp.c++/scan-2.C: New test.
786 * testsuite/libgomp.c++/scan-3.C: New test.
787 * testsuite/libgomp.c++/scan-4.C: New test.
788 * testsuite/libgomp.c++/scan-5.C: New test.
789 * testsuite/libgomp.c++/scan-6.C: New test.
790 * testsuite/libgomp.c++/scan-7.C: New test.
791 * testsuite/libgomp.c++/scan-8.C: New test.
792 * testsuite/libgomp.c/scan-1.c: New test.
793 * testsuite/libgomp.c/scan-2.c: New test.
794 * testsuite/libgomp.c/scan-3.c: New test.
795 * testsuite/libgomp.c/scan-4.c: New test.
796 * testsuite/libgomp.c/scan-5.c: New test.
797 * testsuite/libgomp.c/scan-6.c: New test.
798 * testsuite/libgomp.c/scan-7.c: New test.
799 * testsuite/libgomp.c/scan-8.c: New test.
801 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
803 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
804 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
807 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
810 2019-06-18 Cesar Philippidis <cesar@codesourcery.com>
812 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
815 2019-06-18 Thomas Schwinge <thomas@codesourcery.com>
818 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
820 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
821 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
822 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
823 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
826 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
829 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
831 2019-06-16 Tom de Vries <tdevries@suse.de>
833 PR tree-optimization/89376
834 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
836 2019-06-15 Tom de Vries <tdevries@suse.de>
838 PR tree-optimization/89713
839 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
840 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
842 2019-06-15 Jakub Jelinek <jakub@redhat.com>
845 * testsuite/libgomp.c/pr90779.c: New test.
846 * testsuite/libgomp.fortran/pr90779.f90: New test.
848 2019-06-15 Tom de Vries <tdevries@suse.de>
850 PR tree-optimization/90009
851 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
853 2019-06-13 Feng Xue <fxue@os.amperecomputing.com>
855 PR tree-optimization/89713
856 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
858 2019-06-11 Jakub Jelinek <jakub@redhat.com>
861 * testsuite/libgomp.c/pr90811.c: New test.
863 2019-06-05 Jakub Jelinek <jakub@redhat.com>
865 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
866 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
868 2019-06-04 Jakub Jelinek <jakub@redhat.com>
870 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
871 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
872 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
873 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
875 2019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
877 * configure.ac: Call AX_COUNT_CPUS.
878 Substitute CPU_COUNT.
879 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
881 * aclocal.m4: Regenerate.
882 * configure: Regenerate.
883 * Makefile.in, testsuite/Makefile.in: Regenerate.
885 2019-05-29 Jakub Jelinek <jakub@redhat.com>
887 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
889 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
890 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
891 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
893 2019-05-27 Jakub Jelinek <jakub@redhat.com>
895 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
897 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
900 * work.c (gomp_init_work_share): Instead of aligning final ordered
901 value to multiples of long long alignment, align to that the
902 first part (ordered team ids) and if inline_ordered_team_ids
903 is not on a long long alignment boundary within the structure,
904 use __alignof__ (long long) - 1 pad size always.
905 * loop.c (GOMP_loop_start): Fix *mem computation if
906 inline_ordered_team_ids is not aligned on long long alignment boundary
907 within the structure.
908 * loop-ull.c (GOMP_loop_ull_start): Likewise.
909 * sections.c (GOMP_sections2_start): Likewise.
911 2019-05-24 Jakub Jelinek <jakub@redhat.com>
913 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
914 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
917 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
918 HAVE_INTTYPES_H is defined.
919 (print_uint64_t): New typedef.
920 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
921 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
922 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
923 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
924 before casting to void *.
925 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
926 * oacc-mem.c: Don't include config.h nor stdint.h.
927 * target.c: Don't include config.h.
928 * oacc-cuda.c: Likewise.
929 * oacc-host.c: Don't include stdint.h.
931 2019-05-20 Jakub Jelinek <jakub@redhat.com>
934 * alloc.c (_GNU_SOURCE): Define.
936 2019-05-17 Thomas Schwinge <thomas@codesourcery.com>
938 * acc_prof.h: New file.
939 * oacc-profiling.c: Likewise.
940 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
941 Add these, respectively.
942 * Makefile.in: Regenerate.
943 * env.c (initialize_env): Call goacc_profiling_initialize.
944 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
945 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
946 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
947 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
948 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
949 acc_prof_register, acc_prof_unregister, and acc_register_library.
950 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
951 GOMP_PLUGIN_goacc_thread.
952 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
953 prof_callbacks_enabled members.
954 (goacc_prof_enabled, goacc_profiling_initialize)
955 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
956 (goacc_profiling_dispatch): Declare.
957 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
958 (GOACC_PROFILING_SETUP_P): Define.
959 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
960 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
961 OpenACC Profiling Interface.
962 * oacc-cuda.c (acc_get_current_cuda_device)
963 (acc_get_current_cuda_context, acc_get_cuda_stream)
964 (acc_set_cuda_stream): Likewise.
965 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
966 (acc_init, acc_set_device_type, acc_get_device_type)
967 (acc_get_device_num, goacc_lazy_initialize): Likewise.
968 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
969 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
970 (acc_unmap_data, present_create_copy, delete_copyout)
971 (update_dev_host): Likewise.
972 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
973 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
975 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
976 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
978 * libgomp.texi: Update.
979 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
981 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
982 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
984 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
986 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
988 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
991 2019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
993 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
994 (struct goacc_asyncqueue_list): Likewise.
995 (goacc_aq): Likewise.
996 (goacc_aq_list): Likewise.
997 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
998 (GOMP_OFFLOAD_openacc_async_test): Remove.
999 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1000 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1001 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1002 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1003 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1004 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1005 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
1006 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
1007 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
1008 (GOMP_OFFLOAD_openacc_async_exec): Declare.
1009 (GOMP_OFFLOAD_openacc_async_construct): Declare.
1010 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
1011 (GOMP_OFFLOAD_openacc_async_test): Declare.
1012 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
1013 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
1014 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
1015 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
1016 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
1018 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
1019 (gomp_acc_insert_pointer): Adjust declaration.
1020 (gomp_copy_host2dev): New declaration.
1021 (gomp_copy_dev2host): Likewise.
1022 (gomp_map_vars_async): Likewise.
1023 (gomp_unmap_tgt): Likewise.
1024 (gomp_unmap_vars_async): Likewise.
1025 (gomp_fini_device): Likewise.
1027 * oacc-async.c (get_goacc_thread): New function.
1028 (get_goacc_thread_device): New function.
1029 (lookup_goacc_asyncqueue): New function.
1030 (get_goacc_asyncqueue): New function.
1031 (acc_async_test): Adjust code to use new async design.
1032 (acc_async_test_all): Likewise.
1033 (acc_wait): Likewise.
1034 (acc_wait_async): Likewise.
1035 (acc_wait_all): Likewise.
1036 (acc_wait_all_async): Likewise.
1037 (goacc_async_free): New function.
1038 (goacc_init_asyncqueues): Likewise.
1039 (goacc_fini_asyncqueues): Likewise.
1040 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
1042 (acc_set_cuda_stream): Likewise.
1043 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
1044 (host_openacc_register_async_cleanup): Remove.
1045 (host_openacc_async_exec): New function.
1046 (host_openacc_async_test): Adjust parameters.
1047 (host_openacc_async_test_all): Remove.
1048 (host_openacc_async_wait): Remove.
1049 (host_openacc_async_wait_async): Remove.
1050 (host_openacc_async_wait_all): Remove.
1051 (host_openacc_async_wait_all_async): Remove.
1052 (host_openacc_async_set_async): Remove.
1053 (host_openacc_async_synchronize): New function.
1054 (host_openacc_async_serialize): New function.
1055 (host_openacc_async_host2dev): New function.
1056 (host_openacc_async_dev2host): New function.
1057 (host_openacc_async_queue_callback): New function.
1058 (host_openacc_async_construct): New function.
1059 (host_openacc_async_destruct): New function.
1060 (struct gomp_device_descr host_dispatch): Remove initialization of old
1061 interface, add intialization of new async sub-struct.
1062 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
1063 (goacc_attach_host_thread_to_device): Remove old async code usage.
1064 * oacc-int.h (goacc_init_asyncqueues): New declaration.
1065 (goacc_fini_asyncqueues): Likewise.
1066 (goacc_async_copyout_unmap_vars): Likewise.
1067 (goacc_async_free): Likewise.
1068 (get_goacc_asyncqueue): Likewise.
1069 (lookup_goacc_asyncqueue): Likewise.
1070 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
1072 (present_create_copy): Adjust code to use new async design.
1073 (delete_copyout): Likewise.
1074 (update_dev_host): Likewise.
1075 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
1077 (gomp_acc_remove_pointer): Adjust code to use new async design.
1078 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
1080 (GOACC_enter_exit_data): Likewise.
1081 (goacc_wait): Likewise.
1082 (GOACC_update): Likewise.
1083 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
1084 when called, warn as obsolete in comment.
1085 * target.c (goacc_device_copy_async): New function.
1086 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
1087 add goacc_device_copy_async case.
1088 (gomp_copy_dev2host): Likewise.
1089 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
1090 (gomp_map_pointer): Likewise.
1091 (gomp_map_fields_existing): Likewise.
1092 (gomp_map_vars_internal): New always_inline function, renamed from
1094 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
1095 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
1096 passing goacc_asyncqueue argument.
1097 (gomp_unmap_tgt): Remove static, add attribute_hidden.
1098 (gomp_unref_tgt): New function.
1099 (gomp_unmap_vars_internal): New always_inline function, renamed from
1101 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
1102 (gomp_unmap_vars_async): Implement by calling
1103 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
1104 (gomp_fini_device): New function.
1105 (gomp_exit_data): Adjust gomp_copy_dev2host call.
1106 (gomp_load_plugin_for_device): Remove old interface, adjust to load
1107 new async interface.
1108 (gomp_target_fini): Adjust code to call gomp_fini_device.
1110 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
1111 (struct ptx_stream): Remove.
1112 (struct nvptx_thread): Remove current_stream field.
1113 (cuda_map_create): Remove.
1114 (cuda_map_destroy): Remove.
1119 (struct goacc_asyncqueue): Define.
1120 (struct nvptx_callback): Define.
1121 (struct ptx_free_block): Define.
1122 (struct ptx_device): Remove null_stream, active_streams, async_streams,
1123 stream_lock, and next fields.
1124 (enum ptx_event_type): Remove.
1125 (struct ptx_event): Remove.
1126 (ptx_event_lock): Remove.
1127 (ptx_events): Remove.
1128 (init_streams_for_device): Remove.
1129 (fini_streams_for_device): Remove.
1130 (select_stream_for_async): Remove.
1131 (nvptx_init): Remove ptx_events and ptx_event_lock references.
1132 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
1134 (nvptx_open_device): Add free_blocks initialization, remove
1135 init_streams_for_device call.
1136 (nvptx_close_device): Remove fini_streams_for_device call, add
1137 free_blocks destruct code.
1139 (event_add): Remove.
1140 (nvptx_exec): Adjust parameters and code.
1141 (nvptx_free): Likewise.
1142 (nvptx_host2dev): Remove.
1143 (nvptx_dev2host): Remove.
1144 (nvptx_set_async): Remove.
1145 (nvptx_async_test): Remove.
1146 (nvptx_async_test_all): Remove.
1147 (nvptx_wait): Remove.
1148 (nvptx_wait_async): Remove.
1149 (nvptx_wait_all): Remove.
1150 (nvptx_wait_all_async): Remove.
1151 (nvptx_get_cuda_stream): Remove.
1152 (nvptx_set_cuda_stream): Remove.
1153 (GOMP_OFFLOAD_alloc): Adjust code.
1154 (GOMP_OFFLOAD_free): Likewise.
1155 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1156 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
1157 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1158 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1159 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1160 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1161 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1162 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1163 (cuda_free_argmem): New function.
1164 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
1165 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
1166 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
1167 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
1168 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
1169 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
1170 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
1171 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
1172 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
1173 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
1174 (cuda_callback_wrapper): New function.
1175 (cuda_memcpy_sanity_check): New function.
1176 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
1177 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
1178 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
1179 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
1181 2019-05-07 Thomas Schwinge <thomas@codesourcery.com>
1184 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
1186 2019-05-06 Thomas Schwinge <thomas@codesourcery.com>
1188 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
1190 2019-03-27 Kevin Buettner <kevinb@redhat.com>
1192 * team.c (gomp_team_start): Initialize pool->threads[0].
1194 2019-02-22 Thomas Schwinge <thomas@codesourcery.com>
1196 * testsuite/libgomp.oacc-c++/c++.exp: Specify
1197 "-foffload=$offload_target".
1198 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1199 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1200 * testsuite/lib/libgomp.exp
1201 (check_effective_target_openacc_nvidia_accel_configured): Remove,
1202 as (conceptually) merged into
1203 check_effective_target_openacc_nvidia_accel_selected. Adjust all
1206 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
1207 * testsuite/libgomp-test-support.exp.in: Adjust.
1208 * testsuite/lib/libgomp.exp: Likewise. Don't populate
1209 openacc_device_types_s.
1210 (offload_target_to_openacc_device_type): New proc.
1211 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
1212 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1213 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1214 * Makefile.in: Regenerate.
1215 * configure: Likewise.
1216 * testsuite/Makefile.in: Likewise.
1218 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
1219 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
1220 instead of OFFLOAD_TARGETS.
1221 * target.c (gomp_target_init): Adjust.
1222 * testsuite/libgomp-test-support.exp.in: Likewise.
1223 * testsuite/lib/libgomp.exp: Likewise. Populate
1224 openacc_device_types_s instead of offload_targets_s_openacc.
1225 (check_effective_target_openacc_nvidia_accel_selected)
1226 (check_effective_target_openacc_host_selected): Adjust.
1227 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1228 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1229 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1230 * Makefile.in: Regenerate.
1231 * config.h.in: Likewise.
1232 * configure: Likewise.
1233 * testsuite/Makefile.in: Likewise.
1235 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
1236 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
1237 "offloading: supported, but hardware not accessible".
1238 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1239 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1241 2019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
1244 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
1246 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
1247 and related adjustment.
1249 2019-01-30 Jakub Jelinek <jakub@redhat.com>
1252 * testsuite/libgomp.c++/pr88988.C: New test.
1254 2019-01-28 Jakub Jelinek <jakub@redhat.com>
1257 * testsuite/libgomp.c/pr89002.c: New test.
1259 2019-01-28 Richard Biener <rguenther@suse.de>
1262 PR tree-optimization/86865
1263 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
1265 2019-01-24 Tom de Vries <tdevries@suse.de>
1267 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
1268 once instantiated_devices drops to 0.
1270 2019-01-23 Tom de Vries <tdevries@suse.de>
1273 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
1275 (nvptx_exec): Don't call map_push if mapnum == 0.
1276 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
1278 2019-01-23 Tom de Vries <tdevries@suse.de>
1282 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
1283 (map_fini): Remove "assert (!s->map->active)".
1284 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
1286 2019-01-23 Tom de Vries <tdevries@suse.de>
1289 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
1290 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
1292 2019-01-15 Tom de Vries <tdevries@suse.de>
1295 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
1298 2019-01-12 Tom de Vries <tdevries@suse.de>
1300 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
1301 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
1302 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
1303 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
1305 2019-01-12 Tom de Vries <tdevries@suse.de>
1307 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
1309 2019-01-12 Tom de Vries <tdevries@suse.de>
1311 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
1312 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
1313 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
1315 2019-01-12 Tom de Vries <tdevries@suse.de>
1318 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
1319 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
1321 2019-01-12 Tom de Vries <tdevries@suse.de>
1324 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
1325 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
1327 2019-01-12 Tom de Vries <tdevries@suse.de>
1329 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
1330 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
1331 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
1333 2019-01-12 Tom de Vries <tdevries@suse.de>
1335 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
1336 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
1337 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
1339 2019-01-12 Tom de Vries <tdevries@suse.de>
1341 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
1342 resources diagnostic.
1344 2019-01-12 Tom de Vries <tdevries@suse.de>
1346 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
1347 vector length to be 128.
1348 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
1349 length 2097152 to be reduced to 1024 instead of 32.
1351 2019-01-11 Thomas Schwinge <thomas@codesourcery.com>
1352 James Norris <jnorris@codesourcery.com>
1354 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
1355 Library Routines", and "Environment Variables".
1357 2019-01-11 Tom de Vries <tdevries@suse.de>
1359 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
1362 2019-01-11 Tom de Vries <tdevries@suse.de>
1364 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
1366 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
1367 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
1368 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
1369 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
1371 2019-01-11 Tom de Vries <tdevries@suse.de>
1373 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
1376 2019-01-10 Nathan Sidwell <nathan@acm.org>
1377 Julian Brown <julian@codesourcery.com>
1380 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
1381 * testsuite/libgomp.oacc-c++/pr71959.C: New.
1383 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1385 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
1388 2019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1390 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
1391 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1394 2019-01-09 Tom de Vries <tdevries@suse.de>
1397 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
1398 #define instead of "const int".
1399 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
1400 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
1401 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
1402 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
1404 2019-01-09 Tom de Vries <tdevries@suse.de>
1406 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
1409 2019-01-07 Tom de Vries <tdevries@suse.de>
1411 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
1412 GOMP_OPENACC_DIM argument.
1414 2019-01-03 Tom de Vries <tdevries@suse.de>
1416 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
1417 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
1419 2019-01-01 Jakub Jelinek <jakub@redhat.com>
1421 Update copyright years.
1423 2019-01-01 Jakub Jelinek <jakub@redhat.com>
1425 * libgomp.texi: Bump @copying's copyright year.
1427 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
1429 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
1430 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
1431 (GOACC_declare): Redefine the "device" argument to "flags".
1433 2018-12-28 Thomas Schwinge <thomas@codesourcery.com>
1434 Cesar Philippidis <cesar@codesourcery.com>
1436 * target.c (struct gomp_coalesce_chunk): New structure.
1437 (struct gomp_coalesce_buf): Update the chunks member to use that
1438 type. Adjust all users.
1440 2018-12-19 Tom de Vries <tdevries@suse.de>
1442 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
1443 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
1444 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
1446 2018-12-19 Tom de Vries <tdevries@suse.de>
1448 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
1449 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
1450 gcc/testsuite/gcc.dg/goacc.
1451 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
1453 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1454 Chung-Lin Tang <cltang@codesourcery.com>
1456 * oacc-mem.c (acc_present_or_create): Remove definition and change
1457 to alias of acc_create.
1458 (acc_present_or_copyin): Remove definition and change to alias of
1460 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
1461 of acc_present_or_create.
1462 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
1463 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1464 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1465 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1466 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1467 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1468 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1469 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1470 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
1471 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1472 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1473 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1474 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1475 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1476 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1477 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1479 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1482 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
1483 "identical parameters".
1484 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
1485 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
1488 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
1489 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
1492 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
1493 (nvptx_wait_async): Unseen async-argument is a no-op.
1494 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
1495 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
1496 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1497 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1498 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1499 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
1500 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
1501 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
1502 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
1504 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
1505 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1507 2018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
1509 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
1510 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1511 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1513 2018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1516 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
1517 (acc_set_cuda_stream): Clarify.
1518 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1520 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
1522 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
1523 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
1524 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
1525 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1527 2018-12-14 Tom de Vries <tdevries@suse.de>
1529 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
1530 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
1531 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
1532 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
1533 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
1535 2018-12-13 Tom de Vries <tdevries@suse.de>
1537 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
1538 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
1539 * fortran.c (omp_display_affinity_): ... here.
1540 * libgomp.h (gomp_print_string): Declare.
1541 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
1542 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1545 2018-12-13 Jakub Jelinek <jakub@redhat.com>
1548 * testsuite/libgomp.c++/for-24.C (results): Include it in
1549 omp declare target region.
1550 (main): Use map (always, tofrom: results) instead of
1551 map (tofrom: results).
1553 2018-12-12 Jakub Jelinek <jakub@redhat.com>
1556 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
1557 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
1559 * testsuite/libgomp.c-c++-common/for-16.c: New test.
1561 2018-12-12 Andreas Schwab <schwab@suse.de>
1563 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
1566 2018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
1569 * testsuite/libgomp.fortran/async_io_8.f90: New test.
1571 2018-12-09 Thomas Schwinge <thomas@codesourcery.com>
1572 Jakub Jelinek <jakub@redhat.com>
1574 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
1575 devicep->host2dev_func.
1577 2018-12-08 Jakub Jelinek <jakub@redhat.com>
1580 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
1581 tls_runtime effective target.
1582 (t): New threadprivate variable.
1583 (main): Set t in threads which execute iterations of the worksharing
1584 loop. Propagate that to the task after the loop and don't abort
1585 if the current taskgroup hasn't been cancelled.
1587 2018-12-02 Jakub Jelinek <jakub@redhat.com>
1589 * testsuite/libgomp.c/task-reduction-3.c: New test.
1591 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
1593 2018-11-30 Cesar Philippidis <cesar@codesourcery.com>
1596 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
1597 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
1599 2018-11-30 Thomas Schwinge <thomas@codesourcery.com>
1601 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
1603 2018-10-19 Richard Biener <rguenther@suse.de>
1605 PR tree-optimization/88182
1606 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
1608 2018-11-26 Jakub Jelinek <jakub@redhat.com>
1610 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
1611 (RUNTEST): Don't define.
1612 (RUNTESTDEFAULTFLAGS): Add.
1613 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
1614 (distclean-am): Depend on distclean-DEJAGNU.
1615 (check-am): If -j% option is present in MFLAGS and if
1616 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
1617 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
1618 * testsuite/Makefile.in: Regenerated.
1620 2018-11-26 Richard Biener <rguenther@suse.de>
1622 PR tree-optimization/88182
1623 * testsuite/libgomp.c++/pr88182.C: New testcase.
1625 2018-11-20 Jakub Jelinek <jakub@redhat.com>
1628 * config/mingw32/affinity-fmt.c: New file.
1630 2018-11-09 Jakub Jelinek <jakub@redhat.com>
1632 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
1633 (gomp_display_affinity): Use __builtin_choose_expr to handle
1634 properly handle argument having integral, or pointer or some other
1635 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
1636 with uint64_t type instead of %llx and unsigned long long.
1638 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
1639 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
1641 2018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1643 * affinity.c: Include <string.h>, <stdio.h>.
1644 (gomp_display_affinity_place): Remove cpusetp.
1645 * teams.c: Include <limits.h>.
1647 2018-11-08 Jakub Jelinek <jakub@redhat.com>
1649 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
1650 in_reduction clause for s[0].
1652 * affinity.c (gomp_display_affinity_place): New function.
1653 * affinity-fmt.c: New file.
1654 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
1655 * config/linux/affinity.c (gomp_display_affinity_place): New function.
1656 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
1657 Move these functions to ...
1658 * config/nvptx/teams.c: ... here. New file.
1659 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
1661 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
1663 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
1664 and _aligned_malloc.
1665 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
1666 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
1667 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
1668 gomp_affinity_format_len): New variables.
1669 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
1670 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
1671 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
1672 modifiers. Display (non-default) chunk sizes. Print
1673 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
1674 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
1675 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
1676 * fortran.c: Include stdio.h and string.h.
1677 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
1678 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
1679 (omp_set_affinity_format_, omp_get_affinity_format_,
1680 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
1681 omp_pause_resource_all_): New functions.
1682 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
1684 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
1686 * teams.c: ... here. New file.
1687 * libgomp_g.h: Include gstdint.h.
1688 (GOMP_loop_nonmonotonic_runtime_start,
1689 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
1690 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
1691 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
1692 GOMP_parallel_loop_nonmonotonic_runtime,
1693 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1694 GOMP_loop_ull_nonmonotonic_runtime_start,
1695 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
1696 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
1697 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1698 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
1699 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
1700 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1701 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
1702 GOMP_teams_reg): Declare.
1703 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
1704 gomp_aligned_alloc uses fallback implementation.
1705 (gomp_aligned_alloc, gomp_aligned_free): Declare.
1706 (enum gomp_schedule_type): Add GFS_MONOTONIC.
1707 (struct gomp_doacross_work_share): Add extra field.
1708 (struct gomp_work_share): Add task_reductions field.
1709 (struct gomp_taskgroup): Add workshare and reductions fields.
1710 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
1711 (gomp_thread_handle): New typedef.
1712 (gomp_display_affinity_place, gomp_set_affinity_format,
1713 gomp_display_string, gomp_display_affinity,
1714 gomp_display_affinity_thread): Declare.
1715 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
1716 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
1717 gomp_workshare_task_reduction_register): Declare.
1718 (gomp_team_start): Add taskgroup argument.
1719 (gomp_pause_host): Declare.
1720 (gomp_init_work_share, gomp_work_share_start): Change bool argument
1722 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
1723 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
1724 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
1725 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
1726 GOMP_loop_ull_doacross_start,
1727 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
1728 GOMP_loop_maybe_nonmonotonic_runtime_next,
1729 GOMP_loop_maybe_nonmonotonic_runtime_start,
1730 GOMP_loop_nonmonotonic_runtime_next,
1731 GOMP_loop_nonmonotonic_runtime_start,
1732 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1733 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
1734 GOMP_loop_ull_nonmonotonic_runtime_next,
1735 GOMP_loop_ull_nonmonotonic_runtime_start,
1736 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1737 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
1738 GOMP_taskgroup_reduction_register,
1739 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1740 GOMP_teams_reg and GOMP_taskwait_depend.
1741 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
1742 omp_{capture,display}_affinity{,_}, and
1743 omp_[gs]et_affinity_format{,_}.
1744 * loop.c: Include string.h.
1745 (GOMP_loop_runtime_next): Add ialias.
1746 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1747 (gomp_loop_static_start, gomp_loop_dynamic_start,
1748 gomp_loop_guided_start, gomp_loop_ordered_static_start,
1749 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
1750 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
1751 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
1752 or gomp_doacross_init callers.
1753 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
1754 GOMP_loop_doacross_start): New functions.
1755 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
1756 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
1757 Mask off GFS_MONOTONIC bit.
1758 (GOMP_loop_maybe_nonmonotonic_runtime_next,
1759 GOMP_loop_maybe_nonmonotonic_runtime_start,
1760 GOMP_loop_nonmonotonic_runtime_next,
1761 GOMP_loop_nonmonotonic_runtime_start,
1762 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1763 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
1765 (gomp_parallel_loop_start): Pass NULL as taskgroup to
1767 * loop_ull.c: Include string.h.
1768 (GOMP_loop_ull_runtime_next): Add ialias.
1769 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1770 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
1771 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
1772 gomp_loop_ull_ordered_dynamic_start,
1773 gomp_loop_ull_ordered_guided_start,
1774 gomp_loop_ull_doacross_static_start,
1775 gomp_loop_ull_doacross_dynamic_start,
1776 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
1777 and gomp_doacross_ull_init callers.
1778 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
1779 GOMP_loop_ull_doacross_start): New functions.
1780 (GOMP_loop_ull_runtime_start,
1781 GOMP_loop_ull_ordered_runtime_start,
1782 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
1783 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1784 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
1785 GOMP_loop_ull_nonmonotonic_runtime_next,
1786 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
1787 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
1788 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
1789 (omp_pause_resource_t, omp_depend_t): New typedefs.
1790 (enum omp_lock_hint_t): Renamed to ...
1791 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
1792 enumerators using numbers and omp_lock_hint_* as their aliases.
1793 (omp_lock_hint_t): New typedef. Rename to ...
1794 (omp_sync_hint_t): ... this.
1795 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
1796 omp_sync_hint_t instead of omp_lock_hint_t.
1797 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1798 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1800 (omp_target_is_present, omp_target_disassociate_ptr):
1801 Change first argument from void * to const void *.
1802 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
1803 from void * to const void *.
1804 (omp_target_associate_ptr): Change first and second arguments from
1805 void * to const void *.
1806 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
1807 omp_pause_hard): New parameters.
1808 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1809 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1811 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
1812 omp_pause_hard): New parameters.
1813 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1814 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1816 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
1817 EXTRA argument. If not needed to prepare array, if extra is 0,
1818 clear ws->doacross, otherwise allocate just doacross structure and
1819 extra payload. If array is needed, allocate also extra payload.
1820 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
1821 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
1823 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
1825 (GOMP_parallel): Likewise. Formatting fix.
1826 (GOMP_parallel_reductions): New function.
1827 (GOMP_cancellation_point): If taskgroup has workshare
1828 flag set, check cancelled of prev taskgroup if any.
1829 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
1830 on prev taskgroup if any.
1831 * sections.c: Include string.h.
1832 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1833 (GOMP_sections_start): Adjust gomp_work_share_start caller.
1834 (GOMP_sections2_start): New function.
1835 (GOMP_parallel_sections_start, GOMP_parallel_sections):
1836 Pass NULL as taskgroup to gomp_team_start.
1837 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
1838 gomp_work_share_start callers.
1839 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
1840 If taskgroup has workshare flag set, check cancelled on prev
1841 taskgroup if any. Guard all cancellation tests with
1842 gomp_cancel_var test.
1843 (omp_target_is_present, omp_target_disassociate_ptr):
1844 Change ptr argument from void * to const void *.
1845 (omp_target_memcpy): Change src argument from void * to const void *.
1846 (omp_target_memcpy_rect): Likewise.
1847 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
1848 instead of char * where needed.
1849 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
1850 from void * to const void *.
1851 (omp_pause_resource, omp_pause_resource_all): New functions.
1852 * task.c (gomp_task_handle_depend): Handle new depend array format
1853 in addition to the old. Handle mutexinoutset kinds the same as
1854 inout for now, handle unspecified kinds.
1855 (gomp_create_target_task): If taskgroup has workshare flag set, check
1856 cancelled on prev taskgroup if any. Guard all cancellation tests with
1857 gomp_cancel_var test. Handle new depend array format count in
1858 addition to the old.
1859 (GOMP_task): Likewise. Adjust function comment.
1860 (gomp_task_run_pre): If taskgroup has workshare flag set, check
1861 cancelled on prev taskgroup if any. Guard all cancellation tests with
1862 gomp_cancel_var test.
1863 (GOMP_taskwait_depend): New function.
1864 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
1865 format in addition to the old. Handle mutexinoutset kinds the same as
1866 inout for now, handle unspecified kinds. Fix a function comment typo.
1867 (gomp_taskgroup_init): New function.
1868 (GOMP_taskgroup_start): Use it.
1869 (gomp_reduction_register, gomp_create_artificial_team,
1870 GOMP_taskgroup_reduction_register,
1871 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1872 gomp_parallel_reduction_register,
1873 gomp_workshare_task_reduction_register,
1874 gomp_workshare_taskgroup_start,
1875 GOMP_workshare_task_reduction_unregister): New functions.
1876 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
1877 check cancelled on prev taskgroup if any. Guard all cancellation
1878 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
1879 by calling GOMP_taskgroup_reduction_register.
1880 * team.c (gomp_thread_attr): Remove comment.
1881 (struct gomp_thread_start_data): Add handle field.
1882 (gomp_thread_start): Call pthread_detach.
1883 (gomp_new_team): Adjust gomp_init_work_share caller.
1884 (gomp_free_pool_helper): Call pthread_detach.
1885 (gomp_team_start): Add taskgroup argument, initialize implicit
1886 tasks' taskgroup field to that. Don't call
1887 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
1888 (gomp_team_end): Determine nesting by thr->ts.level != 0
1889 rather than thr->ts.team != NULL.
1890 (gomp_pause_pool_helper, gomp_pause_host): New functions.
1891 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
1892 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
1893 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
1894 if more than 1 allocate also extra payload at the end of array. Never
1895 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
1896 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
1897 return true instead of ws.
1898 * Makefile.in: Regenerated.
1899 * configure: Regenerated.
1900 * config.h.in: Regenerated.
1901 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
1903 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
1904 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
1905 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
1906 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
1907 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
1908 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
1909 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
1910 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
1911 * testsuite/libgomp.c-c++-common/for-10.c: New test.
1912 * testsuite/libgomp.c-c++-common/for-11.c: New test.
1913 * testsuite/libgomp.c-c++-common/for-12.c: New test.
1914 * testsuite/libgomp.c-c++-common/for-13.c: New test.
1915 * testsuite/libgomp.c-c++-common/for-14.c: New test.
1916 * testsuite/libgomp.c-c++-common/for-15.c: New test.
1917 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
1918 define a different N(test), don't define N(f0) to N(f14), but instead
1919 define N(f20) to N(f34) using != comparisons.
1920 * testsuite/libgomp.c-c++-common/for-7.c: New test.
1921 * testsuite/libgomp.c-c++-common/for-8.c: New test.
1922 * testsuite/libgomp.c-c++-common/for-9.c: New test.
1923 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
1924 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
1925 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
1926 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
1927 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
1928 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
1929 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
1930 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
1931 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
1932 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
1933 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
1934 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
1935 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
1936 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
1937 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
1938 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
1939 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
1940 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
1941 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
1942 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
1943 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
1944 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
1945 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
1946 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
1947 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
1948 * testsuite/libgomp.c++/depend-1.C: New test.
1949 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
1950 * testsuite/libgomp.c++/depobj-1.C: New test.
1951 * testsuite/libgomp.c++/for-16.C: New test.
1952 * testsuite/libgomp.c++/for-21.C: New test.
1953 * testsuite/libgomp.c++/for-22.C: New test.
1954 * testsuite/libgomp.c++/for-23.C: New test.
1955 * testsuite/libgomp.c++/for-24.C: New test.
1956 * testsuite/libgomp.c++/for-25.C: New test.
1957 * testsuite/libgomp.c++/for-26.C: New test.
1958 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
1959 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
1960 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
1961 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
1962 * testsuite/libgomp.c++/task-reduction-10.C: New test.
1963 * testsuite/libgomp.c++/task-reduction-11.C: New test.
1964 * testsuite/libgomp.c++/task-reduction-12.C: New test.
1965 * testsuite/libgomp.c++/task-reduction-13.C: New test.
1966 * testsuite/libgomp.c++/task-reduction-14.C: New test.
1967 * testsuite/libgomp.c++/task-reduction-15.C: New test.
1968 * testsuite/libgomp.c++/task-reduction-16.C: New test.
1969 * testsuite/libgomp.c++/task-reduction-17.C: New test.
1970 * testsuite/libgomp.c++/task-reduction-18.C: New test.
1971 * testsuite/libgomp.c++/task-reduction-19.C: New test.
1972 * testsuite/libgomp.c/task-reduction-1.c: New test.
1973 * testsuite/libgomp.c++/task-reduction-1.C: New test.
1974 * testsuite/libgomp.c/task-reduction-2.c: New test.
1975 * testsuite/libgomp.c++/task-reduction-2.C: New test.
1976 * testsuite/libgomp.c++/task-reduction-3.C: New test.
1977 * testsuite/libgomp.c++/task-reduction-4.C: New test.
1978 * testsuite/libgomp.c++/task-reduction-5.C: New test.
1979 * testsuite/libgomp.c++/task-reduction-6.C: New test.
1980 * testsuite/libgomp.c++/task-reduction-7.C: New test.
1981 * testsuite/libgomp.c++/task-reduction-8.C: New test.
1982 * testsuite/libgomp.c++/task-reduction-9.C: New test.
1983 * testsuite/libgomp.c/teams-1.c: New test.
1984 * testsuite/libgomp.c/teams-2.c: New test.
1985 * testsuite/libgomp.c/thread-limit-4.c: New test.
1986 * testsuite/libgomp.c/thread-limit-5.c: New test.
1987 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
1989 2018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
1991 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
1992 acc_memcpy_to/from_device functions, now with async parameter.
1993 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
1994 (acc_memcpy_from_device): Likewise.
1995 (acc_memcpy_to_device_async): New API function.
1996 (acc_memcpy_from_device_async): Likewise.
1997 (present_create_copy): Add async parameter and async setting/unsetting.
1998 (acc_create): Adjust present_create_copy call.
1999 (acc_copyin): Likewise.
2000 (acc_present_or_create): Likewise.
2001 (acc_present_or_copyin): Likewise.
2002 (acc_create_async): New API function.
2003 (acc_copyin_async): New API function.
2004 (delete_copyout): Add async parameter and async setting/unsetting.
2005 (acc_delete): Adjust delete_copyout call.
2006 (acc_copyout): Likewise.
2007 (acc_delete_async): New API function.
2008 (acc_copyout_async): Likewise.
2009 (update_dev_host): Add async parameter and async setting/unsetting.
2010 (acc_update_device): Adjust update_dev_host call.
2011 (acc_update_self): Likewise.
2012 (acc_update_device_async): New API function.
2013 (acc_update_self_async): Likewise.
2014 * openacc.h (acc_copyin_async): Declare new API function.
2015 (acc_create_async): Likewise.
2016 (acc_copyout_async): Likewise.
2017 (acc_delete_async): Likewise.
2018 (acc_update_device_async): Likewise.
2019 (acc_update_self_async): Likewise.
2020 (acc_memcpy_to_device_async): Likewise.
2021 (acc_memcpy_from_device_async): Likewise.
2022 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
2023 (acc_copyin_async_64_h): New subroutine.
2024 (acc_copyin_async_array_h): New subroutine.
2025 (acc_create_async_32_h): New subroutine.
2026 (acc_create_async_64_h): New subroutine.
2027 (acc_create_async_array_h): New subroutine.
2028 (acc_copyout_async_32_h): New subroutine.
2029 (acc_copyout_async_64_h): New subroutine.
2030 (acc_copyout_async_array_h): New subroutine.
2031 (acc_delete_async_32_h): New subroutine.
2032 (acc_delete_async_64_h): New subroutine.
2033 (acc_delete_async_array_h): New subroutine.
2034 (acc_update_device_async_32_h): New subroutine.
2035 (acc_update_device_async_64_h): New subroutine.
2036 (acc_update_device_async_array_h): New subroutine.
2037 (acc_update_self_async_32_h): New subroutine.
2038 (acc_update_self_async_64_h): New subroutine.
2039 (acc_update_self_async_array_h): New subroutine.
2040 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
2041 (acc_copyin_async_64_h): New subroutine.
2042 (acc_copyin_async_array_h): New subroutine.
2043 (acc_create_async_32_h): New subroutine.
2044 (acc_create_async_64_h): New subroutine.
2045 (acc_create_async_array_h): New subroutine.
2046 (acc_copyout_async_32_h): New subroutine.
2047 (acc_copyout_async_64_h): New subroutine.
2048 (acc_copyout_async_array_h): New subroutine.
2049 (acc_delete_async_32_h): New subroutine.
2050 (acc_delete_async_64_h): New subroutine.
2051 (acc_delete_async_array_h): New subroutine.
2052 (acc_update_device_async_32_h): New subroutine.
2053 (acc_update_device_async_64_h): New subroutine.
2054 (acc_update_device_async_array_h): New subroutine.
2055 (acc_update_self_async_32_h): New subroutine.
2056 (acc_update_self_async_64_h): New subroutine.
2057 (acc_update_self_async_array_h): New subroutine.
2058 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
2059 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
2060 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
2061 acc_memcpy_to_device_async*, acc_update_device_async*, and
2062 acc_update_self_async* entries.
2063 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
2064 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
2065 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
2067 2018-10-31 Joseph Myers <joseph@codesourcery.com>
2070 * Makefile.am: Include multilib.am
2071 (AUTOMAKE_OPTIONS): Add info-in-builddir.
2072 (CLEANFILES): Remove libgomp.info.
2073 * configure.ac: Remove AC_PREREQ.
2074 * testsuite/Makefile.am (RUNTEST): Remove quotes.
2075 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
2078 2018-10-29 Joseph Myers <joseph@codesourcery.com>
2079 Julian Brown <julian@codesourcery.com>
2081 * testsuite/libgomp.oacc-c++/this.C: New.
2083 2018-09-18 Cesar Philippidis <cesar@codesourcery.com>
2085 * plugin/plugin-nvptx.c (struct cuda_map): New.
2086 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
2087 h_tail with (cuda_map *) map.
2088 (cuda_map_create): New function.
2089 (cuda_map_destroy): New function.
2090 (map_init): Update to use a linked list of cuda_map objects.
2091 (map_fini): Likewise.
2092 (map_pop): Likewise.
2093 (map_push): Likewise. Return CUdeviceptr instead of void.
2094 (init_streams_for_device): Remove stales references to ptx_stream
2096 (select_stream_for_async): Likewise.
2097 (nvptx_exec): Update call to map_init.
2099 2018-09-09 Cesar Philippidis <cesar@codesourcery.com>
2100 Julian Brown <julian@codesourcery.com>
2103 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
2105 2018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
2106 Thomas Koenig <tkoenig@gcc.gnu.org>
2109 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2110 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2111 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2112 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2113 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2114 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2115 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2117 2018-08-13 Cesar Philippidis <cesar@codesourcery.com>
2118 Tom de Vries <tdevries@suse.de>
2121 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
2122 (cuOccupancyMaxPotentialBlockSize): Declare.
2123 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
2124 CUDA_ONE_CALL_MAYBE_NULL.
2125 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
2126 CUoccupancyB2DSize and declare
2127 cuOccupancyMaxPotentialBlockSize.
2128 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
2129 default num_gangs and num_workers when the driver supports it.
2131 2018-08-08 Tom de Vries <tdevries@suse.de>
2133 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
2134 CUDA_ONE_CALL_MAYBE_NULL.
2135 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
2136 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
2137 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
2140 2018-08-08 Tom de Vries <tdevries@suse.de>
2142 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
2143 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
2146 2018-08-08 Tom de Vries <tdevries@suse.de>
2148 * plugin/plugin-nvptx.c
2149 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
2150 (nvptx_open_device): Use
2151 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
2153 2018-08-08 Tom de Vries <tdevries@suse.de>
2155 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
2156 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
2158 2018-08-07 Tom de Vries <tdevries@suse.de>
2160 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
2161 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
2162 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
2163 corresponding call in CUDA_ONE_CALL. Add def/undef of
2164 CUDA_ONE_CALL_MAYBE_NULL.
2165 (CUDA_CALL_EXISTS): Define.
2167 2018-08-07 Tom de Vries <tdevries@suse.de>
2169 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
2170 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
2171 corresponding undefs right after.
2173 2018-08-04 Tom de Vries <tdevries@suse.de>
2175 * plugin/configfrag.ac: For --without-cuda-driver, set
2176 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
2177 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
2178 * configure: Regenerate.
2180 2018-08-02 Tom de Vries <tdevries@suse.de>
2183 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
2184 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
2185 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
2187 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
2188 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
2189 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
2191 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2192 Thomas Schwinge <thomas@codesourcery.com>
2194 * config/nvptx/oacc-parallel.c: Truncate.
2196 2018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2197 James Norris <jnorris@codesourcery.com>
2199 * plugin/plugin-nvptx.c (struct map): Removed.
2200 (map_init, map_pop): Remove use of struct map.
2201 (map_push): Likewise and change argument list.
2202 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
2204 2018-08-01 Tom de Vries <tdevries@suse.de>
2206 * plugin/cuda-lib.def: New file. Factor out of ...
2207 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
2208 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
2211 2018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
2213 Revert 'AsyncI/O patch committed'.
2214 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2215 Thomas Koenig <tkoenig@gcc.gnu.org>
2218 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2219 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2220 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2221 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2222 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2223 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2224 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2226 2018-07-30 Tom de Vries <tdevries@suse.de>
2228 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
2229 (nvptx_exec): Ensure worker and vector default dims don't exceed
2230 targ_fn->max_threads_per_block.
2232 2018-07-30 Tom de Vries <tdevries@suse.de>
2234 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
2235 (nvptx_open_device): Init default_dims for device.
2236 (nvptx_exec): Use default_dims from device.
2238 2018-07-26 Jakub Jelinek <jakub@redhat.com>
2241 * testsuite/libgomp.c++/for-15.C (results): Include it in
2242 omp declare target region.
2243 (main): Use map (always, tofrom: results) instead of
2244 map (tofrom: results).
2247 * testsuite/libgomp.c/pr86660.c: New test.
2249 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2250 Tom de Vries <tdevries@suse.de>
2252 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
2253 sufficient resources to launch a kernel, and give a hint on how to fix
2256 2018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2257 Tom de Vries <tdevries@suse.de>
2259 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
2260 max_threads_per_block and max_threads_per_multiprocessor fields.
2261 (nvptx_open_device): Initialize new fields.
2262 (nvptx_exec): Use num_sms, and new fields.
2264 2018-07-26 Tom de Vries <tdevries@suse.de>
2266 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
2267 to correct locations. Remove xfail.
2269 2018-07-26 Tom de Vries <tdevries@suse.de>
2271 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
2272 acc_wait. Move acc_async_test calls to correct locations. Remove
2275 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2276 Thomas Koenig <tkoenig@gcc.gnu.org>
2279 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2280 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2281 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2282 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2283 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2284 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2285 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2287 2018-07-17 Jakub Jelinek <jakub@redhat.com>
2290 * testsuite/libgomp.c++/pr86542.C: New test.
2293 * testsuite/libgomp.c++/pr86539.C: New test.
2295 2018-07-11 Jakub Jelinek <jakub@redhat.com>
2298 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
2299 (results): Make sure the variable is not inside declare target region.
2300 (qux): Remove unused function.
2302 2018-07-10 Jakub Jelinek <jakub@redhat.com>
2305 * testsuite/libgomp.c++/for-15.C: New test.
2307 2018-06-26 Jakub Jelinek <jakub@redhat.com>
2310 * testsuite/libgomp.c++/pr86291.C: New test.
2312 2018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
2314 * libgomp.texi (Top): Move www.openmp.org to https.
2315 (Enabling OpenMP): Ditto.
2316 (omp_get_active_level): Ditto.
2317 (omp_get_ancestor_thread_num): Ditto.
2318 (omp_get_cancellation): Ditto.
2319 (omp_get_default_device): Ditto.
2320 (omp_get_dynamic): Ditto.
2321 (omp_get_level): Ditto.
2322 (omp_get_max_active_levels): Ditto.
2323 (omp_get_max_task_priority): Ditto.
2324 (omp_get_max_threads): Ditto.
2325 (omp_get_nested): Ditto.
2326 (omp_get_num_devices): Ditto.
2327 (omp_get_num_procs): Ditto.
2328 (omp_get_num_teams): Ditto.
2329 (omp_get_num_threads): Ditto.
2330 (omp_get_proc_bind): Ditto.
2331 (omp_get_schedule): Ditto.
2332 (omp_get_team_num): Ditto.
2333 (omp_get_team_size): Ditto.
2334 (omp_get_thread_limit): Ditto.
2335 (omp_get_thread_num): Ditto.
2336 (omp_in_parallel): Ditto.
2337 (omp_in_final): Ditto.
2338 (omp_is_initial_device): Ditto.
2339 (omp_set_default_device): Ditto.
2340 (omp_set_dynamic): Ditto.
2341 (omp_set_max_active_levels): Ditto.
2342 (omp_set_nested): Ditto.
2343 (omp_set_num_threads): Ditto.
2344 (omp_set_schedule): Ditto.
2345 (omp_init_lock): Ditto.
2346 (omp_set_lock): Ditto.
2347 (omp_test_lock): Ditto.
2348 (omp_unset_lock): Ditto.
2349 (omp_destroy_lock): Ditto.
2350 (omp_init_nest_lock): Ditto.
2351 (omp_set_nest_lock): Ditto.
2352 (omp_test_nest_lock): Ditto.
2353 (omp_unset_nest_lock): Ditto.
2354 (omp_destroy_nest_lock): Ditto.
2355 (omp_get_wtick): Ditto.
2356 (omp_get_wtime): Ditto.
2357 (OMP_CANCELLATION): Ditto.
2358 (OMP_DISPLAY_ENV): Ditto.
2359 (OMP_DEFAULT_DEVICE): Ditto.
2360 (OMP_DYNAMIC): Ditto.
2361 (OMP_MAX_ACTIVE_LEVELS): Ditto.
2362 (OMP_MAX_TASK_PRIORITY): Ditto.
2363 (OMP_NESTED): Ditto.
2364 (OMP_NUM_THREADS): Ditto.
2365 (OMP_PROC_BIND): Ditto.
2366 (OMP_PLACES): Ditto.
2367 (OMP_STACKSIZE): Ditto.
2368 (OMP_SCHEDULE): Ditto.
2369 (OMP_THREAD_LIMIT): Ditto.
2370 (OMP_WAIT_POLICY): Ditto.
2372 2018-06-22 Cesar Philippidis <cesar@codesourcery.com>
2373 James Norris <jnorris@codesourcery.com>
2374 Julian Brown <julian@codesourcery.com>
2375 Thomas Schwinge <thomas@codesourcery.com>
2376 Tom de Vries <tom@codesourcery.com>
2378 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
2379 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
2380 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
2381 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
2382 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2383 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2384 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
2385 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2386 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
2387 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
2389 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
2391 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
2393 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
2395 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
2397 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
2399 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2401 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2403 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2405 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2407 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2409 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2411 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2413 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2415 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2417 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2419 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2421 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2423 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2425 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2427 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2429 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2431 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2433 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2435 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2437 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2439 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
2441 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
2442 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
2443 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
2444 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
2445 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
2446 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2447 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2448 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
2449 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2451 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2453 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
2454 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
2455 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
2457 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
2458 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
2459 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2461 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2463 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2465 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2467 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2469 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2471 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2473 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2475 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2477 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2479 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2481 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2483 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2485 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2487 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
2489 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2490 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
2491 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2492 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
2493 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
2494 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
2495 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
2497 2018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
2498 Thomas Schwinge <thomas@codesourcery.com>
2499 Cesar Philippidis <cesar@codesourcery.com>
2501 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
2502 (gomp_acc_remove_pointer): Update declaration.
2503 (gomp_acc_declare_allocate): Declare.
2504 (gomp_remove_var): Declare.
2505 * libgomp.map (OACC_2.5): Define.
2506 * oacc-mem.c (acc_map_data): Update refcount.
2507 (acc_unmap_data): Likewise.
2508 (present_create_copy): Likewise.
2509 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
2510 (acc_copyin): Likewise.
2511 (FLAG_FINALIZE): Define.
2512 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
2513 (acc_delete_finalize): New function.
2514 (acc_delete_finalize_async): New function.
2515 (acc_copyout_finalize): New function.
2516 (acc_copyout_finalize_async): New function.
2517 (gomp_acc_insert_pointer): Update refcounts.
2518 (gomp_acc_remove_pointer): Return if data is not present on the
2520 * oacc-parallel.c (find_pset): Rename to find_pointer.
2521 (find_pointer): Add support for GOMP_MAP_POINTER.
2522 (handle_ftn_pointers): New function.
2523 (GOACC_parallel_keyed): Update refcounts of variables.
2524 (GOACC_enter_exit_data): Add support for finalized data mappings.
2525 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
2527 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
2528 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
2529 for GOMP_MAP_FORCE_FROM.
2530 * openacc.f90 (module openacc_internal): Add
2531 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
2532 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
2533 acc_copyout_finalize and acc_delete_finalize.
2534 (acc_copyout_finalize_32_h): New subroutine.
2535 (acc_copyout_finalize_64_h): New subroutine.
2536 (acc_copyout_finalize_array_h): New subroutine.
2537 (acc_delete_finalize_32_h): New subroutine.
2538 (acc_delete_finalize_64_h): New subroutine.
2539 (acc_delete_finalize_array_h): New subroutine.
2540 * openacc.h (acc_copyout_finalize): Declare.
2541 (acc_copyout_finalize_async): Declare.
2542 (acc_delete_finalize): Declare.
2543 (acc_delete_finalize_async): Declare.
2544 * openacc_lib.h (acc_copyout_finalize): New interface.
2545 (acc_delete_finalize): New interface.
2546 * target.c (gomp_map_vars): Update dynamic_refcount.
2547 (gomp_remove_var): New function.
2548 (gomp_unmap_vars): Use it.
2549 (gomp_unload_image_from_device): Likewise.
2550 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
2551 case to utilize OpenACC 2.5 data clause semantics.
2552 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2553 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2554 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2555 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2556 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2557 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2558 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2559 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2560 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2561 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
2562 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2563 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
2564 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
2565 utilize OpenACC 2.5 data clause semantics.
2566 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2567 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2568 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2569 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2570 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2571 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2572 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2573 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
2574 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2576 2018-05-21 Janus Weil <janus@gcc.gnu.org>
2580 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
2581 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
2582 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
2583 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
2584 * testsuite/libgomp.fortran/task2.f90: Ditto.
2585 * testsuite/libgomp.fortran/vla1.f90: Ditto.
2586 * testsuite/libgomp.fortran/vla2.f90: Ditto.
2587 * testsuite/libgomp.fortran/vla3.f90: Ditto.
2588 * testsuite/libgomp.fortran/vla4.f90: Ditto.
2589 * testsuite/libgomp.fortran/vla5.f90: Ditto.
2590 * testsuite/libgomp.fortran/vla6.f90: Ditto.
2591 * testsuite/libgomp.fortran/vla8.f90: Ditto.
2592 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
2593 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
2595 2018-05-18 Cesar Philippidis <cesar@codesourcery.com>
2598 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
2600 2018-05-09 Tom de Vries <tom@codesourcery.com>
2603 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
2604 to GOACC_enter_exit_data.
2606 2018-05-09 Tom de Vries <tom@codesourcery.com>
2609 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
2610 (async_synchronous_p): New function.
2611 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
2613 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2614 async_valid_stream_id_p.
2615 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
2616 * oacc-parallel.c (GOACC_parallel_keyed): Same.
2618 2018-05-07 Tom de Vries <tom@codesourcery.com>
2621 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
2622 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
2624 2018-05-03 Tom de Vries <tom@codesourcery.com>
2627 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
2628 extra_tool_flags if it contains an -foffload=-fdump-* flag.
2629 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
2630 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
2632 2018-05-02 Tom de Vries <tom@codesourcery.com>
2635 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
2636 GOMP_OPENACC_DIM ...
2637 * env.c (parse_gomp_openacc_dim): ... here. New function.
2638 (initialize_env): Call parse_gomp_openacc_dim.
2639 (goacc_default_dims): Define.
2640 * libgomp.h (goacc_default_dims): Declare.
2641 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
2642 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
2643 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
2644 GOMP_PLUGIN_acc_default_dim.
2645 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
2646 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
2648 2018-05-02 Tom de Vries <tom@codesourcery.com>
2651 * testsuite/libgomp.c++/udr-9.C: Update.
2652 * testsuite/libgomp.c++/atomic-16.C: Remove.
2653 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
2654 * testsuite/libgomp.c++/loop-13.C: Remove.
2655 * testsuite/libgomp.c++/loop-14.C: Remove.
2656 * testsuite/libgomp.c++/loop-15.C: Remove.
2657 * testsuite/libgomp.c++/monotonic-1.C: Remove.
2658 * testsuite/libgomp.c++/monotonic-2.C: Remove.
2659 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
2660 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
2661 * testsuite/libgomp.c++/ordered-1.C: Remove.
2662 * testsuite/libgomp.c++/pr45784.C: Remove.
2663 * testsuite/libgomp.c++/pr64824.C: Remove.
2664 * testsuite/libgomp.c++/pr64868.C: Remove.
2665 * testsuite/libgomp.c++/pr66199-1.C: Remove.
2666 * testsuite/libgomp.c++/pr66199-2.C: Remove.
2667 * testsuite/libgomp.c++/pr66199-3.C: Remove.
2668 * testsuite/libgomp.c++/pr66199-4.C: Remove.
2669 * testsuite/libgomp.c++/pr66199-5.C: Remove.
2670 * testsuite/libgomp.c++/pr66199-6.C: Remove.
2671 * testsuite/libgomp.c++/pr66199-7.C: Remove.
2672 * testsuite/libgomp.c++/pr66199-8.C: Remove.
2673 * testsuite/libgomp.c++/pr66199-9.C: Remove.
2674 * testsuite/libgomp.c++/pr69389.C: Remove.
2675 * testsuite/libgomp.c++/simd10.C: Remove.
2676 * testsuite/libgomp.c++/simd11.C: Remove.
2677 * testsuite/libgomp.c++/simd12.C: Remove.
2678 * testsuite/libgomp.c++/simd13.C: Remove.
2679 * testsuite/libgomp.c++/target-1.C: Remove.
2680 * testsuite/libgomp.c++/target-3.C: Remove.
2681 * testsuite/libgomp.c++/target-4.C: Remove.
2682 * testsuite/libgomp.c++/target-5.C: Remove.
2683 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
2684 * testsuite/libgomp.c++/taskloop-1.C: Remove.
2685 * testsuite/libgomp.c++/taskloop-2.C: Remove.
2686 * testsuite/libgomp.c++/taskloop-3.C: Remove.
2687 * testsuite/libgomp.c++/taskloop-4.C: Remove.
2688 * testsuite/libgomp.c++/udr-9.C: Remove.
2689 * testsuite/libgomp.c++/for-10.C: Remove.
2690 * testsuite/libgomp.c++/for-11.C: Remove.
2691 * testsuite/libgomp.c++/for-12.C: Remove.
2692 * testsuite/libgomp.c++/for-13.C: Remove.
2693 * testsuite/libgomp.c++/for-14.C: Remove.
2694 * testsuite/libgomp.c++/for-9.C: Remove.
2695 * testsuite/libgomp.c/atomic-18.c: Move ...
2696 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
2697 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
2698 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
2699 * testsuite/libgomp.c/loop-13.c: Move ...
2700 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
2701 * testsuite/libgomp.c/loop-14.c: Move ...
2702 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
2703 * testsuite/libgomp.c/loop-15.c: Remove.
2704 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
2705 * testsuite/libgomp.c/monotonic-1.c: Move ...
2706 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
2707 * testsuite/libgomp.c/monotonic-2.c: Move ...
2708 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
2709 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
2710 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
2711 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
2712 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
2713 * testsuite/libgomp.c/ordered-4.c: Move ...
2714 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
2715 * testsuite/libgomp.c/pr45784.c: Move ...
2716 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
2717 * testsuite/libgomp.c/pr64824.c: Move ...
2718 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
2719 * testsuite/libgomp.c/pr64868.c: Move ...
2720 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
2721 * testsuite/libgomp.c/pr66199-1.c: Move ...
2722 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
2723 * testsuite/libgomp.c/pr66199-2.c: Move ...
2724 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
2725 * testsuite/libgomp.c/pr66199-3.c: Move ...
2726 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
2727 * testsuite/libgomp.c/pr66199-4.c: Move ...
2728 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
2729 * testsuite/libgomp.c/pr66199-5.c: Move ...
2730 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
2731 * testsuite/libgomp.c/pr66199-6.c: Move ...
2732 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
2733 * testsuite/libgomp.c/pr66199-7.c: Move ...
2734 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
2735 * testsuite/libgomp.c/pr66199-8.c: Move ...
2736 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
2737 * testsuite/libgomp.c/pr66199-9.c: Move ...
2738 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
2739 * testsuite/libgomp.c/pr69389.c: Move ...
2740 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
2741 * testsuite/libgomp.c/simd-14.c: Move ...
2742 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
2743 * testsuite/libgomp.c/simd-15.c: Move ...
2744 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
2745 * testsuite/libgomp.c/simd-16.c: Move ...
2746 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
2747 * testsuite/libgomp.c/simd-17.c: Move ...
2748 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
2749 * testsuite/libgomp.c/target-1.c: Move ...
2750 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
2751 * testsuite/libgomp.c/target-10.c: Move ...
2752 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
2753 * testsuite/libgomp.c/target-13.c: Move ...
2754 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
2755 * testsuite/libgomp.c/target-2.c: Move ...
2756 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
2757 * testsuite/libgomp.c/taskgroup-1.c: Move ...
2758 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
2759 * testsuite/libgomp.c/taskloop-1.c: Move ...
2760 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
2761 * testsuite/libgomp.c/taskloop-2.c: Move ...
2762 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
2763 * testsuite/libgomp.c/taskloop-3.c: Move ...
2764 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
2765 * testsuite/libgomp.c/taskloop-4.c: Move ...
2766 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
2767 * testsuite/libgomp.c/udr-1.c: Move ...
2768 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
2769 * testsuite/libgomp.c/for-1.c: Move ...
2770 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
2771 * testsuite/libgomp.c/for-1.h: Move ...
2772 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
2773 * testsuite/libgomp.c/for-2.c: Move ...
2774 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
2775 * testsuite/libgomp.c/for-2.h: Move ...
2776 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
2777 * testsuite/libgomp.c/for-3.c: Move ...
2778 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
2779 * testsuite/libgomp.c/for-4.c: Move ...
2780 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
2781 * testsuite/libgomp.c/for-5.c: Move ...
2782 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
2783 * testsuite/libgomp.c/for-6.c: Move ...
2784 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
2786 2018-05-02 Tom de Vries <tom@codesourcery.com>
2789 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
2790 __builtin_goacc_parlevel_{id,size}.
2791 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
2792 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
2793 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
2794 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
2795 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
2796 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
2797 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
2798 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
2799 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
2800 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
2801 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
2802 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
2803 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
2804 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
2805 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
2806 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
2807 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
2808 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
2809 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
2810 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
2811 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
2812 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
2813 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
2815 2018-05-02 Tom de Vries <tom@codesourcery.com>
2818 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
2820 2018-05-02 Tom de Vries <tom@codesourcery.com>
2823 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
2825 2018-04-29 Julian Brown <julian@codesourcery.com>
2826 Tom de Vries <tom@codesourcery.com>
2829 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
2830 arbitrary order for iterations of atomic subtract check.
2832 2018-04-28 Tom de Vries <tom@codesourcery.com>
2835 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
2836 atomic capture results obtained in parallel loop to an array, instead of
2839 2018-04-26 Tom de Vries <tom@codesourcery.com>
2842 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
2843 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
2844 (process_GOMP_NVPTX_JIT): New function.
2845 (link_ptx): Use process_GOMP_NVPTX_JIT.
2847 2018-04-26 Richard Biener <rguenther@suse.de>
2848 Tom de Vries <tom@codesourcery.com>
2851 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
2853 2018-04-26 Tom de Vries <tom@codesourcery.com>
2856 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
2857 recursion depth from 25 to 23.
2858 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
2860 2018-04-24 H.J. Lu <hongjiu.lu@intel.com>
2862 * configure: Regenerated.
2864 2018-04-20 Nathan Sidwell <nathan@codesourcery.com>
2865 Tom de Vries <tom@codesourcery.com>
2868 * testsuite/libgomp.oacc-c++/ref-1.C: New.
2870 2018-04-19 Thomas Schwinge <thomas@codesourcery.com>
2873 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
2874 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2875 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2876 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
2877 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
2878 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
2881 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
2883 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2885 2018-04-19 Jakub Jelinek <jakub@redhat.com>
2887 * configure: Regenerated.
2889 2018-04-18 David Malcolm <dmalcolm@redhat.com>
2892 * configure: Regenerate.
2894 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
2895 Tom de Vries <tom@codesourcery.com>
2898 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2899 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2901 2018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
2905 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
2906 test from gfortran.dg to here.
2908 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2910 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
2911 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
2913 2018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2916 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2917 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2919 2018-04-05 Tom de Vries <tom@codesourcery.com>
2922 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
2924 2018-03-26 Tom de Vries <tom@codesourcery.com>
2926 PR tree-optimization/85063
2927 * testsuite/libgomp.c/switch-conversion-2.c: New test.
2928 * testsuite/libgomp.c/switch-conversion.c: New test.
2929 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
2930 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
2932 2018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
2935 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
2936 call abort by STOP n.
2937 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
2938 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
2939 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
2940 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
2941 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
2942 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
2943 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
2944 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
2945 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
2946 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
2947 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
2948 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
2949 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
2950 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
2951 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
2952 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
2953 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
2954 * testsuite/libgomp.fortran/associate1.f90: Likewise.
2955 * testsuite/libgomp.fortran/associate2.f90: Likewise.
2956 * testsuite/libgomp.fortran/associate3.f90: Likewise.
2957 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
2958 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
2959 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
2960 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
2961 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
2962 * testsuite/libgomp.fortran/character1.f90: Likewise.
2963 * testsuite/libgomp.fortran/character2.f90: Likewise.
2964 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
2965 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
2966 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
2967 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
2968 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
2969 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
2970 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
2971 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
2972 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
2973 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
2974 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
2975 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
2976 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
2977 * testsuite/libgomp.fortran/do1.f90: Likewise.
2978 * testsuite/libgomp.fortran/do2.f90: Likewise.
2979 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
2980 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
2981 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
2982 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
2983 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
2984 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
2985 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
2986 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
2987 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
2988 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
2989 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
2990 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
2991 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
2992 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
2993 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
2994 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
2995 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
2996 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
2997 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
2998 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
2999 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
3000 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
3001 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
3002 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
3003 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
3004 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
3005 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
3006 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
3007 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
3008 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
3009 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
3010 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
3011 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
3012 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
3013 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
3014 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
3015 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
3016 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
3017 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
3018 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
3019 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
3020 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
3021 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
3022 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
3023 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
3024 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
3025 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
3026 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
3027 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
3028 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3029 * testsuite/libgomp.fortran/lib2.f: Likewise.
3030 * testsuite/libgomp.fortran/lib3.f: Likewise.
3031 * testsuite/libgomp.fortran/lib4.f90: Likewise.
3032 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
3033 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
3034 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3035 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
3036 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
3037 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
3038 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
3039 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
3040 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
3041 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
3042 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
3043 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
3044 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
3045 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
3046 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
3047 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
3048 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
3049 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
3050 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
3051 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
3052 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
3053 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
3054 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3055 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
3056 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
3057 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
3058 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
3059 * testsuite/libgomp.fortran/pr25162.f: Likewise.
3060 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
3061 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
3062 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
3063 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
3064 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
3065 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
3066 * testsuite/libgomp.fortran/pr28390.f: Likewise.
3067 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
3068 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
3069 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
3070 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
3071 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
3072 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
3073 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
3074 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
3075 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
3076 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
3077 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
3078 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
3079 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
3080 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
3081 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
3082 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
3083 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
3084 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
3085 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
3086 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
3087 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
3088 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
3089 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
3090 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
3091 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
3092 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
3093 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
3094 * testsuite/libgomp.fortran/reference1.f90: Likewise.
3095 * testsuite/libgomp.fortran/reference2.f90: Likewise.
3096 * testsuite/libgomp.fortran/retval1.f90: Likewise.
3097 * testsuite/libgomp.fortran/retval2.f90: Likewise.
3098 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
3099 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
3100 * testsuite/libgomp.fortran/simd1.f90: Likewise.
3101 * testsuite/libgomp.fortran/simd2.f90: Likewise.
3102 * testsuite/libgomp.fortran/simd3.f90: Likewise.
3103 * testsuite/libgomp.fortran/simd4.f90: Likewise.
3104 * testsuite/libgomp.fortran/simd5.f90: Likewise.
3105 * testsuite/libgomp.fortran/simd6.f90: Likewise.
3106 * testsuite/libgomp.fortran/simd7.f90: Likewise.
3107 * testsuite/libgomp.fortran/stack.f90: Likewise.
3108 * testsuite/libgomp.fortran/strassen.f90: Likewise.
3109 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
3110 * testsuite/libgomp.fortran/tabs2.f: Likewise.
3111 * testsuite/libgomp.fortran/target1.f90: Likewise.
3112 * testsuite/libgomp.fortran/target2.f90: Likewise.
3113 * testsuite/libgomp.fortran/target3.f90: Likewise.
3114 * testsuite/libgomp.fortran/target4.f90: Likewise.
3115 * testsuite/libgomp.fortran/target5.f90: Likewise.
3116 * testsuite/libgomp.fortran/target6.f90: Likewise.
3117 * testsuite/libgomp.fortran/target7.f90: Likewise.
3118 * testsuite/libgomp.fortran/target8.f90: Likewise.
3119 * testsuite/libgomp.fortran/task1.f90: Likewise.
3120 * testsuite/libgomp.fortran/task2.f90: Likewise.
3121 * testsuite/libgomp.fortran/task3.f90: Likewise.
3122 * testsuite/libgomp.fortran/task4.f90: Likewise.
3123 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
3124 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
3125 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
3126 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
3127 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
3128 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
3129 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
3130 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
3131 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
3132 * testsuite/libgomp.fortran/udr1.f90: Likewise.
3133 * testsuite/libgomp.fortran/udr10.f90: Likewise.
3134 * testsuite/libgomp.fortran/udr11.f90: Likewise.
3135 * testsuite/libgomp.fortran/udr12.f90: Likewise.
3136 * testsuite/libgomp.fortran/udr13.f90: Likewise.
3137 * testsuite/libgomp.fortran/udr14.f90: Likewise.
3138 * testsuite/libgomp.fortran/udr15.f90: Likewise.
3139 * testsuite/libgomp.fortran/udr2.f90: Likewise.
3140 * testsuite/libgomp.fortran/udr3.f90: Likewise.
3141 * testsuite/libgomp.fortran/udr4.f90: Likewise.
3142 * testsuite/libgomp.fortran/udr5.f90: Likewise.
3143 * testsuite/libgomp.fortran/udr6.f90: Likewise.
3144 * testsuite/libgomp.fortran/udr7.f90: Likewise.
3145 * testsuite/libgomp.fortran/udr8.f90: Likewise.
3146 * testsuite/libgomp.fortran/udr9.f90: Likewise.
3147 * testsuite/libgomp.fortran/vla1.f90: Likewise.
3148 * testsuite/libgomp.fortran/vla2.f90: Likewise.
3149 * testsuite/libgomp.fortran/vla3.f90: Likewise.
3150 * testsuite/libgomp.fortran/vla4.f90: Likewise.
3151 * testsuite/libgomp.fortran/vla5.f90: Likewise.
3152 * testsuite/libgomp.fortran/vla6.f90: Likewise.
3153 * testsuite/libgomp.fortran/vla7.f90: Likewise.
3154 * testsuite/libgomp.fortran/vla8.f90: Likewise.
3155 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
3156 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
3157 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3158 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3159 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3160 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3161 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3162 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3163 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3164 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3165 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
3166 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
3167 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
3168 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
3169 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3170 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
3171 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3172 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
3173 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
3174 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
3175 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
3176 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
3177 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
3178 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
3179 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
3180 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3181 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3182 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
3183 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3184 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
3185 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3186 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3187 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3188 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3189 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3190 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3191 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3192 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3193 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
3194 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3195 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
3196 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3197 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
3198 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
3199 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
3200 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
3201 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3202 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3203 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
3204 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
3205 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
3206 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
3207 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3208 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3209 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
3210 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
3211 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
3212 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
3213 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
3214 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
3215 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3216 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3217 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3218 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3219 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
3220 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3221 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
3222 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3223 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3224 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
3225 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
3226 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
3227 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
3228 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
3229 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3230 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
3231 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3232 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3233 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3234 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3235 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3236 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3237 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3238 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
3239 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
3240 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3241 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3242 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
3243 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
3244 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3245 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3246 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
3247 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
3248 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
3250 2018-03-20 Richard Biener <rguenther@suse.de>
3252 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
3253 parallelizable loop.
3255 2018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3258 * configure: Regenerate.
3260 2018-02-16 Jakub Jelinek <jakub@redhat.com>
3263 * libgomp.fortran/pr84418-1.f90: New test.
3264 * libgomp.fortran/pr84418-2.f90: New test.
3266 2018-02-14 Jakub Jelinek <jakub@redhat.com>
3269 * testsuite/libgomp.fortran/threadprivate4.f90: Add
3270 -std=f2003 -fall-intrinsics into dg-additional-options.
3272 2018-02-08 Martin Jambor <mjambor@suse.cz>
3274 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
3277 2018-02-08 Martin Jambor <mjambor@suse.cz>
3279 * testsuite/libgomp.hsa.c/staticvar.c: New test.
3281 2018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3283 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
3284 [__cplusplus]: Declare extern "C".
3286 2018-02-07 Tom de Vries <tom@codesourcery.com>
3289 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
3291 2018-01-29 Christoph Spiel <cspiel@freenet.de>
3292 Jakub Jelinek <jakub@redhat.com>
3295 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
3296 instead of omp_lock_t.
3298 2018-01-25 Tom de Vries <tom@codesourcery.com>
3301 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
3303 2018-01-24 Tom de Vries <tom@codesourcery.com>
3306 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
3308 2018-01-24 Tom de Vries <tom@codesourcery.com>
3311 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
3313 2018-01-19 Tom de Vries <tom@codesourcery.com>
3314 Cesar Philippidis <cesar@codesourcery.com>
3317 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
3318 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
3320 2018-01-03 Jakub Jelinek <jakub@redhat.com>
3322 Update copyright years.
3324 * libgomp.texi: Bump @copying's copyright year.
3326 2017-12-30 Tom de Vries <tom@codesourcery.com>
3329 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
3330 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
3332 2017-12-27 Tom de Vries <tom@codesourcery.com>
3335 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
3336 (test_nonstatic): Fix return type to workaround PR83046.
3338 2017-12-05 Jakub Jelinek <jakub@redhat.com>
3341 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
3342 j suffix instead of i.
3343 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
3346 2017-12-01 Cesar Philippidis <cesar@codesourcery.com>
3348 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
3349 call to acc_wait (1).
3351 2017-11-24 Jakub Jelinek <jakub@redhat.com>
3354 * testsuite/libgomp.fortran/pr81304.f90: New test.
3356 2017-11-23 Jakub Jelinek <jakub@redhat.com>
3359 * libgomp.fortran/pr81841.f90: New test.
3361 2017-11-22 Jakub Jelinek <jakub@redhat.com>
3364 * target.c (gomp_target_init): Compute lengths just once and
3365 use them in both malloc size and subsequent copying.
3367 2017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3369 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
3370 * acinclude.m4: Add cet.m4.
3371 * configure: Regenerate.
3372 * Makefile.in: Likewise.
3373 * testsuite/Makefile.in: Likewise.
3375 2017-11-15 Tom de Vries <tom@codesourcery.com>
3377 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
3378 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
3379 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
3380 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
3381 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
3382 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
3384 2017-11-14 Tom de Vries <tom@codesourcery.com>
3386 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
3389 2017-11-07 Jakub Jelinek <jakub@redhat.com>
3392 * testsuite/libgomp.c++/pr82835.C: New test.
3394 2017-11-06 Martin Liska <mliska@suse.cz>
3396 * testsuite/libgomp.c++/loop-2.C: Return a value
3397 for functions with non-void return type, or change type to void,
3398 or add -Wno-return-type for test.
3399 * testsuite/libgomp.c++/loop-4.C: Likewise.
3400 * testsuite/libgomp.c++/parallel-1.C: Likewise.
3401 * testsuite/libgomp.c++/shared-1.C: Likewise.
3402 * testsuite/libgomp.c++/single-1.C: Likewise.
3403 * testsuite/libgomp.c++/single-2.C: Likewise.
3405 2017-10-31 Tom de Vries <tom@codesourcery.com>
3407 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
3408 "do {} while (false)".
3409 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
3410 after HSA_DEBUG call.
3412 2017-10-28 Jakub Jelinek <jakub@redhat.com>
3414 * target.c (struct gomp_coalesce_buf): New type.
3415 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
3416 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
3417 (gomp_copy_host2dev): Add CBUF argument, if copying into
3418 the cached ranges, memcpy into buffer instead of copying
3420 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
3421 Add CBUF argument, pass it through to other calls.
3422 (gomp_map_vars): Aggregate copies from host to device if small enough
3423 and with small enough gaps in between into memcpy into a buffer and
3424 fewer host to device copies from the buffer.
3425 (gomp_update): Adjust gomp_copy_host2dev caller.
3427 2017-10-17 Thomas Schwinge <thomas@codesourcery.com>
3429 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
3431 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3432 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3433 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3434 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3436 2017-10-16 Tom de Vries <tom@codesourcery.com>
3438 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
3439 openacc_nvidia_accel_selected.
3440 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
3441 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
3442 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
3443 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
3444 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
3445 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
3446 openacc_nvidia_accel_selected. Skip for shared memory device.
3447 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
3448 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
3450 2017-10-09 Martin Jambor <mjambor@suse.cz>
3453 * testsuite/libgomp.hsa.c/pr82416.c: New test.
3455 2017-10-07 Tom de Vries <tom@codesourcery.com>
3457 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
3458 Remove acc_device_nvidia references.
3459 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
3462 2017-10-05 Tom de Vries <tom@codesourcery.com>
3464 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
3465 vector_length(32) clause from acc parallel directive.
3466 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
3468 2017-10-04 Tom de Vries <tom@codesourcery.com>
3470 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
3471 (main): Reduce sum of arr elements. Assert that hres is exactly
3472 representable in 32-bit floating point.
3473 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
3474 (main): Reduce sum of arr elements. Assert that hres and hmres are
3475 exactly representable in 32-bit floating point.
3476 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
3478 2017-09-28 Tom de Vries <tom@codesourcery.com>
3480 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
3482 * testsuite/libgomp.c++/pr69393.C: Same.
3483 * testsuite/libgomp.c++/taskloop-1.C: Same.
3484 * testsuite/libgomp.c++/taskloop-3.C: Same.
3485 * testsuite/libgomp.c++/taskloop-4.C: Same.
3486 * testsuite/libgomp.c/for-4.c: Same.
3487 * testsuite/libgomp.c/pr66199-3.c: Same.
3488 * testsuite/libgomp.c/pr66199-4.c: Same.
3489 * testsuite/libgomp.c/pr66199-6.c: Same.
3490 * testsuite/libgomp.c/taskloop-1.c: Same.
3491 * testsuite/libgomp.c/taskloop-3.c: Same.
3492 * testsuite/libgomp.c/taskloop-4.c: Same.
3493 * testsuite/libgomp.fortran/aligned1.f03: Same.
3494 * testsuite/libgomp.fortran/condinc1.f: Same.
3495 * testsuite/libgomp.fortran/condinc3.f90: Same.
3496 * testsuite/libgomp.fortran/crayptr1.f90: Same.
3497 * testsuite/libgomp.fortran/crayptr2.f90: Same.
3498 * testsuite/libgomp.fortran/crayptr3.f90: Same.
3499 * testsuite/libgomp.fortran/omp_cond1.f: Same.
3500 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
3501 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
3502 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
3503 * testsuite/libgomp.fortran/recursion1.f90: Same.
3504 * testsuite/libgomp.fortran/target2.f90: Same.
3505 * testsuite/libgomp.fortran/target5.f90: Same.
3506 * testsuite/libgomp.fortran/task3.f90: Same.
3508 2017-09-28 Tom de Vries <tom@codesourcery.com>
3510 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
3511 vector_length(32) clause from acc parallel directive.
3512 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
3514 2017-09-27 Tom de Vries <tom@codesourcery.com>
3516 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
3517 Remove acc_device_nvidia references.
3519 2017-09-16 Tom de Vries <tom@codesourcery.com>
3522 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
3524 2017-09-14 Tom de Vries <tom@codesourcery.com>
3526 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
3527 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
3528 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
3529 * testsuite/libgomp.c/c.exp: Include test-cases from
3530 libgomp.c-c++-common.
3531 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
3534 2017-09-14 Jakub Jelinek <jakub@redhat.com>
3537 * testsuite/libgomp.c++/pr81314.C: New test.
3539 2017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
3541 * libgomp.texi (Top): www.openacc.org now uses https.
3542 (Enabling OpenACC): Ditto.
3543 (acc_get_num_devices): Ditto.
3544 (acc_set_device_type): Ditto.
3545 (acc_get_device_type): Ditto.
3546 (acc_set_device_num): Ditto.
3547 (acc_get_device_num): Ditto.
3548 (acc_async_test): Ditto.
3549 (acc_async_test_all): Ditto.
3551 (acc_wait_all): Ditto.
3552 (acc_wait_all_async): Ditto.
3553 (acc_wait_async): Ditto.
3555 (acc_shutdown): Ditto.
3556 (acc_on_device): Ditto.
3557 (acc_malloc): Ditto.
3559 (acc_copyin): Ditto.
3560 (acc_present_or_copyin): Ditto.
3561 (acc_create): Ditto.
3562 (acc_present_or_create): Ditto.
3563 (acc_copyout): Ditto.
3564 (acc_delete): Ditto.
3565 (acc_update_device): Ditto.
3566 (acc_update_self): Ditto.
3567 (acc_map_data): Ditto.
3568 (acc_unmap_data): Ditto.
3569 (acc_deviceptr): Ditto.
3570 (acc_hostptr): Ditto.
3571 (acc_is_present): Ditto.
3572 (acc_memcpy_to_device): Ditto.
3573 (acc_memcpy_from_device): Ditto.
3574 (acc_get_current_cuda_device): Ditto.
3575 (acc_get_current_cuda_context): Ditto.
3576 (acc_get_cuda_stream): Ditto.
3577 (acc_set_cuda_stream): Ditto.
3578 (ACC_DEVICE_TYPE): Ditto.
3579 (ACC_DEVICE_NUM): Ditto.
3580 (OpenACC Library Interoperability): Ditto.
3582 2017-08-09 Jakub Jelinek <jakub@redhat.com>
3585 * testsuite/libgomp.c/pr81687-1.c: New test.
3586 * testsuite/libgomp.c/pr81687-2.c: New test.
3588 2017-08-07 Jakub Jelinek <jakub@redhat.com>
3591 * testsuite/libgomp.c/pr69389.c: New test.
3592 * testsuite/libgomp.c++/pr69389.C: New test.
3594 2017-08-07 Tom de Vries <tom@codesourcery.com>
3597 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
3598 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
3600 2017-07-27 Jakub Jelinek <jakub@redhat.com>
3603 * testsuite/libgomp.c/pr45784.c: New test.
3604 * testsuite/libgomp.c++/pr45784.C: New test.
3606 2017-07-19 Tom de Vries <tom@codesourcery.com>
3608 * testsuite/libgomp.oacc-c/vec.c: New test.
3610 2017-07-03 Tom de Vries <tom@codesourcery.com>
3612 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
3614 2017-06-27 Tom de Vries <tom@codesourcery.com>
3616 * plugin/plugin-nvptx.c (notify_var): New function.
3617 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
3619 2017-06-27 Tom de Vries <tom@codesourcery.com>
3621 * env.c (parse_unsigned_long_1): Factor out of ...
3622 (parse_unsigned_long): ... here.
3623 (parse_int_1): Factor out of ...
3624 (parse_int): ... here.
3625 (parse_int_secure): New function.
3626 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
3627 * secure_getenv.h: Factor out of ...
3628 * plugin/plugin-hsa.c: ... here.
3629 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
3631 2017-06-21 Jakub Jelinek <jakub@redhat.com>
3634 * testsuite/libgomp.c++/pr81130.C: New test.
3636 2017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3638 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
3640 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
3641 dg-xfail-run-if default args.
3643 2017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3645 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
3646 * testsuite/libgomp.c/pr39591-3.c: Likewise.
3648 2017-05-30 Jakub Jelinek <jakub@redhat.com>
3651 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
3652 (gomp_affinity_init_level): Use it. Always analyze the core and thread
3653 sibling lists, depending on level just pick up what CPUs to put
3654 together into a place vs. whether add multiple ordered places.
3656 2017-05-24 Thomas Schwinge <thomas@codesourcery.com>
3658 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
3659 * libgomp.map (OACC_2.0.1): Add these.
3660 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
3661 for "acc_wait", and "acc_wait_all", respectively.
3662 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
3663 for "acc_wait", and "acc_wait_all", respectively.
3664 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
3665 * libgomp.texi (acc_wait, acc_wait_all): Update.
3666 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
3667 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
3668 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3670 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
3671 acc_present_or_copyin and acc_present_or_create procedures,
3673 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
3674 generally different variants of OpenACC Runtime Library functions.
3675 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3677 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
3678 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3680 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
3681 of preprocessor definitions.
3682 * libgomp.h (strong_alias): Guard by "#ifdef
3683 HAVE_ATTRIBUTE_ALIAS".
3684 * oacc-mem.c: Provide "acc_pcreate" as alias for
3685 "acc_present_or_create", and "acc_pcopyin" as alias for
3686 "acc_present_or_copyin".
3687 * libgomp.map: New version "OACC_2.0.1".
3688 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
3689 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
3691 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
3694 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
3695 when disabling nvptx offloading.
3697 2017-05-23 Thomas Schwinge <thomas@codesourcery.com>
3699 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
3700 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3701 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3703 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
3704 * testsuite/lib/libgomp.exp
3705 (check_effective_target_openacc_nvidia_accel_configured): New
3707 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
3708 (check_effective_target_c++): New procs.
3709 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
3710 (check_effective_target_c++): Likewise.
3712 2017-05-22 Jakub Jelinek <jakub@redhat.com>
3715 * testsuite/libgomp.c/pr80809-2.c: New test.
3716 * testsuite/libgomp.c/pr80809-3.c: New test.
3719 * testsuite/libgomp.c/pr80809-1.c: New test.
3722 * testsuite/libgomp.c/pr80853.c: New test.
3724 2017-05-19 Thomas Schwinge <thomas@codesourcery.com>
3726 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
3727 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
3728 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3729 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3730 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3732 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
3733 Debug output for failure.
3735 2017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3737 * testsuite/lib/libgomp.exp: Load scanlang.exp.
3739 2017-04-27 Jakub Jelinek <jakub@redhat.com>
3742 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
3743 bootstrap compare failures.
3745 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
3747 * testsuite/libgomp.c/target-36.c: New testcase.
3749 2017-04-13 Jakub Jelinek <jakub@redhat.com>
3751 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
3754 2017-04-11 Jakub Jelinek <jakub@redhat.com>
3757 * testsuite/libgomp.c/pr80394.c: New test.
3759 2017-04-04 Jakub Jelinek <jakub@redhat.com>
3762 * config/posix/thread-stacksize.h: New file.
3763 * config/darwin/thread-stacksize.h: New file.
3764 * config/nvptx/thread-stacksize.h: New file.
3765 * env.c: Include thread-stacksize.h.
3766 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
3767 instead of 0. Call pthread_attr_setstacksize even if
3768 GOMP_DEFAULT_STACKSIZE is non-zero.
3770 2017-03-30 Jakub Jelinek <jakub@redhat.com>
3772 * env.c (initialize_env): Initialize stacksize to 0.
3774 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
3777 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
3779 2017-03-08 Jakub Jelinek <jakub@redhat.com>
3782 * testsuite/libgomp.c/pr79940.c: New test.
3784 2017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3786 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
3788 Add __float128 options.
3790 2017-02-11 John David Anglin <danglin@gcc.gnu.org>
3792 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
3793 hppa*-*-* dg-skip-if directive.
3795 2017-02-09 Jakub Jelinek <jakub@redhat.com>
3797 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
3798 dg-skip-if directive into a comment.
3800 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
3801 Chung-Lin Tang <cltang@codesourcery.com>
3803 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
3804 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
3805 add additional case.
3806 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
3807 "openacc_nvidia_accel_selected".
3808 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
3809 Add num_workers(8) clause.
3811 2017-02-08 John David Anglin <danglin@gcc.gnu.org>
3813 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
3815 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
3816 include complex.h on hppa*-*-hpux*.
3817 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
3819 2017-02-02 Thomas Schwinge <thomas@codesourcery.com>
3821 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
3823 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
3824 GOMP_OFFLOAD_openacc_exec. Adjust all users.
3825 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
3826 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
3827 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
3828 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
3829 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
3830 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
3831 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
3832 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
3834 2017-01-31 Thomas Schwinge <thomas@codesourcery.com>
3836 * libgomp-plugin.h: #include <stdbool.h>.
3837 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
3838 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
3839 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
3840 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
3841 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
3842 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
3843 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
3844 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
3845 (GOMP_OFFLOAD_openacc_register_async_cleanup)
3846 (GOMP_OFFLOAD_openacc_async_test)
3847 (GOMP_OFFLOAD_openacc_async_test_all)
3848 (GOMP_OFFLOAD_openacc_async_wait)
3849 (GOMP_OFFLOAD_openacc_async_wait_async)
3850 (GOMP_OFFLOAD_openacc_async_wait_all)
3851 (GOMP_OFFLOAD_openacc_async_wait_all_async)
3852 (GOMP_OFFLOAD_openacc_async_set_async)
3853 (GOMP_OFFLOAD_openacc_create_thread_data)
3854 (GOMP_OFFLOAD_openacc_destroy_thread_data)
3855 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
3856 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
3857 (GOMP_OFFLOAD_openacc_get_cuda_stream)
3858 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
3859 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
3861 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
3862 (GOMP_OFFLOAD_unload_image): Fix argument types.
3864 2017-01-26 Jakub Jelinek <jakub@redhat.com>
3866 * testsuite/lib/libgomp.exp
3867 (check_effective_target_hsa_offloading_selected_nocache): Fix up
3868 check_compile invocation. Fix up removal of executable. Drop
3869 bogus "2>&1" argument.
3871 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
3874 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
3875 Martin Jambor <mjambor@suse.cz>
3877 * plugin/hsa.h: Moved to top level include.
3878 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
3880 2017-01-21 Jakub Jelinek <jakub@redhat.com>
3883 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
3884 of cat to get version from BASE-VER file.
3885 * testsuite/Makefile.in: Regenerated.
3887 2017-01-19 Jakub Jelinek <jakub@redhat.com>
3889 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
3892 2017-01-17 Jakub Jelinek <jakub@redhat.com>
3894 * plugin/hsa.h: Add GCC runtime library exception.
3895 * plugin/hsa_ext_finalize.h: Likewise.
3897 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
3898 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
3899 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
3900 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
3901 plugin/include/cuda as include dir and -ldl instead of -lcuda as
3902 library to link ptx plugin against.
3903 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
3904 (CUDA_CALLS): Define.
3905 (cuda_lib, cuda_lib_inited): New variables.
3906 (init_cuda_lib): New function.
3907 (CUDA_CALL_PREFIX): Define.
3908 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
3909 (CUDA_CALL): Use FN instead of (FN).
3910 (CUDA_CALL_NOCHECK): Define.
3911 (cuda_error, fini_streams_for_device, select_stream_for_async,
3912 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
3913 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
3914 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
3915 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
3917 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
3919 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
3920 Use CUDA_CALL_NOCHECK.
3921 * plugin/cuda/cuda.h: New file.
3922 * config.h.in: Regenerated.
3923 * configure: Regenerated.
3926 * configure.ac: Add GCC_BASE_VER.
3927 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
3928 get version from BASE-VER file.
3929 * testsuite/Makefile.in: Regenerated.
3930 * configure: Regenerated.
3931 * Makefile.in: Regenerated.
3933 2017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3936 * Makefile.am: Make fincludedir multilib-aware.
3937 * Makefile.in: Regenerate.
3939 2017-01-01 Jakub Jelinek <jakub@redhat.com>
3941 Update copyright years.
3943 * libgomp.texi: Bump @copying's copyright year.
3945 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3947 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
3948 pthread_spinlock_t instead of gomp_mutex_t lock.
3949 (gomp_get_thread_pool): Likewise.
3950 (gomp_release_thread_pool): Likewise.
3951 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
3954 2016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3956 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
3957 thread pool in case nthreads == 1.
3959 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
3961 * config/nvptx/env.c: Delete.
3962 * icv.c: Move definitions of ICV variables back ...
3963 * env.c: ...here. Do not compile environment-related functionality if
3964 LIBGOMP_OFFLOADED_ONLY is set.
3966 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
3968 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
3969 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
3970 * configure: Regenerate.
3971 * config.h.in: Likewise.
3973 2016-11-30 Alexander Monakov <amonakov@ispras.ru>
3975 * Makefile.in: Regenerate with automake-1.11.6.
3976 * aclocal.m4: Likewise.
3977 * configure: Likewise.
3978 * testsuite/Makefile.in: Likewise.
3980 2016-11-28 Alexander Monakov <amonakov@ispras.ru>
3982 * config/nvptx/critical.c: Delete to use generic implementation.
3984 2016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
3986 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
3987 ../../affinity.c as fallback.
3988 * config/nvptx/affinity.c: Delete to use fallback implementation.
3990 2016-11-23 Alexander Monakov <amonakov@ispras.ru>
3991 Jakub Jelinek <jakub@redhat.com>
3992 Dmitry Melnik <dm@ispras.ru>
3994 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
3995 * Makefile.in. Regenerate.
3996 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
3997 (LIBGOMP_USE_PTHREADS): ...here; new define.
3998 * configure: Regenerate.
3999 * config.h.in: Likewise.
4000 * config/posix/affinity.c: Move to...
4001 * affinity.c: ...here (new file). Guard use of Pthreads-specific
4002 interface by LIBGOMP_USE_PTHREADS.
4003 * critical.c: Split out GOMP_atomic_{start,end} into...
4004 * atomic.c: ...here (new file).
4005 * env.c: Split out ICV definitions into...
4006 * icv.c: ...here (new file) and...
4007 * icv-device.c: ...here. New file.
4008 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
4009 (gomp_destroy_lock_30): Ditto.
4010 (gomp_set_lock_30): Ditto.
4011 (gomp_unset_lock_30): Ditto.
4012 (gomp_test_lock_30): Ditto.
4013 (gomp_init_nest_lock_30): Ditto.
4014 (gomp_destroy_nest_lock_30): Ditto.
4015 (gomp_set_nest_lock_30): Ditto.
4016 (gomp_unset_nest_lock_30): Ditto.
4017 (gomp_test_nest_lock_30): Ditto.
4019 * config/nvptx/lock.c: New.
4020 * config/nvptx/bar.c: New.
4021 * config/nvptx/bar.h: New.
4022 * config/nvptx/doacross.h: New.
4023 * config/nvptx/error.c: New.
4024 * config/nvptx/icv-device.c: New.
4025 * config/nvptx/mutex.h: New.
4026 * config/nvptx/pool.h: New.
4027 * config/nvptx/proc.c: New.
4028 * config/nvptx/ptrlock.h: New.
4029 * config/nvptx/sem.h: New.
4030 * config/nvptx/simple-bar.h: New.
4031 * config/nvptx/target.c: New.
4032 * config/nvptx/task.c: New.
4033 * config/nvptx/team.c: New.
4034 * config/nvptx/time.c: New.
4035 * config/posix/simple-bar.h: New.
4036 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
4037 (gomp_num_teams_var): Declare.
4038 (struct gomp_thread_pool): Change threads_dock member to
4039 gomp_simple_barrier_t.
4040 [__nvptx__] (gomp_thread): New implementation.
4041 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
4042 (gomp_thread_destructor): Ditto.
4043 (gomp_init_thread_affinity): Ditto.
4044 * team.c: Guard uses of Pthreads-specific interfaces by
4045 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
4046 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
4047 * config/nvptx/alloc.c: Delete.
4048 * config/nvptx/barrier.c: Ditto.
4049 * config/nvptx/fortran.c: Ditto.
4050 * config/nvptx/iter.c: Ditto.
4051 * config/nvptx/iter_ull.c: Ditto.
4052 * config/nvptx/loop.c: Ditto.
4053 * config/nvptx/loop_ull.c: Ditto.
4054 * config/nvptx/ordered.c: Ditto.
4055 * config/nvptx/parallel.c: Ditto.
4056 * config/nvptx/priority_queue.c: Ditto.
4057 * config/nvptx/sections.c: Ditto.
4058 * config/nvptx/single.c: Ditto.
4059 * config/nvptx/splay-tree.c: Ditto.
4060 * config/nvptx/work.c: Ditto.
4061 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
4062 -foffload=-lgfortran in addition to -lgfortran.
4063 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
4064 * plugin/plugin-nvptx.c: Include <limits.h>.
4065 (struct targ_fn_descriptor): Add new fields.
4066 (struct ptx_device): Ditto. Set them...
4067 (nvptx_open_device): ...here.
4068 (nvptx_adjust_launch_bounds): New.
4069 (nvptx_host2dev): Allow NULL 'nvthd'.
4070 (nvptx_dev2host): Ditto.
4071 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
4072 (link_ptx): Adjust log sizes.
4073 (nvptx_host2dev): Allow NULL 'nvthd'.
4074 (nvptx_dev2host): Ditto.
4075 (nvptx_set_clocktick): New. Use it...
4076 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
4078 (GOMP_OFFLOAD_dev2dev): New.
4079 (nvptx_adjust_launch_bounds): New.
4080 (nvptx_stacks_size): New.
4081 (nvptx_stacks_alloc): New.
4082 (nvptx_stacks_free): New.
4083 (GOMP_OFFLOAD_run): New.
4084 (GOMP_OFFLOAD_async_run): New (stub).
4086 2016-11-23 Martin Jambor <mjambor@suse.cz>
4088 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
4089 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
4090 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4092 2016-11-23 Martin Liska <mliska@suse.cz>
4093 Martin Jambor <mjambor@suse.cz>
4095 * plugin/hsa.h: New file.
4096 * plugin/hsa_ext_finalize.h: New file.
4097 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
4098 header file unistd.h, and functions secure_getenv, __secure_getenv,
4099 getuid, geteuid, getgid and getegid.
4100 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
4102 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
4103 Handle various cases of secure_getenv presence, add an implementation
4104 when we can test effective UID and GID.
4105 (struct hsa_runtime_fn_info): New structure.
4106 (hsa_runtime_fn_info hsa_fns): New variable.
4107 (hsa_runtime_lib): Likewise.
4108 (support_cpu_devices): Likewise.
4109 (init_enviroment_variables): Load newly introduced ENV
4111 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
4112 (hsa_fatal): Likewise.
4113 (DLSYM_FN): New macro.
4114 (init_hsa_runtime_functions): New function.
4115 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
4116 structure. Depending on environment, also allow CPU devices.
4117 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
4118 (get_kernarg_memory_region): Likewise.
4119 (GOMP_OFFLOAD_init_device): Likewise.
4120 (destroy_hsa_program): Likewise.
4121 (init_basic_kernel_info): New function.
4122 (GOMP_OFFLOAD_load_image): Use it.
4123 (create_and_finalize_hsa_program): Call hsa run-time functions via
4125 (create_single_kernel_dispatch): Likewise.
4126 (release_kernel_dispatch): Likewise.
4127 (init_single_kernel): Likewise.
4128 (parse_target_attributes): Allow up multiple HSA grid dimensions.
4129 (get_group_size): New function.
4130 (run_kernel): Likewise.
4131 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
4132 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
4134 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
4135 * testsuite/libgomp-test-support.exp.in: Likewise.
4136 * Makefile.in: Regenerated.
4137 * aclocal.m4: Likewise.
4138 * config.h.in: Likewise.
4139 * configure: Likewise.
4140 * testsuite/Makefile.in: Likewise.
4142 2016-11-15 Martin Jambor <mjambor@suse.cz>
4143 Alexander Monakov <amonakov@ispras.ru>
4145 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
4146 mapping clauses to target constructs.
4147 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
4149 2016-11-15 Matthias Klose <doko@ubuntu.com>
4151 * configure: Regenerate.
4153 2016-11-10 Jakub Jelinek <jakub@redhat.com>
4155 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
4156 * omp_lib.h.in (openmp_version): Likewise.
4157 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
4159 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4161 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
4162 (fib_wrapper): Add map(from: x) clause.
4163 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
4165 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
4166 (accum): Add map(tmp) clause.
4167 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
4168 (accum): Add map(tofrom: tmp) clause.
4169 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
4170 (gramSchmidt): Likewise.
4171 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
4172 map(tofrom: sum) clause.
4173 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
4174 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
4175 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
4176 only allowed on the loop iterator.
4177 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
4178 * testsuite/libgomp.fortran/taskloop2.f90: New test.
4179 * testsuite/libgomp.fortran/taskloop4.f90: New test.
4180 * testsuite/libgomp.fortran/doacross1.f90: New test.
4181 * testsuite/libgomp.fortran/doacross3.f90: New test.
4182 * testsuite/libgomp.fortran/taskloop1.f90: New test.
4183 * testsuite/libgomp.fortran/taskloop3.f90: New test.
4184 * testsuite/libgomp.fortran/doacross2.f90: New test.
4185 * testsuite/libgomp.c/doacross-1.c (main): Add missing
4186 #pragma omp atomic read.
4187 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4188 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
4190 2016-11-02 Cesar Philippidis <cesar@codesourcery.com>
4191 Nathan Sidwell <nathan@acm.org>
4193 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
4194 to determine default geometry.
4195 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
4198 2016-11-01 Jakub Jelinek <jakub@redhat.com>
4200 * hashtab.h: Use standard GPLv3 with runtime exception
4203 2016-10-27 Aldy Hernandez <aldyh@redhat.com>
4205 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
4206 size when allocating new thread.
4208 2016-09-14 Marek Polacek <polacek@redhat.com>
4210 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
4212 2016-08-19 Jakub Jelinek <jakub@redhat.com>
4215 * testsuite/libgomp.fortran/pr71014.f90: New test.
4217 2016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
4220 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
4221 firstprivate clauses.
4222 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
4224 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4225 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4226 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
4227 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4228 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4229 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4230 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4231 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4232 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4233 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4234 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4235 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
4237 2016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
4240 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
4242 2016-08-08 Jakub Jelinek <jakub@redhat.com>
4245 * testsuite/libgomp.c++/pr58706.C: New test.
4247 2016-08-04 Thomas Schwinge <thomas@codesourcery.com>
4249 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
4250 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
4251 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4253 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
4254 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
4256 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
4258 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
4259 test, and don't hardcode -O0.
4261 2016-08-03 Nathan Sidwell <nathan@codesourcery.com>
4263 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
4265 2016-07-15 Cesar Philippidis <cesar@codesourcery.com>
4267 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
4270 2016-07-03 H.J. Lu <hongjiu.lu@intel.com>
4273 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
4274 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
4276 2016-07-01 Jakub Jelinek <jakub@redhat.com>
4279 * testsuite/libgomp.fortran/associate3.f90: New test.
4281 2016-06-17 Jakub Jelinek <jakub@redhat.com>
4283 * testsuite/libgomp.c++/target-21.C: New test.
4285 2016-06-16 Jakub Jelinek <jakub@redhat.com>
4287 * testsuite/libgomp.c++/target-20.C: New test.
4289 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4290 Cesar Philippidis <cesar@codesourcery.com>
4293 * libgomp.oacc-c/nested-function-1.c: New file.
4294 * libgomp.oacc-c/nested-function-2.c: Likewise.
4295 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4296 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4297 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4299 2016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4302 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
4303 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
4304 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
4306 2016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
4308 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
4309 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
4311 2016-06-01 Cesar Philippidis <cesar@codesourcery.com>
4314 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
4316 2016-05-26 Jakub Jelinek <jakub@redhat.com>
4318 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
4319 instead of invalid schedule(static, 0).
4320 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4322 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4324 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
4325 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
4326 parameter, use to set async stream around call to gomp_unmap_vars,
4327 call gomp_unmap_vars() with 'do_copyfrom' set to true.
4328 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
4329 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
4330 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
4331 (event_add): Add int parameter, initialize 'val' field when
4332 adding new ptx_event struct.
4333 (nvptx_evec): Adjust event_add() call arguments.
4334 (nvptx_host2dev): Likewise.
4335 (nvptx_dev2host): Likewise.
4336 (nvptx_wait_async): Likewise.
4337 (nvptx_wait_all_async): Likewise.
4338 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
4339 pass to event_add() call.
4340 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
4342 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
4343 call openacc.register_async_cleanup_func() hook.
4344 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
4345 * target.c (gomp_copy_from_async): Delete function.
4346 (gomp_map_vars): Remove async_refcount.
4347 (gomp_unmap_vars): Likewise.
4348 (gomp_load_image_to_device): Likewise.
4349 (omp_target_associate_ptr): Likewise.
4350 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
4351 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
4352 (gomp_copy_from_async): Remove.
4354 2016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4356 * target.c (gomp_device_copy): New function.
4357 (gomp_copy_host2dev): Likewise.
4358 (gomp_copy_dev2host): Likewise.
4359 (gomp_free_device_memory): Likewise.
4360 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
4361 (gomp_map_pointer): Likewise.
4362 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
4363 NULL value from alloc_func plugin hook.
4364 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
4365 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
4366 (gomp_unmap_vars): Likewise.
4367 (gomp_update): Adjust to call gomp_copy_dev2host and
4368 gomp_copy_host2dev functions.
4369 (gomp_unload_image_from_device): Handle false value from
4370 unload_image_func plugin hook.
4371 (gomp_init_device): Handle false value from init_device_func
4373 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
4374 (omp_target_free): Adjust to call gomp_free_device_memory.
4375 (omp_target_memcpy): Handle return values from host2dev_func,
4376 dev2host_func, and dev2dev_func plugin hooks.
4377 (omp_target_memcpy_rect_worker): Likewise.
4378 (gomp_target_fini): Handle false value from fini_device_func
4380 * libgomp.h (struct gomp_device_descr): Adjust return type of
4381 init_device_func, fini_device_func, unload_image_func, free_func,
4382 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
4383 * oacc-init.c (acc_shutdown_1): Handle false value from
4384 fini_device_func plugin hook.
4385 * oacc-host.c (host_init_device): Change return type to bool.
4386 (host_fini_device): Likewise.
4387 (host_unload_image): Likewise.
4388 (host_free): Likewise.
4389 (host_dev2host): Likewise.
4390 (host_host2dev): Likewise.
4391 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
4392 (acc_memcpy_to_device): Likewise.
4393 (acc_memcpy_from_device): Likewise.
4394 (delete_copyout): Add libfnname parameter, handle free_func
4395 hook fatal error case.
4396 (acc_delete): Adjust delete_copyout call.
4397 (acc_copyout): Likewise.
4398 (update_dev_host): Move gomp_mutex_unlock to after
4399 host2dev/dev2host hook calls.
4401 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
4402 to 'hsa_error_msg', for clarity.
4403 (hsa_fatal): Likewise.
4404 (hsa_error): New function.
4405 (init_hsa_context): Change return type to bool, adjust to return
4407 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
4409 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
4410 return false on error.
4411 (get_agent_info): Adjust to return NULL on error.
4412 (destroy_hsa_program): Change return type to bool, adjust to
4413 return false on error.
4414 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
4415 (destroy_module): Change return type to bool, adjust to
4416 return false on error.
4417 (GOMP_OFFLOAD_unload_image): Likewise.
4418 (GOMP_OFFLOAD_fini_device): Likewise.
4419 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
4420 (GOMP_OFFLOAD_free): Change to return false when called.
4421 (GOMP_OFFLOAD_dev2host): Likewise.
4422 (GOMP_OFFLOAD_host2dev): Likewise.
4423 (GOMP_OFFLOAD_dev2dev): Likewise.
4425 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
4426 (CUDA_CALL): Likewise.
4427 (CUDA_CALL_ASSERT): Likewise.
4428 (map_init): Change return type to bool, use CUDA_CALL* macros.
4429 (map_fini): Likewise.
4430 (init_streams_for_device): Change return type to bool, adjust
4432 (fini_streams_for_device): Change return type to bool, adjust
4434 (select_stream_for_async): Release stream_lock before calls to
4435 GOMP_PLUGIN_fatal, adjust call to map_init.
4436 (nvptx_init): Use CUDA_CALL* macros.
4437 (nvptx_attach_host_thread_to_device): Change return type to bool,
4438 use CUDA_CALL* macros.
4439 (nvptx_open_device): Use CUDA_CALL* macros.
4440 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
4442 (nvptx_get_num_devices): Use CUDA_CALL* macros.
4443 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
4444 (nvptx_exec): Use CUDA_CALL* macros.
4445 (nvptx_alloc): Use CUDA_CALL* macros.
4446 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
4447 (nvptx_host2dev): Likewise.
4448 (nvptx_dev2host): Likewise.
4449 (nvptx_wait): Use CUDA_CALL* macros.
4450 (nvptx_wait_async): Likewise.
4451 (nvptx_wait_all): Likewise.
4452 (nvptx_wait_all_async): Likewise.
4453 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
4454 use CUDA_CALL* macros, adjust call to map_fini.
4455 (GOMP_OFFLOAD_init_device): Change return type to bool,
4456 adjust code accordingly.
4457 (GOMP_OFFLOAD_fini_device): Likewise.
4458 (GOMP_OFFLOAD_load_image): Adjust calls to
4459 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
4460 use CUDA_CALL* macros.
4461 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
4463 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
4464 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
4465 handle error return.
4466 (GOMP_OFFLOAD_dev2host): Likewise.
4467 (GOMP_OFFLOAD_host2dev): Likewise.
4468 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
4469 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
4471 2016-05-24 Cesar Philippidis <cesar@codesourcery.com>
4473 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
4474 (acc_free): Likewise.
4475 (acc_memcpy_to_device): Likewise.
4476 (acc_memcpy_from_device): Likewise.
4477 (acc_deviceptr): Likewise.
4478 (acc_hostptr): Likewise.
4479 (acc_is_present): Likewise.
4480 (acc_map_data): Likewise.
4481 (acc_unmap_data): Likewise.
4482 (present_create_copy): Likewise.
4483 (delete_copyout): Likewise.
4484 (update_dev_host): Likewise.
4485 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
4486 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
4487 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
4488 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4489 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
4490 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
4491 it only runs on nvptx targets.
4492 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4493 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4494 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4495 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4496 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4497 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4498 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4499 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4500 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4501 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4502 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4503 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4504 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4505 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4506 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4507 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4508 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4509 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4510 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4511 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4512 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4513 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4514 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4516 2016-05-23 Martin Jambor <mjambor@suse.cz>
4518 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
4520 2016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
4522 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
4523 to gomp_init_targets_once.
4524 (acc_set_device_type): Remove !cached_base_dev condition on call to
4525 gomp_init_targets_once, move call to before acc_device_lock acquire,
4527 (acc_get_device_num): Remove !cached_base_dev condition on call to
4528 gomp_init_targets_once.
4529 (acc_set_device_num): Likewise.
4531 2016-05-16 Martin Jambor <mjambor@suse.cz>
4533 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
4535 2016-05-02 Nathan Sidwell <nathan@codesourcery.com>
4537 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
4538 expected partitioning.
4540 2016-04-29 Cesar Philippidis <cesar@codesourcery.com>
4543 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
4544 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
4545 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
4547 2016-04-21 Alexander Monakov <amonakov@ispras.ru>
4549 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
4552 2016-04-19 Jakub Jelinek <jakub@redhat.com>
4555 * testsuite/libgomp.c/pr70680-1.c: New test.
4556 * testsuite/libgomp.c/pr70680-2.c: New test.
4558 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
4560 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
4561 pass parameter variables to subroutines.
4563 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
4566 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
4568 2016-04-13 Cesar Philippidis <cesar@codesourcery.com>
4571 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
4572 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4574 2016-04-12 Thomas Schwinge <thomas@codesourcery.com>
4576 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
4577 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
4578 GOACC_declare prototype.
4580 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
4581 Merge this file, and...
4582 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
4583 ... this file, and...
4584 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
4585 ... this file, and...
4586 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
4587 ... this file, and...
4588 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
4589 ... this file, and...
4590 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
4591 ... this file, and...
4592 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
4593 ... this file, and...
4594 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
4595 ... this file, and...
4596 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
4597 ... this file, and...
4598 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
4599 ... this file, and...
4600 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
4601 ... this file, and...
4602 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
4603 ... this file, and...
4604 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
4605 ... this file into...
4606 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
4609 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
4610 Make failure observable.
4612 2016-04-12 Jakub Jelinek <jakub@redhat.com>
4614 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
4616 * target.c (gomp_target_fallback_firstprivate,
4617 gomp_target_unshare_firstprivate): Removed.
4618 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
4619 before waiting for dependencies.
4620 (gomp_target_task_fn): Don't copy firstprivate vars here.
4621 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
4622 firstprivate_copies here.
4623 (gomp_create_target_task): Don't initialize firstprivate_copies field.
4624 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
4625 explicit/implicit firstprivate.
4627 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
4631 PR tree-optimization/70373
4635 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
4637 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
4639 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
4641 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
4643 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
4645 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
4647 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
4649 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
4651 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
4653 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
4654 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
4655 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
4656 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
4658 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
4660 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
4662 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
4664 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
4666 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4667 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4668 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
4669 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
4670 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
4671 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
4673 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4674 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4675 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4676 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4677 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
4678 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
4679 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
4680 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
4681 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
4682 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4683 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4684 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4685 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4686 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4687 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
4689 2016-03-30 Thomas Schwinge <thomas@codesourcery.com>
4690 James Norris <jnorris@codesourcery.com>
4691 Nathan Sidwell <nathan@codesourcery.com>
4692 Julian Brown <julian@codesourcery.com>
4693 Cesar Philippidis <cesar@codesourcery.com>
4694 Chung-Lin Tang <cltang@codesourcery.com>
4695 Tom de Vries <tom@codesourcery.com>
4697 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
4698 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
4699 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
4700 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
4701 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4702 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4703 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4704 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4705 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
4707 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
4709 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
4711 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
4712 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
4713 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
4714 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
4716 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
4718 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4719 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
4720 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
4721 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
4722 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4723 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4724 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4725 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4726 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4727 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
4729 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
4730 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4731 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
4733 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
4735 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
4737 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
4739 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
4741 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
4742 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
4743 ... this new file. Update.
4744 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
4745 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
4746 ... this new file. Update.
4747 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
4748 file. Incorporate...
4749 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
4751 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
4753 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
4755 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
4757 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
4759 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
4760 set-torture-options.
4762 2016-03-24 Thomas Schwinge <thomas@codesourcery.com>
4764 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
4766 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4767 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
4768 -fno-builtin-acc_on_device instead of -O0.
4769 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
4771 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4772 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
4774 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4775 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4776 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4777 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4778 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4779 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4780 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4781 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4782 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4783 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4784 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4785 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4786 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4787 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4788 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4789 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4790 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4791 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
4793 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
4795 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
4798 2016-03-24 Martin Liska <mliska@suse.cz>
4800 * plugin/plugin-hsa.c (packet_store_release): New function
4801 that is taken from the HSA runtime manual.
4802 (GOMP_OFFLOAD_run): Use the function.
4804 2016-03-23 Jakub Jelinek <jakub@redhat.com>
4807 * testsuite/libgomp.c++/pr70376.C: New test.
4809 2016-03-23 Tom de Vries <tom@codesourcery.com>
4811 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
4812 initialization of lresult and lvresult.
4813 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
4815 2016-03-23 James Norris <jnorris@codesourcery.com>
4816 Daichi Fukuoka <dc-fukuoka@sgi.com>
4819 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
4820 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
4821 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
4822 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
4824 2016-03-23 Martin Liska <mliska@suse.cz>
4827 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
4828 argument just in case a dispatched kernel uses that argument.
4830 2016-03-16 Thomas Schwinge <thomas@codesourcery.com>
4832 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
4833 -ftree-parallelize-loops/-fopenacc changes.
4834 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
4836 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4838 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
4840 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
4842 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4843 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4845 2016-03-13 Thomas Schwinge <thomas@codesourcery.com>
4847 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
4848 always_ld_library_path the path to libgcc_s.
4850 2016-03-10 Cesar Philippidis <cesar@codesourcery.com>
4853 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
4855 2016-03-09 Tom de Vries <tom@codesourcery.com>
4857 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
4858 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
4859 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4861 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
4862 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
4863 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
4864 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
4866 2016-03-07 Martin Jambor <mjambor@suse.cz>
4868 * testsuite/lib/libgomp.exp
4869 (check_effective_target_hsa_offloading_selected_nocache): New.
4870 (check_effective_target_hsa_offloading_selected): Likewise.
4871 * testsuite/libgomp.hsa.c/c.exp: Likewise.
4872 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
4873 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
4874 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
4875 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
4876 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
4877 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
4878 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
4879 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
4880 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
4881 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
4882 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
4883 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
4884 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
4885 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
4886 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
4887 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
4889 2016-03-07 Martin Jambor <mjambor@suse.cz>
4891 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
4892 non-shared memory accelerators.
4893 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
4894 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
4895 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
4896 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
4897 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4898 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4899 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4900 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4901 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4903 2016-03-07 Martin Jambor <mjambor@suse.cz>
4905 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
4908 2016-03-02 Jakub Jelinek <jakub@redhat.com>
4911 * testsuite/libgomp.c++/pr69555-1.C: New test.
4912 * testsuite/libgomp.c++/pr69555-2.C: New test.
4914 2016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
4915 Martin Jambor <mjambor@suse.cz>
4917 * testsuite/lib/libgomp.exp
4918 (check_effective_target_offload_device_shared_as): New proc.
4919 * testsuite/libgomp.c++/declare_target-1.C: New test.
4921 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
4924 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
4926 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
4928 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
4929 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
4931 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
4932 -ftree-parallelize-loops/-fopenacc changes.
4933 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
4934 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
4936 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
4938 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
4940 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
4942 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
4944 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
4946 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
4948 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
4949 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
4951 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
4952 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
4954 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
4955 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
4958 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
4960 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
4962 2016-02-19 Jakub Jelinek <jakub@redhat.com>
4965 * testsuite/libgomp.c/pr69805.c: New test.
4967 2016-02-16 Tom de Vries <tom@codesourcery.com>
4970 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
4972 2016-02-09 Tom de Vries <tom@codesourcery.com>
4974 PR tree-optimization/69599
4975 * testsuite/libgomp.c/omp-nested-3.c: New test.
4976 * testsuite/libgomp.c/pr46032-2.c: New test.
4977 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
4978 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
4980 2016-02-09 Tom de Vries <tom@codesourcery.com>
4983 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
4985 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
4987 * testsuite/libgomp.c/target-31.c: Fix testcase.
4989 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
4991 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
4993 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
4994 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
4995 reduction and map clauses.
4996 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4998 2016-02-02 James Norris <jnorris@codesourcery.com>
5000 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
5002 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
5004 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
5005 * oacc-parallel.c (GOACC_host_data): Remove function definition.
5007 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
5010 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
5012 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
5013 (hsa_kmt_lib): Set variables.
5014 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
5015 always_ld_library_path.
5016 * Makefile.in: Regenerate.
5017 * configure: Likewise.
5018 * testsuite/Makefile.in: Likewise.
5020 * plugin/configfrag.ac (offload_additional_options)
5021 (offload_additional_lib_paths): Don't amend for hsa offloading.
5022 * configure: Regenerate.
5024 * plugin/configfrag.ac: Don't configure for offloading target if
5025 we don't build the corresponding plugin.
5026 * configure: Regenerate.
5028 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
5030 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
5031 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
5033 2016-01-26 Tom de Vries <tom@codesourcery.com>
5035 PR tree-optimization/69110
5036 * testsuite/libgomp.c/pr69110.c: New test.
5038 2016-01-25 Richard Biener <rguenther@suse.de>
5041 * testsuite/libgomp.c++/pr69393.C: New testcase.
5043 2016-01-22 Ilya Verbin <ilya.verbin@intel.com>
5045 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
5046 function wasn't mapped to the device with non-shared memory.
5048 2016-01-20 Ilya Verbin <ilya.verbin@intel.com>
5050 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
5052 2016-01-19 Martin Jambor <mjambor@suse.cz>
5053 Martin Liska <mliska@suse.cz>
5055 * plugin/Makefrag.am: Add HSA plugin requirements.
5056 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
5057 (HSA_RUNTIME_LIB): Likewise.
5058 (HSA_RUNTIME_CPPFLAGS): Likewise.
5059 (HSA_RUNTIME_INCLUDE): New substitution.
5060 (HSA_RUNTIME_LIB): Likewise.
5061 (HSA_RUNTIME_LDFLAGS): Likewise.
5062 (hsa-runtime): New configure option.
5063 (hsa-runtime-include): Likewise.
5064 (hsa-runtime-lib): Likewise.
5065 (PLUGIN_HSA): New substitution variable.
5066 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
5068 (PLUGIN_HSA_CPPFLAGS): Likewise.
5069 (PLUGIN_HSA_LDFLAGS): Likewise.
5070 (PLUGIN_HSA_LIBS): Likewise.
5071 Check that we have access to HSA run-time.
5072 * libgomp-plugin.h (offload_target_type): New element
5073 OFFLOAD_TARGET_TYPE_HSA.
5074 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
5076 (bool gomp_create_target_task): Updated.
5077 (gomp_device_descr): Extra parameter of run_func and async_run_func,
5078 new field can_run_func.
5079 * libgomp_g.h (GOMP_target_ext): Update prototype.
5080 * oacc-host.c (host_run): Added a new parameter args.
5081 * target.c (calculate_firstprivate_requirements): New function.
5082 (copy_firstprivate_data): Likewise.
5083 (gomp_target_fallback_firstprivate): Use them.
5084 (gomp_target_unshare_firstprivate): New function.
5085 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
5087 (GOMP_target): Do host fallback for all shared memory devices. Do not
5088 pass any args to plugins.
5089 (GOMP_target_ext): Introduce device-specific argument parameter args.
5090 Allow host fallback if device shares memory. Do not remap data if
5091 device has shared memory.
5092 (gomp_target_task_fn): Likewise. Also treat shared memory devices
5093 like host fallback for mappings.
5094 (GOMP_target_data): Treat shared memory devices like host fallback.
5095 (GOMP_target_data_ext): Likewise.
5096 (GOMP_target_update): Likewise.
5097 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
5098 gomp_create_target_task.
5099 (GOMP_target_enter_exit_data): Likewise.
5100 (omp_target_alloc): Treat shared memory devices like host fallback.
5101 (omp_target_free): Likewise.
5102 (omp_target_is_present): Likewise.
5103 (omp_target_memcpy): Likewise.
5104 (omp_target_memcpy_rect): Likewise.
5105 (omp_target_associate_ptr): Likewise.
5106 (gomp_load_plugin_for_device): Also load can_run.
5107 * task.c (GOMP_PLUGIN_target_task_completion): Free
5108 firstprivate_copies.
5109 (gomp_create_target_task): Accept new argument args and store it to
5111 * plugin/plugin-hsa.c: New file.
5113 2016-01-18 Tom de Vries <tom@codesourcery.com>
5115 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
5116 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
5117 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
5118 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
5119 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
5120 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
5121 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
5122 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
5123 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
5124 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
5125 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
5127 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
5129 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
5130 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
5131 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
5132 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
5133 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
5134 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
5135 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
5136 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
5138 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
5140 2016-01-15 Jakub Jelinek <jakub@redhat.com>
5142 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
5144 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
5146 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
5148 2016-01-12 James Norris <jnorris@codesourcery.com>
5150 * libgomp.texi: Updates for OpenACC.
5152 2016-01-11 Alexander Monakov <amonakov@ispras.ru>
5154 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
5156 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
5159 * testsuite/libgomp.fortran/pr66680.f90: New test.
5161 2016-01-07 Jakub Jelinek <jakub@redhat.com>
5164 * testsuite/libgomp.c/pr68960.c: New test.
5166 2016-01-06 Nathan Sidwell <nathan@acm.org>
5168 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
5169 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
5171 2016-01-04 Jakub Jelinek <jakub@redhat.com>
5173 Update copyright years.
5175 * libgomp.texi: Bump @copying's copyright year.
5177 2015-12-31 Nathan Sidwell <nathan@acm.org>
5179 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
5180 dg-additional-options syntax.
5181 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5182 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5183 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5184 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5185 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5186 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5187 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5188 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5189 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5190 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5191 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5192 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5193 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5194 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5195 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5196 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5197 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5198 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5200 2015-12-15 Ilya Verbin <ilya.verbin@intel.com>
5202 * libgomp.h (REFCOUNT_LINK): Define.
5203 (struct splay_tree_key_s): Add link_key.
5204 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
5205 Replace target address of the pointer with target address of newly
5206 mapped object in the splay tree. Set link pointer on target to the
5207 device address of the mapped object.
5208 (gomp_unmap_vars): Restore target address of the pointer in the splay
5209 tree for REFCOUNT_LINK objects after unmapping.
5210 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
5211 declare target link" objects.
5212 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
5213 "omp declare target link" objects, which were mapped for the image.
5214 (gomp_exit_data): Restore target address of the pointer in the splay
5215 tree for REFCOUNT_LINK objects after unmapping.
5216 * testsuite/libgomp.c/target-link-1.c: New file.
5218 2015-12-14 Ilya Verbin <ilya.verbin@intel.com>
5220 * libgomp.h (gomp_device_state): New enum.
5221 (struct gomp_device_descr): Replace is_initialized with state.
5222 (gomp_fini_device): Remove declaration.
5223 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
5224 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
5225 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
5226 (acc_set_device_type): Use state instead of is_initialized.
5227 (acc_set_device_num): Likewise.
5228 * target.c (resolve_device): Use state instead of is_initialized.
5229 Do not initialize finalized device.
5230 (gomp_map_vars): Do nothing if device is finalized.
5231 (gomp_unmap_vars): Likewise.
5232 (gomp_update): Likewise.
5233 (GOMP_offload_register_ver): Use state instead of is_initialized.
5234 (GOMP_offload_unregister_ver): Likewise.
5235 (gomp_init_device): Likewise.
5236 (gomp_unload_device): Likewise.
5237 (gomp_fini_device): Remove.
5238 (gomp_get_target_fn_addr): Do nothing if device is finalized.
5239 (GOMP_target): Go to host fallback if device is finalized.
5240 (GOMP_target_ext): Likewise.
5241 (gomp_exit_data): Do nothing if device is finalized.
5242 (gomp_target_task_fn): Go to host fallback if device is finalized.
5243 (gomp_target_fini): New static function.
5244 (gomp_target_init): Use state instead of is_initialized.
5245 Call gomp_target_fini at exit.
5247 2015-12-09 Tom de Vries <tom@codesourcery.com>
5249 PR tree-optimization/68716
5250 * testsuite/libgomp.c/omp-nested-2.c: New test.
5252 2015-12-02 Thomas Schwinge <thomas@codesourcery.com>
5254 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
5255 target openacc_nvidia_accel_selected.
5256 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
5257 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
5258 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
5259 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
5261 2015-12-01 Julian Brown <julian@codesourcery.com>
5262 James Norris <James_Norris@mentor.com>
5264 * oacc-parallel.c (GOACC_host_data): New function.
5265 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
5266 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
5267 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
5268 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
5269 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
5270 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
5271 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
5273 2015-11-30 James Norris <jnorris@codesourcery.com>
5274 Cesar Philippidis <cesar@codesourcery.com>
5277 * libgomp.oacc-fortran/routine-5.f90: New test.
5278 * libgomp.oacc-fortran/routine-7.f90: New test.
5279 * libgomp.oacc-fortran/routine-9.f90: New test.
5281 2015-11-30 Tom de Vries <tom@codesourcery.com>
5283 PR tree-optimization/46032
5284 * testsuite/libgomp.c/pr46032.c: New test.
5286 2015-11-27 Jakub Jelinek <jakub@redhat.com>
5289 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
5290 (gomp_create_target_task): Call it before freeing
5291 GOMP_TARGET_TASK_DATA tasks.
5294 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
5295 in between case label and OpenMP standalone directives.
5296 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
5298 2015-11-26 David Edelsohn <dje.gcc@gmail.com>
5300 * configure: Regenerate.
5302 2015-11-26 Jakub Jelinek <jakub@redhat.com>
5304 * testsuite/libgomp.c/target-35.c: New test.
5306 2015-11-22 James Norris <jnorris@codesourcery.com>
5307 Cesar Philippidis <cesar@codesourcery.com>
5309 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
5310 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5311 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5312 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5313 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5315 2015-11-20 Jakub Jelinek <jakub@redhat.com>
5318 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
5319 * testsuite/libgomp.c/reduction-12.c: Likewise.
5320 * testsuite/libgomp.c++/reduction-11.C: Likewise.
5321 * testsuite/libgomp.c++/reduction-12.C: Likewise.
5323 2015-11-19 Nathan Sidwell <nathan@codesourcery.com>
5325 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
5326 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
5327 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
5328 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
5329 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
5331 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5332 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5334 2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
5336 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
5337 worker & gang cases.
5338 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5340 2015-11-17 Cesar Philippidis <cesar@codesourcery.com>
5342 * config/nvptx/priority_queue.c: New file.
5344 2015-11-14 Jakub Jelinek <jakub@redhat.com>
5346 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
5349 2015-11-14 Jakub Jelinek <jakub@redhat.com>
5350 Aldy Hernandez <aldyh@redhat.com>
5351 Ilya Verbin <ilya.verbin@intel.com>
5353 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
5354 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
5355 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
5356 iterators or IV by chunk size.
5357 * parallel.c (gomp_resolve_num_threads): Don't assume that
5358 if thr->ts.team is non-NULL, then pool must be non-NULL.
5359 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
5360 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
5361 GOMP_PLUGIN_target_task_completion.
5362 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
5363 * Makefile.in: Regenerate.
5364 * libgomp.h: Shuffle prototypes and forward definitions around so
5365 priority queues can be defined.
5366 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
5367 (enum gomp_target_task_state): New enum.
5368 (struct gomp_target_task): Add state, tgt, task and team fields.
5369 (gomp_create_target_task): Change return type to bool, add
5371 (gomp_target_task_fn): Change return type to bool.
5372 (struct gomp_device_descr): Add async_run_func.
5373 (struct gomp_task): Remove children, next_child, prev_child,
5374 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
5376 (struct gomp_taskgroup): Remove children.
5377 Add taskgroup_queue.
5378 (struct gomp_team): Change task_queue type to a priority queue.
5379 (splay_compare): Define inline.
5380 (priority_queue_offset): New.
5381 (priority_node_to_task): New.
5382 (task_to_priority_node): New.
5383 * oacc-mem.c: Do not include splay-tree.h.
5384 * priority_queue.c: New file.
5385 * priority_queue.h: New file.
5386 * splay-tree.c: Do not include splay-tree.h.
5387 (splay_tree_foreach_internal): New.
5388 (splay_tree_foreach): New.
5389 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
5390 (splay_tree_callback): Define typedef.
5391 * target.c (splay_compare): Move to libgomp.h.
5392 (GOMP_target): Don't adjust *thr in any way around running offloaded
5394 (GOMP_target_ext): Likewise. Handle target nowait.
5395 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
5396 return value from gomp_create_target_task, if false, fallthrough
5397 as if no dependencies exist.
5398 (gomp_target_task_fn): Change return type to bool, return true
5399 if the task should have another part scheduled later. Handle
5401 (gomp_load_plugin_for_device): Initialize async_run.
5402 * task.c (gomp_init_task): Initialize children_queue.
5403 (gomp_clear_parent_in_list): New.
5404 (gomp_clear_parent_in_tree): New.
5405 (gomp_clear_parent): Handle priorities.
5406 (GOMP_task): Likewise.
5407 (priority_queue_move_task_first,
5408 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
5410 (gomp_create_target_task): Use priority queues. Change return type
5411 to bool, add state argument, return false if for async
5412 {{enter,exit} data,update} constructs no dependencies need to be
5413 waited for, handle target nowait. Set task->fn to NULL instead of
5414 gomp_target_task_fn.
5415 (verify_children_queue): Remove.
5416 (priority_list_upgrade_task): New.
5417 (priority_queue_upgrade_task): New.
5418 (verify_task_queue): Remove.
5419 (priority_list_downgrade_task): New.
5420 (priority_queue_downgrade_task): New.
5421 (gomp_task_run_pre): Use priority queues.
5422 Abstract code out to priority_queue_downgrade_task.
5423 (gomp_task_run_post_handle_dependers): Use priority queues.
5424 (gomp_task_run_post_remove_parent): Likewise.
5425 (gomp_task_run_post_remove_taskgroup): Likewise.
5426 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
5428 (GOMP_taskwait): Likewise.
5429 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
5430 priority-queue_upgrade_task.
5431 (GOMP_taskgroup_start): Use priority queues.
5432 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
5433 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
5435 * taskloop.c (GOMP_taskloop): Handle priorities.
5436 * team.c (gomp_new_team): Call priority_queue_init.
5437 (free_team): Call priority_queue_free.
5438 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
5439 team created for target nowait in implicit parallel region.
5440 (gomp_team_start): For nested check, test thr->ts.level instead of
5441 thr->ts.team != NULL.
5442 * testsuite/libgomp.c/doacross-3.c: New test.
5443 * testsuite/libgomp.c/ordered-5.c: New test.
5444 * testsuite/libgomp.c/priority.c: New test.
5445 * testsuite/libgomp.c/target-31.c: New test.
5446 * testsuite/libgomp.c/target-32.c: New test.
5447 * testsuite/libgomp.c/target-33.c: New test.
5448 * testsuite/libgomp.c/target-34.c: New test.
5450 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
5452 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
5454 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
5457 2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
5459 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
5460 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
5462 2015-11-12 James Norris <jnorris@codesourcery.com>
5463 Joseph Myers <joseph@codesourcery.com>
5465 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
5466 * oacc-parallel.c (GOACC_declare): New function.
5467 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
5468 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
5469 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
5470 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
5471 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
5473 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
5475 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
5477 2015-11-1 Nathan Sidwell <nathan@codesourcery.com>
5479 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
5480 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
5482 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
5484 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
5487 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
5489 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
5490 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
5491 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
5492 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
5493 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
5495 2015-11-06 Thomas Schwinge <thomas@codesourcery.com>
5497 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
5498 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5500 2015-11-05 Jakub Jelinek <jakub@redhat.com>
5501 Ilya Verbin <ilya.verbin@intel.com>
5503 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
5504 GOMP_loop_nonmonotonic_dynamic_start,
5505 GOMP_loop_nonmonotonic_guided_next,
5506 GOMP_loop_nonmonotonic_guided_start,
5507 GOMP_loop_ull_nonmonotonic_dynamic_next,
5508 GOMP_loop_ull_nonmonotonic_dynamic_start,
5509 GOMP_loop_ull_nonmonotonic_guided_next,
5510 GOMP_loop_ull_nonmonotonic_guided_start,
5511 GOMP_parallel_loop_nonmonotonic_dynamic,
5512 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
5513 (GOMP_target_41): Renamed to ...
5514 (GOMP_target_ext): ... this. Add num_teams and thread_limit
5516 (GOMP_target_data_41): Renamed to ...
5517 (GOMP_target_data_ext): ... this.
5518 (GOMP_target_update_41): Renamed to ...
5519 (GOMP_target_update_ext): ... this.
5520 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
5521 GOMP_target_data_ext and GOMP_target_update_ext instead of
5522 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
5523 Export GOMP_loop_nonmonotonic_dynamic_next,
5524 GOMP_loop_nonmonotonic_dynamic_start,
5525 GOMP_loop_nonmonotonic_guided_next,
5526 GOMP_loop_nonmonotonic_guided_start,
5527 GOMP_loop_ull_nonmonotonic_dynamic_next,
5528 GOMP_loop_ull_nonmonotonic_dynamic_start,
5529 GOMP_loop_ull_nonmonotonic_guided_next,
5530 GOMP_loop_ull_nonmonotonic_guided_start,
5531 GOMP_parallel_loop_nonmonotonic_dynamic and
5532 GOMP_parallel_loop_nonmonotonic_guided.
5533 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
5534 GOMP_parallel_loop_nonmonotonic_guided,
5535 GOMP_loop_nonmonotonic_dynamic_start,
5536 GOMP_loop_nonmonotonic_guided_start,
5537 GOMP_loop_nonmonotonic_dynamic_next,
5538 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
5539 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
5540 GOMP_loop_ull_nonmonotonic_guided_start,
5541 GOMP_loop_ull_nonmonotonic_dynamic_next,
5542 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
5543 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
5545 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
5546 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
5547 Use gomp_map_val function.
5548 (gomp_target_fallback_firstprivate): New static function.
5549 (GOMP_target_41): Renamed to ...
5550 (GOMP_target_ext): ... this. Add num_teams and thread_limit
5551 arguments. Move firstprivate fallback handling into a new
5553 (GOMP_target_data_41): Renamed to ...
5554 (GOMP_target_data_ext): ... this.
5555 (GOMP_target_update_41): Renamed to ...
5556 (GOMP_target_update_ext): ... this.
5557 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
5558 gomp_map_0len_lookup instead of gomp_map_lookup.
5559 (omp_target_is_present): Use gomp_map_0len_lookup instead of
5561 * testsuite/libgomp.c/target-28.c: Likewise.
5562 * testsuite/libgomp.c/monotonic-1.c: New test.
5563 * testsuite/libgomp.c/monotonic-2.c: New test.
5564 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
5565 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
5566 * testsuite/libgomp.c/pr66199-5.c: New test.
5567 * testsuite/libgomp.c/pr66199-6.c: New test.
5568 * testsuite/libgomp.c/pr66199-7.c: New test.
5569 * testsuite/libgomp.c/pr66199-8.c: New test.
5570 * testsuite/libgomp.c/pr66199-9.c: New test.
5571 * testsuite/libgomp.c/reduction-11.c: New test.
5572 * testsuite/libgomp.c/reduction-12.c: New test.
5573 * testsuite/libgomp.c/reduction-13.c: New test.
5574 * testsuite/libgomp.c/reduction-14.c: New test.
5575 * testsuite/libgomp.c/reduction-15.c: New test.
5576 * testsuite/libgomp.c/target-12.c (main): Adjust for
5577 omp_target_is_present change for one-past-last element.
5578 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
5579 the same var is both mapped and privatized.
5580 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
5581 handling of zero-length array sections.
5582 * testsuite/libgomp.c/target-28.c: New test.
5583 * testsuite/libgomp.c/target-29.c: New test.
5584 * testsuite/libgomp.c/target-30.c: New test.
5585 * testsuite/libgomp.c/target-teams-1.c: New test.
5586 * testsuite/libgomp.c++/member-6.C: New test.
5587 * testsuite/libgomp.c++/member-7.C: New test.
5588 * testsuite/libgomp.c++/monotonic-1.C: New test.
5589 * testsuite/libgomp.c++/monotonic-2.C: New test.
5590 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
5591 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
5592 * testsuite/libgomp.c++/pr66199-3.C: New test.
5593 * testsuite/libgomp.c++/pr66199-4.C: New test.
5594 * testsuite/libgomp.c++/pr66199-5.C: New test.
5595 * testsuite/libgomp.c++/pr66199-6.C: New test.
5596 * testsuite/libgomp.c++/pr66199-7.C: New test.
5597 * testsuite/libgomp.c++/pr66199-8.C: New test.
5598 * testsuite/libgomp.c++/pr66199-9.C: New test.
5599 * testsuite/libgomp.c++/reduction-11.C: New test.
5600 * testsuite/libgomp.c++/reduction-12.C: New test.
5601 * testsuite/libgomp.c++/target-13.C: New test.
5602 * testsuite/libgomp.c++/target-14.C: New test.
5603 * testsuite/libgomp.c++/target-15.C: New test.
5604 * testsuite/libgomp.c++/target-16.C: New test.
5605 * testsuite/libgomp.c++/target-17.C: New test.
5606 * testsuite/libgomp.c++/target-18.C: New test.
5607 * testsuite/libgomp.c++/target-19.C: New test.
5609 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
5611 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
5613 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5614 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5615 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5616 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5617 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
5618 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5619 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5620 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5621 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5622 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
5623 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
5624 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5625 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5626 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
5628 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
5630 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
5631 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
5632 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
5633 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
5634 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
5635 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
5636 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
5637 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
5639 2015-11-03 Nathan Sidwell <nathan@codesourcery.com>
5641 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
5642 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
5643 (GOMP_OFFLOAD_openacc_parallel): Likewise.
5644 * oacc-host.c (host_openacc_exec): Likewise.
5645 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
5647 2015-11-03 Julian Brown <julian@codesourcery.com>
5648 Thomas Schwinge <thomas@codesourcery.com>
5650 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
5651 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5652 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
5654 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
5655 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
5657 2015-11-03 James Norris <jnorris@codesourcery.com>
5659 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
5661 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
5663 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
5664 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
5665 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
5666 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
5667 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
5669 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
5671 * openacc.h (enum acc_device_t): Reformat. Ensure layout
5673 (enum acc_async_t): Reformat.
5674 (acc_on_device): Declare compatible with builtin and provide C++
5676 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
5678 2015-10-29 Thomas Schwinge <thomas@codesourcery.com>
5679 Cesar Philippidis <cesar@codesourcery.com>
5681 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
5682 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
5683 ... this. Add a description of the test at the top of the file.
5684 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
5685 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
5686 ... this. Add a description of the test at the top of the file.
5688 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
5690 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
5691 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
5692 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
5693 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
5694 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
5695 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
5697 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
5699 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
5702 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
5705 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
5707 2015-10-27 James Norris <jnorris@codesourcery.com>
5709 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
5710 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
5712 2015-10-26 Thomas Schwinge <thomas@codesourcery.com>
5714 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
5715 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
5717 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
5718 acc_device_nvidia usage.
5719 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
5720 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5721 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
5723 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
5724 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
5727 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
5731 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
5732 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
5734 2015-10-23 Tom de Vries <tom@codesourcery.com>
5737 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
5739 2015-10-20 Nathan Sidwell <nathan@codesourcery.com>
5741 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
5743 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5745 2015-10-14 Ilya Verbin <ilya.verbin@intel.com>
5746 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
5748 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
5749 to 0 when mapnum is 0.
5751 2015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
5753 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
5754 Cast to int from int32_t.
5756 2015-10-13 Jakub Jelinek <jakub@redhat.com>
5757 Aldy Hernandez <aldyh@redhat.com>
5758 Ilya Verbin <ilya.verbin@intel.com>
5760 * config/linux/affinity.c (omp_get_place_num_procs,
5761 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
5762 * config/linux/doacross.h: New file.
5763 * config/posix/affinity.c (omp_get_place_num_procs,
5764 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
5765 * config/posix/doacross.h: New file.
5766 * env.c: Include gomp-constants.h.
5767 (struct gomp_task_icv): Rename run_sched_modifier to
5768 run_sched_chunk_size.
5769 (gomp_max_task_priority_var): New variable.
5770 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
5771 (handle_omp_display_env): Change _OPENMP value from 201307 to
5772 201511. Print OMP_MAX_TASK_PRIORITY.
5773 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
5774 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
5775 chunk_size and run_sched_modifier to run_sched_chunk_size.
5776 (omp_get_max_task_priority, omp_get_initial_device,
5777 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
5778 omp_get_partition_place_nums): New functions.
5779 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
5780 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
5782 (omp_get_num_places_, omp_get_place_num_procs_,
5783 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
5784 omp_get_place_proc_ids_8_, omp_get_place_num_,
5785 omp_get_partition_num_places_, omp_get_partition_place_nums_,
5786 omp_get_partition_place_nums_8_, omp_get_initial_device_,
5787 omp_get_max_task_priority_): New functions.
5788 * libgomp_g.h (GOMP_loop_doacross_static_start,
5789 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
5790 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
5791 GOMP_loop_ull_doacross_dynamic_start,
5792 GOMP_loop_ull_doacross_guided_start,
5793 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
5794 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
5795 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
5796 GOMP_target_data_41, GOMP_target_update_41,
5797 GOMP_target_enter_exit_data): New prototypes.
5798 (GOMP_task): Add prototype argument.
5799 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
5800 (struct gomp_doacross_work_share): New type.
5801 (struct gomp_work_share): Add doacross field.
5802 (struct gomp_task_icv): Rename run_sched_modifier to
5803 run_sched_chunk_size.
5804 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
5805 GOMP_TASK_UNDEFERRED. Add comments.
5806 (struct gomp_task_depend_entry): Add comments.
5807 (struct gomp_task): Likewise.
5808 (struct gomp_taskgroup): Likewise.
5809 (struct gomp_target_task): New type.
5810 (struct gomp_team): Add comment.
5811 (gomp_get_place_proc_ids_8, gomp_doacross_init,
5812 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
5813 gomp_create_target_task, gomp_target_task_fn): New prototypes.
5814 (struct target_var_desc): New type.
5815 (struct target_mem_desc): Adjust comment. Use struct
5816 target_var_desc instead of splay_tree_key for list.
5817 (REFCOUNT_INFINITY): Define.
5818 (struct splay_tree_key_s): Remove copy_from field.
5819 (struct gomp_device_descr): Add dev2dev_func field.
5820 (enum gomp_map_vars_kind): New enum.
5821 (gomp_map_vars): Add one argument.
5822 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
5823 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
5824 omp_get_place_num_procs, omp_get_place_num_procs_,
5825 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
5826 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
5827 omp_get_place_num_, omp_get_partition_num_places,
5828 omp_get_partition_num_places_, omp_get_partition_place_nums,
5829 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
5830 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
5831 omp_target_free, omp_target_is_present, omp_target_memcpy,
5832 omp_target_memcpy_rect, omp_target_associate_ptr and
5833 omp_target_disassociate_ptr.
5834 (GOMP_4.0.2): Renamed to ...
5835 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
5836 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
5837 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
5838 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
5839 GOMP_loop_doacross_static_start, GOMP_doacross_post,
5840 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
5841 GOMP_loop_ull_doacross_guided_start,
5842 GOMP_loop_ull_doacross_runtime_start,
5843 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
5844 GOMP_doacross_ull_wait.
5845 * libgomp.texi: Document omp_get_max_task_priority.
5846 Rename modifier argument to chunk_size for omp_set_schedule and
5847 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
5848 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
5849 to run_sched_chunk_size renaming.
5850 (GOMP_loop_ordered_runtime_start): Likewise.
5851 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
5852 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
5853 GOMP_parallel_loop_runtime_start): New functions.
5854 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
5855 to run_sched_chunk_size renaming.
5856 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
5857 GOMP_loop_doacross_guided_start): New functions or aliases.
5858 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
5859 run_sched_modifier to run_sched_chunk_size renaming.
5860 (GOMP_loop_ull_ordered_runtime_start): Likewise.
5861 (gomp_loop_ull_doacross_static_start,
5862 gomp_loop_ull_doacross_dynamic_start,
5863 gomp_loop_ull_doacross_guided_start,
5864 GOMP_loop_ull_doacross_runtime_start): New functions.
5865 (GOMP_loop_ull_doacross_static_start,
5866 GOMP_loop_ull_doacross_dynamic_start,
5867 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
5868 * oacc-mem.c (acc_map_data, present_create_copy,
5869 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
5871 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
5872 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
5873 instead of false to gomp_map_vars.
5874 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
5875 * omp.h.in (omp_lock_hint_t): New type.
5876 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5877 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5878 omp_get_place_num, omp_get_partition_num_places,
5879 omp_get_partition_place_nums, omp_get_initial_device,
5880 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
5881 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
5882 omp_target_associate_ptr, omp_target_disassociate_ptr): New
5884 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
5885 (omp_lock_hint_none, omp_lock_hint_uncontended,
5886 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5887 omp_lock_hint_speculative): New parameters.
5888 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5889 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5890 omp_get_place_num, omp_get_partition_num_places,
5891 omp_get_partition_place_nums, omp_get_initial_device,
5892 omp_get_max_task_priority): New interfaces.
5893 (omp_set_schedule, omp_get_schedule): Rename modifier argument
5895 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
5896 (omp_lock_hint_none, omp_lock_hint_uncontended,
5897 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5898 omp_lock_hint_speculative): New parameters.
5899 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5900 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5901 omp_get_place_num, omp_get_partition_num_places,
5902 omp_get_partition_place_nums, omp_get_initial_device,
5903 omp_get_max_task_priority): New functions and subroutines.
5904 * ordered.c: Include stdarg.h and string.h.
5905 (MAX_COLLAPSED_BITS): Define.
5906 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
5907 gomp_doacross_ull_init, GOMP_doacross_ull_post,
5908 GOMP_doacross_ull_wait): New functions.
5909 * target.c: Include errno.h.
5910 (resolve_device): If device is not initialized, call
5911 gomp_init_device on it.
5912 (gomp_map_lookup): New function.
5913 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
5914 Don't bump refcount if REFCOUNT_INFINITY. Handle
5915 GOMP_MAP_ALWAYS_TO_P.
5916 (get_kind): Rename is_openacc argument to short_mapkind.
5917 (gomp_map_pointer): Use gomp_map_lookup.
5918 (gomp_map_fields_existing): New function.
5919 (gomp_map_vars): Rename is_openacc argument to short_mapkind
5920 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
5921 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
5922 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
5923 Adjust for tgt->list changed type and copy_from living in there.
5924 (gomp_copy_from_async): Adjust for tgt->list changed type and
5925 copy_from living in there.
5926 (gomp_unmap_vars): Likewise.
5927 (gomp_update): Likewise. Rename is_openacc argument to
5928 short_mapkind. Don't fail if object is not mapped.
5929 (gomp_load_image_to_device): Initialize refcount to
5931 (gomp_target_fallback): New function.
5932 (gomp_get_target_fn_addr): Likewise.
5933 (GOMP_target): Adjust gomp_map_vars caller, use
5934 gomp_get_target_fn_addr and gomp_target_fallback.
5935 (GOMP_target_41): New function.
5936 (gomp_target_data_fallback): New function.
5937 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
5938 (GOMP_target_data_41): New function.
5939 (GOMP_target_update): Adjust gomp_update caller.
5940 (GOMP_target_update_41): New function.
5941 (gomp_exit_data, GOMP_target_enter_exit_data,
5942 gomp_target_task_fn, omp_target_alloc, omp_target_free,
5943 omp_target_is_present, omp_target_memcpy,
5944 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
5945 omp_target_associate_ptr, omp_target_disassociate_ptr,
5946 gomp_load_plugin_for_device): New functions.
5947 * task.c: Include gomp-constants.h. Include taskloop.c
5948 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
5949 (gomp_task_handle_depend): New function.
5950 (GOMP_task): Use it. Add priority argument. Use
5951 gomp-constant.h constants instead of hardcoded numbers.
5952 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
5953 (gomp_create_target_task): New function.
5954 (verify_children_queue, verify_taskgroup_queue,
5955 verify_task_queue): New functions.
5956 (gomp_task_run_pre): Call verify_*_queue functions.
5957 If an upcoming tied task is about to leave the sibling or
5958 taskgroup queues in an invalid state, adjust appropriately.
5959 Remove taskgroup argument. Add comments.
5960 (gomp_task_run_post_handle_dependers): Add comments.
5961 (gomp_task_run_post_remove_parent): Likewise.
5962 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
5963 (GOMP_taskwait): Likewise. Add comments.
5964 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
5965 problem such that the first non parent_depends_on task does not
5966 end up at the end of the children queue.
5967 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
5968 GOMP_TASK_UNDEFERRED.
5969 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
5970 * taskloop.c: New file.
5971 * testsuite/lib/libgomp.exp
5972 (check_effective_target_offload_device_nonshared_as): New proc.
5973 * testsuite/libgomp.c/affinity-2.c: New test.
5974 * testsuite/libgomp.c/doacross-1.c: New test.
5975 * testsuite/libgomp.c/doacross-2.c: New test.
5976 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
5977 Add map clause to target.
5978 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
5979 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
5980 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
5981 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
5982 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
5984 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
5985 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
5986 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
5987 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
5988 not defined. Use those where needed.
5989 * testsuite/libgomp.c/for-4.c: New test.
5990 * testsuite/libgomp.c/for-5.c: New test.
5991 * testsuite/libgomp.c/for-6.c: New test.
5992 * testsuite/libgomp.c/linear-1.c: New test.
5993 * testsuite/libgomp.c/ordered-4.c: New test.
5994 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
5995 only allowed on the loop iterator.
5996 * testsuite/libgomp.c/pr66199-3.c: New test.
5997 * testsuite/libgomp.c/pr66199-4.c: New test.
5998 * testsuite/libgomp.c/reduction-7.c: New test.
5999 * testsuite/libgomp.c/reduction-8.c: New test.
6000 * testsuite/libgomp.c/reduction-9.c: New test.
6001 * testsuite/libgomp.c/reduction-10.c: New test.
6002 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
6004 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
6005 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
6006 * testsuite/libgomp.c/target-11.c: New test.
6007 * testsuite/libgomp.c/target-12.c: New test.
6008 * testsuite/libgomp.c/target-13.c: New test.
6009 * testsuite/libgomp.c/target-14.c: New test.
6010 * testsuite/libgomp.c/target-15.c: New test.
6011 * testsuite/libgomp.c/target-16.c: New test.
6012 * testsuite/libgomp.c/target-17.c: New test.
6013 * testsuite/libgomp.c/target-18.c: New test.
6014 * testsuite/libgomp.c/target-19.c: New test.
6015 * testsuite/libgomp.c/target-20.c: New test.
6016 * testsuite/libgomp.c/target-21.c: New test.
6017 * testsuite/libgomp.c/target-22.c: New test.
6018 * testsuite/libgomp.c/target-23.c: New test.
6019 * testsuite/libgomp.c/target-24.c: New test.
6020 * testsuite/libgomp.c/target-25.c: New test.
6021 * testsuite/libgomp.c/target-26.c: New test.
6022 * testsuite/libgomp.c/target-27.c: New test.
6023 * testsuite/libgomp.c/taskloop-1.c: New test.
6024 * testsuite/libgomp.c/taskloop-2.c: New test.
6025 * testsuite/libgomp.c/taskloop-3.c: New test.
6026 * testsuite/libgomp.c/taskloop-4.c: New test.
6027 * testsuite/libgomp.c++/ctor-13.C: New test.
6028 * testsuite/libgomp.c++/doacross-1.C: New test.
6029 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
6030 Replace offload_device with offload_device_nonshared_as.
6031 * testsuite/libgomp.c++/for-12.C: New test.
6032 * testsuite/libgomp.c++/for-13.C: New test.
6033 * testsuite/libgomp.c++/for-14.C: New test.
6034 * testsuite/libgomp.c++/linear-1.C: New test.
6035 * testsuite/libgomp.c++/member-1.C: New test.
6036 * testsuite/libgomp.c++/member-2.C: New test.
6037 * testsuite/libgomp.c++/member-3.C: New test.
6038 * testsuite/libgomp.c++/member-4.C: New test.
6039 * testsuite/libgomp.c++/member-5.C: New test.
6040 * testsuite/libgomp.c++/ordered-1.C: New test.
6041 * testsuite/libgomp.c++/reduction-5.C: New test.
6042 * testsuite/libgomp.c++/reduction-6.C: New test.
6043 * testsuite/libgomp.c++/reduction-7.C: New test.
6044 * testsuite/libgomp.c++/reduction-8.C: New test.
6045 * testsuite/libgomp.c++/reduction-9.C: New test.
6046 * testsuite/libgomp.c++/reduction-10.C: New test.
6047 * testsuite/libgomp.c++/reference-1.C: New test.
6048 * testsuite/libgomp.c++/simd14.C: New test.
6049 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
6050 * testsuite/libgomp.c++/target-5.C: New test.
6051 * testsuite/libgomp.c++/target-6.C: New test.
6052 * testsuite/libgomp.c++/target-7.C: New test.
6053 * testsuite/libgomp.c++/target-8.C: New test.
6054 * testsuite/libgomp.c++/target-9.C: New test.
6055 * testsuite/libgomp.c++/target-10.C: New test.
6056 * testsuite/libgomp.c++/target-11.C: New test.
6057 * testsuite/libgomp.c++/target-12.C: New test.
6058 * testsuite/libgomp.c++/taskloop-1.C: New test.
6059 * testsuite/libgomp.c++/taskloop-2.C: New test.
6060 * testsuite/libgomp.c++/taskloop-3.C: New test.
6061 * testsuite/libgomp.c++/taskloop-4.C: New test.
6062 * testsuite/libgomp.c++/taskloop-5.C: New test.
6063 * testsuite/libgomp.c++/taskloop-6.C: New test.
6064 * testsuite/libgomp.c++/taskloop-7.C: New test.
6065 * testsuite/libgomp.c++/taskloop-8.C: New test.
6066 * testsuite/libgomp.c++/taskloop-9.C: New test.
6067 * testsuite/libgomp.fortran/affinity1.f90: New test.
6068 * testsuite/libgomp.fortran/affinity2.f90: New test.
6070 2015-10-13 Tom de Vries <tom@codesourcery.com>
6072 PR tree-optimization/67476
6073 * testsuite/libgomp.c/autopar-3.c: New test.
6074 * testsuite/libgomp.c/autopar-4.c: New test.
6075 * testsuite/libgomp.c/autopar-5.c: New test.
6076 * testsuite/libgomp.c/autopar-6.c: New test.
6077 * testsuite/libgomp.c/autopar-7.c: New test.
6078 * testsuite/libgomp.c/autopar-8.c: New test.
6080 2015-10-12 James Norris <jnorris@codesourcery.com>
6082 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
6085 2015-10-09 David Malcolm <dmalcolm@redhat.com>
6087 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
6090 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
6092 * oacc-ptx.h: Remove file, moving its content into...
6093 * config/nvptx/fortran.c: ... here...
6094 * config/nvptx/oacc-init.c: ..., here...
6095 * config/nvptx/oacc-parallel.c: ..., and here.
6096 * config/nvptx/openacc.f90: New file.
6097 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
6098 (link_ptx): Don't link in predefined bits of PTX code.
6100 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
6101 Bernd Schmidt <bernds@codesourcery.com>
6103 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
6104 (struct targ_ptx_obj): New.
6105 (nvptx_tdata): Move earlier, change data format.
6106 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
6108 (GOMP_OFFLOAD_load_image): Adjust.
6110 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
6112 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
6113 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6114 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6115 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6116 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6117 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6118 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6119 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6120 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6121 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6122 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6123 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6124 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6125 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6126 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6127 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6128 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6129 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6130 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6131 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6132 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6133 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6134 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6135 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6136 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6137 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6138 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6139 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6140 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6141 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6142 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6143 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6144 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6145 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6146 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6147 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6148 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6149 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6150 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6151 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6152 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6153 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6154 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6155 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6156 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6157 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6158 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6159 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6160 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6161 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6162 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6163 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6164 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6165 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6166 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6167 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6168 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6169 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6170 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6171 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6172 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6173 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6174 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6176 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6178 * oacc-init.c (acc_on_device): Force optimization level.
6180 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6182 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
6183 (cuda_errlist): Delete.
6184 (cuda_error): Reimplement.
6186 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
6188 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
6190 * libgomp.map (GOACC_parallel_keyed): New.
6191 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
6193 (GOACC_parallel_keyed): New interface. Lose geometry arguments
6194 and take keyed varargs list. Adjust call to exec_func.
6195 (GOACC_parallel): Force host fallback.
6196 * libgomp_g.h (GOACC_parallel): Remove.
6197 (GOACC_parallel_keyed): Declare.
6198 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
6199 (stuct targ_gn_descriptor): Replace name field with launch field.
6200 (nvptx_exec): Lose separate geometry args, take array. Process
6201 dynamic dimensions and adjust.
6202 (struct nvptx_tdata): Replace fn_names field with fn_descs.
6203 (GOMP_OFFLOAD_load_image): Adjust for change in function table
6205 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
6207 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
6210 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
6213 * oacc-int.h (goacc_host_init): Add declaration.
6214 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
6215 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
6217 2015-09-08 Aditya Kumar <hiraditya@msn.com>
6218 Sebastian Pop <s.pop@samsung.com>
6220 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
6222 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
6223 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
6224 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
6225 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
6226 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
6228 2015-09-03 Jakub Jelinek <jakub@redhat.com>
6230 * configure.tgt: Add missing ;; in between nvptx and rtems
6233 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6235 * config/posix/pool.h (gomp_adjust_thread_attr): New.
6236 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
6237 (gomp_thread_pool_reservoir): Add priority member.
6238 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
6240 (parse_thread_pools): Likewise.
6241 * team.c (gomp_team_start): Call configuration provided
6242 gomp_adjust_thread_attr(). Destroy thread attributes if
6244 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
6246 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6248 * config/posix/pool.h: New.
6249 * config/rtems/pool.h: Likewise.
6250 * config/rtems/proc.c: Likewise.
6251 * libgomp.h (gomp_thread_destructor): Declare.
6252 * team.c: Include configuration provided "pool.h".
6253 (gomp_get_thread_pool): Define in configuration.
6254 (gomp_team_end): Call configuration defined
6255 gomp_release_thread_pool().
6257 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6259 * config/rtems/bar.c: New.
6260 * config/rtems/bar.h: Likewise.
6261 * config/rtems/mutex.c: Likewise.
6262 * config/rtems/mutex.h: Likewise.
6263 * config/rtems/sem.c: Likewise.
6264 * config/rtems/sem.h: Likewise.
6265 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
6266 <sys/lock.h> header file.
6267 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
6268 supported by Newlib.
6269 * configure: Regenerate.
6271 2015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6273 * team.c (gomp_new_thread_pool): Delete and move content to ...
6274 (gomp_get_thread_pool): ... new function. Allocate and
6275 initialize thread pool on demand.
6276 (get_last_team): Use gomp_get_thread_pool().
6277 (gomp_team_start): Delete thread pool initialization.
6279 2015-09-03 Tom de Vries <tom@codesourcery.com>
6281 PR tree-optimization/65637
6282 * testsuite/libgomp.c/autopar-2.c: New test.
6284 2015-08-29 Tom de Vries <tom@codesourcery.com>
6286 PR tree-optimization/46193
6287 * testsuite/libgomp.c/pr46193.c: New test.
6289 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
6292 * libgomp.map: Add 4.0.2 version.
6293 * target.c (offload_image_descr): Add version field.
6294 (gomp_load_image_to_device): Add version argument. Adjust plugin
6295 call. Improve load mismatch diagnostic.
6296 (gomp_unload_image_from_device): Add version argument. Adjust plugin
6298 (GOMP_offload_regster): Make stub function, move bulk to ...
6299 (GOMP_offload_register_ver): ... here. Process version argument.
6300 (GOMP_offload_unregister): Make stub function, move bulk to ...
6301 (GOMP_offload_unregister_ver): ... here. Process version argument.
6302 (gomp_init_device): Process version field.
6303 (gomp_unload_device): Process version field.
6304 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
6305 macros. Check plugin version.
6306 * libgomp.h (gomp_device_descr): Add version function field. Adjust
6307 loader and unloader types.
6308 * oacc-host.c: Include gomp-constants.h.
6309 (host_version): New.
6310 (host_load_image, host_unload_image): Adjust.
6311 (host_dispatch): Add host_version.
6312 * plugin/plugin-nvptx.c: Include gomp-constants.h.
6313 (GOMP_OFFLOAD_version): New.
6314 (GOMP_OFFLOAD_load_image): Add version arg and check it.
6315 (GOMP_OFFLOAD_unload_image): Likewise.
6316 * plugin/plugin-host.c: Include gomp-constants.h.
6317 (GOMP_OFFLOAD_version): New.
6318 (GOMP_OFFLOAD_load_image): Add version arg.
6319 (GOMP_OFFLOAD_unload_image): Likewise.
6321 2015-08-24 Tom de Vries <tom@codesourcery.com>
6323 PR tree-optimization/65468
6324 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
6326 2015-08-24 Tom de Vries <tom@codesourcery.com>
6328 PR tree-optimization/65468
6329 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
6331 2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
6335 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
6336 (gomp_iter_guided_next): Idem.
6337 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
6338 (gomp_iter_ull_guided_next): Idem.
6339 * config/linux/wait.h (do_spin): Idem.
6341 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6343 * libgomp-plugin.h (enum offload_target_type): Remove
6344 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
6345 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
6346 * openacc.h (enum acc_device_t): Likewise.
6347 * openacc_lib.h: Likewise.
6348 * oacc-init.c (name_of_acc_device_t): Don't handle it.
6349 (acc_on_device): Just use __builtin_acc_on_device.
6350 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
6351 of acc_on_device builtin.
6352 * plugin/plugin-host.h: Remove file.
6353 * plugin/plugin-host.c: Likewise, but salvage some content into...
6354 * oacc-host.c: ... this file.
6355 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
6356 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
6357 * Makefile.in: Regenerate.
6358 * configure: Likewise.
6359 * testsuite/lib/libgomp.exp
6360 (check_effective_target_openacc_host_nonshm_selected): Remove.
6361 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
6362 ACC_DEVICE_TYPE=host_nonshm.
6363 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6364 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6365 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6366 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6367 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6368 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6370 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6371 Jakub Jelinek <jakub@redhat.com>
6373 * config/nvptx/affinity.c: New file.
6374 * config/nvptx/alloc.c: Likewise.
6375 * config/nvptx/bar.c: Likewise.
6376 * config/nvptx/barrier.c: Likewise.
6377 * config/nvptx/critical.c: Likewise.
6378 * config/nvptx/env.c: Likewise.
6379 * config/nvptx/error.c: Likewise.
6380 * config/nvptx/fortran.c: Likewise.
6381 * config/nvptx/iter.c: Likewise.
6382 * config/nvptx/iter_ull.c: Likewise.
6383 * config/nvptx/libgomp-plugin.c: Likewise.
6384 * config/nvptx/lock.c: Likewise.
6385 * config/nvptx/loop.c: Likewise.
6386 * config/nvptx/loop_ull.c: Likewise.
6387 * config/nvptx/mutex.c: Likewise.
6388 * config/nvptx/oacc-async.c: Likewise.
6389 * config/nvptx/oacc-cuda.c: Likewise.
6390 * config/nvptx/oacc-host.c: Likewise.
6391 * config/nvptx/oacc-init.c: Likewise.
6392 * config/nvptx/oacc-mem.c: Likewise.
6393 * config/nvptx/oacc-parallel.c: Likewise.
6394 * config/nvptx/oacc-plugin.c: Likewise.
6395 * config/nvptx/omp-lock.h: Likewise.
6396 * config/nvptx/ordered.c: Likewise.
6397 * config/nvptx/parallel.c: Likewise.
6398 * config/nvptx/proc.c: Likewise.
6399 * config/nvptx/ptrlock.c: Likewise.
6400 * config/nvptx/sections.c: Likewise.
6401 * config/nvptx/sem.c: Likewise.
6402 * config/nvptx/single.c: Likewise.
6403 * config/nvptx/splay-tree.c: Likewise.
6404 * config/nvptx/target.c: Likewise.
6405 * config/nvptx/task.c: Likewise.
6406 * config/nvptx/team.c: Likewise.
6407 * config/nvptx/time.c: Likewise.
6408 * config/nvptx/work.c: Likewise.
6409 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
6410 * configure: Regenerate.
6411 * configure.tgt (config_path): Set to "nvptx" for target
6414 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6416 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
6418 2015-08-03 Nathan Sidwell <nathan@codesourcery.com>
6420 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
6421 (cuda_errlist): Constify.
6422 (errmsg): Move into ...
6423 (cuda_error): ... here. Make smaller.
6424 (_XSTR, _STR): Delete.
6425 (cuda_synames): Delete.
6426 (verify_device_library): Delete.
6427 (nvptx_init): Don't call it.
6429 2015-07-28 Tom de Vries <tom@codesourcery.com>
6431 * testsuite/libgomp.c/uns-outer-4.c: New test.
6433 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
6435 * testsuite/libgomp.c/pr66714.c: New test.
6437 2015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
6440 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
6441 (fib_ref): New function.
6442 (fib): Correct corner cases in the recursion.
6443 (main): Replace the non-simd loop with fib_ref call.
6444 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
6446 (fibonacci): Lower the parameter N to 30. Correct accordingly check
6447 for the last array element value. Replace the non-simd loop with
6448 fib_ref call. Remove redundant b_ref array. Remove the comparison
6449 of the last array element with according Fibonacci sequence element.
6450 (fib): Correct corner cases in the recursion.
6452 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
6454 * target.c (gomp_offload_image_to_device): Rename to ...
6455 (gomp_load_image_to_device): ... here.
6456 (GOMP_offload_register): Adjust call.
6457 (gomp_init_device): Likewise.
6458 (gomp_unload_image_from_device): New. Broken out of ...
6459 (GOMP_offload_unregister): ... here. Call it.
6460 (gomp_unload_device): New.
6461 * libgomp.h (gomp_unload_device): Declare.
6462 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
6465 2015-07-20 Nathan Sidwell <nathan@codesourcery.com>
6467 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
6469 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
6471 (goacc_waits): Move !num_waits handling to ...
6472 (GOACC_wait): ... here, the only caller that might have zero waits.
6474 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
6475 (struct ptx_image_data): Move earlier, add fns field.
6476 (struct ptx_device): Add images and image_lock fields.
6477 (ptx_images, ptx_image_lock): Delete.
6478 (nvptx_open_device): Initialize images and image_lock fields.
6479 (nvptx_close_device): Destroy image_lock.
6480 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
6481 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
6484 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
6486 * target.c (GOMP_offload_register): Use int for device type arg.
6487 (GOMP_offload_unregister): Likewise.
6489 * target.c (struct_offload_image_descr): Constify host_table.
6490 (gomp_offload_image_to_device): Likewise.
6491 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
6493 * libgomp.h (gomp_device_descr): Constify target data arguments.
6494 * target.c (struct offload_image_descr): Constify target_data.
6495 (gomp_offload_image_to_device): Likewise.
6496 (GOMP_offload_register): Likewise.
6497 (GOMP_offload_unrefister): Likewise.
6498 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
6499 GOMP_OFFLOAD_unload_image): Constify target data.
6500 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
6501 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
6503 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
6505 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
6506 Workaround driver library const error.
6507 (struct nvptx_tdata, nvptx_tdata_t): New.
6508 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
6511 2015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
6513 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
6514 of EPS parameter from integer to real.
6515 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
6516 type of EPS parameter from integer to real.
6518 2015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
6520 * team.c (get_last_team): New.
6521 (gomp_new_team): Recycle last non-nested team if possible.
6522 (gomp_team_end): Move team work share list free lock destruction
6524 (free_team): ... here.
6526 2015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
6528 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
6529 and ref from int to double. Replaced their comparison with
6530 an inequality of their difference and EPS.
6531 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
6532 comparison of pri and a reference number with an inequality of their
6534 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
6535 the comparison of sum and sum_ref with an inequality of their
6537 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
6538 the comparison of pri and a reference number with an inequality of
6539 their difference and EPS.
6541 2015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
6543 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
6544 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
6545 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
6546 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
6547 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
6548 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
6549 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
6550 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
6551 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
6552 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
6553 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
6554 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
6555 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
6557 (vec_mult): Likewise. Add #pragma omp taskwait.
6558 (main): Adjust caller.
6559 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
6560 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
6561 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
6562 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
6563 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
6564 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
6565 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
6566 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
6567 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
6568 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
6569 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
6570 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
6571 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
6572 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
6573 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
6574 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
6575 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
6576 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
6577 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
6578 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
6579 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
6580 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
6581 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
6582 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
6583 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
6584 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
6585 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
6586 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
6587 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
6588 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
6589 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
6590 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
6591 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
6592 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
6593 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
6594 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
6595 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
6596 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
6597 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
6598 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
6599 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
6600 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
6601 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
6602 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
6603 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
6604 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
6605 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
6606 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
6607 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
6608 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
6609 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
6610 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
6611 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
6612 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
6613 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
6614 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
6615 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
6616 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
6617 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
6618 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
6619 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
6620 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
6621 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
6622 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
6623 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
6624 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
6625 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
6626 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
6627 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
6628 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
6629 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
6630 (vec_mult): Add !$omp taskwait.
6631 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
6632 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
6633 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
6634 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
6635 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
6636 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
6637 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
6638 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
6639 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
6640 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
6641 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
6642 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
6643 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
6644 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
6645 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
6646 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
6647 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
6648 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
6649 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
6650 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
6651 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
6652 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
6653 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
6654 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
6655 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
6656 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
6657 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
6658 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
6659 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
6660 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
6661 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
6662 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
6663 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
6664 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
6665 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
6666 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
6667 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
6668 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
6669 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
6670 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
6671 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
6672 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
6673 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
6674 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
6675 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
6676 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
6677 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
6678 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
6679 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
6680 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
6681 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
6682 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
6683 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
6684 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
6685 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
6686 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
6687 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
6688 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
6689 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
6690 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
6691 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
6692 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
6693 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
6694 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
6695 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
6696 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
6697 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
6699 2015-07-10 Tom de Vries <tom@codesourcery.com>
6701 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
6702 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
6704 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
6707 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
6708 in a 64-bit configuration.
6709 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
6710 offloading testing if no such device is available.
6711 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6712 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6714 2015-07-08 Tom de Vries <tom@codesourcery.com>
6716 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
6718 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6720 2015-07-07 Tom de Vries <tom@codesourcery.com>
6722 PR tree-optimization/66642
6723 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
6724 iteration count case.
6725 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
6726 function, factor out of ...
6727 (main): ... here. Test low iteration count case.
6729 2015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
6731 * libgomp.h (gomp_thread_pool): Comment last_team field.
6733 2015-07-02 Uros Bizjak <ubizjak@gmail.com>
6735 * testsuite/libgomp.c++/pr66702-1.C: Require
6736 vect_simd_clones effective target.
6737 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
6739 2015-06-30 Tom de Vries <tom@codesourcery.com>
6741 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
6742 already set. Use DEFAULT_CFLAGS in dg-runtest.
6743 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
6746 2015-06-30 Tom de Vries <tom@codesourcery.com>
6748 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
6749 already set. Use DEFAULT_CFLAGS in dg-runtest.
6750 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
6751 * testsuite/libgomp.c++/pr64824.C: Same.
6752 * testsuite/libgomp.c++/pr64868.C: Same.
6753 * testsuite/libgomp.c++/pr66199-1.C: Same.
6754 * testsuite/libgomp.c++/pr66199-2.C: Same.
6755 * testsuite/libgomp.c++/target-2.C: Same.
6756 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
6757 -std=<standard> option.
6758 * testsuite/libgomp.c++/udr-11.C: Same.
6759 * testsuite/libgomp.c++/udr-12.C: Same.
6760 * testsuite/libgomp.c++/udr-13.C: Same.
6761 * testsuite/libgomp.c++/udr-14.C: Same.
6762 * testsuite/libgomp.c++/udr-15.C: Same.
6763 * testsuite/libgomp.c++/udr-16.C: Same.
6764 * testsuite/libgomp.c++/udr-17.C: Same.
6765 * testsuite/libgomp.c++/udr-18.C: Same.
6766 * testsuite/libgomp.c++/udr-19.C: Same.
6767 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
6768 * testsuite/libgomp.c++/simd-1.C: Same.
6769 * testsuite/libgomp.c++/simd-2.C: Same.
6770 * testsuite/libgomp.c++/simd-3.C: Same.
6771 * testsuite/libgomp.c++/simd-4.C: Same.
6772 * testsuite/libgomp.c++/simd-5.C: Same.
6773 * testsuite/libgomp.c++/simd-6.C: Same.
6774 * testsuite/libgomp.c++/simd-7.C: Same.
6775 * testsuite/libgomp.c++/simd-8.C: Same.
6776 * testsuite/libgomp.c++/simd-9.C: Same.
6777 * testsuite/libgomp.c++/simd10.C: Same.
6778 * testsuite/libgomp.c++/simd11.C: Same.
6779 * testsuite/libgomp.c++/simd12.C: Same.
6780 * testsuite/libgomp.c++/simd13.C: Same.
6782 2015-06-30 Jakub Jelinek <jakub@redhat.com>
6785 * testsuite/libgomp.c++/pr66702-1.C: New test.
6786 * testsuite/libgomp.c++/pr66702-2.C: New test.
6788 2015-06-30 Tom de Vries <tom@codesourcery.com>
6790 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
6791 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
6792 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
6793 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
6795 2015-06-30 Tom de Vries <tom@codesourcery.com>
6797 PR tree-optimization/66652
6798 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
6799 using restrict pointers.
6800 (main): Add arguments to calls to f.
6801 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6803 2015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
6805 * configure.ac: Fix check for header <sys/sysctl.h>.
6806 * configure: Regenerate.
6807 * config.h.in: Likewise.
6809 2015-06-23 Tom de Vries <tom@codesourcery.com>
6811 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
6813 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
6815 2015-06-19 Thomas Schwinge <thomas@codesourcery.com>
6817 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
6821 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
6822 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6824 2015-06-15 Tom de Vries <tom@codesourcery.com>
6826 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
6827 dg-additional-options for any remaining options.
6828 * testsuite/libgomp.c/atomic-2.c: Same.
6829 * testsuite/libgomp.c/atomic-4.c: Same.
6830 * testsuite/libgomp.c/atomic-5.c: Same.
6831 * testsuite/libgomp.c/atomic-6.c: Same.
6832 * testsuite/libgomp.c/autopar-1.c: Same.
6833 * testsuite/libgomp.c/copyin-1.c: Same.
6834 * testsuite/libgomp.c/copyin-2.c: Same.
6835 * testsuite/libgomp.c/copyin-3.c: Same.
6836 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
6837 * testsuite/libgomp.c/nestedfn-5.c: Same.
6838 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
6839 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
6840 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
6841 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6842 * testsuite/libgomp.c/pr32362-1.c: Same.
6843 * testsuite/libgomp.c/pr32362-2.c: Same.
6844 * testsuite/libgomp.c/pr32362-3.c: Same.
6845 * testsuite/libgomp.c/pr39591-1.c: Same.
6846 * testsuite/libgomp.c/pr39591-2.c: Same.
6847 * testsuite/libgomp.c/pr39591-3.c: Same.
6848 * testsuite/libgomp.c/pr58392.c: Same.
6849 * testsuite/libgomp.c/pr58756.c: Same.
6850 * testsuite/libgomp.c/simd-1.c: Same.
6851 * testsuite/libgomp.c/simd-10.c: Same.
6852 * testsuite/libgomp.c/simd-11.c: Same.
6853 * testsuite/libgomp.c/simd-12.c: Same.
6854 * testsuite/libgomp.c/simd-13.c: Same.
6855 * testsuite/libgomp.c/simd-14.c: Same.
6856 * testsuite/libgomp.c/simd-15.c: Same.
6857 * testsuite/libgomp.c/simd-2.c: Same.
6858 * testsuite/libgomp.c/simd-3.c: Same.
6859 * testsuite/libgomp.c/simd-4.c: Same.
6860 * testsuite/libgomp.c/simd-5.c: Same.
6861 * testsuite/libgomp.c/simd-6.c: Same.
6862 * testsuite/libgomp.c/simd-7.c: Same.
6863 * testsuite/libgomp.c/simd-8.c: Same.
6864 * testsuite/libgomp.c/simd-9.c: Same.
6866 2015-06-15 Tom de Vries <tom@codesourcery.com>
6868 * testsuite/libgomp.c/pr35625.c: Fix typo.
6870 2015-06-15 Tom de Vries <tom@codesourcery.com>
6872 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
6874 * testsuite/libgomp.c/atomic-3.c: Same.
6875 * testsuite/libgomp.c/debug-1.c: Same.
6876 * testsuite/libgomp.c/nqueens-1.c: Same.
6877 * testsuite/libgomp.c/pr26171.c: Same.
6878 * testsuite/libgomp.c/pr48591.c: Same.
6879 * testsuite/libgomp.c/pr64824.c: Same.
6880 * testsuite/libgomp.c/pr64868.c: Same.
6881 * testsuite/libgomp.c/pr66133.c: Same.
6882 * testsuite/libgomp.c/pr66199-1.c: Same.
6883 * testsuite/libgomp.c/pr66199-2.c: Same.
6884 * testsuite/libgomp.c/target-8.c: Same.
6886 2015-06-15 Tom de Vries <tom@codesourcery.com>
6888 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
6890 * testsuite/libgomp.c/for-1.c: Same.
6891 * testsuite/libgomp.c/for-2.c: Same.
6892 * testsuite/libgomp.c/for-3.c: Same.
6893 * testsuite/libgomp.c/pr35625.c: Same.
6894 * testsuite/libgomp.c/pr39154.c: Same.
6895 * testsuite/libgomp.c/simd-16.c: Same.
6896 * testsuite/libgomp.c/simd-17.c: Same.
6898 2015-06-13 Tom de Vries <tom@codesourcery.com>
6900 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
6902 2015-06-13 Tom de Vries <tom@codesourcery.com>
6904 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
6905 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6906 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
6908 (main): Use N instead of hardcoded constants.
6910 2015-06-05 Tom de Vries <tom@codesourcery.com>
6912 merge from gomp4 branch:
6913 2015-05-28 Tom de Vries <tom@codesourcery.com>
6915 PR tree-optimization/65443
6916 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
6917 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
6918 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
6920 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6922 * testsuite/libgomp.graphite/bounds.c: Adjust for
6923 cleanup-tree-dump removal.
6924 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
6925 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6926 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6927 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
6928 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6929 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6930 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6931 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6932 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6933 * testsuite/libgomp.graphite/pr41118.c: Likewise.
6935 2015-05-28 Uros Bizjak <ubizjak@gmail.com>
6937 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
6938 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
6939 (futex_wake) [!__x86_64__]: Ditto.
6941 2015-05-28 Julian Brown <julian@codesourcery.com>
6943 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
6944 function comment. Only call gomp_fatal if new argument is true.
6945 (acc_dev_num_out_of_range): New function.
6946 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
6947 acc_dev_num_out_of_range as appropriate.
6948 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
6949 (acc_get_device_num, acc_set_device_num): Update calls to
6951 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
6954 2015-05-28 Julian Brown <julian@codesourcery.com>
6957 * oacc-init.c (plugin/plugin-host.h): Include.
6958 (acc_on_device): Check whether we're in an offloaded region for
6960 plugin. Don't use __builtin_acc_on_device.
6961 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
6962 nonshm_exec flag in thread-local data.
6963 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
6964 data for host_nonshm plugin.
6965 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
6966 for host_nonshm plugin.
6967 * plugin/plugin-host.h: New.
6969 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
6971 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
6973 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
6975 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
6977 (FUTEX_PRIVATE_FLAG): Remove L suffix.
6978 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
6981 2015-05-27 Uros Bizjak <ubizjak@gmail.com>
6983 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
6985 2015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
6987 * target.c (gomp_map_pointer): New function abstracting out
6988 GOMP_MAP_POINTER handling.
6989 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
6992 2015-05-19 Jakub Jelinek <jakub@redhat.com>
6995 * testsuite/libgomp.c/pr66199-1.c: New test.
6996 * testsuite/libgomp.c/pr66199-2.c: New test.
6997 * testsuite/libgomp.c++/pr66199-1.C: New test.
6998 * testsuite/libgomp.c++/pr66199-2.C: New test.
6999 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
7000 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
7002 2015-05-19 Julian Brown <julian@codesourcery.com>
7004 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
7007 2015-05-13 Jakub Jelinek <jakub@redhat.com>
7010 * testsuite/libgomp.c/pr66133.c: New test.
7012 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
7014 * Makefile.in: Regenerated with automake-1.11.6.
7015 * aclocal.m4: Likewise.
7016 * config.h.in: Likewise.
7017 * configure: Likewise.
7018 * testsuite/Makefile.in: Likewise.
7020 2015-05-08 Jason Merrill <jason@redhat.com>
7022 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
7025 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
7027 2015-05-06 Julian Brown <julian@codesourcery.com>
7029 * oacc-init.c (acc_device_lock): Add explanatory comment.
7030 (resolve_device): Add comment about locking requirement.
7031 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
7032 gomp_init_device and gomp_fini_device calls.
7033 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
7034 (acc_get_device_num, acc_set_device_num): Add locking around
7035 resolve_device and gomp_init_device calls.
7037 2015-05-06 Julian Brown <julian@codesourcery.com>
7039 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
7040 goacc_thread_lock on error paths.
7041 * oacc-mem.c (lookup_host): Remove locking from function. Note
7042 locking requirement for caller in function comment.
7043 (lookup_dev): Likewise.
7044 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
7045 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
7046 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
7049 2015-05-05 Thomas Schwinge <thomas@codesourcery.com>
7053 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
7054 don't expect "0x" prefix for "%p" format specifier, don't expect
7055 "(nil)" for NULL pointer.
7056 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7057 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7058 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7059 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7060 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7061 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7062 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7063 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7064 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7065 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7066 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7067 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7068 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7069 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7070 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7071 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7072 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7073 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7074 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7075 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7076 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7077 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7078 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7079 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7080 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7081 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7082 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7083 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7084 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
7085 accurately specify what we're looking for.
7086 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7087 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7088 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7089 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7090 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7092 2015-04-30 James Norris <jnorris@codesourcery.com>
7095 * testsuite/lib/libgomp.exp
7096 (check_effective_target_openacc_host_selected)
7097 (check_effective_target_openacc_host_nonshm_selected): New
7099 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
7101 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7102 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7103 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7104 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7105 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7106 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7107 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7108 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7109 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7110 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7111 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7112 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7113 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7114 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7115 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7116 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7117 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7118 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7119 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7120 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7121 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7122 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7123 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7124 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7125 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7126 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7127 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7128 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7129 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7130 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7131 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7132 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7133 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7134 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7135 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7136 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7137 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7138 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7139 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7140 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7141 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7142 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7143 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7145 2015-04-08 Julian Brown <julian@codesourcery.com>
7147 * libgomp.h (target_mem_desc: Remove mem_map field.
7148 (acc_dispatch_t): Remove open_device_func, close_device_func,
7149 get_device_num_func, set_device_num_func, target_data members.
7150 Change create_thread_data_func argument to device number instead of
7152 * oacc-async.c (assert.h): Include.
7153 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
7154 (acc_wait_all, acc_wait_all_async): Use current host thread's
7155 active device, not base_dev.
7156 * oacc-cuda.c (acc_get_current_cuda_device)
7157 (acc_get_current_cuda_context, acc_get_cuda_stream)
7158 (acc_set_cuda_stream): Likewise.
7159 * oacc-host.c (host_dispatch): Don't set open_device_func,
7160 close_device_func, get_device_num_func or set_device_num_func.
7161 * oacc-init.c (base_dev, init_key): Remove.
7162 (cached_base_dev): New.
7163 (name_of_acc_device_t): New.
7164 (acc_init_1): Initialise default-numbered device, not zeroth.
7165 (acc_shutdown_1): Close all devices of a given type.
7166 (goacc_destroy_thread): Don't use base_dev.
7167 (lazy_open, lazy_init, lazy_init_and_open): Remove.
7168 (goacc_attach_host_thread_to_device): New.
7169 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
7170 (acc_get_num_devices): Don't use base_dev.
7171 (acc_set_device_type): Reimplement.
7172 (acc_get_device_type): Don't use base_dev.
7173 (acc_get_device_num): Tweak logic.
7174 (acc_set_device_num): Likewise.
7175 (acc_on_device): Use acc_get_device_type.
7176 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
7177 (goacc_lazy_initialize): Reimplement with acc_init and
7178 goacc_attach_host_thread_to_device.
7179 * oacc-int.h (goacc_thread): Add base_dev field.
7180 (base_dev): Remove extern declaration.
7181 (goacc_attach_host_thread_to_device): Add prototype.
7182 * oacc-mem.c (acc_malloc): Use current thread's device instead of
7184 (acc_free): Likewise.
7185 (acc_memcpy_to_device): Likewise.
7186 (acc_memcpy_from_device): Likewise.
7187 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
7188 goacc_lazy_initialize (throughout).
7189 (GOACC_parallel): Use tgt_offset to locate target functions.
7190 * target.c (gomp_map_vars): Don't set tgt->mem_map.
7191 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
7192 (gomp_load_plugin_for_device): Remove open_device, close_device,
7193 get_device_num, set_device_num openacc hook initialisation. Don't set
7194 openacc.target_data.
7195 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
7196 (GOMP_OFFLOAD_openacc_close_device)
7197 (GOMP_OFFLOAD_openacc_get_device_num)
7198 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
7199 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
7201 * plugin/plugin-nvptx.c (ptx_inited): Remove.
7202 (instantiated_devices, ptx_dev_lock): New.
7203 (struct ptx_image_data): New.
7204 (ptx_devices, ptx_images, ptx_image_lock): New.
7205 (fini_streams_for_device): Reorder cuStreamDestroy call.
7206 (nvptx_get_num_devices): Remove forward declaration.
7207 (nvptx_init): Change return type to bool.
7208 (nvptx_fini): Remove.
7209 (nvptx_attach_host_thread_to_device): New.
7210 (nvptx_open_device): Return struct ptx_device* instead of void*.
7211 (nvptx_close_device): Change argument type to struct ptx_device*,
7212 return type to void.
7213 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
7214 (kernel_target_data, kernel_host_table): Remove static globals.
7215 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
7216 (GOMP_OFFLOAD_init_device): Reimplement.
7217 (GOMP_OFFLOAD_fini_device): Likewise.
7218 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
7219 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
7220 (GOMP_OFFLOAD_host2dev): Use ORD argument.
7221 (GOMP_OFFLOAD_openacc_open_device)
7222 (GOMP_OFFLOAD_openacc_close_device)
7223 (GOMP_OFFLOAD_openacc_set_device_num)
7224 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
7225 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
7229 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
7231 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
7233 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
7234 * libgomp.h (struct gomp_memory_mapping): Remove.
7235 (struct target_mem_desc): Change type of mem_map from
7236 gomp_memory_mapping * to splay_tree_s *.
7237 (struct gomp_device_descr): Remove register_image_func, get_table_func.
7238 Add load_image_func, unload_image_func.
7239 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
7240 Remove offload_regions_registered.
7241 (gomp_init_tables): Remove.
7242 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7244 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
7245 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
7246 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
7247 offload_regions_registered.
7248 Initialize load_image_func, unload_image_func, mem_map.root.
7249 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
7250 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
7251 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
7252 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
7253 gomp_memory_mapping *. Use dev's lock and splay_tree.
7254 (lookup_dev): Use dev's lock.
7255 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
7256 (acc_is_present): Likewise.
7257 (acc_map_data): Likewise.
7258 (acc_unmap_data): Likewise. Use dev's lock.
7259 (present_create_copy): Likewise.
7260 (delete_copyout): Pass dev to lookup_host instead of mem_map.
7261 (update_dev_host): Likewise.
7262 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
7263 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
7264 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
7265 (GOMP_OFFLOAD_get_table): Remove
7266 (GOMP_OFFLOAD_load_image): New function.
7267 (GOMP_OFFLOAD_unload_image): New function.
7268 * target.c (register_lock): New mutex for offload image registration.
7269 (num_devices): Do not guard with PLUGIN_SUPPORT.
7270 (gomp_realloc_unlock): New static function.
7271 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
7273 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
7274 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
7275 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
7277 (gomp_unmap_vars): Likewise.
7278 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
7279 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
7280 (gomp_offload_image_to_device): New static function.
7281 (GOMP_offload_register): Add mutex lock.
7282 Call gomp_offload_image_to_device for all initialized devices.
7283 Replace gomp_realloc with gomp_realloc_unlock.
7284 (GOMP_offload_unregister): New function.
7285 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
7286 get_table_func from the plugin with calls to init_device_func and
7287 gomp_offload_image_to_device.
7288 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7290 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
7291 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
7292 (GOMP_target_data): Do not call gomp_init_tables.
7293 (GOMP_target_update): Likewise. Remove argument from gomp_update.
7294 (gomp_load_plugin_for_device): Replace register_image and get_table
7295 with load_image and unload_image in DLSYM ().
7296 (gomp_register_images_for_device): Remove function.
7297 (gomp_target_init): Do not initialize current_device.mem_map.*,
7298 current_device.offload_regions_registered.
7299 Remove call to gomp_register_images_for_device.
7300 Do not free offload_images and num_offload_images.
7302 2015-03-30 Jakub Jelinek <jakub@redhat.com>
7305 * testsuite/libgomp.fortran/pr65597.f90: New test.
7307 2015-03-27 Tom de Vries <tom@codesourcery.com>
7310 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
7311 (init, check): New function.
7312 (foo): Change return type to void.
7313 (main): Call init and check.
7315 2015-03-27 Tom de Vries <tom@codesourcery.com>
7318 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
7319 (foo): Use M for non-inner loops to scale down test-case.
7321 2015-03-25 Kai Tietz <ktietz@redhat.com>
7324 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
7325 (GOACC_data_start): Likewise.
7326 * target.c (gomp_map_vars): Likewise.
7328 2015-03-21 John David Anglin <danglin@gcc.gnu.org>
7330 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
7333 2015-03-19 Jakub Jelinek <jakub@redhat.com>
7335 * testsuite/libgomp.c/target-10.c: New test.
7336 * testsuite/libgomp.c++/target-4.C: New test.
7338 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
7340 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
7341 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
7343 2015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
7345 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
7346 * configure.ac (*-*-rtems*): Assume Pthread is supported.
7347 (pthread.h): Check for this header file.
7348 * configure: Regenerate.
7350 2015-02-25 Tom de Vries <tom@codesourcery.com>
7352 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
7353 (check_reduction_op, check_reduction_macro, max, min):
7355 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
7357 (main): Use new functions.
7359 2015-02-18 Ilya Tocar <ilya.tocar@intel.com>
7361 * target.c (gomp_load_plugin_for_device): Use const char * instead of
7362 char * for variables holding dlerror return values.
7365 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7367 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
7369 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7370 Cesar Philippidis <cesar@codesourcery.com>
7372 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
7373 GOACC_ctaid, and GOACC_nctaid routines.
7375 2015-02-11 Jakub Jelinek <jakub@redhat.com>
7378 * testsuite/libgomp.c/atomic-18.c: New test.
7379 * testsuite/libgomp.c++/atomic-16.C: New test.
7381 2015-02-04 Jakub Jelinek <jakub@redhat.com>
7385 * testsuite/libgomp.c/pr64824.c: New test.
7386 * testsuite/libgomp.c/pr64868.c: New test.
7387 * testsuite/libgomp.c++/pr64824.C: New test.
7388 * testsuite/libgomp.c++/pr64868.C: New test.
7390 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
7393 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
7394 Link with -lpthread.
7395 * config/aix/plugin-suffix.h: Delete.
7397 2015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
7400 * configure.tgt (*-*-aix*): Use config_path "aix posix".
7401 (*-*-darwin*): Use config_path "bsd darwin posix".
7402 (*-*-hpux*): Use config_path "hpux posix".
7403 * target.c: Add include of plugin-suffix.h and use
7404 SONAME_SUFFIX macro.
7405 * config/aix/plugin-suffix.h: New file.
7406 * config/darwin/plugin-suffix.h: New file.
7407 * config/hpux/plugin-suffix.h: New file.
7408 * config/posix/plugin-suffix.h: New file.
7410 2015-01-23 Jakub Jelinek <jakub@redhat.com>
7413 * libgomp.c/pr64734.c: New test.
7415 2015-01-23 Tom de Vries <tom@codesourcery.com>
7418 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
7420 2015-01-23 Tom de Vries <tom@codesourcery.com>
7423 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
7426 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
7429 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
7430 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
7431 formal parameter. Update all users.
7432 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
7433 Document unused formal parameter.
7435 2015-01-16 Thomas Schwinge <thomas@codesourcery.com>
7437 * oacc-parallel.c: Don't include <alloca.h>.
7438 (GOACC_parallel): Use gomp_alloca instead of alloca.
7440 2015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
7442 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
7444 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
7445 James Norris <jnorris@codesourcery.com>
7446 Tom de Vries <tom@codesourcery.com>
7447 Julian Brown <julian@codesourcery.com>
7448 Cesar Philippidis <cesar@codesourcery.com>
7449 Nathan Sidwell <nathan@codesourcery.com>
7450 Tobias Burnus <burnus@net-b.de>
7452 * Makefile.am (search_path): Add $(top_srcdir)/../include.
7453 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
7454 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
7455 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
7456 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
7457 Include $(top_srcdir)/plugin/Makefrag.am.
7458 (nodist_libsubinclude_HEADERS): Add openacc.h.
7459 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
7460 openacc.f90, openacc.mod, openacc_kinds.mod.
7461 (omp_lib.mod): Generalize into...
7462 (%.mod): ... this new rule.
7463 (openacc_kinds.mod, openacc.mod): New rules.
7464 * plugin/configfrag.ac: New file.
7465 * configure.ac: Move plugin/offloading support into it. Include
7466 it. Instantiate testsuite/libgomp-test-support.pt.exp.
7467 * plugin/Makefrag.am: New file.
7468 * testsuite/Makefile.am (OFFLOAD_TARGETS)
7469 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
7471 (libgomp-test-support.exp): New rule.
7472 (all-local): Depend on it.
7473 * Makefile.in: Regenerate.
7474 * testsuite/Makefile.in: Regenerate.
7475 * config.h.in: Likewise.
7476 * configure: Likewise.
7477 * configure.tgt: Harden shell syntax.
7478 * env.c: Include "oacc-int.h".
7479 (parse_acc_device_type): New function.
7480 (gomp_debug_var, goacc_device_type, goacc_device_num): New
7482 (initialize_env): Initialize those. Call
7483 goacc_runtime_initialize.
7484 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
7485 (gomp_fatal): Call gomp_vfatal.
7486 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
7487 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
7488 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
7489 (splay_tree_node, splay_tree, splay_tree_key)
7490 (struct target_mem_desc, struct splay_tree_key_s)
7491 (struct gomp_memory_mapping, struct acc_dispatch_t)
7492 (struct gomp_device_descr, gomp_acc_insert_pointer)
7493 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
7494 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
7495 (gomp_free_memmap, gomp_fini_device): New declarations.
7496 (gomp_vdebug, gomp_debug): New macros.
7497 Include "splay-tree.h".
7498 * libgomp.map (OACC_2.0): New symbol version. Use for
7499 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
7500 acc_set_device_type_h_, acc_get_device_type,
7501 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
7502 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
7503 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
7504 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
7505 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
7506 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
7507 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
7508 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
7509 acc_copyin_array_h_, acc_present_or_copyin,
7510 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
7511 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
7512 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
7513 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
7514 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
7515 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
7516 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
7517 acc_update_device, acc_update_device_32_h_,
7518 acc_update_device_64_h_, acc_update_device_array_h_,
7519 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
7520 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
7521 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
7522 acc_is_present_64_h_, acc_is_present_array_h_,
7523 acc_memcpy_to_device, acc_memcpy_from_device,
7524 acc_get_current_cuda_device, acc_get_current_cuda_context,
7525 acc_get_cuda_stream, acc_set_cuda_stream.
7526 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
7527 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
7528 GOACC_update, GOACC_wait, GOACC_get_thread_num,
7529 GOACC_get_num_threads.
7530 (GOMP_PLUGIN_1.0): New symbol version. Use for
7531 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
7532 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
7533 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
7534 GOMP_PLUGIN_acc_thread.
7535 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
7536 environment variable.
7537 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
7538 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
7539 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
7540 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
7541 (splay_tree_remove): New declarations.
7542 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
7543 (splay_tree_remove, splay_tree_lookup): Move into...
7544 * splay-tree.c: ... this new file.
7545 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
7546 (splay_tree_node, splay_tree, splay_tree_key)
7547 (struct target_mem_desc, struct splay_tree_key_s)
7548 (struct gomp_device_descr): Don't declare.
7549 (num_devices_openmp): New variable.
7550 (gomp_get_num_devices ): Use it.
7551 (gomp_init_targets_once): New function.
7552 (gomp_get_num_devices ): Use it.
7553 (get_kind, gomp_copy_from_async, gomp_free_memmap)
7554 (gomp_fini_device, gomp_register_image_for_device): New functions.
7555 (gomp_map_vars): Add devaddrs parameter.
7556 (gomp_update): Add mm parameter.
7557 (gomp_init_device): Move most of it into...
7558 (gomp_init_tables): ... this new function.
7559 (gomp_register_images_for_device): Remove function.
7560 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
7561 Make them hidden instead of static.
7562 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
7563 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
7564 (GOMP_target_end_data, GOMP_target_update)
7565 (gomp_load_plugin_for_device, gomp_target_init): Update for
7567 * oacc-async.c: New file.
7568 * oacc-cuda.c: Likewise.
7569 * oacc-host.c: Likewise.
7570 * oacc-init.c: Likewise.
7571 * oacc-int.h: Likewise.
7572 * oacc-mem.c: Likewise.
7573 * oacc-parallel.c: Likewise.
7574 * oacc-plugin.c: Likewise.
7575 * oacc-plugin.h: Likewise.
7576 * oacc-ptx.h: Likewise.
7577 * openacc.f90: Likewise.
7578 * openacc.h: Likewise.
7579 * openacc_lib.h: Likewise.
7580 * plugin/plugin-host.c: Likewise.
7581 * plugin/plugin-nvptx.c: Likewise.
7582 * libgomp-plugin.c: Likewise.
7583 * libgomp-plugin.h: Likewise.
7584 * libgomp_target.h: Remove file after merging content into the
7585 former file. Update all users.
7586 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
7587 (offload_targets_s, offload_targets_s_openacc): New variables.
7588 (check_effective_target_openacc_nvidia_accel_present)
7589 (check_effective_target_openacc_nvidia_accel_selected): New
7591 (libgomp_init): Update for OpenACC changes.
7592 * testsuite/libgomp-test-support.exp.in: New file.
7593 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
7594 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7595 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7596 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
7597 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
7598 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7599 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
7600 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7601 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
7602 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
7603 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
7604 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7605 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
7606 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7607 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
7608 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
7609 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
7610 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
7611 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
7612 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
7613 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
7614 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7615 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
7616 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7617 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7618 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7619 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7620 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7621 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7622 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7623 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7624 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
7625 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
7626 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
7627 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
7628 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7629 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7630 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7631 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
7632 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
7633 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
7634 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
7635 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7636 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7637 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7638 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
7639 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7640 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7641 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7642 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7643 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7644 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
7645 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7646 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7647 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7648 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7649 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7650 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7651 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7652 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
7653 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7654 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
7655 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7656 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7657 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7658 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
7659 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
7660 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7661 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7662 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7663 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
7664 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7665 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7666 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7667 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
7668 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
7669 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7670 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7671 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
7672 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
7673 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
7674 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
7675 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7676 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7677 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7678 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
7679 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
7680 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7681 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7682 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
7683 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
7684 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
7685 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
7686 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7687 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7688 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7689 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7690 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
7691 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7692 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7693 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
7694 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
7695 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
7696 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7697 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
7698 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
7699 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
7700 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
7701 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
7702 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7703 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
7704 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
7705 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7706 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
7707 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
7708 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7709 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
7710 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
7711 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
7712 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
7713 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
7714 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
7715 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7716 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
7717 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
7718 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
7719 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
7720 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
7721 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
7722 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
7723 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
7724 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
7725 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7726 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
7727 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
7728 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7729 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7730 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7731 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7732 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
7734 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
7735 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
7736 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
7737 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
7738 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
7739 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7740 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7741 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7742 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7743 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7744 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
7745 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
7746 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
7747 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
7748 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7749 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
7750 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
7751 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
7752 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
7753 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
7754 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
7755 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7756 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7757 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
7758 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7759 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
7760 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7761 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7762 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7763 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7764 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7765 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7766 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7767 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7768 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
7769 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
7770 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
7771 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
7772 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
7773 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
7774 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
7775 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
7776 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
7777 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
7778 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
7779 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7780 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
7781 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
7782 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
7783 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7784 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7785 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7786 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
7787 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7788 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
7789 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
7790 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
7791 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
7792 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
7793 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
7795 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
7796 Julian Brown <julian@codesourcery.com>
7797 David Malcolm <dmalcolm@redhat.com>
7799 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
7800 to "GNU Offloading and Multi Processing Runtime Library". Change
7802 * configure: Regenerate.
7803 * libgomp.texi: Update.
7805 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
7807 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
7809 * configure: Regenerate.
7811 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
7812 "intelmic" in $offload_targets.
7814 2015-01-05 Jakub Jelinek <jakub@redhat.com>
7816 Update copyright years.
7818 * libgomp.texi: Bump @copying's copyright year.
7820 2014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7822 * testsuite/lib/libgomp.exp: Load target-utils.exp.
7823 Move load of target-supportes.exp earlier.
7825 2014-12-10 Ilya Verbin <ilya.verbin@intel.com>
7827 * testsuite/libgomp.c/target-9.c: New test.
7829 2014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
7831 * config.h.in: Regenerate.
7832 * configure: Regenerate.
7833 * configure.ac: Add GCC_CHECK_EMUTLS.
7834 * libgomp.h: Add check for USE_EMUTLS: this case
7835 is equal to HAVE_TLS.
7838 2014-12-03 Uros Bizjak <ubizjak@gmail.com>
7840 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
7842 2014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
7843 Ilya Verbin <ilya.verbin@intel.com>
7845 * testsuite/libgomp.c/target-critical-1.c: New test.
7847 2014-11-26 Jakub Jelinek <jakub@redhat.com>
7849 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
7850 to dg-options unless expensive testing is on.
7851 (TESTITERS): Define to N if not defined.
7852 (main): Use TESTITERS instead of N.
7853 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
7854 dg-additional-options depending on whether expensive testing is on.
7855 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
7856 Decrease N to 100000 and CHUNKSZ to 10000.
7858 2014-11-24 Jakub Jelinek <jakub@redhat.com>
7861 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
7862 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
7864 2014-11-21 Steve Ellcey <sellcey@imgtec.com>
7866 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
7868 2014-11-21 H.J. Lu <hongjiu.lu@intel.com>
7871 * configure: Regenerated.
7873 2014-11-19 Uros Bizjak <ubizjak@gmail.com>
7875 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
7876 vect_simd_clones effective target.
7877 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7879 2014-11-14 Jakub Jelinek <jakub@redhat.com>
7881 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
7882 of 32 as block_size.
7883 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
7884 instead of 32 as block_size.
7886 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7887 Ilya Verbin <ilya.verbin@intel.com>
7889 * Makefile.in: Regenerate.
7890 * configure: Regenerate.
7891 * configure.ac: Set up offload_additional_options,
7892 offload_additional_lib_paths and offload_targets.
7893 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
7894 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
7895 * testsuite/Makefile.in: Regenerate.
7896 * testsuite/lib/libgomp.exp (libgomp_init): Append
7897 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
7898 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
7899 build directory to LD_LIBRARY_PATH for intelmic offload targets.
7901 2014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7902 Ilya Verbin <ilya.verbin@intel.com>
7903 Kirill Yukhin <kirill.yukhin@intel.com>
7904 Ilya Tocar <ilya.tocar@intel.com>
7906 * testsuite/lib/libgomp.exp
7907 (check_effective_target_offload_device): New.
7908 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
7909 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
7910 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
7911 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
7912 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
7913 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
7914 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
7915 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
7916 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
7917 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
7918 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
7919 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
7920 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
7921 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
7922 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
7923 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
7924 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
7925 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
7926 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
7927 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
7928 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
7929 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
7930 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
7931 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
7932 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
7933 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
7934 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
7935 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
7936 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
7937 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
7938 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
7939 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
7940 * testsuite/libgomp.c/target-7.c: Fix test.
7941 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
7942 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
7943 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
7944 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
7945 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
7946 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
7947 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
7948 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
7949 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
7950 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
7951 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
7952 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
7953 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
7954 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
7955 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
7956 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
7957 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
7958 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
7959 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7960 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
7961 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
7962 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
7963 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
7964 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
7965 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
7966 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
7967 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
7968 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
7969 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
7970 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
7971 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
7973 2014-11-13 Jakub Jelinek <jakub@redhat.com>
7974 Ilya Verbin <ilya.verbin@intel.com>
7975 Thomas Schwinge <thomas@codesourcery.com>
7976 Andrey Turetskiy <andrey.turetskiy@intel.com>
7978 * libgomp.map (GOMP_4.0.1): New symbol version.
7979 Add GOMP_offload_register.
7980 * libgomp_target.h: New file.
7981 * splay-tree.h: New file.
7982 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
7983 (gomp_target_init): New forward declaration.
7984 (gomp_is_initialized): New static variable.
7985 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
7986 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
7988 (offload_images, num_offload_images, devices, num_devices): New static
7990 (splay_compare): New static function.
7991 (struct gomp_device_descr): New structure.
7992 (gomp_get_num_devices): Call gomp_target_init.
7993 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
7994 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
7995 (GOMP_offload_register): New function.
7996 (GOMP_target): Arrange for host callback to be performed in a separate
7997 initial thread and contention group, inheriting ICVs from
7998 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
7999 Add device initialization and lookup for target function in splay tree.
8000 (GOMP_target_data): Add device initialization and call gomp_map_vars.
8001 (GOMP_target_end_data): Call gomp_unmap_vars.
8002 (GOMP_target_update): Add device initialization and call gomp_update.
8003 (gomp_load_plugin_for_device, gomp_register_images_for_device)
8004 (gomp_target_init): New static functions.
8006 2014-11-13 Bernd Schmidt <bernds@codesourcery.com>
8007 Thomas Schwinge <thomas@codesourcery.com>
8008 Ilya Verbin <ilya.verbin@intel.com>
8009 Andrey Turetskiy <andrey.turetskiy@intel.com>
8011 * config.h.in: Regenerate.
8012 * configure: Regenerate.
8013 * configure.ac: Check for libdl, required for plugin support.
8014 (PLUGIN_SUPPORT): Define if plugins are supported.
8015 (enable_offload_targets): Support Intel MIC targets.
8016 (OFFLOAD_TARGETS): List of target names suitable for offloading.
8018 2014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8021 * configure: Regenerate.
8023 2014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8025 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
8027 2014-10-06 Marek Polacek <polacek@redhat.com>
8029 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
8030 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
8031 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
8032 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8034 2014-10-06 Marek Polacek <polacek@redhat.com>
8036 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
8037 * testsuite/libgomp.c/nqueens-1.c: Likewise.
8038 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8039 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8040 * testsuite/libgomp.c/pr36802-2.c: Likewise.
8041 * testsuite/libgomp.c/pr36802-3.c: Likewise.
8042 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
8043 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8044 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
8045 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
8046 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
8047 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
8048 * testsuite/libgomp.c/omp-single-1.c: Likewise.
8049 * testsuite/libgomp.c/omp-single-2.c: Likewise.
8050 * testsuite/libgomp.c/omp_matvec.c: Likewise.
8051 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
8052 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
8053 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
8056 2014-10-03 Jakub Jelinek <jakub@redhat.com>
8059 * testsuite/libgomp.c/pr61200.c: New test.
8061 2014-09-18 Jakub Jelinek <jakub@redhat.com>
8064 * testsuite/libgomp.c++/pr63248.C: New test.
8066 2014-08-04 Jakub Jelinek <jakub@redhat.com>
8068 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
8069 is not zero, but taskgroup->children is NULL and there are
8070 any task->children, schedule those instead of waiting.
8071 * testsuite/libgomp.c/depend-6.c: New test.
8072 * testsuite/libgomp.c/depend-7.c: New test.
8073 * testsuite/libgomp.c/depend-8.c: New test.
8074 * testsuite/libgomp.c/depend-9.c: New test.
8075 * testsuite/libgomp.c/depend-10.c: New test.
8077 2014-08-01 Jakub Jelinek <jakub@redhat.com>
8079 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
8080 (struct gomp_taskwait): New type.
8081 (struct gomp_task): Add taskwait and parent_depends_on, remove
8082 in_taskwait and taskwait_sem fields.
8083 (gomp_finish_task): Don't destroy taskwait_sem.
8084 * task.c (gomp_init_task): Don't init in_taskwait, instead init
8085 taskwait and parent_depends_on.
8086 (GOMP_task): For if (0) tasks with depend clause that depend on
8087 earlier tasks don't defer them, instead call
8088 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
8089 Initialize redundant_out field, for redundant out entries just
8090 move them at the end of linked list instead of removing them
8091 completely, and set redundant_out flag instead of redundant.
8092 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
8094 (gomp_task_run_post_handle_dependers): If parent is in
8095 gomp_task_maybe_wait_for_dependencies and newly runnable task
8096 is not parent_depends_on, queue it in parent->children linked
8097 list after all runnable tasks with parent_depends_on set.
8098 Adjust for addition of taskwait indirection.
8099 (gomp_task_run_post_remove_parent): If parent is in
8100 gomp_task_maybe_wait_for_dependencies and task to be removed
8101 is parent_depends_on, decrement n_depend and if needed awake
8102 parent. Adjust for addition of taskwait indirection.
8103 (GOMP_taskwait): Adjust for addition of taskwait indirection.
8104 (gomp_task_maybe_wait_for_dependencies): New function.
8105 * testsuite/libgomp.c/depend-5.c: New test.
8107 2014-07-13 Tobias Burnus <burnus@net-b.de>
8109 * testsuite/libgomp.fortran/pr34020.f90: Make compile
8110 with TS 18508/Fortran 2015.
8112 2014-07-06 Marek Polacek <polacek@redhat.com>
8115 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
8117 2014-07-03 Jakub Jelinek <jakub@redhat.com>
8119 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
8120 matches regex $lang_source_re, add $lang_include_flags to options.
8121 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
8122 * testsuite/libgomp.c++/c++.exp: Likewise.
8123 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
8124 and lang_include_flags instead of adding -fintrinsic-modules-path= to
8126 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
8128 2014-07-03 Thomas Schwinge <thomas@codesourcery.com>
8130 * testsuite/libgomp.fortran/fortran.exp: Explain
8131 gfortran-dg-runtest usage.
8133 2014-06-25 Jakub Jelinek <jakub@redhat.com>
8135 * testsuite/libgomp.fortran/simd5.f90: New test.
8136 * testsuite/libgomp.fortran/simd6.f90: New test.
8137 * testsuite/libgomp.fortran/simd7.f90: New test.
8139 2014-06-24 Jakub Jelinek <jakub@redhat.com>
8141 * testsuite/libgomp.c/for-2.c: Define SC to static for
8142 #pragma omp for simd testing.
8143 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
8144 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
8146 * testsuite/libgomp.c/simd-14.c: New test.
8147 * testsuite/libgomp.c/simd-15.c: New test.
8148 * testsuite/libgomp.c/simd-16.c: New test.
8149 * testsuite/libgomp.c/simd-17.c: New test.
8150 * testsuite/libgomp.c++/for-10.C: Define SC to static for
8151 #pragma omp for simd testing.
8152 * testsuite/libgomp.c++/simd10.C: New test.
8153 * testsuite/libgomp.c++/simd11.C: New test.
8154 * testsuite/libgomp.c++/simd12.C: New test.
8155 * testsuite/libgomp.c++/simd13.C: New test.
8157 * testsuite/libgomp.fortran/aligned1.f03: New test.
8158 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
8159 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
8160 tasks with !$omp parallel !$omp single.
8161 * testsuite/libgomp.fortran/target8.f90: New test.
8162 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
8163 not to use trim in the combiner, instead call elemental function.
8164 (fn): New elemental function.
8165 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
8167 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
8169 * testsuite/libgomp.fortran/udr12.f90: New test.
8170 * testsuite/libgomp.fortran/udr13.f90: New test.
8171 * testsuite/libgomp.fortran/udr14.f90: New test.
8172 * testsuite/libgomp.fortran/udr15.f90: New test.
8174 2014-06-18 Jakub Jelinek <jakub@redhat.com>
8176 * omp_lib.f90.in (openmp_version): Set to 201307.
8177 * omp_lib.h.in (openmp_version): Likewise.
8178 * testsuite/libgomp.c/target-8.c: New test.
8179 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
8180 and inbranch clauses.
8181 * testsuite/libgomp.fortran/depend-3.f90: New test.
8182 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
8184 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8185 * testsuite/libgomp.fortran/target1.f90: New test.
8186 * testsuite/libgomp.fortran/target2.f90: New test.
8187 * testsuite/libgomp.fortran/target3.f90: New test.
8188 * testsuite/libgomp.fortran/target4.f90: New test.
8189 * testsuite/libgomp.fortran/target5.f90: New test.
8190 * testsuite/libgomp.fortran/target6.f90: New test.
8191 * testsuite/libgomp.fortran/target7.f90: New test.
8193 2014-06-10 Jakub Jelinek <jakub@redhat.com>
8196 * testsuite/libgomp.fortran/allocatable9.f90: New test.
8197 * testsuite/libgomp.fortran/allocatable10.f90: New test.
8198 * testsuite/libgomp.fortran/allocatable11.f90: New test.
8199 * testsuite/libgomp.fortran/allocatable12.f90: New test.
8200 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
8201 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
8202 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
8203 * testsuite/libgomp.fortran/associate1.f90: New test.
8204 * testsuite/libgomp.fortran/associate2.f90: New test.
8205 * testsuite/libgomp.fortran/procptr1.f90: New test.
8207 2014-06-06 Jakub Jelinek <jakub@redhat.com>
8209 * testsuite/libgomp.fortran/simd1.f90: New test.
8210 * testsuite/libgomp.fortran/udr1.f90: New test.
8211 * testsuite/libgomp.fortran/udr2.f90: New test.
8212 * testsuite/libgomp.fortran/udr3.f90: New test.
8213 * testsuite/libgomp.fortran/udr4.f90: New test.
8214 * testsuite/libgomp.fortran/udr5.f90: New test.
8215 * testsuite/libgomp.fortran/udr6.f90: New test.
8216 * testsuite/libgomp.fortran/udr7.f90: New test.
8217 * testsuite/libgomp.fortran/udr8.f90: New test.
8218 * testsuite/libgomp.fortran/udr9.f90: New test.
8219 * testsuite/libgomp.fortran/udr10.f90: New test.
8220 * testsuite/libgomp.fortran/udr11.f90: New test.
8222 2014-05-27 Uros Bizjak <ubizjak@gmail.com>
8224 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
8225 vect_simd_clones effective target.
8226 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
8228 2014-05-21 Jakub Jelinek <jakub@redhat.com>
8231 * testsuite/libgomp.c++/simd-9.C: New test.
8233 2014-05-18 Uros Bizjak <ubizjak@gmail.com>
8235 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
8236 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
8237 texts according to their @menu entry positions.
8239 2014-05-11 Jakub Jelinek <jakub@redhat.com>
8241 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
8242 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
8243 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
8244 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
8245 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
8246 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
8247 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
8248 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
8249 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
8250 * testsuite/libgomp.fortran/depend-1.f90: New test.
8251 * testsuite/libgomp.fortran/depend-2.f90: New test.
8252 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
8253 * testsuite/libgomp.fortran/simd1.f90: New test.
8254 * testsuite/libgomp.fortran/simd2.f90: New test.
8255 * testsuite/libgomp.fortran/simd3.f90: New test.
8256 * testsuite/libgomp.fortran/simd4.f90: New test.
8257 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
8259 2014-05-02 Jakub Jelinek <jakub@redhat.com>
8261 * testsuite/libgomp.c/simd-10.c: New test.
8262 * testsuite/libgomp.c/simd-11.c: New test.
8263 * testsuite/libgomp.c/simd-12.c: New test.
8264 * testsuite/libgomp.c/simd-13.c: New test.
8266 2014-04-24 Jakub Jelinek <jakub@redhat.com>
8268 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
8269 atomic type clauses in any order and optional comma in between.
8270 * testsuite/libgomp.c++/atomic-15.C: Likewise.
8271 * testsuite/libgomp.c/atomic-17.c: Likewise.
8273 * testsuite/libgomp.c/simd-7.c: New test.
8274 * testsuite/libgomp.c/simd-8.c: New test.
8275 * testsuite/libgomp.c/simd-9.c: New test.
8276 * testsuite/libgomp.c/loop-16.c: New test.
8278 2014-04-02 Richard Henderson <rth@redhat.com>
8280 * config/linux/futex.h (futex_wait): Get error value from errno.
8281 (futex_wake): Likewise.
8283 2014-03-25 Jakub Jelinek <jakub@redhat.com>
8286 * testsuite/libgomp.c++/udr-11.C: New test.
8287 * testsuite/libgomp.c++/udr-12.C: New test.
8288 * testsuite/libgomp.c++/udr-13.C: New test.
8289 * testsuite/libgomp.c++/udr-14.C: New test.
8290 * testsuite/libgomp.c++/udr-15.C: New test.
8291 * testsuite/libgomp.c++/udr-16.C: New test.
8292 * testsuite/libgomp.c++/udr-17.C: New test.
8293 * testsuite/libgomp.c++/udr-18.C: New test.
8294 * testsuite/libgomp.c++/udr-19.C: New test.
8296 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8298 Update copyright years
8300 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8302 * hashtab.h: Use the standard form for the copyright notice.
8304 2014-01-02 Tobias Burnus <burnus@net-b.de>
8306 * libgomp.texi: Bump @copying's copyright year.
8308 2013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
8310 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
8311 alloca () with __builtin_alloca ().
8312 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
8313 * testsuite/libgomp.c/lock-3.c: Likewise.
8314 * testsuite/libgomp.c/pr48591.c: Likewise.
8316 2013-12-17 Jakub Jelinek <jakub@redhat.com>
8319 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
8322 2013-12-16 Jakub Jelinek <jakub@redhat.com>
8325 * testsuite/libgomp.c/pr58756.c: New test.
8327 2013-12-12 Jakub Jelinek <jakub@redhat.com>
8330 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
8333 2013-11-07 Thomas Schwinge <thomas@codesourcery.com>
8335 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
8337 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
8338 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
8339 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
8340 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
8343 * libgomp_g.h: Include <stddef.h> for size_t.
8345 * libgomp.spec.in: Update comment about libgomp's dependencies.
8346 * configure.ac: Likewise.
8347 * configure: Regenerate.
8349 2013-10-16 Tobias Burnus <burnus@net-b.de>
8351 * libgomp.texi: (Runtime Library Routines): Update references for
8352 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
8353 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
8354 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
8355 (Environment Variables): Update references for OpenMP 4.0. Add
8356 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
8357 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
8360 2013-10-14 Jakub Jelinek <jakub@redhat.com>
8362 * env.c (parse_bind_var): Initialize value to avoid
8363 (false positive) warning.
8365 2013-10-12 Jakub Jelinek <jakub@redhat.com>
8368 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
8370 (gomp_init_num_threads): Move i variable declaration into
8371 #ifdef CPU_ALLOC_SIZE block.
8372 * config/linux/affinity.c (gomp_affinity_init_level): Test
8373 gomp_places_list_len == 0 rather than gomp_places_list == 0
8374 when checking for topology reading error.
8375 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
8376 * env.c (parse_affinity): Add ignore argument, if true, don't populate
8377 gomp_places_list, only parse env var and always return false.
8378 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
8379 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
8380 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
8381 and either of these variables were parsed correctly into a places
8384 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
8385 Jakub Jelinek <jakub@redhat.com>
8387 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
8388 of 5 loopfn matches.
8389 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8390 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8391 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8392 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8393 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8394 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8395 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8396 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8398 2013-10-11 Thomas Schwinge <thomas@codesourcery.com>
8400 * Makefile.am (omp_lib.mod): Streamline rule.
8401 * Makefile.in: Regenerate.
8403 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
8406 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
8407 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8408 * testsuite/libgomp.fortran/lib2.f: Likewise.
8409 * testsuite/libgomp.fortran/lib3.f: Likewise.
8411 * configure.ac: Typo fix.
8412 * configure: Regenerate.
8414 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
8415 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8417 * omp.h.in: Don't touch the user's namespace.
8419 2013-10-11 Jakub Jelinek <jakub@redhat.com>
8420 Tobias Burnus <burnus@net-b.de>
8421 Richard Henderson <rth@redhat.com>
8423 * target.c: New file.
8424 * Makefile.am (libgomp_la_SOURCES): Add target.c.
8425 * Makefile.in: Regenerated.
8426 * libgomp_g.h (GOMP_task): Add depend argument.
8427 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
8428 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
8429 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
8430 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
8431 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
8432 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
8433 GOMP_taskgroup_start, GOMP_taskgroup_end,
8434 GOMP_parallel_sections): New prototypes.
8435 * fortran.c (omp_is_initial_device): Add ialias_redirect.
8436 (omp_is_initial_device_): New function.
8437 (ULP, STR1, STR2, ialias_redirect): Removed.
8438 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
8439 omp_set_default_device_8_, omp_get_default_device_,
8440 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
8442 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
8443 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
8444 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
8446 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
8447 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
8448 omp_set_default_device, omp_set_default_device_,
8449 omp_set_default_device_8_, omp_get_default_device,
8450 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
8451 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
8452 omp_get_team_num_): Export @@OMP_4.0.
8453 * team.c (struct gomp_thread_start_data): Add place field.
8454 (gomp_thread_start): Clear thr->thread_pool and
8455 thr->task before returning. Use gomp_team_barrier_wait_final
8456 instead of gomp_team_barrier_wait. Initialize thr->place.
8457 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
8458 team_cancelled and task_queued_count fields.
8459 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
8460 before calling pthread_exit.
8461 (gomp_free_thread): No longer static. Use
8462 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
8463 (gomp_team_start): Add flags argument. Set
8464 thr->thread_pool->threads_busy to nthreads immediately after creating
8465 new pool. Use gomp_managed_threads_lock instead of
8466 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
8467 (gomp_team_end): Use gomp_managed_threads_lock instead of
8468 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
8469 of gomp_team_barrier_wait. If team->team_cancelled, call
8470 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
8471 rather than thr->ts.work_share.
8472 (initialize_team): Don't call gomp_sem_init here.
8473 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
8475 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
8476 * env.c (gomp_global_icv): Add default_device_var, target_data and
8477 bind_var initializers.
8478 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
8479 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
8480 gomp_places_list_len): New variables.
8481 (parse_bind_var, parse_one_place, parse_places_var): New functions.
8482 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
8484 (gomp_cancel_var): New global variable.
8485 (parse_int): New function.
8486 (handle_omp_display_env): New function.
8487 (initialize_env): Use it. Initialize default_device_var.
8488 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
8489 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
8490 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
8491 been successfully parsed (and call gomp_init_affinity in that case).
8492 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8493 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8494 omp_get_team_num, omp_is_initial_device): New functions.
8495 * libgomp.h: Include stdlib.h.
8496 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
8498 (struct target_mem_desc): Forward declare.
8499 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
8500 and thread_limit_var fields.
8501 (gomp_get_num_devices): New prototype.
8502 (gomp_cancel_var): New extern decl.
8503 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
8504 team_cancelled and task_queued_count fields. Add comments about
8505 task_{,queued_,running_}count.
8506 (gomp_cancel_kind): New enum.
8507 (gomp_work_share_end_cancel): New prototype.
8508 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
8509 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
8511 (struct gomp_taskgroup): New type.
8512 (struct gomp_task_depend_entry,
8513 struct gomp_dependers_vec): New types.
8514 (gomp_finish_task): Free depend_hash if non-NULL.
8515 (struct gomp_team_state): Add place_partition_off
8516 and place_partition_len fields.
8517 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
8518 gomp_places_list_len): New extern decls.
8519 (struct gomp_thread): Add place field.
8520 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
8521 (gomp_init_thread_affinity): Add place argument.
8522 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8523 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8524 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8525 gomp_affinity_init_level, gomp_affinity_print_place): New
8527 (gomp_team_start): Add flags argument.
8528 (gomp_thread_limit_var, gomp_remaining_threads_count,
8529 gomp_remaining_threads_lock): Remove.
8530 (gomp_managed_threads_lock): New variable.
8531 (struct gomp_thread_pool): Add threads_busy field.
8532 (gomp_free_thread): New prototype.
8533 * task.c: Include hashtab.h.
8534 (hash_entry_type): New typedef.
8535 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
8536 (gomp_init_task): Clear dependers, depend_hash, depend_count,
8537 copy_ctors_done and taskgroup fields.
8538 (GOMP_task): Add depend argument, handle depend clauses. If
8539 gomp_team_barrier_cancelled or if it's taskgroup has been
8540 cancelled, don't queue or start new tasks. Set copy_ctors_done
8541 field if needed. Initialize taskgroup field. If copy_ctors_done
8542 and already cancelled, don't discard the task. If taskgroup is
8543 non-NULL, enqueue the task into taskgroup queue. Increment
8544 num_children field in taskgroup. Increment task_queued_count.
8545 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
8546 gomp_task_run_post_remove_taskgroup): New inline functions.
8547 (gomp_task_run_post_handle_depend_hash,
8548 gomp_task_run_post_handle_dependers,
8549 gomp_task_run_post_handle_depend): New functions.
8550 (GOMP_taskwait): Use them. If more than one new tasks
8551 have been queued, wake other threads if needed.
8552 (gomp_barrier_handle_tasks): Likewise. If
8553 gomp_team_barrier_cancelled, don't start any new tasks, just free
8555 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
8557 (omp_proc_bind_kind, omp_proc_bind_false,
8558 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
8559 omp_proc_bind_spread): New params.
8560 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8561 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8562 omp_get_team_num, omp_is_initial_device): New interfaces.
8563 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
8564 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
8565 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
8566 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
8567 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
8568 useless use omp_lib_kinds.
8569 * omp.h.in (omp_proc_bind_t): New typedef.
8570 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8571 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8572 omp_get_team_num, omp_is_initial_device): New prototypes.
8573 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
8574 through to gomp_team_start.
8575 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
8576 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
8577 Adjust gomp_parallel_loop_start callers.
8578 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
8579 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
8580 GOMP_loop_end_cancel): New functions.
8581 (GOMP_parallel_end): Add ialias_redirect.
8582 * hashtab.h: New file.
8583 * libgomp.texi (Environment Variables): Minor cleanup,
8584 update section refs to OpenMP 4.0rc2.
8585 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
8586 environment variables.
8587 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
8588 team->work_shares_to_free to thr->ts.work_share before calling
8590 (gomp_work_share_end_cancel): New function.
8591 * config/linux/proc.c: Include errno.h.
8592 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
8593 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
8594 sizeof (cpu_set_t) to determine number of iterations. Fix up check
8595 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
8596 gomp_cpuset_size is sizeof (cpu_set_t).
8597 (gomp_init_num_threads): Initialize gomp_cpuset_size,
8598 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
8599 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
8600 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
8601 contain any logical CPUs.
8602 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
8603 is NULL. Use gomp_cpusetp instead of &cpuset and pass
8604 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
8605 pthread_getaffinity_np. Check gomp_places_list instead of
8606 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
8607 * config/linux/bar.c (gomp_barrier_wait_end,
8608 gomp_barrier_wait_last): Use BAR_* defines.
8609 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
8610 from state where needed. Set work_share_cancelled to 0 on last
8612 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
8613 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
8615 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
8616 Add cpusetsize argument.
8617 (gomp_cpuset_size, gomp_cpusetp): Declare.
8618 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
8619 (affinity_counter): Remove.
8620 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
8621 if CPU_ALLOC_SIZE isn't defined.
8622 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
8623 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
8624 bind current thread to the first place.
8625 (gomp_init_thread_affinity): Rewritten. Add place argument, just
8626 pthread_setaffinity_np to gomp_places_list[place].
8627 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8628 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8629 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8630 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
8631 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
8632 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
8633 (gomp_barrier_t): Add awaited_final field.
8634 (gomp_barrier_init): Initialize awaited_final field.
8635 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
8636 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
8638 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
8640 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
8641 gomp_team_barrier_cancelled): New inline functions.
8642 (gomp_barrier_last_thread,
8643 gomp_team_barrier_set_task_pending,
8644 gomp_team_barrier_clear_task_pending,
8645 gomp_team_barrier_set_waiting_for_tasks,
8646 gomp_team_barrier_waiting_for_tasks,
8647 gomp_team_barrier_done): Use BAR_* defines.
8648 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
8649 (gomp_barrier_wait_end): Use BAR_* defines.
8650 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
8651 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
8653 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
8654 gomp_team_barrier_cancel): New functions.
8655 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
8657 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8658 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8659 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8660 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
8661 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
8662 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
8663 (gomp_barrier_t): Add cancellable field.
8664 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
8665 gomp_team_barrier_cancel): New prototypes.
8666 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
8667 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
8668 gomp_team_barrier_cancelled): New inline functions.
8669 (gomp_barrier_wait_start, gomp_barrier_last_thread,
8670 gomp_team_barrier_set_task_pending,
8671 gomp_team_barrier_clear_task_pending,
8672 gomp_team_barrier_set_waiting_for_tasks,
8673 gomp_team_barrier_waiting_for_tasks,
8674 gomp_team_barrier_done): Use BAR_* defines.
8675 * barrier.c (GOMP_barrier_cancel): New function.
8676 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
8677 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
8678 omp_proc_bind_spread): New params.
8679 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8680 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8681 omp_get_team_num, omp_is_initial_device): New externals.
8682 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
8684 (gomp_resolve_num_threads): Adjust for thread_limit now being in
8685 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
8686 infinity. If not nested, just return minimum of max_num_threads
8687 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
8688 to the returned value. Otherwise, don't update atomically
8689 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
8690 (GOMP_parallel_end): Adjust for thread_limit now being in
8691 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
8692 infinity. Adjust threads_busy in the pool rather than
8693 gomp_remaining_threads_count. Remember team->nthreads and call
8694 gomp_team_end before adjusting threads_busy, if not nested
8695 afterwards, just set it to 1 non-atomically. Add ialias.
8696 (GOMP_parallel_start): Adjust gomp_team_start caller.
8697 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
8698 * testsuite/libgomp.c/affinity-1.c: New test.
8699 * testsuite/libgomp.c/atomic-15.c: New test.
8700 * testsuite/libgomp.c/atomic-16.c: New test.
8701 * testsuite/libgomp.c/atomic-17.c: New test.
8702 * testsuite/libgomp.c/cancel-for-1.c: New test.
8703 * testsuite/libgomp.c/cancel-for-2.c: New test.
8704 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
8705 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
8706 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
8707 * testsuite/libgomp.c/cancel-sections-1.c: New test.
8708 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
8709 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
8710 * testsuite/libgomp.c/depend-1.c: New test.
8711 * testsuite/libgomp.c/depend-2.c: New test.
8712 * testsuite/libgomp.c/depend-3.c: New test.
8713 * testsuite/libgomp.c/depend-4.c: New test.
8714 * testsuite/libgomp.c/for-1.c: New test.
8715 * testsuite/libgomp.c/for-1.h: New file.
8716 * testsuite/libgomp.c/for-2.c: New test.
8717 * testsuite/libgomp.c/for-2.h: New file.
8718 * testsuite/libgomp.c/for-3.c: New test.
8719 * testsuite/libgomp.c/pr58392.c: New test.
8720 * testsuite/libgomp.c/simd-1.c: New test.
8721 * testsuite/libgomp.c/simd-2.c: New test.
8722 * testsuite/libgomp.c/simd-3.c: New test.
8723 * testsuite/libgomp.c/simd-4.c: New test.
8724 * testsuite/libgomp.c/simd-5.c: New test.
8725 * testsuite/libgomp.c/simd-6.c: New test.
8726 * testsuite/libgomp.c/target-1.c: New test.
8727 * testsuite/libgomp.c/target-2.c: New test.
8728 * testsuite/libgomp.c/target-3.c: New test.
8729 * testsuite/libgomp.c/target-4.c: New test.
8730 * testsuite/libgomp.c/target-5.c: New test.
8731 * testsuite/libgomp.c/target-6.c: New test.
8732 * testsuite/libgomp.c/target-7.c: New test.
8733 * testsuite/libgomp.c/taskgroup-1.c: New test.
8734 * testsuite/libgomp.c/thread-limit-1.c: New test.
8735 * testsuite/libgomp.c/thread-limit-2.c: New test.
8736 * testsuite/libgomp.c/thread-limit-3.c: New test.
8737 * testsuite/libgomp.c/udr-1.c: New test.
8738 * testsuite/libgomp.c/udr-2.c: New test.
8739 * testsuite/libgomp.c/udr-3.c: New test.
8740 * testsuite/libgomp.c++/affinity-1.C: New test.
8741 * testsuite/libgomp.c++/atomic-10.C: New test.
8742 * testsuite/libgomp.c++/atomic-11.C: New test.
8743 * testsuite/libgomp.c++/atomic-12.C: New test.
8744 * testsuite/libgomp.c++/atomic-13.C: New test.
8745 * testsuite/libgomp.c++/atomic-14.C: New test.
8746 * testsuite/libgomp.c++/atomic-15.C: New test.
8747 * testsuite/libgomp.c++/cancel-for-1.C: New test.
8748 * testsuite/libgomp.c++/cancel-for-2.C: New test.
8749 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
8750 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
8751 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
8752 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
8753 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
8754 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
8755 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
8756 * testsuite/libgomp.c++/cancel-test.h: New file.
8757 * testsuite/libgomp.c++/for-9.C: New test.
8758 * testsuite/libgomp.c++/for-10.C: New test.
8759 * testsuite/libgomp.c++/for-11.C: New test.
8760 * testsuite/libgomp.c++/simd-1.C: New test.
8761 * testsuite/libgomp.c++/simd-2.C: New test.
8762 * testsuite/libgomp.c++/simd-3.C: New test.
8763 * testsuite/libgomp.c++/simd-4.C: New test.
8764 * testsuite/libgomp.c++/simd-5.C: New test.
8765 * testsuite/libgomp.c++/simd-6.C: New test.
8766 * testsuite/libgomp.c++/simd-7.C: New test.
8767 * testsuite/libgomp.c++/simd-8.C: New test.
8768 * testsuite/libgomp.c++/target-1.C: New test.
8769 * testsuite/libgomp.c++/target-2.C: New test.
8770 * testsuite/libgomp.c++/target-2-aux.cc: New file.
8771 * testsuite/libgomp.c++/target-3.C: New test.
8772 * testsuite/libgomp.c++/taskgroup-1.C: New test.
8773 * testsuite/libgomp.c++/udr-1.C: New test.
8774 * testsuite/libgomp.c++/udr-2.C: New test.
8775 * testsuite/libgomp.c++/udr-3.C: New test.
8776 * testsuite/libgomp.c++/udr-4.C: New test.
8777 * testsuite/libgomp.c++/udr-5.C: New test.
8778 * testsuite/libgomp.c++/udr-6.C: New test.
8779 * testsuite/libgomp.c++/udr-7.C: New test.
8780 * testsuite/libgomp.c++/udr-8.C: New test.
8781 * testsuite/libgomp.c++/udr-9.C: New test.
8783 2013-09-20 Jakub Jelinek <jakub@redhat.com>
8786 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
8789 2013-09-20 Alan Modra <amodra@gmail.com>
8791 * configure: Regenerate.
8793 2013-09-19 Jakub Jelinek <jakub@redhat.com>
8795 * testsuite/libgomp.c/sections-2.c: New test.
8797 2013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
8799 * testsuite/libgomp.fortran/strassen.f90:
8800 Add dg-skip-if aarch64_tiny.
8802 2013-06-20 Iain Sandoe <iain@codesourcery.com>
8803 Cesar Philippidis <cesar@codesourcery.com>
8805 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
8806 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
8807 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
8808 * testsuite/libgomp.fortran/fortran.exp: Likewise.
8809 * testsuite/libgomp.graphite/graphite.exp: Likewise.
8810 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
8811 Use dg-runtest rather than gfortran-dg-runtest.
8813 2013-06-10 Thomas Schwinge <thomas@codesourcery.com>
8815 * testsuite/libgomp.c/icv-2.c: Extend current handling of
8816 Linux-based x86 systems to cover all GNU systems.
8817 * testsuite/libgomp.c/lock-3.c: Likewise.
8818 * testsuite/libgomp.c/pr48591.c: Likewise.
8820 2013-06-06 Thomas Schwinge <thomas@codesourcery.com>
8822 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
8823 GNU/Hurd, as done for Linux-based systems.
8825 * config/posix/ptrlock.h: Fix comment.
8827 2013-05-27 Tobias Burnus <burnus@net-b.de>
8830 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
8831 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
8832 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
8833 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
8834 omp_destroy_nest_lock): Correct arguments to match the one in
8836 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
8837 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
8838 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
8839 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
8841 2013-05-16 Jakub Jelinek <jakub@redhat.com>
8843 * testsuite/libgomp.c/loop-13.c: New test.
8844 * testsuite/libgomp.c/loop-14.c: New test.
8845 * testsuite/libgomp.c/loop-15.c: New test.
8846 * testsuite/libgomp.c++/loop-13.C: New test.
8847 * testsuite/libgomp.c++/loop-14.C: New test.
8848 * testsuite/libgomp.c++/loop-15.C: New test.
8850 2013-02-06 Jakub Jelinek <jakub@redhat.com>
8853 * testsuite/libgomp.c++/pr56217.C: New test.
8855 2013-02-01 Alan Modra <amodra@gmail.com>
8857 * task.c (GOMP_task, GOMP_taskwait): Comment.
8859 2013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
8860 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
8863 * config/linux/wait.h (do_spin): Use atomic load for addr.
8864 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
8865 for intptr and ptrlock.
8866 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
8869 2013-01-22 Alan Modra <amodra@gmail.com>
8873 * task.c (GOMP_task): Revert 2011-12-09 change.
8874 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
8875 barrier to read task->children..
8876 (gomp_barrier_handle_tasks): ..and matching atomic store with
8877 release barrier here when setting parent->children to NULL.
8879 2013-01-16 Jakub Jelinek <jakub@redhat.com>
8880 Tobias Burnus <burnus@net-b.de>
8883 * testsuite/libgomp.fortran/fortran.exp: Use
8884 -fintrinsic-modules-path= instead of
8885 -fintrinsic-modules-path.
8887 2013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
8889 Update copyright years.
8891 2012-12-19 Tobias Burnus <burnus@net-b.de>
8893 * testsuite/libgomp.fortran/fortran.exp: Set
8894 -fintrinsic-modules-path.
8896 2012-12-19 Tobias Burnus <burnus@net-b.de>
8898 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
8899 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
8901 2012-11-21 Jakub Jelinek <jakub@redhat.com>
8904 * team.c (gomp_free_thread): Decrease gomp_managed_threads
8905 if pool had any threads_used.
8907 2012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
8909 * testsuite/libgomp.c++/pr24455.C: Use
8910 -Wl,-undefined,dynamic_lookup on darwin.
8912 2012-11-07 David Edelsohn <dje.gcc@gmail.com>
8914 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
8916 2012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
8918 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
8920 2012-10-23 Ian Bolton <ian.bolton@arm.com>
8921 Jim MacArthur <jim.macarthur@arm.com>
8922 Marcus Shawcroft <marcus.shawcroft@arm.com>
8923 Nigel Stephens <nigel.stephens@arm.com>
8924 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8925 Richard Earnshaw <rearnsha@arm.com>
8926 Sofiane Naci <sofiane.naci@arm.com>
8927 Stephen Thomas <stephen.thomas@arm.com>
8928 Tejas Belagod <tejas.belagod@arm.com>
8929 Yufeng Zhang <yufeng.zhang@arm.com>
8931 * configure.tgt: Add AArch64.
8933 2012-10-04 Jason Merrill <jason@redhat.com>
8935 * testsuite/libgomp.c++/tls-init1.C: New.
8937 2012-09-14 David Edelsohn <dje.gcc@gmail.com>
8939 * configure: Regenerated.
8941 2012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
8943 * config/linux/mips/futex.h (sys_futex0): Change to static
8944 function with noinline, nomips16 attributes under MIPS16. Adjust
8945 asm statement to place 'li v0,SYS_futex' immediately before
8948 2012-07-04 Sandra Loosemore <sandra@codesourcery.com>
8950 * libgomp.texi (Library Index): Renamed from "Index" to prevent
8951 conflict with index.html on case-insensitive file systems.
8953 2012-07-03 Uros Bizjak <ubizjak@gmail.com>
8955 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
8956 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
8958 2012-07-02 Richard Guenther <rguenther@suse.de>
8959 Michael Matz <matz@suse.de>
8960 Tobias Grosser <tobias@grosser.es>
8961 Sebastian Pop <sebpop@gmail.com>
8963 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
8964 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8965 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8966 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8968 2012-06-28 Andreas Schwab <schwab@linux-m68k.org>
8970 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
8972 2012-06-22 Richard Guenther <rguenther@suse.de>
8974 Merge from graphite branch
8975 2012-01-13 Tobias Grosser <tobias@grosser.es>
8977 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8978 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8980 2012-06-07 Jakub Jelinek <jakub@redhat.com>
8983 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
8984 use GOMP_barrier () call instead.
8985 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8986 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8987 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
8988 call GOMP_barrier instead.
8989 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8991 2012-06-06 Jakub Jelinek <jakub@redhat.com>
8994 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
8995 argument to memset call.
8997 2012-05-16 H.J. Lu <hongjiu.lu@intel.com>
8999 * configure: Regenerated.
9001 2012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9003 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
9005 2012-03-31 H.J. Lu <hongjiu.lu@intel.com>
9008 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
9010 2012-03-22 Jakub Jelinek <jakub@redhat.com>
9013 * testsuite/libgomp.c/pr52547.c: New test.
9015 2012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9017 * testsuite/lib/libgomp.exp: load fortran-modules.exp
9019 2012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9021 * configure.tgt (mips-sgi-irix6*): Remove.
9023 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9025 * configure.tgt (alpha*-dec-osf*): Remove.
9027 * config/osf/sem.h: Remove.
9028 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
9030 2012-02-29 Eric Botcazou <ebotcazou@adacore.com>
9032 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
9034 2012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9037 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
9038 Remove ENABLE_SYMVERS_SOL2.
9039 * configure: Regenerate.
9040 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
9041 (PREPROCESS): New variable.
9042 (libgomp.ver): New target.
9043 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
9044 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
9045 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
9047 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
9048 * Makefile.in: Regenerate.
9050 2012-02-14 Walter Lee <walt@tilera.com>
9052 * configure.tgt: Handle tilegx and tilepro.
9053 * config/linux/tile/futex.h: New file.
9055 2012-02-08 Richard Guenther <rguenther@suse.de>
9057 PR tree-optimization/46886
9058 * testsuite/libgomp.c/pr46886.c: New testcase.
9060 2012-01-25 Matthias Klose <doko@ubuntu.com>
9062 * config/linux/arm: Remove empty directory.
9063 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
9065 2011-12-09 Alan Modra <amodra@gmail.com>
9068 * task.c (GOMP_taskwait): Don't access task->children outside of
9069 task_lock mutex region.
9070 (GOMP_task): Likewise.
9072 2011-12-06 Jakub Jelinek <jakub@redhat.com>
9075 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
9077 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9078 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9079 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9080 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9081 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9083 2011-12-02 Alan Modra <amodra@gmail.com>
9085 * config/linux/affinity.c: Use atomic rather than sync builtin.
9086 * config/linux/lock.c: Likewise.
9087 * config/linux/ptrlock.h: Likewise.
9088 * config/linux/ptrlock.c: Likewise.
9089 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
9090 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
9091 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
9092 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
9093 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
9094 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
9095 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
9096 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
9097 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
9098 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
9100 2011-11-30 Alan Modra <amodra@gmail.com>
9103 * config/linux/bar.h: Use atomic rather than sync builtins.
9104 * config/linux/bar.c: Likewise. Add missing acquire
9105 synchronisation on generation field.
9106 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
9109 2011-11-30 Alan Modra <amodra@gmail.com>
9111 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
9112 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
9113 * config/linux/mutex.h: Use atomic rather than sync builtins.
9114 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
9115 * config/linux/omp-lock.h: Comment fix.
9116 * config/linux/arm/mutex.h: Delete.
9117 * config/linux/powerpc/mutex.h: Delete.
9118 * config/linux/ia64/mutex.h: Delete.
9119 * config/linux/mips/mutex.h: Delete.
9121 2011-11-30 Alan Modra <amodra@gmail.com>
9124 * config/linux/sem.h: Rewrite.
9125 * config/linux/sem.c: Rewrite.
9127 2011-11-28 Richard Henderson <rth@redhat.com>
9129 * libgomp.h (enum memmodel): New.
9131 2011-11-21 Andreas Tobler <andreast@fgznet.ch>
9133 * configure: Regenerate.
9135 2011-10-10 Matthias Klose <doko@ubuntu.com>
9137 * config/posix95: Remove empty directory.
9139 2011-08-26 Jakub Jelinek <jakub@redhat.com>
9141 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
9143 2011-08-19 Jakub Jelinek <jakub@redhat.com>
9146 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
9147 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
9149 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9151 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
9153 2011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9156 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
9158 2011-08-03 Uros Bizjak <ubizjak@gmail.com>
9160 * config/linux/proc.h: New.
9161 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
9162 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
9163 (gomp_init_num_threads): Update call to cpuset_popcount.
9164 (get_num_procs): Ditto.
9165 * config/linux/affinity.c (gomp_init_affinity): Call
9166 gomp_cpuset_popcount.
9168 2011-08-02 Jakub Jelinek <jakub@redhat.com>
9172 * omp.h.in (omp_in_final): New prototype.
9173 * omp_lib.f90.in (omp_in_final): New interface.
9174 (omp_integer_kind, omp_logical_kind): Remove
9175 and replace all its uses in the module with 4.
9176 (openmp_version): Change to 201107.
9177 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
9178 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
9179 kind for the parameters.
9180 (omp_in_final): New external.
9181 (openmp_version): Change to 201107.
9182 * task.c (omp_in_final): New function.
9183 (gomp_init_task): Initialize final_task.
9184 (GOMP_task): Remove unused attribute from flags. Handle final
9186 (GOMP_taskyield): New function.
9187 (omp_in_final): Return true if if (false) or final (true) task
9188 or descendant of final (true).
9189 * fortran.c (omp_in_final_): New function.
9190 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
9191 (GOMP_3.0): Export GOMP_taskyield.
9192 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
9194 (parse_unsigned_long_list): New function.
9195 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
9196 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
9197 even if parse_affinity returned false.
9198 * config/linux/affinity.c (gomp_init_affinity): Handle
9199 gomp_cpu_affinity_len == 0.
9200 * libgomp_g.h (GOMP_taskyield): New prototype.
9201 * libgomp.h (struct gomp_task): Add final_task field.
9202 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
9203 * team.c (gomp_team_start): Override new task's nthreads_var icv
9204 if list form OMP_NUM_THREADS has been used and it has value for
9205 the new nesting level.
9207 * testsuite/libgomp.c/atomic-11.c: New test.
9208 * testsuite/libgomp.c/atomic-12.c: New test.
9209 * testsuite/libgomp.c/atomic-13.c: New test.
9210 * testsuite/libgomp.c/atomic-14.c: New test.
9211 * testsuite/libgomp.c/reduction-6.c: New test.
9212 * testsuite/libgomp.c/task-5.c: New test.
9213 * testsuite/libgomp.c++/atomic-2.C: New test.
9214 * testsuite/libgomp.c++/atomic-3.C: New test.
9215 * testsuite/libgomp.c++/atomic-4.C: New test.
9216 * testsuite/libgomp.c++/atomic-5.C: New test.
9217 * testsuite/libgomp.c++/atomic-6.C: New test.
9218 * testsuite/libgomp.c++/atomic-7.C: New test.
9219 * testsuite/libgomp.c++/atomic-8.C: New test.
9220 * testsuite/libgomp.c++/atomic-9.C: New test.
9221 * testsuite/libgomp.c++/task-8.C: New test.
9222 * testsuite/libgomp.c++/reduction-4.C: New test.
9223 * testsuite/libgomp.fortran/allocatable7.f90: New test.
9224 * testsuite/libgomp.fortran/allocatable8.f90: New test.
9225 * testsuite/libgomp.fortran/crayptr3.f90: New test.
9226 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
9227 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
9228 * testsuite/libgomp.fortran/pointer1.f90: New test.
9229 * testsuite/libgomp.fortran/pointer2.f90: New test.
9230 * testsuite/libgomp.fortran/task4.f90: New test.
9232 2011-08-02 Tobias Burnus <burnus@net-b.de>
9234 * libgomp.texi: Update OpenMP spec references to 3.1.
9235 (omp_in_final,OMP_PROC_BIND): New sections.
9236 (OMP_NUM_THREADS): Document that the value can be now a list.
9237 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
9239 2011-08-02 H.J. Lu <hongjiu.lu@intel.com>
9241 * config/linux/x86/futex.h: Check __x86_64__ instead of
9244 2011-07-29 Jakub Jelinek <jakub@redhat.com>
9248 * testsuite/libgomp.c/pr49897-1.c: New test.
9249 * testsuite/libgomp.c/pr49897-2.c: New test.
9250 * testsuite/libgomp.c/pr49898-1.c: New test.
9251 * testsuite/libgomp.c/pr49898-2.c: New test.
9253 2011-07-28 H.J. Lu <hongjiu.lu@intel.com>
9255 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
9256 for ia32 instead of ilp32.
9258 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
9259 * testsuite/libgomp.c/atomic-6.c: Likewise.
9261 2011-07-23 Sebastian Pop <sebastian.pop@amd.com>
9263 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
9264 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
9266 2011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9269 * config/osf/sem.h: New file.
9270 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
9272 2011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9275 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
9278 2011-07-15 Jakub Jelinek <jakub@redhat.com>
9280 * config/linux/wait.h (do_spin): New inline, largely copied
9281 from do_wait, just don't do futex_wait here, instead return true if
9283 (do_wait): Implement using do_spin.
9284 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
9286 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9287 __sync_bool_compare_and_swap, pass the oldval to
9288 gomp_mutex_lock_slow.
9289 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
9290 If all mutex contenders are just spinning and not sleeping, don't
9291 change state to 2 unnecessarily. Optimize the loop when state has
9292 already become 2 to use just one atomic operation per loop instead
9294 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
9296 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9297 __sync_bool_compare_and_swap, pass the oldval to
9298 gomp_mutex_lock_slow.
9300 2011-06-22 Jakub Jelinek <jakub@redhat.com>
9303 * iter.c (gomp_iter_static_next): For chunk size 0
9304 only use n ceil/ nthreads size for the first
9305 n % nthreads threads in the team instead of
9306 all threads except for the last few ones which
9307 get less work or none at all.
9308 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
9309 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
9310 chunk argument, set run_sched_modifier to 0 for static
9311 resp. 1 for other kinds. If chunk argument is 0
9312 and not static, set value to 1.
9314 2011-05-19 Jakub Jelinek <jakub@redhat.com>
9317 * testsuite/libgomp.c++/pr49043.C: New test.
9320 * testsuite/libgomp.c++/pr48869.C: New test.
9322 2011-05-06 Jakub Jelinek <jakub@redhat.com>
9325 * fortran.c: Include limits.h.
9327 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
9329 (omp_set_num_threads_8_, omp_set_schedule_8_,
9330 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
9331 omp_get_team_size_8_): Use TO_INT macro.
9332 * testsuite/libgomp.fortran/pr48894.f90: New test.
9334 2011-04-13 Jakub Jelinek <jakub@redhat.com>
9337 * testsuite/libgomp.c/pr48591.c: New test.
9339 2011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9342 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
9343 * configure: Regenerate.
9345 2011-02-27 Jakub Jelinek <jakub@redhat.com>
9348 * testsuite/libgomp.fortran/task3.f90: New test.
9350 2011-02-24 Tobias Burnus <burnus@net-b.de>
9352 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
9354 2011-02-23 Jakub Jelinek <jakub@redhat.com>
9357 * libgomp.texi (omp_get_wtime): Don't say time in the past
9360 2011-02-18 Jakub Jelinek <jakub@redhat.com>
9363 * testsuite/libgomp.fortran/fortran.exp: Check for both
9364 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
9365 but $blddir != "", still append ${blddir}/${lang_library_path}
9368 2011-02-16 Tobias Burnus <burnus@net-b.de>
9371 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
9372 of libquadmath.a before adding its libpath to ldflags.
9374 2011-02-14 Jakub Jelinek <jakub@redhat.com>
9377 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
9378 to FUTEX_WAIT futex syscall.
9379 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
9381 2011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9383 * configure: Regenerate.
9385 2011-01-20 Benjamin Kosnik <bkoz@redhat.com>
9388 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
9390 2011-01-16 Gerald Pfeifer
9392 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
9394 2010-12-14 Jakub Jelinek <jakub@redhat.com>
9397 * libgomp.fortran/allocatable6.f90: New test.
9399 2010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9401 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
9402 * configure: Regenerate.
9404 2010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
9408 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
9409 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
9410 * aclocal.m4: Regenerate.
9411 * configure: Regenerate.
9412 * Makefile.in: Regenerate.
9413 * testsuite/Makefile.in: Regenerate.
9415 2010-12-02 Jakub Jelinek <jakub@redhat.com>
9418 * libgomp.fortran/pr46753.f90: New test.
9421 * env.c (initialize_env): Default to spin count 300000
9422 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
9426 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
9427 at the end if sync builtins aren't supported.
9429 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9431 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
9433 2010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9435 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
9437 2010-11-24 Iain Sandoe <iains@gcc.gnu.org>
9439 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
9441 2010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9442 Tobias Burnus <burnus@net-b.de>
9446 * configure: Regenerate.
9448 2010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
9450 * config/linux/futex.h: New.
9451 * config/linux/arm/mutex.h: New.
9452 * configure.tgt (arm*-*-linux*): Add config path.
9454 2010-09-30 Sebastian Pop <sebastian.pop@amd.com>
9456 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9458 2010-09-23 Tobias Burnus <burnus@net-b.de>
9460 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
9461 Change Fortran datatype to LOGICAL.
9462 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
9463 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
9465 2010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9467 * configure: Regenerate.
9469 2010-07-26 Jakub Jelinek <jakub@redhat.com>
9471 * libgomp.texi: Add function keyword to a couple of Fortran
9472 interfaces, use integer instead of int for Fortran.
9474 2010-07-26 Aldy Hernandez <aldyh@redhat.com>
9476 * libgomp.texi: Fix spelling and pasto problems throughout.
9477 Adjust prototypes to match code.
9479 2010-07-24 Tobias Burnus <burnus@net-b.de>
9481 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
9482 silence -fwhole-file warning.
9484 2010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9486 * configure.tgt (*-*-solaris2.[56]*): Removed.
9488 2010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9490 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
9491 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
9492 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
9493 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
9494 targetting solaris2*.
9495 * configure: Regenerate.
9496 * config.h.in: Regenerate.
9498 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
9499 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
9500 Add libgomp_version_dep.
9501 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
9503 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
9504 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
9505 * Makefile.in: Regenerate.
9507 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
9508 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
9509 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
9510 to common block, protected by
9511 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
9513 2010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
9515 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
9517 2010-06-09 Iain Sandoe <iains@gcc.gnu.org>
9520 * configure: Regenerate.
9522 2010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9525 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
9526 * configure: Regenerate.
9527 * Makefile.in: Regenerate.
9528 * testsuite/Makefile.in: Regenerate.
9530 2010-04-26 Jakub Jelinek <jakub@redhat.com>
9533 * testsuite/libgomp.c/pr43893.c: New test.
9534 * testsuite/libgomp.c++/pr43893.C: New test.
9536 2010-04-21 Jakub Jelinek <jakub@redhat.com>
9539 * testsuite/libgomp.fortran/vla8.f90: New test.
9541 2010-04-20 Jakub Jelinek <jakub@redhat.com>
9544 * config/linux/affinity.c (gomp_init_affinity): Decrease
9545 gomp_available_cpus if affinity mask confines the process to fewer
9547 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
9548 non-NULL, just return gomp_available_cpus.
9551 * sections.c (gomp_sections_init): Initialize ws->mode.
9553 2010-04-14 Uros Bizjak <ubizjak@gmail.com>
9555 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
9556 not unused bar variable.
9557 * configure: Regenerate.
9559 2010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9561 * Makefile.in: Regenerate.
9562 * aclocal.m4: Regenerate.
9563 * testsuite/Makefile.in: Regenerate.
9565 2010-03-22 Jakub Jelinek <jakub@redhat.com>
9568 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
9569 (initialize_env): Adjust callers.
9570 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
9571 when the argument is 0.
9573 * testsuite/libgomp.c/pr42942.c: New test.
9575 2010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
9579 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9580 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
9582 2010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9584 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
9585 * testsuite/libgomp.c++/task-6.C: Likewise.
9587 2010-01-28 Steve Ellcey <sje@cup.hp.com>
9589 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
9591 2010-01-26 Paolo Bonzini <bonzini@gnu.org>
9593 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
9594 * configure: Regenerate.
9596 2010-01-26 Jakub Jelinek <jakub@redhat.com>
9599 * testsuite/libgomp.fortran/allocatable5.f90: New test.
9601 2010-01-20 Paolo Bonzini <bonzini@gnu.org>
9603 * configure.ac: Test for executability of GFORTRAN.
9604 * configure: Regenerate.
9606 2010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9608 * configure: Regenerate.
9610 2010-01-04 H.J. Lu <hongjiu.lu@intel.com>
9613 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
9615 2010-01-03 Richard Guenther <rguenther@suse.de>
9617 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
9619 2009-12-23 Sebastian Pop <sebpop@gmail.com>
9621 * testsuite/libgomp.graphite/pr4118.c: New.
9623 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9625 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
9626 for darwin, protect the test with require-effective-target tls_runtime.
9627 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9629 2009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9632 * testsuite/lib/libgomp.exp: Provide -B options to allow for
9633 link spec %s substitutions for static libraries.
9635 2009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
9638 * libgomp.graphite/force-parallel-2.c: Reduce array size.
9640 2009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9642 * Makefile.in: Regenerate.
9643 * configure: Regenerate.
9644 * testsuite/Makefile.in: Regenerate.
9646 2009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
9648 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
9649 settings for LC_ALL and LANG.
9651 2009-11-25 Jakub Jelinek <jakub@redhat.com>
9654 * testsuite/libgomp.fortran/pr42162.f90: New test.
9656 2009-11-13 Jakub Jelinek <jakub@redhat.com>
9659 * testsuite/libgomp.c/pr42029.c: New test.
9661 2009-10-26 Jakub Jelinek <jakub@redhat.com>
9663 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
9664 *s. Accept ld version without text in ()s.
9665 * configure: Regenerated.
9667 2009-10-22 Razya Ladelsky <razya@il.ibm.com>
9669 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
9671 2009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9674 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
9675 or a hyphen (happens with fortran language disabled).
9676 * configure: Regenerate.
9678 2009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9680 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
9681 use sed script portable to Solaris /bin/sed for extracting ld
9683 * configure: Regenerate.
9685 2009-09-17 Alexander Monakov <amonakov@ispras.ru>
9687 * testsuite/libgomp.graphite/bounds.c: New test.
9689 2009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9691 * Makefile.am (libgomp_la_LINK): New.
9692 * Makefile.in: Regenerate.
9694 2009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9696 * configure.ac (AC_PREREQ): Bump to 2.64.
9698 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9700 * Makefile.am (install-html, install-pdf): Remove.
9701 * Makefile.in: Regenerate.
9703 * Makefile.in: Regenerate.
9704 * aclocal.m4: Regenerate.
9705 * config.h.in: Regenerate.
9706 * configure: Regenerate.
9707 * testsuite/Makefile.in: Regenerate.
9709 2009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9711 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
9712 * Makefile.in: Regenerate.
9714 2009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
9716 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
9717 * Makefile.in: Regenerate.
9719 2009-08-19 Tobias Burnus <burnus@net-b.de>
9722 omp_lib.h.in: Fix -std=f95 errors.
9724 2009-08-14 David Edelsohn <edelsohn@gnu.org>
9726 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
9727 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
9728 * testsuite/libgomp.graphite/graphite.exp: New.
9730 2009-08-05 Andreas Tobler <a.tobler@schweiz.org>
9732 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
9735 2009-08-04 David Daney <ddaney@caviumnetworks.com>
9737 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
9738 needed memory barrier semantics.
9739 * config/linux/mips/mutex.h: New file.
9741 2009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9743 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
9745 2009-07-16 Joseph Myers <joseph@codesourcery.com>
9747 * configure: Regenerate.
9749 2009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
9754 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
9755 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
9756 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
9758 2009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
9760 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
9761 options when choosing a multilib.
9763 2009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
9765 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
9766 ld_library_path. Use add_path. Add just find_libgcc_s to
9767 ld_library_path, not every libgcc multilib directory.
9768 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
9769 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
9770 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
9772 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
9774 2009-06-09 Nathan Froyd <froydnj@codesourcery.com>
9776 * Makefile.am (LTLDFLAGS): Define.
9778 * Makefile.in: Regenerate.
9780 2009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
9783 * testsuite/libgomp.fortran/fortran.exp: Don't link with
9784 libgfortranbegin, check existence of libgfortran.a instead of
9787 2009-05-20 Jakub Jelinek <jakub@redhat.com>
9790 * team.c (gomp_thread_start): Destroy thr->release semaphore.
9791 (gomp_free_pool_helper): Likewise.
9793 2009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
9794 Jakub Jelinek <jakub@redhat.com>
9797 * testsuite/libgomp.fortran/workshare2.f90: New test.
9799 2009-04-09 Nick Clifton <nickc@redhat.com>
9801 * iter.c: Change copyright header to refer to version 3 of the
9802 GNU General Public License with version 3.1 of the GCC Runtime
9803 Library Exception and to point readers at the COPYING3 and
9804 COPYING3.RUNTIME files and the FSF's license web page.
9805 * alloc.c: Likewise.
9806 * barrier.c: Likewise.
9807 * config/bsd/proc.c: Likewise.
9808 * config/linux/affinity.c: Likewise.
9809 * config/linux/alpha/futex.h: Likewise.
9810 * config/linux/bar.c: Likewise.
9811 * config/linux/bar.h: Likewise.
9812 * config/linux/ia64/futex.h: Likewise.
9813 * config/linux/ia64/mutex.h: Likewise.
9814 * config/linux/lock.c: Likewise.
9815 * config/linux/mips/futex.h: Likewise.
9816 * config/linux/mutex.c: Likewise.
9817 * config/linux/mutex.h: Likewise.
9818 * config/linux/powerpc/futex.h: Likewise.
9819 * config/linux/proc.c: Likewise.
9820 * config/linux/ptrlock.c: Likewise.
9821 * config/linux/ptrlock.h: Likewise.
9822 * config/linux/s390/futex.h: Likewise.
9823 * config/linux/sem.c: Likewise.
9824 * config/linux/sem.h: Likewise.
9825 * config/linux/sparc/futex.h: Likewise.
9826 * config/linux/wait.h: Likewise.
9827 * config/linux/x86/futex.h: Likewise.
9828 * config/mingw32/proc.c: Likewise.
9829 * config/mingw32/time.c: Likewise.
9830 * config/posix/affinity.c: Likewise.
9831 * config/posix/bar.c: Likewise.
9832 * config/posix/bar.h: Likewise.
9833 * config/posix/lock.c: Likewise.
9834 * config/posix/mutex.h: Likewise.
9835 * config/posix/proc.c: Likewise.
9836 * config/posix/ptrlock.h: Likewise.
9837 * config/posix/sem.c: Likewise.
9838 * config/posix/sem.h: Likewise.
9839 * config/posix/time.c: Likewise.
9840 * config/posix95/lock.c: Likewise.
9841 * critical.c: Likewise.
9843 * error.c: Likewise.
9844 * fortran.c: Likewise.
9845 * iter_ull.c: Likewise.
9846 * libgomp.h: Likewise.
9847 * libgomp_f.h.in: Likewise.
9848 * libgomp_g.h: Likewise.
9850 * loop_ull.c: Likewise.
9851 * omp.h.in: Likewise.
9852 * omp_lib.f90.in: Likewise.
9853 * omp_lib.h.in: Likewise.
9854 * ordered.c: Likewise.
9855 * parallel.c: Likewise.
9856 * sections.c: Likewise.
9857 * single.c: Likewise.
9862 2009-04-09 Jakub Jelinek <jakub@redhat.com>
9864 * testsuite/config/default.exp: Change copyright header to refer to
9865 version 3 of the GNU General Public License and to point readers
9866 at the COPYING3 file and the FSF's license web page.
9868 2009-04-08 Jakub Jelinek <jakub@redhat.com>
9871 * libgomp.c++/pr39573.C: New test.
9873 2009-04-01 Jakub Jelinek <jakub@redhat.com>
9876 * testsuite/libgomp.c/pr39591-1.c: New test.
9877 * testsuite/libgomp.c/pr39591-2.c: New test.
9878 * testsuite/libgomp.c/pr39591-3.c: New test.
9880 2009-03-25 Uros Bizjak <ubizjak@gmail.com>
9882 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
9883 * testsuite/libgomp.c/atomic-6.c: Ditto.
9885 2009-03-23 Jakub Jelinek <jakub@redhat.com>
9888 * testsuite/libgomp.c/loop-12.c: New test.
9889 * testsuite/libgomp.c/loop-11.c: New test.
9890 * testsuite/libgomp.c++/loop-11.C: New test.
9891 * testsuite/libgomp.c++/loop-12.C: New test.
9892 * testsuite/libgomp.c++/for-8.C: New test.
9894 2009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9896 * configure: Regenerate.
9898 2009-02-11 Jakub Jelinek <jakub@redhat.com>
9901 * testsuite/libgomp.c/pr39154.c: New test.
9903 2009-01-30 Ian Lance Taylor <iant@google.com>
9905 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
9906 libgomp_ld_is_gold. Get gold version number.
9907 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
9908 * configure: Rebuild.
9910 2009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9912 * testsuite/lib/libgomp.exp: Add -B option for targets that
9913 use libgfortran.a%s in their specs.
9915 2009-01-07 Jakub Jelinek <jakub@redhat.com>
9918 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
9919 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
9920 HAVE_AS_SYMVER_DIRECTIVE is not defined.
9921 * configure: Regenerated.
9922 * config.h.in: Likewise.
9924 2008-12-28 Jakub Jelinek <jakub@redhat.com>
9927 * testsuite/libgomp.c/pr38650.c: New test.
9928 * testsuite/libgomp.c++/pr38650.C: New test.
9930 2008-12-27 Jakub Jelinek <jakub@redhat.com>
9932 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
9934 2008-12-26 Uros Bizjak <ubizjak@gmail.com>
9936 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
9938 2008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9940 * configure: Regenerate.
9942 2008-12-08 Jakub Jelinek <jakub@redhat.com>
9945 * testsuite/libgomp.c/pr36802-1.c: New test.
9946 * testsuite/libgomp.c/pr36802-2.c: New test.
9947 * testsuite/libgomp.c/pr36802-3.c: New test.
9949 2008-12-01 Janis Johnson <janis187@us.ibm.com>
9952 * config/linux/powerpc/mutex.h: New.
9954 2008-12-01 Jakub Jelinek <jakub@redhat.com>
9957 * testsuite/libgomp.c++/for-7.C: New test.
9960 * testsuite/libgomp.c++/for-6.C: New test.
9962 2008-11-26 Janis Johnson <janis187@us.ibm.com>
9965 * testsuite/lib/libgomp.exp: Include new timeout library files.
9966 (libgomp_target_compile): Set timeout value from new proc.
9968 2008-11-13 Steve Ellcey <sje@cup.hp.com>
9971 * config/linux/ia64/mutex.h: New.
9973 2008-11-04 Tobias Burnus <burnus@net-b.de>
9976 * libgomp.texi (Runtime library routines, environment variables):
9977 Update for OpenMP version 3.0.
9979 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
9980 Steve Ellcey <sje@cup.hp.com>
9982 * configure: Regenerate for new libtool.
9983 * Makefile.in: Ditto.
9984 * testsuite/Makefile.in: Ditto.
9986 2008-09-19 Jakub Jelinek <jakub@redhat.com>
9987 Andreas Tobler <a.tobler@schweiz.org>
9989 * config/bsd/proc.c: New file.
9990 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
9991 * configure.ac: Check for header <sys/sysctl.h>
9992 * configure: Regenerate.
9993 * config.h.in: Likewise.
9995 2008-09-05 Janis Johnson <janis187@us.ibm.com>
9997 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
9999 2008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
10001 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
10002 * Makefile.in: Regenerated.
10003 * testsuite/Makefile.in: Regenerated.
10005 2008-08-21 Nathan Froyd <froydnj@codesourcery.com>
10007 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
10008 depend on blddir if blddir exists.
10009 (libgomp_target_compile): Likewise.
10010 * testsuite/libgomp.c++/c++.exp: Likewise.
10011 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10013 2008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10015 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
10016 Do not list GPL as Invariant Section.
10018 2008-07-28 Ilie Garbacea <ilie@mips.com>
10019 Chao-ying Fu <fu@mips.com>
10021 * configure.tgt: Enable futex for MIPS.
10022 * config/linux/mips/futex.h: New file.
10024 2008-07-16 Jakub Jelinek <jakub@redhat.com>
10026 * team.c (gomp_team_end): Free team immediately if it has
10029 2008-07-08 David Edelsohn <edelsohn@gnu.org>
10031 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
10032 * testsuite/libgomp.fortran/fortran.exp: Same.
10033 * testsuite/libgomp.c/c.exp: Same.
10034 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
10035 directory to library path first.
10037 2008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
10039 * env.c (parse_stacksize): Add cast to avoid warning.
10040 (parse_spincount): Likewise.
10042 2008-06-27 Jakub Jelinek <jakub@redhat.com>
10044 * testsuite/libgomp.c/loop-10.c: New test.
10045 * libgomp.c/loop-3.c (main): Add lastprivate clause.
10046 * libgomp.c++/loop-6.C (main): Likewise.
10049 * testsuite/libgomp.c/debug-1.c: New test.
10051 2008-06-19 Jakub Jelinek <jakub@redhat.com>
10053 * testsuite/libgomp.c/nqueens-1.c: New test.
10056 * testsuite/libgomp.c++/task-7.C: New function.
10058 2008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10060 * configure: Regenerate.
10062 2008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10064 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
10065 mutex when HAVE_SYNC_BUILTINS isn't defined.
10067 2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10069 * libgomp.texi (omp_test_lock): Fix typo.
10071 2008-06-12 Tobias Burnus <burnus@net-b.de>
10073 * omp_lib.f90.in: Add "implicit none".
10075 2008-06-12 Jakub Jelinek <jakub@redhat.com>
10077 PR middle-end/36506
10078 * testsuite/libgomp.c/reduction-5.c: New test.
10080 2008-06-11 Jakub Jelinek <jakub@redhat.com>
10082 * libgomp.h (struct gomp_task): Add in_tied_task field.
10083 * task.c (gomp_init_task): Initialize it.
10084 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
10085 unconditionally. Don't call gomp_team_barrier_wake if
10086 current task is implicit or if(0) from implicit and number of
10087 running tasks is equal to nthreads - 1.
10090 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
10091 omp_get_team_size_8): Fix pastos.
10094 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
10095 * configure: Regenerated.
10096 * config.h.in: Regenerated.
10097 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
10100 2008-06-06 Andreas Tobler <a.tobler@schweiz.org>
10103 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
10104 (GOMP_loop_ull_dynamic_start): Likewise.
10105 (GOMP_loop_ull_guided_start): Likewise.
10106 (GOMP_loop_ull_ordered_static_start): Likewise.
10107 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
10108 (GOMP_loop_ull_ordered_guided_start): Likewise.
10110 2008-06-06 Jakub Jelinek <jakub@redhat.com>
10111 Richard Henderson <rth@redhat.com>
10112 Ulrich Drepper <drepper@redhat.com>
10113 Jakob Blomer <jakob.blomer@ira.uka.de>
10115 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
10116 Substitute also OMP_*LOCK_25*.
10117 * configure: Regenerated.
10118 * config.h.in: Regenerated.
10119 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
10120 ptrlock.c and task.c.
10121 * Makefile.in: Regenerated.
10122 * testsuite/Makefile.in: Regenerated.
10123 * task.c: New file.
10124 * loop_ull.c: New file.
10125 * iter_ull.c: New file.
10126 * libgomp.h: Include ptrlock.h.
10127 (enum gomp_task_kind): New type.
10128 (struct gomp_team): Add task_lock, task_queue, task_count,
10129 task_running_count, single_count fields. Add
10130 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
10131 Remove work_share_lock, generation_mask,
10132 oldest_live_gen, num_live_gen and init_work_shares fields, add
10133 work work_share_list_alloc, work_share_list_free and work_share_chunk
10134 fields. Change work_shares from pointer to pointers into an array.
10135 Change ordered_release field into gomp_sem_t ** from flexible array
10136 member. Add implicit_task and initial_work_shares fields.
10137 Move close to the end of the struct.
10138 (struct gomp_team_state): Add single_count, last_work_share,
10139 active_level and level fields, remove work_share_generation.
10140 (gomp_barrier_handle_tasks): New prototype.
10141 (gomp_finish_task): New inline function.
10142 (struct gomp_work_share): Move chunk_size, end, incr into
10143 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
10144 next_ll fields. Reshuffle fields. Add next_alloc,
10145 next_ws, next_free and inline_ordered_team_ids fields, change
10146 ordered_team_ids into pointer from flexible array member.
10147 Add mode field. Put lock and next into a different cache line
10148 from most of the write-once fields.
10149 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
10150 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
10151 gomp_iter_ull_guided_next): New prototypes.
10152 (gomp_new_icv): New prototype.
10153 (struct gomp_thread): Add thread_pool and task fields.
10154 (struct gomp_thread_pool): New type.
10155 (gomp_new_team): New prototype.
10156 (gomp_team_start): Change type of last argument.
10157 (gomp_new_work_share): Removed.
10158 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
10159 (gomp_work_share_init_done): New static inline.
10160 (gomp_throttled_spin_count_var, gomp_available_cpus,
10161 gomp_managed_threads): New extern decls.
10162 (gomp_init_task): New prototype.
10163 (gomp_spin_count_var): New extern var decl.
10164 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
10165 or no alias support, or if not PIC.
10166 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
10167 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
10168 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
10169 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
10170 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
10171 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
10172 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
10173 gomp_test_nest_lock_25): New prototypes.
10174 (omp_lock_symver, strong_alias): Define.
10175 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
10177 (gomp_end_task): New.
10178 (struct gomp_task_icv, gomp_global_icv): New.
10179 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
10180 (struct gomp_task): New.
10181 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10182 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10184 (gomp_schedule_type): Reorder enum to match
10186 * team.c (struct gomp_thread_start_data): Add thread_pool and task
10188 (gomp_thread_start): Add gomp_team_barrier_wait call.
10189 For non-nested case remove clearing of docked thread thr fields.
10190 Use pool fields instead of global gomp_* variables. Use
10191 gomp_barrier_wait_last when needed. Initialize ts.active_level.
10192 Create tasks for each member thread.
10193 (free_team): Only destroy team barrier, task_lock here and free it.
10194 (gomp_free_thread): Free last_team if non-NULL.
10195 (gomp_team_end): Call gomp_team_barrier_wait instead of
10196 gomp_barrier_wait. For nested case call one extra
10197 gomp_barrier_wait. Move here some destruction from free_team.
10198 Call free_team on pool->last_team if any, rather than freeing
10199 current team. Destroy work_share_list_free_lock ifndef
10200 HAVE_SYNC_BUILTINS.
10201 (gomp_new_icv): New function.
10202 (gomp_threads, gomp_threads_size, gomp_threads_used,
10203 gomp_threads_dock): Removed.
10204 (gomp_thread_destructor): New variable.
10205 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
10207 (gomp_team_start): Create new pool if current thread doesn't have
10208 one. Use pool fields instead of global gomp_* variables.
10209 Initialize thread_pool field for new threads. Clear single_count.
10210 Change last argument from ws to team, don't create
10211 new team, set ts.work_share to &team->work_shares[0] and clear
10212 ts.last_work_share. Don't clear ts.work_share_generation.
10213 If number of threads changed, adjust atomically gomp_managed_threads.
10214 Use gomp_init_task instead of gomp_new_task,
10215 set thr->task to the corresponding implicit_task array entry.
10216 Create tasks for each member thread. Initialize ts.level.
10217 (initialize_team): Call pthread_key_create on
10218 gomp_thread_destructor.
10219 (team_destructor): New function.
10220 (new_team): Removed.
10221 (gomp_new_team): New function.
10222 (free_team): Free gomp_work_share blocks chained through next_alloc,
10223 instead of freeing work_shares and destroying work_share_lock.
10224 (gomp_team_end): Call gomp_fini_work_share. If number of threads
10225 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
10226 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
10227 of gomp_barrier_wait.
10228 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
10229 instead of gomp_barrier_wait. Call gomp_work_share_init_done
10230 if gomp_work_share_start returned true. Don't unlock ws->lock.
10231 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
10232 of gomp_barrier_wait.
10233 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
10234 gomp_work_share_init_done if gomp_work_share_start returned true.
10235 Don't unlock ws->lock.
10236 * work.c: Include stddef.h.
10237 (free_work_share): Use work_share_list_free_lock instead
10238 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
10239 Call gomp_fini_work_share and then either free ws if orphaned, or
10240 put it into work_share_list_free list of the current team.
10241 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
10243 (gomp_work_share_start, gomp_work_share_end,
10244 gomp_work_share_end_nowait): Rewritten.
10245 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
10246 (openmp_version): Set to 200805.
10247 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10248 omp_sched_guided, omp_sched_auto): New parameters.
10249 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10250 omp_set_max_active_levels, omp_get_max_active_levels,
10251 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10252 omp_get_active_level): New interfaces.
10253 * omp_lib.h.in (openmp_version): Set to 200805.
10254 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10255 omp_sched_guided, omp_sched_auto): New parameters.
10256 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10257 omp_set_max_active_levels, omp_get_max_active_levels,
10258 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10259 omp_get_active_level): New externals.
10260 * loop.c: Include limits.h.
10261 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
10263 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
10264 Likewise. Use gomp_icv.
10265 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
10266 ts.static_trip here.
10267 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
10268 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
10269 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
10270 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
10271 don't unlock ws->lock, otherwise lock it.
10272 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
10273 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
10274 (gomp_parallel_loop_start): Call gomp_new_team instead of
10275 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
10276 Adjust gomp_team_start caller. Pass 0 as second argument to
10277 gomp_resolve_num_threads.
10278 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
10279 If adding ws->chunk_size nthreads + 1 times after end won't
10280 overflow, set ws->mode to 1.
10281 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
10282 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
10283 GOMP_loop_ull_ordered_static_start,
10284 GOMP_loop_ull_ordered_dynamic_start,
10285 GOMP_loop_ull_ordered_guided_start,
10286 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
10287 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
10288 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
10289 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
10290 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
10292 * libgomp.map: Export lock routines also @@OMP_2.0.
10293 (GOMP_loop_ordered_dynamic_first,
10294 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
10295 GOMP_loop_ordered_static_first): Remove.
10296 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
10297 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
10298 GOMP_loop_ull_ordered_dynamic_next,
10299 GOMP_loop_ull_ordered_dynamic_start,
10300 GOMP_loop_ull_ordered_guided_next,
10301 GOMP_loop_ull_ordered_guided_start,
10302 GOMP_loop_ull_ordered_runtime_next,
10303 GOMP_loop_ull_ordered_runtime_start,
10304 GOMP_loop_ull_ordered_static_next,
10305 GOMP_loop_ull_ordered_static_start,
10306 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
10307 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
10308 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
10309 (omp_set_schedule, omp_get_schedule,
10310 omp_get_thread_limit, omp_set_max_active_levels,
10311 omp_get_max_active_levels, omp_get_level,
10312 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
10313 omp_set_schedule_, omp_set_schedule_8_,
10314 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10315 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10316 omp_get_max_active_levels_, omp_get_level_,
10317 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10318 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10319 New exports @@OMP_3.0.
10320 * omp.h.in (omp_sched_t): New type.
10321 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10322 omp_set_max_active_levels, omp_get_max_active_levels,
10323 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10324 omp_get_active_level): New prototypes.
10325 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
10326 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
10327 gomp_thread_limit_var, gomp_remaining_threads_count,
10328 gomp_remaining_threads_lock): New variables.
10329 (parse_spincount): New function.
10330 (initialize_env): Call gomp_init_num_threads unconditionally.
10331 Initialize gomp_available_cpus. Call parse_spincount,
10332 initialize gomp_{,throttled_}spin_count_var
10333 depending on presence and value of OMP_WAIT_POLICY and
10334 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
10335 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
10336 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
10337 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
10338 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
10339 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10340 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10341 (gomp_global_icv): New.
10342 (parse_schedule): Use it. Parse "auto".
10343 (omp_set_num_threads): Use gomp_icv.
10344 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
10346 (omp_get_max_threads): Move from parallel.c.
10347 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10348 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
10350 (parse_stacksize, parse_wait_policy): New functions.
10351 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
10352 both wrappers for compatibility and new locks.
10353 (omp_set_schedule, omp_get_schedule,
10354 omp_get_thread_limit, omp_set_max_active_levels,
10355 omp_get_max_active_levels, omp_get_level,
10356 omp_get_ancestor_thread_num, omp_get_team_size,
10357 omp_get_active_level): New ialias_redirect.
10358 (omp_set_schedule_, omp_set_schedule_8_,
10359 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10360 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10361 omp_get_max_active_levels_, omp_get_level_,
10362 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10363 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10365 * parallel.c: Include limits.h.
10366 (gomp_resolve_num_threads): Add count argument. Rewritten.
10367 (GOMP_parallel_start): Call gomp_new_team and pass that as last
10368 argument to gomp_team_start. Pass 0 as second argument to
10369 gomp_resolve_num_threads.
10370 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
10371 if gomp_thread_limit_var != ULONG_MAX.
10372 (omp_in_parallel): Implement using ts.active_level.
10373 (omp_get_max_threads): Move to env.c.
10374 (omp_get_level, omp_get_ancestor_thread_num,
10375 omp_get_team_size, omp_get_active_level): New functions,
10377 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
10378 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
10379 gomp_iter_dynamic_next instead of the _locked variant and don't take
10380 lock around it, otherwise acquire it before calling
10381 gomp_iter_dynamic_next_locked.
10382 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
10383 gomp_iter_dynamic_next instead of the _locked variant and don't take
10385 (GOMP_parallel_sections_start): Call gomp_new_team instead of
10386 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
10387 Adjust gomp_team_start caller. Pass count as second argument to
10388 gomp_resolve_num_threads, don't adjust num_threads after the call.
10390 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
10391 ws->chunk_size by incr.
10392 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
10394 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
10396 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
10397 (omp_check_defines): Check even the compat defines.
10398 * config/linux/ptrlock.c: New file.
10399 * config/linux/ptrlock.h: New file.
10400 * config/linux/wait.h: New file.
10401 * config/posix/ptrlock.c: New file.
10402 * config/posix/ptrlock.h: New file.
10403 * config/linux/bar.h (gomp_team_barrier_wait,
10404 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
10405 (gomp_team_barrier_set_task_pending,
10406 gomp_team_barrier_clear_task_pending,
10407 gomp_team_barrier_set_waiting_for_tasks,
10408 gomp_team_barrier_waiting_for_tasks,
10409 gomp_team_barrier_done): New inlines.
10410 (gomp_barrier_t): Rewritten.
10411 (gomp_barrier_state_t): New typedef.
10412 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
10413 gomp_barrier_wait_start): Rewritten.
10414 (gomp_barrier_wait_end): Change second argument to
10415 gomp_barrier_state_t.
10416 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
10418 * config/linux/bar.c: Include wait.h instead of libgomp.h and
10420 (gomp_barrier_wait_end): Rewritten.
10421 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
10422 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
10423 * config/posix/bar.h (gomp_barrier_t): Add generation field.
10424 (gomp_barrier_state_t): New typedef.
10425 (gomp_team_barrier_wait,
10426 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
10427 (gomp_barrier_wait_start): Or all but low 2 bits from generation
10428 into the return value. Return gomp_barrier_state_t.
10429 (gomp_team_barrier_set_task_pending,
10430 gomp_team_barrier_clear_task_pending,
10431 gomp_team_barrier_set_waiting_for_tasks,
10432 gomp_team_barrier_waiting_for_tasks,
10433 gomp_team_barrier_done): New inlines.
10434 (gomp_barrier_wait_end): Change second argument to
10435 gomp_barrier_state_t.
10436 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
10438 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
10439 (gomp_barrier_wait_end): Change second argument to
10440 gomp_barrier_state_t.
10441 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
10442 gomp_team_barrier_wake): New functions.
10443 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
10445 (gomp_futex_wake, gomp_futex_wait): New variables.
10446 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
10447 * config/linux/lock.c: Rewrite to make locks task owned,
10448 for backwards compatibility provide the old entrypoints
10449 if symbol versioning. Include wait.h instead of libgomp.h and
10451 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
10452 * config/posix95/lock.c: Rewrite to make locks task owned,
10453 for backwards compatibility provide the old entrypoints
10454 if symbol versioning.
10455 * config/posix/lock.c: Rewrite to make locks task owned,
10456 for backwards compatibility provide the old entrypoints
10457 if symbol versioning.
10458 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
10459 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
10460 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
10461 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10462 (sys_futex0): Return error code.
10463 (futex_wake, futex_wait): If ENOSYS was returned, clear
10464 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10465 (cpu_relax, atomic_write_barrier): New static inlines.
10466 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10467 (futex_wake, futex_wait): If ENOSYS was returned, clear
10468 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10469 (cpu_relax, atomic_write_barrier): New static inlines.
10470 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10471 (sys_futex0): Return error code.
10472 (futex_wake, futex_wait): If ENOSYS was returned, clear
10473 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10474 (cpu_relax, atomic_write_barrier): New static inlines.
10475 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10476 (sys_futex0): Return error code.
10477 (futex_wake, futex_wait): If ENOSYS was returned, clear
10478 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10479 (cpu_relax, atomic_write_barrier): New static inlines.
10480 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10481 (sys_futex0): Return error code.
10482 (futex_wake, futex_wait): If ENOSYS was returned, clear
10483 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10484 (cpu_relax, atomic_write_barrier): New static inlines.
10485 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10486 (sys_futex0): Return error code.
10487 (futex_wake, futex_wait): If ENOSYS was returned, clear
10488 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10489 (cpu_relax, atomic_write_barrier): New static inlines.
10490 * config/linux/sem.c: Include wait.h instead of libgomp.h and
10492 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
10493 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
10494 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
10496 (omp_nest_lock_t): Change owner into void *, add lock field.
10497 * config/posix95/omp-lock.h: Include semaphore.h.
10498 (omp_lock_25_t, omp_nest_lock_25_t): New types.
10499 (omp_lock_t): Use sem_t instead of mutex if semaphores
10501 (omp_nest_lock_t): Likewise. Change owner to void *.
10502 * config/posix/omp-lock.h: Include semaphore.h.
10503 (omp_lock_25_t, omp_nest_lock_25_t): New types.
10504 (omp_lock_t): Use sem_t instead of mutex if semaphores
10506 (omp_nest_lock_t): Likewise. Add owner field.
10508 2008-06-06 Jakub Jelinek <jakub@redhat.com>
10510 * testsuite/libgomp.c/collapse-1.c: New test.
10511 * testsuite/libgomp.c/collapse-2.c: New test.
10512 * testsuite/libgomp.c/collapse-3.c: New test.
10513 * testsuite/libgomp.c/icv-1.c: New test.
10514 * testsuite/libgomp.c/icv-2.c: New test.
10515 * testsuite/libgomp.c/lib-2.c: New test.
10516 * testsuite/libgomp.c/lock-1.c: New test.
10517 * testsuite/libgomp.c/lock-2.c: New test.
10518 * testsuite/libgomp.c/lock-3.c: New test.
10519 * testsuite/libgomp.c/loop-4.c: New test.
10520 * testsuite/libgomp.c/loop-5.c: New test.
10521 * testsuite/libgomp.c/loop-6.c: New test.
10522 * testsuite/libgomp.c/loop-7.c: New test.
10523 * testsuite/libgomp.c/loop-8.c: New test.
10524 * testsuite/libgomp.c/loop-9.c: New test.
10525 * testsuite/libgomp.c/nested-3.c: New test.
10526 * testsuite/libgomp.c/nestedfn-6.c: New test.
10527 * testsuite/libgomp.c/sort-1.c: New test.
10528 * testsuite/libgomp.c/task-1.c: New test.
10529 * testsuite/libgomp.c/task-2.c: New test.
10530 * testsuite/libgomp.c/task-3.c: New test.
10531 * testsuite/libgomp.c/task-4.c: New test.
10532 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
10533 to C++ testsuite default compiler options.
10534 * testsuite/libgomp.c++/collapse-1.C: New test.
10535 * testsuite/libgomp.c++/collapse-2.C: New test.
10536 * testsuite/libgomp.c++/ctor-10.C: New test.
10537 * testsuite/libgomp.c++/for-1.C: New test.
10538 * testsuite/libgomp.c++/for-2.C: New test.
10539 * testsuite/libgomp.c++/for-3.C: New test.
10540 * testsuite/libgomp.c++/for-4.C: New test.
10541 * testsuite/libgomp.c++/for-5.C: New test.
10542 * testsuite/libgomp.c++/loop-8.C: New test.
10543 * testsuite/libgomp.c++/loop-9.C: New test.
10544 * testsuite/libgomp.c++/loop-10.C: New test.
10545 * testsuite/libgomp.c++/task-1.C: New test.
10546 * testsuite/libgomp.c++/task-2.C: New test.
10547 * testsuite/libgomp.c++/task-3.C: New test.
10548 * testsuite/libgomp.c++/task-4.C: New test.
10549 * testsuite/libgomp.c++/task-5.C: New test.
10550 * testsuite/libgomp.c++/task-6.C: New test.
10551 * testsuite/libgomp.fortran/allocatable1.f90: New test.
10552 * testsuite/libgomp.fortran/allocatable2.f90: New test.
10553 * testsuite/libgomp.fortran/allocatable3.f90: New test.
10554 * testsuite/libgomp.fortran/allocatable4.f90: New test.
10555 * testsuite/libgomp.fortran/collapse1.f90: New test.
10556 * testsuite/libgomp.fortran/collapse2.f90: New test.
10557 * testsuite/libgomp.fortran/collapse3.f90: New test.
10558 * testsuite/libgomp.fortran/collapse4.f90: New test.
10559 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
10560 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
10561 * testsuite/libgomp.fortran/lib4.f90: New test.
10562 * testsuite/libgomp.fortran/lock-1.f90: New test.
10563 * testsuite/libgomp.fortran/lock-2.f90: New test.
10564 * testsuite/libgomp.fortran/nested1.f90: New test.
10565 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
10566 * testsuite/libgomp.fortran/strassen.f90: New test.
10567 * testsuite/libgomp.fortran/tabs1.f90: New test.
10568 * testsuite/libgomp.fortran/tabs2.f: New test.
10569 * testsuite/libgomp.fortran/task1.f90: New test.
10570 * testsuite/libgomp.fortran/task2.f90: New test.
10571 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
10572 * testsuite/libgomp.fortran/vla5.f90: Likewise.
10573 * testsuite/libgomp.c/pr26943-2.c: Likewise.
10574 * testsuite/libgomp.c/pr26943-3.c: Likewise.
10575 * testsuite/libgomp.c/pr26943-4.c: Likewise.
10577 2008-05-23 Jakub Jelinek <jakub@redhat.com>
10580 * testsuite/libgomp.c++/ctor-11.C: New test.
10581 * testsuite/libgomp.c++/ctor-12.C: New test.
10583 2008-05-15 Janis Johnson <janis187@us.ibm.com>
10585 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
10587 2008-05-07 Jakub Jelinek <jakub@redhat.com>
10589 PR middle-end/36106
10590 * testsuite/libgomp.c/atomic-5.c: New test.
10591 * testsuite/libgomp.c/atomic-6.c: New test.
10592 * testsuite/libgomp.c/autopar-1.c: New test.
10594 2008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10596 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
10597 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
10598 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
10599 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
10600 * configure: Regenerate.
10601 * Makefile.in, testsuite/Makefile.in: Likewise.
10603 2008-04-18 Paolo Bonzini <bonzini@gnu.org>
10606 * aclocal.m4: Regenerate.
10607 * configure: Regenerate.
10609 2008-03-18 Jakub Jelinek <jakub@redhat.com>
10611 PR middle-end/35611
10612 * testsuite/libgomp.c/atomic-4.c: New test.
10615 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
10616 (gomp_iter_guided_next): Likewise.
10617 * testsuite/libgomp.c/pr35625.c: New test.
10619 2008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10621 * aclocal.m4: Regenerate.
10622 * configure: Likewise.
10623 * Makefile.in: Likewise.
10624 * testsuite/Makefile.in: Likewise.
10626 2008-03-13 Jakub Jelinek <jakub@redhat.com>
10628 PR middle-end/35185
10629 * testsuite/libgomp.c++/pr35185.C: New test.
10631 2008-03-12 Jakub Jelinek <jakub@redhat.com>
10633 PR middle-end/35549
10634 * testsuite/libgomp.c/pr35549.c: New test.
10636 2008-03-06 Jakub Jelinek <jakub@redhat.com>
10638 * testsuite/libgomp.c/atomic-3.c: New test.
10640 2008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10643 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
10644 .F08 file suffixes.
10646 2008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
10649 * configure.ac: Add ACX_HEADER_STRING.
10650 * env.c: Include strings.h.
10651 * aclocal.m4: Regenerate.
10652 * config.h.in: Regenerate.
10653 * configure: Regenerate.
10654 * Makefile.in: Regenerate.
10655 * testsuite/Makefile.in: Regenerate.
10657 2008-02-15 Jakub Jelinek <jakub@redhat.com>
10659 PR middle-end/35196
10660 * testsuite/libgomp.c/pr35196.c: New test.
10662 PR middle-end/35130
10663 * testsuite/libgomp.fortran/pr35130.f90: New test.
10664 * testsuite/libgomp.c/pr35130.c: New test.
10666 2008-01-25 Jakub Jelinek <jakub@redhat.com>
10668 PR middle-end/33880
10669 * testsuite/libgomp.c/pr33880.c: New test.
10670 * testsuite/libgomp.fortran/pr33880.f90: New test.
10672 2008-01-24 David Edelsohn <edelsohn@gnu.org>
10674 * configure: Regenerate.
10676 2008-01-08 Jakub Jelinek <jakub@redhat.com>
10678 * configure.ac: Move futex checking into ../config/futex.m4.
10679 * configure: Rebuilt.
10680 * aclocal.m4: Rebuilt.
10681 * Makefile.in: Rebuilt.
10683 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
10684 2007-10-15 ../config/tls.m4 change.
10686 2007-12-19 Jakub Jelinek <jakub@redhat.com>
10689 * testsuite/libgomp.c/pr34513.c: New test.
10690 * testsuite/libgomp.c++/pr34513.C: New test.
10692 2007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
10695 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
10697 2007-12-04 Jakub Jelinek <jakub@redhat.com>
10699 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
10701 2007-12-03 Jakub Jelinek <jakub@redhat.com>
10703 * testsuite/libgomp.c/private-1.c: New test.
10705 2007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
10706 Paolo Bonzini <bonzini@gnu.org>
10708 * Makefile.am: Use space as vpath separator. Use 'vpath %'
10709 instead of 'VPATH ='.
10710 * Makefile.in: Regenerate.
10712 2007-11-23 Matthias Klose <doko@ubuntu.com>
10714 * configure.ac: Adjust makeinfo version check.
10715 * configure: Regenerate.
10717 2007-11-10 Jakub Jelinek <jakub@redhat.com>
10720 * testsuite/libgomp.fortran/pr34020.f90: New test.
10722 2007-11-06 Jakub Jelinek <jakub@redhat.com>
10725 * testsuite/libgomp.c++/atomic-1.C: New test.
10727 2007-10-25 Jakub Jelinek <jakub@redhat.com>
10730 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
10731 Make x and y integers rather than (implicit) reals. Add private (j)
10732 clause to the last omp parallel.
10734 2007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
10736 * configure: Regenerate following changes to ../config/tls.m4.
10738 2007-09-28 Jakub Jelinek <jakub@redhat.com>
10740 * testsuite/libgomp.fortran/stack.f90: New test.
10742 2007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
10744 * config/mingw32/proc.c: New file.
10746 2007-09-05 Uros Bizjak <ubizjak@gmail.com>
10748 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
10749 (main): Use __get_cpuid to get i386 target fetaures.
10750 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
10751 (main): Use __get_cpuid to get x86_64 target fetaures.
10753 2007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
10756 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
10757 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
10759 2007-07-12 Jakub Jelinek <jakub@redhat.com>
10762 * testsuite/libgomp.fortran/pr32550.f90: New test.
10763 * testsuite/libgomp.fortran/crayptr2.f90: New test.
10765 2007-07-05 H.J. Lu <hongjiu.lu@intel.com>
10767 * aclocal.m4: Regenerated.
10769 2007-07-05 Tobias Burnus <burnus@net-b.de>
10772 * testsuite/libgomp.fortran/pr32359.f90: New.
10774 2007-07-02 Jakub Jelinek <jakub@redhat.com>
10777 * sections.c (GOMP_parallel_sections_start): Only decrease
10778 number of threads to COUNT if dyn_var is true.
10779 * testsuite/libgomp.c/pr32468.c: New test.
10781 2007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10784 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
10786 2007-06-21 Jakub Jelinek <jakub@redhat.com>
10788 PR middle-end/32362
10789 * testsuite/libgomp.c/pr32362-1.c: New test.
10790 * testsuite/libgomp.c/pr32362-2.c: New test.
10791 * testsuite/libgomp.c/pr32362-3.c: New test.
10793 2007-06-07 Jakub Jelinek <jakub@redhat.com>
10795 * team.c (gomp_team_start): Fix setting up thread_attr
10798 2007-06-02 Paolo Bonzini <bonzini@gnu.org>
10800 * configure: Regenerate.
10802 2007-05-23 Steve Ellcey <sje@cup.hp.com>
10804 * Makefile.in: Regenerate.
10805 * configure: Regenerate.
10806 * aclocal.m4: Regenerate.
10807 * testsuite/Makefile.in: Regenerate.
10809 2007-05-04 Jakub Jelinek <jakub@redhat.com>
10811 * config/linux/proc.c: New file.
10814 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
10816 2007-04-19 Daniel Franke <franke.daniel@gmail.com>
10818 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
10820 2007-04-16 Matthias Klose <doko@debian.org>
10822 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
10823 flags if not building with -m64.
10824 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
10825 flag for i?86-*-* targets, if current target matches -m64.
10827 2007-04-14 Steve Ellcey <sje@cup.hp.com>
10829 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
10830 * Makefile.in: Regenerate.
10832 2007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10835 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
10837 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10839 2007-04-04 Jakub Jelinek <jakub@redhat.com>
10841 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
10843 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
10844 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
10845 (parse_affinity): New function.
10846 (initialize_env): Call it and gomp_init_affinity.
10847 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
10848 create new pthread_attr_t and call gomp_init_thread_affinity
10849 on it for each thread before passing the attribute to pthread_create.
10850 * config/linux/affinity.c: New file.
10851 * config/posix/affinity.c: New file.
10852 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
10853 * configure: Rebuilt.
10854 * config.h.in: Rebuilt.
10855 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
10856 * Makefile.in: Rebuilt.
10858 2007-03-23 Andreas Tobler <a.tobler@schweiz.org>
10860 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
10862 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
10863 and use it if found.
10865 2007-03-18 Uros Bizjak <ubizjak@gmail.com>
10867 * testsuite/config/default.exp: New file.
10868 * testsuite/lib/libgomp.exp: New file.
10869 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
10870 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
10871 load_lib *, load_gcc_lib *): Move to libgomp.exp.
10872 (libgomp_load): Remove.
10873 * testsuite/lib/libgomp.exp (libgomp_init): Compute
10874 always_ld_library_path, not ld_library_path. Set additional_flags
10875 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
10876 (target_compile): Do not call libgomp_init. Append lang_library_path
10877 and lang_link_flags to options.
10878 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
10879 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
10881 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
10882 always_ld_library_path. Set LD_LIBRARY_PATH here.
10883 * testsuite/libgomp.fortran/fortran.exp: Ditto.
10884 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
10885 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
10887 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
10888 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
10889 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
10890 * testsuite/libgomp.c/pr29947-1.c: Ditto.
10891 * testsuite/libgomp.c/atomic-10.c: Ditto.
10893 2007-03-21 Jakub Jelinek <jakub@redhat.com>
10895 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
10896 dg-final cleanup-modules line.
10897 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
10898 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
10899 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
10900 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
10901 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
10902 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
10903 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
10905 2007-03-18 Andreas Schwab <schwab@suse.de>
10907 * acinclude.m4: Adjust regular expression for ld version
10909 * configure: Regenerate.
10911 2007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
10913 * Makefile.am: Add install-pdf target as copied from
10914 automake v1.10 rules.
10915 * Makefile.in: Regenerate
10917 2007-02-07 Jakub Jelinek <jakub@redhat.com>
10920 * configure: Regenerate.
10923 * testsuite/libgomp.c++/pr30703.C: New test.
10925 2007-02-02 Jakub Jelinek <jakub@redhat.com>
10928 2006-07-05 Eric Christopher <echristo@apple.com>
10929 * configure.ac: Depend addition of -pthread on host OS.
10930 * configure: Regenerate.
10932 2007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10934 * libgomp.texi: Fix spacing after abbreviations.
10936 2007-01-31 Daniel Franke <franke.daniel@gmail.com>
10939 * configure.ac: Add check for makeinfo
10940 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
10941 if an appropiate version of makeinfo is found.
10942 * aclocal.m4: Regenerated.
10943 * configure: Regenerated.
10944 * Makefile.in: Regenerated.
10945 * testsuite/Makefile.in: Regenerated.
10947 2007-01-29 Daniel Franke <franke.daniel@gmail.com>
10950 * libgomp.texi: More about implementation-dependent settings.
10952 2007-01-26 Tobias Burnus <burnus@net-b.de>
10954 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
10956 2007-01-24 Jakub Jelinek <jakub@redhat.com>
10958 PR middle-end/30494
10959 * testsuite/libgomp.c/pr30494.c: New test.
10961 2007-01-15 Tom Tromey <tromey@redhat.com>
10963 * configure: Rebuilt.
10964 * configure.ac: Fixed comment.
10966 2007-01-14 Daniel Franke <franke.daniel@gmail.com>
10968 * libgomp.texi: Document implementation specific default values of
10969 environment variables.
10971 2006-12-21 Daniel Franke <franke.daniel@gmail.com>
10974 * libgomp.texi: New file.
10975 * configure.ac: Add --enable-generated-files-in-srcdir option.
10976 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
10978 * Makefile.in: Regenerated.
10979 * config.h.in: Regenerated.
10980 * testsuite/Makefile.in: Regenerated.
10983 2006-12-04 Daniel Franke <franke.daniel@gmail.com>
10986 * env.c (omp_set_num_threads): Set illegal thread count to 1.
10988 2006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
10990 * configure: Regenerate.
10992 2006-12-04 Jakub Jelinek <jakub@redhat.com>
10995 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
10996 start if there shouldn't be any loop iterations.
10997 (gomp_loop_ordered_static_start): Remove start == end test.
10998 * testsuite/libgomp.c/pr29947-1.c: New test.
10999 * testsuite/libgomp.c/pr29947-2.c: New test.
11001 2006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
11003 * configure.tgt: Force initial-exec TLS model on Linux only.
11005 2006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
11007 * configure: Regenerated.
11009 2006-11-09 Uros Bizjak <ubizjak@gmail.com>
11011 * env.c (parse_schedule): Reject out of range values.
11012 (parse_unsigned_long): Reject out of range, negative or zero values.
11014 2006-10-29 Jakub Jelinek <jakub@redhat.com>
11017 * testsuite/libgomp.fortran/pr29629.f90: New test.
11019 2006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
11022 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
11023 * config/posix95: New directory.
11024 * config/posix95/omp-lock.h: New file.
11025 * config/posix95/lock.c: Likewise.
11027 2006-10-14 Geoffrey Keating <geoffk@apple.com>
11029 * aclocal.m4: Regenerate.
11030 * configure: Regenerate.
11032 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
11034 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
11037 2006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
11039 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
11041 * configure: Regenerate.
11042 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
11044 2006-09-26 Jakub Jelinek <jakub@redhat.com>
11046 PR middle-end/25261
11047 PR middle-end/28790
11048 * testsuite/libgomp.c/nestedfn-4.c: New test.
11049 * testsuite/libgomp.c/nestedfn-5.c: New test.
11050 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
11053 * testsuite/libgomp.fortran/condinc1.f: New test.
11054 * testsuite/libgomp.fortran/condinc2.f: New test.
11055 * testsuite/libgomp.fortran/condinc3.f90: New test.
11056 * testsuite/libgomp.fortran/condinc4.f90: New test.
11057 * testsuite/libgomp.fortran/condinc1.inc: New file.
11059 2006-09-18 Tom Tromey <tromey@redhat.com>
11061 * configure: Rebuilt.
11063 2006-09-13 Joseph S. Myers <joseph@codesourcery.com>
11066 PR preprocessor/14634
11067 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
11069 * configure: Regenerate.
11071 2006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
11073 * testsuite/libgomp.fortran/reduction3.f90: Change
11074 -2147483648 to -huge(i)-1 to avoid overflow.
11075 * testsuite/libgomp.fortran/reduction4.f90: Change
11076 Z'ffffffff' to not(0) to avoid overflow.
11078 2006-08-26 Joseph S. Myers <joseph@codesourcery.com>
11081 * Makefile.am (libsubincludedir): New.
11082 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
11083 * Makefile.in: Regenerate.
11085 2006-08-17 Jakub Jelinek <jakub@redhat.com>
11088 * env.c: Include ctype.h.
11089 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
11090 leading and/or trailing whitespace and compare strings case
11093 2006-07-16 Jakub Jelinek <jakub@redhat.com>
11096 * testsuite/libgomp.fortran/pr28390.f: New test.
11098 2006-07-05 Eric Christopher <echristo@apple.com>
11100 * configure.ac: Depend addition of -pthread on host OS.
11101 * configure: Regenerate.
11103 2006-06-21 Jakub Jelinek <jakub@redhat.com>
11105 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
11106 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
11109 2006-06-20 Jakub Jelinek <jakub@redhat.com>
11113 * configure.ac: If neither --enable-linux-futex nor
11114 --disable-linux-futex is passed, determine the default by checking
11115 for compiling and/or running against NPTL. With --enable-linux-futex,
11116 check if SYS_gettid and SYS_futex are defined.
11117 * configure: Rebuilt.
11119 2006-06-14 Richard Henderson <rth@redhat.com>
11122 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
11123 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
11125 2006-06-09 Richard Henderson <rth@redhat.com>
11127 * env.c (gomp_nthreads_var): Change to unsigned long.
11128 (gomp_run_sched_chunk): Likewise.
11129 (parse_unsigned_long): Rename from parse_num_threads and generalize.
11130 (initialize_env): Initialize gomp_thread_attr.
11131 * libgomp.h (gomp_nthreads_var): Update decl.
11132 (gomp_run_sched_chunk): Likewise.
11133 (gomp_thread_attr): Declare.
11134 * team.c (gomp_thread_attr): Export.
11135 (initialize_team): Don't initialize it.
11137 2006-06-09 Jakub Jelinek <jakub@redhat.com>
11140 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
11141 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
11143 2006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11145 * config/mingw32/time.c: New file.
11146 * configure.tgt: Use it.
11148 2006-05-23 Carlos O'Donell <carlos@codesourcery.com>
11150 * Makefile.am: Add install-html target. Add install-html to .PHONY
11151 * Makefile.in: Regenerate.
11153 2006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11156 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
11157 * testsuite/libgomp.c/critical-1.c: Likewise.
11158 * testsuite/libgomp.c/loop-1.c: Likewise.
11159 * testsuite/libgomp.c/loop-2.c: Likewise.
11160 * testsuite/libgomp.c/single-1.c: Likewise.
11161 * testsuite/libgomp.c/ordered-1.c: Likewise.
11162 * testsuite/libgomp.c/ordered-2.c: Likewise.
11164 2006-05-15 Jakub Jelinek <jakub@redhat.com>
11166 PR middle-end/27416
11167 * libgomp.fortran/pr27416-1.f90: New test.
11169 2006-05-03 Jakub Jelinek <jakub@redhat.com>
11172 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
11173 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
11175 2006-05-02 Jakub Jelinek <jakub@redhat.com>
11178 * testsuite/libgomp.c/pr26943-1.c: New test.
11179 * testsuite/libgomp.c/pr26943-2.c: New test.
11180 * testsuite/libgomp.c/pr26943-3.c: New test.
11181 * testsuite/libgomp.c/pr26943-4.c: New test.
11182 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
11183 * testsuite/libgomp.c++/pr26943.C: New test.
11185 2006-05-02 Jakub Jelinek <jakub@redhat.com>
11187 PR middle-end/27337
11188 * testsuite/libgomp.c++/pr27337.C: New test.
11190 2006-04-26 Jakub Jelinek <jakub@redhat.com>
11193 * testsuite/libgomp.c/pr26171.c: New test.
11195 2006-04-25 Richard Henderson <rth@redhat.com>
11198 * configure.ac: Use GCC_CHECK_TLS.
11199 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
11200 * Makefile.in, aclocal.m4, configure: Regenerate.
11202 2006-04-10 Matthias Klose <doko@debian.org>
11204 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
11205 directory names containing underscores.
11207 2006-03-21 Jakub Jelinek <jakub@redhat.com>
11210 * testsuite/libgomp.c++/pr26691.C: New test.
11212 2006-03-13 Jakub Jelinek <jakub@redhat.com>
11214 * testsuite/libgomp.fortran/retval2.f90: New test.
11216 2006-03-09 Diego Novillo <dnovillo@redhat.com>
11218 * testsuite/libgomp.c++: New directory.
11220 2006-02-25 Shantonu Sen <ssen@opendarwin.org>
11222 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
11223 * config/posix/sem.c: Implement the above.
11225 2006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
11227 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
11228 define HAVE_BROKEN_POSIX_SEMAPHORES.
11229 * configure: Rebuilt.
11230 * config.h.in: Rebuilt.
11232 2006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11235 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
11236 for the other pthread check.
11237 * configure: Regenerate.
11238 * config.h.in: Regenerate.
11240 2006-02-15 Jakub Jelinek <jakub@redhat.com>
11244 * Makefile.am (fincludedir): New variable.
11245 (nodist_include_HEADERS): Remove Fortran files.
11246 (nodist_finclude_HEADERS): New variable.
11247 * Makefile.in: Regenerated.
11249 2006-02-13 Jakub Jelinek <jakub@redhat.com>
11251 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
11252 Remove tests for returning assumed character length arrays.
11254 2006-02-12 Roger Sayle <roger@eyesopen.com>
11255 John David Anglin <dave@hiauly1.hia.nrc.ca>
11258 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
11260 2006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
11262 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
11264 2006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
11266 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
11267 part of LD_LIBRARY_PATH manually.
11269 2006-02-03 H.J. Lu <hongjiu.lu@intel.com>
11272 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
11275 2005-01-25 Paolo Bonzini <bonzini@gnu.org>
11278 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
11279 * configure.ac (PERL): Don't set.
11280 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
11281 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
11282 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
11283 * omp.h.in: Wrap the new configure substitutions with @ characters.
11284 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
11285 * aclocal.m4, configure, Makefile.in: Regenerate.
11286 * mkomp_h.pl: Delete.
11288 2005-01-24 Paolo Bonzini <bonzini@gnu.org>
11291 * configure.ac: Use GCC_HEADER_STDINT.
11292 * libgomp.h: Include gstdint.h.
11293 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
11294 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
11296 2006-01-24 Richard Henderson <rth@redhat.com>
11299 * configure.ac: Add AM_MAINTAINER_MODE.
11300 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
11302 2006-01-24 Diego Novillo <dnovillo@redhat.com>
11304 * Makefile.in: Regenerate.
11305 * testsuite/Makefile.in: Regenerate.
11306 * aclocal.m4: Regenerate.
11308 2006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
11310 * config/posix/proc.c: Conditional include of sys/loadavg.h for
11312 * configure.ac: Add check for loadavg.h.
11313 (link_gomp): Adjust comment.
11314 * configure: Regenerate.
11315 * config.h.in: Regenerate.
11317 2006-01-21 Steve Ellcey <sje@cup.hp.com>
11320 * configure.ac: Remove check for alloca.h.
11321 * configure: Regenerate.
11322 * config.h.in: Regenerate.
11323 * libgomp.h: define gomp_alloca to be __builtin_alloca.
11324 * team.c: Remove use of alloca.h.
11325 Call gomp_alloca instead of alloca.
11327 2006-01-20 Steve Ellcey <sje@cup.hp.com>
11330 * team.c: Add include of alloca.h.
11331 * configure.ac: Add check for alloca.h.
11332 * configure: Regenerate.
11333 * config.h.in: Regenerate.
11335 2006-01-17 Jakub Jelinek <jakub@redhat.com>
11338 * testsuite/libgomp.fortran/pr25219.f90: New test.
11340 2005-12-05 Uros Bizjak <uros@kss-loka.si>
11342 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
11343 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
11344 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11345 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11346 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
11347 testsuite/libgomp.fortran/threadprivate1.f90,
11348 testsuite/libgomp.fortran/threadprivate2.f90,
11349 testsuite/libgomp.fortran/threadprivate3.f90,
11350 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11351 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11352 testsuite/libgomp.fortran/omp_parse3.f90: Change required
11353 effective-target to TLS runtime.
11355 * testsuite/libgomp.fortran/pr25162.f: Require
11356 effective-target TLS runtime.
11358 2005-12-01 Jakub Jelinek <jakub@redhat.com>
11360 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
11361 * testsuite/libgomp.c/nestedfn-3.c: New test.
11363 2005-11-30 Jakub Jelinek <jakub@redhat.com>
11366 * testsuite/libgomp.fortran/pr25162.f: New test.
11368 2005-11-28 Jakub Jelinek <jakub@redhat.com>
11370 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
11371 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
11373 2005-11-25 Jakub Jelinek <jakub@redhat.com>
11375 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
11376 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
11377 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
11378 single.c, team.c, work.c, config/linux/alpha/futex.h,
11379 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
11380 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
11381 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
11382 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
11383 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
11384 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
11385 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
11388 2005-11-18 Jakub Jelinek <jakub@redhat.com>
11390 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
11391 to nodist_noinst_HEADERS.
11392 * Makefile.in: Rebuilt.
11394 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
11395 add integer count field.
11396 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
11397 omp_nest_lock_t type change.
11398 (omp_init_nest_lock): Likewise. Initialize count to 0.
11399 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
11401 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
11403 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
11404 Increment count if successful and return the new nesting level.
11405 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
11406 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
11407 * testsuite/libgomp.c/lib-1.c: New test.
11408 * testsuite/libgomp.fortran/lib1.f90: New test.
11409 * testsuite/libgomp.fortran/lib2.f: New test.
11410 * testsuite/libgomp.fortran/lib3.f: New test.
11412 2005-11-17 Richard Henderson <rth@redhat.com>
11415 * Makefile.am (nodist_toolexeclib_HEADERS): New.
11416 * configure.ac (link_gomp): New. Substitute it.
11417 (AC_CONFIG_FILES): Add libgomp.spec.
11418 * libgomp.spec.in: New file.
11419 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
11420 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
11422 2005-11-18 Jakub Jelinek <jakub@redhat.com>
11424 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
11425 reduction(-:var) behaving the same as reduction(+:var).
11426 * testsuite/libgomp.c/reduction-4.c: New test.
11428 2005-11-15 Uros Bizjak <uros@kss-loka.si>
11430 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
11431 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
11432 testsuite/libgomp.c/copyin-3.c,
11433 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11434 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11435 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
11436 testsuite/libgomp.c++/pr24455.C,
11437 testsuite/libgomp.fortran/threadprivate1.f90,
11438 testsuite/libgomp.fortran/threadprivate2.f90,
11439 testsuite/libgomp.fortran/threadprivate3.f90,
11440 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11441 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11442 testsuite/libgomp.fortran/omp_parse3.f90: Require
11443 effective-target TLS.
11445 2005-11-14 Diego Novillo <dnovillo@redhat.com>
11449 2005-11-13 Jakub Jelinek <jakub@redhat.com>
11452 * team.c (initialize_team): Pass NULL rather than free as
11453 pthread_key_create destructor. Initialize thread specific data
11454 pointer in initial thread to a static local variable rather than
11457 2005-11-11 Uros Bizjak <uros@kss-loka.si>
11459 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
11460 its location to ld_library_path.
11462 2005-11-10 Diego Novillo <dnovillo@redhat.com>
11464 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
11466 2005-11-10 Diego Novillo <dnovillo@redhat.com>
11468 * testsuite/libgomp.c: Rename from libgomp.dg.
11470 2005-11-09 Diego Novillo <dnovillo@redhat.com>
11472 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
11473 threadprivate variable 'i'.
11475 2005-11-09 Jakub Jelinek <jakub@redhat.com>
11477 * config/linux/s390/futex.h: New file.
11478 * configure.tgt: Use it.
11480 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
11481 before the parallel.
11483 2005-11-08 Jakub Jelinek <jakub@redhat.com>
11486 * testsuite/libgomp.c++/master-1.C: New test.
11488 2005-11-07 Jakub Jelinek <jakub@redhat.com>
11490 * testsuite/libgomp.dg/copyin-3.c: New test.
11492 2005-11-07 Jakub Jelinek <jakub@redhat.com>
11494 * testsuite/libgomp.fortran/retval1.f90: New test.
11495 * testsuite/libgomp.fortran/vla7.f90: New test.
11497 2005-11-06 Jakub Jelinek <jakub@redhat.com>
11499 * testsuite/libgomp.fortran/vla2.f90: New test.
11500 * testsuite/libgomp.fortran/vla3.f90: New test.
11501 * testsuite/libgomp.fortran/vla4.f90: New test.
11502 * testsuite/libgomp.fortran/vla5.f90: New test.
11503 * testsuite/libgomp.fortran/vla6.f90: New test.
11505 2005-11-01 Jakub Jelinek <jakub@redhat.com>
11507 * config/linux/sparc/futex.h: New file.
11508 * configure.tgt: Use it.
11509 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
11511 * critical.c: Include stdlib.h.
11512 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
11513 ignoring return value.
11514 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
11515 LIBGOMP_CHECK_SYNC_BUILTINS check.
11516 * configure: Rebuilt.
11518 2005-10-31 Jakub Jelinek <jakub@redhat.com>
11520 * testsuite/libgomp.fortran/vla1.f90: New test.
11522 2005-10-31 Richard Henderson <rth@redhat.com>
11524 * testsuite/libgomp.fortran/character2.f90: Fix race condition
11525 setting 's' in different threads.
11527 2005-10-31 Jakub Jelinek <jakub@redhat.com>
11529 * libgomp.h (attribute_hidden, ialias): Define.
11530 * config/posix/proc.c (omp_get_num_procs): Add ialias.
11531 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
11532 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
11533 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
11534 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
11535 omp_test_lock, omp_test_nest_lock): Likewise.
11536 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
11537 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
11538 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
11539 omp_test_lock, omp_test_nest_lock): Likewise.
11540 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
11541 omp_get_dynamic, omp_get_nested): Likewise.
11542 * parallel.c (omp_get_num_threads, omp_get_max_threads,
11543 omp_get_thread_num, omp_in_parallel): Likewise.
11544 * fortran.c (ialias_redirect): Define.
11545 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
11546 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
11547 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
11548 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
11549 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
11550 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
11551 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
11552 omp_get_wtime): Add ialias_redirect.
11554 2005-10-30 Jakub Jelinek <jakub@redhat.com>
11556 * fortran.c: Include stdlib.h.
11558 2005-10-29 Jakub Jelinek <jakub@redhat.com>
11560 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
11561 * Makefile.in: Regenerated.
11563 2005-10-28 Jakub Jelinek <jakub@redhat.com>
11565 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
11566 * libgomp_f.h.in (omp_check_defines): New function.
11567 * env.c: Include libgomp_f.h.
11568 (initialize_env): Call omp_check_defines.
11570 * testsuite/libgomp.dg/copyin-2.c: New test.
11571 * testsuite/libgomp.c++/copyin-2.C: New test.
11572 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
11574 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
11575 * testsuite/libgomp.fortran/sharing2.f90: New test.
11577 * testsuite/libgomp.dg/copyin-1.c: New test.
11578 * testsuite/libgomp.c++/copyin-1.C: New test.
11580 2005-10-26 Jakub Jelinek <jakub@redhat.com>
11582 * testsuite/libgomp.fortran/crayptr1.f90: New test.
11584 * testsuite/libgomp.fortran/workshare1.f90: New test.
11586 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
11588 * libgomp.fortran/sharing1.f90: New test.
11590 2005-10-24 Jakub Jelinek <jakub@redhat.com>
11593 * testsuite/libgomp.c++/loop-7.C: New test.
11595 * testsuite/libgomp.dg/nestedfn-2.c: New test.
11597 * testsuite/libgomp.dg/nestedfn-1.c: New test.
11598 * testsuite/libgomp.fortran/reduction6.f90: New test.
11599 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
11601 2005-10-23 Richard Henderson <rth@redhat.com>
11603 * testsuite/libgomp.c++/ctor-1.C: New.
11604 * testsuite/libgomp.c++/ctor-2.C: New.
11605 * testsuite/libgomp.c++/ctor-3.C: New.
11606 * testsuite/libgomp.c++/ctor-4.C: New.
11607 * testsuite/libgomp.c++/ctor-5.C: New.
11608 * testsuite/libgomp.c++/ctor-6.C: New.
11609 * testsuite/libgomp.c++/ctor-7.C: New.
11610 * testsuite/libgomp.c++/ctor-8.C: New.
11611 * testsuite/libgomp.c++/ctor-9.C: New.
11613 2005-10-21 Diego Novillo <dnovillo@redhat.com>
11616 * testsuite/libgomp.c++/pr24455-1.C: New test.
11617 * testsuite/libgomp.c++/pr24455.C: New test.
11618 * testsuite/libgomp.dg/pr24455-1.c: New test.
11619 * testsuite/libgomp.dg/pr24455.c: New test.
11621 2005-10-20 Richard Henderson <rth@redhat.com>
11623 * testsuite/libgomp.c++/loop-6.C: New.
11624 * testsuite/libgomp.dg/loop-3.c: New.
11626 2005-10-20 Jakub Jelinek <jakub@redhat.com>
11628 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
11629 explicitly private.
11630 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
11633 2005-10-19 Diego Novillo <dnovillo@redhat.com>
11635 * testsuite/libgomp.fortran/jacobi.f: New test.
11637 2005-10-19 Richard Henderson <rth@redhat.com>
11639 * configure.tgt (i?86-linux): Default to with_arch instead of
11640 CFLAGS. Add -mtune to match target_cpu.
11641 (x86_64-linux): Tune to i686.
11643 * fortran.c (omp_test_nest_lock_): Fix typo.
11645 2005-10-19 Jakub Jelinek <jakub@redhat.com>
11647 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
11648 gomp_ordered_sync): Do nothing if team->nthreads == 1.
11649 * testsuite/libgomp.dg/ordered-3.c: New test.
11651 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
11652 Remove volatile keyword.
11654 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
11655 in COMMON block to avoid warnings on 64-bit targets.
11657 2005-10-18 Diego Novillo <dnovillo@redhat.com>
11659 * testsuite/libgomp.dg/shared-3.c: New test.
11661 2005-10-18 Jakub Jelinek <jakub@redhat.com>
11663 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
11664 * testsuite/libgomp.fortran/reduction5.f90: New test.
11666 2005-10-18 Jakub Jelinek <jakub@redhat.com>
11668 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
11670 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
11671 flush loop now that __sync_synchronize has proper memory barrier.
11672 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
11673 Add -ffixed-form to dg-options.
11675 2005-10-17 Diego Novillo <dnovillo@redhat.com>
11677 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
11678 from subdirectories.
11679 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
11680 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
11681 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
11682 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
11683 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
11684 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
11685 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
11686 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
11687 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
11688 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
11689 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
11690 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
11691 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
11692 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
11693 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
11694 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
11695 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
11696 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
11697 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
11698 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
11699 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
11700 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
11701 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
11702 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
11703 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
11705 2005-10-17 Jakub Jelinek <jakub@redhat.com>
11707 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
11708 lang_library_path exists. Use find instead of glob to gather tests.
11709 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
11711 2005-10-17 Diego Novillo <dnovillo@redhat.com>
11713 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
11714 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
11715 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
11716 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
11717 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
11718 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
11719 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
11720 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
11721 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
11722 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
11723 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
11724 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
11725 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
11727 2005-10-15 Jakub Jelinek <jakub@redhat.com>
11729 * testsuite/libgomp.dg/vla-1.c: New test.
11731 * testsuite/libgomp.fortran/reference2.f90: New test.
11733 * testsuite/libgomp.fortran/character2.f90: Remove explicit
11734 declaration of omp_get_thread_num.
11735 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
11738 * testsuite/libgomp.fortran/reduction1.f90: New test.
11739 * testsuite/libgomp.fortran/reduction2.f90: New test.
11740 * testsuite/libgomp.fortran/reduction3.f90: New test.
11741 * testsuite/libgomp.fortran/reduction4.f90: New test.
11743 2005-10-13 Richard Henderson <rth@redhat.com>
11745 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
11746 * Makefile.in: Regenerate.
11747 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
11748 * libgomp.h: Include bar.h.
11749 (struct gomp_barrier): Remove.
11750 (struct gomp_team): Add barrier. Replace master_barrier with
11751 master_release. Replace threads with ordered_release.
11752 (struct gomp_thread): Replace barrier with release.
11753 * ordered.c (gomp_ordered_first): Update for ordered_release change.
11754 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
11755 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
11756 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
11757 (GOMP_single_copy_end): Likewise.
11758 * team.c (gomp_threads_dock): New.
11759 (gomp_barrier_init, gomp_barrier_destroy): Remove.
11760 (gomp_thread_start): Use gomp_barrier_wait.
11761 (new_team, free_team): Update for gomp_team changes.
11762 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
11763 (gomp_team_end): Use gomp_barrier_wait.
11764 (initialize_team): Update for gomp_thread changes.
11765 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
11766 (gomp_work_share_end_nowait): Use atomic ops when available.
11767 * config/linux/bar.c, config/linux/bar.h: New files.
11768 * config/posix/bar.c, config/posix/bar.h: New files.
11770 2005-10-13 Jakub Jelinek <jakub@redhat.com>
11772 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
11773 * testsuite/libgomp.dg/single-2.c: New test.
11775 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
11776 lang_link_flags): Unset, so that they aren't inherited from previously
11779 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
11781 2005-10-12 Richard Henderson <rth@redhat.com>
11783 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
11784 (libgomp_init): Use lang_test_file, lang_library_path, and
11785 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
11787 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
11788 (lang_test_file, lang_link_flags): New.
11789 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
11791 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
11792 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
11793 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
11794 testsuite/libgomp.c++/parallel-1.C,
11795 testsuite/libgomp.c++/reduction-1.C,
11796 testsuite/libgomp.c++/reduction-2.C,
11797 testsuite/libgomp.c++/reduction-3.C,
11798 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
11799 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
11800 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
11801 New files, largely cribbed from the C testsuite.
11803 2005-10-12 Jakub Jelinek <jakub@redhat.com>
11805 * testsuite/libgomp.fortran/character1.f90: New test.
11806 * testsuite/libgomp.fortran/character2.f90: New test.
11808 * testsuite/libgomp.dg/nested-1.c: New test.
11809 * testsuite/libgomp.dg/nested-2.c: New test.
11810 * testsuite/libgomp.fortran/do1.f90: New test.
11811 * testsuite/libgomp.fortran/do2.f90: New test.
11813 * testsuite/libgomp.fortran/reference1.f90: New test.
11815 2005-10-11 Jakub Jelinek <jakub@redhat.com>
11817 * testsuite/libgomp.dg/reduction-1.c: New test.
11818 * testsuite/libgomp.dg/reduction-2.c: New test.
11819 * testsuite/libgomp.dg/reduction-3.c: New test.
11821 2005-10-10 Jakub Jelinek <jakub@redhat.com>
11823 * testsuite/libgomp.dg/atomic-1.c: New test.
11824 * testsuite/libgomp.dg/atomic-2.c: New test.
11826 2005-10-09 Richard Henderson <rth@redhat.com>
11828 * critical.c (atomic_lock): New.
11829 (initialize_critical): Initialize it.
11830 (GOMP_atomic_start, GOMP_atomic_end): New.
11831 * libgomp.map: Export them.
11832 * libgomp_g.h: Declare them.
11834 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
11836 2005-10-02 Richard Henderson <rth@redhat.com>
11838 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
11839 to XCFLAGS instead of CFLAGS.
11841 2005-09-30 Richard Henderson <rth@redhat.com>
11843 * configure.ac: Determine whether -pthread or -lpthread is needed.
11844 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
11845 * Makefine.in, configure: Rebuild.
11847 2005-09-28 Richard Henderson <rth@redhat.com>
11849 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
11850 * testsuite/libgomp.dg/omp-single-3.c: New test.
11852 2005-09-28 Diego Novillo <dnovillo@redhat.com>
11854 * testsuite/libgomp.dg/omp-single-2.c: New test.
11855 * testsuite/libgomp.dg/shared-2.c: Fix return code.
11857 2005-09-27 Richard Henderson <rth@redhat.com>
11859 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
11860 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
11862 2005-09-27 Jakub Jelinek <jakub@redhat.com>
11864 * testsuite/libgomp.dg/omp-loop03.c: New test.
11866 2005-09-27 Diego Novillo <dnovillo@redhat.com>
11868 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
11870 2005-09-27 Diego Novillo <dnovillo@redhat.com>
11872 * testsuite/libgomp.dg/omp-single-1.c: New test.
11873 * testsuite/libgomp.dg/shared-1.c: Return 0.
11874 Add prototype for abort.
11875 * testsuite/libgomp.dg/shared-2.c: Likewise.
11877 2005-09-26 Jakub Jelinek <jakub@redhat.com>
11879 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
11882 2005-09-26 Diego Novillo <dnovillo@redhat.com>
11884 * testsuite/libgomp.dg/shared-1.c: New test.
11885 * testsuite/libgomp.dg/shared-2.c: New test.
11887 2005-09-24 Richard Henderson <rth@redhat.com>
11889 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
11891 2005-09-24 Richard Henderson <rth@redhat.com>
11893 * iter.c (gomp_iter_static_next): Round up when computing number
11894 of iterations. Don't bother distributing a remainder equally.
11896 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
11897 Don't call srand. Zero b before testing.
11900 2005-09-24 Jakub Jelinek <jakub@redhat.com>
11902 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
11903 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
11905 2005-09-23 Jakub Jelinek <jakub@redhat.com>
11907 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
11908 without !$omp end do, followed immediately by subroutine end.
11910 2005-09-23 Diego Novillo <dnovillo@redhat.com>
11912 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
11914 2005-09-22 Richard Henderson <rth@redhat.com>
11916 * critical.c (GOMP_critical_name_start): Change argument to void**.
11917 Reuse the pointer space if the mutex fits.
11918 (GOMP_critical_name_end): Likewise.
11919 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
11920 * libgomp_g.h (GOMP_critical_name_start): Update decl.
11921 (GOMP_critical_name_end): Likewise.
11922 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
11923 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
11925 2005-09-20 Richard Henderson <rth@redhat.com>
11927 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
11928 (create_lock_lock): New.
11929 (initialize_critical): Initialize it.
11930 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
11931 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
11933 2005-09-20 Diego Novillo <dnovillo@redhat.com>
11935 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
11937 2005-09-20 Diego Novillo <dnovillo@redhat.com>
11939 * testsuite/libgomp.dg/omp-loop01.c: New test.
11940 * testsuite/libgomp.dg/omp-loop02.c: New test.
11942 2005-09-20 Jakub Jelinek <jakub@redhat.com>
11944 * configure.ac (AC_PROG_FC): Add.
11945 (USE_FORTRAN): New automake conditional.
11946 * configure: Rebuilt.
11947 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
11948 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
11949 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
11950 Add rules to build them.
11951 * Makefile.in: Rebuilt.
11952 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
11953 OMP_NEST_LOCK_KIND.
11954 * libgomp.map: Add Fortran wrappers.
11955 * libgomp_f.h.in: New file.
11956 * omp_lib.h.in: New file.
11957 * omp_lib.f90.in: New file.
11958 * fortran.c: New file.
11959 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
11960 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
11961 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
11962 libgfortran has been built.
11963 * testsuite/libgomp.fortran/fortran.exp: New file.
11964 * testsuite/libgomp.fortran/omp_cond1.f: New test.
11965 * testsuite/libgomp.fortran/omp_cond2.f: New test.
11966 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
11967 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
11968 * testsuite/libgomp.fortran/omp_hello.f: New test.
11969 * testsuite/libgomp.fortran/omp_orphan.f: New test.
11970 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
11971 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
11972 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
11973 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
11974 * testsuite/libgomp.fortran/omp_reduction.f: New test.
11975 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
11976 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
11978 2005-08-30 Richard Henderson <rth@redhat.com>
11980 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
11981 function for when aliases are not usable.
11982 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
11983 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11984 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
11985 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
11986 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
11987 GOMP_loop_ordered_guided_next): Likewise.
11988 * ordered.c (GOMP_ordered_start): Likewise.
11990 2005-08-01 Diego Novillo <dnovillo@redhat.com>
11992 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
11993 * testsuite/libgomp.dg/omp_hello.c: Fix return code
11994 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
11995 * testsuite/libgomp.dg/omp_orphan.c: Likewise
11996 * testsuite/libgomp.dg/omp_reduction.c: Likewise
11997 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
11998 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
11999 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
12000 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
12002 2005-07-07 Eric Christopher <echristo@redhat.com>
12003 Diego Novillo <dnovillo@redhat.com>
12005 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
12006 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
12008 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
12009 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
12010 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
12011 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
12012 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
12013 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
12014 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
12016 2005-06-13 Diego Novillo <dnovillo@redhat.com>
12018 * TOPLEVEL.patch: Remove.
12020 2005-05-16 Richard Henderson <rth@redhat.com>
12022 * configure.ac: Test for clock_gettime.
12023 * config.h.in, configure: Rebuild.
12024 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
12025 (omp_get_wtime): Use clock_gettime if available.
12026 (omp_get_wtick): Use clock_getres if available.
12028 2005-05-11 Richard Henderson <rth@redhat.com>
12030 * config/linux/ia64/futex.h: New file.
12031 * configure.tgt: Use it.
12033 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
12035 2005-05-07 Richard Henderson <rth@redhat.com>
12037 * config/linux/powerpc/futex.h: New file.
12038 * configure.tgt: Use it.
12040 * config/linux/i486/futex.h: Merge ...
12041 * config/linux/x86_64/futex.h: ... into ...
12042 * config/linux/x86/futex.h: ... here.
12043 * configure.tgt: Update to match.
12045 2005-05-06 Richard Henderson <rth@redhat.com>
12047 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
12048 * config/linux/i486/futex.h: Likewise.
12049 * config/linux/x86_64/futex.h: Likewise.
12051 * config/linux/lock.c: New file.
12052 * config/linux/omp-lock.h: New file.
12054 * critical.c, env.h: Don't include omp.h
12055 * config/posix/lock.c: Include libgomp.h instead of omp.h.
12056 * config/posix/time.c: Likewise.
12057 * config/posix/omp-lock.h: New file.
12058 * libgomp.h: Include omp-lock.h and omp.h.
12059 * Makefile.am (nodist_include_HEADERS): New.
12061 * configure.ac (PERL): New.
12062 * mkomp_h.pl: New file.
12063 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
12065 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
12067 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
12068 build directory. Re-add -march=i486 hack.
12070 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
12071 (libgomp_link_flags): Remove.
12072 (libgomp_initialized): Remove.
12073 (libgomp_init): Don't protect from reinitialization. Copy code
12074 from libstdc++ for getting the multilib set correctly.
12076 2005-05-05 Richard Henderson <rth@redhat.com>
12078 * config/linux/alpha/futex.h: New file.
12079 * configure.tgt (alpha*-*-linux*): Use it.
12081 * config/posix/mutex.c: New file.
12082 * config/posix/sem.c: Use libgomp.h.
12084 * configure.tgt (x86_64-linux): Also test CC for -m32.
12085 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
12087 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
12090 * Makefile.am (SUBDIRS): New.
12091 (libgomp_la_LDFLAGS): Add -lpthread.
12092 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
12093 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
12095 * libgomp_g.h: New file.
12096 * libgomp.h: Split out all public declarations to libgomp_g.h.
12097 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
12098 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
12099 * config/linux/sem.h: Likewise.
12100 * config/posix/sem.h: Likewise.
12102 * Makefile.am (AM_LDFLAGS): New.
12103 (libgomp_version_script): Split out from ...
12104 (libgomp_la_LDFLAGS): ... here.
12105 (libgomp_version_info): New.
12106 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
12107 (LIBGOMP_ENABLE): New.
12108 (LIBGOMP_CHECK_LINKER_FEATURES): New.
12109 (LIBGOMP_ENABLE_SYMVERS): New.
12110 * configure.ac (AC_INIT): Version 1.0.
12111 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
12112 (enable-linux-futex): Likewise. Rename from enable-futex.
12113 (libtool_VERSION): New.
12114 (LIBGOMP_ENABLE_SYMVERS): Use it.
12115 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
12116 * Makefile.in, aclocal.m4, configure: Rebuild.
12118 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
12119 (gomp_mutex_unlock_slow): Fix typo.
12120 * config/linux/sem.c: Similarly.
12121 (gomp_sem_post_slow): Fix typo.
12122 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
12123 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
12124 [__PIC__] (sys_futex0): Don't use tmp output in asm.
12126 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
12127 (libgomp_la_LDFLAGS): Add top_srcdir to path.
12128 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
12129 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
12130 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
12131 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
12132 LDFLAGS. Pull enable_futex check to top-level.
12133 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
12134 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
12136 First attempt at real configury.
12137 * Makefile, config.h: Remove file.
12138 * Makefile.am, Makefile.in: New file.
12139 * acinclude.m4 aclocal.m4: New file.
12140 * configure.ac, configure.tgt, configure: New file.
12142 * config/posix/lock.c: Rename from sys-lock.c.
12143 * config/posix/mutex.h: Rename from sys-mutex.h.
12144 * config/posix/sem.c: Rename from sys-sem.c.
12145 * config/posix/sem.h: Rename from sys-sem.h.
12146 * config/posix/proc.c: Rename from sys-proc.c.
12147 * config/posix/time.c: Rename from sys-proc.c.
12149 * config/linux/mutex.c: New file.
12150 * config/linux/mutex.h: New file.
12151 * config/linux/sem.c: New file.
12152 * config/linux/sem.h: New file.
12153 * config/linux/i486/futex.h: New file.
12154 * config/linux/x86_64/futex.h: New file.
12156 2005-05-04 Richard Henderson <rth@redhat.com>
12158 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
12159 * libgomp.h: Declare them.
12160 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
12161 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
12163 2005-05-04 Richard Henderson <rth@redhat.com>
12165 * libgomp-1 code drop
12167 2005-05-04 Richard Henderson <rth@redhat.com>
12169 * iter.c (gomp_iter_static_next): Return tri-state on 0.
12170 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
12171 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
12172 (gomp_iter_static_next): Update.
12173 (gomp_ordered_static_next): Update.
12174 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
12175 (gomp_loop_ordered_static_start): Likewise. Exit early for a
12176 totally empty range.
12177 (gomp_loop_ordered_static_next): Refine test for calling
12178 gomp_ordered_static_next.
12179 * testsuite/ordered-1.c: Add case for more threads than iterations.
12181 * iter.c (gomp_iter_runtime_next_locked): Remove.
12182 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
12183 gomp_loop_guided_start, gomp_loop_ordered_static_start,
12184 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
12185 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
12186 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
12187 gomp_loop_ordered_guided_next): Downcase name, make static, add
12188 an external alias with the old name.
12189 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
12190 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
12191 switch and call one of the above static functions.
12192 * libgomp.h: Update.
12194 * work.c (gomp_work_share_start): Lock the mutex for !first too.
12195 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
12196 GOMP_loop_guided_start, GOMP_loop_runtime_start,
12197 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12198 GOMP_loop_ordered_guided_start): Update to match.
12199 * sections.c (GOMP_sections_start): Likewise.
12200 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
12202 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12203 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
12204 Use bounds check instead of modulus.
12205 (gomp_ordered_sync): Split out of GOMP_ordered_start.
12206 (gomp_ordered_last): Don't sync with ordered_owner here.
12207 (gomp_ordered_next): Likewise.
12208 (gomp_ordered_static_loop_next): Likewise.
12209 * loop.c, libgomp.h: Update to match.
12211 * libgomp.h (GOMP_barrier): Declare.
12213 * testsuite/barrier-1.c: New file.
12214 * testsuite/critical-1.c: New file.
12215 * testsuite/ordered-2.c: New file.
12216 * testsuite/ordered-1.c: New file.
12217 * testsuite/sections-1.c: New file.
12218 * testsuite/single-1.c: New file.
12219 * testsuite/Makefile (TESTS): Add them.
12221 2005-05-04 Richard Henderson <rth@redhat.com>
12223 * libgomp.h (struct gomp_work_share): Add ordered_owner.
12224 * loop.c (GOMP_loop_static_start): If not the startup thread,
12225 acquire the mutex to wait for initialization complete.
12226 (GOMP_loop_ordered_static_start): Likewise.
12227 (GOMP_loop_ordered_runtime_start): Likewise.
12228 (GOMP_loop_ordered_static_first): Remove.
12229 (GOMP_loop_ordered_dynamic_first): Remove.
12230 (GOMP_loop_ordered_guided_first): Remove.
12231 (GOMP_loop_ordered_runtime_first): Remove.
12232 * ordered.c (gomp_ordered_loop_first): Post to own release when
12233 we're the first thread.
12234 (gomp_ordered_loop_last): Wait on release if not owner.
12235 (gomp_ordered_loop_next): Likewise.
12236 (gomp_ordered_static_loop_init): New.
12237 (gomp_ordered_static_loop_next): Use ordered_owner.
12238 (GOMP_ordered_start): Likewise.
12239 * work.c (gomp_new_work_share): Initialize ordered_owner.
12241 2005-05-03 Richard Henderson <rth@redhat.com>
12243 * Makefile (OPT): New.
12246 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
12247 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
12248 * libgomp.h, libgomp.map, NOTES: Update to match.
12250 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
12251 Add initialized and thr members.
12252 (gomp_thread_start): Pause when initially spawned to wait for
12253 the whole team to be created.
12254 (gomp_team_start): Release team members at the end.
12256 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
12257 (f_foo_1): Use GOMP_loop_end.
12258 (f_foo_2): Use GOMP_loop_end_nowait.
12260 * testsuite/loop-2.c: New file.
12261 * testsuite/Makefile (TESTS): Add it.
12263 2005-05-03 Richard Henderson <rth@redhat.com>
12265 * iter.c (gomp_iter_static_next): Fix overflow check typo.
12266 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
12267 * team.c (new_team): Initialize oldest_live_gen to 1 if no
12268 initial work_share.
12270 * testsuite/Makefile: New file.
12271 * testsuite/loop-1.c: New file.
12273 2005-05-03 Richard Henderson <rth@redhat.com>
12275 Initial implementation and checkin.
12277 Copyright (C) 2005-2019 Free Software Foundation, Inc.
12279 Copying and distribution of this file, with or without modification,
12280 are permitted in any medium without royalty provided the copyright
12281 notice and this notice are preserved.