]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
Fix host-to-device copies from rodata for AMD GCN
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
8d2f4ddf
JB
12019-11-20 Julian Brown <julian@codesourcery.com>
2
3 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
4 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
5 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
6 return code.
7
e307b05f
JB
82019-11-20 Julian Brown <julian@codesourcery.com>
9
10 PR libgomp/92511
11
12 * oacc-mem.c (present_create_copy): Fix device pointer return value in
13 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
14 in non-present/create case.
15 (delete_copyout): Change error condition to fail only on copies outside
16 of mapped block. Adjust error message accordingly.
17 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
18 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
19 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
20 message.
21 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
22 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
23 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
24
83115e9e
MR
252019-11-20 Maciej W. Rozycki <macro@wdc.com>
26
27 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
28 libatomic in build-tree testing.
29
a1289887
MR
302019-11-18 Maciej W. Rozycki <macro@wdc.com>
31
32 * testsuite/Makefile.in: Regenerate.
33
8916ba87
AS
342019-11-15 Andrew Stubbs <ams@codesourcery.com>
35
36 * testsuite/libgomp.c/target-print-1.c: New file.
37 * testsuite/libgomp.fortran/target-print-1.f90: New file.
38 * testsuite/libgomp.oacc-c/print-1.c: New file.
39 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
40
237957cc
AS
412019-11-13 Andrew Stubbs <ams@codesourcery.com>
42 Kwok Cheung Yeung <kcy@codesourcery.com>
43 Julian Brown <julian@codesourcery.com>
44 Tom de Vries <tom@codesourcery.com>
45
46 * plugin/Makefrag.am: Add amdgcn plugin support.
47 * plugin/configfrag.ac: Likewise.
48 * plugin/plugin-gcn.c: New file.
49 * configure: Regenerate.
50 * Makefile.in: Regenerate.
51 * testsuite/Makefile.in: Regenerate.
52
cee16451
AS
532019-11-13 Andrew Stubbs <ams@codesourcery.com>
54
55 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
56 and use team_malloc variants.
57 (gomp_gcn_exit_kernel): Use team_free.
58 * libgomp.h (TEAM_ARENA_SIZE): Define.
59 (TEAM_ARENA_START): Define.
60 (TEAM_ARENA_FREE): Define.
61 (TEAM_ARENA_END): Define.
62 (team_malloc): New function.
63 (team_malloc_cleared): New function.
64 (team_free): New function.
65 * team.c (gomp_new_team): Initialize and use team_malloc.
66 (free_team): Use team_free.
67 (gomp_free_thread): Use team_free.
68 (gomp_pause_host): Use team_free.
69 * work.c (gomp_init_work_share): Use team_malloc.
70 (gomp_fini_work_share): Use team_free.
71
fa499995
AS
722019-11-13 Andrew Stubbs <ams@codesourcery.com>
73 Kwok Cheung Yeung <kcy@codesourcery.com>
74 Julian Brown <julian@codesourcery.com>
75 Tom de Vries <tom@codesourcery.com>
76
77 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
78 * Makefile.in: Regenerate.
79 * config.h.in (PLUGIN_GCN): Add new undef.
80 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
81 * config/gcn/affinity-fmt.c: New file.
82 * config/gcn/bar.c: New file.
83 * config/gcn/bar.h: New file.
84 * config/gcn/doacross.h: New file.
85 * config/gcn/icv-device.c: New file.
86 * config/gcn/oacc-target.c: New file.
87 * config/gcn/simple-bar.h: New file.
88 * config/gcn/target.c: New file.
89 * config/gcn/task.c: New file.
90 * config/gcn/team.c: New file.
91 * config/gcn/time.c: New file.
92 * configure.ac: Add amdgcn*-*-*.
93 * configure: Regenerate.
94 * configure.tgt: Add amdgcn*-*-*.
95 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
96 * libgomp.h (gcn_thrs): Add amdgcn variant.
97 (set_gcn_thrs): Likewise.
98 (gomp_thread): Likewise.
99 * oacc-int.h (goacc_thread): Likewise.
100 * oacc-target.c: New file.
101 * openacc.f90 (acc_device_gcn): New parameter.
102 * openacc.h (acc_device_t): Add acc_device_gcn.
103 * team.c (gomp_free_pool_helper): Add amdgcn support.
104
d2903ce0
AS
1052019-11-13 Andrew Stubbs <ams@codesourcery.com>
106 Julian Brown <julian@codesourcery.com>
107
108 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
109 parameter.
110 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
111 queue constructor.
112 * oacc-host.c (host_openacc_async_construct): Add device parameter.
113 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
114 device parameter.
115
b3d14b3a
AS
1162019-11-13 Andrew Stubbs <ams@codesourcery.com>
117
118 * configure.tgt (nvptx*-*-*): Add "accel" directory.
119 * config/nvptx/libgomp-plugin.c: Move ...
120 * config/accel/libgomp-plugin.c: ... to here.
121 * config/nvptx/lock.c: Move ...
122 * config/accel/lock.c: ... to here.
123 * config/nvptx/mutex.c: Move ...
124 * config/accel/mutex.c: ... to here.
125 * config/nvptx/mutex.h: Move ...
126 * config/accel/mutex.h: ... to here.
127 * config/nvptx/oacc-async.c: Move ...
128 * config/accel/oacc-async.c: ... to here.
129 * config/nvptx/oacc-cuda.c: Move ...
130 * config/accel/oacc-cuda.c: ... to here.
131 * config/nvptx/oacc-host.c: Move ...
132 * config/accel/oacc-host.c: ... to here.
133 * config/nvptx/oacc-init.c: Move ...
134 * config/accel/oacc-init.c: ... to here.
135 * config/nvptx/oacc-mem.c: Move ...
136 * config/accel/oacc-mem.c: ... to here.
137 * config/nvptx/oacc-plugin.c: Move ...
138 * config/accel/oacc-plugin.c: ... to here.
139 * config/nvptx/omp-lock.h: Move ...
140 * config/accel/omp-lock.h: ... to here.
141 * config/nvptx/openacc.f90: Move ...
142 * config/accel/openacc.f90: ... to here.
143 * config/nvptx/pool.h: Move ...
144 * config/accel/pool.h: ... to here.
145 * config/nvptx/proc.c: Move ...
146 * config/accel/proc.c: ... to here.
147 * config/nvptx/ptrlock.c: Move ...
148 * config/accel/ptrlock.c: ... to here.
149 * config/nvptx/ptrlock.h: Move ...
150 * config/accel/ptrlock.h: ... to here.
151 * config/nvptx/sem.c: Move ...
152 * config/accel/sem.c: ... to here.
153 * config/nvptx/sem.h: Move ...
154 * config/accel/sem.h: ... to here.
155 * config/nvptx/thread-stacksize.h: Move ...
156 * config/accel/thread-stacksize.h: ... to here.
157
62aee289
MR
1582019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
159 Tobias Burnus <tobias@codesourcery.com>
160 Frederik Harwath <frederik@codesourcery.com>
161 Thomas Schwinge <thomas@codesourcery.com>
162
163 libgomp/
164 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
165 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
166 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
167
a2c26c50
TB
1682019-11-11 Tobias Burnus <tobias@codesourcery.com>
169 Kwok Cheung Yeung <kcy@codesourcery.com>
170
171 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
172 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
173
6d4868f3
TS
1742019-11-11 Thomas Schwinge <thomas@codesourcery.com>
175
bfa1837b
TS
176 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
177
6d4868f3
TS
178 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
179 run'.
180 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
181 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
182
5d183d17
FH
1832019-11-06 Thomas Schwinge <thomas@codesourcery.com>
184
185 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
186 Add expected warnings about missing reduction clauses.
187 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
188 Likewise.
189 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
190 Likewise.
191 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
192 Likewise.
193
d8f03b03
TB
1942019-11-04 Tobias Burnus <tobias@codesourcery.com>
195
196 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
197 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
198 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
199 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
200 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
201 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
202
12fd2ec5
TB
2032019-11-04 Tobias Burnus <tobias@codesourcery.com>
204
205 PR fortran/92305
206 * testsuite/libgomp.fortran/allocatable2.f90: Use
207 unique numbers with 'stop'.
208 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
209 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
210 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
211 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
212 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
213
92e63bd2
TB
2142019-11-01 Tobias Burnus <tobias@codesourcery.com>
215
216 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
217 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
218 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
219 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
220 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
221 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
222
91ae0a46
TB
2232019-10-30 Tobias Burnus <tobias@codesourcery.com>
224
225 * testsuite/libgomp.fortran/target9.f90: New.
226
c425e66b
TB
2272019-10-30 Tobias Burnus <tobias@codesourcery.com>
228
229 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
230 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
231 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
232 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
233 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
234 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
235 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
236 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
237 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
238 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
239 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
240 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
241 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
242 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
243 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
244 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
245 * testsuite/libgomp.fortran/associate1.f90: Ditto.
246 * testsuite/libgomp.fortran/associate2.f90: Ditto.
247 * testsuite/libgomp.fortran/associate3.f90: Ditto.
248 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
249 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
250 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
251 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
252 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
253 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
254 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
255 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
256 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
257 * testsuite/libgomp.fortran/character1.f90: Ditto.
258 * testsuite/libgomp.fortran/character2.f90: Ditto.
259 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
260 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
261 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
262 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
263 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
264 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
265 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
266 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
267 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
268 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
269 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
270 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
271 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
272 * testsuite/libgomp.fortran/do1.f90: Ditto.
273 * testsuite/libgomp.fortran/do2.f90: Ditto.
274 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
275 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
276 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
277 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
278 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
279 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
280 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
281 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
282 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
283 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
284 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
285 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
286 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
287 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
288 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
289 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
290 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
291 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
292 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
293 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
294 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
295 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
296 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
297 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
298 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
299 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
300 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
301 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
302 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
303 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
304 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
305 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
306 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
307 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
308 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
309 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
310 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
311 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
312 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
313 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
314 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
315 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
316 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
317 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
318 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
319 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
320 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
321 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
322 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
323 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
324 * testsuite/libgomp.fortran/lib1.f90: Ditto.
325 * testsuite/libgomp.fortran/lib4.f90: Ditto.
326 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
327 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
328 * testsuite/libgomp.fortran/nested1.f90: Ditto.
329 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
330 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
331 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
332 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
333 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
334 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
335 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
336 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
337 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
338 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
339 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
340 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
341 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
342 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
343 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
344 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
345 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
346 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
347 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
348 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
349 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
350 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
351 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
352 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
353 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
354 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
355 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
356 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
357 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
358 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
359 * testsuite/libgomp.fortran/pr28390.f: Ditto.
360 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
361 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
362 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
363 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
364 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
365 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
366 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
367 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
368 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
369 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
370 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
371 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
372 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
373 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
374 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
375 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
376 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
377 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
378 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
379 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
380 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
381 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
382 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
383 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
384 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
385 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
386 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
387 * testsuite/libgomp.fortran/reference1.f90: Ditto.
388 * testsuite/libgomp.fortran/reference2.f90: Ditto.
389 * testsuite/libgomp.fortran/retval1.f90: Ditto.
390 * testsuite/libgomp.fortran/retval2.f90: Ditto.
391 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
392 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
393 * testsuite/libgomp.fortran/simd1.f90: Ditto.
394 * testsuite/libgomp.fortran/simd2.f90: Ditto.
395 * testsuite/libgomp.fortran/simd3.f90: Ditto.
396 * testsuite/libgomp.fortran/simd4.f90: Ditto.
397 * testsuite/libgomp.fortran/simd5.f90: Ditto.
398 * testsuite/libgomp.fortran/simd6.f90: Ditto.
399 * testsuite/libgomp.fortran/simd7.f90: Ditto.
400 * testsuite/libgomp.fortran/stack.f90: Ditto.
401 * testsuite/libgomp.fortran/strassen.f90: Ditto.
402 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
403 * testsuite/libgomp.fortran/tabs2.f: Ditto.
404 * testsuite/libgomp.fortran/target1.f90: Ditto.
405 * testsuite/libgomp.fortran/target2.f90: Ditto.
406 * testsuite/libgomp.fortran/target3.f90: Ditto.
407 * testsuite/libgomp.fortran/target4.f90: Ditto.
408 * testsuite/libgomp.fortran/target5.f90: Ditto.
409 * testsuite/libgomp.fortran/target6.f90: Ditto.
410 * testsuite/libgomp.fortran/target7.f90: Ditto.
411 * testsuite/libgomp.fortran/target8.f90: Ditto.
412 * testsuite/libgomp.fortran/task1.f90: Ditto.
413 * testsuite/libgomp.fortran/task2.f90: Ditto.
414 * testsuite/libgomp.fortran/task3.f90: Ditto.
415 * testsuite/libgomp.fortran/task4.f90: Ditto.
416 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
417 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
418 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
419 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
420 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
421 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
422 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
423 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
424 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
425 * testsuite/libgomp.fortran/udr1.f90: Ditto.
426 * testsuite/libgomp.fortran/udr10.f90: Ditto.
427 * testsuite/libgomp.fortran/udr11.f90: Ditto.
428 * testsuite/libgomp.fortran/udr12.f90: Ditto.
429 * testsuite/libgomp.fortran/udr13.f90: Ditto.
430 * testsuite/libgomp.fortran/udr14.f90: Ditto.
431 * testsuite/libgomp.fortran/udr15.f90: Ditto.
432 * testsuite/libgomp.fortran/udr2.f90: Ditto.
433 * testsuite/libgomp.fortran/udr3.f90: Ditto.
434 * testsuite/libgomp.fortran/udr4.f90: Ditto.
435 * testsuite/libgomp.fortran/udr5.f90: Ditto.
436 * testsuite/libgomp.fortran/udr6.f90: Ditto.
437 * testsuite/libgomp.fortran/udr7.f90: Ditto.
438 * testsuite/libgomp.fortran/udr8.f90: Ditto.
439 * testsuite/libgomp.fortran/udr9.f90: Ditto.
440 * testsuite/libgomp.fortran/vla1.f90: Ditto.
441 * testsuite/libgomp.fortran/vla2.f90: Ditto.
442 * testsuite/libgomp.fortran/vla3.f90: Ditto.
443 * testsuite/libgomp.fortran/vla4.f90: Ditto.
444 * testsuite/libgomp.fortran/vla5.f90: Ditto.
445 * testsuite/libgomp.fortran/vla6.f90: Ditto.
446 * testsuite/libgomp.fortran/vla7.f90: Ditto.
447 * testsuite/libgomp.fortran/vla8.f90: Ditto.
448 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
449 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
450
01509e2f
TB
4512019-10-30 Tobias Burnus <tobias@codesourcery.com>
452
453 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
454 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
455 Ditto; add 'dg-do run' for torture testing.
456 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
457 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
458 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
459 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
460 * testsuite/libgomp.fortran/pr28390.f: Ditto.
461 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
462 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
463 * testsuite/libgomp.fortran/task2.f90: Ditto.
464 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
465 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
466 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
467 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
468 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
469 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
470
ffbdd78a
TB
4712019-10-28 Tobias Burnus <tobias@codesourcery.com>
472
473 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
474 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
475 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
476 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
477 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
478 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
479 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
480 Use 'stop' not abort().
481 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
482 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
483 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
484 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
485 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
486 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
487 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
488 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
489 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
490 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
491 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
492 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
493 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
494 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
495 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
496 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
497 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
498 Ditto.
499 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
500 Ditto.
501 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
502 Ditto.
503 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
504 Ditto.
505 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
506 Ditto.
507 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
508 Ditto.
509 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
510 Ditto.
511 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
512 Ditto.
513 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
514 Ditto.
515 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
516 Ditto.
517 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
518 Ditto.
519 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
520 Ditto.
521 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
522 Ditto.
523 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
524 Ditto.
525 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
526 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
527 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
528 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
529 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
530 Likewise and also add 'dg-do run'.
531 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
532 Ditto.
533
ec084613
CP
5342019-10-25 Cesar Philippidis <cesar@codesourcery.com>
535 Tobias Burnus <tobias@codesourcery.com>
536
537 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
538 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
539 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
540
77ef3394
JJ
5412019-10-14 Jakub Jelinek <jakub@redhat.com>
542
543 PR libgomp/92081
544 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
545 than 0.
546
08c14aaa
TB
5472019-10-11 Tobias Burnus <tobias@codesourcery.com>
548
549 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
550 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
551
6bbead0c
TS
5522019-10-09 Thomas Schwinge <thomas@codesourcery.com>
553
554 PR middle-end/92036
555 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
556 file.
557
eba3dee8
TB
5582019-10-09 Tobias Burnus <tobias@codesourcery.com>
559
560 PR testsuite/91884
561 * testsuite/libgomp.fortran/fortran.exp: Conditionally
562 add -lquadmath.
563 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
564
7d48e14f
JJ
5652019-10-09 Jakub Jelinek <jakub@redhat.com>
566
567 PR libgomp/92028
568 * target.c (gomp_map_vars_internal): Readd the previous
569 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
570 though do that just in the !not_found_cnt case.
571
65b67cf3
TB
5722019-10-08 Tobias Burnus <tobias@codesourcery.com>
573
574 * gfortran.dg/gomp/target-simd.f90: New.
575
6c7e076b
JB
5762019-10-02 Julian Brown <julian@codesourcery.com>
577 Cesar Philippidis <cesar@codesourcery.com>
578
579 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
580 * target.c (FIELD_TGT_EMPTY): Define.
581 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
582 as switch instead of list of ifs.
583 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
584
d61bff85
AT
5852019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
586
587 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
588 include. Replace alloca () with __builtin_alloca ().
589 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
590
810f316d
JJ
5912019-10-01 Jakub Jelinek <jakub@redhat.com>
592
593 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
594 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
595 * oacc-parallel.c: Don't include "libgomp_g.h".
596 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
597 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
598 * aclocal.m4: Regenerated.
599 * config.h.in: Regenerated.
600 * configure: Regenerated.
601 * Makefile.in: Regenerated.
602
d7f9ee98
KCY
6032019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
604
605 * libgomp_g.h: Include stdint.h instead of gstdint.h.
606
e9085da5
MR
6072019-09-27 Maciej W. Rozycki <macro@wdc.com>
608
609 * configure: Regenerate.
610
c28712be
TB
6112019-09-13 Tobias Burnus <tobias@codesourcery.com>
612
613 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
614 string is initialized.
615
3c086f8d
FW
6162019-09-06 Florian Weimer <fweimer@redhat.com>
617
618 * configure: Regenerate.
619
c6c2d1bc
CLT
6202019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
621
622 PR other/79543
623 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
624 scanning to conform to the GNU Coding Standards.
625 * configure: Regenerate.
626
5cb72d83
JJ
6272019-08-28 Jakub Jelinek <jakub@redhat.com>
628
629 PR libgomp/91530
630 * testsuite/libgomp.c/scan-21.c: New test.
631 * testsuite/libgomp.c/scan-22.c: New test.
632
0ad7981c
JJ
6332019-08-27 Jakub Jelinek <jakub@redhat.com>
634
635 PR libgomp/91530
636 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
637 targets.
638 * testsuite/libgomp.c/scan-12.c: Likewise.
639 * testsuite/libgomp.c/scan-13.c: Likewise.
640 * testsuite/libgomp.c/scan-14.c: Likewise.
641 * testsuite/libgomp.c/scan-15.c: Likewise.
642 * testsuite/libgomp.c/scan-16.c: Likewise.
643 * testsuite/libgomp.c/scan-17.c: Likewise.
644 * testsuite/libgomp.c/scan-18.c: Likewise.
645 * testsuite/libgomp.c/scan-19.c: Likewise.
646 * testsuite/libgomp.c/scan-20.c: Likewise.
647 * testsuite/libgomp.c++/scan-9.C: Likewise.
648 * testsuite/libgomp.c++/scan-10.C: Likewise.
649 * testsuite/libgomp.c++/scan-11.C: Likewise.
650 * testsuite/libgomp.c++/scan-12.C: Likewise.
651 * testsuite/libgomp.c++/scan-14.C: Likewise.
652 * testsuite/libgomp.c++/scan-15.C: Likewise.
653 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
654 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
655 * testsuite/libgomp.c++/scan-16.C: Likewise.
656
1e67491a
TK
6572019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
658
659 PR fortran/91473
660 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
661 -std=legacy so invalid code in the test case is accepted.
662
393fdeb1
TK
6632019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
664
665 PR fortran/91422
666 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
667 dimension.
668
8860d270
JJ
6692019-08-08 Jakub Jelinek <jakub@redhat.com>
670
671 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
672 perform the lookup in the first loop only if !not_found_cnt, otherwise
673 perform lookups for it in the second loop guarded with
674 if (not_found_cnt || has_firstprivate).
675 * testsuite/libgomp.c/target-37.c: New test.
676 * testsuite/libgomp.c++/target-22.C: New test.
677
398e3feb
JJ
6782019-08-07 Jakub Jelinek <jakub@redhat.com>
679
680 * testsuite/libgomp.c/target-18.c (struct S): New type.
681 (foo): Use use_device_addr clause instead of use_device_ptr clause
682 where required by OpenMP 5.0, add further tests for both use_device_ptr
683 and use_device_addr clauses.
684 * testsuite/libgomp.c++/target-9.C (struct S): New type.
685 (foo): Use use_device_addr clause instead of use_device_ptr clause
686 where required by OpenMP 5.0, add further tests for both use_device_ptr
687 and use_device_addr clauses. Add t and u arguments.
688 (main): Adjust caller.
689
d81ab49d
JJ
6902019-08-06 Jakub Jelinek <jakub@redhat.com>
691
692 * testsuite/libgomp.c++/loop-13.C: New test.
693 * testsuite/libgomp.c++/loop-14.C: New test.
694 * testsuite/libgomp.c++/loop-15.C: New test.
695
c3ac76aa
JJ
6962019-07-31 Jakub Jelinek <jakub@redhat.com>
697
698 PR middle-end/91301
699 * testsuite/libgomp.c++/for-27.C: New test.
700
8dc63166
SK
7012019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
702
393fdeb1 703 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 704 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 705
554a530f
JJ
7062019-07-20 Jakub Jelinek <jakub@redhat.com>
707
708 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
709
6cda84b5
JJ
7102019-07-08 Jakub Jelinek <jakub@redhat.com>
711
712 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
713 * testsuite/libgomp.c++/scan-16.C: Likewise.
714
1f52d1a8
JJ
7152019-07-06 Jakub Jelinek <jakub@redhat.com>
716
6f67abcd
JJ
717 * testsuite/libgomp.c/scan-19.c: New test.
718 * testsuite/libgomp.c/scan-20.c: New test.
719
1f52d1a8
JJ
720 * testsuite/libgomp.c/scan-11.c: New test.
721 * testsuite/libgomp.c/scan-12.c: New test.
722 * testsuite/libgomp.c/scan-13.c: New test.
723 * testsuite/libgomp.c/scan-14.c: New test.
724 * testsuite/libgomp.c/scan-15.c: New test.
725 * testsuite/libgomp.c/scan-16.c: New test.
726 * testsuite/libgomp.c/scan-17.c: New test.
727 * testsuite/libgomp.c/scan-18.c: New test.
728 * testsuite/libgomp.c++/scan-9.C: New test.
729 * testsuite/libgomp.c++/scan-10.C: New test.
730 * testsuite/libgomp.c++/scan-11.C: New test.
731 * testsuite/libgomp.c++/scan-12.C: New test.
732 * testsuite/libgomp.c++/scan-13.C: New test.
733 * testsuite/libgomp.c++/scan-14.C: New test.
734 * testsuite/libgomp.c++/scan-15.C: New test.
735 * testsuite/libgomp.c++/scan-16.C: New test.
736
2f03073f
JJ
7372019-07-04 Jakub Jelinek <jakub@redhat.com>
738
739 * testsuite/libgomp.c/scan-9.c: New test.
740 * testsuite/libgomp.c/scan-10.c: New test.
741
2f6bb511
JJ
7422019-07-03 Jakub Jelinek <jakub@redhat.com>
743
744 * testsuite/libgomp.c++/scan-1.C: New test.
745 * testsuite/libgomp.c++/scan-2.C: New test.
746 * testsuite/libgomp.c++/scan-3.C: New test.
747 * testsuite/libgomp.c++/scan-4.C: New test.
748 * testsuite/libgomp.c++/scan-5.C: New test.
749 * testsuite/libgomp.c++/scan-6.C: New test.
750 * testsuite/libgomp.c++/scan-7.C: New test.
751 * testsuite/libgomp.c++/scan-8.C: New test.
752 * testsuite/libgomp.c/scan-1.c: New test.
753 * testsuite/libgomp.c/scan-2.c: New test.
754 * testsuite/libgomp.c/scan-3.c: New test.
755 * testsuite/libgomp.c/scan-4.c: New test.
756 * testsuite/libgomp.c/scan-5.c: New test.
757 * testsuite/libgomp.c/scan-6.c: New test.
758 * testsuite/libgomp.c/scan-7.c: New test.
759 * testsuite/libgomp.c/scan-8.c: New test.
760
bd194a51
TS
7612019-06-18 Thomas Schwinge <thomas@codesourcery.com>
762
85fca03a
TS
763 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
764 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
765 Likewise.
766
bd194a51
TS
767 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
768 check.
769
6652161e
CP
7702019-06-18 Cesar Philippidis <cesar@codesourcery.com>
771
772 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
773 file.
774
3a37d6f6
TS
7752019-06-18 Thomas Schwinge <thomas@codesourcery.com>
776
4017da8d
TS
777 PR fortran/90743
778 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
779 case.
780 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
781 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
782 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
783 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
784
6f7c1f65
TS
785 PR testsuite/90861
786 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
787
3a37d6f6
TS
788 PR middle-end/90862
789 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
790
f45ce17d
TV
7912019-06-16 Tom de Vries <tdevries@suse.de>
792
793 PR tree-optimization/89376
794 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
795
00908992
TV
7962019-06-15 Tom de Vries <tdevries@suse.de>
797
798 PR tree-optimization/89713
799 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
800 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
801
211b7533
JJ
8022019-06-15 Jakub Jelinek <jakub@redhat.com>
803
804 PR middle-end/90779
805 * testsuite/libgomp.c/pr90779.c: New test.
806 * testsuite/libgomp.fortran/pr90779.f90: New test.
807
120a01d1
TV
8082019-06-15 Tom de Vries <tdevries@suse.de>
809
810 PR tree-optimization/90009
811 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
812
c29c92c7
FX
8132019-06-13 Feng Xue <fxue@os.amperecomputing.com>
814
815 PR tree-optimization/89713
816 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
817
ce9c4ec3
JJ
8182019-06-11 Jakub Jelinek <jakub@redhat.com>
819
820 PR target/90811
821 * testsuite/libgomp.c/pr90811.c: New test.
822
28b3a77c
JJ
8232019-06-05 Jakub Jelinek <jakub@redhat.com>
824
825 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
826 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
827
7855700e
JJ
8282019-06-04 Jakub Jelinek <jakub@redhat.com>
829
830 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
831 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
832 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
833 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
834
a7155c2e
RO
8352019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
836
837 * configure.ac: Call AX_COUNT_CPUS.
838 Substitute CPU_COUNT.
839 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
840 count fallback.
841 * aclocal.m4: Regenerate.
842 * configure: Regenerate.
843 * Makefile.in, testsuite/Makefile.in: Regenerate.
844
7e47198b
JJ
8452019-05-29 Jakub Jelinek <jakub@redhat.com>
846
847 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
848 to ...
849 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
850 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
851 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
852
fcfb8032
JJ
8532019-05-27 Jakub Jelinek <jakub@redhat.com>
854
8e7757ba
JJ
855 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
856
36c7a3ff
JJ
857 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
858
fcfb8032
JJ
859 PR libgomp/90641
860 * work.c (gomp_init_work_share): Instead of aligning final ordered
861 value to multiples of long long alignment, align to that the
862 first part (ordered team ids) and if inline_ordered_team_ids
863 is not on a long long alignment boundary within the structure,
864 use __alignof__ (long long) - 1 pad size always.
865 * loop.c (GOMP_loop_start): Fix *mem computation if
866 inline_ordered_team_ids is not aligned on long long alignment boundary
867 within the structure.
868 * loop-ull.c (GOMP_loop_ull_start): Likewise.
869 * sections.c (GOMP_sections2_start): Likewise.
870
b5c26449
JJ
8712019-05-24 Jakub Jelinek <jakub@redhat.com>
872
6c7ae8c5
JJ
873 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
874 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
875
b5c26449
JJ
876 PR libgomp/90585
877 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
878 HAVE_INTTYPES_H is defined.
879 (print_uint64_t): New typedef.
880 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
881 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
882 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
883 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
884 before casting to void *.
885 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
886 * oacc-mem.c: Don't include config.h nor stdint.h.
887 * target.c: Don't include config.h.
888 * oacc-cuda.c: Likewise.
889 * oacc-host.c: Don't include stdint.h.
890
3e03ed66
JJ
8912019-05-20 Jakub Jelinek <jakub@redhat.com>
892
893 PR libgomp/90527
894 * alloc.c (_GNU_SOURCE): Define.
895
5fae049d
TS
8962019-05-17 Thomas Schwinge <thomas@codesourcery.com>
897
898 * acc_prof.h: New file.
899 * oacc-profiling.c: Likewise.
900 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
901 Add these, respectively.
902 * Makefile.in: Regenerate.
903 * env.c (initialize_env): Call goacc_profiling_initialize.
904 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
905 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
906 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
907 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
908 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
909 acc_prof_register, acc_prof_unregister, and acc_register_library.
910 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
911 GOMP_PLUGIN_goacc_thread.
912 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
913 prof_callbacks_enabled members.
914 (goacc_prof_enabled, goacc_profiling_initialize)
915 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
916 (goacc_profiling_dispatch): Declare.
917 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
918 (GOACC_PROFILING_SETUP_P): Define.
919 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
920 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
921 OpenACC Profiling Interface.
922 * oacc-cuda.c (acc_get_current_cuda_device)
923 (acc_get_current_cuda_context, acc_get_cuda_stream)
924 (acc_set_cuda_stream): Likewise.
925 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
926 (acc_init, acc_set_device_type, acc_get_device_type)
927 (acc_get_device_num, goacc_lazy_initialize): Likewise.
928 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
929 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
930 (acc_unmap_data, present_create_copy, delete_copyout)
931 (update_dev_host): Likewise.
932 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
933 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
934 Likewise.
935 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
936 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
937 Likewise.
938 * libgomp.texi: Update.
939 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
940 file.
941 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
942 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
943 Likewise.
944 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
945 Likewise.
946 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
947 Likewise.
948 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
949 Likewise.
950
1f4c5b9b
CLT
9512019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
952
953 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
954 (struct goacc_asyncqueue_list): Likewise.
955 (goacc_aq): Likewise.
956 (goacc_aq_list): Likewise.
957 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
958 (GOMP_OFFLOAD_openacc_async_test): Remove.
959 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
960 (GOMP_OFFLOAD_openacc_async_wait): Remove.
961 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
962 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
963 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
964 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
965 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
966 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
967 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
968 (GOMP_OFFLOAD_openacc_async_exec): Declare.
969 (GOMP_OFFLOAD_openacc_async_construct): Declare.
970 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
971 (GOMP_OFFLOAD_openacc_async_test): Declare.
972 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
973 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
974 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
975 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
976 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
977
978 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
979 (gomp_acc_insert_pointer): Adjust declaration.
980 (gomp_copy_host2dev): New declaration.
981 (gomp_copy_dev2host): Likewise.
982 (gomp_map_vars_async): Likewise.
983 (gomp_unmap_tgt): Likewise.
984 (gomp_unmap_vars_async): Likewise.
985 (gomp_fini_device): Likewise.
986
987 * oacc-async.c (get_goacc_thread): New function.
988 (get_goacc_thread_device): New function.
989 (lookup_goacc_asyncqueue): New function.
990 (get_goacc_asyncqueue): New function.
991 (acc_async_test): Adjust code to use new async design.
992 (acc_async_test_all): Likewise.
993 (acc_wait): Likewise.
994 (acc_wait_async): Likewise.
995 (acc_wait_all): Likewise.
996 (acc_wait_all_async): Likewise.
997 (goacc_async_free): New function.
998 (goacc_init_asyncqueues): Likewise.
999 (goacc_fini_asyncqueues): Likewise.
1000 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
1001 design.
1002 (acc_set_cuda_stream): Likewise.
1003 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
1004 (host_openacc_register_async_cleanup): Remove.
1005 (host_openacc_async_exec): New function.
1006 (host_openacc_async_test): Adjust parameters.
1007 (host_openacc_async_test_all): Remove.
1008 (host_openacc_async_wait): Remove.
1009 (host_openacc_async_wait_async): Remove.
1010 (host_openacc_async_wait_all): Remove.
1011 (host_openacc_async_wait_all_async): Remove.
1012 (host_openacc_async_set_async): Remove.
1013 (host_openacc_async_synchronize): New function.
1014 (host_openacc_async_serialize): New function.
1015 (host_openacc_async_host2dev): New function.
1016 (host_openacc_async_dev2host): New function.
1017 (host_openacc_async_queue_callback): New function.
1018 (host_openacc_async_construct): New function.
1019 (host_openacc_async_destruct): New function.
1020 (struct gomp_device_descr host_dispatch): Remove initialization of old
1021 interface, add intialization of new async sub-struct.
1022 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
1023 (goacc_attach_host_thread_to_device): Remove old async code usage.
1024 * oacc-int.h (goacc_init_asyncqueues): New declaration.
1025 (goacc_fini_asyncqueues): Likewise.
1026 (goacc_async_copyout_unmap_vars): Likewise.
1027 (goacc_async_free): Likewise.
1028 (get_goacc_asyncqueue): Likewise.
1029 (lookup_goacc_asyncqueue): Likewise.
1030 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
1031 design.
1032 (present_create_copy): Adjust code to use new async design.
1033 (delete_copyout): Likewise.
1034 (update_dev_host): Likewise.
1035 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
1036 async design.
1037 (gomp_acc_remove_pointer): Adjust code to use new async design.
1038 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
1039 design.
1040 (GOACC_enter_exit_data): Likewise.
1041 (goacc_wait): Likewise.
1042 (GOACC_update): Likewise.
1043 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
1044 when called, warn as obsolete in comment.
1045 * target.c (goacc_device_copy_async): New function.
1046 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
1047 add goacc_device_copy_async case.
1048 (gomp_copy_dev2host): Likewise.
1049 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
1050 (gomp_map_pointer): Likewise.
1051 (gomp_map_fields_existing): Likewise.
1052 (gomp_map_vars_internal): New always_inline function, renamed from
1053 gomp_map_vars.
1054 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
1055 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
1056 passing goacc_asyncqueue argument.
1057 (gomp_unmap_tgt): Remove static, add attribute_hidden.
1058 (gomp_unref_tgt): New function.
1059 (gomp_unmap_vars_internal): New always_inline function, renamed from
1060 gomp_unmap_vars.
1061 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
1062 (gomp_unmap_vars_async): Implement by calling
1063 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
1064 (gomp_fini_device): New function.
1065 (gomp_exit_data): Adjust gomp_copy_dev2host call.
1066 (gomp_load_plugin_for_device): Remove old interface, adjust to load
1067 new async interface.
1068 (gomp_target_fini): Adjust code to call gomp_fini_device.
1069
1070 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
1071 (struct ptx_stream): Remove.
1072 (struct nvptx_thread): Remove current_stream field.
1073 (cuda_map_create): Remove.
1074 (cuda_map_destroy): Remove.
1075 (map_init): Remove.
1076 (map_fini): Remove.
1077 (map_pop): Remove.
1078 (map_push): Remove.
1079 (struct goacc_asyncqueue): Define.
1080 (struct nvptx_callback): Define.
1081 (struct ptx_free_block): Define.
1082 (struct ptx_device): Remove null_stream, active_streams, async_streams,
1083 stream_lock, and next fields.
1084 (enum ptx_event_type): Remove.
1085 (struct ptx_event): Remove.
1086 (ptx_event_lock): Remove.
1087 (ptx_events): Remove.
1088 (init_streams_for_device): Remove.
1089 (fini_streams_for_device): Remove.
1090 (select_stream_for_async): Remove.
1091 (nvptx_init): Remove ptx_events and ptx_event_lock references.
1092 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
1093 case.
1094 (nvptx_open_device): Add free_blocks initialization, remove
1095 init_streams_for_device call.
1096 (nvptx_close_device): Remove fini_streams_for_device call, add
1097 free_blocks destruct code.
1098 (event_gc): Remove.
1099 (event_add): Remove.
1100 (nvptx_exec): Adjust parameters and code.
1101 (nvptx_free): Likewise.
1102 (nvptx_host2dev): Remove.
1103 (nvptx_dev2host): Remove.
1104 (nvptx_set_async): Remove.
1105 (nvptx_async_test): Remove.
1106 (nvptx_async_test_all): Remove.
1107 (nvptx_wait): Remove.
1108 (nvptx_wait_async): Remove.
1109 (nvptx_wait_all): Remove.
1110 (nvptx_wait_all_async): Remove.
1111 (nvptx_get_cuda_stream): Remove.
1112 (nvptx_set_cuda_stream): Remove.
1113 (GOMP_OFFLOAD_alloc): Adjust code.
1114 (GOMP_OFFLOAD_free): Likewise.
1115 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1116 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
1117 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1118 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1119 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1120 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1121 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1122 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1123 (cuda_free_argmem): New function.
1124 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
1125 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
1126 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
1127 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
1128 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
1129 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
1130 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
1131 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
1132 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
1133 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
1134 (cuda_callback_wrapper): New function.
1135 (cuda_memcpy_sanity_check): New function.
1136 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
1137 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
1138 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
1139 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
1140
da2d30c1
TS
11412019-05-07 Thomas Schwinge <thomas@codesourcery.com>
1142
1143 PR target/87835
1144 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
1145
2bbbfa4e
TS
11462019-05-06 Thomas Schwinge <thomas@codesourcery.com>
1147
1148 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
1149
bbf1efe1
KB
11502019-03-27 Kevin Buettner <kevinb@redhat.com>
1151
1152 * team.c (gomp_team_start): Initialize pool->threads[0].
1153
1241136c
TS
11542019-02-22 Thomas Schwinge <thomas@codesourcery.com>
1155
b03d721a
TS
1156 * testsuite/libgomp.oacc-c++/c++.exp: Specify
1157 "-foffload=$offload_target".
1158 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1159 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1160 * testsuite/lib/libgomp.exp
1161 (check_effective_target_openacc_nvidia_accel_configured): Remove,
1162 as (conceptually) merged into
1163 check_effective_target_openacc_nvidia_accel_selected. Adjust all
1164 users.
1165
0a0384b4
TS
1166 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
1167 * testsuite/libgomp-test-support.exp.in: Adjust.
1168 * testsuite/lib/libgomp.exp: Likewise. Don't populate
1169 openacc_device_types_s.
1170 (offload_target_to_openacc_device_type): New proc.
1171 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
1172 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1173 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1174 * Makefile.in: Regenerate.
1175 * configure: Likewise.
1176 * testsuite/Makefile.in: Likewise.
1177
ee332b4a
TS
1178 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
1179 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
1180 instead of OFFLOAD_TARGETS.
1181 * target.c (gomp_target_init): Adjust.
1182 * testsuite/libgomp-test-support.exp.in: Likewise.
1183 * testsuite/lib/libgomp.exp: Likewise. Populate
1184 openacc_device_types_s instead of offload_targets_s_openacc.
1185 (check_effective_target_openacc_nvidia_accel_selected)
1186 (check_effective_target_openacc_host_selected): Adjust.
1187 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1188 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1189 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1190 * Makefile.in: Regenerate.
1191 * config.h.in: Likewise.
1192 * configure: Likewise.
1193 * testsuite/Makefile.in: Likewise.
1194
1241136c
TS
1195 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
1196 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
1197 "offloading: supported, but hardware not accessible".
1198 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1199 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1200
19695f4d
CLT
12012019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
1202
1203 PR c/87924
1204 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
1205 goacc_wait().
1206 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
1207 and related adjustment.
1208
8b44f8ec
JJ
12092019-01-30 Jakub Jelinek <jakub@redhat.com>
1210
1211 PR c++/88988
1212 * testsuite/libgomp.c++/pr88988.C: New test.
1213
be3a87e7
JJ
12142019-01-28 Jakub Jelinek <jakub@redhat.com>
1215
1216 PR middle-end/89002
1217 * testsuite/libgomp.c/pr89002.c: New test.
1218
497ef4d7
RB
12192019-01-28 Richard Biener <rguenther@suse.de>
1220
1221 PR testsuite/89064
1222 PR tree-optimization/86865
1223 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
1224
738c56d4
TV
12252019-01-24 Tom de Vries <tdevries@suse.de>
1226
1227 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
1228 once instantiated_devices drops to 0.
1229
4a75460b
TV
12302019-01-23 Tom de Vries <tdevries@suse.de>
1231
1232 PR target/PR88946
1233 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
1234 cuMemFree.
1235 (nvptx_exec): Don't call map_push if mapnum == 0.
1236 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
1237
4fef8e4d
TV
12382019-01-23 Tom de Vries <tdevries@suse.de>
1239
1240 PR target/88941
1241 PR target/88939
1242 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
1243 (map_fini): Remove "assert (!s->map->active)".
1244 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
1245
2ee6cb22
TV
12462019-01-23 Tom de Vries <tdevries@suse.de>
1247
1248 PR target/87835
1249 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
1250 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
1251
d41d952c
TV
12522019-01-15 Tom de Vries <tdevries@suse.de>
1253
1254 PR target/80547
1255 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
1256 New test.
1257
efb56ae8
TV
12582019-01-12 Tom de Vries <tdevries@suse.de>
1259
1260 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
1261 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
1262 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
1263 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
1264
2c2ff168
TV
12652019-01-12 Tom de Vries <tdevries@suse.de>
1266
1267 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
1268
a1057758
TV
12692019-01-12 Tom de Vries <tdevries@suse.de>
1270
1271 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
1272 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
1273 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
1274
56314b77
TV
12752019-01-12 Tom de Vries <tdevries@suse.de>
1276
1277 PR target/85486
1278 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
1279 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
1280
b39e4366
TV
12812019-01-12 Tom de Vries <tdevries@suse.de>
1282
1283 PR target/85381
1284 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
1285 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
1286
2cb7a501
TV
12872019-01-12 Tom de Vries <tdevries@suse.de>
1288
1289 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
1290 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
1291 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
1292
8e77f71e
TV
12932019-01-12 Tom de Vries <tdevries@suse.de>
1294
1295 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
1296 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
1297 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
1298
52d22ece
TV
12992019-01-12 Tom de Vries <tdevries@suse.de>
1300
1301 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
1302 resources diagnostic.
1303
2b9d9e39
TV
13042019-01-12 Tom de Vries <tdevries@suse.de>
1305
1306 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
1307 vector length to be 128.
1308 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
1309 length 2097152 to be reduced to 1024 instead of 32.
1310
4102bda6
TS
13112019-01-11 Thomas Schwinge <thomas@codesourcery.com>
1312 James Norris <jnorris@codesourcery.com>
1313
1314 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
1315 Library Routines", and "Environment Variables".
1316
052aaace
TV
13172019-01-11 Tom de Vries <tdevries@suse.de>
1318
1319 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
1320 num_workers 16.
1321
9390f916
TV
13222019-01-11 Tom de Vries <tdevries@suse.de>
1323
1324 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
1325 -foffload=-w.
1326 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
1327 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
1328 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
1329 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
1330
2c3e7ad2
TV
13312019-01-11 Tom de Vries <tdevries@suse.de>
1332
1333 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
1334 test.
1335
e222497d
NS
13362019-01-10 Nathan Sidwell <nathan@acm.org>
1337 Julian Brown <julian@codesourcery.com>
1338
1339 PR lto/71959
1340 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
1341 * testsuite/libgomp.oacc-c++/pr71959.C: New.
1342
cb87fec3
SH
13432019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1344
1345 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
1346 and paste code.
1347
30b4d0d0
SH
13482019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1349
1350 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
1351 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1352 write.
1353
5d0bc70a
TV
13542019-01-09 Tom de Vries <tdevries@suse.de>
1355
1356 PR target/88756
1357 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
1358 #define instead of "const int".
1359 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
1360 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
1361 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
1362 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
1363
2c372e81
TV
13642019-01-09 Tom de Vries <tdevries@suse.de>
1365
1366 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
1367 one worker.
1368
43493c97
TV
13692019-01-07 Tom de Vries <tdevries@suse.de>
1370
1371 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
1372 GOMP_OPENACC_DIM argument.
1373
5c571497
TV
13742019-01-03 Tom de Vries <tdevries@suse.de>
1375
1376 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
1377 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
1378
a5544970
JJ
13792019-01-01 Jakub Jelinek <jakub@redhat.com>
1380
1381 Update copyright years.
1382
3f27508c
JJ
13832019-01-01 Jakub Jelinek <jakub@redhat.com>
1384
1385 * libgomp.texi: Bump @copying's copyright year.
1386
59d5960c
TS
13872018-12-28 Thomas Schwinge <thomas@codesourcery.com>
1388
1389 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
1390 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
1391 (GOACC_declare): Redefine the "device" argument to "flags".
1392
a44c1790
TS
13932018-12-28 Thomas Schwinge <thomas@codesourcery.com>
1394 Cesar Philippidis <cesar@codesourcery.com>
1395
1396 * target.c (struct gomp_coalesce_chunk): New structure.
1397 (struct gomp_coalesce_buf): Update the chunks member to use that
1398 type. Adjust all users.
1399
a152954e
TV
14002018-12-19 Tom de Vries <tdevries@suse.de>
1401
1402 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
1403 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
1404 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
1405
49188cd1
TV
14062018-12-19 Tom de Vries <tdevries@suse.de>
1407
1408 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
1409 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
1410 gcc/testsuite/gcc.dg/goacc.
1411 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
1412
c759830b
TS
14132018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1414 Chung-Lin Tang <cltang@codesourcery.com>
1415
1416 * oacc-mem.c (acc_present_or_create): Remove definition and change
1417 to alias of acc_create.
1418 (acc_present_or_copyin): Remove definition and change to alias of
1419 acc_copyin.
1420 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
1421 of acc_present_or_create.
1422 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
1423 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1424 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1425 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1426 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1427 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1428 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1429 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1430 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
1431 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1432 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1433 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1434 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1435 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1436 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1437 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1438
7de562ee
TS
14392018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1440
f847198e
TS
1441 PR libgomp/88495
1442 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
1443 "identical parameters".
1444 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
1445 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
1446
c8ab8aab
TS
1447 PR libgomp/88484
1448 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
1449 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
1450
1404af62
TS
1451 PR libgomp/88407
1452 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
1453 (nvptx_wait_async): Unseen async-argument is a no-op.
1454 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
1455 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
1456 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1457 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1458 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1459 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
1460 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
1461 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
1462 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
1463
7de562ee
TS
1464 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
1465 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1466
17469af7
CLT
14672018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
1468
1469 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
1470 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1471 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1472
18c247cc
TS
14732018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1474
1475 PR libgomp/88370
1476 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
1477 (acc_set_cuda_stream): Clarify.
1478 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1479 "async_valid_p".
1480 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
1481 acc_async_sync".
1482 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
1483 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
1484 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
1485 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1486
b0aba46c
TV
14872018-12-14 Tom de Vries <tdevries@suse.de>
1488
1489 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
1490 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
1491 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
1492 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
1493 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
1494
fe0827ee
TV
14952018-12-13 Tom de Vries <tdevries@suse.de>
1496
1497 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
1498 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
1499 * fortran.c (omp_display_affinity_): ... here.
1500 * libgomp.h (gomp_print_string): Declare.
1501 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
1502 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1503 write.
1504
a51f8c92
JJ
15052018-12-13 Jakub Jelinek <jakub@redhat.com>
1506
1507 PR libgomp/88460
1508 * testsuite/libgomp.c++/for-24.C (results): Include it in
1509 omp declare target region.
1510 (main): Use map (always, tofrom: results) instead of
1511 map (tofrom: results).
1512
a6ef2ac9
JJ
15132018-12-12 Jakub Jelinek <jakub@redhat.com>
1514
7a289b7d
JJ
1515 PR fortran/88463
1516 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
1517 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
1518
a6ef2ac9
JJ
1519 * testsuite/libgomp.c-c++-common/for-16.c: New test.
1520
9c47a019
AS
15212018-12-12 Andreas Schwab <schwab@suse.de>
1522
1523 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
1524 clobbered.
1525
d0cbb206
TK
15262018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
1527
1528 PR fortran/88411
1529 * testsuite/libgomp.fortran/async_io_8.f90: New test.
1530
84ca08d2
TS
15312018-12-09 Thomas Schwinge <thomas@codesourcery.com>
1532 Jakub Jelinek <jakub@redhat.com>
1533
1534 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
1535 devicep->host2dev_func.
1536
6997628d
JJ
15372018-12-08 Jakub Jelinek <jakub@redhat.com>
1538
1539 PR libgomp/87995
1540 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
1541 tls_runtime effective target.
1542 (t): New threadprivate variable.
1543 (main): Set t in threads which execute iterations of the worksharing
1544 loop. Propagate that to the task after the loop and don't abort
1545 if the current taskgroup hasn't been cancelled.
1546
daa8c1d7
JJ
15472018-12-02 Jakub Jelinek <jakub@redhat.com>
1548
4a82df9a
JJ
1549 * testsuite/libgomp.c/task-reduction-3.c: New test.
1550
daa8c1d7
JJ
1551 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
1552
fe570ff8
CP
15532018-11-30 Cesar Philippidis <cesar@codesourcery.com>
1554
1555 PR libgomp/88288
1556 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
1557 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
1558
c223608f
TS
15592018-11-30 Thomas Schwinge <thomas@codesourcery.com>
1560
1561 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
1562
fc60283c
RB
15632018-10-19 Richard Biener <rguenther@suse.de>
1564
1565 PR tree-optimization/88182
1566 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
1567
ffcf3b79
JJ
15682018-11-26 Jakub Jelinek <jakub@redhat.com>
1569
1570 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
1571 (RUNTEST): Don't define.
1572 (RUNTESTDEFAULTFLAGS): Add.
1573 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
1574 (distclean-am): Depend on distclean-DEJAGNU.
1575 (check-am): If -j% option is present in MFLAGS and if
1576 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
1577 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
1578 * testsuite/Makefile.in: Regenerated.
1579
ef6e6914
RB
15802018-11-26 Richard Biener <rguenther@suse.de>
1581
1582 PR tree-optimization/88182
1583 * testsuite/libgomp.c++/pr88182.C: New testcase.
1584
72d3bb76
JJ
15852018-11-20 Jakub Jelinek <jakub@redhat.com>
1586
1587 PR bootstrap/88106
1588 * config/mingw32/affinity-fmt.c: New file.
1589
207286c3
JJ
15902018-11-09 Jakub Jelinek <jakub@redhat.com>
1591
9666c522
JJ
1592 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
1593 (gomp_display_affinity): Use __builtin_choose_expr to handle
1594 properly handle argument having integral, or pointer or some other
1595 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
1596 with uint64_t type instead of %llx and unsigned long long.
1597
207286c3
JJ
1598 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
1599 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
1600
2033f45b
RO
16012018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1602
1603 * affinity.c: Include <string.h>, <stdio.h>.
1604 (gomp_display_affinity_place): Remove cpusetp.
1605 * teams.c: Include <limits.h>.
1606
28567c40
JJ
16072018-11-08 Jakub Jelinek <jakub@redhat.com>
1608
8991d779
JJ
1609 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
1610 in_reduction clause for s[0].
1611
28567c40
JJ
1612 * affinity.c (gomp_display_affinity_place): New function.
1613 * affinity-fmt.c: New file.
1614 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
1615 * config/linux/affinity.c (gomp_display_affinity_place): New function.
1616 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
1617 Move these functions to ...
1618 * config/nvptx/teams.c: ... here. New file.
1619 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
1620 New functions.
1621 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
1622 functions.
1623 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
1624 and _aligned_malloc.
1625 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
1626 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
1627 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
1628 gomp_affinity_format_len): New variables.
1629 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
1630 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
1631 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
1632 modifiers. Display (non-default) chunk sizes. Print
1633 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
1634 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
1635 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
1636 * fortran.c: Include stdio.h and string.h.
1637 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
1638 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
1639 (omp_set_affinity_format_, omp_get_affinity_format_,
1640 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
1641 omp_pause_resource_all_): New functions.
1642 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
1643 switch.
1644 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
1645 functions to ...
1646 * teams.c: ... here. New file.
1647 * libgomp_g.h: Include gstdint.h.
1648 (GOMP_loop_nonmonotonic_runtime_start,
1649 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
1650 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
1651 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
1652 GOMP_parallel_loop_nonmonotonic_runtime,
1653 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1654 GOMP_loop_ull_nonmonotonic_runtime_start,
1655 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
1656 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
1657 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1658 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
1659 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
1660 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1661 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
1662 GOMP_teams_reg): Declare.
1663 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
1664 gomp_aligned_alloc uses fallback implementation.
1665 (gomp_aligned_alloc, gomp_aligned_free): Declare.
1666 (enum gomp_schedule_type): Add GFS_MONOTONIC.
1667 (struct gomp_doacross_work_share): Add extra field.
1668 (struct gomp_work_share): Add task_reductions field.
1669 (struct gomp_taskgroup): Add workshare and reductions fields.
1670 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
1671 (gomp_thread_handle): New typedef.
1672 (gomp_display_affinity_place, gomp_set_affinity_format,
1673 gomp_display_string, gomp_display_affinity,
1674 gomp_display_affinity_thread): Declare.
1675 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
1676 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
1677 gomp_workshare_task_reduction_register): Declare.
1678 (gomp_team_start): Add taskgroup argument.
1679 (gomp_pause_host): Declare.
1680 (gomp_init_work_share, gomp_work_share_start): Change bool argument
1681 to size_t.
1682 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
1683 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
1684 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
1685 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
1686 GOMP_loop_ull_doacross_start,
1687 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
1688 GOMP_loop_maybe_nonmonotonic_runtime_next,
1689 GOMP_loop_maybe_nonmonotonic_runtime_start,
1690 GOMP_loop_nonmonotonic_runtime_next,
1691 GOMP_loop_nonmonotonic_runtime_start,
1692 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1693 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
1694 GOMP_loop_ull_nonmonotonic_runtime_next,
1695 GOMP_loop_ull_nonmonotonic_runtime_start,
1696 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1697 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
1698 GOMP_taskgroup_reduction_register,
1699 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1700 GOMP_teams_reg and GOMP_taskwait_depend.
1701 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
1702 omp_{capture,display}_affinity{,_}, and
1703 omp_[gs]et_affinity_format{,_}.
1704 * loop.c: Include string.h.
1705 (GOMP_loop_runtime_next): Add ialias.
1706 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1707 (gomp_loop_static_start, gomp_loop_dynamic_start,
1708 gomp_loop_guided_start, gomp_loop_ordered_static_start,
1709 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
1710 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
1711 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
1712 or gomp_doacross_init callers.
1713 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
1714 GOMP_loop_doacross_start): New functions.
1715 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
1716 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
1717 Mask off GFS_MONOTONIC bit.
1718 (GOMP_loop_maybe_nonmonotonic_runtime_next,
1719 GOMP_loop_maybe_nonmonotonic_runtime_start,
1720 GOMP_loop_nonmonotonic_runtime_next,
1721 GOMP_loop_nonmonotonic_runtime_start,
1722 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
1723 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
1724 functions.
1725 (gomp_parallel_loop_start): Pass NULL as taskgroup to
1726 gomp_team_start.
1727 * loop_ull.c: Include string.h.
1728 (GOMP_loop_ull_runtime_next): Add ialias.
1729 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1730 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
1731 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
1732 gomp_loop_ull_ordered_dynamic_start,
1733 gomp_loop_ull_ordered_guided_start,
1734 gomp_loop_ull_doacross_static_start,
1735 gomp_loop_ull_doacross_dynamic_start,
1736 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
1737 and gomp_doacross_ull_init callers.
1738 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
1739 GOMP_loop_ull_doacross_start): New functions.
1740 (GOMP_loop_ull_runtime_start,
1741 GOMP_loop_ull_ordered_runtime_start,
1742 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
1743 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
1744 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
1745 GOMP_loop_ull_nonmonotonic_runtime_next,
1746 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
1747 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
1748 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
1749 (omp_pause_resource_t, omp_depend_t): New typedefs.
1750 (enum omp_lock_hint_t): Renamed to ...
1751 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
1752 enumerators using numbers and omp_lock_hint_* as their aliases.
1753 (omp_lock_hint_t): New typedef. Rename to ...
1754 (omp_sync_hint_t): ... this.
1755 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
1756 omp_sync_hint_t instead of omp_lock_hint_t.
1757 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1758 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1759 Declare.
1760 (omp_target_is_present, omp_target_disassociate_ptr):
1761 Change first argument from void * to const void *.
1762 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
1763 from void * to const void *.
1764 (omp_target_associate_ptr): Change first and second arguments from
1765 void * to const void *.
1766 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
1767 omp_pause_hard): New parameters.
1768 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1769 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1770 New interfaces.
1771 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
1772 omp_pause_hard): New parameters.
1773 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
1774 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
1775 New externals.
1776 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
1777 EXTRA argument. If not needed to prepare array, if extra is 0,
1778 clear ws->doacross, otherwise allocate just doacross structure and
1779 extra payload. If array is needed, allocate also extra payload.
1780 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
1781 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
1782 doacross == NULL.
1783 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
1784 gomp_team_start.
1785 (GOMP_parallel): Likewise. Formatting fix.
1786 (GOMP_parallel_reductions): New function.
1787 (GOMP_cancellation_point): If taskgroup has workshare
1788 flag set, check cancelled of prev taskgroup if any.
1789 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
1790 on prev taskgroup if any.
1791 * sections.c: Include string.h.
1792 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
1793 (GOMP_sections_start): Adjust gomp_work_share_start caller.
1794 (GOMP_sections2_start): New function.
1795 (GOMP_parallel_sections_start, GOMP_parallel_sections):
1796 Pass NULL as taskgroup to gomp_team_start.
1797 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
1798 gomp_work_share_start callers.
1799 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
1800 If taskgroup has workshare flag set, check cancelled on prev
1801 taskgroup if any. Guard all cancellation tests with
1802 gomp_cancel_var test.
1803 (omp_target_is_present, omp_target_disassociate_ptr):
1804 Change ptr argument from void * to const void *.
1805 (omp_target_memcpy): Change src argument from void * to const void *.
1806 (omp_target_memcpy_rect): Likewise.
1807 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
1808 instead of char * where needed.
1809 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
1810 from void * to const void *.
1811 (omp_pause_resource, omp_pause_resource_all): New functions.
1812 * task.c (gomp_task_handle_depend): Handle new depend array format
1813 in addition to the old. Handle mutexinoutset kinds the same as
1814 inout for now, handle unspecified kinds.
1815 (gomp_create_target_task): If taskgroup has workshare flag set, check
1816 cancelled on prev taskgroup if any. Guard all cancellation tests with
1817 gomp_cancel_var test. Handle new depend array format count in
1818 addition to the old.
1819 (GOMP_task): Likewise. Adjust function comment.
1820 (gomp_task_run_pre): If taskgroup has workshare flag set, check
1821 cancelled on prev taskgroup if any. Guard all cancellation tests with
1822 gomp_cancel_var test.
1823 (GOMP_taskwait_depend): New function.
1824 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
1825 format in addition to the old. Handle mutexinoutset kinds the same as
1826 inout for now, handle unspecified kinds. Fix a function comment typo.
1827 (gomp_taskgroup_init): New function.
1828 (GOMP_taskgroup_start): Use it.
1829 (gomp_reduction_register, gomp_create_artificial_team,
1830 GOMP_taskgroup_reduction_register,
1831 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
1832 gomp_parallel_reduction_register,
1833 gomp_workshare_task_reduction_register,
1834 gomp_workshare_taskgroup_start,
1835 GOMP_workshare_task_reduction_unregister): New functions.
1836 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
1837 check cancelled on prev taskgroup if any. Guard all cancellation
1838 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
1839 by calling GOMP_taskgroup_reduction_register.
1840 * team.c (gomp_thread_attr): Remove comment.
1841 (struct gomp_thread_start_data): Add handle field.
1842 (gomp_thread_start): Call pthread_detach.
1843 (gomp_new_team): Adjust gomp_init_work_share caller.
1844 (gomp_free_pool_helper): Call pthread_detach.
1845 (gomp_team_start): Add taskgroup argument, initialize implicit
1846 tasks' taskgroup field to that. Don't call
1847 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
1848 (gomp_team_end): Determine nesting by thr->ts.level != 0
1849 rather than thr->ts.team != NULL.
1850 (gomp_pause_pool_helper, gomp_pause_host): New functions.
1851 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
1852 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
1853 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
1854 if more than 1 allocate also extra payload at the end of array. Never
1855 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
1856 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
1857 return true instead of ws.
1858 * Makefile.in: Regenerated.
1859 * configure: Regenerated.
1860 * config.h.in: Regenerated.
1861 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
1862 in some cases.
1863 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
1864 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
1865 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
1866 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
1867 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
1868 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
1869 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
1870 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
1871 * testsuite/libgomp.c-c++-common/for-10.c: New test.
1872 * testsuite/libgomp.c-c++-common/for-11.c: New test.
1873 * testsuite/libgomp.c-c++-common/for-12.c: New test.
1874 * testsuite/libgomp.c-c++-common/for-13.c: New test.
1875 * testsuite/libgomp.c-c++-common/for-14.c: New test.
1876 * testsuite/libgomp.c-c++-common/for-15.c: New test.
1877 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
1878 define a different N(test), don't define N(f0) to N(f14), but instead
1879 define N(f20) to N(f34) using != comparisons.
1880 * testsuite/libgomp.c-c++-common/for-7.c: New test.
1881 * testsuite/libgomp.c-c++-common/for-8.c: New test.
1882 * testsuite/libgomp.c-c++-common/for-9.c: New test.
1883 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
1884 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
1885 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
1886 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
1887 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
1888 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
1889 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
1890 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
1891 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
1892 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
1893 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
1894 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
1895 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
1896 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
1897 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
1898 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
1899 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
1900 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
1901 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
1902 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
1903 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
1904 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
1905 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
1906 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
1907 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
1908 * testsuite/libgomp.c++/depend-1.C: New test.
1909 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
1910 * testsuite/libgomp.c++/depobj-1.C: New test.
1911 * testsuite/libgomp.c++/for-16.C: New test.
1912 * testsuite/libgomp.c++/for-21.C: New test.
1913 * testsuite/libgomp.c++/for-22.C: New test.
1914 * testsuite/libgomp.c++/for-23.C: New test.
1915 * testsuite/libgomp.c++/for-24.C: New test.
1916 * testsuite/libgomp.c++/for-25.C: New test.
1917 * testsuite/libgomp.c++/for-26.C: New test.
1918 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
1919 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
1920 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
1921 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
1922 * testsuite/libgomp.c++/task-reduction-10.C: New test.
1923 * testsuite/libgomp.c++/task-reduction-11.C: New test.
1924 * testsuite/libgomp.c++/task-reduction-12.C: New test.
1925 * testsuite/libgomp.c++/task-reduction-13.C: New test.
1926 * testsuite/libgomp.c++/task-reduction-14.C: New test.
1927 * testsuite/libgomp.c++/task-reduction-15.C: New test.
1928 * testsuite/libgomp.c++/task-reduction-16.C: New test.
1929 * testsuite/libgomp.c++/task-reduction-17.C: New test.
1930 * testsuite/libgomp.c++/task-reduction-18.C: New test.
1931 * testsuite/libgomp.c++/task-reduction-19.C: New test.
1932 * testsuite/libgomp.c/task-reduction-1.c: New test.
1933 * testsuite/libgomp.c++/task-reduction-1.C: New test.
1934 * testsuite/libgomp.c/task-reduction-2.c: New test.
1935 * testsuite/libgomp.c++/task-reduction-2.C: New test.
1936 * testsuite/libgomp.c++/task-reduction-3.C: New test.
1937 * testsuite/libgomp.c++/task-reduction-4.C: New test.
1938 * testsuite/libgomp.c++/task-reduction-5.C: New test.
1939 * testsuite/libgomp.c++/task-reduction-6.C: New test.
1940 * testsuite/libgomp.c++/task-reduction-7.C: New test.
1941 * testsuite/libgomp.c++/task-reduction-8.C: New test.
1942 * testsuite/libgomp.c++/task-reduction-9.C: New test.
1943 * testsuite/libgomp.c/teams-1.c: New test.
1944 * testsuite/libgomp.c/teams-2.c: New test.
1945 * testsuite/libgomp.c/thread-limit-4.c: New test.
1946 * testsuite/libgomp.c/thread-limit-5.c: New test.
1947 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
1948
58168bbf
CLT
19492018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
1950
1951 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
1952 acc_memcpy_to/from_device functions, now with async parameter.
1953 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
1954 (acc_memcpy_from_device): Likewise.
1955 (acc_memcpy_to_device_async): New API function.
1956 (acc_memcpy_from_device_async): Likewise.
1957 (present_create_copy): Add async parameter and async setting/unsetting.
1958 (acc_create): Adjust present_create_copy call.
1959 (acc_copyin): Likewise.
1960 (acc_present_or_create): Likewise.
1961 (acc_present_or_copyin): Likewise.
1962 (acc_create_async): New API function.
1963 (acc_copyin_async): New API function.
1964 (delete_copyout): Add async parameter and async setting/unsetting.
1965 (acc_delete): Adjust delete_copyout call.
1966 (acc_copyout): Likewise.
1967 (acc_delete_async): New API function.
1968 (acc_copyout_async): Likewise.
1969 (update_dev_host): Add async parameter and async setting/unsetting.
1970 (acc_update_device): Adjust update_dev_host call.
1971 (acc_update_self): Likewise.
1972 (acc_update_device_async): New API function.
1973 (acc_update_self_async): Likewise.
1974 * openacc.h (acc_copyin_async): Declare new API function.
1975 (acc_create_async): Likewise.
1976 (acc_copyout_async): Likewise.
1977 (acc_delete_async): Likewise.
1978 (acc_update_device_async): Likewise.
1979 (acc_update_self_async): Likewise.
1980 (acc_memcpy_to_device_async): Likewise.
1981 (acc_memcpy_from_device_async): Likewise.
1982 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
1983 (acc_copyin_async_64_h): New subroutine.
1984 (acc_copyin_async_array_h): New subroutine.
1985 (acc_create_async_32_h): New subroutine.
1986 (acc_create_async_64_h): New subroutine.
1987 (acc_create_async_array_h): New subroutine.
1988 (acc_copyout_async_32_h): New subroutine.
1989 (acc_copyout_async_64_h): New subroutine.
1990 (acc_copyout_async_array_h): New subroutine.
1991 (acc_delete_async_32_h): New subroutine.
1992 (acc_delete_async_64_h): New subroutine.
1993 (acc_delete_async_array_h): New subroutine.
1994 (acc_update_device_async_32_h): New subroutine.
1995 (acc_update_device_async_64_h): New subroutine.
1996 (acc_update_device_async_array_h): New subroutine.
1997 (acc_update_self_async_32_h): New subroutine.
1998 (acc_update_self_async_64_h): New subroutine.
1999 (acc_update_self_async_array_h): New subroutine.
2000 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
2001 (acc_copyin_async_64_h): New subroutine.
2002 (acc_copyin_async_array_h): New subroutine.
2003 (acc_create_async_32_h): New subroutine.
2004 (acc_create_async_64_h): New subroutine.
2005 (acc_create_async_array_h): New subroutine.
2006 (acc_copyout_async_32_h): New subroutine.
2007 (acc_copyout_async_64_h): New subroutine.
2008 (acc_copyout_async_array_h): New subroutine.
2009 (acc_delete_async_32_h): New subroutine.
2010 (acc_delete_async_64_h): New subroutine.
2011 (acc_delete_async_array_h): New subroutine.
2012 (acc_update_device_async_32_h): New subroutine.
2013 (acc_update_device_async_64_h): New subroutine.
2014 (acc_update_device_async_array_h): New subroutine.
2015 (acc_update_self_async_32_h): New subroutine.
2016 (acc_update_self_async_64_h): New subroutine.
2017 (acc_update_self_async_array_h): New subroutine.
2018 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
2019 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
2020 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
2021 acc_memcpy_to_device_async*, acc_update_device_async*, and
2022 acc_update_self_async* entries.
2023 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
2024 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
2025 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
2026
22e05272
JM
20272018-10-31 Joseph Myers <joseph@codesourcery.com>
2028
2029 PR bootstrap/82856
2030 * Makefile.am: Include multilib.am
2031 (AUTOMAKE_OPTIONS): Add info-in-builddir.
2032 (CLEANFILES): Remove libgomp.info.
2033 * configure.ac: Remove AC_PREREQ.
2034 * testsuite/Makefile.am (RUNTEST): Remove quotes.
2035 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
2036 Regenerate.
2037
87a5ccfb
JM
20382018-10-29 Joseph Myers <joseph@codesourcery.com>
2039 Julian Brown <julian@codesourcery.com>
2040
2041 * testsuite/libgomp.oacc-c++/this.C: New.
2042
2049befd
CP
20432018-09-18 Cesar Philippidis <cesar@codesourcery.com>
2044
2045 * plugin/plugin-nvptx.c (struct cuda_map): New.
2046 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
2047 h_tail with (cuda_map *) map.
2048 (cuda_map_create): New function.
2049 (cuda_map_destroy): New function.
2050 (map_init): Update to use a linked list of cuda_map objects.
2051 (map_fini): Likewise.
2052 (map_pop): Likewise.
2053 (map_push): Likewise. Return CUdeviceptr instead of void.
2054 (init_streams_for_device): Remove stales references to ptx_stream
2055 members.
2056 (select_stream_for_async): Likewise.
2057 (nvptx_exec): Update call to map_init.
2058
8e36332c
CP
20592018-09-09 Cesar Philippidis <cesar@codesourcery.com>
2060 Julian Brown <julian@codesourcery.com>
2061
2062 PR middle-end/86336
2063 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
2064
2b4c9065
NK
20652018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
2066 Thomas Koenig <tkoenig@gcc.gnu.org>
2067
2068 PR fortran/25829
2069 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2070 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2071 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2072 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2073 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2074 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2075 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2076
bd9b3d3d
CP
20772018-08-13 Cesar Philippidis <cesar@codesourcery.com>
2078 Tom de Vries <tdevries@suse.de>
2079
2080 PR target/85590
2081 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
2082 (cuOccupancyMaxPotentialBlockSize): Declare.
2083 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
2084 CUDA_ONE_CALL_MAYBE_NULL.
2085 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
2086 CUoccupancyB2DSize and declare
2087 cuOccupancyMaxPotentialBlockSize.
2088 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
2089 default num_gangs and num_workers when the driver supports it.
2090
8e09a12f
TV
20912018-08-08 Tom de Vries <tdevries@suse.de>
2092
2093 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
2094 CUDA_ONE_CALL_MAYBE_NULL.
2095 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
2096 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
2097 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
2098 are not found.
2099
cedd9bd0
TV
21002018-08-08 Tom de Vries <tdevries@suse.de>
2101
2102 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
2103 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
2104 present.
2105
b113af95
TV
21062018-08-08 Tom de Vries <tdevries@suse.de>
2107
2108 * plugin/plugin-nvptx.c
2109 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
2110 (nvptx_open_device): Use
2111 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
2112
94767dac
TV
21132018-08-08 Tom de Vries <tdevries@suse.de>
2114
2115 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
2116 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
2117
02150de8
TV
21182018-08-07 Tom de Vries <tdevries@suse.de>
2119
2120 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
2121 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
2122 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
2123 corresponding call in CUDA_ONE_CALL. Add def/undef of
2124 CUDA_ONE_CALL_MAYBE_NULL.
2125 (CUDA_CALL_EXISTS): Define.
2126
9e28b107
TV
21272018-08-07 Tom de Vries <tdevries@suse.de>
2128
2129 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
2130 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
2131 corresponding undefs right after.
2132
09940090
TV
21332018-08-04 Tom de Vries <tdevries@suse.de>
2134
2135 * plugin/configfrag.ac: For --without-cuda-driver, set
2136 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
2137 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
2138 * configure: Regenerate.
2139
77e0a97a
TV
21402018-08-02 Tom de Vries <tdevries@suse.de>
2141
2142 PR target/86660
2143 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
2144 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
2145 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
2146 Same.
2147 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
2148 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
2149 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
2150
701d080a
CP
21512018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2152 Thomas Schwinge <thomas@codesourcery.com>
2153
2154 * config/nvptx/oacc-parallel.c: Truncate.
2155
094db6be
CP
21562018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2157 James Norris <jnorris@codesourcery.com>
2158
2159 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
2160 (map_init, map_pop): Remove use of struct map.
2161 (map_push): Likewise and change argument list.
094db6be
CP
2162 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
2163
8c6310a2
TV
21642018-08-01 Tom de Vries <tdevries@suse.de>
2165
2166 * plugin/cuda-lib.def: New file. Factor out of ...
2167 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
2168 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
2169 using CUDA_CALLS.
2170
1d4a51cf
AV
21712018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
2172
2173 Revert 'AsyncI/O patch committed'.
2174 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2175 Thomas Koenig <tkoenig@gcc.gnu.org>
2176
2177 PR fortran/25829
2178 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2179 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2180 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2181 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2182 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2183 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2184 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2185
4cdfee3f
TV
21862018-07-30 Tom de Vries <tdevries@suse.de>
2187
2188 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
2189 (nvptx_exec): Ensure worker and vector default dims don't exceed
2190 targ_fn->max_threads_per_block.
2191
0b210c43
TV
21922018-07-30 Tom de Vries <tdevries@suse.de>
2193
2194 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
2195 (nvptx_open_device): Init default_dims for device.
2196 (nvptx_exec): Use default_dims from device.
2197
5883c5cc
JJ
21982018-07-26 Jakub Jelinek <jakub@redhat.com>
2199
5d36384c
JJ
2200 PR testsuite/86660
2201 * testsuite/libgomp.c++/for-15.C (results): Include it in
2202 omp declare target region.
2203 (main): Use map (always, tofrom: results) instead of
2204 map (tofrom: results).
2205
5883c5cc
JJ
2206 PR middle-end/86660
2207 * testsuite/libgomp.c/pr86660.c: New test.
2208
88a4654d
CP
22092018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2210 Tom de Vries <tdevries@suse.de>
2211
2212 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
2213 sufficient resources to launch a kernel, and give a hint on how to fix
2214 it.
2215
0c6c2f5f
CP
22162018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2217 Tom de Vries <tdevries@suse.de>
2218
2219 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
2220 max_threads_per_block and max_threads_per_multiprocessor fields.
2221 (nvptx_open_device): Initialize new fields.
2222 (nvptx_exec): Use num_sms, and new fields.
2223
6dd58010
TV
22242018-07-26 Tom de Vries <tdevries@suse.de>
2225
2226 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
2227 to correct locations. Remove xfail.
2228
b2eb1779
TV
22292018-07-26 Tom de Vries <tdevries@suse.de>
2230
2231 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
2232 acc_wait. Move acc_async_test calls to correct locations. Remove
2233 xfail.
2234
b1f45884
NK
22352018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2236 Thomas Koenig <tkoenig@gcc.gnu.org>
2237
2238 PR fortran/25829
2239 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2240 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2241 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2242 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2243 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2244 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2245 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2246
3a106211
JJ
22472018-07-17 Jakub Jelinek <jakub@redhat.com>
2248
a3bccfa1
JJ
2249 PR middle-end/86542
2250 * testsuite/libgomp.c++/pr86542.C: New test.
2251
3a106211
JJ
2252 PR middle-end/86539
2253 * testsuite/libgomp.c++/pr86539.C: New test.
2254
2bae8b2f
JJ
22552018-07-11 Jakub Jelinek <jakub@redhat.com>
2256
2257 PR c++/86443
2258 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
2259 (results): Make sure the variable is not inside declare target region.
2260 (qux): Remove unused function.
2261
0b27c3ed
JJ
22622018-07-10 Jakub Jelinek <jakub@redhat.com>
2263
2264 PR c++/86443
2265 * testsuite/libgomp.c++/for-15.C: New test.
2266
f0391511
JJ
22672018-06-26 Jakub Jelinek <jakub@redhat.com>
2268
2269 PR c++/86291
2270 * testsuite/libgomp.c++/pr86291.C: New test.
2271
1a6d1d24
GP
22722018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
2273
2274 * libgomp.texi (Top): Move www.openmp.org to https.
2275 (Enabling OpenMP): Ditto.
2276 (omp_get_active_level): Ditto.
2277 (omp_get_ancestor_thread_num): Ditto.
2278 (omp_get_cancellation): Ditto.
2279 (omp_get_default_device): Ditto.
2280 (omp_get_dynamic): Ditto.
2281 (omp_get_level): Ditto.
2282 (omp_get_max_active_levels): Ditto.
2283 (omp_get_max_task_priority): Ditto.
2284 (omp_get_max_threads): Ditto.
2285 (omp_get_nested): Ditto.
2286 (omp_get_num_devices): Ditto.
2287 (omp_get_num_procs): Ditto.
2288 (omp_get_num_teams): Ditto.
2289 (omp_get_num_threads): Ditto.
2290 (omp_get_proc_bind): Ditto.
2291 (omp_get_schedule): Ditto.
2292 (omp_get_team_num): Ditto.
2293 (omp_get_team_size): Ditto.
2294 (omp_get_thread_limit): Ditto.
2295 (omp_get_thread_num): Ditto.
2296 (omp_in_parallel): Ditto.
2297 (omp_in_final): Ditto.
2298 (omp_is_initial_device): Ditto.
2299 (omp_set_default_device): Ditto.
2300 (omp_set_dynamic): Ditto.
2301 (omp_set_max_active_levels): Ditto.
2302 (omp_set_nested): Ditto.
2303 (omp_set_num_threads): Ditto.
2304 (omp_set_schedule): Ditto.
2305 (omp_init_lock): Ditto.
2306 (omp_set_lock): Ditto.
2307 (omp_test_lock): Ditto.
2308 (omp_unset_lock): Ditto.
2309 (omp_destroy_lock): Ditto.
2310 (omp_init_nest_lock): Ditto.
2311 (omp_set_nest_lock): Ditto.
2312 (omp_test_nest_lock): Ditto.
2313 (omp_unset_nest_lock): Ditto.
2314 (omp_destroy_nest_lock): Ditto.
2315 (omp_get_wtick): Ditto.
2316 (omp_get_wtime): Ditto.
2317 (OMP_CANCELLATION): Ditto.
2318 (OMP_DISPLAY_ENV): Ditto.
2319 (OMP_DEFAULT_DEVICE): Ditto.
2320 (OMP_DYNAMIC): Ditto.
2321 (OMP_MAX_ACTIVE_LEVELS): Ditto.
2322 (OMP_MAX_TASK_PRIORITY): Ditto.
2323 (OMP_NESTED): Ditto.
2324 (OMP_NUM_THREADS): Ditto.
2325 (OMP_PROC_BIND): Ditto.
2326 (OMP_PLACES): Ditto.
2327 (OMP_STACKSIZE): Ditto.
2328 (OMP_SCHEDULE): Ditto.
2329 (OMP_THREAD_LIMIT): Ditto.
2330 (OMP_WAIT_POLICY): Ditto.
2331
31dd69b7
CP
23322018-06-22 Cesar Philippidis <cesar@codesourcery.com>
2333 James Norris <jnorris@codesourcery.com>
2334 Julian Brown <julian@codesourcery.com>
2335 Thomas Schwinge <thomas@codesourcery.com>
2336 Tom de Vries <tom@codesourcery.com>
2337
2338 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
2339 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
2340 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
2341 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
2342 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2343 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2344 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
2345 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2346 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
2347 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
2348 Likewise.
2349 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
2350 Likewise.
2351 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
2352 Likewise.
2353 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
2354 Likewise.
2355 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
2356 Likewise.
2357 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
2358 Likewise.
2359 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2360 Likewise.
2361 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2362 Likewise.
2363 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2364 Likewise.
2365 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2366 Likewise.
2367 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2368 Likewise.
2369 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2370 Likewise.
2371 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2372 Likewise.
2373 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2374 Likewise.
2375 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2376 Likewise.
2377 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2378 Likewise.
2379 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2380 Likewise.
2381 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2382 Likewise.
2383 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2384 Likewise.
2385 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2386 Likewise.
2387 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2388 Likewise.
2389 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2390 Likewise.
2391 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2392 Likewise.
2393 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2394 Likewise.
2395 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2396 Likewise.
2397 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2398 Likewise.
2399 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
2400 Likewise.
2401 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
2402 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
2403 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
2404 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
2405 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
2406 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2407 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2408 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
2409 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2410 Likewise.
2411 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2412 Likewise.
2413 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
2414 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
2415 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
2416 Likewise.
2417 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
2418 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
2419 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2420 Likewise.
2421 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2422 Likewise.
2423 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2424 Likewise.
2425 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2426 Likewise.
2427 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2428 Likewise.
2429 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2430 Likewise.
2431 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2432 Likewise.
2433 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2434 Likewise.
2435 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2436 Likewise.
2437 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2438 Likewise.
2439 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2440 Likewise.
2441 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2442 Likewise.
2443 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2444 Likewise.
2445 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2446 Likewise.
2447 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
2448 Likewise.
2449 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2450 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
2451 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2452 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
2453 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
2454 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
2455 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
2456
829c6349
CLT
24572018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
2458 Thomas Schwinge <thomas@codesourcery.com>
2459 Cesar Philippidis <cesar@codesourcery.com>
2460
2461 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
2462 (gomp_acc_remove_pointer): Update declaration.
2463 (gomp_acc_declare_allocate): Declare.
2464 (gomp_remove_var): Declare.
2465 * libgomp.map (OACC_2.5): Define.
2466 * oacc-mem.c (acc_map_data): Update refcount.
2467 (acc_unmap_data): Likewise.
2468 (present_create_copy): Likewise.
2469 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
2470 (acc_copyin): Likewise.
2471 (FLAG_FINALIZE): Define.
2472 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
2473 (acc_delete_finalize): New function.
2474 (acc_delete_finalize_async): New function.
2475 (acc_copyout_finalize): New function.
2476 (acc_copyout_finalize_async): New function.
2477 (gomp_acc_insert_pointer): Update refcounts.
2478 (gomp_acc_remove_pointer): Return if data is not present on the
2479 accelerator.
2480 * oacc-parallel.c (find_pset): Rename to find_pointer.
2481 (find_pointer): Add support for GOMP_MAP_POINTER.
2482 (handle_ftn_pointers): New function.
2483 (GOACC_parallel_keyed): Update refcounts of variables.
2484 (GOACC_enter_exit_data): Add support for finalized data mappings.
2485 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
2486 of fortran arrays.
2487 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
2488 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
2489 for GOMP_MAP_FORCE_FROM.
2490 * openacc.f90 (module openacc_internal): Add
2491 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
2492 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
2493 acc_copyout_finalize and acc_delete_finalize.
2494 (acc_copyout_finalize_32_h): New subroutine.
2495 (acc_copyout_finalize_64_h): New subroutine.
2496 (acc_copyout_finalize_array_h): New subroutine.
2497 (acc_delete_finalize_32_h): New subroutine.
2498 (acc_delete_finalize_64_h): New subroutine.
2499 (acc_delete_finalize_array_h): New subroutine.
2500 * openacc.h (acc_copyout_finalize): Declare.
2501 (acc_copyout_finalize_async): Declare.
2502 (acc_delete_finalize): Declare.
2503 (acc_delete_finalize_async): Declare.
2504 * openacc_lib.h (acc_copyout_finalize): New interface.
2505 (acc_delete_finalize): New interface.
2506 * target.c (gomp_map_vars): Update dynamic_refcount.
2507 (gomp_remove_var): New function.
2508 (gomp_unmap_vars): Use it.
2509 (gomp_unload_image_from_device): Likewise.
2510 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
2511 case to utilize OpenACC 2.5 data clause semantics.
2512 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2513 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2514 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2515 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2516 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2517 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2518 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2519 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2520 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2521 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
2522 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2523 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
2524 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
2525 utilize OpenACC 2.5 data clause semantics.
2526 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2527 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2528 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2529 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2530 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2531 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2532 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2533 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
2534 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2535
4358400b
JW
25362018-05-21 Janus Weil <janus@gcc.gnu.org>
2537
2538 PR fortran/85841
2539 PR testsuite/85865
2540 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
2541 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
2542 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
2543 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
2544 * testsuite/libgomp.fortran/task2.f90: Ditto.
2545 * testsuite/libgomp.fortran/vla1.f90: Ditto.
2546 * testsuite/libgomp.fortran/vla2.f90: Ditto.
2547 * testsuite/libgomp.fortran/vla3.f90: Ditto.
2548 * testsuite/libgomp.fortran/vla4.f90: Ditto.
2549 * testsuite/libgomp.fortran/vla5.f90: Ditto.
2550 * testsuite/libgomp.fortran/vla6.f90: Ditto.
2551 * testsuite/libgomp.fortran/vla8.f90: Ditto.
2552 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
2553 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
2554
950ad0ba
CP
25552018-05-18 Cesar Philippidis <cesar@codesourcery.com>
2556
2557 PR c++/85782
2558 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
2559
f5ad16f1
TV
25602018-05-09 Tom de Vries <tom@codesourcery.com>
2561
2562 PR libgomp/82901
2563 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
2564 to GOACC_enter_exit_data.
2565
edbd038a
TV
25662018-05-09 Tom de Vries <tom@codesourcery.com>
2567
2568 PR libgomp/83792
2569 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
2570 (async_synchronous_p): New function.
2571 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
2572 async_valid_p.
2573 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2574 async_valid_stream_id_p.
2575 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
2576 * oacc-parallel.c (GOACC_parallel_keyed): Same.
2577
37d6c719
TV
25782018-05-07 Tom de Vries <tom@codesourcery.com>
2579
2580 PR testsuite/85677
2581 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
2582 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
2583
63f12215
TV
25842018-05-03 Tom de Vries <tom@codesourcery.com>
2585
2586 PR testsuite/85106
2587 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
2588 extra_tool_flags if it contains an -foffload=-fdump-* flag.
2589 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
2590 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
2591
ec00d3fa
TV
25922018-05-02 Tom de Vries <tom@codesourcery.com>
2593
2594 PR libgomp/85411
2595 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
2596 GOMP_OPENACC_DIM ...
2597 * env.c (parse_gomp_openacc_dim): ... here. New function.
2598 (initialize_env): Call parse_gomp_openacc_dim.
2599 (goacc_default_dims): Define.
2600 * libgomp.h (goacc_default_dims): Declare.
2601 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
2602 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
2603 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
2604 GOMP_PLUGIN_acc_default_dim.
2605 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
2606 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
2607
92243e7c
TV
26082018-05-02 Tom de Vries <tom@codesourcery.com>
2609
2610 PR testsuite/83791
2611 * testsuite/libgomp.c++/udr-9.C: Update.
2612 * testsuite/libgomp.c++/atomic-16.C: Remove.
2613 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
2614 * testsuite/libgomp.c++/loop-13.C: Remove.
2615 * testsuite/libgomp.c++/loop-14.C: Remove.
2616 * testsuite/libgomp.c++/loop-15.C: Remove.
2617 * testsuite/libgomp.c++/monotonic-1.C: Remove.
2618 * testsuite/libgomp.c++/monotonic-2.C: Remove.
2619 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
2620 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
2621 * testsuite/libgomp.c++/ordered-1.C: Remove.
2622 * testsuite/libgomp.c++/pr45784.C: Remove.
2623 * testsuite/libgomp.c++/pr64824.C: Remove.
2624 * testsuite/libgomp.c++/pr64868.C: Remove.
2625 * testsuite/libgomp.c++/pr66199-1.C: Remove.
2626 * testsuite/libgomp.c++/pr66199-2.C: Remove.
2627 * testsuite/libgomp.c++/pr66199-3.C: Remove.
2628 * testsuite/libgomp.c++/pr66199-4.C: Remove.
2629 * testsuite/libgomp.c++/pr66199-5.C: Remove.
2630 * testsuite/libgomp.c++/pr66199-6.C: Remove.
2631 * testsuite/libgomp.c++/pr66199-7.C: Remove.
2632 * testsuite/libgomp.c++/pr66199-8.C: Remove.
2633 * testsuite/libgomp.c++/pr66199-9.C: Remove.
2634 * testsuite/libgomp.c++/pr69389.C: Remove.
2635 * testsuite/libgomp.c++/simd10.C: Remove.
2636 * testsuite/libgomp.c++/simd11.C: Remove.
2637 * testsuite/libgomp.c++/simd12.C: Remove.
2638 * testsuite/libgomp.c++/simd13.C: Remove.
2639 * testsuite/libgomp.c++/target-1.C: Remove.
2640 * testsuite/libgomp.c++/target-3.C: Remove.
2641 * testsuite/libgomp.c++/target-4.C: Remove.
2642 * testsuite/libgomp.c++/target-5.C: Remove.
2643 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
2644 * testsuite/libgomp.c++/taskloop-1.C: Remove.
2645 * testsuite/libgomp.c++/taskloop-2.C: Remove.
2646 * testsuite/libgomp.c++/taskloop-3.C: Remove.
2647 * testsuite/libgomp.c++/taskloop-4.C: Remove.
2648 * testsuite/libgomp.c++/udr-9.C: Remove.
2649 * testsuite/libgomp.c++/for-10.C: Remove.
2650 * testsuite/libgomp.c++/for-11.C: Remove.
2651 * testsuite/libgomp.c++/for-12.C: Remove.
2652 * testsuite/libgomp.c++/for-13.C: Remove.
2653 * testsuite/libgomp.c++/for-14.C: Remove.
2654 * testsuite/libgomp.c++/for-9.C: Remove.
2655 * testsuite/libgomp.c/atomic-18.c: Move ...
2656 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
2657 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
2658 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
2659 * testsuite/libgomp.c/loop-13.c: Move ...
2660 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
2661 * testsuite/libgomp.c/loop-14.c: Move ...
2662 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
2663 * testsuite/libgomp.c/loop-15.c: Remove.
2664 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
2665 * testsuite/libgomp.c/monotonic-1.c: Move ...
2666 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
2667 * testsuite/libgomp.c/monotonic-2.c: Move ...
2668 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
2669 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
2670 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
2671 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
2672 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
2673 * testsuite/libgomp.c/ordered-4.c: Move ...
2674 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
2675 * testsuite/libgomp.c/pr45784.c: Move ...
2676 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
2677 * testsuite/libgomp.c/pr64824.c: Move ...
2678 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
2679 * testsuite/libgomp.c/pr64868.c: Move ...
2680 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
2681 * testsuite/libgomp.c/pr66199-1.c: Move ...
2682 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
2683 * testsuite/libgomp.c/pr66199-2.c: Move ...
2684 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
2685 * testsuite/libgomp.c/pr66199-3.c: Move ...
2686 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
2687 * testsuite/libgomp.c/pr66199-4.c: Move ...
2688 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
2689 * testsuite/libgomp.c/pr66199-5.c: Move ...
2690 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
2691 * testsuite/libgomp.c/pr66199-6.c: Move ...
2692 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
2693 * testsuite/libgomp.c/pr66199-7.c: Move ...
2694 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
2695 * testsuite/libgomp.c/pr66199-8.c: Move ...
2696 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
2697 * testsuite/libgomp.c/pr66199-9.c: Move ...
2698 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
2699 * testsuite/libgomp.c/pr69389.c: Move ...
2700 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
2701 * testsuite/libgomp.c/simd-14.c: Move ...
2702 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
2703 * testsuite/libgomp.c/simd-15.c: Move ...
2704 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
2705 * testsuite/libgomp.c/simd-16.c: Move ...
2706 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
2707 * testsuite/libgomp.c/simd-17.c: Move ...
2708 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
2709 * testsuite/libgomp.c/target-1.c: Move ...
2710 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
2711 * testsuite/libgomp.c/target-10.c: Move ...
2712 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
2713 * testsuite/libgomp.c/target-13.c: Move ...
2714 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
2715 * testsuite/libgomp.c/target-2.c: Move ...
2716 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
2717 * testsuite/libgomp.c/taskgroup-1.c: Move ...
2718 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
2719 * testsuite/libgomp.c/taskloop-1.c: Move ...
2720 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
2721 * testsuite/libgomp.c/taskloop-2.c: Move ...
2722 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
2723 * testsuite/libgomp.c/taskloop-3.c: Move ...
2724 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
2725 * testsuite/libgomp.c/taskloop-4.c: Move ...
2726 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
2727 * testsuite/libgomp.c/udr-1.c: Move ...
2728 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
2729 * testsuite/libgomp.c/for-1.c: Move ...
2730 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
2731 * testsuite/libgomp.c/for-1.h: Move ...
2732 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
2733 * testsuite/libgomp.c/for-2.c: Move ...
2734 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
2735 * testsuite/libgomp.c/for-2.h: Move ...
2736 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
2737 * testsuite/libgomp.c/for-3.c: Move ...
2738 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
2739 * testsuite/libgomp.c/for-4.c: Move ...
2740 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
2741 * testsuite/libgomp.c/for-5.c: Move ...
2742 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
2743 * testsuite/libgomp.c/for-6.c: Move ...
2744 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
2745
1f62d637
TV
27462018-05-02 Tom de Vries <tom@codesourcery.com>
2747
2748 PR libgomp/82428
2749 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
2750 __builtin_goacc_parlevel_{id,size}.
2751 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
2752 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
2753 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
2754 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
2755 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
2756 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
2757 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
2758 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
2759 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
2760 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
2761 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
2762 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
2763 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
2764 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
2765 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
2766 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
2767 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
2768 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
2769 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
2770 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
2771 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
2772 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
2773 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
2774
9220b511
TV
27752018-05-02 Tom de Vries <tom@codesourcery.com>
2776
2777 PR testsuite/85106
2778 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
2779
6c3c13c1
TV
27802018-05-02 Tom de Vries <tom@codesourcery.com>
2781
2782 PR testsuite/85106
2783 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
2784
8d70b61e
JB
27852018-04-29 Julian Brown <julian@codesourcery.com>
2786 Tom de Vries <tom@codesourcery.com>
2787
2788 PR testsuite/85527
2789 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
2790 arbitrary order for iterations of atomic subtract check.
2791
4a57a4b6
TV
27922018-04-28 Tom de Vries <tom@codesourcery.com>
2793
2794 PR testsuite/85527
2795 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
2796 atomic capture results obtained in parallel loop to an array, instead of
2797 to a scalar.
2798
df36a3d3
TV
27992018-04-26 Tom de Vries <tom@codesourcery.com>
2800
2801 PR libgomp/84020
2802 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
2803 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
2804 (process_GOMP_NVPTX_JIT): New function.
2805 (link_ptx): Use process_GOMP_NVPTX_JIT.
2806
d160ae78
RB
28072018-04-26 Richard Biener <rguenther@suse.de>
2808 Tom de Vries <tom@codesourcery.com>
2809
2810 PR lto/85422
2811 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
2812
ca9dc642
TV
28132018-04-26 Tom de Vries <tom@codesourcery.com>
2814
2815 PR target/85519
2816 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
2817 recursion depth from 25 to 23.
2818 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
2819
7b47ecf2
L
28202018-04-24 H.J. Lu <hongjiu.lu@intel.com>
2821
2822 * configure: Regenerated.
2823
e91eba31
NS
28242018-04-20 Nathan Sidwell <nathan@codesourcery.com>
2825 Tom de Vries <tom@codesourcery.com>
2826
2827 PR target/85445
2828 * testsuite/libgomp.oacc-c++/ref-1.C: New.
2829
6e0d40b6
TS
28302018-04-19 Thomas Schwinge <thomas@codesourcery.com>
2831
2832 PR libgomp/85463
2833 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
2834 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
2835 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
2836 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
2837 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
2838 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
2839
2840 PR libfortran/85166
2841 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
2842 abort".
2843 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
2844
a0e1df88
JJ
28452018-04-19 Jakub Jelinek <jakub@redhat.com>
2846
2847 * configure: Regenerated.
2848
001ddaa8
DM
28492018-04-18 David Malcolm <dmalcolm@redhat.com>
2850
2851 PR jit/85384
2852 * configure: Regenerate.
2853
05e0af43
CP
28542018-04-16 Cesar Philippidis <cesar@codesourcery.com>
2855 Tom de Vries <tom@codesourcery.com>
2856
2857 PR middle-end/84955
2858 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2859 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2860
bc436e10
TK
28612018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
2862
2863 PR fortran/83064
2864 PR testsuite/85346
2865 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
2866 test from gfortran.dg to here.
2867
ffb164c7
JJ
28682018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2869
2870 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
2871 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
2872
28732018-04-12 Cesar Philippidis <cesar@codesourcery.com>
2874
2875 PR middle-end/84955
2876 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
2877 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
2878
2ba16fd2
TV
28792018-04-05 Tom de Vries <tom@codesourcery.com>
2880
2881 PR target/85204
2882 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
2883
46dbeb40
TV
28842018-03-26 Tom de Vries <tom@codesourcery.com>
2885
2886 PR tree-optimization/85063
2887 * testsuite/libgomp.c/switch-conversion-2.c: New test.
2888 * testsuite/libgomp.c/switch-conversion.c: New test.
2889 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
2890 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
2891
bfc24e32
TK
28922018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
2893
2894 PR fortran/84381
2895 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
2896 call abort by STOP n.
2897 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
2898 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
2899 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
2900 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
2901 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
2902 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
2903 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
2904 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
2905 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
2906 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
2907 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
2908 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
2909 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
2910 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
2911 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
2912 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
2913 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
2914 * testsuite/libgomp.fortran/associate1.f90: Likewise.
2915 * testsuite/libgomp.fortran/associate2.f90: Likewise.
2916 * testsuite/libgomp.fortran/associate3.f90: Likewise.
2917 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
2918 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
2919 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
2920 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
2921 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
2922 * testsuite/libgomp.fortran/character1.f90: Likewise.
2923 * testsuite/libgomp.fortran/character2.f90: Likewise.
2924 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
2925 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
2926 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
2927 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
2928 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
2929 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
2930 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
2931 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
2932 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
2933 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
2934 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
2935 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
2936 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
2937 * testsuite/libgomp.fortran/do1.f90: Likewise.
2938 * testsuite/libgomp.fortran/do2.f90: Likewise.
2939 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
2940 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
2941 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
2942 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
2943 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
2944 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
2945 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
2946 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
2947 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
2948 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
2949 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
2950 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
2951 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
2952 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
2953 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
2954 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
2955 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
2956 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
2957 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
2958 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
2959 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
2960 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
2961 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
2962 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
2963 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
2964 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
2965 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
2966 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
2967 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
2968 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
2969 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
2970 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
2971 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
2972 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
2973 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
2974 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
2975 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
2976 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
2977 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
2978 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
2979 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
2980 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
2981 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
2982 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
2983 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
2984 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
2985 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
2986 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
2987 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
2988 * testsuite/libgomp.fortran/lib1.f90: Likewise.
2989 * testsuite/libgomp.fortran/lib2.f: Likewise.
2990 * testsuite/libgomp.fortran/lib3.f: Likewise.
2991 * testsuite/libgomp.fortran/lib4.f90: Likewise.
2992 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
2993 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
2994 * testsuite/libgomp.fortran/nested1.f90: Likewise.
2995 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
2996 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
2997 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
2998 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
2999 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
3000 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
3001 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
3002 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
3003 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
3004 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
3005 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
3006 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
3007 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
3008 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
3009 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
3010 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
3011 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
3012 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
3013 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
3014 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3015 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
3016 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
3017 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
3018 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
3019 * testsuite/libgomp.fortran/pr25162.f: Likewise.
3020 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
3021 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
3022 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
3023 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
3024 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
3025 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
3026 * testsuite/libgomp.fortran/pr28390.f: Likewise.
3027 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
3028 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
3029 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
3030 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
3031 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
3032 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
3033 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
3034 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
3035 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
3036 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
3037 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
3038 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
3039 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
3040 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
3041 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
3042 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
3043 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
3044 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
3045 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
3046 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
3047 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
3048 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
3049 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
3050 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
3051 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
3052 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
3053 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
3054 * testsuite/libgomp.fortran/reference1.f90: Likewise.
3055 * testsuite/libgomp.fortran/reference2.f90: Likewise.
3056 * testsuite/libgomp.fortran/retval1.f90: Likewise.
3057 * testsuite/libgomp.fortran/retval2.f90: Likewise.
3058 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
3059 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
3060 * testsuite/libgomp.fortran/simd1.f90: Likewise.
3061 * testsuite/libgomp.fortran/simd2.f90: Likewise.
3062 * testsuite/libgomp.fortran/simd3.f90: Likewise.
3063 * testsuite/libgomp.fortran/simd4.f90: Likewise.
3064 * testsuite/libgomp.fortran/simd5.f90: Likewise.
3065 * testsuite/libgomp.fortran/simd6.f90: Likewise.
3066 * testsuite/libgomp.fortran/simd7.f90: Likewise.
3067 * testsuite/libgomp.fortran/stack.f90: Likewise.
3068 * testsuite/libgomp.fortran/strassen.f90: Likewise.
3069 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
3070 * testsuite/libgomp.fortran/tabs2.f: Likewise.
3071 * testsuite/libgomp.fortran/target1.f90: Likewise.
3072 * testsuite/libgomp.fortran/target2.f90: Likewise.
3073 * testsuite/libgomp.fortran/target3.f90: Likewise.
3074 * testsuite/libgomp.fortran/target4.f90: Likewise.
3075 * testsuite/libgomp.fortran/target5.f90: Likewise.
3076 * testsuite/libgomp.fortran/target6.f90: Likewise.
3077 * testsuite/libgomp.fortran/target7.f90: Likewise.
3078 * testsuite/libgomp.fortran/target8.f90: Likewise.
3079 * testsuite/libgomp.fortran/task1.f90: Likewise.
3080 * testsuite/libgomp.fortran/task2.f90: Likewise.
3081 * testsuite/libgomp.fortran/task3.f90: Likewise.
3082 * testsuite/libgomp.fortran/task4.f90: Likewise.
3083 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
3084 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
3085 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
3086 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
3087 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
3088 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
3089 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
3090 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
3091 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
3092 * testsuite/libgomp.fortran/udr1.f90: Likewise.
3093 * testsuite/libgomp.fortran/udr10.f90: Likewise.
3094 * testsuite/libgomp.fortran/udr11.f90: Likewise.
3095 * testsuite/libgomp.fortran/udr12.f90: Likewise.
3096 * testsuite/libgomp.fortran/udr13.f90: Likewise.
3097 * testsuite/libgomp.fortran/udr14.f90: Likewise.
3098 * testsuite/libgomp.fortran/udr15.f90: Likewise.
3099 * testsuite/libgomp.fortran/udr2.f90: Likewise.
3100 * testsuite/libgomp.fortran/udr3.f90: Likewise.
3101 * testsuite/libgomp.fortran/udr4.f90: Likewise.
3102 * testsuite/libgomp.fortran/udr5.f90: Likewise.
3103 * testsuite/libgomp.fortran/udr6.f90: Likewise.
3104 * testsuite/libgomp.fortran/udr7.f90: Likewise.
3105 * testsuite/libgomp.fortran/udr8.f90: Likewise.
3106 * testsuite/libgomp.fortran/udr9.f90: Likewise.
3107 * testsuite/libgomp.fortran/vla1.f90: Likewise.
3108 * testsuite/libgomp.fortran/vla2.f90: Likewise.
3109 * testsuite/libgomp.fortran/vla3.f90: Likewise.
3110 * testsuite/libgomp.fortran/vla4.f90: Likewise.
3111 * testsuite/libgomp.fortran/vla5.f90: Likewise.
3112 * testsuite/libgomp.fortran/vla6.f90: Likewise.
3113 * testsuite/libgomp.fortran/vla7.f90: Likewise.
3114 * testsuite/libgomp.fortran/vla8.f90: Likewise.
3115 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
3116 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
3117 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3118 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3119 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3120 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3121 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3122 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3123 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3124 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3125 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
3126 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
3127 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
3128 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
3129 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3130 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
3131 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3132 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
3133 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
3134 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
3135 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
3136 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
3137 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
3138 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
3139 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
3140 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3141 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3142 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
3143 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3144 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
3145 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3146 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3147 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3148 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3149 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3150 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3151 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3152 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3153 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
3154 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3155 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
3156 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3157 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
3158 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
3159 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
3160 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
3161 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3162 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3163 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
3164 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
3165 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
3166 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
3167 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3168 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3169 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
3170 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
3171 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
3172 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
3173 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
3174 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
3175 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3176 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3177 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3178 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3179 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
3180 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3181 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
3182 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3183 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3184 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
3185 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
3186 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
3187 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
3188 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
3189 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3190 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
3191 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3192 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3193 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3194 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3195 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3196 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3197 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3198 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
3199 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
3200 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3201 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3202 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
3203 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
3204 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3205 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3206 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
3207 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
3208 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
3209
79cf14ae
RB
32102018-03-20 Richard Biener <rguenther@suse.de>
3211
3212 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
3213 parallelizable loop.
3214
14e335ed
IT
32152018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3216
3217 PR target/84148
3218 * configure: Regenerate.
3219
83d9be55
JJ
32202018-02-16 Jakub Jelinek <jakub@redhat.com>
3221
3222 PR fortran/84418
3223 * libgomp.fortran/pr84418-1.f90: New test.
3224 * libgomp.fortran/pr84418-2.f90: New test.
3225
d1fe6124
JJ
32262018-02-14 Jakub Jelinek <jakub@redhat.com>
3227
3228 PR fortran/84313
3229 * testsuite/libgomp.fortran/threadprivate4.f90: Add
3230 -std=f2003 -fall-intrinsics into dg-additional-options.
3231
3d224921
MJ
32322018-02-08 Martin Jambor <mjambor@suse.cz>
3233
3234 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
3235 clonable.
3236
c7c30edd
MJ
32372018-02-08 Martin Jambor <mjambor@suse.cz>
3238
3239 * testsuite/libgomp.hsa.c/staticvar.c: New test.
3240
f320fdfd
RO
32412018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3242
3243 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
3244 [__cplusplus]: Declare extern "C".
3245
c31bc4ac
TV
32462018-02-07 Tom de Vries <tom@codesourcery.com>
3247
3248 PR libgomp/84217
3249 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
3250
99ae7ce5
CS
32512018-01-29 Christoph Spiel <cspiel@freenet.de>
3252 Jakub Jelinek <jakub@redhat.com>
3253
3254 PR libgomp/84096
3255 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
3256 instead of omp_lock_t.
3257
e77a1236
TV
32582018-01-25 Tom de Vries <tom@codesourcery.com>
3259
3260 PR target/84028
3261 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
3262
3dede32b
TV
32632018-01-24 Tom de Vries <tom@codesourcery.com>
3264
3265 PR target/83589
3266 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
3267
be606483
TV
32682018-01-24 Tom de Vries <tom@codesourcery.com>
3269
3270 PR target/81352
3271 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
3272
8c8e9a6b
TV
32732018-01-19 Tom de Vries <tom@codesourcery.com>
3274 Cesar Philippidis <cesar@codesourcery.com>
3275
3276 PR target/83920
3277 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
3278 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
3279
65e6aea3
JJ
32802018-01-03 Jakub Jelinek <jakub@redhat.com>
3281
85ec4feb
JJ
3282 Update copyright years.
3283
65e6aea3
JJ
3284 * libgomp.texi: Bump @copying's copyright year.
3285
60bf575c
TV
32862017-12-30 Tom de Vries <tom@codesourcery.com>
3287
3288 PR libgomp/83046
3289 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
3290 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
3291
7ec16b79
TV
32922017-12-27 Tom de Vries <tom@codesourcery.com>
3293
3294 PR c++/83046
3295 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
3296 (test_nonstatic): Fix return type to workaround PR83046.
3297
ac550b9a
JJ
32982017-12-05 Jakub Jelinek <jakub@redhat.com>
3299
3300 PR testsuite/83281
3301 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
3302 j suffix instead of i.
3303 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
3304 Likewise.
3305
ebdc83f0
CP
33062017-12-01 Cesar Philippidis <cesar@codesourcery.com>
3307
3308 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
3309 call to acc_wait (1).
3310
3b3e6283
JJ
33112017-11-24 Jakub Jelinek <jakub@redhat.com>
3312
3313 PR fortran/81304
3314 * testsuite/libgomp.fortran/pr81304.f90: New test.
3315
3b575376
JJ
33162017-11-23 Jakub Jelinek <jakub@redhat.com>
3317
3318 PR fortran/81841
3319 * libgomp.fortran/pr81841.f90: New test.
3320
b13547d8
JJ
33212017-11-22 Jakub Jelinek <jakub@redhat.com>
3322
3323 PR libgomp/83106
3324 * target.c (gomp_target_init): Compute lengths just once and
3325 use them in both malloc size and subsequent copying.
3326
efe33ced
IT
33272017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3328
3329 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
3330 * acinclude.m4: Add cet.m4.
3331 * configure: Regenerate.
3332 * Makefile.in: Likewise.
3333 * testsuite/Makefile.in: Likewise.
3334
a7cf2612
TV
33352017-11-15 Tom de Vries <tom@codesourcery.com>
3336
3337 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
3338 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
3339 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
3340 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
3341 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
3342 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
3343
dde76623
TV
33442017-11-14 Tom de Vries <tom@codesourcery.com>
3345
3346 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
3347 non-nvidia devices.
3348
4dbeb716
JJ
33492017-11-07 Jakub Jelinek <jakub@redhat.com>
3350
3351 PR c++/82835
3352 * testsuite/libgomp.c++/pr82835.C: New test.
3353
454f8b2b
ML
33542017-11-06 Martin Liska <mliska@suse.cz>
3355
3356 * testsuite/libgomp.c++/loop-2.C: Return a value
3357 for functions with non-void return type, or change type to void,
3358 or add -Wno-return-type for test.
3359 * testsuite/libgomp.c++/loop-4.C: Likewise.
3360 * testsuite/libgomp.c++/parallel-1.C: Likewise.
3361 * testsuite/libgomp.c++/shared-1.C: Likewise.
3362 * testsuite/libgomp.c++/single-1.C: Likewise.
3363 * testsuite/libgomp.c++/single-2.C: Likewise.
3364
12e9c8ce
TV
33652017-10-31 Tom de Vries <tom@codesourcery.com>
3366
3367 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
3368 "do {} while (false)".
3369 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
3370 after HSA_DEBUG call.
3371
7324369a
JJ
33722017-10-28 Jakub Jelinek <jakub@redhat.com>
3373
3374 * target.c (struct gomp_coalesce_buf): New type.
3375 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
3376 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
3377 (gomp_copy_host2dev): Add CBUF argument, if copying into
3378 the cached ranges, memcpy into buffer instead of copying
3379 into device.
3380 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
3381 Add CBUF argument, pass it through to other calls.
3382 (gomp_map_vars): Aggregate copies from host to device if small enough
3383 and with small enough gaps in between into memcpy into a buffer and
3384 fewer host to device copies from the buffer.
3385 (gomp_update): Adjust gomp_copy_host2dev caller.
3386
933ab0e6
TS
33872017-10-17 Thomas Schwinge <thomas@codesourcery.com>
3388
3389 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
3390 run" directive.
3391 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3392 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3393 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3394 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3395
92d5d01a
TV
33962017-10-16 Tom de Vries <tom@codesourcery.com>
3397
3398 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
3399 openacc_nvidia_accel_selected.
3400 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
3401 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
3402 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
3403 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
3404 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
3405 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
3406 openacc_nvidia_accel_selected. Skip for shared memory device.
3407 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
3408 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
3409
191411e4
MJ
34102017-10-09 Martin Jambor <mjambor@suse.cz>
3411
3412 PR hsa/82416
3413 * testsuite/libgomp.hsa.c/pr82416.c: New test.
3414
e923330e
TV
34152017-10-07 Tom de Vries <tom@codesourcery.com>
3416
3417 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
3418 Remove acc_device_nvidia references.
3419 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
3420 Same.
3421
8fe3ed4c
TV
34222017-10-05 Tom de Vries <tom@codesourcery.com>
3423
3424 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
3425 vector_length(32) clause from acc parallel directive.
3426 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
3427
26596ee5
TV
34282017-10-04 Tom de Vries <tom@codesourcery.com>
3429
3430 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
3431 (main): Reduce sum of arr elements. Assert that hres is exactly
3432 representable in 32-bit floating point.
3433 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
3434 (main): Reduce sum of arr elements. Assert that hres and hmres are
3435 exactly representable in 32-bit floating point.
3436 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
3437
5c561fa9
TV
34382017-09-28 Tom de Vries <tom@codesourcery.com>
3439
3440 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
3441 setting.
3442 * testsuite/libgomp.c++/pr69393.C: Same.
3443 * testsuite/libgomp.c++/taskloop-1.C: Same.
3444 * testsuite/libgomp.c++/taskloop-3.C: Same.
3445 * testsuite/libgomp.c++/taskloop-4.C: Same.
3446 * testsuite/libgomp.c/for-4.c: Same.
3447 * testsuite/libgomp.c/pr66199-3.c: Same.
3448 * testsuite/libgomp.c/pr66199-4.c: Same.
3449 * testsuite/libgomp.c/pr66199-6.c: Same.
3450 * testsuite/libgomp.c/taskloop-1.c: Same.
3451 * testsuite/libgomp.c/taskloop-3.c: Same.
3452 * testsuite/libgomp.c/taskloop-4.c: Same.
3453 * testsuite/libgomp.fortran/aligned1.f03: Same.
3454 * testsuite/libgomp.fortran/condinc1.f: Same.
3455 * testsuite/libgomp.fortran/condinc3.f90: Same.
3456 * testsuite/libgomp.fortran/crayptr1.f90: Same.
3457 * testsuite/libgomp.fortran/crayptr2.f90: Same.
3458 * testsuite/libgomp.fortran/crayptr3.f90: Same.
3459 * testsuite/libgomp.fortran/omp_cond1.f: Same.
3460 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
3461 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
3462 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
3463 * testsuite/libgomp.fortran/recursion1.f90: Same.
3464 * testsuite/libgomp.fortran/target2.f90: Same.
3465 * testsuite/libgomp.fortran/target5.f90: Same.
3466 * testsuite/libgomp.fortran/task3.f90: Same.
3467
7d6206fe
TV
34682017-09-28 Tom de Vries <tom@codesourcery.com>
3469
3470 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
3471 vector_length(32) clause from acc parallel directive.
3472 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
3473
84c8627c
TV
34742017-09-27 Tom de Vries <tom@codesourcery.com>
3475
3476 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
3477 Remove acc_device_nvidia references.
3478
ebc6a85e
TV
34792017-09-16 Tom de Vries <tom@codesourcery.com>
3480
3481 PR c/81875
3482 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
3483
82419efb
TV
34842017-09-14 Tom de Vries <tom@codesourcery.com>
3485
3486 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
3487 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
3488 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
3489 * testsuite/libgomp.c/c.exp: Include test-cases from
3490 libgomp.c-c++-common.
3491 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
3492 files.
3493
8b586510
JJ
34942017-09-14 Jakub Jelinek <jakub@redhat.com>
3495
3496 PR c++/81314
3497 * testsuite/libgomp.c++/pr81314.C: New test.
3498
9651fbaf
GP
34992017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
3500
3501 * libgomp.texi (Top): www.openacc.org now uses https.
3502 (Enabling OpenACC): Ditto.
3503 (acc_get_num_devices): Ditto.
3504 (acc_set_device_type): Ditto.
3505 (acc_get_device_type): Ditto.
3506 (acc_set_device_num): Ditto.
3507 (acc_get_device_num): Ditto.
3508 (acc_async_test): Ditto.
3509 (acc_async_test_all): Ditto.
3510 (acc_wait): Ditto.
3511 (acc_wait_all): Ditto.
3512 (acc_wait_all_async): Ditto.
3513 (acc_wait_async): Ditto.
3514 (acc_init): Ditto.
3515 (acc_shutdown): Ditto.
3516 (acc_on_device): Ditto.
3517 (acc_malloc): Ditto.
3518 (acc_free): Ditto.
3519 (acc_copyin): Ditto.
3520 (acc_present_or_copyin): Ditto.
3521 (acc_create): Ditto.
3522 (acc_present_or_create): Ditto.
3523 (acc_copyout): Ditto.
3524 (acc_delete): Ditto.
3525 (acc_update_device): Ditto.
3526 (acc_update_self): Ditto.
3527 (acc_map_data): Ditto.
3528 (acc_unmap_data): Ditto.
3529 (acc_deviceptr): Ditto.
3530 (acc_hostptr): Ditto.
3531 (acc_is_present): Ditto.
3532 (acc_memcpy_to_device): Ditto.
3533 (acc_memcpy_from_device): Ditto.
3534 (acc_get_current_cuda_device): Ditto.
3535 (acc_get_current_cuda_context): Ditto.
3536 (acc_get_cuda_stream): Ditto.
3537 (acc_set_cuda_stream): Ditto.
3538 (ACC_DEVICE_TYPE): Ditto.
3539 (ACC_DEVICE_NUM): Ditto.
3540 (OpenACC Library Interoperability): Ditto.
3541
50aa16c3
JJ
35422017-08-09 Jakub Jelinek <jakub@redhat.com>
3543
3544 PR c/81687
3545 * testsuite/libgomp.c/pr81687-1.c: New test.
3546 * testsuite/libgomp.c/pr81687-2.c: New test.
3547
56b5041c
JJ
35482017-08-07 Jakub Jelinek <jakub@redhat.com>
3549
3550 PR c/69389
3551 * testsuite/libgomp.c/pr69389.c: New test.
3552 * testsuite/libgomp.c++/pr69389.C: New test.
3553
f4c222c0
TV
35542017-08-07 Tom de Vries <tom@codesourcery.com>
3555
3556 PR middle-end/78266
3557 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
3558 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
3559
a40ff0ae
JJ
35602017-07-27 Jakub Jelinek <jakub@redhat.com>
3561
3562 PR c/45784
3563 * testsuite/libgomp.c/pr45784.c: New test.
3564 * testsuite/libgomp.c++/pr45784.C: New test.
3565
3717fbe3
TV
35662017-07-19 Tom de Vries <tom@codesourcery.com>
3567
3568 * testsuite/libgomp.oacc-c/vec.c: New test.
3569
9607b014
TV
35702017-07-03 Tom de Vries <tom@codesourcery.com>
3571
3572 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
3573
dfb15f6b
TV
35742017-06-27 Tom de Vries <tom@codesourcery.com>
3575
3576 * plugin/plugin-nvptx.c (notify_var): New function.
3577 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
3578
22f1a037
TV
35792017-06-27 Tom de Vries <tom@codesourcery.com>
3580
3581 * env.c (parse_unsigned_long_1): Factor out of ...
3582 (parse_unsigned_long): ... here.
3583 (parse_int_1): Factor out of ...
3584 (parse_int): ... here.
3585 (parse_int_secure): New function.
3586 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
3587 * secure_getenv.h: Factor out of ...
3588 * plugin/plugin-hsa.c: ... here.
3589 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
3590
d54d1fc3
JJ
35912017-06-21 Jakub Jelinek <jakub@redhat.com>
3592
3593 PR c++/81130
3594 * testsuite/libgomp.c++/pr81130.C: New test.
3595
4f4b0ab8
RO
35962017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3597
3598 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
3599 default args.
3600 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
3601 dg-xfail-run-if default args.
3602
40ffd95f
BE
36032017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
3604
3605 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
3606 * testsuite/libgomp.c/pr39591-3.c: Likewise.
3607
01275e1e
JJ
36082017-05-30 Jakub Jelinek <jakub@redhat.com>
3609
3610 PR libgomp/80822
3611 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
3612 (gomp_affinity_init_level): Use it. Always analyze the core and thread
3613 sibling lists, depending on level just pick up what CPUs to put
3614 together into a place vs. whether add multiple ordered places.
3615
78672bd8
TS
36162017-05-24 Thomas Schwinge <thomas@codesourcery.com>
3617
7ce64403
TS
3618 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
3619 * libgomp.map (OACC_2.0.1): Add these.
3620 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
3621 for "acc_wait", and "acc_wait_all", respectively.
3622 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
3623 for "acc_wait", and "acc_wait_all", respectively.
3624 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
3625 * libgomp.texi (acc_wait, acc_wait_all): Update.
3626 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
3627 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
3628 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3629
318686c2
TS
3630 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
3631 acc_present_or_copyin and acc_present_or_create procedures,
3632 respectively.
3633 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
3634 generally different variants of OpenACC Runtime Library functions.
3635 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3636
a6745534
TS
3637 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
3638 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3639
9b94fbc7
TS
3640 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
3641 of preprocessor definitions.
3642 * libgomp.h (strong_alias): Guard by "#ifdef
3643 HAVE_ATTRIBUTE_ALIAS".
3644 * oacc-mem.c: Provide "acc_pcreate" as alias for
3645 "acc_present_or_create", and "acc_pcopyin" as alias for
3646 "acc_present_or_copyin".
3647 * libgomp.map: New version "OACC_2.0.1".
3648 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
3649 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
3650 its content into...
3651 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
3652 Extend testing.
3653
78672bd8
TS
3654 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
3655 when disabling nvptx offloading.
3656
0c36d0d5
TS
36572017-05-23 Thomas Schwinge <thomas@codesourcery.com>
3658
fd71a9a2
TS
3659 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
3660 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
3661 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3662
0c36d0d5
TS
3663 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
3664 * testsuite/lib/libgomp.exp
3665 (check_effective_target_openacc_nvidia_accel_configured): New
3666 proc.
3667 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
3668 (check_effective_target_c++): New procs.
3669 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
3670 (check_effective_target_c++): Likewise.
3671
c24783c4
JJ
36722017-05-22 Jakub Jelinek <jakub@redhat.com>
3673
655e5265
JJ
3674 PR middle-end/80809
3675 * testsuite/libgomp.c/pr80809-2.c: New test.
3676 * testsuite/libgomp.c/pr80809-3.c: New test.
3677
e9e2ef9f
JJ
3678 PR middle-end/80809
3679 * testsuite/libgomp.c/pr80809-1.c: New test.
3680
c24783c4
JJ
3681 PR middle-end/80853
3682 * testsuite/libgomp.c/pr80853.c: New test.
3683
0da2f96a
TS
36842017-05-19 Thomas Schwinge <thomas@codesourcery.com>
3685
7fd549d2
TS
3686 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
3687 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
3688 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3689 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3690 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3691
0da2f96a
TS
3692 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
3693 Debug output for failure.
3694
62ffe920
RO
36952017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3696
3697 * testsuite/lib/libgomp.exp: Load scanlang.exp.
3698
f49215b1
JJ
36992017-04-27 Jakub Jelinek <jakub@redhat.com>
3700
3701 PR bootstrap/80531
3702 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
3703 bootstrap compare failures.
3704
2260d19d
AM
37052017-04-20 Alexander Monakov <amonakov@ispras.ru>
3706
3707 * testsuite/libgomp.c/target-36.c: New testcase.
3708
19929ba9
JJ
37092017-04-13 Jakub Jelinek <jakub@redhat.com>
3710
3711 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
3712 instead of char.
3713
fbc698e0
JJ
37142017-04-11 Jakub Jelinek <jakub@redhat.com>
3715
3716 PR libgomp/80394
3717 * testsuite/libgomp.c/pr80394.c: New test.
3718
c4060df4
JJ
37192017-04-04 Jakub Jelinek <jakub@redhat.com>
3720
3721 PR libgomp/79876
3722 * config/posix/thread-stacksize.h: New file.
3723 * config/darwin/thread-stacksize.h: New file.
3724 * config/nvptx/thread-stacksize.h: New file.
3725 * env.c: Include thread-stacksize.h.
3726 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
3727 instead of 0. Call pthread_attr_setstacksize even if
3728 GOMP_DEFAULT_STACKSIZE is non-zero.
3729
e02d868a
JJ
37302017-03-30 Jakub Jelinek <jakub@redhat.com>
3731
3732 * env.c (initialize_env): Initialize stacksize to 0.
3733
7ba8651e
CP
37342017-03-22 Cesar Philippidis <cesar@codesourcery.com>
3735
3736 PR c++/80029
3737 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
3738
eebc5e2d
JJ
37392017-03-08 Jakub Jelinek <jakub@redhat.com>
3740
3741 PR c/79940
3742 * testsuite/libgomp.c/pr79940.c: New test.
3743
1eb08f52
RO
37442017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3745
3746 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
3747 targets.
3748 Add __float128 options.
3749
b0f78ff3
JDA
37502017-02-11 John David Anglin <danglin@gcc.gnu.org>
3751
3752 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
3753 hppa*-*-* dg-skip-if directive.
3754
1bbe0d8f
JJ
37552017-02-09 Jakub Jelinek <jakub@redhat.com>
3756
3757 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
3758 dg-skip-if directive into a comment.
3759
02889d23
CLT
37602017-02-09 Nathan Sidwell <nathan@codesourcery.com>
3761 Chung-Lin Tang <cltang@codesourcery.com>
3762
3763 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
3764 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
3765 add additional case.
3766 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
3767 "openacc_nvidia_accel_selected".
3768 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
3769 Add num_workers(8) clause.
3770
5896a41d
JDA
37712017-02-08 John David Anglin <danglin@gcc.gnu.org>
3772
3773 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
3774 hppa*-*-*.
3775 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
3776 include complex.h on hppa*-*-hpux*.
3777 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
3778
345a8c17
TS
37792017-02-02 Thomas Schwinge <thomas@codesourcery.com>
3780
e70ab10d
TS
3781 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
3782
345a8c17
TS
3783 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
3784 GOMP_OFFLOAD_openacc_exec. Adjust all users.
3785 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
3786 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
3787 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
3788 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
3789 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
3790 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
3791 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
3792 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
3793
dced339c
TS
37942017-01-31 Thomas Schwinge <thomas@codesourcery.com>
3795
3796 * libgomp-plugin.h: #include <stdbool.h>.
3797 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
3798 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
3799 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
3800 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
3801 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
3802 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
3803 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
3804 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
3805 (GOMP_OFFLOAD_openacc_register_async_cleanup)
3806 (GOMP_OFFLOAD_openacc_async_test)
3807 (GOMP_OFFLOAD_openacc_async_test_all)
3808 (GOMP_OFFLOAD_openacc_async_wait)
3809 (GOMP_OFFLOAD_openacc_async_wait_async)
3810 (GOMP_OFFLOAD_openacc_async_wait_all)
3811 (GOMP_OFFLOAD_openacc_async_wait_all_async)
3812 (GOMP_OFFLOAD_openacc_async_set_async)
3813 (GOMP_OFFLOAD_openacc_create_thread_data)
3814 (GOMP_OFFLOAD_openacc_destroy_thread_data)
3815 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
3816 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
3817 (GOMP_OFFLOAD_openacc_get_cuda_stream)
3818 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
3819 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
3820 these.
3821 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
3822 (GOMP_OFFLOAD_unload_image): Fix argument types.
3823
23749904
JJ
38242017-01-26 Jakub Jelinek <jakub@redhat.com>
3825
c1cadde1
JJ
3826 * testsuite/lib/libgomp.exp
3827 (check_effective_target_hsa_offloading_selected_nocache): Fix up
3828 check_compile invocation. Fix up removal of executable. Drop
3829 bogus "2>&1" argument.
3830
23749904
JJ
3831 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
3832 directive.
3833
38342017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
3835 Martin Jambor <mjambor@suse.cz>
3836
3837 * plugin/hsa.h: Moved to top level include.
3838 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
3839
73aa401e
JJ
38402017-01-21 Jakub Jelinek <jakub@redhat.com>
3841
3842 PR other/79046
3843 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
3844 of cat to get version from BASE-VER file.
3845 * testsuite/Makefile.in: Regenerated.
3846
b32e85fa
JJ
38472017-01-19 Jakub Jelinek <jakub@redhat.com>
3848
3849 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
3850 for _WIN64.
3851
3c36aa6b
JJ
38522017-01-17 Jakub Jelinek <jakub@redhat.com>
3853
d190d5c0
JJ
3854 * plugin/hsa.h: Add GCC runtime library exception.
3855 * plugin/hsa_ext_finalize.h: Likewise.
3856
2393d337
JJ
3857 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
3858 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
3859 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
3860 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
3861 plugin/include/cuda as include dir and -ldl instead of -lcuda as
3862 library to link ptx plugin against.
3863 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
3864 (CUDA_CALLS): Define.
3865 (cuda_lib, cuda_lib_inited): New variables.
3866 (init_cuda_lib): New function.
3867 (CUDA_CALL_PREFIX): Define.
3868 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
3869 (CUDA_CALL): Use FN instead of (FN).
3870 (CUDA_CALL_NOCHECK): Define.
3871 (cuda_error, fini_streams_for_device, select_stream_for_async,
3872 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
3873 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
3874 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
3875 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
3876 CUDA_CALL_NOCHECK.
3877 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
3878 CUDA_CALL_NOCHECK.
3879 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
3880 Use CUDA_CALL_NOCHECK.
3881 * plugin/cuda/cuda.h: New file.
3882 * config.h.in: Regenerated.
3883 * configure: Regenerated.
3884
3c36aa6b
JJ
3885 PR other/79046
3886 * configure.ac: Add GCC_BASE_VER.
3887 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
3888 get version from BASE-VER file.
3889 * testsuite/Makefile.in: Regenerated.
3890 * configure: Regenerated.
3891 * Makefile.in: Regenerated.
3892
c508bc2d
FXC
38932017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
3894
3895 PR libgomp/60670
3896 * Makefile.am: Make fincludedir multilib-aware.
3897 * Makefile.in: Regenerate.
3898
c1a9c369
JJ
38992017-01-01 Jakub Jelinek <jakub@redhat.com>
3900
cbe34bb5
JJ
3901 Update copyright years.
3902
c1a9c369
JJ
3903 * libgomp.texi: Bump @copying's copyright year.
3904
e7a7f4be
SH
39052016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3906
3907 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
3908 pthread_spinlock_t instead of gomp_mutex_t lock.
3909 (gomp_get_thread_pool): Likewise.
3910 (gomp_release_thread_pool): Likewise.
3911 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
3912 Likewise.
3913
d313d52c
SH
39142016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
3915
3916 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
3917 thread pool in case nthreads == 1.
3918
630e3c3a
AM
39192016-11-30 Alexander Monakov <amonakov@ispras.ru>
3920
3921 * config/nvptx/env.c: Delete.
3922 * icv.c: Move definitions of ICV variables back ...
3923 * env.c: ...here. Do not compile environment-related functionality if
3924 LIBGOMP_OFFLOADED_ONLY is set.
3925
9e38af5c
AM
39262016-11-30 Alexander Monakov <amonakov@ispras.ru>
3927
3928 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
3929 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
3930 * configure: Regenerate.
3931 * config.h.in: Likewise.
3932
f96b7f1f
AM
39332016-11-30 Alexander Monakov <amonakov@ispras.ru>
3934
3935 * Makefile.in: Regenerate with automake-1.11.6.
3936 * aclocal.m4: Likewise.
3937 * configure: Likewise.
3938 * testsuite/Makefile.in: Likewise.
3939
6a6951b1
AM
39402016-11-28 Alexander Monakov <amonakov@ispras.ru>
3941
3942 * config/nvptx/critical.c: Delete to use generic implementation.
3943
c7ac071f
JH
39442016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
3945
3946 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
3947 ../../affinity.c as fallback.
3948 * config/nvptx/affinity.c: Delete to use fallback implementation.
3949
6103184e 39502016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 3951 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
3952 Dmitry Melnik <dm@ispras.ru>
3953
3954 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
3955 * Makefile.in. Regenerate.
3956 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
3957 (LIBGOMP_USE_PTHREADS): ...here; new define.
3958 * configure: Regenerate.
3959 * config.h.in: Likewise.
3960 * config/posix/affinity.c: Move to...
3961 * affinity.c: ...here (new file). Guard use of Pthreads-specific
3962 interface by LIBGOMP_USE_PTHREADS.
3963 * critical.c: Split out GOMP_atomic_{start,end} into...
3964 * atomic.c: ...here (new file).
3965 * env.c: Split out ICV definitions into...
3966 * icv.c: ...here (new file) and...
3967 * icv-device.c: ...here. New file.
3968 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
3969 (gomp_destroy_lock_30): Ditto.
3970 (gomp_set_lock_30): Ditto.
3971 (gomp_unset_lock_30): Ditto.
3972 (gomp_test_lock_30): Ditto.
3973 (gomp_init_nest_lock_30): Ditto.
3974 (gomp_destroy_nest_lock_30): Ditto.
3975 (gomp_set_nest_lock_30): Ditto.
3976 (gomp_unset_nest_lock_30): Ditto.
3977 (gomp_test_nest_lock_30): Ditto.
3978 * lock.c: New.
3979 * config/nvptx/lock.c: New.
3980 * config/nvptx/bar.c: New.
3981 * config/nvptx/bar.h: New.
3982 * config/nvptx/doacross.h: New.
3983 * config/nvptx/error.c: New.
3984 * config/nvptx/icv-device.c: New.
3985 * config/nvptx/mutex.h: New.
3986 * config/nvptx/pool.h: New.
3987 * config/nvptx/proc.c: New.
3988 * config/nvptx/ptrlock.h: New.
3989 * config/nvptx/sem.h: New.
3990 * config/nvptx/simple-bar.h: New.
3991 * config/nvptx/target.c: New.
3992 * config/nvptx/task.c: New.
3993 * config/nvptx/team.c: New.
3994 * config/nvptx/time.c: New.
3995 * config/posix/simple-bar.h: New.
3996 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
3997 (gomp_num_teams_var): Declare.
3998 (struct gomp_thread_pool): Change threads_dock member to
3999 gomp_simple_barrier_t.
4000 [__nvptx__] (gomp_thread): New implementation.
4001 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
4002 (gomp_thread_destructor): Ditto.
4003 (gomp_init_thread_affinity): Ditto.
4004 * team.c: Guard uses of Pthreads-specific interfaces by
4005 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
4006 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
4007 * config/nvptx/alloc.c: Delete.
4008 * config/nvptx/barrier.c: Ditto.
4009 * config/nvptx/fortran.c: Ditto.
4010 * config/nvptx/iter.c: Ditto.
4011 * config/nvptx/iter_ull.c: Ditto.
4012 * config/nvptx/loop.c: Ditto.
4013 * config/nvptx/loop_ull.c: Ditto.
4014 * config/nvptx/ordered.c: Ditto.
4015 * config/nvptx/parallel.c: Ditto.
4016 * config/nvptx/priority_queue.c: Ditto.
4017 * config/nvptx/sections.c: Ditto.
4018 * config/nvptx/single.c: Ditto.
4019 * config/nvptx/splay-tree.c: Ditto.
4020 * config/nvptx/work.c: Ditto.
4021 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
4022 -foffload=-lgfortran in addition to -lgfortran.
4023 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
4024 * plugin/plugin-nvptx.c: Include <limits.h>.
4025 (struct targ_fn_descriptor): Add new fields.
4026 (struct ptx_device): Ditto. Set them...
4027 (nvptx_open_device): ...here.
4028 (nvptx_adjust_launch_bounds): New.
4029 (nvptx_host2dev): Allow NULL 'nvthd'.
4030 (nvptx_dev2host): Ditto.
4031 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
4032 (link_ptx): Adjust log sizes.
4033 (nvptx_host2dev): Allow NULL 'nvthd'.
4034 (nvptx_dev2host): Ditto.
4035 (nvptx_set_clocktick): New. Use it...
4036 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
4037 fields.
4038 (GOMP_OFFLOAD_dev2dev): New.
4039 (nvptx_adjust_launch_bounds): New.
4040 (nvptx_stacks_size): New.
4041 (nvptx_stacks_alloc): New.
4042 (nvptx_stacks_free): New.
4043 (GOMP_OFFLOAD_run): New.
4044 (GOMP_OFFLOAD_async_run): New (stub).
4045
56b1c60e
MJ
40462016-11-23 Martin Jambor <mjambor@suse.cz>
4047
4048 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
4049 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
4050 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4051
b8d89b03 40522016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 4053 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
4054
4055 * plugin/hsa.h: New file.
4056 * plugin/hsa_ext_finalize.h: New file.
4057 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
4058 header file unistd.h, and functions secure_getenv, __secure_getenv,
4059 getuid, geteuid, getgid and getegid.
4060 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
4061 -D_GNU_SOURCE.
4062 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
4063 Handle various cases of secure_getenv presence, add an implementation
4064 when we can test effective UID and GID.
4065 (struct hsa_runtime_fn_info): New structure.
4066 (hsa_runtime_fn_info hsa_fns): New variable.
4067 (hsa_runtime_lib): Likewise.
4068 (support_cpu_devices): Likewise.
4069 (init_enviroment_variables): Load newly introduced ENV
4070 variables.
4071 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
4072 (hsa_fatal): Likewise.
4073 (DLSYM_FN): New macro.
4074 (init_hsa_runtime_functions): New function.
4075 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
4076 structure. Depending on environment, also allow CPU devices.
4077 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
4078 (get_kernarg_memory_region): Likewise.
4079 (GOMP_OFFLOAD_init_device): Likewise.
4080 (destroy_hsa_program): Likewise.
4081 (init_basic_kernel_info): New function.
4082 (GOMP_OFFLOAD_load_image): Use it.
4083 (create_and_finalize_hsa_program): Call hsa run-time functions via
4084 hsa_fns structure.
4085 (create_single_kernel_dispatch): Likewise.
4086 (release_kernel_dispatch): Likewise.
4087 (init_single_kernel): Likewise.
4088 (parse_target_attributes): Allow up multiple HSA grid dimensions.
4089 (get_group_size): New function.
4090 (run_kernel): Likewise.
4091 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
4092 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
4093 structure.
4094 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
4095 * testsuite/libgomp-test-support.exp.in: Likewise.
4096 * Makefile.in: Regenerated.
4097 * aclocal.m4: Likewise.
4098 * config.h.in: Likewise.
4099 * configure: Likewise.
4100 * testsuite/Makefile.in: Likewise.
4101
18d2ada8 41022016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 4103 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
4104
4105 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
4106 mapping clauses to target constructs.
4107 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
4108
84c1b9d3
MK
41092016-11-15 Matthias Klose <doko@ubuntu.com>
4110
4111 * configure: Regenerate.
4112
b4c3a85b
JJ
41132016-11-10 Jakub Jelinek <jakub@redhat.com>
4114
8ebd1b31
JJ
4115 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
4116 * omp_lib.h.in (openmp_version): Likewise.
4117 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
4118 of 201307.
4119 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4120
b4c3a85b
JJ
4121 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
4122 (fib_wrapper): Add map(from: x) clause.
4123 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
4124 (e_53_2): Likewise.
4125 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
4126 (accum): Add map(tmp) clause.
4127 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
4128 (accum): Add map(tofrom: tmp) clause.
4129 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
4130 (gramSchmidt): Likewise.
4131 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
4132 map(tofrom: sum) clause.
4133 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
4134 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
4135 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
4136 only allowed on the loop iterator.
4137 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
4138 * testsuite/libgomp.fortran/taskloop2.f90: New test.
4139 * testsuite/libgomp.fortran/taskloop4.f90: New test.
4140 * testsuite/libgomp.fortran/doacross1.f90: New test.
4141 * testsuite/libgomp.fortran/doacross3.f90: New test.
4142 * testsuite/libgomp.fortran/taskloop1.f90: New test.
4143 * testsuite/libgomp.fortran/taskloop3.f90: New test.
4144 * testsuite/libgomp.fortran/doacross2.f90: New test.
4145 * testsuite/libgomp.c/doacross-1.c (main): Add missing
4146 #pragma omp atomic read.
4147 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4148 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
4149
6668eb45
CP
41502016-11-02 Cesar Philippidis <cesar@codesourcery.com>
4151 Nathan Sidwell <nathan@acm.org>
4152
4153 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
4154 to determine default geometry.
4155 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
4156 dimension.
4157
f10e37a1
JJ
41582016-11-01 Jakub Jelinek <jakub@redhat.com>
4159
4160 * hashtab.h: Use standard GPLv3 with runtime exception
4161 boilerplate.
4162
015c7760
AH
41632016-10-27 Aldy Hernandez <aldyh@redhat.com>
4164
4165 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
4166 size when allocating new thread.
4167
20a1e5b8
MP
41682016-09-14 Marek Polacek <polacek@redhat.com>
4169
4170 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
4171
1cad9284
JJ
41722016-08-19 Jakub Jelinek <jakub@redhat.com>
4173
4174 PR fortran/71014
4175 * testsuite/libgomp.fortran/pr71014.f90: New test.
4176
2c71d454
CLT
41772016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
4178
4179 PR middle-end/70895
4180 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
4181 firstprivate clauses.
4182 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
4183 copy clauses.
4184 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4185 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4186 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
4187 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4188 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4189 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4190 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4191 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4192 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4193 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4194 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4195 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
4196
7c713714
CLT
41972016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
4198
4199 PR fortran/70598
4200 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
4201
5c934396
JJ
42022016-08-08 Jakub Jelinek <jakub@redhat.com>
4203
4204 PR c++/58706
4205 * testsuite/libgomp.c++/pr58706.C: New test.
4206
9ef64248
TS
42072016-08-04 Thomas Schwinge <thomas@codesourcery.com>
4208
bbc79c0e
TS
4209 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
4210 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
4211 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4212 Likewise.
4213 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
4214 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
4215 Likewise.
4216 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
4217
9ef64248
TS
4218 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
4219 test, and don't hardcode -O0.
4220
c1311c86
NS
42212016-08-03 Nathan Sidwell <nathan@codesourcery.com>
4222
4223 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
4224
b1c9c068
CP
42252016-07-15 Cesar Philippidis <cesar@codesourcery.com>
4226
4227 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
4228 test.
4229
b4410f63
L
42302016-07-03 H.J. Lu <hongjiu.lu@intel.com>
4231
4232 PR middle-end/71734
4233 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
4234 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
4235
a8dbab92
JJ
42362016-07-01 Jakub Jelinek <jakub@redhat.com>
4237
4238 PR fortran/71717
4239 * testsuite/libgomp.fortran/associate3.f90: New test.
4240
9b6a8d0f
JJ
42412016-06-17 Jakub Jelinek <jakub@redhat.com>
4242
4243 * testsuite/libgomp.c++/target-21.C: New test.
4244
283635f9
JJ
42452016-06-16 Jakub Jelinek <jakub@redhat.com>
4246
4247 * testsuite/libgomp.c++/target-20.C: New test.
4248
27d6ba88
TS
42492016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4250 Cesar Philippidis <cesar@codesourcery.com>
4251
4252 PR middle-end/71373
4253 * libgomp.oacc-c/nested-function-1.c: New file.
4254 * libgomp.oacc-c/nested-function-2.c: Likewise.
4255 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4256 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4257 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4258
4b1ffdb1
TS
42592016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4260
4261 PR c/71381
4262 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
4263 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
4264 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
4265
d821b794
CLT
42662016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
4267
4268 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
4269 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
4270
3616a8c5
CP
42712016-06-01 Cesar Philippidis <cesar@codesourcery.com>
4272
4273 PR c/70688
5eed9a88 4274 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 4275
7211a097
JJ
42762016-05-26 Jakub Jelinek <jakub@redhat.com>
4277
4278 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
4279 instead of invalid schedule(static, 0).
4280 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4281
b4557008
CLT
42822016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4283
4284 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
4285 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
4286 parameter, use to set async stream around call to gomp_unmap_vars,
4287 call gomp_unmap_vars() with 'do_copyfrom' set to true.
4288 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
4289 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
4290 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
4291 (event_add): Add int parameter, initialize 'val' field when
4292 adding new ptx_event struct.
4293 (nvptx_evec): Adjust event_add() call arguments.
4294 (nvptx_host2dev): Likewise.
4295 (nvptx_dev2host): Likewise.
4296 (nvptx_wait_async): Likewise.
4297 (nvptx_wait_all_async): Likewise.
4298 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
4299 pass to event_add() call.
4300 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
4301 parameter.
4302 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
4303 call openacc.register_async_cleanup_func() hook.
4304 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
4305 * target.c (gomp_copy_from_async): Delete function.
4306 (gomp_map_vars): Remove async_refcount.
4307 (gomp_unmap_vars): Likewise.
4308 (gomp_load_image_to_device): Likewise.
4309 (omp_target_associate_ptr): Likewise.
4310 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
4311 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
4312 (gomp_copy_from_async): Remove.
4313
6ce13072
CLT
43142016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4315
4316 * target.c (gomp_device_copy): New function.
4317 (gomp_copy_host2dev): Likewise.
4318 (gomp_copy_dev2host): Likewise.
4319 (gomp_free_device_memory): Likewise.
4320 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
4321 (gomp_map_pointer): Likewise.
4322 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
4323 NULL value from alloc_func plugin hook.
4324 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
4325 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
4326 (gomp_unmap_vars): Likewise.
4327 (gomp_update): Adjust to call gomp_copy_dev2host and
4328 gomp_copy_host2dev functions.
4329 (gomp_unload_image_from_device): Handle false value from
4330 unload_image_func plugin hook.
4331 (gomp_init_device): Handle false value from init_device_func
4332 plugin hook.
4333 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
4334 (omp_target_free): Adjust to call gomp_free_device_memory.
4335 (omp_target_memcpy): Handle return values from host2dev_func,
4336 dev2host_func, and dev2dev_func plugin hooks.
4337 (omp_target_memcpy_rect_worker): Likewise.
4338 (gomp_target_fini): Handle false value from fini_device_func
4339 plugin hook.
4340 * libgomp.h (struct gomp_device_descr): Adjust return type of
4341 init_device_func, fini_device_func, unload_image_func, free_func,
4342 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
4343 * oacc-init.c (acc_shutdown_1): Handle false value from
4344 fini_device_func plugin hook.
4345 * oacc-host.c (host_init_device): Change return type to bool.
4346 (host_fini_device): Likewise.
4347 (host_unload_image): Likewise.
4348 (host_free): Likewise.
4349 (host_dev2host): Likewise.
4350 (host_host2dev): Likewise.
4351 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
4352 (acc_memcpy_to_device): Likewise.
4353 (acc_memcpy_from_device): Likewise.
4354 (delete_copyout): Add libfnname parameter, handle free_func
4355 hook fatal error case.
4356 (acc_delete): Adjust delete_copyout call.
4357 (acc_copyout): Likewise.
4358 (update_dev_host): Move gomp_mutex_unlock to after
4359 host2dev/dev2host hook calls.
4360
4361 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
4362 to 'hsa_error_msg', for clarity.
4363 (hsa_fatal): Likewise.
4364 (hsa_error): New function.
4365 (init_hsa_context): Change return type to bool, adjust to return
4366 false on error.
4367 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
4368 return value.
4369 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
4370 return false on error.
4371 (get_agent_info): Adjust to return NULL on error.
4372 (destroy_hsa_program): Change return type to bool, adjust to
4373 return false on error.
4374 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
4375 (destroy_module): Change return type to bool, adjust to
4376 return false on error.
4377 (GOMP_OFFLOAD_unload_image): Likewise.
4378 (GOMP_OFFLOAD_fini_device): Likewise.
4379 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
4380 (GOMP_OFFLOAD_free): Change to return false when called.
4381 (GOMP_OFFLOAD_dev2host): Likewise.
4382 (GOMP_OFFLOAD_host2dev): Likewise.
4383 (GOMP_OFFLOAD_dev2dev): Likewise.
4384
4385 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
4386 (CUDA_CALL): Likewise.
4387 (CUDA_CALL_ASSERT): Likewise.
4388 (map_init): Change return type to bool, use CUDA_CALL* macros.
4389 (map_fini): Likewise.
4390 (init_streams_for_device): Change return type to bool, adjust
4391 call to map_init.
4392 (fini_streams_for_device): Change return type to bool, adjust
4393 call to map_fini.
4394 (select_stream_for_async): Release stream_lock before calls to
4395 GOMP_PLUGIN_fatal, adjust call to map_init.
4396 (nvptx_init): Use CUDA_CALL* macros.
4397 (nvptx_attach_host_thread_to_device): Change return type to bool,
4398 use CUDA_CALL* macros.
4399 (nvptx_open_device): Use CUDA_CALL* macros.
4400 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
4401 macros.
4402 (nvptx_get_num_devices): Use CUDA_CALL* macros.
4403 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
4404 (nvptx_exec): Use CUDA_CALL* macros.
4405 (nvptx_alloc): Use CUDA_CALL* macros.
4406 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
4407 (nvptx_host2dev): Likewise.
4408 (nvptx_dev2host): Likewise.
4409 (nvptx_wait): Use CUDA_CALL* macros.
4410 (nvptx_wait_async): Likewise.
4411 (nvptx_wait_all): Likewise.
4412 (nvptx_wait_all_async): Likewise.
4413 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
4414 use CUDA_CALL* macros, adjust call to map_fini.
4415 (GOMP_OFFLOAD_init_device): Change return type to bool,
4416 adjust code accordingly.
4417 (GOMP_OFFLOAD_fini_device): Likewise.
4418 (GOMP_OFFLOAD_load_image): Adjust calls to
4419 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
4420 use CUDA_CALL* macros.
4421 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
4422 return code.
4423 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
4424 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
4425 handle error return.
4426 (GOMP_OFFLOAD_dev2host): Likewise.
4427 (GOMP_OFFLOAD_host2dev): Likewise.
4428 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
4429 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
4430
e46c7770
CP
44312016-05-24 Cesar Philippidis <cesar@codesourcery.com>
4432
4433 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
4434 (acc_free): Likewise.
4435 (acc_memcpy_to_device): Likewise.
4436 (acc_memcpy_from_device): Likewise.
4437 (acc_deviceptr): Likewise.
4438 (acc_hostptr): Likewise.
4439 (acc_is_present): Likewise.
4440 (acc_map_data): Likewise.
4441 (acc_unmap_data): Likewise.
4442 (present_create_copy): Likewise.
4443 (delete_copyout): Likewise.
4444 (update_dev_host): Likewise.
4445 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
4446 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
4447 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
4448 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4449 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
4450 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
4451 it only runs on nvptx targets.
4452 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4453 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4454 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4455 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4456 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4457 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4458 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4459 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4460 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4461 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4462 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4463 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4464 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4465 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4466 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4467 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4468 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4469 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4470 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4471 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4472 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4473 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4474 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4475
a5057543
MJ
44762016-05-23 Martin Jambor <mjambor@suse.cz>
4477
4478 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
4479
e37288a6
CLT
44802016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
4481
4482 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
4483 to gomp_init_targets_once.
4484 (acc_set_device_type): Remove !cached_base_dev condition on call to
4485 gomp_init_targets_once, move call to before acc_device_lock acquire,
4486 to avoid deadlock.
4487 (acc_get_device_num): Remove !cached_base_dev condition on call to
4488 gomp_init_targets_once.
4489 (acc_set_device_num): Likewise.
4490
51d9ed48
MJ
44912016-05-16 Martin Jambor <mjambor@suse.cz>
4492
92a285c1 4493 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 4494
5b37e866
NS
44952016-05-02 Nathan Sidwell <nathan@codesourcery.com>
4496
4497 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
4498 expected partitioning.
4499
e7ff0319
CP
45002016-04-29 Cesar Philippidis <cesar@codesourcery.com>
4501
4502 PR middle-end/70626
4503 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
4504 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
4505 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
4506
c2bd3b69
AM
45072016-04-21 Alexander Monakov <amonakov@ispras.ru>
4508
4509 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
4510 non-fatal.
4511
84311083
JJ
45122016-04-19 Jakub Jelinek <jakub@redhat.com>
4513
4514 PR middle-end/70680
4515 * testsuite/libgomp.c/pr70680-1.c: New test.
4516 * testsuite/libgomp.c/pr70680-2.c: New test.
4517
aadc043f
CP
45182016-04-14 Cesar Philippidis <cesar@codesourcery.com>
4519
4520 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
4521 pass parameter variables to subroutines.
4522
e387fc64
CP
45232016-04-14 Cesar Philippidis <cesar@codesourcery.com>
4524
4525 PR middle-end/70643
4526 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
4527
10c3c424
CP
45282016-04-13 Cesar Philippidis <cesar@codesourcery.com>
4529
4530 PR testsuite/68242
4531 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
4532 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4533
27f9add3
TS
45342016-04-12 Thomas Schwinge <thomas@codesourcery.com>
4535
58d32aeb
TS
4536 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
4537 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
4538 GOACC_declare prototype.
4539
d97633ef
TS
4540 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
4541 Merge this file, and...
4542 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
4543 ... this file, and...
4544 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
4545 ... this file, and...
4546 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
4547 ... this file, and...
4548 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
4549 ... this file, and...
4550 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
4551 ... this file, and...
4552 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
4553 ... this file, and...
4554 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
4555 ... this file, and...
4556 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
4557 ... this file, and...
4558 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
4559 ... this file, and...
4560 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
4561 ... this file, and...
4562 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
4563 ... this file, and...
4564 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
4565 ... this file into...
4566 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
4567 file.
4568
27f9add3
TS
4569 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
4570 Make failure observable.
4571
21f3a236
JJ
45722016-04-12 Jakub Jelinek <jakub@redhat.com>
4573
4574 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
4575 field.
4576 * target.c (gomp_target_fallback_firstprivate,
4577 gomp_target_unshare_firstprivate): Removed.
4578 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
4579 before waiting for dependencies.
4580 (gomp_target_task_fn): Don't copy firstprivate vars here.
4581 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
4582 firstprivate_copies here.
4583 (gomp_create_target_task): Don't initialize firstprivate_copies field.
4584 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
4585 explicit/implicit firstprivate.
4586
c42cfb5c
CP
45872016-04-08 Cesar Philippidis <cesar@codesourcery.com>
4588
4589 PR lto/70289
4590 PR ipa/70348
4591 PR tree-optimization/70373
4592 PR middle-end/70533
4593 PR middle-end/70534
4594 PR middle-end/70535
4595 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
4596 test.
4597 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
4598 test.
4599 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
4600 test.
4601 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
4602 test.
4603 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
4604 test.
4605 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
4606 test.
4607 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
4608 test.
4609 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
4610 test.
4611 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
4612 test.
4613 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
4614 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
4615 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
4616 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
4617 test.
4618 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
4619 test.
4620 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
4621 test.
4622 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
4623 test.
4624 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
4625 coverage.
4626 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
4627 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4628 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
4629 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
4630 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
4631 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
4632 coverage.
4633 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4634 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
4635 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
4636 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
4637 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
4638 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
4639 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
4640 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
4641 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
4642 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
4643 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
4644 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
4645 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
4646 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
4647 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
4648
2620c80d
TS
46492016-03-30 Thomas Schwinge <thomas@codesourcery.com>
4650 James Norris <jnorris@codesourcery.com>
4651 Nathan Sidwell <nathan@codesourcery.com>
4652 Julian Brown <julian@codesourcery.com>
4653 Cesar Philippidis <cesar@codesourcery.com>
4654 Chung-Lin Tang <cltang@codesourcery.com>
4655 Tom de Vries <tom@codesourcery.com>
4656
4657 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
4658 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
4659 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
4660 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
4661 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
4662 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
4663 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
4664 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
4665 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
4666 XFAIL.
4667 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
4668 Incorporate...
4669 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
4670 file.
4671 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
4672 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
4673 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
4674 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
4675 Likewise.
4676 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
4677 Likewise.
4678 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4679 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
4680 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
4681 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
4682 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
4683 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4684 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
4685 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
4686 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
4687 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
4688 Likewise.
4689 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
4690 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
4691 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
4692 file...
4693 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
4694 file into...
4695 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
4696 file. Update.
4697 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
4698 file.
4699 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
4700 Likewise.
4701 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
4702 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
4703 ... this new file. Update.
4704 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
4705 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
4706 ... this new file. Update.
4707 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
4708 file. Incorporate...
4709 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
4710 file, and...
4711 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
4712 file, and...
4713 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
4714 file.
4715 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
4716
ce83104b
TS
47172016-03-29 Thomas Schwinge <thomas@codesourcery.com>
4718
4719 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
4720 set-torture-options.
4721
6e0df3b7
TS
47222016-03-24 Thomas Schwinge <thomas@codesourcery.com>
4723
4724 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
4725 gcc-dg-runtest.
4726 * testsuite/libgomp.oacc-c/c.exp: Likewise.
4727 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
4728 -fno-builtin-acc_on_device instead of -O0.
4729 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
4730 -O0.
4731 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
4732 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
4733 Likewise.
4734 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
4735 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
4736 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
4737 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4738 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4739 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4740 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
4741 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4742 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
4743 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
4744 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
4745 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
4746 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
4747 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
4748 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
4749 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
4750 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
4751 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
4752 Don't specify -O2.
4753 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
4754 Likewise.
4755 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
4756 Likewise.
4757
f9c8babb
ML
47582016-03-24 Martin Liska <mliska@suse.cz>
4759
4760 * plugin/plugin-hsa.c (packet_store_release): New function
4761 that is taken from the HSA runtime manual.
4762 (GOMP_OFFLOAD_run): Use the function.
4763
04833609
JJ
47642016-03-23 Jakub Jelinek <jakub@redhat.com>
4765
4766 PR c++/70376
4767 * testsuite/libgomp.c++/pr70376.C: New test.
4768
d79ee524
TV
47692016-03-23 Tom de Vries <tom@codesourcery.com>
4770
4771 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
4772 initialization of lresult and lvresult.
4773 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
4774
b6d1f2b5
JN
47752016-03-23 James Norris <jnorris@codesourcery.com>
4776 Daichi Fukuoka <dc-fukuoka@sgi.com>
4777
4778 PR libgomp/69414
4779 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
4780 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
4781 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
4782 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
4783
7397fce2
ML
47842016-03-23 Martin Liska <mliska@suse.cz>
4785
4786 PR hsa/70337
4787 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
4788 argument just in case a dispatched kernel uses that argument.
4789
ee2e7d51
TS
47902016-03-16 Thomas Schwinge <thomas@codesourcery.com>
4791
4792 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
4793 -ftree-parallelize-loops/-fopenacc changes.
4794 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
4795 Likewise.
4796 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4797 Likewise.
4798 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
4799 Likewise.
4800 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
4801 Likewise.
4802 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
4803 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
4804
be9f7143
TS
48052016-03-13 Thomas Schwinge <thomas@codesourcery.com>
4806
4807 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
4808 always_ld_library_path the path to libgcc_s.
4809
f6c1032d
CP
48102016-03-10 Cesar Philippidis <cesar@codesourcery.com>
4811
4812 PR testsuite/70009
4813 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
4814
5a6452e6
TV
48152016-03-09 Tom de Vries <tom@codesourcery.com>
4816
4817 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
4818 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
4819 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
4820 Same.
4821 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
4822 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
4823 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
4824 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
4825
96a71bd5
MJ
48262016-03-07 Martin Jambor <mjambor@suse.cz>
4827
4828 * testsuite/lib/libgomp.exp
4829 (check_effective_target_hsa_offloading_selected_nocache): New.
4830 (check_effective_target_hsa_offloading_selected): Likewise.
4831 * testsuite/libgomp.hsa.c/c.exp: Likewise.
4832 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
4833 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
4834 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
4835 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
4836 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
4837 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
4838 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
4839 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
4840 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
4841 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
4842 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
4843 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
4844 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
4845 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
4846 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
4847 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
4848
02e0b5b2
MJ
48492016-03-07 Martin Jambor <mjambor@suse.cz>
4850
4851 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
4852 non-shared memory accelerators.
4853 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
4854 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
4855 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
4856 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
4857 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
4858 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
4859 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
4860 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
4861 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
4862
45548f30
MJ
48632016-03-07 Martin Jambor <mjambor@suse.cz>
4864
4865 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
4866 ALWAYS_CFLAGS.
4867
da3d46cb
JJ
48682016-03-02 Jakub Jelinek <jakub@redhat.com>
4869
4870 PR libgomp/69555
4871 * testsuite/libgomp.c++/pr69555-1.C: New test.
4872 * testsuite/libgomp.c++/pr69555-2.C: New test.
4873
622174b2
KM
48742016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
4875 Martin Jambor <mjambor@suse.cz>
4876
4877 * testsuite/lib/libgomp.exp
4878 (check_effective_target_offload_device_shared_as): New proc.
4879 * testsuite/libgomp.c++/declare_target-1.C: New test.
4880
e6861a99
IV
48812016-02-25 Ilya Verbin <ilya.verbin@intel.com>
4882
4883 PR driver/68463
4884 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
4885
f99c3557
TS
48862016-02-23 Thomas Schwinge <thomas@codesourcery.com>
4887
4888 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
4889 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
4890 dims.
4891 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
4892 -ftree-parallelize-loops/-fopenacc changes.
4893 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
4894 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
4895 Likewise.
4896 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
4897 Likewise.
4898 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
4899 Likewise.
4900 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
4901 Likewise.
4902 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
4903 Likewise.
4904 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
4905 Likewise.
4906 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
4907 Likewise.
4908 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
4909 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
4910 Likewise.
4911 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
4912 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
4913 Likewise.
4914 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
4915 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
4916 Likewise.
4917
d5ace3b5
CP
49182016-02-22 Cesar Philippidis <cesar@codesourcery.com>
4919
4920 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
4921
f3609a89
JJ
49222016-02-19 Jakub Jelinek <jakub@redhat.com>
4923
4924 PR driver/69805
4925 * testsuite/libgomp.c/pr69805.c: New test.
4926
2175df99
TV
49272016-02-16 Tom de Vries <tom@codesourcery.com>
4928
4929 PR lto/67709
4930 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
4931
17b6426c
TV
49322016-02-09 Tom de Vries <tom@codesourcery.com>
4933
4934 PR tree-optimization/69599
4935 * testsuite/libgomp.c/omp-nested-3.c: New test.
4936 * testsuite/libgomp.c/pr46032-2.c: New test.
4937 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
4938 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
4939
34df756c
TV
49402016-02-09 Tom de Vries <tom@codesourcery.com>
4941
4942 PR lto/69707
4943 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
4944
5854ee30
AM
49452016-02-02 Alexander Monakov <amonakov@ispras.ru>
4946
4947 * testsuite/libgomp.c/target-31.c: Fix testcase.
4948
e70b6ad7
AM
49492016-02-02 Alexander Monakov <amonakov@ispras.ru>
4950
4951 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
4952 clause.
4953 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
4954 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
4955 reduction and map clauses.
4956 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
4957
bd78a45f
JN
49582016-02-02 James Norris <jnorris@codesourcery.com>
4959
4960 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
4961
41d809d3
TS
49622016-02-02 Thomas Schwinge <thomas@codesourcery.com>
4963
18f60146
TS
4964 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
4965 * oacc-parallel.c (GOACC_host_data): Remove function definition.
4966
1a06f5e6
TS
4967 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
4968 cases.
4969
033ff3d1
TS
4970 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
4971 variables.
4972 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
4973 (hsa_kmt_lib): Set variables.
4974 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
4975 always_ld_library_path.
4976 * Makefile.in: Regenerate.
4977 * configure: Likewise.
4978 * testsuite/Makefile.in: Likewise.
4979
4a88d9b7
TS
4980 * plugin/configfrag.ac (offload_additional_options)
4981 (offload_additional_lib_paths): Don't amend for hsa offloading.
4982 * configure: Regenerate.
4983
41d809d3
TS
4984 * plugin/configfrag.ac: Don't configure for offloading target if
4985 we don't build the corresponding plugin.
4986 * configure: Regenerate.
4987
b6adbb9f
NS
49882016-02-01 Nathan Sidwell <nathan@codesourcery.com>
4989
4990 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
4991 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
4992
8dfdb419
TV
49932016-01-26 Tom de Vries <tom@codesourcery.com>
4994
4995 PR tree-optimization/69110
4996 * testsuite/libgomp.c/pr69110.c: New test.
4997
02ef53f2
RB
49982016-01-25 Richard Biener <rguenther@suse.de>
4999
5000 PR lto/69393
5001 * testsuite/libgomp.c++/pr69393.C: New testcase.
5002
eb4048f2
IV
50032016-01-22 Ilya Verbin <ilya.verbin@intel.com>
5004
5005 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
5006 function wasn't mapped to the device with non-shared memory.
5007
b235cdd5
IV
50082016-01-20 Ilya Verbin <ilya.verbin@intel.com>
5009
5010 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
5011
b2b40051
MJ
50122016-01-19 Martin Jambor <mjambor@suse.cz>
5013 Martin Liska <mliska@suse.cz>
5014
5015 * plugin/Makefrag.am: Add HSA plugin requirements.
5016 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
5017 (HSA_RUNTIME_LIB): Likewise.
5018 (HSA_RUNTIME_CPPFLAGS): Likewise.
5019 (HSA_RUNTIME_INCLUDE): New substitution.
5020 (HSA_RUNTIME_LIB): Likewise.
5021 (HSA_RUNTIME_LDFLAGS): Likewise.
5022 (hsa-runtime): New configure option.
5023 (hsa-runtime-include): Likewise.
5024 (hsa-runtime-lib): Likewise.
5025 (PLUGIN_HSA): New substitution variable.
5026 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
5027 configure options.
5028 (PLUGIN_HSA_CPPFLAGS): Likewise.
5029 (PLUGIN_HSA_LDFLAGS): Likewise.
5030 (PLUGIN_HSA_LIBS): Likewise.
5031 Check that we have access to HSA run-time.
5032 * libgomp-plugin.h (offload_target_type): New element
5033 OFFLOAD_TARGET_TYPE_HSA.
5034 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
5035 args.
5036 (bool gomp_create_target_task): Updated.
5037 (gomp_device_descr): Extra parameter of run_func and async_run_func,
5038 new field can_run_func.
5039 * libgomp_g.h (GOMP_target_ext): Update prototype.
5040 * oacc-host.c (host_run): Added a new parameter args.
5041 * target.c (calculate_firstprivate_requirements): New function.
5042 (copy_firstprivate_data): Likewise.
5043 (gomp_target_fallback_firstprivate): Use them.
5044 (gomp_target_unshare_firstprivate): New function.
5045 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
5046 devices.
5047 (GOMP_target): Do host fallback for all shared memory devices. Do not
5048 pass any args to plugins.
5049 (GOMP_target_ext): Introduce device-specific argument parameter args.
5050 Allow host fallback if device shares memory. Do not remap data if
5051 device has shared memory.
5052 (gomp_target_task_fn): Likewise. Also treat shared memory devices
5053 like host fallback for mappings.
5054 (GOMP_target_data): Treat shared memory devices like host fallback.
5055 (GOMP_target_data_ext): Likewise.
5056 (GOMP_target_update): Likewise.
5057 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
5058 gomp_create_target_task.
5059 (GOMP_target_enter_exit_data): Likewise.
5060 (omp_target_alloc): Treat shared memory devices like host fallback.
5061 (omp_target_free): Likewise.
5062 (omp_target_is_present): Likewise.
5063 (omp_target_memcpy): Likewise.
5064 (omp_target_memcpy_rect): Likewise.
5065 (omp_target_associate_ptr): Likewise.
5066 (gomp_load_plugin_for_device): Also load can_run.
5067 * task.c (GOMP_PLUGIN_target_task_completion): Free
5068 firstprivate_copies.
5069 (gomp_create_target_task): Accept new argument args and store it to
5070 ttask.
5071 * plugin/plugin-hsa.c: New file.
5072
5d7804a9
TV
50732016-01-18 Tom de Vries <tom@codesourcery.com>
5074
5075 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
5076 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
5077 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
5078 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
5079 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
5080 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
5081 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
5082 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
5083 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
5084 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
5085 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
5086 Same.
5087 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
5088 Same.
5089 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
5090 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
5091 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
5092 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
5093 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
5094 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
5095 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
5096 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
5097 Same.
5098 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
5099
cb11f3cf
JJ
51002016-01-15 Jakub Jelinek <jakub@redhat.com>
5101
5102 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
5103
33a126a6
CP
51042016-01-15 Cesar Philippidis <cesar@codesourcery.com>
5105
5106 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
5107
cdf6119d
JN
51082016-01-12 James Norris <jnorris@codesourcery.com>
5109
5110 * libgomp.texi: Updates for OpenACC.
5111
0d58938e
AM
51122016-01-11 Alexander Monakov <amonakov@ispras.ru>
5113
5114 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
5115
95918b49
L
51162016-01-07 H.J. Lu <hongjiu.lu@intel.com>
5117
5118 PR fortran/66680
5119 * testsuite/libgomp.fortran/pr66680.f90: New test.
5120
8fc708b7
JJ
51212016-01-07 Jakub Jelinek <jakub@redhat.com>
5122
5123 PR middle-end/68960
5124 * testsuite/libgomp.c/pr68960.c: New test.
5125
e9b596c1
NS
51262016-01-06 Nathan Sidwell <nathan@acm.org>
5127
1a14faf2 5128 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
5129 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
5130
21fa2a29
JJ
51312016-01-04 Jakub Jelinek <jakub@redhat.com>
5132
818ab71a
JJ
5133 Update copyright years.
5134
21fa2a29
JJ
5135 * libgomp.texi: Bump @copying's copyright year.
5136
9310efbc
NS
51372015-12-31 Nathan Sidwell <nathan@acm.org>
5138
5139 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
5140 dg-additional-options syntax.
5141 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5142 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5143 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5144 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5145 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5146 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5147 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5148 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5149 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5150 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5151 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5152 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5153 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5154 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5155 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5156 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5157 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5158 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5159
4a38b02b
IV
51602015-12-15 Ilya Verbin <ilya.verbin@intel.com>
5161
5162 * libgomp.h (REFCOUNT_LINK): Define.
5163 (struct splay_tree_key_s): Add link_key.
5164 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
5165 Replace target address of the pointer with target address of newly
5166 mapped object in the splay tree. Set link pointer on target to the
5167 device address of the mapped object.
5168 (gomp_unmap_vars): Restore target address of the pointer in the splay
5169 tree for REFCOUNT_LINK objects after unmapping.
5170 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
5171 declare target link" objects.
5172 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
5173 "omp declare target link" objects, which were mapped for the image.
5174 (gomp_exit_data): Restore target address of the pointer in the splay
5175 tree for REFCOUNT_LINK objects after unmapping.
5176 * testsuite/libgomp.c/target-link-1.c: New file.
5177
d84ffc0a
IV
51782015-12-14 Ilya Verbin <ilya.verbin@intel.com>
5179
5180 * libgomp.h (gomp_device_state): New enum.
5181 (struct gomp_device_descr): Replace is_initialized with state.
5182 (gomp_fini_device): Remove declaration.
5183 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
5184 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
5185 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
5186 (acc_set_device_type): Use state instead of is_initialized.
5187 (acc_set_device_num): Likewise.
5188 * target.c (resolve_device): Use state instead of is_initialized.
5189 Do not initialize finalized device.
5190 (gomp_map_vars): Do nothing if device is finalized.
5191 (gomp_unmap_vars): Likewise.
5192 (gomp_update): Likewise.
5193 (GOMP_offload_register_ver): Use state instead of is_initialized.
5194 (GOMP_offload_unregister_ver): Likewise.
5195 (gomp_init_device): Likewise.
5196 (gomp_unload_device): Likewise.
5197 (gomp_fini_device): Remove.
5198 (gomp_get_target_fn_addr): Do nothing if device is finalized.
5199 (GOMP_target): Go to host fallback if device is finalized.
5200 (GOMP_target_ext): Likewise.
5201 (gomp_exit_data): Do nothing if device is finalized.
5202 (gomp_target_task_fn): Go to host fallback if device is finalized.
5203 (gomp_target_fini): New static function.
5204 (gomp_target_init): Use state instead of is_initialized.
5205 Call gomp_target_fini at exit.
5206
76680678
TV
52072015-12-09 Tom de Vries <tom@codesourcery.com>
5208
5209 PR tree-optimization/68716
5210 * testsuite/libgomp.c/omp-nested-2.c: New test.
5211
ff7a55bf
TS
52122015-12-02 Thomas Schwinge <thomas@codesourcery.com>
5213
5214 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
5215 target openacc_nvidia_accel_selected.
5216 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
5217 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
5218 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
5219 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
5220
37d5ad46
JB
52212015-12-01 Julian Brown <julian@codesourcery.com>
5222 James Norris <James_Norris@mentor.com>
5223
5224 * oacc-parallel.c (GOACC_host_data): New function.
5225 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
5226 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
5227 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
5228 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
5229 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
5230 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
5231 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
5232
db941d7e
CP
52332015-11-30 James Norris <jnorris@codesourcery.com>
5234 Cesar Philippidis <cesar@codesourcery.com>
5235
5236 libgomp/
5237 * libgomp.oacc-fortran/routine-5.f90: New test.
5238 * libgomp.oacc-fortran/routine-7.f90: New test.
5239 * libgomp.oacc-fortran/routine-9.f90: New test.
5240
e0ca27c5
TV
52412015-11-30 Tom de Vries <tom@codesourcery.com>
5242
5243 PR tree-optimization/46032
5244 * testsuite/libgomp.c/pr46032.c: New test.
5245
aec17bfe
JJ
52462015-11-27 Jakub Jelinek <jakub@redhat.com>
5247
8e4e4719
JJ
5248 PR libgomp/68579
5249 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
5250 (gomp_create_target_task): Call it before freeing
5251 GOMP_TARGET_TASK_DATA tasks.
5252
aec17bfe
JJ
5253 PR c/63326
5254 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
5255 in between case label and OpenMP standalone directives.
5256 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
5257
6cfe90e6
DE
52582015-11-26 David Edelsohn <dje.gcc@gmail.com>
5259
5260 * configure: Regenerate.
5261
0e65fd7d
JJ
52622015-11-26 Jakub Jelinek <jakub@redhat.com>
5263
5264 * testsuite/libgomp.c/target-35.c: New test.
5265
dc7a8b4b
JN
52662015-11-22 James Norris <jnorris@codesourcery.com>
5267 Cesar Philippidis <cesar@codesourcery.com>
5268
5269 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
5270 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5271 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5272 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5273 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5274
48a78aee
JJ
52752015-11-20 Jakub Jelinek <jakub@redhat.com>
5276
5277 PR middle-end/68221
5278 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
5279 * testsuite/libgomp.c/reduction-12.c: Likewise.
5280 * testsuite/libgomp.c++/reduction-11.C: Likewise.
5281 * testsuite/libgomp.c++/reduction-12.C: Likewise.
5282
2d256816
NS
52832015-11-19 Nathan Sidwell <nathan@codesourcery.com>
5284
5285 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
5286 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
5287 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
5288 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
5289 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
5290 and fix.
5291 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5292 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5293
33f47f42
NS
52942015-11-18 Nathan Sidwell <nathan@codesourcery.com>
5295
5296 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
5297 worker & gang cases.
5298 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5299
3d7bfee0
CP
53002015-11-17 Cesar Philippidis <cesar@codesourcery.com>
5301
5302 * config/nvptx/priority_queue.c: New file.
5303
00b9bd52
JJ
53042015-11-14 Jakub Jelinek <jakub@redhat.com>
5305
5306 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
5307 sections.
5308
e4606348
JJ
53092015-11-14 Jakub Jelinek <jakub@redhat.com>
5310 Aldy Hernandez <aldyh@redhat.com>
5311 Ilya Verbin <ilya.verbin@intel.com>
5312
5313 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
5314 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
5315 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
5316 iterators or IV by chunk size.
5317 * parallel.c (gomp_resolve_num_threads): Don't assume that
5318 if thr->ts.team is non-NULL, then pool must be non-NULL.
5319 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
5320 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
5321 GOMP_PLUGIN_target_task_completion.
5322 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
5323 * Makefile.in: Regenerate.
5324 * libgomp.h: Shuffle prototypes and forward definitions around so
5325 priority queues can be defined.
5326 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
5327 (enum gomp_target_task_state): New enum.
5328 (struct gomp_target_task): Add state, tgt, task and team fields.
5329 (gomp_create_target_task): Change return type to bool, add
5330 state argument.
5331 (gomp_target_task_fn): Change return type to bool.
5332 (struct gomp_device_descr): Add async_run_func.
5333 (struct gomp_task): Remove children, next_child, prev_child,
5334 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
5335 Add pnode field.
5336 (struct gomp_taskgroup): Remove children.
5337 Add taskgroup_queue.
5338 (struct gomp_team): Change task_queue type to a priority queue.
5339 (splay_compare): Define inline.
5340 (priority_queue_offset): New.
5341 (priority_node_to_task): New.
5342 (task_to_priority_node): New.
5343 * oacc-mem.c: Do not include splay-tree.h.
5344 * priority_queue.c: New file.
5345 * priority_queue.h: New file.
5346 * splay-tree.c: Do not include splay-tree.h.
5347 (splay_tree_foreach_internal): New.
5348 (splay_tree_foreach): New.
5349 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
5350 (splay_tree_callback): Define typedef.
5351 * target.c (splay_compare): Move to libgomp.h.
5352 (GOMP_target): Don't adjust *thr in any way around running offloaded
5353 task.
5354 (GOMP_target_ext): Likewise. Handle target nowait.
5355 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
5356 return value from gomp_create_target_task, if false, fallthrough
5357 as if no dependencies exist.
5358 (gomp_target_task_fn): Change return type to bool, return true
5359 if the task should have another part scheduled later. Handle
5360 target nowait.
5361 (gomp_load_plugin_for_device): Initialize async_run.
5362 * task.c (gomp_init_task): Initialize children_queue.
5363 (gomp_clear_parent_in_list): New.
5364 (gomp_clear_parent_in_tree): New.
5365 (gomp_clear_parent): Handle priorities.
5366 (GOMP_task): Likewise.
5367 (priority_queue_move_task_first,
5368 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
5369 New functions.
5370 (gomp_create_target_task): Use priority queues. Change return type
5371 to bool, add state argument, return false if for async
5372 {{enter,exit} data,update} constructs no dependencies need to be
5373 waited for, handle target nowait. Set task->fn to NULL instead of
5374 gomp_target_task_fn.
5375 (verify_children_queue): Remove.
5376 (priority_list_upgrade_task): New.
5377 (priority_queue_upgrade_task): New.
5378 (verify_task_queue): Remove.
5379 (priority_list_downgrade_task): New.
5380 (priority_queue_downgrade_task): New.
5381 (gomp_task_run_pre): Use priority queues.
5382 Abstract code out to priority_queue_downgrade_task.
5383 (gomp_task_run_post_handle_dependers): Use priority queues.
5384 (gomp_task_run_post_remove_parent): Likewise.
5385 (gomp_task_run_post_remove_taskgroup): Likewise.
5386 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
5387 tasks specially.
5388 (GOMP_taskwait): Likewise.
5389 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
5390 priority-queue_upgrade_task.
5391 (GOMP_taskgroup_start): Use priority queues.
5392 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
5393 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
5394 barrier.
5395 * taskloop.c (GOMP_taskloop): Handle priorities.
5396 * team.c (gomp_new_team): Call priority_queue_init.
5397 (free_team): Call priority_queue_free.
5398 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
5399 team created for target nowait in implicit parallel region.
5400 (gomp_team_start): For nested check, test thr->ts.level instead of
5401 thr->ts.team != NULL.
5402 * testsuite/libgomp.c/doacross-3.c: New test.
5403 * testsuite/libgomp.c/ordered-5.c: New test.
5404 * testsuite/libgomp.c/priority.c: New test.
5405 * testsuite/libgomp.c/target-31.c: New test.
5406 * testsuite/libgomp.c/target-32.c: New test.
5407 * testsuite/libgomp.c/target-33.c: New test.
5408 * testsuite/libgomp.c/target-34.c: New test.
5409
1d1ab74f
NS
54102015-11-13 Nathan Sidwell <nathan@codesourcery.com>
5411
c5a64cfe
NS
5412 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
5413
1d1ab74f
NS
5414 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
5415 loop is sequential.
5416
dd3c1b14
NS
54172015-11-13 Nathan Sidwell <nathan@codesourcery.com>
5418
5419 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
5420 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
5421
6e232ba4
JN
54222015-11-12 James Norris <jnorris@codesourcery.com>
5423 Joseph Myers <joseph@codesourcery.com>
5424
5425 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
5426 * oacc-parallel.c (GOACC_declare): New function.
5427 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
5428 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
5429 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
5430 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
5431 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
5432
fffeedeb
NS
54332015-11-12 Nathan Sidwell <nathan@codesourcery.com>
5434
5435 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
5436
182190f2
NS
54372015-11-1 Nathan Sidwell <nathan@codesourcery.com>
5438
5439 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
5440 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
5441
36fa0f5f
NS
54422015-11-09 Nathan Sidwell <nathan@codesourcery.com>
5443
d350c40c
NS
5444 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
5445 inadvertent commit.
5446
54472015-11-09 Nathan Sidwell <nathan@codesourcery.com>
5448
36fa0f5f
NS
5449 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
5450 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
5451 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
5452 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
5453 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
5454
66a5f0b4
TS
54552015-11-06 Thomas Schwinge <thomas@codesourcery.com>
5456
5457 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
5458 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5459
e01d41e5
JJ
54602015-11-05 Jakub Jelinek <jakub@redhat.com>
5461 Ilya Verbin <ilya.verbin@intel.com>
5462
5463 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
5464 GOMP_loop_nonmonotonic_dynamic_start,
5465 GOMP_loop_nonmonotonic_guided_next,
5466 GOMP_loop_nonmonotonic_guided_start,
5467 GOMP_loop_ull_nonmonotonic_dynamic_next,
5468 GOMP_loop_ull_nonmonotonic_dynamic_start,
5469 GOMP_loop_ull_nonmonotonic_guided_next,
5470 GOMP_loop_ull_nonmonotonic_guided_start,
5471 GOMP_parallel_loop_nonmonotonic_dynamic,
5472 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
5473 (GOMP_target_41): Renamed to ...
5474 (GOMP_target_ext): ... this. Add num_teams and thread_limit
5475 arguments.
5476 (GOMP_target_data_41): Renamed to ...
5477 (GOMP_target_data_ext): ... this.
5478 (GOMP_target_update_41): Renamed to ...
5479 (GOMP_target_update_ext): ... this.
5480 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
5481 GOMP_target_data_ext and GOMP_target_update_ext instead of
5482 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
5483 Export GOMP_loop_nonmonotonic_dynamic_next,
5484 GOMP_loop_nonmonotonic_dynamic_start,
5485 GOMP_loop_nonmonotonic_guided_next,
5486 GOMP_loop_nonmonotonic_guided_start,
5487 GOMP_loop_ull_nonmonotonic_dynamic_next,
5488 GOMP_loop_ull_nonmonotonic_dynamic_start,
5489 GOMP_loop_ull_nonmonotonic_guided_next,
5490 GOMP_loop_ull_nonmonotonic_guided_start,
5491 GOMP_parallel_loop_nonmonotonic_dynamic and
5492 GOMP_parallel_loop_nonmonotonic_guided.
5493 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
5494 GOMP_parallel_loop_nonmonotonic_guided,
5495 GOMP_loop_nonmonotonic_dynamic_start,
5496 GOMP_loop_nonmonotonic_guided_start,
5497 GOMP_loop_nonmonotonic_dynamic_next,
5498 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
5499 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
5500 GOMP_loop_ull_nonmonotonic_guided_start,
5501 GOMP_loop_ull_nonmonotonic_dynamic_next,
5502 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
5503 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
5504 functions.
5505 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
5506 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
5507 Use gomp_map_val function.
5508 (gomp_target_fallback_firstprivate): New static function.
5509 (GOMP_target_41): Renamed to ...
5510 (GOMP_target_ext): ... this. Add num_teams and thread_limit
5511 arguments. Move firstprivate fallback handling into a new
5512 function.
5513 (GOMP_target_data_41): Renamed to ...
5514 (GOMP_target_data_ext): ... this.
5515 (GOMP_target_update_41): Renamed to ...
5516 (GOMP_target_update_ext): ... this.
5517 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
5518 gomp_map_0len_lookup instead of gomp_map_lookup.
5519 (omp_target_is_present): Use gomp_map_0len_lookup instead of
5520 gomp_map_lookup.
5521 * testsuite/libgomp.c/target-28.c: Likewise.
5522 * testsuite/libgomp.c/monotonic-1.c: New test.
5523 * testsuite/libgomp.c/monotonic-2.c: New test.
5524 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
5525 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
5526 * testsuite/libgomp.c/pr66199-5.c: New test.
5527 * testsuite/libgomp.c/pr66199-6.c: New test.
5528 * testsuite/libgomp.c/pr66199-7.c: New test.
5529 * testsuite/libgomp.c/pr66199-8.c: New test.
5530 * testsuite/libgomp.c/pr66199-9.c: New test.
5531 * testsuite/libgomp.c/reduction-11.c: New test.
5532 * testsuite/libgomp.c/reduction-12.c: New test.
5533 * testsuite/libgomp.c/reduction-13.c: New test.
5534 * testsuite/libgomp.c/reduction-14.c: New test.
5535 * testsuite/libgomp.c/reduction-15.c: New test.
5536 * testsuite/libgomp.c/target-12.c (main): Adjust for
5537 omp_target_is_present change for one-past-last element.
5538 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
5539 the same var is both mapped and privatized.
5540 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
5541 handling of zero-length array sections.
5542 * testsuite/libgomp.c/target-28.c: New test.
5543 * testsuite/libgomp.c/target-29.c: New test.
5544 * testsuite/libgomp.c/target-30.c: New test.
5545 * testsuite/libgomp.c/target-teams-1.c: New test.
5546 * testsuite/libgomp.c++/member-6.C: New test.
5547 * testsuite/libgomp.c++/member-7.C: New test.
5548 * testsuite/libgomp.c++/monotonic-1.C: New test.
5549 * testsuite/libgomp.c++/monotonic-2.C: New test.
5550 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
5551 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
5552 * testsuite/libgomp.c++/pr66199-3.C: New test.
5553 * testsuite/libgomp.c++/pr66199-4.C: New test.
5554 * testsuite/libgomp.c++/pr66199-5.C: New test.
5555 * testsuite/libgomp.c++/pr66199-6.C: New test.
5556 * testsuite/libgomp.c++/pr66199-7.C: New test.
5557 * testsuite/libgomp.c++/pr66199-8.C: New test.
5558 * testsuite/libgomp.c++/pr66199-9.C: New test.
5559 * testsuite/libgomp.c++/reduction-11.C: New test.
5560 * testsuite/libgomp.c++/reduction-12.C: New test.
5561 * testsuite/libgomp.c++/target-13.C: New test.
5562 * testsuite/libgomp.c++/target-14.C: New test.
5563 * testsuite/libgomp.c++/target-15.C: New test.
5564 * testsuite/libgomp.c++/target-16.C: New test.
5565 * testsuite/libgomp.c++/target-17.C: New test.
5566 * testsuite/libgomp.c++/target-18.C: New test.
5567 * testsuite/libgomp.c++/target-19.C: New test.
5568
ccc8282b
NS
55692015-11-04 Nathan Sidwell <nathan@codesourcery.com>
5570
5571 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
5572 and reduction copy.
5573 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5574 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5575 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5576 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5577 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
5578 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5579 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
5580 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5581 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5582 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
5583 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
5584 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5585 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5586 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
5587
5d6823a2
NS
55882015-11-04 Nathan Sidwell <nathan@codesourcery.com>
5589
5590 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
5591 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
5592 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
5593 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
5594 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
5595 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
5596 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
5597 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
5598
5c06742f
NS
55992015-11-03 Nathan Sidwell <nathan@codesourcery.com>
5600
5601 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
5602 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
5603 (GOMP_OFFLOAD_openacc_parallel): Likewise.
5604 * oacc-host.c (host_openacc_exec): Likewise.
5605 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
5606
4bf9e5a8
TS
56072015-11-03 Julian Brown <julian@codesourcery.com>
5608 Thomas Schwinge <thomas@codesourcery.com>
5609
5610 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
5611 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5612 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
5613 Likewise.
5614 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
5615 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
5616
56172015-11-03 James Norris <jnorris@codesourcery.com>
5618
5619 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
5620 file.
5621 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
5622 Likewise.
5623 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
5624 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
5625 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
5626 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
5627 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
5628
a0e701d8
NS
56292015-10-29 Nathan Sidwell <nathan@codesourcery.com>
5630
5631 * openacc.h (enum acc_device_t): Reformat. Ensure layout
5632 compatibility.
5633 (enum acc_async_t): Reformat.
5634 (acc_on_device): Declare compatible with builtin and provide C++
5635 wrapper.
5636 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
5637
41e977ac
TS
56382015-10-29 Thomas Schwinge <thomas@codesourcery.com>
5639 Cesar Philippidis <cesar@codesourcery.com>
5640
5641 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
5642 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
5643 ... this. Add a description of the test at the top of the file.
5644 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
5645 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
5646 ... this. Add a description of the test at the top of the file.
5647
e3091406
NS
56482015-10-28 Nathan Sidwell <nathan@codesourcery.com>
5649
5650 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
5651 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
5652 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
5653 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
5654 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
5655 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
5656
a1c1908b
NS
56572015-10-27 Nathan Sidwell <nathan@codesourcery.com>
5658
5659 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
5660 dimensions.
5661
b3962a4a
TS
56622015-10-27 Thomas Schwinge <thomas@codesourcery.com>
5663
5664 PR testsuite/68063
5665 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
5666
88bae6f4
TS
56672015-10-27 James Norris <jnorris@codesourcery.com>
5668
5669 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
5670 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
5671
8baa7864
TS
56722015-10-26 Thomas Schwinge <thomas@codesourcery.com>
5673
bdeb752c
TS
5674 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
5675 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
5676
ecd4fd43
TS
5677 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
5678 acc_device_nvidia usage.
5679 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
5680 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
5681 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
5682
aa8b7d30
TS
5683 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
5684 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
5685
7c8f138d
TS
5686 PR libgomp/66518
5687 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
5688
8baa7864
TS
5689 PR libgomp/65437
5690 PR libgomp/66518
5691 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
5692 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
5693
88ebcde5
TV
56942015-10-23 Tom de Vries <tom@codesourcery.com>
5695
5696 PR testsuite/68063
5697 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
5698
9ef83c04
NS
56992015-10-20 Nathan Sidwell <nathan@codesourcery.com>
5700
5701 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
5702 vector_length.
5703 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5704
3837c6d6
IV
57052015-10-14 Ilya Verbin <ilya.verbin@intel.com>
5706 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
5707
5708 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
5709 to 0 when mapnum is 0.
5710
ac8a1965
SH
57112015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
5712
5713 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
5714 Cast to int from int32_t.
5715
d9a6bd32
JJ
57162015-10-13 Jakub Jelinek <jakub@redhat.com>
5717 Aldy Hernandez <aldyh@redhat.com>
5718 Ilya Verbin <ilya.verbin@intel.com>
5719
5720 * config/linux/affinity.c (omp_get_place_num_procs,
5721 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
5722 * config/linux/doacross.h: New file.
5723 * config/posix/affinity.c (omp_get_place_num_procs,
5724 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
5725 * config/posix/doacross.h: New file.
5726 * env.c: Include gomp-constants.h.
5727 (struct gomp_task_icv): Rename run_sched_modifier to
5728 run_sched_chunk_size.
5729 (gomp_max_task_priority_var): New variable.
5730 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
5731 (handle_omp_display_env): Change _OPENMP value from 201307 to
5732 201511. Print OMP_MAX_TASK_PRIORITY.
5733 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
5734 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
5735 chunk_size and run_sched_modifier to run_sched_chunk_size.
5736 (omp_get_max_task_priority, omp_get_initial_device,
5737 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
5738 omp_get_partition_place_nums): New functions.
5739 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
5740 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
5741 to chunk_size.
5742 (omp_get_num_places_, omp_get_place_num_procs_,
5743 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
5744 omp_get_place_proc_ids_8_, omp_get_place_num_,
5745 omp_get_partition_num_places_, omp_get_partition_place_nums_,
5746 omp_get_partition_place_nums_8_, omp_get_initial_device_,
5747 omp_get_max_task_priority_): New functions.
5748 * libgomp_g.h (GOMP_loop_doacross_static_start,
5749 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
5750 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
5751 GOMP_loop_ull_doacross_dynamic_start,
5752 GOMP_loop_ull_doacross_guided_start,
5753 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
5754 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
5755 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
5756 GOMP_target_data_41, GOMP_target_update_41,
5757 GOMP_target_enter_exit_data): New prototypes.
5758 (GOMP_task): Add prototype argument.
5759 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
5760 (struct gomp_doacross_work_share): New type.
5761 (struct gomp_work_share): Add doacross field.
5762 (struct gomp_task_icv): Rename run_sched_modifier to
5763 run_sched_chunk_size.
5764 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
5765 GOMP_TASK_UNDEFERRED. Add comments.
5766 (struct gomp_task_depend_entry): Add comments.
5767 (struct gomp_task): Likewise.
5768 (struct gomp_taskgroup): Likewise.
5769 (struct gomp_target_task): New type.
5770 (struct gomp_team): Add comment.
5771 (gomp_get_place_proc_ids_8, gomp_doacross_init,
5772 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
5773 gomp_create_target_task, gomp_target_task_fn): New prototypes.
5774 (struct target_var_desc): New type.
5775 (struct target_mem_desc): Adjust comment. Use struct
5776 target_var_desc instead of splay_tree_key for list.
5777 (REFCOUNT_INFINITY): Define.
5778 (struct splay_tree_key_s): Remove copy_from field.
5779 (struct gomp_device_descr): Add dev2dev_func field.
5780 (enum gomp_map_vars_kind): New enum.
5781 (gomp_map_vars): Add one argument.
5782 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
5783 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
5784 omp_get_place_num_procs, omp_get_place_num_procs_,
5785 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
5786 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
5787 omp_get_place_num_, omp_get_partition_num_places,
5788 omp_get_partition_num_places_, omp_get_partition_place_nums,
5789 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
5790 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
5791 omp_target_free, omp_target_is_present, omp_target_memcpy,
5792 omp_target_memcpy_rect, omp_target_associate_ptr and
5793 omp_target_disassociate_ptr.
5794 (GOMP_4.0.2): Renamed to ...
5795 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
5796 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
5797 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
5798 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
5799 GOMP_loop_doacross_static_start, GOMP_doacross_post,
5800 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
5801 GOMP_loop_ull_doacross_guided_start,
5802 GOMP_loop_ull_doacross_runtime_start,
5803 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
5804 GOMP_doacross_ull_wait.
5805 * libgomp.texi: Document omp_get_max_task_priority.
5806 Rename modifier argument to chunk_size for omp_set_schedule and
5807 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
5808 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
5809 to run_sched_chunk_size renaming.
5810 (GOMP_loop_ordered_runtime_start): Likewise.
5811 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
5812 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
5813 GOMP_parallel_loop_runtime_start): New functions.
5814 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
5815 to run_sched_chunk_size renaming.
5816 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
5817 GOMP_loop_doacross_guided_start): New functions or aliases.
5818 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
5819 run_sched_modifier to run_sched_chunk_size renaming.
5820 (GOMP_loop_ull_ordered_runtime_start): Likewise.
5821 (gomp_loop_ull_doacross_static_start,
5822 gomp_loop_ull_doacross_dynamic_start,
5823 gomp_loop_ull_doacross_guided_start,
5824 GOMP_loop_ull_doacross_runtime_start): New functions.
5825 (GOMP_loop_ull_doacross_static_start,
5826 GOMP_loop_ull_doacross_dynamic_start,
5827 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
5828 * oacc-mem.c (acc_map_data, present_create_copy,
5829 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
5830 to gomp_map_vars.
5831 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
5832 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
5833 instead of false to gomp_map_vars.
5834 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
5835 * omp.h.in (omp_lock_hint_t): New type.
5836 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5837 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5838 omp_get_place_num, omp_get_partition_num_places,
5839 omp_get_partition_place_nums, omp_get_initial_device,
5840 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
5841 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
5842 omp_target_associate_ptr, omp_target_disassociate_ptr): New
5843 prototypes.
5844 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
5845 (omp_lock_hint_none, omp_lock_hint_uncontended,
5846 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5847 omp_lock_hint_speculative): New parameters.
5848 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5849 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5850 omp_get_place_num, omp_get_partition_num_places,
5851 omp_get_partition_place_nums, omp_get_initial_device,
5852 omp_get_max_task_priority): New interfaces.
5853 (omp_set_schedule, omp_get_schedule): Rename modifier argument
5854 to chunk_size.
5855 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
5856 (omp_lock_hint_none, omp_lock_hint_uncontended,
5857 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
5858 omp_lock_hint_speculative): New parameters.
5859 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
5860 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
5861 omp_get_place_num, omp_get_partition_num_places,
5862 omp_get_partition_place_nums, omp_get_initial_device,
5863 omp_get_max_task_priority): New functions and subroutines.
5864 * ordered.c: Include stdarg.h and string.h.
5865 (MAX_COLLAPSED_BITS): Define.
5866 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
5867 gomp_doacross_ull_init, GOMP_doacross_ull_post,
5868 GOMP_doacross_ull_wait): New functions.
5869 * target.c: Include errno.h.
5870 (resolve_device): If device is not initialized, call
5871 gomp_init_device on it.
5872 (gomp_map_lookup): New function.
5873 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
5874 Don't bump refcount if REFCOUNT_INFINITY. Handle
5875 GOMP_MAP_ALWAYS_TO_P.
5876 (get_kind): Rename is_openacc argument to short_mapkind.
5877 (gomp_map_pointer): Use gomp_map_lookup.
5878 (gomp_map_fields_existing): New function.
5879 (gomp_map_vars): Rename is_openacc argument to short_mapkind
5880 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
5881 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
5882 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
5883 Adjust for tgt->list changed type and copy_from living in there.
5884 (gomp_copy_from_async): Adjust for tgt->list changed type and
5885 copy_from living in there.
5886 (gomp_unmap_vars): Likewise.
5887 (gomp_update): Likewise. Rename is_openacc argument to
5888 short_mapkind. Don't fail if object is not mapped.
5889 (gomp_load_image_to_device): Initialize refcount to
5890 REFCOUNT_INFINITY.
5891 (gomp_target_fallback): New function.
5892 (gomp_get_target_fn_addr): Likewise.
5893 (GOMP_target): Adjust gomp_map_vars caller, use
5894 gomp_get_target_fn_addr and gomp_target_fallback.
5895 (GOMP_target_41): New function.
5896 (gomp_target_data_fallback): New function.
5897 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
5898 (GOMP_target_data_41): New function.
5899 (GOMP_target_update): Adjust gomp_update caller.
5900 (GOMP_target_update_41): New function.
5901 (gomp_exit_data, GOMP_target_enter_exit_data,
5902 gomp_target_task_fn, omp_target_alloc, omp_target_free,
5903 omp_target_is_present, omp_target_memcpy,
5904 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
5905 omp_target_associate_ptr, omp_target_disassociate_ptr,
5906 gomp_load_plugin_for_device): New functions.
5907 * task.c: Include gomp-constants.h. Include taskloop.c
5908 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
5909 (gomp_task_handle_depend): New function.
5910 (GOMP_task): Use it. Add priority argument. Use
5911 gomp-constant.h constants instead of hardcoded numbers.
5912 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
5913 (gomp_create_target_task): New function.
5914 (verify_children_queue, verify_taskgroup_queue,
5915 verify_task_queue): New functions.
5916 (gomp_task_run_pre): Call verify_*_queue functions.
5917 If an upcoming tied task is about to leave the sibling or
5918 taskgroup queues in an invalid state, adjust appropriately.
5919 Remove taskgroup argument. Add comments.
5920 (gomp_task_run_post_handle_dependers): Add comments.
5921 (gomp_task_run_post_remove_parent): Likewise.
5922 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
5923 (GOMP_taskwait): Likewise. Add comments.
5924 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
5925 problem such that the first non parent_depends_on task does not
5926 end up at the end of the children queue.
5927 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
5928 GOMP_TASK_UNDEFERRED.
5929 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
5930 * taskloop.c: New file.
5931 * testsuite/lib/libgomp.exp
5932 (check_effective_target_offload_device_nonshared_as): New proc.
5933 * testsuite/libgomp.c/affinity-2.c: New test.
5934 * testsuite/libgomp.c/doacross-1.c: New test.
5935 * testsuite/libgomp.c/doacross-2.c: New test.
5936 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
5937 Add map clause to target.
5938 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
5939 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
5940 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
5941 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
5942 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
5943 Likewise.
5944 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
5945 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
5946 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
5947 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
5948 not defined. Use those where needed.
5949 * testsuite/libgomp.c/for-4.c: New test.
5950 * testsuite/libgomp.c/for-5.c: New test.
5951 * testsuite/libgomp.c/for-6.c: New test.
5952 * testsuite/libgomp.c/linear-1.c: New test.
5953 * testsuite/libgomp.c/ordered-4.c: New test.
5954 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
5955 only allowed on the loop iterator.
5956 * testsuite/libgomp.c/pr66199-3.c: New test.
5957 * testsuite/libgomp.c/pr66199-4.c: New test.
5958 * testsuite/libgomp.c/reduction-7.c: New test.
5959 * testsuite/libgomp.c/reduction-8.c: New test.
5960 * testsuite/libgomp.c/reduction-9.c: New test.
5961 * testsuite/libgomp.c/reduction-10.c: New test.
5962 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
5963 map(tofrom:s).
5964 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
5965 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
5966 * testsuite/libgomp.c/target-11.c: New test.
5967 * testsuite/libgomp.c/target-12.c: New test.
5968 * testsuite/libgomp.c/target-13.c: New test.
5969 * testsuite/libgomp.c/target-14.c: New test.
5970 * testsuite/libgomp.c/target-15.c: New test.
5971 * testsuite/libgomp.c/target-16.c: New test.
5972 * testsuite/libgomp.c/target-17.c: New test.
5973 * testsuite/libgomp.c/target-18.c: New test.
5974 * testsuite/libgomp.c/target-19.c: New test.
5975 * testsuite/libgomp.c/target-20.c: New test.
5976 * testsuite/libgomp.c/target-21.c: New test.
5977 * testsuite/libgomp.c/target-22.c: New test.
5978 * testsuite/libgomp.c/target-23.c: New test.
5979 * testsuite/libgomp.c/target-24.c: New test.
5980 * testsuite/libgomp.c/target-25.c: New test.
5981 * testsuite/libgomp.c/target-26.c: New test.
5982 * testsuite/libgomp.c/target-27.c: New test.
5983 * testsuite/libgomp.c/taskloop-1.c: New test.
5984 * testsuite/libgomp.c/taskloop-2.c: New test.
5985 * testsuite/libgomp.c/taskloop-3.c: New test.
5986 * testsuite/libgomp.c/taskloop-4.c: New test.
5987 * testsuite/libgomp.c++/ctor-13.C: New test.
5988 * testsuite/libgomp.c++/doacross-1.C: New test.
5989 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
5990 Replace offload_device with offload_device_nonshared_as.
5991 * testsuite/libgomp.c++/for-12.C: New test.
5992 * testsuite/libgomp.c++/for-13.C: New test.
5993 * testsuite/libgomp.c++/for-14.C: New test.
5994 * testsuite/libgomp.c++/linear-1.C: New test.
5995 * testsuite/libgomp.c++/member-1.C: New test.
5996 * testsuite/libgomp.c++/member-2.C: New test.
5997 * testsuite/libgomp.c++/member-3.C: New test.
5998 * testsuite/libgomp.c++/member-4.C: New test.
5999 * testsuite/libgomp.c++/member-5.C: New test.
6000 * testsuite/libgomp.c++/ordered-1.C: New test.
6001 * testsuite/libgomp.c++/reduction-5.C: New test.
6002 * testsuite/libgomp.c++/reduction-6.C: New test.
6003 * testsuite/libgomp.c++/reduction-7.C: New test.
6004 * testsuite/libgomp.c++/reduction-8.C: New test.
6005 * testsuite/libgomp.c++/reduction-9.C: New test.
6006 * testsuite/libgomp.c++/reduction-10.C: New test.
6007 * testsuite/libgomp.c++/reference-1.C: New test.
6008 * testsuite/libgomp.c++/simd14.C: New test.
6009 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
6010 * testsuite/libgomp.c++/target-5.C: New test.
6011 * testsuite/libgomp.c++/target-6.C: New test.
6012 * testsuite/libgomp.c++/target-7.C: New test.
6013 * testsuite/libgomp.c++/target-8.C: New test.
6014 * testsuite/libgomp.c++/target-9.C: New test.
6015 * testsuite/libgomp.c++/target-10.C: New test.
6016 * testsuite/libgomp.c++/target-11.C: New test.
6017 * testsuite/libgomp.c++/target-12.C: New test.
6018 * testsuite/libgomp.c++/taskloop-1.C: New test.
6019 * testsuite/libgomp.c++/taskloop-2.C: New test.
6020 * testsuite/libgomp.c++/taskloop-3.C: New test.
6021 * testsuite/libgomp.c++/taskloop-4.C: New test.
6022 * testsuite/libgomp.c++/taskloop-5.C: New test.
6023 * testsuite/libgomp.c++/taskloop-6.C: New test.
6024 * testsuite/libgomp.c++/taskloop-7.C: New test.
6025 * testsuite/libgomp.c++/taskloop-8.C: New test.
6026 * testsuite/libgomp.c++/taskloop-9.C: New test.
6027 * testsuite/libgomp.fortran/affinity1.f90: New test.
6028 * testsuite/libgomp.fortran/affinity2.f90: New test.
6029
1f600fea
TV
60302015-10-13 Tom de Vries <tom@codesourcery.com>
6031
6032 PR tree-optimization/67476
6033 * testsuite/libgomp.c/autopar-3.c: New test.
6034 * testsuite/libgomp.c/autopar-4.c: New test.
6035 * testsuite/libgomp.c/autopar-5.c: New test.
6036 * testsuite/libgomp.c/autopar-6.c: New test.
6037 * testsuite/libgomp.c/autopar-7.c: New test.
6038 * testsuite/libgomp.c/autopar-8.c: New test.
6039
058a654b
JN
60402015-10-12 James Norris <jnorris@codesourcery.com>
6041
6042 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
6043 initializer.
6044
9e531d37
DM
60452015-10-09 David Malcolm <dmalcolm@redhat.com>
6046
6047 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
6048 using load_gcc_lib.
6049
113020dc
TS
60502015-10-02 Thomas Schwinge <thomas@codesourcery.com>
6051
6052 * oacc-ptx.h: Remove file, moving its content into...
6053 * config/nvptx/fortran.c: ... here...
6054 * config/nvptx/oacc-init.c: ..., here...
6055 * config/nvptx/oacc-parallel.c: ..., and here.
6056 * config/nvptx/openacc.f90: New file.
6057 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
6058 (link_ptx): Don't link in predefined bits of PTX code.
6059
cc3cd79b
NS
60602015-09-30 Nathan Sidwell <nathan@codesourcery.com>
6061 Bernd Schmidt <bernds@codesourcery.com>
6062
6063 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
6064 (struct targ_ptx_obj): New.
6065 (nvptx_tdata): Move earlier, change data format.
6066 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
6067 objects.
6068 (GOMP_OFFLOAD_load_image): Adjust.
6069
4e2a5450
TS
60702015-09-30 Thomas Schwinge <thomas@codesourcery.com>
6071
6072 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
6073 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6074 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6075 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6076 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6077 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6078 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6079 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6080 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6081 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6082 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6083 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6084 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6085 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6086 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6087 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6088 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6089 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6090 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6091 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6092 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6093 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6094 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6095 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6096 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6097 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6098 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6099 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6100 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6101 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6102 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6103 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6104 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6105 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6106 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6107 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6108 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6109 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6110 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6111 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6112 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6113 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6114 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6115 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6116 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6117 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6118 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6119 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6120 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6121 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6122 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6123 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6124 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6125 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6126 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6127 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6128 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6129 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6130 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6131 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6132 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6133 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6134 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6135
164453bb
NS
61362015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6137
6138 * oacc-init.c (acc_on_device): Force optimization level.
6139
a12a0437
NS
61402015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6141
6142 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
6143 (cuda_errlist): Delete.
6144 (cuda_error): Reimplement.
6145
3e32ee19
NS
61462015-09-28 Nathan Sidwell <nathan@codesourcery.com>
6147
6148 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
6149 array.
6150 * libgomp.map (GOACC_parallel_keyed): New.
6151 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
6152 all callers.
6153 (GOACC_parallel_keyed): New interface. Lose geometry arguments
6154 and take keyed varargs list. Adjust call to exec_func.
6155 (GOACC_parallel): Force host fallback.
6156 * libgomp_g.h (GOACC_parallel): Remove.
6157 (GOACC_parallel_keyed): Declare.
6158 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
6159 (stuct targ_gn_descriptor): Replace name field with launch field.
6160 (nvptx_exec): Lose separate geometry args, take array. Process
6161 dynamic dimensions and adjust.
6162 (struct nvptx_tdata): Replace fn_names field with fn_descs.
6163 (GOMP_OFFLOAD_load_image): Adjust for change in function table
6164 data.
6165 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
6166 passing.
6167 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
6168 passing.
6169
6bb4c3e2
CLT
61702015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
6171
6172 PR libgomp/67141
6173 * oacc-int.h (goacc_host_init): Add declaration.
6174 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
6175 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
6176
74032f47 61772015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 6178 Sebastian Pop <s.pop@samsung.com>
74032f47
AK
6179
6180 * testsuite/libgomp.graphite/bounds.c (int foo): Modifed test case to
6181 match o/p.
6182 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
6183 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
6184 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
6185 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
6186 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
6187
97875f4a
JJ
61882015-09-03 Jakub Jelinek <jakub@redhat.com>
6189
6190 * configure.tgt: Add missing ;; in between nvptx and rtems
6191 snippets.
6192
06441dd5
SH
61932015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6194
6195 * config/posix/pool.h (gomp_adjust_thread_attr): New.
6196 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
6197 (gomp_thread_pool_reservoir): Add priority member.
6198 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
6199 priority.
6200 (parse_thread_pools): Likewise.
6201 * team.c (gomp_team_start): Call configuration provided
6202 gomp_adjust_thread_attr(). Destroy thread attributes if
6203 necessary.
6204 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
6205
66c59f92
SH
62062015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6207
6208 * config/posix/pool.h: New.
6209 * config/rtems/pool.h: Likewise.
6210 * config/rtems/proc.c: Likewise.
6211 * libgomp.h (gomp_thread_destructor): Declare.
6212 * team.c: Include configuration provided "pool.h".
6213 (gomp_get_thread_pool): Define in configuration.
6214 (gomp_team_end): Call configuration defined
6215 gomp_release_thread_pool().
6216
13c41b2e
SH
62172015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6218
6219 * config/rtems/bar.c: New.
6220 * config/rtems/bar.h: Likewise.
6221 * config/rtems/mutex.c: Likewise.
6222 * config/rtems/mutex.h: Likewise.
6223 * config/rtems/sem.c: Likewise.
6224 * config/rtems/sem.h: Likewise.
6225 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
6226 <sys/lock.h> header file.
6227 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
6228 supported by Newlib.
6229 * configure: Regenerate.
6230
7892ec67
SH
62312015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6232
6233 * team.c (gomp_new_thread_pool): Delete and move content to ...
6234 (gomp_get_thread_pool): ... new function. Allocate and
6235 initialize thread pool on demand.
6236 (get_last_team): Use gomp_get_thread_pool().
6237 (gomp_team_start): Delete thread pool initialization.
6238
1b96e9a4
TV
62392015-09-03 Tom de Vries <tom@codesourcery.com>
6240
6241 PR tree-optimization/65637
6242 * testsuite/libgomp.c/autopar-2.c: New test.
6243
3ff2d74e
TV
62442015-08-29 Tom de Vries <tom@codesourcery.com>
6245
6246 PR tree-optimization/46193
6247 * testsuite/libgomp.c/pr46193.c: New test.
6248
2a21ff19
NS
62492015-08-24 Nathan Sidwell <nathan@codesourcery.com>
6250
6251 libgomp/
6252 * libgomp.map: Add 4.0.2 version.
6253 * target.c (offload_image_descr): Add version field.
6254 (gomp_load_image_to_device): Add version argument. Adjust plugin
6255 call. Improve load mismatch diagnostic.
6256 (gomp_unload_image_from_device): Add version argument. Adjust plugin
6257 call.
6258 (GOMP_offload_regster): Make stub function, move bulk to ...
6259 (GOMP_offload_register_ver): ... here. Process version argument.
6260 (GOMP_offload_unregister): Make stub function, move bulk to ...
6261 (GOMP_offload_unregister_ver): ... here. Process version argument.
6262 (gomp_init_device): Process version field.
6263 (gomp_unload_device): Process version field.
6264 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
6265 macros. Check plugin version.
6266 * libgomp.h (gomp_device_descr): Add version function field. Adjust
6267 loader and unloader types.
6268 * oacc-host.c: Include gomp-constants.h.
6269 (host_version): New.
6270 (host_load_image, host_unload_image): Adjust.
6271 (host_dispatch): Add host_version.
6272 * plugin/plugin-nvptx.c: Include gomp-constants.h.
6273 (GOMP_OFFLOAD_version): New.
6274 (GOMP_OFFLOAD_load_image): Add version arg and check it.
6275 (GOMP_OFFLOAD_unload_image): Likewise.
6276 * plugin/plugin-host.c: Include gomp-constants.h.
6277 (GOMP_OFFLOAD_version): New.
6278 (GOMP_OFFLOAD_load_image): Add version arg.
6279 (GOMP_OFFLOAD_unload_image): Likewise.
6280
1358a747
TV
62812015-08-24 Tom de Vries <tom@codesourcery.com>
6282
6283 PR tree-optimization/65468
6284 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
6285
6be5c241
TV
62862015-08-24 Tom de Vries <tom@codesourcery.com>
6287
6288 PR tree-optimization/65468
6289 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
6290
bfe7ac89
JV
62912015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
6292
6293 PR libgomp/66761
6294 PR libgomp/67303
6295 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
6296 (gomp_iter_guided_next): Idem.
6297 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
6298 (gomp_iter_ull_guided_next): Idem.
6299 * config/linux/wait.h (do_spin): Idem.
6300
b97e78b7
TS
63012015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6302
6303 * libgomp-plugin.h (enum offload_target_type): Remove
6304 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
6305 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
6306 * openacc.h (enum acc_device_t): Likewise.
6307 * openacc_lib.h: Likewise.
6308 * oacc-init.c (name_of_acc_device_t): Don't handle it.
6309 (acc_on_device): Just use __builtin_acc_on_device.
6310 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
6311 of acc_on_device builtin.
6312 * plugin/plugin-host.h: Remove file.
6313 * plugin/plugin-host.c: Likewise, but salvage some content into...
6314 * oacc-host.c: ... this file.
6315 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
6316 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
6317 * Makefile.in: Regenerate.
6318 * configure: Likewise.
6319 * testsuite/lib/libgomp.exp
6320 (check_effective_target_openacc_host_nonshm_selected): Remove.
6321 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
6322 ACC_DEVICE_TYPE=host_nonshm.
6323 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6324 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6325 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6326 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6327 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6328 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6329
44a7d18d
TS
63302015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6331 Jakub Jelinek <jakub@redhat.com>
6332
6333 * config/nvptx/affinity.c: New file.
6334 * config/nvptx/alloc.c: Likewise.
6335 * config/nvptx/bar.c: Likewise.
6336 * config/nvptx/barrier.c: Likewise.
6337 * config/nvptx/critical.c: Likewise.
6338 * config/nvptx/env.c: Likewise.
6339 * config/nvptx/error.c: Likewise.
6340 * config/nvptx/fortran.c: Likewise.
6341 * config/nvptx/iter.c: Likewise.
6342 * config/nvptx/iter_ull.c: Likewise.
6343 * config/nvptx/libgomp-plugin.c: Likewise.
6344 * config/nvptx/lock.c: Likewise.
6345 * config/nvptx/loop.c: Likewise.
6346 * config/nvptx/loop_ull.c: Likewise.
6347 * config/nvptx/mutex.c: Likewise.
6348 * config/nvptx/oacc-async.c: Likewise.
6349 * config/nvptx/oacc-cuda.c: Likewise.
6350 * config/nvptx/oacc-host.c: Likewise.
6351 * config/nvptx/oacc-init.c: Likewise.
6352 * config/nvptx/oacc-mem.c: Likewise.
6353 * config/nvptx/oacc-parallel.c: Likewise.
6354 * config/nvptx/oacc-plugin.c: Likewise.
6355 * config/nvptx/omp-lock.h: Likewise.
6356 * config/nvptx/ordered.c: Likewise.
6357 * config/nvptx/parallel.c: Likewise.
6358 * config/nvptx/proc.c: Likewise.
6359 * config/nvptx/ptrlock.c: Likewise.
6360 * config/nvptx/sections.c: Likewise.
6361 * config/nvptx/sem.c: Likewise.
6362 * config/nvptx/single.c: Likewise.
6363 * config/nvptx/splay-tree.c: Likewise.
6364 * config/nvptx/target.c: Likewise.
6365 * config/nvptx/task.c: Likewise.
6366 * config/nvptx/team.c: Likewise.
6367 * config/nvptx/time.c: Likewise.
6368 * config/nvptx/work.c: Likewise.
6369 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
6370 * configure: Regenerate.
6371 * configure.tgt (config_path): Set to "nvptx" for target
6372 nvptx*-*-*.
6373
96a2d174
TS
63742015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6375
6376 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
6377
9ebddeb0
NS
63782015-08-03 Nathan Sidwell <nathan@codesourcery.com>
6379
6380 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
6381 (cuda_errlist): Constify.
6382 (errmsg): Move into ...
6383 (cuda_error): ... here. Make smaller.
6384 (_XSTR, _STR): Delete.
6385 (cuda_synames): Delete.
6386 (verify_device_library): Delete.
6387 (nvptx_init): Don't call it.
6388
12efb1d7
TV
63892015-07-28 Tom de Vries <tom@codesourcery.com>
6390
6391 * testsuite/libgomp.c/uns-outer-4.c: New test.
6392
710ee218
CP
63932015-07-24 Cesar Philippidis <cesar@codesourcery.com>
6394
6395 * testsuite/libgomp.c/pr66714.c: New test.
6396
27c4ac7d
MB
63972015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
6398
6399 PR libgomp/66950
6400 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
6401 (fib_ref): New function.
6402 (fib): Correct corner cases in the recursion.
6403 (main): Replace the non-simd loop with fib_ref call.
6404 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
6405 subroutine.
6406 (fibonacci): Lower the parameter N to 30. Correct accordingly check
6407 for the last array element value. Replace the non-simd loop with
6408 fib_ref call. Remove redundant b_ref array. Remove the comparison
6409 of the last array element with according Fibonacci sequence element.
6410 (fib): Correct corner cases in the recursion.
6411
22be2349
NS
64122015-07-21 Nathan Sidwell <nathan@codesourcery.com>
6413
6414 * target.c (gomp_offload_image_to_device): Rename to ...
6415 (gomp_load_image_to_device): ... here.
6416 (GOMP_offload_register): Adjust call.
6417 (gomp_init_device): Likewise.
6418 (gomp_unload_image_from_device): New. Broken out of ...
6419 (GOMP_offload_unregister): ... here. Call it.
6420 (gomp_unload_device): New.
6421 * libgomp.h (gomp_unload_device): Declare.
6422 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
6423 mem maps.
6424
f3e9a059
NS
64252015-07-20 Nathan Sidwell <nathan@codesourcery.com>
6426
a091118d
NS
6427 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
6428 wait=-specific if.
6429 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
6430 !=0 condition.
6431 (goacc_waits): Move !num_waits handling to ...
6432 (GOACC_wait): ... here, the only caller that might have zero waits.
6433
f3e9a059
NS
6434 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
6435 (struct ptx_image_data): Move earlier, add fns field.
6436 (struct ptx_device): Add images and image_lock fields.
6437 (ptx_images, ptx_image_lock): Delete.
6438 (nvptx_open_device): Initialize images and image_lock fields.
6439 (nvptx_close_device): Destroy image_lock.
6440 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
6441 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
6442 fields.
6443
afb2d80b
NS
64442015-07-17 Nathan Sidwell <nathan@codesourcery.com>
6445
896c28a7
NS
6446 * target.c (GOMP_offload_register): Use int for device type arg.
6447 (GOMP_offload_unregister): Likewise.
6448
ebe4a560
NS
6449 * target.c (struct_offload_image_descr): Constify host_table.
6450 (gomp_offload_image_to_device): Likewise.
6451 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
6452
afb2d80b
NS
6453 * libgomp.h (gomp_device_descr): Constify target data arguments.
6454 * target.c (struct offload_image_descr): Constify target_data.
6455 (gomp_offload_image_to_device): Likewise.
6456 (GOMP_offload_register): Likewise.
6457 (GOMP_offload_unrefister): Likewise.
6458 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
6459 GOMP_OFFLOAD_unload_image): Constify target data.
6460 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
6461 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
6462
a4cb876d
NS
64632015-07-16 Nathan Sidwell <nathan@codesourcery.com>
6464
6465 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
6466 Workaround driver library const error.
6467 (struct nvptx_tdata, nvptx_tdata_t): New.
6468 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
6469 type.
6470
28ef6a27
MB
64712015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
6472
6473 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
6474 of EPS parameter from integer to real.
6475 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
6476 type of EPS parameter from integer to real.
6477
6dba0113
SH
64782015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
6479
6480 * team.c (get_last_team): New.
6481 (gomp_new_team): Recycle last non-nested team if possible.
6482 (gomp_team_end): Move team work share list free lock destruction
6483 to ...
6484 (free_team): ... here.
6485
4c1cb4da
MB
64862015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
6487
6488 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
6489 and ref from int to double. Replaced their comparison with
6490 an inequality of their difference and EPS.
6491 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
6492 comparison of pri and a reference number with an inequality of their
6493 difference and EPS.
6494 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
6495 the comparison of sum and sum_ref with an inequality of their
6496 difference and EPS.
6497 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
6498 the comparison of pri and a reference number with an inequality of
6499 their difference and EPS.
6500
343587dc
MB
65012015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
6502
6503 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
6504 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
6505 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
6506 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
6507 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
6508 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
6509 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
6510 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
6511 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
6512 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
6513 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
6514 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
6515 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
6516 variables.
6517 (vec_mult): Likewise. Add #pragma omp taskwait.
6518 (main): Adjust caller.
6519 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
6520 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
6521 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
6522 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
6523 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
6524 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
6525 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
6526 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
6527 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
6528 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
6529 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
6530 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
6531 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
6532 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
6533 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
6534 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
6535 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
6536 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
6537 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
6538 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
6539 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
6540 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
6541 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
6542 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
6543 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
6544 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
6545 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
6546 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
6547 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
6548 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
6549 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
6550 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
6551 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
6552 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
6553 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
6554 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
6555 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
6556 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
6557 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
6558 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
6559 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
6560 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
6561 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
6562 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
6563 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
6564 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
6565 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
6566 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
6567 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
6568 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
6569 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
6570 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
6571 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
6572 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
6573 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
6574 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
6575 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
6576 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
6577 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
6578 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
6579 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
6580 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
6581 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
6582 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
6583 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
6584 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
6585 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
6586 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
6587 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
6588 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
6589 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
6590 (vec_mult): Add !$omp taskwait.
6591 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
6592 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
6593 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
6594 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
6595 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
6596 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
6597 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
6598 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
6599 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
6600 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
6601 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
6602 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
6603 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
6604 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
6605 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
6606 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
6607 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
6608 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
6609 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
6610 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
6611 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
6612 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
6613 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
6614 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
6615 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
6616 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
6617 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
6618 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
6619 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
6620 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
6621 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
6622 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
6623 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
6624 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
6625 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
6626 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
6627 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
6628 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
6629 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
6630 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
6631 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
6632 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
6633 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
6634 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
6635 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
6636 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
6637 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
6638 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
6639 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
6640 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
6641 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
6642 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
6643 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
6644 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
6645 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
6646 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
6647 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
6648 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
6649 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
6650 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
6651 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
6652 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
6653 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
6654 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
6655 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
6656 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
6657 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
6658
9f620bf1
TV
66592015-07-10 Tom de Vries <tom@codesourcery.com>
6660
6661 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
6662 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
6663
a92defda
TS
66642015-07-08 Thomas Schwinge <thomas@codesourcery.com>
6665
6666 PR libgomp/65099
6667 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
6668 in a 64-bit configuration.
6669 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
6670 offloading testing if no such device is available.
6671 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6672 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6673
cadb53a5
TV
66742015-07-08 Tom de Vries <tom@codesourcery.com>
6675
6676 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
6677 second call to f.
6678 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6679
712cb0bb
TV
66802015-07-07 Tom de Vries <tom@codesourcery.com>
6681
6682 PR tree-optimization/66642
6683 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
6684 iteration count case.
6685 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
6686 function, factor out of ...
6687 (main): ... here. Test low iteration count case.
6688
e5210c77
SH
66892015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
6690
6691 * libgomp.h (gomp_thread_pool): Comment last_team field.
6692
f70360e7
UB
66932015-07-02 Uros Bizjak <ubizjak@gmail.com>
6694
6695 * testsuite/libgomp.c++/pr66702-1.C: Require
6696 vect_simd_clones effective target.
6697 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
6698
b451c271
TV
66992015-06-30 Tom de Vries <tom@codesourcery.com>
6700
6701 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
6702 already set. Use DEFAULT_CFLAGS in dg-runtest.
6703 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
6704 "-O2".
6705
f8e89d9f
TV
67062015-06-30 Tom de Vries <tom@codesourcery.com>
6707
6708 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
6709 already set. Use DEFAULT_CFLAGS in dg-runtest.
6710 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
6711 * testsuite/libgomp.c++/pr64824.C: Same.
6712 * testsuite/libgomp.c++/pr64868.C: Same.
6713 * testsuite/libgomp.c++/pr66199-1.C: Same.
6714 * testsuite/libgomp.c++/pr66199-2.C: Same.
6715 * testsuite/libgomp.c++/target-2.C: Same.
6716 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
6717 -std=<standard> option.
6718 * testsuite/libgomp.c++/udr-11.C: Same.
6719 * testsuite/libgomp.c++/udr-12.C: Same.
6720 * testsuite/libgomp.c++/udr-13.C: Same.
6721 * testsuite/libgomp.c++/udr-14.C: Same.
6722 * testsuite/libgomp.c++/udr-15.C: Same.
6723 * testsuite/libgomp.c++/udr-16.C: Same.
6724 * testsuite/libgomp.c++/udr-17.C: Same.
6725 * testsuite/libgomp.c++/udr-18.C: Same.
6726 * testsuite/libgomp.c++/udr-19.C: Same.
6727 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
6728 * testsuite/libgomp.c++/simd-1.C: Same.
6729 * testsuite/libgomp.c++/simd-2.C: Same.
6730 * testsuite/libgomp.c++/simd-3.C: Same.
6731 * testsuite/libgomp.c++/simd-4.C: Same.
6732 * testsuite/libgomp.c++/simd-5.C: Same.
6733 * testsuite/libgomp.c++/simd-6.C: Same.
6734 * testsuite/libgomp.c++/simd-7.C: Same.
6735 * testsuite/libgomp.c++/simd-8.C: Same.
6736 * testsuite/libgomp.c++/simd-9.C: Same.
6737 * testsuite/libgomp.c++/simd10.C: Same.
6738 * testsuite/libgomp.c++/simd11.C: Same.
6739 * testsuite/libgomp.c++/simd12.C: Same.
6740 * testsuite/libgomp.c++/simd13.C: Same.
6741
3446fe48
JJ
67422015-06-30 Jakub Jelinek <jakub@redhat.com>
6743
6744 PR middle-end/66702
6745 * testsuite/libgomp.c++/pr66702-1.C: New test.
6746 * testsuite/libgomp.c++/pr66702-2.C: New test.
6747
8a36714a
TV
67482015-06-30 Tom de Vries <tom@codesourcery.com>
6749
6750 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
6751 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
6752 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
6753 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
6754
4f75d608
TV
67552015-06-30 Tom de Vries <tom@codesourcery.com>
6756
6757 PR tree-optimization/66652
6758 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
6759 using restrict pointers.
6760 (main): Add arguments to calls to f.
6761 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6762
6d9d1eeb
AT
67632015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
6764
6765 * configure.ac: Fix check for header <sys/sysctl.h>.
6766 * configure: Regenerate.
6767 * config.h.in: Likewise.
6768
1222f22b
TV
67692015-06-23 Tom de Vries <tom@codesourcery.com>
6770
6771 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
6772 abort.
6773 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
6774
d7efbbf6
TS
67752015-06-19 Thomas Schwinge <thomas@codesourcery.com>
6776
bfcd036f
TS
6777 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
6778 acc_device_nvidia.
6779
d7efbbf6
TS
6780 PR libgomp/66518
6781 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
6782 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6783
d7bfc710
TV
67842015-06-15 Tom de Vries <tom@codesourcery.com>
6785
6786 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
6787 dg-additional-options for any remaining options.
6788 * testsuite/libgomp.c/atomic-2.c: Same.
6789 * testsuite/libgomp.c/atomic-4.c: Same.
6790 * testsuite/libgomp.c/atomic-5.c: Same.
6791 * testsuite/libgomp.c/atomic-6.c: Same.
6792 * testsuite/libgomp.c/autopar-1.c: Same.
6793 * testsuite/libgomp.c/copyin-1.c: Same.
6794 * testsuite/libgomp.c/copyin-2.c: Same.
6795 * testsuite/libgomp.c/copyin-3.c: Same.
6796 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
6797 * testsuite/libgomp.c/nestedfn-5.c: Same.
6798 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
6799 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
6800 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
6801 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6802 * testsuite/libgomp.c/pr32362-1.c: Same.
6803 * testsuite/libgomp.c/pr32362-2.c: Same.
6804 * testsuite/libgomp.c/pr32362-3.c: Same.
6805 * testsuite/libgomp.c/pr39591-1.c: Same.
6806 * testsuite/libgomp.c/pr39591-2.c: Same.
6807 * testsuite/libgomp.c/pr39591-3.c: Same.
6808 * testsuite/libgomp.c/pr58392.c: Same.
6809 * testsuite/libgomp.c/pr58756.c: Same.
6810 * testsuite/libgomp.c/simd-1.c: Same.
6811 * testsuite/libgomp.c/simd-10.c: Same.
6812 * testsuite/libgomp.c/simd-11.c: Same.
6813 * testsuite/libgomp.c/simd-12.c: Same.
6814 * testsuite/libgomp.c/simd-13.c: Same.
6815 * testsuite/libgomp.c/simd-14.c: Same.
6816 * testsuite/libgomp.c/simd-15.c: Same.
6817 * testsuite/libgomp.c/simd-2.c: Same.
6818 * testsuite/libgomp.c/simd-3.c: Same.
6819 * testsuite/libgomp.c/simd-4.c: Same.
6820 * testsuite/libgomp.c/simd-5.c: Same.
6821 * testsuite/libgomp.c/simd-6.c: Same.
6822 * testsuite/libgomp.c/simd-7.c: Same.
6823 * testsuite/libgomp.c/simd-8.c: Same.
6824 * testsuite/libgomp.c/simd-9.c: Same.
6825
fb5b5352
TV
68262015-06-15 Tom de Vries <tom@codesourcery.com>
6827
6828 * testsuite/libgomp.c/pr35625.c: Fix typo.
6829
ca431bef
TV
68302015-06-15 Tom de Vries <tom@codesourcery.com>
6831
6832 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
6833 in dg-options.
6834 * testsuite/libgomp.c/atomic-3.c: Same.
6835 * testsuite/libgomp.c/debug-1.c: Same.
6836 * testsuite/libgomp.c/nqueens-1.c: Same.
6837 * testsuite/libgomp.c/pr26171.c: Same.
6838 * testsuite/libgomp.c/pr48591.c: Same.
6839 * testsuite/libgomp.c/pr64824.c: Same.
6840 * testsuite/libgomp.c/pr64868.c: Same.
6841 * testsuite/libgomp.c/pr66133.c: Same.
6842 * testsuite/libgomp.c/pr66199-1.c: Same.
6843 * testsuite/libgomp.c/pr66199-2.c: Same.
6844 * testsuite/libgomp.c/target-8.c: Same.
6845
0d8a9e20
TV
68462015-06-15 Tom de Vries <tom@codesourcery.com>
6847
6848 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
6849 -std={gnu99,c99}.
6850 * testsuite/libgomp.c/for-1.c: Same.
6851 * testsuite/libgomp.c/for-2.c: Same.
6852 * testsuite/libgomp.c/for-3.c: Same.
6853 * testsuite/libgomp.c/pr35625.c: Same.
6854 * testsuite/libgomp.c/pr39154.c: Same.
6855 * testsuite/libgomp.c/simd-16.c: Same.
6856 * testsuite/libgomp.c/simd-17.c: Same.
6857
a6860be9
TV
68582015-06-13 Tom de Vries <tom@codesourcery.com>
6859
6860 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
6861
ab3306d2
TV
68622015-06-13 Tom de Vries <tom@codesourcery.com>
6863
6864 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
6865 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
6866 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
6867 (N): Define.
6868 (main): Use N instead of hardcoded constants.
6869
7c82d827
TV
68702015-06-05 Tom de Vries <tom@codesourcery.com>
6871
6872 merge from gomp4 branch:
6873 2015-05-28 Tom de Vries <tom@codesourcery.com>
6874
6875 PR tree-optimization/65443
6876 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
6877 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
6878 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
6879
c469078d
BRF
68802015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
6881
6882 * testsuite/libgomp.graphite/bounds.c: Adjust for
6883 cleanup-tree-dump removal.
6884 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
6885 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
6886 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
6887 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
6888 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
6889 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
6890 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
6891 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
6892 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
6893 * testsuite/libgomp.graphite/pr41118.c: Likewise.
6894
bb3caa35
UB
68952015-05-28 Uros Bizjak <ubizjak@gmail.com>
6896
6897 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
6898 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
6899 (futex_wake) [!__x86_64__]: Ditto.
6900
9fb5fd44
JB
69012015-05-28 Julian Brown <julian@codesourcery.com>
6902
6903 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
6904 function comment. Only call gomp_fatal if new argument is true.
6905 (acc_dev_num_out_of_range): New function.
6906 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
6907 acc_dev_num_out_of_range as appropriate.
6908 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
6909 (acc_get_device_num, acc_set_device_num): Update calls to
6910 resolve_device.
9fb5fd44
JB
6911 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
6912 output.
6913
32eaed93
JB
69142015-05-28 Julian Brown <julian@codesourcery.com>
6915
6916 PR libgomp/65742
32eaed93
JB
6917 * oacc-init.c (plugin/plugin-host.h): Include.
6918 (acc_on_device): Check whether we're in an offloaded region for
6919 host_nonshm
6920 plugin. Don't use __builtin_acc_on_device.
6921 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
6922 nonshm_exec flag in thread-local data.
6923 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
6924 data for host_nonshm plugin.
6925 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
6926 for host_nonshm plugin.
6927 * plugin/plugin-host.h: New.
6928
ea023bcf
UB
69292015-05-27 Uros Bizjak <ubizjak@gmail.com>
6930
8ed501f1
UB
6931 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
6932
69332015-05-27 Uros Bizjak <ubizjak@gmail.com>
6934
6935 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
6936 Declare as int.
6937 (FUTEX_PRIVATE_FLAG): Remove L suffix.
6938 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
6939 Declare as int.
6940
69412015-05-27 Uros Bizjak <ubizjak@gmail.com>
6942
bb3caa35 6943 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 6944
1716efeb
CLT
69452015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
6946
6947 * target.c (gomp_map_pointer): New function abstracting out
6948 GOMP_MAP_POINTER handling.
6949 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
6950 gomp_map_pointer().
6951
41b37d5e
JJ
69522015-05-19 Jakub Jelinek <jakub@redhat.com>
6953
6954 PR middle-end/66199
6955 * testsuite/libgomp.c/pr66199-1.c: New test.
6956 * testsuite/libgomp.c/pr66199-2.c: New test.
6957 * testsuite/libgomp.c++/pr66199-1.C: New test.
6958 * testsuite/libgomp.c++/pr66199-2.C: New test.
6959 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
6960 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
6961
c8319826
JB
69622015-05-19 Julian Brown <julian@codesourcery.com>
6963
6964 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
6965 on cuInit failure.
6966
b37dddbc
JJ
69672015-05-13 Jakub Jelinek <jakub@redhat.com>
6968
6969 PR middle-end/66133
6970 * testsuite/libgomp.c/pr66133.c: New test.
6971
55fba601
MH
69722015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
6973
6974 * Makefile.in: Regenerated with automake-1.11.6.
6975 * aclocal.m4: Likewise.
6976 * config.h.in: Likewise.
6977 * configure: Likewise.
6978 * testsuite/Makefile.in: Likewise.
6979
1be0899d
JM
69802015-05-08 Jason Merrill <jason@redhat.com>
6981
6982 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
6983 _Complex.
6984
6985 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
6986
d2463960
JB
69872015-05-06 Julian Brown <julian@codesourcery.com>
6988
6989 * oacc-init.c (acc_device_lock): Add explanatory comment.
6990 (resolve_device): Add comment about locking requirement.
6991 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
6992 gomp_init_device and gomp_fini_device calls.
6993 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
6994 (acc_get_device_num, acc_set_device_num): Add locking around
6995 resolve_device and gomp_init_device calls.
6996
e38fdba4
JB
69972015-05-06 Julian Brown <julian@codesourcery.com>
6998
6999 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
7000 goacc_thread_lock on error paths.
7001 * oacc-mem.c (lookup_host): Remove locking from function. Note
7002 locking requirement for caller in function comment.
7003 (lookup_dev): Likewise.
7004 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
7005 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
7006 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
7007 Add locking.
7008
ae8ffbbb
TS
70092015-05-05 Thomas Schwinge <thomas@codesourcery.com>
7010
7011 PR testsuite/65205
7012 PR libgomp/65993
7013 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
7014 don't expect "0x" prefix for "%p" format specifier, don't expect
7015 "(nil)" for NULL pointer.
7016 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7017 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7018 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7019 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7020 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7021 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7022 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7023 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7024 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7025 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7026 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7027 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7028 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7029 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7030 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7031 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7032 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7033 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7034 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7035 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7036 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7037 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7038 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7039 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7040 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7041 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7042 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7043 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7044 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
7045 accurately specify what we're looking for.
7046 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7047 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7048 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7049 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7050 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7051
1309f1d2
JN
70522015-04-30 James Norris <jnorris@codesourcery.com>
7053
7054 PR testsuite/65205
7055 * testsuite/lib/libgomp.exp
7056 (check_effective_target_openacc_host_selected)
7057 (check_effective_target_openacc_host_nonshm_selected): New
7058 procedures.
7059 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
7060 dg-shouldfail.
7061 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7062 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7063 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7064 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7065 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7066 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7067 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7068 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7069 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7070 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7071 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7072 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7073 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7074 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7075 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7076 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7077 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7078 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7079 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7080 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7081 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7082 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7083 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7084 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7085 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7086 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7087 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7088 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7089 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7090 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7091 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7092 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7093 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7094 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7095 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7096 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7097 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7098 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7099 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7100 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7101 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7102 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7103 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7104
d93bdab5
JB
71052015-04-08 Julian Brown <julian@codesourcery.com>
7106
7107 * libgomp.h (target_mem_desc: Remove mem_map field.
7108 (acc_dispatch_t): Remove open_device_func, close_device_func,
7109 get_device_num_func, set_device_num_func, target_data members.
7110 Change create_thread_data_func argument to device number instead of
7111 generic pointer.
7112 * oacc-async.c (assert.h): Include.
7113 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
7114 (acc_wait_all, acc_wait_all_async): Use current host thread's
7115 active device, not base_dev.
7116 * oacc-cuda.c (acc_get_current_cuda_device)
7117 (acc_get_current_cuda_context, acc_get_cuda_stream)
7118 (acc_set_cuda_stream): Likewise.
7119 * oacc-host.c (host_dispatch): Don't set open_device_func,
7120 close_device_func, get_device_num_func or set_device_num_func.
7121 * oacc-init.c (base_dev, init_key): Remove.
7122 (cached_base_dev): New.
7123 (name_of_acc_device_t): New.
7124 (acc_init_1): Initialise default-numbered device, not zeroth.
7125 (acc_shutdown_1): Close all devices of a given type.
7126 (goacc_destroy_thread): Don't use base_dev.
7127 (lazy_open, lazy_init, lazy_init_and_open): Remove.
7128 (goacc_attach_host_thread_to_device): New.
7129 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
7130 (acc_get_num_devices): Don't use base_dev.
7131 (acc_set_device_type): Reimplement.
7132 (acc_get_device_type): Don't use base_dev.
7133 (acc_get_device_num): Tweak logic.
7134 (acc_set_device_num): Likewise.
7135 (acc_on_device): Use acc_get_device_type.
7136 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
7137 (goacc_lazy_initialize): Reimplement with acc_init and
7138 goacc_attach_host_thread_to_device.
7139 * oacc-int.h (goacc_thread): Add base_dev field.
7140 (base_dev): Remove extern declaration.
7141 (goacc_attach_host_thread_to_device): Add prototype.
7142 * oacc-mem.c (acc_malloc): Use current thread's device instead of
7143 base_dev.
7144 (acc_free): Likewise.
7145 (acc_memcpy_to_device): Likewise.
7146 (acc_memcpy_from_device): Likewise.
7147 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
7148 goacc_lazy_initialize (throughout).
7149 (GOACC_parallel): Use tgt_offset to locate target functions.
7150 * target.c (gomp_map_vars): Don't set tgt->mem_map.
7151 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
7152 (gomp_load_plugin_for_device): Remove open_device, close_device,
7153 get_device_num, set_device_num openacc hook initialisation. Don't set
7154 openacc.target_data.
7155 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
7156 (GOMP_OFFLOAD_openacc_close_device)
7157 (GOMP_OFFLOAD_openacc_get_device_num)
7158 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
7159 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
7160 to int.
7161 * plugin/plugin-nvptx.c (ptx_inited): Remove.
7162 (instantiated_devices, ptx_dev_lock): New.
7163 (struct ptx_image_data): New.
7164 (ptx_devices, ptx_images, ptx_image_lock): New.
7165 (fini_streams_for_device): Reorder cuStreamDestroy call.
7166 (nvptx_get_num_devices): Remove forward declaration.
7167 (nvptx_init): Change return type to bool.
7168 (nvptx_fini): Remove.
7169 (nvptx_attach_host_thread_to_device): New.
7170 (nvptx_open_device): Return struct ptx_device* instead of void*.
7171 (nvptx_close_device): Change argument type to struct ptx_device*,
7172 return type to void.
7173 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
7174 (kernel_target_data, kernel_host_table): Remove static globals.
7175 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
7176 (GOMP_OFFLOAD_init_device): Reimplement.
7177 (GOMP_OFFLOAD_fini_device): Likewise.
7178 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
7179 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
7180 (GOMP_OFFLOAD_host2dev): Use ORD argument.
7181 (GOMP_OFFLOAD_openacc_open_device)
7182 (GOMP_OFFLOAD_openacc_close_device)
7183 (GOMP_OFFLOAD_openacc_set_device_num)
7184 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
7185 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
7186 (device number).
7187
7188 testsuite/
7189 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
7190
a51df54e
IV
71912015-04-06 Ilya Verbin <ilya.verbin@intel.com>
7192
7193 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
7194 * libgomp.h (struct gomp_memory_mapping): Remove.
7195 (struct target_mem_desc): Change type of mem_map from
7196 gomp_memory_mapping * to splay_tree_s *.
7197 (struct gomp_device_descr): Remove register_image_func, get_table_func.
7198 Add load_image_func, unload_image_func.
7199 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
7200 Remove offload_regions_registered.
7201 (gomp_init_tables): Remove.
7202 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7203 to splay_tree_s *.
7204 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
7205 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
7206 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
7207 offload_regions_registered.
7208 Initialize load_image_func, unload_image_func, mem_map.root.
7209 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
7210 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
7211 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
7212 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
7213 gomp_memory_mapping *. Use dev's lock and splay_tree.
7214 (lookup_dev): Use dev's lock.
7215 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
7216 (acc_is_present): Likewise.
7217 (acc_map_data): Likewise.
7218 (acc_unmap_data): Likewise. Use dev's lock.
7219 (present_create_copy): Likewise.
7220 (delete_copyout): Pass dev to lookup_host instead of mem_map.
7221 (update_dev_host): Likewise.
7222 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
7223 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
7224 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
7225 (GOMP_OFFLOAD_get_table): Remove
7226 (GOMP_OFFLOAD_load_image): New function.
7227 (GOMP_OFFLOAD_unload_image): New function.
7228 * target.c (register_lock): New mutex for offload image registration.
7229 (num_devices): Do not guard with PLUGIN_SUPPORT.
7230 (gomp_realloc_unlock): New static function.
7231 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
7232 before gomp_fatal.
7233 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
7234 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
7235 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
7236 mem_map's.
7237 (gomp_unmap_vars): Likewise.
7238 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
7239 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
7240 (gomp_offload_image_to_device): New static function.
7241 (GOMP_offload_register): Add mutex lock.
7242 Call gomp_offload_image_to_device for all initialized devices.
7243 Replace gomp_realloc with gomp_realloc_unlock.
7244 (GOMP_offload_unregister): New function.
7245 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
7246 get_table_func from the plugin with calls to init_device_func and
7247 gomp_offload_image_to_device.
7248 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7249 to splay_tree_s *.
7250 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
7251 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
7252 (GOMP_target_data): Do not call gomp_init_tables.
7253 (GOMP_target_update): Likewise. Remove argument from gomp_update.
7254 (gomp_load_plugin_for_device): Replace register_image and get_table
7255 with load_image and unload_image in DLSYM ().
7256 (gomp_register_images_for_device): Remove function.
7257 (gomp_target_init): Do not initialize current_device.mem_map.*,
7258 current_device.offload_regions_registered.
7259 Remove call to gomp_register_images_for_device.
7260 Do not free offload_images and num_offload_images.
7261
6c384511
JJ
72622015-03-30 Jakub Jelinek <jakub@redhat.com>
7263
7264 PR fortran/65597
7265 * testsuite/libgomp.fortran/pr65597.f90: New test.
7266
3e8165a5
TV
72672015-03-27 Tom de Vries <tom@codesourcery.com>
7268
7269 PR testsuite/65594
7270 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
7271 (init, check): New function.
7272 (foo): Change return type to void.
7273 (main): Call init and check.
7274
4d688c9a
TV
72752015-03-27 Tom de Vries <tom@codesourcery.com>
7276
7277 PR testsuite/65594
7278 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
7279 (foo): Use M for non-inner loops to scale down test-case.
7280
01c0b3b0
KT
72812015-03-25 Kai Tietz <ktietz@redhat.com>
7282
7283 PR libgomp/64972
7284 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
7285 (GOACC_data_start): Likewise.
7286 * target.c (gomp_map_vars): Likewise.
7287
844d9a76
JDA
72882015-03-21 John David Anglin <danglin@gcc.gnu.org>
7289
7290 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
7291 hppa*-*-hpux*.
7292
9b65e171
JJ
72932015-03-19 Jakub Jelinek <jakub@redhat.com>
7294
7295 * testsuite/libgomp.c/target-10.c: New test.
7296 * testsuite/libgomp.c++/target-4.C: New test.
7297
db397e2e
IV
72982015-03-13 Ilya Verbin <ilya.verbin@intel.com>
7299
7300 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
7301 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
7302
cd93945d
SH
73032015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
7304
7305 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
7306 * configure.ac (*-*-rtems*): Assume Pthread is supported.
7307 (pthread.h): Check for this header file.
7308 * configure: Regenerate.
7309
05deba9f
TV
73102015-02-25 Tom de Vries <tom@codesourcery.com>
7311
7312 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
7313 (check_reduction_op, check_reduction_macro, max, min):
7314 Declare.
7315 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
7316 function.
7317 (main): Use new functions.
7318
196904d8
IT
73192015-02-18 Ilya Tocar <ilya.tocar@intel.com>
7320
7321 * target.c (gomp_load_plugin_for_device): Use const char * instead of
7322 char * for variables holding dlerror return values.
7323 (DLSYM_OPT): Ditto.
7324
a2818955
TS
73252015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7326
7327 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
7328
26f93312
TS
73292015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7330 Cesar Philippidis <cesar@codesourcery.com>
7331
7332 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
7333 GOACC_ctaid, and GOACC_nctaid routines.
7334
fa01ffcc
JJ
73352015-02-11 Jakub Jelinek <jakub@redhat.com>
7336
7337 PR c/64824
7338 * testsuite/libgomp.c/atomic-18.c: New test.
7339 * testsuite/libgomp.c++/atomic-16.C: New test.
7340
4886ec8e
JJ
73412015-02-04 Jakub Jelinek <jakub@redhat.com>
7342
7343 PR c/64824
7344 PR c/64868
7345 * testsuite/libgomp.c/pr64824.c: New test.
7346 * testsuite/libgomp.c/pr64868.c: New test.
7347 * testsuite/libgomp.c++/pr64824.C: New test.
7348 * testsuite/libgomp.c++/pr64868.C: New test.
7349
02d3e45e
DE
73502015-02-01 David Edelsohn <dje.gcc@gmail.com>
7351
7352 PR libgomp/64635
7353 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
7354 Link with -lpthread.
7355 * config/aix/plugin-suffix.h: Delete.
7356
b5f7a6ca
JH
73572015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
7358
7359 PR libgomp/64635
7360 * configure.tgt (*-*-aix*): Use config_path "aix posix".
7361 (*-*-darwin*): Use config_path "bsd darwin posix".
7362 (*-*-hpux*): Use config_path "hpux posix".
7363 * target.c: Add include of plugin-suffix.h and use
7364 SONAME_SUFFIX macro.
7365 * config/aix/plugin-suffix.h: New file.
7366 * config/darwin/plugin-suffix.h: New file.
7367 * config/hpux/plugin-suffix.h: New file.
7368 * config/posix/plugin-suffix.h: New file.
7369
b8910447
JJ
73702015-01-23 Jakub Jelinek <jakub@redhat.com>
7371
7372 PR middle-end/64734
7373 * libgomp.c/pr64734.c: New test.
7374
a0c88d06
TV
73752015-01-23 Tom de Vries <tom@codesourcery.com>
7376
7377 PR libgomp/64672
7378 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
7379
1506ae0e
TV
73802015-01-23 Tom de Vries <tom@codesourcery.com>
7381
7382 PR libgomp/64707
7383 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
7384 dg-options.
7385
128b26dc
TS
73862015-01-19 Thomas Schwinge <thomas@codesourcery.com>
7387
bed62c21 7388 PR libgomp/64625
128b26dc
TS
7389 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
7390 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
7391 formal parameter. Update all users.
7392 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
7393 Document unused formal parameter.
7394
6e36114c
TS
73952015-01-16 Thomas Schwinge <thomas@codesourcery.com>
7396
7397 * oacc-parallel.c: Don't include <alloca.h>.
7398 (GOACC_parallel): Use gomp_alloca instead of alloca.
7399
973e9808
GP
74002015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
7401
7402 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
7403
41dbbb37
TS
74042015-01-15 Thomas Schwinge <thomas@codesourcery.com>
7405 James Norris <jnorris@codesourcery.com>
7406 Tom de Vries <tom@codesourcery.com>
7407 Julian Brown <julian@codesourcery.com>
7408 Cesar Philippidis <cesar@codesourcery.com>
7409 Nathan Sidwell <nathan@codesourcery.com>
7410 Tobias Burnus <burnus@net-b.de>
7411
7412 * Makefile.am (search_path): Add $(top_srcdir)/../include.
7413 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
7414 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
7415 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
7416 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
7417 Include $(top_srcdir)/plugin/Makefrag.am.
7418 (nodist_libsubinclude_HEADERS): Add openacc.h.
7419 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
7420 openacc.f90, openacc.mod, openacc_kinds.mod.
7421 (omp_lib.mod): Generalize into...
7422 (%.mod): ... this new rule.
7423 (openacc_kinds.mod, openacc.mod): New rules.
7424 * plugin/configfrag.ac: New file.
7425 * configure.ac: Move plugin/offloading support into it. Include
7426 it. Instantiate testsuite/libgomp-test-support.pt.exp.
7427 * plugin/Makefrag.am: New file.
7428 * testsuite/Makefile.am (OFFLOAD_TARGETS)
7429 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
7430 export.
7431 (libgomp-test-support.exp): New rule.
7432 (all-local): Depend on it.
7433 * Makefile.in: Regenerate.
7434 * testsuite/Makefile.in: Regenerate.
7435 * config.h.in: Likewise.
7436 * configure: Likewise.
7437 * configure.tgt: Harden shell syntax.
7438 * env.c: Include "oacc-int.h".
7439 (parse_acc_device_type): New function.
7440 (gomp_debug_var, goacc_device_type, goacc_device_num): New
7441 variables.
7442 (initialize_env): Initialize those. Call
7443 goacc_runtime_initialize.
7444 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
7445 (gomp_fatal): Call gomp_vfatal.
7446 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
7447 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
7448 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
7449 (splay_tree_node, splay_tree, splay_tree_key)
7450 (struct target_mem_desc, struct splay_tree_key_s)
7451 (struct gomp_memory_mapping, struct acc_dispatch_t)
7452 (struct gomp_device_descr, gomp_acc_insert_pointer)
7453 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
7454 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
7455 (gomp_free_memmap, gomp_fini_device): New declarations.
7456 (gomp_vdebug, gomp_debug): New macros.
7457 Include "splay-tree.h".
7458 * libgomp.map (OACC_2.0): New symbol version. Use for
7459 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
7460 acc_set_device_type_h_, acc_get_device_type,
7461 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
7462 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
7463 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
7464 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
7465 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
7466 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
7467 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
7468 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
7469 acc_copyin_array_h_, acc_present_or_copyin,
7470 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
7471 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
7472 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
7473 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
7474 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
7475 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
7476 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
7477 acc_update_device, acc_update_device_32_h_,
7478 acc_update_device_64_h_, acc_update_device_array_h_,
7479 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
7480 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
7481 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
7482 acc_is_present_64_h_, acc_is_present_array_h_,
7483 acc_memcpy_to_device, acc_memcpy_from_device,
7484 acc_get_current_cuda_device, acc_get_current_cuda_context,
7485 acc_get_cuda_stream, acc_set_cuda_stream.
7486 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
7487 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
7488 GOACC_update, GOACC_wait, GOACC_get_thread_num,
7489 GOACC_get_num_threads.
7490 (GOMP_PLUGIN_1.0): New symbol version. Use for
7491 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
7492 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
7493 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
7494 GOMP_PLUGIN_acc_thread.
7495 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
7496 environment variable.
7497 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
7498 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
7499 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
7500 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
7501 (splay_tree_remove): New declarations.
7502 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
7503 (splay_tree_remove, splay_tree_lookup): Move into...
7504 * splay-tree.c: ... this new file.
7505 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
7506 (splay_tree_node, splay_tree, splay_tree_key)
7507 (struct target_mem_desc, struct splay_tree_key_s)
7508 (struct gomp_device_descr): Don't declare.
7509 (num_devices_openmp): New variable.
7510 (gomp_get_num_devices ): Use it.
7511 (gomp_init_targets_once): New function.
7512 (gomp_get_num_devices ): Use it.
7513 (get_kind, gomp_copy_from_async, gomp_free_memmap)
7514 (gomp_fini_device, gomp_register_image_for_device): New functions.
7515 (gomp_map_vars): Add devaddrs parameter.
7516 (gomp_update): Add mm parameter.
7517 (gomp_init_device): Move most of it into...
7518 (gomp_init_tables): ... this new function.
7519 (gomp_register_images_for_device): Remove function.
7520 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
7521 Make them hidden instead of static.
7522 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
7523 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
7524 (GOMP_target_end_data, GOMP_target_update)
7525 (gomp_load_plugin_for_device, gomp_target_init): Update for
7526 OpenACC changes.
7527 * oacc-async.c: New file.
7528 * oacc-cuda.c: Likewise.
7529 * oacc-host.c: Likewise.
7530 * oacc-init.c: Likewise.
7531 * oacc-int.h: Likewise.
7532 * oacc-mem.c: Likewise.
7533 * oacc-parallel.c: Likewise.
7534 * oacc-plugin.c: Likewise.
7535 * oacc-plugin.h: Likewise.
7536 * oacc-ptx.h: Likewise.
7537 * openacc.f90: Likewise.
7538 * openacc.h: Likewise.
7539 * openacc_lib.h: Likewise.
7540 * plugin/plugin-host.c: Likewise.
7541 * plugin/plugin-nvptx.c: Likewise.
7542 * libgomp-plugin.c: Likewise.
7543 * libgomp-plugin.h: Likewise.
7544 * libgomp_target.h: Remove file after merging content into the
7545 former file. Update all users.
7546 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
7547 (offload_targets_s, offload_targets_s_openacc): New variables.
7548 (check_effective_target_openacc_nvidia_accel_present)
7549 (check_effective_target_openacc_nvidia_accel_selected): New
7550 procedures.
7551 (libgomp_init): Update for OpenACC changes.
7552 * testsuite/libgomp-test-support.exp.in: New file.
7553 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
7554 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7555 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7556 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
7557 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
7558 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7559 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
7560 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7561 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
7562 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
7563 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
7564 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7565 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
7566 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7567 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
7568 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
7569 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
7570 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
7571 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
7572 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
7573 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
7574 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7575 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
7576 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
7577 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7578 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
7579 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
7580 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
7581 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
7582 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
7583 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7584 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
7585 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
7586 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
7587 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
7588 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7589 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
7590 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7591 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
7592 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
7593 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
7594 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
7595 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7596 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7597 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7598 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
7599 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7600 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7601 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7602 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7603 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7604 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
7605 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7606 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7607 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7608 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7609 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7610 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7611 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7612 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
7613 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
7614 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
7615 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7616 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7617 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7618 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
7619 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
7620 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7621 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7622 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7623 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
7624 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7625 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7626 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7627 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
7628 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
7629 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7630 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7631 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
7632 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
7633 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
7634 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
7635 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7636 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7637 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7638 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
7639 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
7640 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7641 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7642 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
7643 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
7644 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
7645 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
7646 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7647 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7648 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7649 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7650 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
7651 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7652 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7653 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
7654 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
7655 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
7656 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7657 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
7658 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
7659 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
7660 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
7661 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
7662 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7663 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
7664 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
7665 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7666 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
7667 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
7668 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
7669 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
7670 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
7671 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
7672 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
7673 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
7674 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
7675 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
7676 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
7677 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
7678 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
7679 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
7680 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
7681 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
7682 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
7683 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
7684 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
7685 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7686 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
7687 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
7688 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
7689 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
7690 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
7691 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
7692 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
7693 Likewise.
7694 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
7695 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
7696 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
7697 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
7698 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
7699 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
7700 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
7701 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
7702 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
7703 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
7704 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
7705 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
7706 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
7707 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
7708 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
7709 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
7710 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
7711 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
7712 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
7713 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
7714 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
7715 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
7716 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
7717 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
7718 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
7719 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
7720 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7721 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7722 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
7723 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
7724 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
7725 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
7726 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
7727 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7728 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
7729 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
7730 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
7731 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
7732 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
7733 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
7734 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
7735 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
7736 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
7737 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
7738 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
7739 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
7740 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
7741 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
7742 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
7743 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
7744 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
7745 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
7746 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
7747 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
7748 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
7749 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
7750 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
7751 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
7752 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
7753 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
7754
f1f3453e
TS
77552015-01-10 Thomas Schwinge <thomas@codesourcery.com>
7756 Julian Brown <julian@codesourcery.com>
7757 David Malcolm <dmalcolm@redhat.com>
7758
7759 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
7760 to "GNU Offloading and Multi Processing Runtime Library". Change
7761 all users.
7762 * configure: Regenerate.
7763 * libgomp.texi: Update.
7764
f9a0eca4
TS
77652015-01-08 Thomas Schwinge <thomas@codesourcery.com>
7766
b335ef4e
TS
7767 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
7768 "$tgt_dir/lib32".
7769 * configure: Regenerate.
7770
f9a0eca4
TS
7771 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
7772 "intelmic" in $offload_targets.
7773
b67cd4e3
JJ
77742015-01-05 Jakub Jelinek <jakub@redhat.com>
7775
5624e564
JJ
7776 Update copyright years.
7777
b67cd4e3
JJ
7778 * libgomp.texi: Bump @copying's copyright year.
7779
3b41b583
KT
77802014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7781
7782 * testsuite/lib/libgomp.exp: Load target-utils.exp.
7783 Move load of target-supportes.exp earlier.
7784
2354caec
IV
77852014-12-10 Ilya Verbin <ilya.verbin@intel.com>
7786
7787 * testsuite/libgomp.c/target-9.c: New test.
7788
f50eecba
VR
77892014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
7790
7791 * config.h.in: Regenerate.
7792 * configure: Regenerate.
7793 * configure.ac: Add GCC_CHECK_EMUTLS.
7794 * libgomp.h: Add check for USE_EMUTLS: this case
7795 is equal to HAVE_TLS.
7796 * team.c: Likewise.
7797
68bc9270
UB
77982014-12-03 Uros Bizjak <ubizjak@gmail.com>
7799
7800 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
7801
476ff787
AT
78022014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
7803 Ilya Verbin <ilya.verbin@intel.com>
7804
7805 * testsuite/libgomp.c/target-critical-1.c: New test.
7806
31a30e62
JJ
78072014-11-26 Jakub Jelinek <jakub@redhat.com>
7808
7809 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 7810 to dg-options unless expensive testing is on.
31a30e62
JJ
7811 (TESTITERS): Define to N if not defined.
7812 (main): Use TESTITERS instead of N.
7813 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
7814 dg-additional-options depending on whether expensive testing is on.
7815 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
7816 Decrease N to 100000 and CHUNKSZ to 10000.
7817
3f9e8f13
JJ
78182014-11-24 Jakub Jelinek <jakub@redhat.com>
7819
7820 PR fortran/63938
31a30e62
JJ
7821 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
7822 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 7823
c8451a46
SE
78242014-11-21 Steve Ellcey <sellcey@imgtec.com>
7825
7826 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
7827
a699d672
L
78282014-11-21 H.J. Lu <hongjiu.lu@intel.com>
7829
7830 PR bootstrap/63784
7831 * configure: Regenerated.
7832
4a19f719
UB
78332014-11-19 Uros Bizjak <ubizjak@gmail.com>
7834
7835 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
7836 vect_simd_clones effective target.
7837 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7838
b1bf6c52
JJ
78392014-11-14 Jakub Jelinek <jakub@redhat.com>
7840
7841 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
7842 of 32 as block_size.
7843 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
7844 instead of 32 as block_size.
7845
d64ae614
AT
78462014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7847 Ilya Verbin <ilya.verbin@intel.com>
7848
7849 * Makefile.in: Regenerate.
7850 * configure: Regenerate.
7851 * configure.ac: Set up offload_additional_options,
7852 offload_additional_lib_paths and offload_targets.
7853 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
7854 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
7855 * testsuite/Makefile.in: Regenerate.
7856 * testsuite/lib/libgomp.exp (libgomp_init): Append
7857 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
7858 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
7859 build directory to LD_LIBRARY_PATH for intelmic offload targets.
7860
122d7303
AT
78612014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
7862 Ilya Verbin <ilya.verbin@intel.com>
7863 Kirill Yukhin <kirill.yukhin@intel.com>
7864 Ilya Tocar <ilya.tocar@intel.com>
7865
7866 * testsuite/lib/libgomp.exp
7867 (check_effective_target_offload_device): New.
7868 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
7869 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
7870 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
7871 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
7872 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
7873 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
7874 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
7875 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
7876 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
7877 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
7878 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
7879 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
7880 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
7881 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
7882 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
7883 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
7884 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
7885 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
7886 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
7887 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
7888 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
7889 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
7890 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
7891 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
7892 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
7893 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
7894 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
7895 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
7896 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
7897 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
7898 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
7899 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
7900 * testsuite/libgomp.c/target-7.c: Fix test.
7901 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
7902 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
7903 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
7904 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
7905 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
7906 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
7907 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
7908 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
7909 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
7910 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
7911 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
7912 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
7913 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
7914 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
7915 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
7916 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
7917 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
7918 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
7919 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
7920 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
7921 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
7922 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
7923 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
7924 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
7925 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
7926 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
7927 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
7928 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
7929 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
7930 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
7931 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
7932
1df3f842
JJ
79332014-11-13 Jakub Jelinek <jakub@redhat.com>
7934 Ilya Verbin <ilya.verbin@intel.com>
7935 Thomas Schwinge <thomas@codesourcery.com>
7936 Andrey Turetskiy <andrey.turetskiy@intel.com>
7937
7938 * libgomp.map (GOMP_4.0.1): New symbol version.
7939 Add GOMP_offload_register.
7940 * libgomp_target.h: New file.
7941 * splay-tree.h: New file.
7942 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
7943 (gomp_target_init): New forward declaration.
7944 (gomp_is_initialized): New static variable.
7945 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
7946 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
7947 New structures.
7948 (offload_images, num_offload_images, devices, num_devices): New static
7949 variables.
7950 (splay_compare): New static function.
7951 (struct gomp_device_descr): New structure.
7952 (gomp_get_num_devices): Call gomp_target_init.
7953 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
7954 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
7955 (GOMP_offload_register): New function.
7956 (GOMP_target): Arrange for host callback to be performed in a separate
7957 initial thread and contention group, inheriting ICVs from
7958 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
7959 Add device initialization and lookup for target function in splay tree.
7960 (GOMP_target_data): Add device initialization and call gomp_map_vars.
7961 (GOMP_target_end_data): Call gomp_unmap_vars.
7962 (GOMP_target_update): Add device initialization and call gomp_update.
7963 (gomp_load_plugin_for_device, gomp_register_images_for_device)
7964 (gomp_target_init): New static functions.
7965
85c64bbe
BS
79662014-11-13 Bernd Schmidt <bernds@codesourcery.com>
7967 Thomas Schwinge <thomas@codesourcery.com>
7968 Ilya Verbin <ilya.verbin@intel.com>
7969 Andrey Turetskiy <andrey.turetskiy@intel.com>
7970
7971 * config.h.in: Regenerate.
7972 * configure: Regenerate.
7973 * configure.ac: Check for libdl, required for plugin support.
7974 (PLUGIN_SUPPORT): Define if plugins are supported.
7975 (enable_offload_targets): Support Intel MIC targets.
7976 (OFFLOAD_TARGETS): List of target names suitable for offloading.
7977
ebf6d33b
FXC
79782014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
7979
7980 PR target/63610
7981 * configure: Regenerate.
7982
8c768629
RO
79832014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
7984
7985 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
7986
c1d62412
MP
79872014-10-06 Marek Polacek <polacek@redhat.com>
7988
7989 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
7990 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
7991 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
7992 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
7993
44a0c6cb
MP
79942014-10-06 Marek Polacek <polacek@redhat.com>
7995
7996 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
7997 * testsuite/libgomp.c/nqueens-1.c: Likewise.
7998 * testsuite/libgomp.c/pr26943-3.c: Likewise.
7999 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8000 * testsuite/libgomp.c/pr36802-2.c: Likewise.
8001 * testsuite/libgomp.c/pr36802-3.c: Likewise.
8002 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
8003 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8004 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
8005 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
8006 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
8007 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
8008 * testsuite/libgomp.c/omp-single-1.c: Likewise.
8009 * testsuite/libgomp.c/omp-single-2.c: Likewise.
8010 * testsuite/libgomp.c/omp_matvec.c: Likewise.
8011 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
8012 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
8013 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
8014 declarations.
8015
5771c391
JJ
80162014-10-03 Jakub Jelinek <jakub@redhat.com>
8017
8018 PR libgomp/61200
8019 * testsuite/libgomp.c/pr61200.c: New test.
8020
bce16b88
JJ
80212014-09-18 Jakub Jelinek <jakub@redhat.com>
8022
8023 PR c++/63248
8024 * testsuite/libgomp.c++/pr63248.C: New test.
8025
3696163c
JJ
80262014-08-04 Jakub Jelinek <jakub@redhat.com>
8027
8028 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
8029 is not zero, but taskgroup->children is NULL and there are
8030 any task->children, schedule those instead of waiting.
8031 * testsuite/libgomp.c/depend-6.c: New test.
8032 * testsuite/libgomp.c/depend-7.c: New test.
8033 * testsuite/libgomp.c/depend-8.c: New test.
8034 * testsuite/libgomp.c/depend-9.c: New test.
8035 * testsuite/libgomp.c/depend-10.c: New test.
8036
0494285a
JJ
80372014-08-01 Jakub Jelinek <jakub@redhat.com>
8038
8039 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
8040 (struct gomp_taskwait): New type.
8041 (struct gomp_task): Add taskwait and parent_depends_on, remove
8042 in_taskwait and taskwait_sem fields.
8043 (gomp_finish_task): Don't destroy taskwait_sem.
8044 * task.c (gomp_init_task): Don't init in_taskwait, instead init
8045 taskwait and parent_depends_on.
8046 (GOMP_task): For if (0) tasks with depend clause that depend on
8047 earlier tasks don't defer them, instead call
8048 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
8049 Initialize redundant_out field, for redundant out entries just
8050 move them at the end of linked list instead of removing them
8051 completely, and set redundant_out flag instead of redundant.
8052 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
8053 that task.
8054 (gomp_task_run_post_handle_dependers): If parent is in
8055 gomp_task_maybe_wait_for_dependencies and newly runnable task
8056 is not parent_depends_on, queue it in parent->children linked
8057 list after all runnable tasks with parent_depends_on set.
8058 Adjust for addition of taskwait indirection.
8059 (gomp_task_run_post_remove_parent): If parent is in
8060 gomp_task_maybe_wait_for_dependencies and task to be removed
8061 is parent_depends_on, decrement n_depend and if needed awake
8062 parent. Adjust for addition of taskwait indirection.
8063 (GOMP_taskwait): Adjust for addition of taskwait indirection.
8064 (gomp_task_maybe_wait_for_dependencies): New function.
8065 * testsuite/libgomp.c/depend-5.c: New test.
8066
60ab4b44
TB
80672014-07-13 Tobias Burnus <burnus@net-b.de>
8068
8069 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 8070 with TS 18508/Fortran 2015.
60ab4b44 8071
773ec47f
MP
80722014-07-06 Marek Polacek <polacek@redhat.com>
8073
8074 PR c/6940
8075 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
8076
f707da16
JJ
80772014-07-03 Jakub Jelinek <jakub@redhat.com>
8078
8079 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
8080 matches regex $lang_source_re, add $lang_include_flags to options.
8081 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
8082 * testsuite/libgomp.c++/c++.exp: Likewise.
8083 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
8084 and lang_include_flags instead of adding -fintrinsic-modules-path= to
8085 ALWAYS_CFLAGS.
8086 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
8087
07b6c044
TS
80882014-07-03 Thomas Schwinge <thomas@codesourcery.com>
8089
8090 * testsuite/libgomp.fortran/fortran.exp: Explain
8091 gfortran-dg-runtest usage.
8092
da6f124d
JJ
80932014-06-25 Jakub Jelinek <jakub@redhat.com>
8094
8095 * testsuite/libgomp.fortran/simd5.f90: New test.
8096 * testsuite/libgomp.fortran/simd6.f90: New test.
8097 * testsuite/libgomp.fortran/simd7.f90: New test.
8098
b46ebd6c
JJ
80992014-06-24 Jakub Jelinek <jakub@redhat.com>
8100
56ad0e38
JJ
8101 * testsuite/libgomp.c/for-2.c: Define SC to static for
8102 #pragma omp for simd testing.
8103 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
8104 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
8105 SC macro.
8106 * testsuite/libgomp.c/simd-14.c: New test.
8107 * testsuite/libgomp.c/simd-15.c: New test.
8108 * testsuite/libgomp.c/simd-16.c: New test.
8109 * testsuite/libgomp.c/simd-17.c: New test.
8110 * testsuite/libgomp.c++/for-10.C: Define SC to static for
8111 #pragma omp for simd testing.
8112 * testsuite/libgomp.c++/simd10.C: New test.
8113 * testsuite/libgomp.c++/simd11.C: New test.
8114 * testsuite/libgomp.c++/simd12.C: New test.
8115 * testsuite/libgomp.c++/simd13.C: New test.
8116
b46ebd6c
JJ
8117 * testsuite/libgomp.fortran/aligned1.f03: New test.
8118 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
8119 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
8120 tasks with !$omp parallel !$omp single.
8121 * testsuite/libgomp.fortran/target8.f90: New test.
8122 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
8123 not to use trim in the combiner, instead call elemental function.
8124 (fn): New elemental function.
8125 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
8126 Make elemental.
8127 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
8128 omp_in): Likewise.
8129 * testsuite/libgomp.fortran/udr12.f90: New test.
8130 * testsuite/libgomp.fortran/udr13.f90: New test.
8131 * testsuite/libgomp.fortran/udr14.f90: New test.
8132 * testsuite/libgomp.fortran/udr15.f90: New test.
8133
f014c653
JJ
81342014-06-18 Jakub Jelinek <jakub@redhat.com>
8135
8136 * omp_lib.f90.in (openmp_version): Set to 201307.
8137 * omp_lib.h.in (openmp_version): Likewise.
8138 * testsuite/libgomp.c/target-8.c: New test.
8139 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
8140 and inbranch clauses.
8141 * testsuite/libgomp.fortran/depend-3.f90: New test.
8142 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
8143 openmp_version.
8144 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8145 * testsuite/libgomp.fortran/target1.f90: New test.
8146 * testsuite/libgomp.fortran/target2.f90: New test.
8147 * testsuite/libgomp.fortran/target3.f90: New test.
8148 * testsuite/libgomp.fortran/target4.f90: New test.
8149 * testsuite/libgomp.fortran/target5.f90: New test.
8150 * testsuite/libgomp.fortran/target6.f90: New test.
8151 * testsuite/libgomp.fortran/target7.f90: New test.
8152
92d28cbb
JJ
81532014-06-10 Jakub Jelinek <jakub@redhat.com>
8154
8155 PR fortran/60928
8156 * testsuite/libgomp.fortran/allocatable9.f90: New test.
8157 * testsuite/libgomp.fortran/allocatable10.f90: New test.
8158 * testsuite/libgomp.fortran/allocatable11.f90: New test.
8159 * testsuite/libgomp.fortran/allocatable12.f90: New test.
8160 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
8161 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
8162 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
8163 * testsuite/libgomp.fortran/associate1.f90: New test.
8164 * testsuite/libgomp.fortran/associate2.f90: New test.
8165 * testsuite/libgomp.fortran/procptr1.f90: New test.
8166
5f23671d
JJ
81672014-06-06 Jakub Jelinek <jakub@redhat.com>
8168
8169 * testsuite/libgomp.fortran/simd1.f90: New test.
8170 * testsuite/libgomp.fortran/udr1.f90: New test.
8171 * testsuite/libgomp.fortran/udr2.f90: New test.
8172 * testsuite/libgomp.fortran/udr3.f90: New test.
8173 * testsuite/libgomp.fortran/udr4.f90: New test.
8174 * testsuite/libgomp.fortran/udr5.f90: New test.
8175 * testsuite/libgomp.fortran/udr6.f90: New test.
8176 * testsuite/libgomp.fortran/udr7.f90: New test.
8177 * testsuite/libgomp.fortran/udr8.f90: New test.
8178 * testsuite/libgomp.fortran/udr9.f90: New test.
8179 * testsuite/libgomp.fortran/udr10.f90: New test.
8180 * testsuite/libgomp.fortran/udr11.f90: New test.
8181
0389fbb5
UB
81822014-05-27 Uros Bizjak <ubizjak@gmail.com>
8183
8184 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
8185 vect_simd_clones effective target.
8186 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
8187
decaaec8
JJ
81882014-05-21 Jakub Jelinek <jakub@redhat.com>
8189
8190 PR middle-end/61252
8191 * testsuite/libgomp.c++/simd-9.C: New test.
8192
72832460
UB
81932014-05-18 Uros Bizjak <ubizjak@gmail.com>
8194
8195 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
8196 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
8197 texts according to their @menu entry positions.
8198
dd2fc525
JJ
81992014-05-11 Jakub Jelinek <jakub@redhat.com>
8200
8201 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
8202 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
8203 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
8204 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
8205 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
8206 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
8207 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
8208 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
8209 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
8210 * testsuite/libgomp.fortran/depend-1.f90: New test.
8211 * testsuite/libgomp.fortran/depend-2.f90: New test.
8212 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
8213 * testsuite/libgomp.fortran/simd1.f90: New test.
8214 * testsuite/libgomp.fortran/simd2.f90: New test.
8215 * testsuite/libgomp.fortran/simd3.f90: New test.
8216 * testsuite/libgomp.fortran/simd4.f90: New test.
8217 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
8218
95782571
JJ
82192014-05-02 Jakub Jelinek <jakub@redhat.com>
8220
8221 * testsuite/libgomp.c/simd-10.c: New test.
8222 * testsuite/libgomp.c/simd-11.c: New test.
8223 * testsuite/libgomp.c/simd-12.c: New test.
8224 * testsuite/libgomp.c/simd-13.c: New test.
8225
f7468577
JJ
82262014-04-24 Jakub Jelinek <jakub@redhat.com>
8227
42056eac
JJ
8228 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
8229 atomic type clauses in any order and optional comma in between.
8230 * testsuite/libgomp.c++/atomic-15.C: Likewise.
8231 * testsuite/libgomp.c/atomic-17.c: Likewise.
8232
f7468577
JJ
8233 * testsuite/libgomp.c/simd-7.c: New test.
8234 * testsuite/libgomp.c/simd-8.c: New test.
8235 * testsuite/libgomp.c/simd-9.c: New test.
8236 * testsuite/libgomp.c/loop-16.c: New test.
8237
ab18f2f5
RH
82382014-04-02 Richard Henderson <rth@redhat.com>
8239
8240 * config/linux/futex.h (futex_wait): Get error value from errno.
8241 (futex_wake): Likewise.
8242
8bcc90b0
JJ
82432014-03-25 Jakub Jelinek <jakub@redhat.com>
8244
8245 PR c++/60331
8246 * testsuite/libgomp.c++/udr-11.C: New test.
8247 * testsuite/libgomp.c++/udr-12.C: New test.
8248 * testsuite/libgomp.c++/udr-13.C: New test.
8249 * testsuite/libgomp.c++/udr-14.C: New test.
8250 * testsuite/libgomp.c++/udr-15.C: New test.
8251 * testsuite/libgomp.c++/udr-16.C: New test.
8252 * testsuite/libgomp.c++/udr-17.C: New test.
8253 * testsuite/libgomp.c++/udr-18.C: New test.
8254 * testsuite/libgomp.c++/udr-19.C: New test.
8255
18d73c7f
RS
82562014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8257
8258 Update copyright years
8259
f9030485
RS
82602014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8261
8262 * hashtab.h: Use the standard form for the copyright notice.
8263
98db73df
TB
82642014-01-02 Tobias Burnus <burnus@net-b.de>
8265
8266 * libgomp.texi: Bump @copying's copyright year.
8267
ae246f7f
AT
82682013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
8269
8270 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h inlcude. Replace
8271 alloca () with __builtin_alloca ().
8272 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
8273 * testsuite/libgomp.c/lock-3.c: Likewise.
8274 * testsuite/libgomp.c/pr48591.c: Likewise.
8275
fa00a5fe
JJ
82762013-12-17 Jakub Jelinek <jakub@redhat.com>
8277
8278 PR testsuite/59534
8279 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
8280 comparisons.
8281
e9792e1d
JJ
82822013-12-16 Jakub Jelinek <jakub@redhat.com>
8283
8284 PR libgomp/58756
8285 * testsuite/libgomp.c/pr58756.c: New test.
8286
cab37c89
JJ
82872013-12-12 Jakub Jelinek <jakub@redhat.com>
8288
8289 PR libgomp/59467
8290 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
8291 !$omp parallel.
8292
de14871c
TS
82932013-11-07 Thomas Schwinge <thomas@codesourcery.com>
8294
1707a5de
TS
8295 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
8296 ALWAYS_CFLAGS.
8297 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
8298 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
8299 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
8300 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
8301 Likewise.
8302
70f05c43
TS
8303 * libgomp_g.h: Include <stddef.h> for size_t.
8304
de14871c
TS
8305 * libgomp.spec.in: Update comment about libgomp's dependencies.
8306 * configure.ac: Likewise.
8307 * configure: Regenerate.
8308
83fd6c5b
TB
83092013-10-16 Tobias Burnus <burnus@net-b.de>
8310
8311 * libgomp.texi: (Runtime Library Routines): Update references for
8312 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
8313 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
8314 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
8315 (Environment Variables): Update references for OpenMP 4.0. Add
8316 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
8317 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
8318 order.
8319
c8673881
JJ
83202013-10-14 Jakub Jelinek <jakub@redhat.com>
8321
8322 * env.c (parse_bind_var): Initialize value to avoid
8323 (false positive) warning.
8324
f89163fd
JJ
83252013-10-12 Jakub Jelinek <jakub@redhat.com>
8326
8327 PR libgomp/58691
8328 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
8329 to check variable.
8330 (gomp_init_num_threads): Move i variable declaration into
8331 #ifdef CPU_ALLOC_SIZE block.
8332 * config/linux/affinity.c (gomp_affinity_init_level): Test
8333 gomp_places_list_len == 0 rather than gomp_places_list == 0
8334 when checking for topology reading error.
8335 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
8336 * env.c (parse_affinity): Add ignore argument, if true, don't populate
8337 gomp_places_list, only parse env var and always return false.
8338 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
8339 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
8340 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
8341 and either of these variables were parsed correctly into a places
8342 list.
8343
1d340638
TS
83442013-10-11 Thomas Schwinge <thomas@codesourcery.com>
8345 Jakub Jelinek <jakub@redhat.com>
8346
8347 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
8348 of 5 loopfn matches.
8349 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8350 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8351 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8352 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8353 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8354 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8355 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8356 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8357
71a81c21
TS
83582013-10-11 Thomas Schwinge <thomas@codesourcery.com>
8359
bd87f731
TS
8360 * Makefile.am (omp_lib.mod): Streamline rule.
8361 * Makefile.in: Regenerate.
8362
f5745bed
TS
8363 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
8364 exceptions.
8365
b5512c66
TS
8366 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
8367 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8368 * testsuite/libgomp.fortran/lib2.f: Likewise.
8369 * testsuite/libgomp.fortran/lib3.f: Likewise.
8370
451c19c4
TS
8371 * configure.ac: Typo fix.
8372 * configure: Regenerate.
8373
86a6016d
TS
8374 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
8375 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8376
71a81c21
TS
8377 * omp.h.in: Don't touch the user's namespace.
8378
acf0174b
JJ
83792013-10-11 Jakub Jelinek <jakub@redhat.com>
8380 Tobias Burnus <burnus@net-b.de>
8381 Richard Henderson <rth@redhat.com>
8382
8383 * target.c: New file.
8384 * Makefile.am (libgomp_la_SOURCES): Add target.c.
8385 * Makefile.in: Regenerated.
8386 * libgomp_g.h (GOMP_task): Add depend argument.
8387 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
8388 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
8389 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
8390 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
8391 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
8392 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
8393 GOMP_taskgroup_start, GOMP_taskgroup_end,
8394 GOMP_parallel_sections): New prototypes.
8395 * fortran.c (omp_is_initial_device): Add ialias_redirect.
8396 (omp_is_initial_device_): New function.
8397 (ULP, STR1, STR2, ialias_redirect): Removed.
8398 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
8399 omp_set_default_device_8_, omp_get_default_device_,
8400 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
8401 functions.
8402 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
8403 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
8404 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
8405 @@GOMP_4.0.
8406 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
8407 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
8408 omp_set_default_device, omp_set_default_device_,
8409 omp_set_default_device_8_, omp_get_default_device,
8410 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
8411 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
8412 omp_get_team_num_): Export @@OMP_4.0.
8413 * team.c (struct gomp_thread_start_data): Add place field.
8414 (gomp_thread_start): Clear thr->thread_pool and
8415 thr->task before returning. Use gomp_team_barrier_wait_final
8416 instead of gomp_team_barrier_wait. Initialize thr->place.
8417 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
8418 team_cancelled and task_queued_count fields.
8419 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
8420 before calling pthread_exit.
8421 (gomp_free_thread): No longer static. Use
8422 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
8423 (gomp_team_start): Add flags argument. Set
8424 thr->thread_pool->threads_busy to nthreads immediately after creating
8425 new pool. Use gomp_managed_threads_lock instead of
8426 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
8427 (gomp_team_end): Use gomp_managed_threads_lock instead of
8428 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
8429 of gomp_team_barrier_wait. If team->team_cancelled, call
8430 gomp_fini_worshare on ws chain starting at team->work_shares_to_free
8431 rather than thr->ts.work_share.
8432 (initialize_team): Don't call gomp_sem_init here.
8433 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
8434 caller.
8435 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
8436 * env.c (gomp_global_icv): Add default_device_var, target_data and
8437 bind_var initializers.
8438 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
8439 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
8440 gomp_places_list_len): New variables.
8441 (parse_bind_var, parse_one_place, parse_places_var): New functions.
8442 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
8443 sized places.
8444 (gomp_cancel_var): New global variable.
8445 (parse_int): New function.
8446 (handle_omp_display_env): New function.
8447 (initialize_env): Use it. Initialize default_device_var.
8448 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
8449 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
8450 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
8451 been successfully parsed (and call gomp_init_affinity in that case).
8452 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8453 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8454 omp_get_team_num, omp_is_initial_device): New functions.
8455 * libgomp.h: Include stdlib.h.
8456 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
8457 Define.
8458 (struct target_mem_desc): Forward declare.
8459 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
8460 and thread_limit_var fields.
8461 (gomp_get_num_devices): New prototype.
8462 (gomp_cancel_var): New extern decl.
8463 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
8464 team_cancelled and task_queued_count fields. Add comments about
8465 task_{,queued_,running_}count.
8466 (gomp_cancel_kind): New enum.
8467 (gomp_work_share_end_cancel): New prototype.
8468 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
8469 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
8470 and depend fields.
8471 (struct gomp_taskgroup): New type.
8472 (struct gomp_task_depend_entry,
8473 struct gomp_dependers_vec): New types.
8474 (gomp_finish_task): Free depend_hash if non-NULL.
8475 (struct gomp_team_state): Add place_partition_off
8476 and place_partition_len fields.
8477 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
8478 gomp_places_list_len): New extern decls.
8479 (struct gomp_thread): Add place field.
8480 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
8481 (gomp_init_thread_affinity): Add place argument.
8482 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8483 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8484 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8485 gomp_affinity_init_level, gomp_affinity_print_place): New
8486 prototypes.
8487 (gomp_team_start): Add flags argument.
8488 (gomp_thread_limit_var, gomp_remaining_threads_count,
8489 gomp_remaining_threads_lock): Remove.
8490 (gomp_managed_threads_lock): New variable.
8491 (struct gomp_thread_pool): Add threads_busy field.
8492 (gomp_free_thread): New prototype.
8493 * task.c: Include hashtab.h.
8494 (hash_entry_type): New typedef.
8495 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
8496 (gomp_init_task): Clear dependers, depend_hash, depend_count,
8497 copy_ctors_done and taskgroup fields.
8498 (GOMP_task): Add depend argument, handle depend clauses. If
8499 gomp_team_barrier_cancelled or if it's taskgroup has been
8500 cancelled, don't queue or start new tasks. Set copy_ctors_done
8501 field if needed. Initialize taskgroup field. If copy_ctors_done
8502 and already cancelled, don't discard the task. If taskgroup is
8503 non-NULL, enqueue the task into taskgroup queue. Increment
8504 num_children field in taskgroup. Increment task_queued_count.
8505 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
8506 gomp_task_run_post_remove_taskgroup): New inline functions.
8507 (gomp_task_run_post_handle_depend_hash,
8508 gomp_task_run_post_handle_dependers,
8509 gomp_task_run_post_handle_depend): New functions.
8510 (GOMP_taskwait): Use them. If more than one new tasks
8511 have been queued, wake other threads if needed.
8512 (gomp_barrier_handle_tasks): Likewise. If
8513 gomp_team_barrier_cancelled, don't start any new tasks, just free
8514 all tasks.
8515 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
8516 * omp_lib.f90.in
8517 (omp_proc_bind_kind, omp_proc_bind_false,
8518 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
8519 omp_proc_bind_spread): New params.
8520 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8521 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8522 omp_get_team_num, omp_is_initial_device): New interfaces.
8523 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
8524 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
8525 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
8526 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
8527 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
8528 useless use omp_lib_kinds.
8529 * omp.h.in (omp_proc_bind_t): New typedef.
8530 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8531 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8532 omp_get_team_num, omp_is_initial_device): New prototypes.
8533 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
8534 through to gomp_team_start.
8535 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
8536 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
8537 Adjust gomp_parallel_loop_start callers.
8538 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
8539 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
8540 GOMP_loop_end_cancel): New functions.
8541 (GOMP_parallel_end): Add ialias_redirect.
8542 * hashtab.h: New file.
8543 * libgomp.texi (Environment Variables): Minor cleanup,
8544 update section refs to OpenMP 4.0rc2.
8545 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
8546 environment variables.
8547 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
8548 team->work_shares_to_free to thr->ts.work_share before calling
8549 free_work_share.
8550 (gomp_work_share_end_cancel): New function.
8551 * config/linux/proc.c: Include errno.h.
8552 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
8553 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
8554 sizeof (cpu_set_t) to determine number of iterations. Fix up check
8555 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
8556 gomp_cpuset_size is sizeof (cpu_set_t).
8557 (gomp_init_num_threads): Initialize gomp_cpuset_size,
8558 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
8559 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
8560 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
8561 contain any logical CPUs.
8562 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
8563 is NULL. Use gomp_cpusetp instead of &cpuset and pass
8564 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
8565 pthread_getaffinity_np. Check gomp_places_list instead of
8566 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
8567 * config/linux/bar.c (gomp_barrier_wait_end,
8568 gomp_barrier_wait_last): Use BAR_* defines.
8569 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
8570 from state where needed. Set work_share_cancelled to 0 on last
8571 thread.
8572 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
8573 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
8574 functions.
8575 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
8576 Add cpusetsize argument.
8577 (gomp_cpuset_size, gomp_cpusetp): Declare.
8578 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
8579 (affinity_counter): Remove.
8580 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
8581 if CPU_ALLOC_SIZE isn't defined.
8582 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
8583 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
8584 bind current thread to the first place.
8585 (gomp_init_thread_affinity): Rewritten. Add place argument, just
8586 pthread_setaffinity_np to gomp_places_list[place].
8587 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8588 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8589 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8590 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
8591 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
8592 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
8593 (gomp_barrier_t): Add awaited_final field.
8594 (gomp_barrier_init): Initialize awaited_final field.
8595 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
8596 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
8597 prototypes.
8598 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
8599 defines.
8600 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
8601 gomp_team_barrier_cancelled): New inline functions.
8602 (gomp_barrier_last_thread,
8603 gomp_team_barrier_set_task_pending,
8604 gomp_team_barrier_clear_task_pending,
8605 gomp_team_barrier_set_waiting_for_tasks,
8606 gomp_team_barrier_waiting_for_tasks,
8607 gomp_team_barrier_done): Use BAR_* defines.
8608 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
8609 (gomp_barrier_wait_end): Use BAR_* defines.
8610 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
8611 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
8612 Use BAR_* defines.
8613 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
8614 gomp_team_barrier_cancel): New functions.
8615 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
8616 argument.
8617 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8618 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8619 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8620 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
8621 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
8622 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
8623 (gomp_barrier_t): Add cancellable field.
8624 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
8625 gomp_team_barrier_cancel): New prototypes.
8626 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
8627 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
8628 gomp_team_barrier_cancelled): New inline functions.
8629 (gomp_barrier_wait_start, gomp_barrier_last_thread,
8630 gomp_team_barrier_set_task_pending,
8631 gomp_team_barrier_clear_task_pending,
8632 gomp_team_barrier_set_waiting_for_tasks,
8633 gomp_team_barrier_waiting_for_tasks,
8634 gomp_team_barrier_done): Use BAR_* defines.
8635 * barrier.c (GOMP_barrier_cancel): New function.
8636 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
8637 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
8638 omp_proc_bind_spread): New params.
8639 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8640 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8641 omp_get_team_num, omp_is_initial_device): New externals.
8642 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
8643 New functions.
8644 (gomp_resolve_num_threads): Adjust for thread_limit now being in
8645 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
8646 infinity. If not nested, just return minimum of max_num_threads
8647 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
8648 to the returned value. Otherwise, don't update atomically
8649 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
8650 (GOMP_parallel_end): Adjust for thread_limit now being in
8651 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
8652 infinity. Adjust threads_busy in the pool rather than
8653 gomp_remaining_threads_count. Remember team->nthreads and call
8654 gomp_team_end before adjusting threads_busy, if not nested
8655 afterwards, just set it to 1 non-atomically. Add ialias.
8656 (GOMP_parallel_start): Adjust gomp_team_start caller.
8657 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
8658 * testsuite/libgomp.c/affinity-1.c: New test.
8659 * testsuite/libgomp.c/atomic-15.c: New test.
8660 * testsuite/libgomp.c/atomic-16.c: New test.
8661 * testsuite/libgomp.c/atomic-17.c: New test.
8662 * testsuite/libgomp.c/cancel-for-1.c: New test.
8663 * testsuite/libgomp.c/cancel-for-2.c: New test.
8664 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
8665 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
8666 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
8667 * testsuite/libgomp.c/cancel-sections-1.c: New test.
8668 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
8669 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
8670 * testsuite/libgomp.c/depend-1.c: New test.
8671 * testsuite/libgomp.c/depend-2.c: New test.
8672 * testsuite/libgomp.c/depend-3.c: New test.
8673 * testsuite/libgomp.c/depend-4.c: New test.
8674 * testsuite/libgomp.c/for-1.c: New test.
8675 * testsuite/libgomp.c/for-1.h: New file.
8676 * testsuite/libgomp.c/for-2.c: New test.
8677 * testsuite/libgomp.c/for-2.h: New file.
8678 * testsuite/libgomp.c/for-3.c: New test.
8679 * testsuite/libgomp.c/pr58392.c: New test.
8680 * testsuite/libgomp.c/simd-1.c: New test.
8681 * testsuite/libgomp.c/simd-2.c: New test.
8682 * testsuite/libgomp.c/simd-3.c: New test.
8683 * testsuite/libgomp.c/simd-4.c: New test.
8684 * testsuite/libgomp.c/simd-5.c: New test.
8685 * testsuite/libgomp.c/simd-6.c: New test.
8686 * testsuite/libgomp.c/target-1.c: New test.
8687 * testsuite/libgomp.c/target-2.c: New test.
8688 * testsuite/libgomp.c/target-3.c: New test.
8689 * testsuite/libgomp.c/target-4.c: New test.
8690 * testsuite/libgomp.c/target-5.c: New test.
8691 * testsuite/libgomp.c/target-6.c: New test.
8692 * testsuite/libgomp.c/target-7.c: New test.
8693 * testsuite/libgomp.c/taskgroup-1.c: New test.
8694 * testsuite/libgomp.c/thread-limit-1.c: New test.
8695 * testsuite/libgomp.c/thread-limit-2.c: New test.
8696 * testsuite/libgomp.c/thread-limit-3.c: New test.
8697 * testsuite/libgomp.c/udr-1.c: New test.
8698 * testsuite/libgomp.c/udr-2.c: New test.
8699 * testsuite/libgomp.c/udr-3.c: New test.
8700 * testsuite/libgomp.c++/affinity-1.C: New test.
8701 * testsuite/libgomp.c++/atomic-10.C: New test.
8702 * testsuite/libgomp.c++/atomic-11.C: New test.
8703 * testsuite/libgomp.c++/atomic-12.C: New test.
8704 * testsuite/libgomp.c++/atomic-13.C: New test.
8705 * testsuite/libgomp.c++/atomic-14.C: New test.
8706 * testsuite/libgomp.c++/atomic-15.C: New test.
8707 * testsuite/libgomp.c++/cancel-for-1.C: New test.
8708 * testsuite/libgomp.c++/cancel-for-2.C: New test.
8709 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
8710 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
8711 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
8712 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
8713 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
8714 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
8715 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
8716 * testsuite/libgomp.c++/cancel-test.h: New file.
8717 * testsuite/libgomp.c++/for-9.C: New test.
8718 * testsuite/libgomp.c++/for-10.C: New test.
8719 * testsuite/libgomp.c++/for-11.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++/simd-7.C: New test.
8727 * testsuite/libgomp.c++/simd-8.C: New test.
8728 * testsuite/libgomp.c++/target-1.C: New test.
8729 * testsuite/libgomp.c++/target-2.C: New test.
8730 * testsuite/libgomp.c++/target-2-aux.cc: New file.
8731 * testsuite/libgomp.c++/target-3.C: New test.
8732 * testsuite/libgomp.c++/taskgroup-1.C: New test.
8733 * testsuite/libgomp.c++/udr-1.C: New test.
8734 * testsuite/libgomp.c++/udr-2.C: New test.
8735 * testsuite/libgomp.c++/udr-3.C: New test.
8736 * testsuite/libgomp.c++/udr-4.C: New test.
8737 * testsuite/libgomp.c++/udr-5.C: New test.
8738 * testsuite/libgomp.c++/udr-6.C: New test.
8739 * testsuite/libgomp.c++/udr-7.C: New test.
8740 * testsuite/libgomp.c++/udr-8.C: New test.
8741 * testsuite/libgomp.c++/udr-9.C: New test.
8742
bd599dea
JJ
87432013-09-20 Jakub Jelinek <jakub@redhat.com>
8744
8745 PR testsuite/57605
8746 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
8747 ALWAYS_CFLAGS.
8748
3cbe17f7
AM
87492013-09-20 Alan Modra <amodra@gmail.com>
8750
8751 * configure: Regenerate.
8752
4befd127
JJ
87532013-09-19 Jakub Jelinek <jakub@redhat.com>
8754
8755 * testsuite/libgomp.c/sections-2.c: New test.
8756
946c8f7b
MS
87572013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
8758
8759 * testsuite/libgomp.fortran/strassen.f90:
8760 Add dg-skip-if aarch64_tiny.
8761
1ef3b58e
IS
87622013-06-20 Iain Sandoe <iain@codesourcery.com>
8763 Cesar Philippidis <cesar@codesourcery.com>
8764
8765 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
8766 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
8767 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
8768 * testsuite/libgomp.fortran/fortran.exp: Likewise.
8769 * testsuite/libgomp.graphite/graphite.exp: Likewise.
8770 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
8771 Use dg-runtest rather than gfortran-dg-runtest.
8772
9275f73a
TS
87732013-06-10 Thomas Schwinge <thomas@codesourcery.com>
8774
8775 * testsuite/libgomp.c/icv-2.c: Extend current handling of
8776 Linux-based x86 systems to cover all GNU systems.
8777 * testsuite/libgomp.c/lock-3.c: Likewise.
8778 * testsuite/libgomp.c/pr48591.c: Likewise.
8779
492992e2
TS
87802013-06-06 Thomas Schwinge <thomas@codesourcery.com>
8781
48df3acb
TS
8782 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
8783 GNU/Hurd, as done for Linux-based systems.
8784
492992e2
TS
8785 * config/posix/ptrlock.h: Fix comment.
8786
4fed6b25
TB
87872013-05-27 Tobias Burnus <burnus@net-b.de>
8788
8789 PR fortran/57423
8790 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
8791 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
8792 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
8793 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
8794 omp_destroy_nest_lock): Correct arguments to match the one in
8795 the OpenMP spec.
8796 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
8797 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
8798 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
8799 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
8800
5a0f4dd3
JJ
88012013-05-16 Jakub Jelinek <jakub@redhat.com>
8802
8803 * testsuite/libgomp.c/loop-13.c: New test.
8804 * testsuite/libgomp.c/loop-14.c: New test.
8805 * testsuite/libgomp.c/loop-15.c: New test.
8806 * testsuite/libgomp.c++/loop-13.C: New test.
8807 * testsuite/libgomp.c++/loop-14.C: New test.
8808 * testsuite/libgomp.c++/loop-15.C: New test.
8809
6d840d99
JJ
88102013-02-06 Jakub Jelinek <jakub@redhat.com>
8811
8812 PR middle-end/56217
8813 * testsuite/libgomp.c++/pr56217.C: New test.
8814
bed8d8a6
AM
88152013-02-01 Alan Modra <amodra@gmail.com>
8816
8817 * task.c (GOMP_task, GOMP_taskwait): Comment.
8818
3b35cd04
DV
88192013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
8820 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
8821
8822 PR libgomp/55561
8823 * config/linux/wait.h (do_spin): Use atomic load for addr.
8824 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
8825 for intptr and ptrlock.
8826 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
8827 for ptrlock.
8828
9a647288
AM
88292013-01-22 Alan Modra <amodra@gmail.com>
8830
8831 PR libgomp/51376
8832 PR libgomp/56073
8833 * task.c (GOMP_task): Revert 2011-12-09 change.
8834 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
8835 barrier to read task->children..
8836 (gomp_barrier_handle_tasks): ..and matching atomic store with
8837 release barrier here when setting parent->children to NULL.
8838
f34dea03
JJ
88392013-01-16 Jakub Jelinek <jakub@redhat.com>
8840 Tobias Burnus <burnus@net-b.de>
8841
8842 PR driver/55884
8843 * testsuite/libgomp.fortran/fortran.exp: Use
8844 -fintrinsic-modules-path= instead of
8845 -fintrinsic-modules-path.
8846
8129609c
RS
88472013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
8848
8849 Update copyright years.
8850
aa86bf1e
TB
88512012-12-19 Tobias Burnus <burnus@net-b.de>
8852
8853 * testsuite/libgomp.fortran/fortran.exp: Set
8854 -fintrinsic-modules-path.
8855
2865ea66
TB
88562012-12-19 Tobias Burnus <burnus@net-b.de>
8857
8858 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
8859 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
8860
4c5ba8d0
JJ
88612012-11-21 Jakub Jelinek <jakub@redhat.com>
8862
8863 PR libgomp/55411
8864 * team.c (gomp_free_thread): Decrease gomp_managed_threads
8865 if pool had any threads_used.
8866
e9f958c2
JH
88672012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
8868
8869 * testsuite/libgomp.c++/pr24455.C: Use
8870 -Wl,-undefined,dynamic_lookup on darwin.
8871
a57d75dc
DE
88722012-11-07 David Edelsohn <dje.gcc@gmail.com>
8873
8874 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
8875
c6c08485
DH
88762012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
8877
8878 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
8879
c1f37c00
IB
88802012-10-23 Ian Bolton <ian.bolton@arm.com>
8881 Jim MacArthur <jim.macarthur@arm.com>
8882 Marcus Shawcroft <marcus.shawcroft@arm.com>
8883 Nigel Stephens <nigel.stephens@arm.com>
8884 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8885 Richard Earnshaw <rearnsha@arm.com>
8886 Sofiane Naci <sofiane.naci@arm.com>
8887 Stephen Thomas <stephen.thomas@arm.com>
8888 Tejas Belagod <tejas.belagod@arm.com>
8889 Yufeng Zhang <yufeng.zhang@arm.com>
8890
8891 * configure.tgt: Add AArch64.
8892
7c424acd
JM
88932012-10-04 Jason Merrill <jason@redhat.com>
8894
8895 * testsuite/libgomp.c++/tls-init1.C: New.
8896
6608378b
DE
88972012-09-14 David Edelsohn <dje.gcc@gmail.com>
8898
8899 * configure: Regenerated.
8900
c24dbebb
CLT
89012012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
8902
8903 * config/linux/mips/futex.h (sys_futex0): Change to static
8904 function with noinline, nomips16 attributes under MIPS16. Adjust
8905 asm statement to place 'li v0,SYS_futex' immediately before
8906 syscall insn.
8907
3d3949df
SL
89082012-07-04 Sandra Loosemore <sandra@codesourcery.com>
8909
8910 * libgomp.texi (Library Index): Renamed from "Index" to prevent
8911 conflict with index.html on case-insensitive file systems.
8912
68a12ef3
UB
89132012-07-03 Uros Bizjak <ubizjak@gmail.com>
8914
8915 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
8916 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
8917
33ad93b9 89182012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
8919 Michael Matz <matz@suse.de>
8920 Tobias Grosser <tobias@grosser.es>
8921 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
8922
8923 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
8924 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8925 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8926 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8927
e6fdc918
AS
89282012-06-28 Andreas Schwab <schwab@linux-m68k.org>
8929
8930 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
8931
62e0a1ed
RG
89322012-06-22 Richard Guenther <rguenther@suse.de>
8933
8934 Merge from graphite branch
8935 2012-01-13 Tobias Grosser <tobias@grosser.es>
8936
8937 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
8938 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8939
26127932
JJ
89402012-06-07 Jakub Jelinek <jakub@redhat.com>
8941
8942 PR middle-end/53580
8943 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
8944 use GOMP_barrier () call instead.
8945 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8946 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8947 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
8948 call GOMP_barrier instead.
8949 * testsuite/libgomp.fortran/vla5.f90: Likewise.
8950
43fa5db5
JJ
89512012-06-06 Jakub Jelinek <jakub@redhat.com>
8952
8953 PR libgomp/52993
8954 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
8955 argument to memset call.
8956
e6d5f8c9
L
89572012-05-16 H.J. Lu <hongjiu.lu@intel.com>
8958
8959 * configure: Regenerated.
8960
559d990c
MLI
89612012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
8962
8963 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
8964
b9c23a61
L
89652012-03-31 H.J. Lu <hongjiu.lu@intel.com>
8966
8967 PR bootstrap/52812
8968 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
8969
c140ddf3
JJ
89702012-03-22 Jakub Jelinek <jakub@redhat.com>
8971
8972 PR middle-end/52547
8973 * testsuite/libgomp.c/pr52547.c: New test.
8974
6a26a74d
BRF
89752012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8976
8977 * testsuite/lib/libgomp.exp: load fortran-modules.exp
8978
b24513a1
RO
89792012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8980
8981 * configure.tgt (mips-sgi-irix6*): Remove.
8982
5c30094f
RO
89832012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8984
8985 * configure.tgt (alpha*-dec-osf*): Remove.
8986
8987 * config/osf/sem.h: Remove.
8988 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
8989
a339c9d6
EB
89902012-02-29 Eric Botcazou <ebotcazou@adacore.com>
8991
8992 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
8993
cc2de92d
RO
89942012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8995
8996 PR libstdc++/52188
8997 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
8998 Remove ENABLE_SYMVERS_SOL2.
8999 * configure: Regenerate.
9000 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
9001 (PREPROCESS): New variable.
9002 (libgomp.ver): New target.
9003 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
9004 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
9005 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
9006 Use libgomp.ver.
9007 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
9008 * Makefile.in: Regenerate.
9009
dd552284
WL
90102012-02-14 Walter Lee <walt@tilera.com>
9011
9012 * configure.tgt: Handle tilegx and tilepro.
9013 * config/linux/tile/futex.h: New file.
9014
31432e21
RG
90152012-02-08 Richard Guenther <rguenther@suse.de>
9016
9017 PR tree-optimization/46886
9018 * testsuite/libgomp.c/pr46886.c: New testcase.
9019
b9264b5f
MK
90202012-01-25 Matthias Klose <doko@ubuntu.com>
9021
9022 * config/linux/arm: Remove empty directory.
9023 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
9024
fbf7be80
AM
90252011-12-09 Alan Modra <amodra@gmail.com>
9026
9027 PR libgomp/51376
9028 * task.c (GOMP_taskwait): Don't access task->children outside of
9029 task_lock mutex region.
9030 (GOMP_task): Likewise.
9031
5de62d00
JJ
90322011-12-06 Jakub Jelinek <jakub@redhat.com>
9033
9034 PR libgomp/51132
9035 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
9036 to file scope.
9037 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9038 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9039 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9040 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9041 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9042
45608a43
AM
90432011-12-02 Alan Modra <amodra@gmail.com>
9044
9045 * config/linux/affinity.c: Use atomic rather than sync builtin.
9046 * config/linux/lock.c: Likewise.
9047 * config/linux/ptrlock.h: Likewise.
9048 * config/linux/ptrlock.c: Likewise.
9049 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
9050 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
9051 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
9052 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
9053 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
9054 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
9055 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
9056 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
9057 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
9058 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
9059
ab6dd406
AM
90602011-11-30 Alan Modra <amodra@gmail.com>
9061
9062 PR libgomp/51298
9063 * config/linux/bar.h: Use atomic rather than sync builtins.
9064 * config/linux/bar.c: Likewise. Add missing acquire
9065 synchronisation on generation field.
9066 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
9067 double unlock.
9068
b40c885f
AM
90692011-11-30 Alan Modra <amodra@gmail.com>
9070
9071 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
9072 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
9073 * config/linux/mutex.h: Use atomic rather than sync builtins.
9074 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
9075 * config/linux/omp-lock.h: Comment fix.
9076 * config/linux/arm/mutex.h: Delete.
9077 * config/linux/powerpc/mutex.h: Delete.
9078 * config/linux/ia64/mutex.h: Delete.
9079 * config/linux/mips/mutex.h: Delete.
9080
3e348fcc
AM
90812011-11-30 Alan Modra <amodra@gmail.com>
9082
9083 PR libgomp/51249
9084 * config/linux/sem.h: Rewrite.
9085 * config/linux/sem.c: Rewrite.
9086
cef86eb2
RH
90872011-11-28 Richard Henderson <rth@redhat.com>
9088
9089 * libgomp.h (enum memmodel): New.
9090
c6084f68
AT
90912011-11-21 Andreas Tobler <andreast@fgznet.ch>
9092
9093 * configure: Regenerate.
9094
06fe026c
MK
90952011-10-10 Matthias Klose <doko@ubuntu.com>
9096
9097 * config/posix95: Remove empty directory.
9098
a6c975bd
JJ
90992011-08-26 Jakub Jelinek <jakub@redhat.com>
9100
9101 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
9102
c26dffff
JJ
91032011-08-19 Jakub Jelinek <jakub@redhat.com>
9104
9105 PR fortran/49792
9106 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
9107 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
9108
ddaad3c8
RO
91092011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9110
9111 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
9112
98d03683
RO
91132011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9114
9115 PR libgomp/49965
9116 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
9117
e0b23d9f
UB
91182011-08-03 Uros Bizjak <ubizjak@gmail.com>
9119
9120 * config/linux/proc.h: New.
9121 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
9122 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
9123 (gomp_init_num_threads): Update call to cpuset_popcount.
9124 (get_num_procs): Ditto.
9125 * config/linux/affinity.c (gomp_init_affinity): Call
9126 gomp_cpuset_popcount.
9127
20906c66
JJ
91282011-08-02 Jakub Jelinek <jakub@redhat.com>
9129
9130 PR fortran/42041
9131 PR fortran/46752
9132 * omp.h.in (omp_in_final): New prototype.
9133 * omp_lib.f90.in (omp_in_final): New interface.
9134 (omp_integer_kind, omp_logical_kind): Remove
9135 and replace all its uses in the module with 4.
9136 (openmp_version): Change to 201107.
9137 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
9138 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
9139 kind for the parameters.
9140 (omp_in_final): New external.
9141 (openmp_version): Change to 201107.
9142 * task.c (omp_in_final): New function.
9143 (gomp_init_task): Initialize final_task.
9144 (GOMP_task): Remove unused attribute from flags. Handle final
9145 tasks.
9146 (GOMP_taskyield): New function.
9147 (omp_in_final): Return true if if (false) or final (true) task
9148 or descendant of final (true).
9149 * fortran.c (omp_in_final_): New function.
9150 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
9151 (GOMP_3.0): Export GOMP_taskyield.
9152 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
9153 variables.
9154 (parse_unsigned_long_list): New function.
9155 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
9156 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
9157 even if parse_affinity returned false.
9158 * config/linux/affinity.c (gomp_init_affinity): Handle
9159 gomp_cpu_affinity_len == 0.
9160 * libgomp_g.h (GOMP_taskyield): New prototype.
9161 * libgomp.h (struct gomp_task): Add final_task field.
9162 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
9163 * team.c (gomp_team_start): Override new task's nthreads_var icv
9164 if list form OMP_NUM_THREADS has been used and it has value for
9165 the new nesting level.
9166
9167 * testsuite/libgomp.c/atomic-11.c: New test.
9168 * testsuite/libgomp.c/atomic-12.c: New test.
9169 * testsuite/libgomp.c/atomic-13.c: New test.
9170 * testsuite/libgomp.c/atomic-14.c: New test.
9171 * testsuite/libgomp.c/reduction-6.c: New test.
9172 * testsuite/libgomp.c/task-5.c: New test.
9173 * testsuite/libgomp.c++/atomic-2.C: New test.
9174 * testsuite/libgomp.c++/atomic-3.C: New test.
9175 * testsuite/libgomp.c++/atomic-4.C: New test.
9176 * testsuite/libgomp.c++/atomic-5.C: New test.
9177 * testsuite/libgomp.c++/atomic-6.C: New test.
9178 * testsuite/libgomp.c++/atomic-7.C: New test.
9179 * testsuite/libgomp.c++/atomic-8.C: New test.
9180 * testsuite/libgomp.c++/atomic-9.C: New test.
9181 * testsuite/libgomp.c++/task-8.C: New test.
9182 * testsuite/libgomp.c++/reduction-4.C: New test.
9183 * testsuite/libgomp.fortran/allocatable7.f90: New test.
9184 * testsuite/libgomp.fortran/allocatable8.f90: New test.
9185 * testsuite/libgomp.fortran/crayptr3.f90: New test.
9186 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
9187 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
9188 * testsuite/libgomp.fortran/pointer1.f90: New test.
9189 * testsuite/libgomp.fortran/pointer2.f90: New test.
9190 * testsuite/libgomp.fortran/task4.f90: New test.
9191
91922011-08-02 Tobias Burnus <burnus@net-b.de>
9193
9194 * libgomp.texi: Update OpenMP spec references to 3.1.
9195 (omp_in_final,OMP_PROC_BIND): New sections.
9196 (OMP_NUM_THREADS): Document that the value can be now a list.
9197 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
9198
c01ecafc
L
91992011-08-02 H.J. Lu <hongjiu.lu@intel.com>
9200
9201 * config/linux/x86/futex.h: Check __x86_64__ instead of
9202 __LP64__.
9203
25142650
JJ
92042011-07-29 Jakub Jelinek <jakub@redhat.com>
9205
9206 PR middle-end/49897
9207 PR middle-end/49898
9208 * testsuite/libgomp.c/pr49897-1.c: New test.
9209 * testsuite/libgomp.c/pr49897-2.c: New test.
9210 * testsuite/libgomp.c/pr49898-1.c: New test.
9211 * testsuite/libgomp.c/pr49898-2.c: New test.
9212
f53d712f
L
92132011-07-28 H.J. Lu <hongjiu.lu@intel.com>
9214
9215 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
9216 for ia32 instead of ilp32.
9217
9218 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
9219 * testsuite/libgomp.c/atomic-6.c: Likewise.
9220
3689198d
SP
92212011-07-23 Sebastian Pop <sebastian.pop@amd.com>
9222
9223 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
9224 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
9225
1a79cb73
RO
92262011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9227
9228 PR libgomp/45351
9229 * config/osf/sem.h: New file.
9230 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
9231
c1f51484
RO
92322011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9233
9234 PR target/49541
9235 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
9236 ldflags.
9237
bfee0724
JJ
92382011-07-15 Jakub Jelinek <jakub@redhat.com>
9239
9240 * config/linux/wait.h (do_spin): New inline, largely copied
9241 from do_wait, just don't do futex_wait here, instead return true if
9242 it should be done.
9243 (do_wait): Implement using do_spin.
9244 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
9245 to prototype.
9246 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9247 __sync_bool_compare_and_swap, pass the oldval to
9248 gomp_mutex_lock_slow.
9249 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
9250 If all mutex contenders are just spinning and not sleeping, don't
9251 change state to 2 unnecessarily. Optimize the loop when state has
9252 already become 2 to use just one atomic operation per loop instead
9253 of two.
9254 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
9255 to prototype.
9256 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9257 __sync_bool_compare_and_swap, pass the oldval to
9258 gomp_mutex_lock_slow.
9259
fb79f500
JJ
92602011-06-22 Jakub Jelinek <jakub@redhat.com>
9261
9262 PR libgomp/49490
9263 * iter.c (gomp_iter_static_next): For chunk size 0
9264 only use n ceil/ nthreads size for the first
9265 n % nthreads threads in the team instead of
9266 all threads except for the last few ones which
9267 get less work or none at all.
9268 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
9269 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
9270 chunk argument, set run_sched_modifier to 0 for static
9271 resp. 1 for other kinds. If chunk argument is 0
9272 and not static, set value to 1.
9273
4577f730
JJ
92742011-05-19 Jakub Jelinek <jakub@redhat.com>
9275
ea93a47b
JJ
9276 PR c++/49043
9277 * testsuite/libgomp.c++/pr49043.C: New test.
9278
4577f730
JJ
9279 PR c++/48869
9280 * testsuite/libgomp.c++/pr48869.C: New test.
9281
e7385332
JJ
92822011-05-06 Jakub Jelinek <jakub@redhat.com>
9283
9284 PR fortran/48894
9285 * fortran.c: Include limits.h.
9286 (TO_INT): Define.
9287 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
9288 *set.
9289 (omp_set_num_threads_8_, omp_set_schedule_8_,
9290 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
9291 omp_get_team_size_8_): Use TO_INT macro.
9292 * testsuite/libgomp.fortran/pr48894.f90: New test.
9293
20790697
JJ
92942011-04-13 Jakub Jelinek <jakub@redhat.com>
9295
9296 PR middle-end/48591
9297 * testsuite/libgomp.c/pr48591.c: New test.
9298
bf382f5f
RO
92992011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9300
9301 PR bootstrap/48135
9302 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
9303 * configure: Regenerate.
9304
113a53c1
JJ
93052011-02-27 Jakub Jelinek <jakub@redhat.com>
9306
9307 PR fortran/47886
9308 * testsuite/libgomp.fortran/task3.f90: New test.
9309
0024f1af
TB
93102011-02-24 Tobias Burnus <burnus@net-b.de>
9311
9312 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
9313
21e1e594
JJ
93142011-02-23 Jakub Jelinek <jakub@redhat.com>
9315
9316 PR libgomp/47854
9317 * libgomp.texi (omp_get_wtime): Don't say time in the past
9318 must be Unix Epoch.
9319
67962076
JJ
93202011-02-18 Jakub Jelinek <jakub@redhat.com>
9321
9322 PR libgomp/47804
9323 * testsuite/libgomp.fortran/fortran.exp: Check for both
9324 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
9325 but $blddir != "", still append ${blddir}/${lang_library_path}
9326 to ld_library_path.
9327
3808007c
TB
93282011-02-16 Tobias Burnus <burnus@net-b.de>
9329
9330 PR libgomp/47758
9331 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
9332 of libquadmath.a before adding its libpath to ldflags.
9333
53b4d41d
JJ
93342011-02-14 Jakub Jelinek <jakub@redhat.com>
9335
9336 PR libgomp/47731
9337 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
9338 to FUTEX_WAIT futex syscall.
9339 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
9340
029c8f3e
RW
93412011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9342
9343 * configure: Regenerate.
9344
bddd6626
BK
93452011-01-20 Benjamin Kosnik <bkoz@redhat.com>
9346
9347 PR libstdc++/36104
9348 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
9349
f1d4ab26
GP
93502011-01-16 Gerald Pfeifer
9351
9352 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
9353
2b503136
JJ
93542010-12-14 Jakub Jelinek <jakub@redhat.com>
9355
9356 PR fortran/46874
9357 * libgomp.fortran/allocatable6.f90: New test.
9358
c0f9d583
RO
93592010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9360
9361 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
9362 * configure: Regenerate.
9363
7de6ba7a
DK
93642010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
9365
9366 PR target/40125
9367 PR lto/46695
9368 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
9369 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
9370 * aclocal.m4: Regenerate.
9371 * configure: Regenerate.
9372 * Makefile.in: Regenerate.
9373 * testsuite/Makefile.in: Regenerate.
9374
b7516041
JJ
93752010-12-02 Jakub Jelinek <jakub@redhat.com>
9376
edaadf74
JJ
9377 PR fortran/46753
9378 * libgomp.fortran/pr46753.f90: New test.
9379
4c698cf8
JJ
9380 PR libgomp/43706
9381 * env.c (initialize_env): Default to spin count 300000
9382 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
9383 is specified.
9384
b7516041
JJ
9385 PR libgomp/45240
9386 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
9387 at the end if sync builtins aren't supported.
9388
6b43a34c
RO
93892010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9390
9391 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
9392
950691fa
RO
93932010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9394
9395 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
9396
fb9041ea
IS
93972010-11-24 Iain Sandoe <iains@gcc.gnu.org>
9398
9399 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
9400
1ec601bf
FXC
94012010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9402 Tobias Burnus <burnus@net-b.de>
9403
9404 PR fortran/32049
3e348fcc 9405 * configure.ac:
1ec601bf
FXC
9406 * configure: Regenerate.
9407
d213e92e
MS
94082010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
9409
9410 * config/linux/futex.h: New.
9411 * config/linux/arm/mutex.h: New.
9412 * configure.tgt (arm*-*-linux*): Add config path.
9413
89d5c66f
SP
94142010-09-30 Sebastian Pop <sebastian.pop@amd.com>
9415
9416 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9417
87350d4a
TB
94182010-09-23 Tobias Burnus <burnus@net-b.de>
9419
9420 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
9421 Change Fortran datatype to LOGICAL.
9422 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
9423 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
9424
75bc9e5e
RW
94252010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9426
9427 * configure: Regenerate.
9428
acb5c916
JJ
94292010-07-26 Jakub Jelinek <jakub@redhat.com>
9430
9431 * libgomp.texi: Add function keyword to a couple of Fortran
9432 interfaces, use integer instead of int for Fortran.
9433
6a2ba183
AH
94342010-07-26 Aldy Hernandez <aldyh@redhat.com>
9435
9436 * libgomp.texi: Fix spelling and pasto problems throughout.
9437 Adjust prototypes to match code.
9438
df161b69
TB
94392010-07-24 Tobias Burnus <burnus@net-b.de>
9440
9441 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
9442 silence -fwhole-file warning.
9443
16c9d3b1
RO
94442010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9445
9446 * configure.tgt (*-*-solaris2.[56]*): Removed.
9447
6d28b933
RO
94482010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9449
9450 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
9451 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
9452 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
9453 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
9454 targetting solaris2*.
9455 * configure: Regenerate.
9456 * config.h.in: Regenerate.
9457
9458 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
9459 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
9460 Add libgomp_version_dep.
9461 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
9462 versioning.
9463 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
9464 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
9465 * Makefile.in: Regenerate.
9466
9467 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
9468 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
9469 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
9470 to common block, protected by
9471 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
9472
07a67d6a
GP
94732010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
9474
9475 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
9476
dbd34b89
IS
94772010-06-09 Iain Sandoe <iains@gcc.gnu.org>
9478
9479 PR bootstrap/43170
9480 * configure: Regenerate.
9481
13917ae3
RW
94822010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9483
9484 PR other/43620
9485 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
9486 * configure: Regenerate.
9487 * Makefile.in: Regenerate.
9488 * testsuite/Makefile.in: Regenerate.
9489
b83a701b
JJ
94902010-04-26 Jakub Jelinek <jakub@redhat.com>
9491
9492 PR c/43893
9493 * testsuite/libgomp.c/pr43893.c: New test.
9494 * testsuite/libgomp.c++/pr43893.C: New test.
9495
78db7d92
JJ
94962010-04-21 Jakub Jelinek <jakub@redhat.com>
9497
9498 PR middle-end/43570
9499 * testsuite/libgomp.fortran/vla8.f90: New test.
9500
5221d7a9
JJ
95012010-04-20 Jakub Jelinek <jakub@redhat.com>
9502
e4ba7a60
JJ
9503 PR libgomp/43706
9504 * config/linux/affinity.c (gomp_init_affinity): Decrease
9505 gomp_available_cpus if affinity mask confines the process to fewer
9506 CPUs.
9507 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
9508 non-NULL, just return gomp_available_cpus.
9509
5221d7a9
JJ
9510 PR libgomp/43569
9511 * sections.c (gomp_sections_init): Initialize ws->mode.
9512
289a9f86
UB
95132010-04-14 Uros Bizjak <ubizjak@gmail.com>
9514
9515 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
9516 not unused bar variable.
9517 * configure: Regenerate.
9518
4d9e8446
RW
95192010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9520
9521 * Makefile.in: Regenerate.
9522 * aclocal.m4: Regenerate.
9523 * testsuite/Makefile.in: Regenerate.
9524
80f046cc
JJ
95252010-03-22 Jakub Jelinek <jakub@redhat.com>
9526
9527 PR libgomp/42942
9528 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
9529 (initialize_env): Adjust callers.
9530 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
9531 when the argument is 0.
9532
9533 * testsuite/libgomp.c/pr42942.c: New test.
9534
b58543c3
SP
95352010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
9536
9537 PR middle-end/42644
9538 PR middle-end/42130
9539 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9540 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
9541
41d1138f
RO
95422010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9543
9544 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
9545 * testsuite/libgomp.c++/task-6.C: Likewise.
9546
6684eb28
SE
95472010-01-28 Steve Ellcey <sje@cup.hp.com>
9548
9549 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
9550
2122aa97
PB
95512010-01-26 Paolo Bonzini <bonzini@gnu.org>
9552
9553 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
9554 * configure: Regenerate.
9555
057dd91d
JJ
95562010-01-26 Jakub Jelinek <jakub@redhat.com>
9557
9558 PR fortran/42866
9559 * testsuite/libgomp.fortran/allocatable5.f90: New test.
9560
d0709b6a
PB
95612010-01-20 Paolo Bonzini <bonzini@gnu.org>
9562
9563 * configure.ac: Test for executability of GFORTRAN.
9564 * configure: Regenerate.
9565
b9497ab5
RO
95662010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9567
9568 * configure: Regenerate.
9569
45de5648
L
95702010-01-04 H.J. Lu <hongjiu.lu@intel.com>
9571
9572 PR libgomp/42602
9573 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
9574
e74003a1
RG
95752010-01-03 Richard Guenther <rguenther@suse.de>
9576
9577 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
9578
1b3abda8
SP
95792009-12-23 Sebastian Pop <sebpop@gmail.com>
9580
9581 * testsuite/libgomp.graphite/pr4118.c: New.
9582
e19977d3
IS
95832009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9584
9585 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
9586 for darwin, protect the test with require-effective-target tls_runtime.
9587 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
9588
1d32a772
IS
95892009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9590
9591 PR target/41605
9592 * testsuite/lib/libgomp.exp: Provide -B options to allow for
9593 link spec %s substitutions for static libraries.
9594
deb109b2
JH
95952009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
9596
9597 PR testsuite/42135
9598 * libgomp.graphite/force-parallel-2.c: Reduce array size.
9599
43e02a8a
RW
96002009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9601
9602 * Makefile.in: Regenerate.
9603 * configure: Regenerate.
9604 * testsuite/Makefile.in: Regenerate.
9605
17f35e23
DK
96062009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
9607
9608 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
9609 settings for LC_ALL and LANG.
9610
281e33e1
JJ
96112009-11-25 Jakub Jelinek <jakub@redhat.com>
9612
9613 PR fortran/42162
9614 * testsuite/libgomp.fortran/pr42162.f90: New test.
9615
2b32c27d
JJ
96162009-11-13 Jakub Jelinek <jakub@redhat.com>
9617
9618 PR middle-end/42029
281e33e1 9619 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 9620
89c74f4a
JJ
96212009-10-26 Jakub Jelinek <jakub@redhat.com>
9622
9623 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
9624 *s. Accept ld version without text in ()s.
9625 * configure: Regenerated.
9626
7e06c3d6
EB
96272009-10-22 Razya Ladelsky <razya@il.ibm.com>
9628
9629 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
9630
0046b1a7
RW
96312009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9632
9633 PR libgomp/41418
9634 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
9635 or a hyphen (happens with fortran language disabled).
9636 * configure: Regenerate.
9637
c82852f7
RW
96382009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9639
9640 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
9641 use sed script portable to Solaris /bin/sed for extracting ld
9642 version.
9643 * configure: Regenerate.
9644
98f3eb1f
AM
96452009-09-17 Alexander Monakov <amonakov@ispras.ru>
9646
9647 * testsuite/libgomp.graphite/bounds.c: New test.
9648
878f62e5
RW
96492009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9650
9651 * Makefile.am (libgomp_la_LINK): New.
9652 * Makefile.in: Regenerate.
9653
df58e648
RW
96542009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9655
9656 * configure.ac (AC_PREREQ): Bump to 2.64.
9657
5213506e
RW
96582009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9659
70fa0efa
RW
9660 * Makefile.am (install-html, install-pdf): Remove.
9661 * Makefile.in: Regenerate.
9662
5213506e
RW
9663 * Makefile.in: Regenerate.
9664 * aclocal.m4: Regenerate.
9665 * config.h.in: Regenerate.
9666 * configure: Regenerate.
9667 * testsuite/Makefile.in: Regenerate.
9668
84fec8a5
RW
96692009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9670
9671 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
9672 * Makefile.in: Regenerate.
9673
197c68cc
DK
96742009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
9675
9676 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
9677 * Makefile.in: Regenerate.
9678
693d54f2
TB
96792009-08-19 Tobias Burnus <burnus@net-b.de>
9680
9681 PR fortran/41102
9682 omp_lib.h.in: Fix -std=f95 errors.
9683
8cac884c
DE
96842009-08-14 David Edelsohn <edelsohn@gnu.org>
9685
9686 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
9687 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
9688 * testsuite/libgomp.graphite/graphite.exp: New.
9689
78729ee2
AT
96902009-08-05 Andreas Tobler <a.tobler@schweiz.org>
9691
9692 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
9693 only build.
9694
b13b7f39
DD
96952009-08-04 David Daney <ddaney@caviumnetworks.com>
9696
9697 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
9698 needed memory barrier semantics.
9699 * config/linux/mips/mutex.h: New file.
9700
1b3b24c2
RW
97012009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9702
9703 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
9704
396b7fa4
JM
97052009-07-16 Joseph Myers <joseph@codesourcery.com>
9706
9707 * configure: Regenerate.
9708
33cde516
RS
97092009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
9710
9711 PR testsuite/40699
9712 PR testsuite/40707
9713 PR testsuite/40709
9714 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
9715 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
9716 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
9717
bc21bfa5
RS
97182009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
9719
9720 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
9721 options when choosing a multilib.
9722
b30bfd40
RS
97232009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
9724
9725 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
9726 ld_library_path. Use add_path. Add just find_libgcc_s to
9727 ld_library_path, not every libgcc multilib directory.
9728 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
9729 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
9730 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
9731 Use add_path.
9732 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
9733
479c15c2
NF
97342009-06-09 Nathan Froyd <froydnj@codesourcery.com>
9735
9736 * Makefile.am (LTLDFLAGS): Define.
9737 (LINK): Define.
9738 * Makefile.in: Regenerate.
9739
667e6f89
JB
97402009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
9741
9742 PR fortran/39718
9743 * testsuite/libgomp.fortran/fortran.exp: Don't link with
9744 libgfortranbegin, check existence of libgfortran.a instead of
9745 libgfortranbegin.a.
9746
6dea8e99
JJ
97472009-05-20 Jakub Jelinek <jakub@redhat.com>
9748
9749 PR libgomp/40174
9750 * team.c (gomp_thread_start): Destroy thr->release semaphore.
9751 (gomp_free_pool_helper): Likewise.
9752
34d01e1d
VL
97532009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
9754 Jakub Jelinek <jakub@redhat.com>
9755
9756 PR fortran/35423
9757 * testsuite/libgomp.fortran/workshare2.f90: New test.
9758
748086b7
JJ
97592009-04-09 Nick Clifton <nickc@redhat.com>
9760
9761 * iter.c: Change copyright header to refer to version 3 of the
9762 GNU General Public License with version 3.1 of the GCC Runtime
9763 Library Exception and to point readers at the COPYING3 and
9764 COPYING3.RUNTIME files and the FSF's license web page.
9765 * alloc.c: Likewise.
9766 * barrier.c: Likewise.
9767 * config/bsd/proc.c: Likewise.
9768 * config/linux/affinity.c: Likewise.
9769 * config/linux/alpha/futex.h: Likewise.
9770 * config/linux/bar.c: Likewise.
9771 * config/linux/bar.h: Likewise.
9772 * config/linux/ia64/futex.h: Likewise.
9773 * config/linux/ia64/mutex.h: Likewise.
9774 * config/linux/lock.c: Likewise.
9775 * config/linux/mips/futex.h: Likewise.
9776 * config/linux/mutex.c: Likewise.
9777 * config/linux/mutex.h: Likewise.
9778 * config/linux/powerpc/futex.h: Likewise.
9779 * config/linux/proc.c: Likewise.
9780 * config/linux/ptrlock.c: Likewise.
9781 * config/linux/ptrlock.h: Likewise.
9782 * config/linux/s390/futex.h: Likewise.
9783 * config/linux/sem.c: Likewise.
9784 * config/linux/sem.h: Likewise.
9785 * config/linux/sparc/futex.h: Likewise.
9786 * config/linux/wait.h: Likewise.
9787 * config/linux/x86/futex.h: Likewise.
9788 * config/mingw32/proc.c: Likewise.
9789 * config/mingw32/time.c: Likewise.
9790 * config/posix/affinity.c: Likewise.
9791 * config/posix/bar.c: Likewise.
9792 * config/posix/bar.h: Likewise.
9793 * config/posix/lock.c: Likewise.
9794 * config/posix/mutex.h: Likewise.
9795 * config/posix/proc.c: Likewise.
9796 * config/posix/ptrlock.h: Likewise.
9797 * config/posix/sem.c: Likewise.
9798 * config/posix/sem.h: Likewise.
9799 * config/posix/time.c: Likewise.
9800 * config/posix95/lock.c: Likewise.
9801 * critical.c: Likewise.
9802 * env.c: Likewise.
9803 * error.c: Likewise.
9804 * fortran.c: Likewise.
9805 * iter_ull.c: Likewise.
9806 * libgomp.h: Likewise.
9807 * libgomp_f.h.in: Likewise.
9808 * libgomp_g.h: Likewise.
9809 * loop.c: Likewise.
9810 * loop_ull.c: Likewise.
9811 * omp.h.in: Likewise.
9812 * omp_lib.f90.in: Likewise.
9813 * omp_lib.h.in: Likewise.
9814 * ordered.c: Likewise.
9815 * parallel.c: Likewise.
9816 * sections.c: Likewise.
9817 * single.c: Likewise.
9818 * task.c: Likewise.
9819 * team.c: Likewise.
9820 * work.c: Likewise.
9821
98222009-04-09 Jakub Jelinek <jakub@redhat.com>
9823
9824 * testsuite/config/default.exp: Change copyright header to refer to
9825 version 3 of the GNU General Public License and to point readers
9826 at the COPYING3 file and the FSF's license web page.
9827
4f0ae266
JJ
98282009-04-08 Jakub Jelinek <jakub@redhat.com>
9829
9830 PR middle-end/39573
9831 * libgomp.c++/pr39573.C: New test.
9832
03742a9b
JJ
98332009-04-01 Jakub Jelinek <jakub@redhat.com>
9834
9835 PR other/39591
9836 * testsuite/libgomp.c/pr39591-1.c: New test.
9837 * testsuite/libgomp.c/pr39591-2.c: New test.
9838 * testsuite/libgomp.c/pr39591-3.c: New test.
9839
e50ea10b
UB
98402009-03-25 Uros Bizjak <ubizjak@gmail.com>
9841
9842 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
9843 * testsuite/libgomp.c/atomic-6.c: Ditto.
9844
c5cdb03f
JJ
98452009-03-23 Jakub Jelinek <jakub@redhat.com>
9846
9847 PR c/39495
9848 * testsuite/libgomp.c/loop-12.c: New test.
9849 * testsuite/libgomp.c/loop-11.c: New test.
9850 * testsuite/libgomp.c++/loop-11.C: New test.
9851 * testsuite/libgomp.c++/loop-12.C: New test.
9852 * testsuite/libgomp.c++/for-8.C: New test.
9853
7a9d3fe8
RW
98542009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9855
9856 * configure: Regenerate.
9857
3ad6b266
JJ
98582009-02-11 Jakub Jelinek <jakub@redhat.com>
9859
9860 PR middle-end/39154
9861 * testsuite/libgomp.c/pr39154.c: New test.
9862
b39dea08
ILT
98632009-01-30 Ian Lance Taylor <iant@google.com>
9864
9865 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
9866 libgomp_ld_is_gold. Get gold version number.
9867 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
9868 * configure: Rebuild.
9869
72c66596
IS
98702009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
9871
e50ea10b 9872 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
9873 use libgfortran.a%s in their specs.
9874
876080ff
JJ
98752009-01-07 Jakub Jelinek <jakub@redhat.com>
9876
9877 PR libgomp/38086
9878 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
9879 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
9880 HAVE_AS_SYMVER_DIRECTIVE is not defined.
9881 * configure: Regenerated.
9882 * config.h.in: Likewise.
9883
e4ebaef3
JJ
98842008-12-28 Jakub Jelinek <jakub@redhat.com>
9885
9886 PR c++/38650
9887 * testsuite/libgomp.c/pr38650.c: New test.
9888 * testsuite/libgomp.c++/pr38650.C: New test.
9889
382017a6
JJ
98902008-12-27 Jakub Jelinek <jakub@redhat.com>
9891
9892 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
9893
79644b27
UB
98942008-12-26 Uros Bizjak <ubizjak@gmail.com>
9895
9896 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
9897
baafc534
RW
98982008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9899
9900 * configure: Regenerate.
9901
d9c194cb
JJ
99022008-12-08 Jakub Jelinek <jakub@redhat.com>
9903
9904 PR middle-end/36802
9905 * testsuite/libgomp.c/pr36802-1.c: New test.
9906 * testsuite/libgomp.c/pr36802-2.c: New test.
9907 * testsuite/libgomp.c/pr36802-3.c: New test.
9908
86a182bf
JJ
99092008-12-01 Janis Johnson <janis187@us.ibm.com>
9910
9911 PR libgomp/38270
9912 * config/linux/powerpc/mutex.h: New.
9913
956adfaf
JJ
99142008-12-01 Jakub Jelinek <jakub@redhat.com>
9915
a2d4cdc9
JJ
9916 PR c++/38257
9917 * testsuite/libgomp.c++/for-7.C: New test.
9918
956adfaf
JJ
9919 PR c++/38348
9920 * testsuite/libgomp.c++/for-6.C: New test.
9921
d4038ca2
JJ
99222008-11-26 Janis Johnson <janis187@us.ibm.com>
9923
9924 PR testsuite/28870
9925 * testsuite/lib/libgomp.exp: Include new timeout library files.
9926 (libgomp_target_compile): Set timeout value from new proc.
9927
8b159eea
SE
99282008-11-13 Steve Ellcey <sje@cup.hp.com>
9929
9930 PR libgomp/37938
9931 * config/linux/ia64/mutex.h: New.
9932
5c6ed53a
TB
99332008-11-04 Tobias Burnus <burnus@net-b.de>
9934
9935 PR libgomp/37935
9936 * libgomp.texi (Runtime library routines, environment variables):
9937 Update for OpenMP version 3.0.
9938
6b4a97ed
PG
99392008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
9940 Steve Ellcey <sje@cup.hp.com>
9941
9942 * configure: Regenerate for new libtool.
9943 * Makefile.in: Ditto.
9944 * testsuite/Makefile.in: Ditto.
9945
e2b34106
JJ
99462008-09-19 Jakub Jelinek <jakub@redhat.com>
9947 Andreas Tobler <a.tobler@schweiz.org>
9948
9949 * config/bsd/proc.c: New file.
8c3b3600 9950 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
9951 * configure.ac: Check for header <sys/sysctl.h>
9952 * configure: Regenerate.
9953 * config.h.in: Likewise.
9954
3606b8bf
JJ
99552008-09-05 Janis Johnson <janis187@us.ibm.com>
9956
9957 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
9958
6528b88d
AL
99592008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
9960
9961 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
9962 * Makefile.in: Regenerated.
9963 * testsuite/Makefile.in: Regenerated.
9964
d9b14b12 99652008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 9966
a16b68bb 9967 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
9968 depend on blddir if blddir exists.
9969 (libgomp_target_compile): Likewise.
9970 * testsuite/libgomp.c++/c++.exp: Likewise.
9971 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9972
70b1e376
RW
99732008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9974
9975 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
9976 Do not list GPL as Invariant Section.
9977
318e8c3f
IG
99782008-07-28 Ilie Garbacea <ilie@mips.com>
9979 Chao-ying Fu <fu@mips.com>
9980
9981 * configure.tgt: Enable futex for MIPS.
9982 * config/linux/mips/futex.h: New file.
9983
4db72361
JJ
99842008-07-16 Jakub Jelinek <jakub@redhat.com>
9985
9986 * team.c (gomp_team_end): Free team immediately if it has
9987 just one thread.
9988
87bd23b8
DE
99892008-07-08 David Edelsohn <edelsohn@gnu.org>
9990
9991 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
9992 * testsuite/libgomp.fortran/fortran.exp: Same.
9993 * testsuite/libgomp.c/c.exp: Same.
9994 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
9995 directory to library path first.
9996
323ff903
KW
99972008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
9998
9999 * env.c (parse_stacksize): Add cast to avoid warning.
10000 (parse_spincount): Likewise.
10001
b357f682
JJ
100022008-06-27 Jakub Jelinek <jakub@redhat.com>
10003
ca2b1311
JJ
10004 * testsuite/libgomp.c/loop-10.c: New test.
10005 * libgomp.c/loop-3.c (main): Add lastprivate clause.
10006 * libgomp.c++/loop-6.C (main): Likewise.
10007
b357f682
JJ
10008 PR debug/36617
10009 * testsuite/libgomp.c/debug-1.c: New test.
10010
09a46078
JJ
100112008-06-19 Jakub Jelinek <jakub@redhat.com>
10012
10013 * testsuite/libgomp.c/nqueens-1.c: New test.
10014
2368a460
JJ
10015 PR c++/36523
10016 * testsuite/libgomp.c++/task-7.C: New function.
10017
18c04407
RW
100182008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10019
10020 * configure: Regenerate.
10021
9c4e59e0
JDA
100222008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10023
10024 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
10025 mutex when HAVE_SYNC_BUILTINS isn't defined.
10026
6ccde948
RW
100272008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10028
10029 * libgomp.texi (omp_test_lock): Fix typo.
10030
b896f9fd
TB
100312008-06-12 Tobias Burnus <burnus@net-b.de>
10032
10033 * omp_lib.f90.in: Add "implicit none".
10034
c34938a8
JJ
100352008-06-12 Jakub Jelinek <jakub@redhat.com>
10036
10037 PR middle-end/36506
10038 * testsuite/libgomp.c/reduction-5.c: New test.
10039
976e44e3
JJ
100402008-06-11 Jakub Jelinek <jakub@redhat.com>
10041
5f836cbb
JJ
10042 * libgomp.h (struct gomp_task): Add in_tied_task field.
10043 * task.c (gomp_init_task): Initialize it.
10044 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
10045 unconditionally. Don't call gomp_team_barrier_wake if
10046 current task is implicit or if(0) from implicit and number of
10047 running tasks is equal to nthreads - 1.
10048
01501fc8
JJ
10049 PR libgomp/36471
10050 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
10051 omp_get_team_size_8): Fix pastos.
10052
976e44e3
JJ
10053 PR libgomp/36469
10054 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
10055 * configure: Regenerated.
10056 * config.h.in: Regenerated.
10057 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
10058 defined.
10059
e919209b
AT
100602008-06-06 Andreas Tobler <a.tobler@schweiz.org>
10061
10062 PR bootstrap/36452
10063 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
10064 (GOMP_loop_ull_dynamic_start): Likewise.
10065 (GOMP_loop_ull_guided_start): Likewise.
10066 (GOMP_loop_ull_ordered_static_start): Likewise.
10067 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
10068 (GOMP_loop_ull_ordered_guided_start): Likewise.
10069
a68ab351
JJ
100702008-06-06 Jakub Jelinek <jakub@redhat.com>
10071 Richard Henderson <rth@redhat.com>
10072 Ulrich Drepper <drepper@redhat.com>
10073 Jakob Blomer <jakob.blomer@ira.uka.de>
10074
10075 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
10076 Substitute also OMP_*LOCK_25*.
10077 * configure: Regenerated.
10078 * config.h.in: Regenerated.
10079 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
10080 ptrlock.c and task.c.
10081 * Makefile.in: Regenerated.
10082 * testsuite/Makefile.in: Regenerated.
10083 * task.c: New file.
10084 * loop_ull.c: New file.
10085 * iter_ull.c: New file.
10086 * libgomp.h: Include ptrlock.h.
10087 (enum gomp_task_kind): New type.
10088 (struct gomp_team): Add task_lock, task_queue, task_count,
10089 task_running_count, single_count fields. Add
10090 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
10091 Remove work_share_lock, generation_mask,
10092 oldest_live_gen, num_live_gen and init_work_shares fields, add
10093 work work_share_list_alloc, work_share_list_free and work_share_chunk
10094 fields. Change work_shares from pointer to pointers into an array.
10095 Change ordered_release field into gomp_sem_t ** from flexible array
10096 member. Add implicit_task and initial_work_shares fields.
10097 Move close to the end of the struct.
10098 (struct gomp_team_state): Add single_count, last_work_share,
10099 active_level and level fields, remove work_share_generation.
10100 (gomp_barrier_handle_tasks): New prototype.
10101 (gomp_finish_task): New inline function.
10102 (struct gomp_work_share): Move chunk_size, end, incr into
10103 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
10104 next_ll fields. Reshuffle fields. Add next_alloc,
10105 next_ws, next_free and inline_ordered_team_ids fields, change
10106 ordered_team_ids into pointer from flexible array member.
10107 Add mode field. Put lock and next into a different cache line
10108 from most of the write-once fields.
10109 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
10110 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
10111 gomp_iter_ull_guided_next): New prototypes.
10112 (gomp_new_icv): New prototype.
10113 (struct gomp_thread): Add thread_pool and task fields.
10114 (struct gomp_thread_pool): New type.
10115 (gomp_new_team): New prototype.
10116 (gomp_team_start): Change type of last argument.
10117 (gomp_new_work_share): Removed.
10118 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
10119 (gomp_work_share_init_done): New static inline.
10120 (gomp_throttled_spin_count_var, gomp_available_cpus,
10121 gomp_managed_threads): New extern decls.
10122 (gomp_init_task): New prototype.
10123 (gomp_spin_count_var): New extern var decl.
10124 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
10125 or no alias support, or if not PIC.
10126 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
10127 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
10128 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
10129 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
10130 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
10131 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
10132 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
10133 gomp_test_nest_lock_25): New prototypes.
10134 (omp_lock_symver, strong_alias): Define.
10135 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
10136 decls.
10137 (gomp_end_task): New.
10138 (struct gomp_task_icv, gomp_global_icv): New.
10139 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
10140 (struct gomp_task): New.
10141 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10142 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10143 (gomp_icv): New.
10144 (gomp_schedule_type): Reorder enum to match
10145 omp_sched_t.
10146 * team.c (struct gomp_thread_start_data): Add thread_pool and task
10147 fields.
10148 (gomp_thread_start): Add gomp_team_barrier_wait call.
10149 For non-nested case remove clearing of docked thread thr fields.
10150 Use pool fields instead of global gomp_* variables. Use
10151 gomp_barrier_wait_last when needed. Initialize ts.active_level.
10152 Create tasks for each member thread.
10153 (free_team): Only destroy team barrier, task_lock here and free it.
10154 (gomp_free_thread): Free last_team if non-NULL.
10155 (gomp_team_end): Call gomp_team_barrier_wait instead of
10156 gomp_barrier_wait. For nested case call one extra
10157 gomp_barrier_wait. Move here some destruction from free_team.
10158 Call free_team on pool->last_team if any, rather than freeing
10159 current team. Destroy work_share_list_free_lock ifndef
10160 HAVE_SYNC_BUILTINS.
10161 (gomp_new_icv): New function.
10162 (gomp_threads, gomp_threads_size, gomp_threads_used,
10163 gomp_threads_dock): Removed.
10164 (gomp_thread_destructor): New variable.
10165 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
10166 functions.
10167 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 10168 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
10169 Initialize thread_pool field for new threads. Clear single_count.
10170 Change last argument from ws to team, don't create
10171 new team, set ts.work_share to &team->work_shares[0] and clear
10172 ts.last_work_share. Don't clear ts.work_share_generation.
10173 If number of threads changed, adjust atomically gomp_managed_threads.
10174 Use gomp_init_task instead of gomp_new_task,
10175 set thr->task to the corresponding implicit_task array entry.
10176 Create tasks for each member thread. Initialize ts.level.
10177 (initialize_team): Call pthread_key_create on
10178 gomp_thread_destructor.
10179 (team_destructor): New function.
10180 (new_team): Removed.
10181 (gomp_new_team): New function.
10182 (free_team): Free gomp_work_share blocks chained through next_alloc,
10183 instead of freeing work_shares and destroying work_share_lock.
10184 (gomp_team_end): Call gomp_fini_work_share. If number of threads
10185 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
10186 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
10187 of gomp_barrier_wait.
10188 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
10189 instead of gomp_barrier_wait. Call gomp_work_share_init_done
10190 if gomp_work_share_start returned true. Don't unlock ws->lock.
10191 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
10192 of gomp_barrier_wait.
10193 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
10194 gomp_work_share_init_done if gomp_work_share_start returned true.
10195 Don't unlock ws->lock.
10196 * work.c: Include stddef.h.
10197 (free_work_share): Use work_share_list_free_lock instead
10198 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
10199 Call gomp_fini_work_share and then either free ws if orphaned, or
10200 put it into work_share_list_free list of the current team.
10201 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
10202 functions.
10203 (gomp_work_share_start, gomp_work_share_end,
10204 gomp_work_share_end_nowait): Rewritten.
10205 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
10206 (openmp_version): Set to 200805.
10207 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10208 omp_sched_guided, omp_sched_auto): New parameters.
10209 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10210 omp_set_max_active_levels, omp_get_max_active_levels,
10211 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10212 omp_get_active_level): New interfaces.
10213 * omp_lib.h.in (openmp_version): Set to 200805.
10214 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10215 omp_sched_guided, omp_sched_auto): New parameters.
10216 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10217 omp_set_max_active_levels, omp_get_max_active_levels,
10218 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10219 omp_get_active_level): New externals.
10220 * loop.c: Include limits.h.
10221 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
10222 GFS_AUTO.
10223 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
10224 Likewise. Use gomp_icv.
10225 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
10226 ts.static_trip here.
10227 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
10228 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
10229 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
10230 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
10231 don't unlock ws->lock, otherwise lock it.
10232 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
10233 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
10234 (gomp_parallel_loop_start): Call gomp_new_team instead of
10235 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
10236 Adjust gomp_team_start caller. Pass 0 as second argument to
10237 gomp_resolve_num_threads.
10238 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
10239 If adding ws->chunk_size nthreads + 1 times after end won't
10240 overflow, set ws->mode to 1.
10241 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
10242 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
10243 GOMP_loop_ull_ordered_static_start,
10244 GOMP_loop_ull_ordered_dynamic_start,
10245 GOMP_loop_ull_ordered_guided_start,
10246 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
10247 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
10248 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
10249 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
10250 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
10251 prototypes.
10252 * libgomp.map: Export lock routines also @@OMP_2.0.
10253 (GOMP_loop_ordered_dynamic_first,
10254 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
10255 GOMP_loop_ordered_static_first): Remove.
10256 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
10257 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
10258 GOMP_loop_ull_ordered_dynamic_next,
10259 GOMP_loop_ull_ordered_dynamic_start,
10260 GOMP_loop_ull_ordered_guided_next,
10261 GOMP_loop_ull_ordered_guided_start,
10262 GOMP_loop_ull_ordered_runtime_next,
10263 GOMP_loop_ull_ordered_runtime_start,
10264 GOMP_loop_ull_ordered_static_next,
10265 GOMP_loop_ull_ordered_static_start,
10266 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
10267 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
10268 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
10269 (omp_set_schedule, omp_get_schedule,
10270 omp_get_thread_limit, omp_set_max_active_levels,
10271 omp_get_max_active_levels, omp_get_level,
10272 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
10273 omp_set_schedule_, omp_set_schedule_8_,
10274 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10275 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10276 omp_get_max_active_levels_, omp_get_level_,
10277 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10278 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10279 New exports @@OMP_3.0.
10280 * omp.h.in (omp_sched_t): New type.
10281 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10282 omp_set_max_active_levels, omp_get_max_active_levels,
10283 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10284 omp_get_active_level): New prototypes.
10285 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
10286 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
10287 gomp_thread_limit_var, gomp_remaining_threads_count,
10288 gomp_remaining_threads_lock): New variables.
10289 (parse_spincount): New function.
10290 (initialize_env): Call gomp_init_num_threads unconditionally.
10291 Initialize gomp_available_cpus. Call parse_spincount,
10292 initialize gomp_{,throttled_}spin_count_var
10293 depending on presence and value of OMP_WAIT_POLICY and
10294 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
10295 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
10296 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
10297 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
10298 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
10299 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10300 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10301 (gomp_global_icv): New.
10302 (parse_schedule): Use it. Parse "auto".
10303 (omp_set_num_threads): Use gomp_icv.
10304 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
10305 Likewise.
10306 (omp_get_max_threads): Move from parallel.c.
10307 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10308 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
10309 add ialias.
10310 (parse_stacksize, parse_wait_policy): New functions.
10311 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
10312 both wrappers for compatibility and new locks.
10313 (omp_set_schedule, omp_get_schedule,
10314 omp_get_thread_limit, omp_set_max_active_levels,
10315 omp_get_max_active_levels, omp_get_level,
10316 omp_get_ancestor_thread_num, omp_get_team_size,
10317 omp_get_active_level): New ialias_redirect.
10318 (omp_set_schedule_, omp_set_schedule_8_,
10319 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10320 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10321 omp_get_max_active_levels_, omp_get_level_,
10322 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10323 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10324 New functions.
10325 * parallel.c: Include limits.h.
10326 (gomp_resolve_num_threads): Add count argument. Rewritten.
10327 (GOMP_parallel_start): Call gomp_new_team and pass that as last
10328 argument to gomp_team_start. Pass 0 as second argument to
10329 gomp_resolve_num_threads.
10330 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
10331 if gomp_thread_limit_var != ULONG_MAX.
10332 (omp_in_parallel): Implement using ts.active_level.
10333 (omp_get_max_threads): Move to env.c.
10334 (omp_get_level, omp_get_ancestor_thread_num,
10335 omp_get_team_size, omp_get_active_level): New functions,
10336 add ialias.
10337 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
10338 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
10339 gomp_iter_dynamic_next instead of the _locked variant and don't take
10340 lock around it, otherwise acquire it before calling
10341 gomp_iter_dynamic_next_locked.
10342 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
10343 gomp_iter_dynamic_next instead of the _locked variant and don't take
10344 lock around it.
10345 (GOMP_parallel_sections_start): Call gomp_new_team instead of
10346 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
10347 Adjust gomp_team_start caller. Pass count as second argument to
10348 gomp_resolve_num_threads, don't adjust num_threads after the call.
10349 Use gomp_icv.
10350 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
10351 ws->chunk_size by incr.
10352 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
10353 code.
10354 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
10355 types.
10356 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
10357 (omp_check_defines): Check even the compat defines.
10358 * config/linux/ptrlock.c: New file.
10359 * config/linux/ptrlock.h: New file.
10360 * config/linux/wait.h: New file.
10361 * config/posix/ptrlock.c: New file.
10362 * config/posix/ptrlock.h: New file.
10363 * config/linux/bar.h (gomp_team_barrier_wait,
10364 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
10365 (gomp_team_barrier_set_task_pending,
10366 gomp_team_barrier_clear_task_pending,
10367 gomp_team_barrier_set_waiting_for_tasks,
10368 gomp_team_barrier_waiting_for_tasks,
10369 gomp_team_barrier_done): New inlines.
10370 (gomp_barrier_t): Rewritten.
10371 (gomp_barrier_state_t): New typedef.
10372 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
10373 gomp_barrier_wait_start): Rewritten.
10374 (gomp_barrier_wait_end): Change second argument to
10375 gomp_barrier_state_t.
10376 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
10377 inlines.
10378 * config/linux/bar.c: Include wait.h instead of libgomp.h and
10379 futex.h.
10380 (gomp_barrier_wait_end): Rewritten.
10381 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
10382 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
10383 * config/posix/bar.h (gomp_barrier_t): Add generation field.
10384 (gomp_barrier_state_t): New typedef.
10385 (gomp_team_barrier_wait,
10386 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
10387 (gomp_barrier_wait_start): Or all but low 2 bits from generation
10388 into the return value. Return gomp_barrier_state_t.
10389 (gomp_team_barrier_set_task_pending,
10390 gomp_team_barrier_clear_task_pending,
10391 gomp_team_barrier_set_waiting_for_tasks,
10392 gomp_team_barrier_waiting_for_tasks,
10393 gomp_team_barrier_done): New inlines.
10394 (gomp_barrier_wait_end): Change second argument to
10395 gomp_barrier_state_t.
10396 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
10397 inlines.
10398 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
10399 (gomp_barrier_wait_end): Change second argument to
3e348fcc 10400 gomp_barrier_state_t.
a68ab351
JJ
10401 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
10402 gomp_team_barrier_wake): New functions.
10403 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
10404 futex.h.
10405 (gomp_futex_wake, gomp_futex_wait): New variables.
10406 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
10407 * config/linux/lock.c: Rewrite to make locks task owned,
10408 for backwards compatibility provide the old entrypoints
10409 if symbol versioning. Include wait.h instead of libgomp.h and
10410 futex.h.
10411 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
10412 * config/posix95/lock.c: Rewrite to make locks task owned,
10413 for backwards compatibility provide the old entrypoints
10414 if symbol versioning.
10415 * config/posix/lock.c: Rewrite to make locks task owned,
10416 for backwards compatibility provide the old entrypoints
10417 if symbol versioning.
10418 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
10419 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
10420 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
10421 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10422 (sys_futex0): Return error code.
10423 (futex_wake, futex_wait): If ENOSYS was returned, clear
10424 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10425 (cpu_relax, atomic_write_barrier): New static inlines.
10426 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10427 (futex_wake, futex_wait): If ENOSYS was returned, clear
10428 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10429 (cpu_relax, atomic_write_barrier): New static inlines.
10430 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10431 (sys_futex0): Return error code.
10432 (futex_wake, futex_wait): If ENOSYS was returned, clear
10433 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10434 (cpu_relax, atomic_write_barrier): New static inlines.
10435 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10436 (sys_futex0): Return error code.
10437 (futex_wake, futex_wait): If ENOSYS was returned, clear
10438 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10439 (cpu_relax, atomic_write_barrier): New static inlines.
10440 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10441 (sys_futex0): Return error code.
10442 (futex_wake, futex_wait): If ENOSYS was returned, clear
10443 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10444 (cpu_relax, atomic_write_barrier): New static inlines.
10445 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10446 (sys_futex0): Return error code.
10447 (futex_wake, futex_wait): If ENOSYS was returned, clear
10448 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10449 (cpu_relax, atomic_write_barrier): New static inlines.
10450 * config/linux/sem.c: Include wait.h instead of libgomp.h and
10451 futex.h.
10452 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
10453 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
10454 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
10455 types.
10456 (omp_nest_lock_t): Change owner into void *, add lock field.
10457 * config/posix95/omp-lock.h: Include semaphore.h.
10458 (omp_lock_25_t, omp_nest_lock_25_t): New types.
10459 (omp_lock_t): Use sem_t instead of mutex if semaphores
10460 aren't broken.
10461 (omp_nest_lock_t): Likewise. Change owner to void *.
10462 * config/posix/omp-lock.h: Include semaphore.h.
10463 (omp_lock_25_t, omp_nest_lock_25_t): New types.
10464 (omp_lock_t): Use sem_t instead of mutex if semaphores
10465 aren't broken.
10466 (omp_nest_lock_t): Likewise. Add owner field.
10467
104682008-06-06 Jakub Jelinek <jakub@redhat.com>
10469
10470 * testsuite/libgomp.c/collapse-1.c: New test.
10471 * testsuite/libgomp.c/collapse-2.c: New test.
10472 * testsuite/libgomp.c/collapse-3.c: New test.
10473 * testsuite/libgomp.c/icv-1.c: New test.
10474 * testsuite/libgomp.c/icv-2.c: New test.
10475 * testsuite/libgomp.c/lib-2.c: New test.
10476 * testsuite/libgomp.c/lock-1.c: New test.
10477 * testsuite/libgomp.c/lock-2.c: New test.
10478 * testsuite/libgomp.c/lock-3.c: New test.
10479 * testsuite/libgomp.c/loop-4.c: New test.
10480 * testsuite/libgomp.c/loop-5.c: New test.
10481 * testsuite/libgomp.c/loop-6.c: New test.
10482 * testsuite/libgomp.c/loop-7.c: New test.
10483 * testsuite/libgomp.c/loop-8.c: New test.
10484 * testsuite/libgomp.c/loop-9.c: New test.
10485 * testsuite/libgomp.c/nested-3.c: New test.
10486 * testsuite/libgomp.c/nestedfn-6.c: New test.
10487 * testsuite/libgomp.c/sort-1.c: New test.
10488 * testsuite/libgomp.c/task-1.c: New test.
10489 * testsuite/libgomp.c/task-2.c: New test.
10490 * testsuite/libgomp.c/task-3.c: New test.
10491 * testsuite/libgomp.c/task-4.c: New test.
10492 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
10493 to C++ testsuite default compiler options.
10494 * testsuite/libgomp.c++/collapse-1.C: New test.
10495 * testsuite/libgomp.c++/collapse-2.C: New test.
10496 * testsuite/libgomp.c++/ctor-10.C: New test.
10497 * testsuite/libgomp.c++/for-1.C: New test.
10498 * testsuite/libgomp.c++/for-2.C: New test.
10499 * testsuite/libgomp.c++/for-3.C: New test.
10500 * testsuite/libgomp.c++/for-4.C: New test.
10501 * testsuite/libgomp.c++/for-5.C: New test.
10502 * testsuite/libgomp.c++/loop-8.C: New test.
10503 * testsuite/libgomp.c++/loop-9.C: New test.
10504 * testsuite/libgomp.c++/loop-10.C: New test.
10505 * testsuite/libgomp.c++/task-1.C: New test.
10506 * testsuite/libgomp.c++/task-2.C: New test.
10507 * testsuite/libgomp.c++/task-3.C: New test.
10508 * testsuite/libgomp.c++/task-4.C: New test.
10509 * testsuite/libgomp.c++/task-5.C: New test.
10510 * testsuite/libgomp.c++/task-6.C: New test.
10511 * testsuite/libgomp.fortran/allocatable1.f90: New test.
10512 * testsuite/libgomp.fortran/allocatable2.f90: New test.
10513 * testsuite/libgomp.fortran/allocatable3.f90: New test.
10514 * testsuite/libgomp.fortran/allocatable4.f90: New test.
10515 * testsuite/libgomp.fortran/collapse1.f90: New test.
10516 * testsuite/libgomp.fortran/collapse2.f90: New test.
10517 * testsuite/libgomp.fortran/collapse3.f90: New test.
10518 * testsuite/libgomp.fortran/collapse4.f90: New test.
10519 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
10520 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
10521 * testsuite/libgomp.fortran/lib4.f90: New test.
10522 * testsuite/libgomp.fortran/lock-1.f90: New test.
10523 * testsuite/libgomp.fortran/lock-2.f90: New test.
10524 * testsuite/libgomp.fortran/nested1.f90: New test.
10525 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
10526 * testsuite/libgomp.fortran/strassen.f90: New test.
10527 * testsuite/libgomp.fortran/tabs1.f90: New test.
10528 * testsuite/libgomp.fortran/tabs2.f: New test.
10529 * testsuite/libgomp.fortran/task1.f90: New test.
10530 * testsuite/libgomp.fortran/task2.f90: New test.
10531 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
10532 * testsuite/libgomp.fortran/vla5.f90: Likewise.
10533 * testsuite/libgomp.c/pr26943-2.c: Likewise.
10534 * testsuite/libgomp.c/pr26943-3.c: Likewise.
10535 * testsuite/libgomp.c/pr26943-4.c: Likewise.
10536
7a0112e7
JJ
105372008-05-23 Jakub Jelinek <jakub@redhat.com>
10538
10539 PR c++/36308
10540 * testsuite/libgomp.c++/ctor-11.C: New test.
10541 * testsuite/libgomp.c++/ctor-12.C: New test.
10542
91a5b394
JJ
105432008-05-15 Janis Johnson <janis187@us.ibm.com>
10544
10545 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
10546
c18c98c0
JJ
105472008-05-07 Jakub Jelinek <jakub@redhat.com>
10548
10549 PR middle-end/36106
10550 * testsuite/libgomp.c/atomic-5.c: New test.
10551 * testsuite/libgomp.c/atomic-6.c: New test.
10552 * testsuite/libgomp.c/autopar-1.c: New test.
10553
6d26724a
RW
105542008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10555
10556 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
10557 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
10558 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
10559 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
10560 * configure: Regenerate.
10561 * Makefile.in, testsuite/Makefile.in: Likewise.
10562
deb984e6
PB
105632008-04-18 Paolo Bonzini <bonzini@gnu.org>
10564
10565 PR bootstrap/35457
10566 * aclocal.m4: Regenerate.
10567 * configure: Regenerate.
10568
9e775963
JJ
105692008-03-18 Jakub Jelinek <jakub@redhat.com>
10570
8119fc93
JJ
10571 PR middle-end/35611
10572 * testsuite/libgomp.c/atomic-4.c: New test.
10573
9e775963
JJ
10574 PR libgomp/35625
10575 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
10576 (gomp_iter_guided_next): Likewise.
10577 * testsuite/libgomp.c/pr35625.c: New test.
10578
38d24731
RW
105792008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10580
10581 * aclocal.m4: Regenerate.
10582 * configure: Likewise.
10583 * Makefile.in: Likewise.
10584 * testsuite/Makefile.in: Likewise.
10585
d0fb20be
JJ
105862008-03-13 Jakub Jelinek <jakub@redhat.com>
10587
10588 PR middle-end/35185
10589 * testsuite/libgomp.c++/pr35185.C: New test.
10590
7c8f7639
JJ
105912008-03-12 Jakub Jelinek <jakub@redhat.com>
10592
10593 PR middle-end/35549
10594 * testsuite/libgomp.c/pr35549.c: New test.
10595
251923f5
JJ
105962008-03-06 Jakub Jelinek <jakub@redhat.com>
10597
10598 * testsuite/libgomp.c/atomic-3.c: New test.
10599
f489fba1
FXC
106002008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10601
10602 PR fortran/33197
251923f5 10603 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
10604 .F08 file suffixes.
10605
a1b25e49
PG
106062008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
10607
10608 PR libgomp/33131
10609 * configure.ac: Add ACX_HEADER_STRING.
10610 * env.c: Include strings.h.
10611 * aclocal.m4: Regenerate.
10612 * config.h.in: Regenerate.
10613 * configure: Regenerate.
10614 * Makefile.in: Regenerate.
10615 * testsuite/Makefile.in: Regenerate.
10616
6837b3b8
JJ
106172008-02-15 Jakub Jelinek <jakub@redhat.com>
10618
ac84c062
JJ
10619 PR middle-end/35196
10620 * testsuite/libgomp.c/pr35196.c: New test.
10621
6837b3b8
JJ
10622 PR middle-end/35130
10623 * testsuite/libgomp.fortran/pr35130.f90: New test.
10624 * testsuite/libgomp.c/pr35130.c: New test.
10625
c256730c
JJ
106262008-01-25 Jakub Jelinek <jakub@redhat.com>
10627
10628 PR middle-end/33880
10629 * testsuite/libgomp.c/pr33880.c: New test.
10630 * testsuite/libgomp.fortran/pr33880.f90: New test.
10631
c8e95542 106322008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
10633
10634 * configure: Regenerate.
10635
0f3e711e
JJ
106362008-01-08 Jakub Jelinek <jakub@redhat.com>
10637
10638 * configure.ac: Move futex checking into ../config/futex.m4.
10639 * configure: Rebuilt.
10640 * aclocal.m4: Rebuilt.
10641 * Makefile.in: Rebuilt.
10642
10643 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
10644 2007-10-15 ../config/tls.m4 change.
10645
5259c813
JJ
106462007-12-19 Jakub Jelinek <jakub@redhat.com>
10647
10648 PR c++/34513
10649 * testsuite/libgomp.c/pr34513.c: New test.
10650 * testsuite/libgomp.c++/pr34513.C: New test.
10651
ae8d8879
JH
106522007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
10653
10654 PR target/32765
10655 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
10656
2b4cf991
JJ
106572007-12-04 Jakub Jelinek <jakub@redhat.com>
10658
10659 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
10660
d2dda7fe
JJ
106612007-12-03 Jakub Jelinek <jakub@redhat.com>
10662
10663 * testsuite/libgomp.c/private-1.c: New test.
10664
d683ec81
PB
106652007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
10666 Paolo Bonzini <bonzini@gnu.org>
10667
10668 * Makefile.am: Use space as vpath separator. Use 'vpath %'
10669 instead of 'VPATH ='.
10670 * Makefile.in: Regenerate.
10671
a7415017
MK
106722007-11-23 Matthias Klose <doko@ubuntu.com>
10673
10674 * configure.ac: Adjust makeinfo version check.
10675 * configure: Regenerate.
10676
78e47463
JJ
106772007-11-10 Jakub Jelinek <jakub@redhat.com>
10678
10679 PR fortran/34020
10680 * testsuite/libgomp.fortran/pr34020.f90: New test.
10681
239371f9
JJ
106822007-11-06 Jakub Jelinek <jakub@redhat.com>
10683
10684 PR c++/33894
10685 * testsuite/libgomp.c++/atomic-1.C: New test.
10686
98a5fa94
JJ
106872007-10-25 Jakub Jelinek <jakub@redhat.com>
10688
10689 PR libgomp/33275
10690 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
10691 Make x and y integers rather than (implicit) reals. Add private (j)
10692 clause to the last omp parallel.
10693
3afcaaf4
MR
106942007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
10695
10696 * configure: Regenerate following changes to ../config/tls.m4.
10697
bd69daef
JJ
106982007-09-28 Jakub Jelinek <jakub@redhat.com>
10699
10700 * testsuite/libgomp.fortran/stack.f90: New test.
10701
1d0bd356
DS
107022007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
10703
10704 * config/mingw32/proc.c: New file.
10705
b3172cab
UB
107062007-09-05 Uros Bizjak <ubizjak@gmail.com>
10707
10708 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
10709 (main): Use __get_cpuid to get i386 target fetaures.
10710 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
10711 (main): Use __get_cpuid to get x86_64 target fetaures.
10712
6da17392
JH
107132007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
10714
10715 PR target/32765
10716 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
10717 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
10718
e1c82219
JJ
107192007-07-12 Jakub Jelinek <jakub@redhat.com>
10720
10721 PR fortran/32550
10722 * testsuite/libgomp.fortran/pr32550.f90: New test.
10723 * testsuite/libgomp.fortran/crayptr2.f90: New test.
10724
12a27363
L
107252007-07-05 H.J. Lu <hongjiu.lu@intel.com>
10726
10727 * aclocal.m4: Regenerated.
10728
5349080d
TB
107292007-07-05 Tobias Burnus <burnus@net-b.de>
10730
10731 PR fortran/32359
10732 * testsuite/libgomp.fortran/pr32359.f90: New.
10733
4f9c450c
JJ
107342007-07-02 Jakub Jelinek <jakub@redhat.com>
10735
10736 PR libgomp/32468
10737 * sections.c (GOMP_parallel_sections_start): Only decrease
10738 number of threads to COUNT if dyn_var is true.
10739 * testsuite/libgomp.c/pr32468.c: New test.
10740
28c67ed7
RO
107412007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
10742
10743 PR libgomp/26308
10744 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
10745
64964499
JJ
107462007-06-21 Jakub Jelinek <jakub@redhat.com>
10747
10748 PR middle-end/32362
10749 * testsuite/libgomp.c/pr32362-1.c: New test.
10750 * testsuite/libgomp.c/pr32362-2.c: New test.
10751 * testsuite/libgomp.c/pr32362-3.c: New test.
10752
46d8fbd1
JJ
107532007-06-07 Jakub Jelinek <jakub@redhat.com>
10754
10755 * team.c (gomp_team_start): Fix setting up thread_attr
10756 stack size.
10757
82a6cadf
PB
107582007-06-02 Paolo Bonzini <bonzini@gnu.org>
10759
10760 * configure: Regenerate.
10761
1cf3d07d
SE
107622007-05-23 Steve Ellcey <sje@cup.hp.com>
10763
10764 * Makefile.in: Regenerate.
10765 * configure: Regenerate.
10766 * aclocal.m4: Regenerate.
10767 * testsuite/Makefile.in: Regenerate.
10768
12aac30b
JJ
107692007-05-04 Jakub Jelinek <jakub@redhat.com>
10770
10771 * config/linux/proc.c: New file.
10772
f1028b02
JJ
10773 PR libgomp/28482
10774 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
10775
06785a48
DF
107762007-04-19 Daniel Franke <franke.daniel@gmail.com>
10777
10778 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
10779
b3b08ba0
MK
107802007-04-16 Matthias Klose <doko@debian.org>
10781
10782 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
10783 flags if not building with -m64.
10784 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
10785 flag for i?86-*-* targets, if current target matches -m64.
10786
6b2c5ce0
SE
107872007-04-14 Steve Ellcey <sje@cup.hp.com>
10788
10789 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
10790 * Makefile.in: Regenerate.
10791
dd56fe7c
JDA
107922007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10793
10794 PR testsuite/31369
10795 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
10796 ld_library_path.
10797 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10798
a0884cf0
JJ
107992007-04-04 Jakub Jelinek <jakub@redhat.com>
10800
10801 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
10802 decls.
10803 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
10804 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
10805 (parse_affinity): New function.
10806 (initialize_env): Call it and gomp_init_affinity.
10807 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
10808 create new pthread_attr_t and call gomp_init_thread_affinity
10809 on it for each thread before passing the attribute to pthread_create.
10810 * config/linux/affinity.c: New file.
10811 * config/posix/affinity.c: New file.
10812 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
10813 * configure: Rebuilt.
10814 * config.h.in: Rebuilt.
10815 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
10816 * Makefile.in: Rebuilt.
10817
1850744b
AT
108182007-03-23 Andreas Tobler <a.tobler@schweiz.org>
10819
10820 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
10821 *-*-darwin*.
10822 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
10823 and use it if found.
10824
516f1ed8
UB
108252007-03-18 Uros Bizjak <ubizjak@gmail.com>
10826
10827 * testsuite/config/default.exp: New file.
10828 * testsuite/lib/libgomp.exp: New file.
10829 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
10830 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
10831 load_lib *, load_gcc_lib *): Move to libgomp.exp.
10832 (libgomp_load): Remove.
10833 * testsuite/lib/libgomp.exp (libgomp_init): Compute
10834 always_ld_library_path, not ld_library_path. Set additional_flags
10835 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
10836 (target_compile): Do not call libgomp_init. Append lang_library_path
10837 and lang_link_flags to options.
10838 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
10839 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
10840 here.
10841 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
10842 always_ld_library_path. Set LD_LIBRARY_PATH here.
10843 * testsuite/libgomp.fortran/fortran.exp: Ditto.
10844 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
10845 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
10846 CX8 flag.
10847 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
10848 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
10849 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
10850 * testsuite/libgomp.c/pr29947-1.c: Ditto.
10851 * testsuite/libgomp.c/atomic-10.c: Ditto.
10852
2ada56f5
JJ
108532007-03-21 Jakub Jelinek <jakub@redhat.com>
10854
10855 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
10856 dg-final cleanup-modules line.
10857 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
10858 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
10859 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
10860 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
10861 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
10862 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
10863 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
10864
f210f1cd
AS
108652007-03-18 Andreas Schwab <schwab@suse.de>
10866
10867 * acinclude.m4: Adjust regular expression for ld version
10868 extraction.
10869 * configure: Regenerate.
10870
c4dc950d
BM
108712007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
10872
10873 * Makefile.am: Add install-pdf target as copied from
10874 automake v1.10 rules.
10875 * Makefile.in: Regenerate
10876
e02a048f
JJ
108772007-02-07 Jakub Jelinek <jakub@redhat.com>
10878
78e075d4
JJ
10879 PR libgomp/28486
10880 * configure: Regenerate.
10881
e02a048f
JJ
10882 PR c++/30703
10883 * testsuite/libgomp.c++/pr30703.C: New test.
10884
60def7ed
JJ
108852007-02-02 Jakub Jelinek <jakub@redhat.com>
10886
10887 Revert:
10888 2006-07-05 Eric Christopher <echristo@apple.com>
10889 * configure.ac: Depend addition of -pthread on host OS.
10890 * configure: Regenerate.
10891
f1b0882e
RW
108922007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10893
10894 * libgomp.texi: Fix spacing after abbreviations.
10895
748b9d7c
DF
108962007-01-31 Daniel Franke <franke.daniel@gmail.com>
10897
10898 PR libgomp/30546
10899 * configure.ac: Add check for makeinfo
10900 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
10901 if an appropiate version of makeinfo is found.
10902 * aclocal.m4: Regenerated.
10903 * configure: Regenerated.
10904 * Makefile.in: Regenerated.
10905 * testsuite/Makefile.in: Regenerated.
10906
14734fc7
DF
109072007-01-29 Daniel Franke <franke.daniel@gmail.com>
10908
10909 PR libgomp/30540
10910 * libgomp.texi: More about implementation-dependent settings.
10911
7befd5d2
TB
109122007-01-26 Tobias Burnus <burnus@net-b.de>
10913
10914 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
10915
4288fea2
JJ
109162007-01-24 Jakub Jelinek <jakub@redhat.com>
10917
10918 PR middle-end/30494
10919 * testsuite/libgomp.c/pr30494.c: New test.
10920
627ab4b8
TT
109212007-01-15 Tom Tromey <tromey@redhat.com>
10922
10923 * configure: Rebuilt.
10924 * configure.ac: Fixed comment.
10925
7c2b7f45
DF
109262007-01-14 Daniel Franke <franke.daniel@gmail.com>
10927
10928 * libgomp.texi: Document implementation specific default values of
10929 environment variables.
10930
3721b9e1
DF
109312006-12-21 Daniel Franke <franke.daniel@gmail.com>
10932
10933 PR libgomp/28209
10934 * libgomp.texi: New file.
10935 * configure.ac: Add --enable-generated-files-in-srcdir option.
10936 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
10937 files to srcdir.
10938 * Makefile.in: Regenerated.
10939 * config.h.in: Regenerated.
10940 * testsuite/Makefile.in: Regenerated.
10941 * NOTES: Removed.
10942
62bd6216
DF
109432006-12-04 Daniel Franke <franke.daniel@gmail.com>
10944
10945 PR libgomp/29949
10946 * env.c (omp_set_num_threads): Set illegal thread count to 1.
10947
aad741f4
EB
109482006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
10949
10950 * configure: Regenerate.
10951
22568cc6
JJ
109522006-12-04 Jakub Jelinek <jakub@redhat.com>
10953
10954 PR libgomp/29947
10955 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
10956 start if there shouldn't be any loop iterations.
10957 (gomp_loop_ordered_static_start): Remove start == end test.
10958 * testsuite/libgomp.c/pr29947-1.c: New test.
10959 * testsuite/libgomp.c/pr29947-2.c: New test.
10960
a9690009
EB
109612006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
10962
10963 * configure.tgt: Force initial-exec TLS model on Linux only.
10964
597c25e6
DJ
109652006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
10966
10967 * configure: Regenerated.
10968
6acf0b38
UB
109692006-11-09 Uros Bizjak <ubizjak@gmail.com>
10970
10971 * env.c (parse_schedule): Reject out of range values.
10972 (parse_unsigned_long): Reject out of range, negative or zero values.
10973
a7a53ca5
JJ
109742006-10-29 Jakub Jelinek <jakub@redhat.com>
10975
10976 PR fortran/29629
10977 * testsuite/libgomp.fortran/pr29629.f90: New test.
10978
6d4d216a
EB
109792006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
10980
10981 PR libgomp/29494
10982 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
10983 * config/posix95: New directory.
10984 * config/posix95/omp-lock.h: New file.
10985 * config/posix95/lock.c: Likewise.
10986
5b043f08
GK
109872006-10-14 Geoffrey Keating <geoffk@apple.com>
10988
10989 * aclocal.m4: Regenerate.
10990 * configure: Regenerate.
10991
b50019f0
DS
109922006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10993
10994 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
10995 '<' to '<='.
10996
8887708e
DS
109972006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
10998
10999 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
11000 test.
11001 * configure: Regenerate.
11002 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
11003
9b9e4cd6
JJ
110042006-09-26 Jakub Jelinek <jakub@redhat.com>
11005
a70ad3bb
JJ
11006 PR middle-end/25261
11007 PR middle-end/28790
11008 * testsuite/libgomp.c/nestedfn-4.c: New test.
11009 * testsuite/libgomp.c/nestedfn-5.c: New test.
11010 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
11011
9b9e4cd6
JJ
11012 PR fortran/29097
11013 * testsuite/libgomp.fortran/condinc1.f: New test.
11014 * testsuite/libgomp.fortran/condinc2.f: New test.
11015 * testsuite/libgomp.fortran/condinc3.f90: New test.
11016 * testsuite/libgomp.fortran/condinc4.f90: New test.
11017 * testsuite/libgomp.fortran/condinc1.inc: New file.
11018
2fb31455
TT
110192006-09-18 Tom Tromey <tromey@redhat.com>
11020
11021 * configure: Rebuilt.
11022
c663e301
JM
110232006-09-13 Joseph S. Myers <joseph@codesourcery.com>
11024
11025 PR c/28768
11026 PR preprocessor/14634
11027 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
11028 to AC_DEFINE.
11029 * configure: Regenerate.
11030
38371be9
SK
110312006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
11032
11033 * testsuite/libgomp.fortran/reduction3.f90: Change
11034 -2147483648 to -huge(i)-1 to avoid overflow.
11035 * testsuite/libgomp.fortran/reduction4.f90: Change
11036 Z'ffffffff' to not(0) to avoid overflow.
11037
571d5ac5
JM
110382006-08-26 Joseph S. Myers <joseph@codesourcery.com>
11039
11040 PR libgomp/25938
11041 * Makefile.am (libsubincludedir): New.
11042 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
11043 * Makefile.in: Regenerate.
11044
89b3e3cd
JJ
110452006-08-17 Jakub Jelinek <jakub@redhat.com>
11046
11047 PR libgomp/28725
11048 * env.c: Include ctype.h.
11049 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
11050 leading and/or trailing whitespace and compare strings case
11051 insensitively.
11052
742fae05
JJ
110532006-07-16 Jakub Jelinek <jakub@redhat.com>
11054
11055 PR fortran/28390
11056 * testsuite/libgomp.fortran/pr28390.f: New test.
11057
a1daed2d
EC
110582006-07-05 Eric Christopher <echristo@apple.com>
11059
11060 * configure.ac: Depend addition of -pthread on host OS.
11061 * configure: Regenerate.
11062
5d7b5199
JJ
110632006-06-21 Jakub Jelinek <jakub@redhat.com>
11064
11065 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
11066 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
11067 defined.
11068
fe5568e9
JJ
110692006-06-20 Jakub Jelinek <jakub@redhat.com>
11070
11071 PR libgomp/26175
11072 PR libgomp/26477
11073 * configure.ac: If neither --enable-linux-futex nor
11074 --disable-linux-futex is passed, determine the default by checking
11075 for compiling and/or running against NPTL. With --enable-linux-futex,
11076 check if SYS_gettid and SYS_futex are defined.
11077 * configure: Rebuilt.
11078
c3b11a40
RH
110792006-06-14 Richard Henderson <rth@redhat.com>
11080
11081 PR libgomp/28008
11082 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
11083 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
11084
d0d1b24d
RH
110852006-06-09 Richard Henderson <rth@redhat.com>
11086
11087 * env.c (gomp_nthreads_var): Change to unsigned long.
11088 (gomp_run_sched_chunk): Likewise.
11089 (parse_unsigned_long): Rename from parse_num_threads and generalize.
11090 (initialize_env): Initialize gomp_thread_attr.
11091 * libgomp.h (gomp_nthreads_var): Update decl.
11092 (gomp_run_sched_chunk): Likewise.
11093 (gomp_thread_attr): Declare.
11094 * team.c (gomp_thread_attr): Export.
11095 (initialize_team): Don't initialize it.
11096
cd75853e
JJ
110972006-06-09 Jakub Jelinek <jakub@redhat.com>
11098
11099 PR fortran/27916
11100 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
11101 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
11102
33815e0c
FXC
111032006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11104
11105 * config/mingw32/time.c: New file.
11106 * configure.tgt: Use it.
11107
6667de0d
CD
111082006-05-23 Carlos O'Donell <carlos@codesourcery.com>
11109
11110 * Makefile.am: Add install-html target. Add install-html to .PHONY
11111 * Makefile.in: Regenerate.
11112
e962c46b
JDA
111132006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11114
11115 PR libgomp/27612
11116 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
11117 * testsuite/libgomp.c/critical-1.c: Likewise.
11118 * testsuite/libgomp.c/loop-1.c: Likewise.
11119 * testsuite/libgomp.c/loop-2.c: Likewise.
11120 * testsuite/libgomp.c/single-1.c: Likewise.
11121 * testsuite/libgomp.c/ordered-1.c: Likewise.
11122 * testsuite/libgomp.c/ordered-2.c: Likewise.
11123
eeb1d9e0
JJ
111242006-05-15 Jakub Jelinek <jakub@redhat.com>
11125
11126 PR middle-end/27416
11127 * libgomp.fortran/pr27416-1.f90: New test.
11128
693d710f
JJ
111292006-05-03 Jakub Jelinek <jakub@redhat.com>
11130
11131 PR fortran/27395
11132 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
11133 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
11134
8ca5b2a2
JJ
111352006-05-02 Jakub Jelinek <jakub@redhat.com>
11136
11137 PR c++/26943
11138 * testsuite/libgomp.c/pr26943-1.c: New test.
11139 * testsuite/libgomp.c/pr26943-2.c: New test.
11140 * testsuite/libgomp.c/pr26943-3.c: New test.
11141 * testsuite/libgomp.c/pr26943-4.c: New test.
11142 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
11143 * testsuite/libgomp.c++/pr26943.C: New test.
11144
077b0dfb
JJ
111452006-05-02 Jakub Jelinek <jakub@redhat.com>
11146
11147 PR middle-end/27337
11148 * testsuite/libgomp.c++/pr27337.C: New test.
11149
91b6c26d
JJ
111502006-04-26 Jakub Jelinek <jakub@redhat.com>
11151
11152 PR c/26171
11153 * testsuite/libgomp.c/pr26171.c: New test.
11154
60e1758f
RH
111552006-04-25 Richard Henderson <rth@redhat.com>
11156
11157 PR libgomp/25865
11158 * configure.ac: Use GCC_CHECK_TLS.
11159 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
11160 * Makefile.in, aclocal.m4, configure: Regenerate.
11161
615baed7
MK
111622006-04-10 Matthias Klose <doko@debian.org>
11163
11164 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
11165 directory names containing underscores.
11166
fae2b46b
JJ
111672006-03-21 Jakub Jelinek <jakub@redhat.com>
11168
11169 PR c++/26691
11170 * testsuite/libgomp.c++/pr26691.C: New test.
11171
11a5f608
JJ
111722006-03-13 Jakub Jelinek <jakub@redhat.com>
11173
11174 * testsuite/libgomp.fortran/retval2.f90: New test.
11175
1799e5d5
RH
111762006-03-09 Diego Novillo <dnovillo@redhat.com>
11177
11178 * testsuite/libgomp.c++: New directory.
11179
d349482e
AT
111802006-02-25 Shantonu Sen <ssen@opendarwin.org>
11181
11182 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
11183 * config/posix/sem.c: Implement the above.
11184
111852006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
11186
11187 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
11188 define HAVE_BROKEN_POSIX_SEMAPHORES.
11189 * configure: Rebuilt.
11190 * config.h.in: Rebuilt.
11191
124452c9
FXC
111922006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11193
11194 PR bootstrap/26161
11195 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
11196 for the other pthread check.
11197 * configure: Regenerate.
11198 * config.h.in: Regenerate.
11199
dd8d6dfe
JJ
112002006-02-15 Jakub Jelinek <jakub@redhat.com>
11201
11202 PR libgomp/25938
11203 PR libgomp/25984
11204 * Makefile.am (fincludedir): New variable.
11205 (nodist_include_HEADERS): Remove Fortran files.
11206 (nodist_finclude_HEADERS): New variable.
11207 * Makefile.in: Regenerated.
11208
6c7a4dfd
JJ
112092006-02-13 Jakub Jelinek <jakub@redhat.com>
11210
11211 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
11212 Remove tests for returning assumed character length arrays.
11213
5142e08b
RS
112142006-02-12 Roger Sayle <roger@eyesopen.com>
11215 John David Anglin <dave@hiauly1.hia.nrc.ca>
11216
11217 PR libgomp/25936
11218 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 11219
5821fba8
UW
112202006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
11221
11222 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
11223
cb2bbc67
EB
112242006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
11225
11226 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
11227 part of LD_LIBRARY_PATH manually.
11228
f05ee80c
L
112292006-02-03 H.J. Lu <hongjiu.lu@intel.com>
11230
11231 PR libgomp/25852
11232 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
11233 libgomp_init.
11234
03b8fe49
PB
112352005-01-25 Paolo Bonzini <bonzini@gnu.org>
11236
11237 PR libgomp/25884
f05ee80c
L
11238 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
11239 * configure.ac (PERL): Don't set.
11240 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
11241 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
11242 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
11243 * omp.h.in: Wrap the new configure substitutions with @ characters.
11244 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
11245 * aclocal.m4, configure, Makefile.in: Regenerate.
11246 * mkomp_h.pl: Delete.
03b8fe49 11247
18cbfd85
PB
112482005-01-24 Paolo Bonzini <bonzini@gnu.org>
11249
11250 PR libgomp/25259
11251 * configure.ac: Use GCC_HEADER_STDINT.
11252 * libgomp.h: Include gstdint.h.
11253 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
11254 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
11255
c41303c6
RH
112562006-01-24 Richard Henderson <rth@redhat.com>
11257
11258 PR libgomp/25942
11259 * configure.ac: Add AM_MAINTAINER_MODE.
11260 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
11261
149b9553
DN
112622006-01-24 Diego Novillo <dnovillo@redhat.com>
11263
11264 * Makefile.in: Regenerate.
11265 * testsuite/Makefile.in: Regenerate.
11266 * aclocal.m4: Regenerate.
11267
192a50ad
AT
112682006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
11269
11270 * config/posix/proc.c: Conditional include of sys/loadavg.h for
11271 Solaris.
11272 * configure.ac: Add check for loadavg.h.
11273 (link_gomp): Adjust comment.
11274 * configure: Regenerate.
11275 * config.h.in: Regenerate.
11276
a55b8e18
SE
112772006-01-21 Steve Ellcey <sje@cup.hp.com>
11278
11279 PR libgomp/25877
11280 * configure.ac: Remove check for alloca.h.
11281 * configure: Regenerate.
11282 * config.h.in: Regenerate.
11283 * libgomp.h: define gomp_alloca to be __builtin_alloca.
11284 * team.c: Remove use of alloca.h.
11285 Call gomp_alloca instead of alloca.
11286
692eeb34
SE
112872006-01-20 Steve Ellcey <sje@cup.hp.com>
11288
11289 PR libgomp/25877
11290 * team.c: Add include of alloca.h.
11291 * configure.ac: Add check for alloca.h.
11292 * configure: Regenerate.
11293 * config.h.in: Regenerate.
11294
953ff289
DN
112952006-01-17 Jakub Jelinek <jakub@redhat.com>
11296
11297 PR fortran/25219
11298 * testsuite/libgomp.fortran/pr25219.f90: New test.
11299
113002005-12-05 Uros Bizjak <uros@kss-loka.si>
11301
11302 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
11303 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
11304 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11305 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11306 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
11307 testsuite/libgomp.fortran/threadprivate1.f90,
11308 testsuite/libgomp.fortran/threadprivate2.f90,
11309 testsuite/libgomp.fortran/threadprivate3.f90,
11310 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11311 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11312 testsuite/libgomp.fortran/omp_parse3.f90: Change required
11313 effective-target to TLS runtime.
11314
11315 * testsuite/libgomp.fortran/pr25162.f: Require
11316 effective-target TLS runtime.
11317
113182005-12-01 Jakub Jelinek <jakub@redhat.com>
11319
11320 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
11321 * testsuite/libgomp.c/nestedfn-3.c: New test.
11322
113232005-11-30 Jakub Jelinek <jakub@redhat.com>
11324
11325 PR fortran/25162
11326 * testsuite/libgomp.fortran/pr25162.f: New test.
11327
113282005-11-28 Jakub Jelinek <jakub@redhat.com>
11329
11330 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
11331 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
11332
113332005-11-25 Jakub Jelinek <jakub@redhat.com>
11334
11335 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
11336 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
11337 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
11338 single.c, team.c, work.c, config/linux/alpha/futex.h,
11339 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
11340 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
11341 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
11342 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
11343 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
11344 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
11345 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
11346 FSF address.
11347
113482005-11-18 Jakub Jelinek <jakub@redhat.com>
11349
11350 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
11351 to nodist_noinst_HEADERS.
11352 * Makefile.in: Rebuilt.
11353
11354 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
11355 add integer count field.
11356 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
11357 omp_nest_lock_t type change.
11358 (omp_init_nest_lock): Likewise. Initialize count to 0.
11359 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
11360 Increment count.
11361 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
11362 Decrement count.
11363 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
11364 Increment count if successful and return the new nesting level.
11365 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
11366 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
11367 * testsuite/libgomp.c/lib-1.c: New test.
11368 * testsuite/libgomp.fortran/lib1.f90: New test.
11369 * testsuite/libgomp.fortran/lib2.f: New test.
11370 * testsuite/libgomp.fortran/lib3.f: New test.
11371
113722005-11-17 Richard Henderson <rth@redhat.com>
11373
11374 PR 24845
11375 * Makefile.am (nodist_toolexeclib_HEADERS): New.
11376 * configure.ac (link_gomp): New. Substitute it.
11377 (AC_CONFIG_FILES): Add libgomp.spec.
11378 * libgomp.spec.in: New file.
11379 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
11380 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
11381
113822005-11-18 Jakub Jelinek <jakub@redhat.com>
11383
11384 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
11385 reduction(-:var) behaving the same as reduction(+:var).
11386 * testsuite/libgomp.c/reduction-4.c: New test.
11387
113882005-11-15 Uros Bizjak <uros@kss-loka.si>
11389
11390 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
11391 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
11392 testsuite/libgomp.c/copyin-3.c,
11393 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11394 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11395 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
11396 testsuite/libgomp.c++/pr24455.C,
11397 testsuite/libgomp.fortran/threadprivate1.f90,
11398 testsuite/libgomp.fortran/threadprivate2.f90,
11399 testsuite/libgomp.fortran/threadprivate3.f90,
11400 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11401 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11402 testsuite/libgomp.fortran/omp_parse3.f90: Require
11403 effective-target TLS.
11404
114052005-11-14 Diego Novillo <dnovillo@redhat.com>
11406
11407 * HEADER: Remove.
11408
114092005-11-13 Jakub Jelinek <jakub@redhat.com>
11410
11411 PR libgomp/24797
11412 * team.c (initialize_team): Pass NULL rather than free as
11413 pthread_key_create destructor. Initialize thread specific data
11414 pointer in initial thread to a static local variable rather than
11415 malloced memory.
11416
114172005-11-11 Uros Bizjak <uros@kss-loka.si>
11418
11419 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
11420 its location to ld_library_path.
11421
114222005-11-10 Diego Novillo <dnovillo@redhat.com>
11423
11424 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
11425
114262005-11-10 Diego Novillo <dnovillo@redhat.com>
11427
11428 * testsuite/libgomp.c: Rename from libgomp.dg.
11429
114302005-11-09 Diego Novillo <dnovillo@redhat.com>
11431
11432 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
11433 threadprivate variable 'i'.
11434
114352005-11-09 Jakub Jelinek <jakub@redhat.com>
11436
11437 * config/linux/s390/futex.h: New file.
11438 * configure.tgt: Use it.
11439
11440 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
11441 before the parallel.
11442
114432005-11-08 Jakub Jelinek <jakub@redhat.com>
11444
11445 PR c++/24734
11446 * testsuite/libgomp.c++/master-1.C: New test.
11447
114482005-11-07 Jakub Jelinek <jakub@redhat.com>
11449
11450 * testsuite/libgomp.dg/copyin-3.c: New test.
11451
114522005-11-07 Jakub Jelinek <jakub@redhat.com>
11453
11454 * testsuite/libgomp.fortran/retval1.f90: New test.
11455 * testsuite/libgomp.fortran/vla7.f90: New test.
11456
114572005-11-06 Jakub Jelinek <jakub@redhat.com>
11458
11459 * testsuite/libgomp.fortran/vla2.f90: New test.
11460 * testsuite/libgomp.fortran/vla3.f90: New test.
11461 * testsuite/libgomp.fortran/vla4.f90: New test.
11462 * testsuite/libgomp.fortran/vla5.f90: New test.
11463 * testsuite/libgomp.fortran/vla6.f90: New test.
11464
114652005-11-01 Jakub Jelinek <jakub@redhat.com>
11466
11467 * config/linux/sparc/futex.h: New file.
11468 * configure.tgt: Use it.
11469 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
11470
11471 * critical.c: Include stdlib.h.
11472 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
11473 ignoring return value.
11474 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
11475 LIBGOMP_CHECK_SYNC_BUILTINS check.
11476 * configure: Rebuilt.
11477
114782005-10-31 Jakub Jelinek <jakub@redhat.com>
11479
11480 * testsuite/libgomp.fortran/vla1.f90: New test.
11481
114822005-10-31 Richard Henderson <rth@redhat.com>
11483
11484 * testsuite/libgomp.fortran/character2.f90: Fix race condition
11485 setting 's' in different threads.
11486
114872005-10-31 Jakub Jelinek <jakub@redhat.com>
11488
11489 * libgomp.h (attribute_hidden, ialias): Define.
11490 * config/posix/proc.c (omp_get_num_procs): Add ialias.
11491 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
11492 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
11493 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
11494 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
11495 omp_test_lock, omp_test_nest_lock): Likewise.
11496 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
11497 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
11498 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
11499 omp_test_lock, omp_test_nest_lock): Likewise.
11500 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
11501 omp_get_dynamic, omp_get_nested): Likewise.
11502 * parallel.c (omp_get_num_threads, omp_get_max_threads,
11503 omp_get_thread_num, omp_in_parallel): Likewise.
11504 * fortran.c (ialias_redirect): Define.
11505 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
11506 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
11507 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
11508 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
11509 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
11510 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
11511 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
11512 omp_get_wtime): Add ialias_redirect.
11513
115142005-10-30 Jakub Jelinek <jakub@redhat.com>
11515
11516 * fortran.c: Include stdlib.h.
11517
115182005-10-29 Jakub Jelinek <jakub@redhat.com>
11519
11520 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
11521 * Makefile.in: Regenerated.
11522
115232005-10-28 Jakub Jelinek <jakub@redhat.com>
11524
11525 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
11526 * libgomp_f.h.in (omp_check_defines): New function.
11527 * env.c: Include libgomp_f.h.
11528 (initialize_env): Call omp_check_defines.
11529
11530 * testsuite/libgomp.dg/copyin-2.c: New test.
11531 * testsuite/libgomp.c++/copyin-2.C: New test.
11532 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
11533
11534 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
11535 * testsuite/libgomp.fortran/sharing2.f90: New test.
11536
11537 * testsuite/libgomp.dg/copyin-1.c: New test.
11538 * testsuite/libgomp.c++/copyin-1.C: New test.
11539
115402005-10-26 Jakub Jelinek <jakub@redhat.com>
11541
11542 * testsuite/libgomp.fortran/crayptr1.f90: New test.
11543
11544 * testsuite/libgomp.fortran/workshare1.f90: New test.
11545
11546 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
11547 only test.
11548 * libgomp.fortran/sharing1.f90: New test.
11549
115502005-10-24 Jakub Jelinek <jakub@redhat.com>
11551
11552 PR c++/24502
11553 * testsuite/libgomp.c++/loop-7.C: New test.
11554
11555 * testsuite/libgomp.dg/nestedfn-2.c: New test.
11556
11557 * testsuite/libgomp.dg/nestedfn-1.c: New test.
11558 * testsuite/libgomp.fortran/reduction6.f90: New test.
11559 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
11560
115612005-10-23 Richard Henderson <rth@redhat.com>
11562
11563 * testsuite/libgomp.c++/ctor-1.C: New.
11564 * testsuite/libgomp.c++/ctor-2.C: New.
11565 * testsuite/libgomp.c++/ctor-3.C: New.
11566 * testsuite/libgomp.c++/ctor-4.C: New.
11567 * testsuite/libgomp.c++/ctor-5.C: New.
11568 * testsuite/libgomp.c++/ctor-6.C: New.
11569 * testsuite/libgomp.c++/ctor-7.C: New.
11570 * testsuite/libgomp.c++/ctor-8.C: New.
11571 * testsuite/libgomp.c++/ctor-9.C: New.
11572
115732005-10-21 Diego Novillo <dnovillo@redhat.com>
11574
11575 PR 24455
11576 * testsuite/libgomp.c++/pr24455-1.C: New test.
11577 * testsuite/libgomp.c++/pr24455.C: New test.
11578 * testsuite/libgomp.dg/pr24455-1.c: New test.
11579 * testsuite/libgomp.dg/pr24455.c: New test.
11580
115812005-10-20 Richard Henderson <rth@redhat.com>
11582
11583 * testsuite/libgomp.c++/loop-6.C: New.
11584 * testsuite/libgomp.dg/loop-3.c: New.
11585
115862005-10-20 Jakub Jelinek <jakub@redhat.com>
11587
11588 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
11589 explicitly private.
11590 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
11591 explicitly shared.
11592
115932005-10-19 Diego Novillo <dnovillo@redhat.com>
11594
11595 * testsuite/libgomp.fortran/jacobi.f: New test.
11596
115972005-10-19 Richard Henderson <rth@redhat.com>
11598
11599 * configure.tgt (i?86-linux): Default to with_arch instead of
11600 CFLAGS. Add -mtune to match target_cpu.
11601 (x86_64-linux): Tune to i686.
11602
11603 * fortran.c (omp_test_nest_lock_): Fix typo.
11604
116052005-10-19 Jakub Jelinek <jakub@redhat.com>
11606
11607 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
11608 gomp_ordered_sync): Do nothing if team->nthreads == 1.
11609 * testsuite/libgomp.dg/ordered-3.c: New test.
11610
11611 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
11612 Remove volatile keyword.
11613
11614 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
11615 in COMMON block to avoid warnings on 64-bit targets.
11616
116172005-10-18 Diego Novillo <dnovillo@redhat.com>
11618
11619 * testsuite/libgomp.dg/shared-3.c: New test.
11620
116212005-10-18 Jakub Jelinek <jakub@redhat.com>
11622
11623 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
11624 * testsuite/libgomp.fortran/reduction5.f90: New test.
11625
116262005-10-18 Jakub Jelinek <jakub@redhat.com>
11627
11628 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
11629 dg-options.
11630 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
11631 flush loop now that __sync_synchronize has proper memory barrier.
11632 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
11633 Add -ffixed-form to dg-options.
11634
116352005-10-17 Diego Novillo <dnovillo@redhat.com>
11636
11637 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
11638 from subdirectories.
11639 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
11640 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
11641 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
11642 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
11643 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
11644 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
11645 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
11646 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
11647 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
11648 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
11649 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
11650 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
11651 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
11652 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
11653 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
11654 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
11655 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
11656 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
11657 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
11658 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
11659 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
11660 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
11661 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
11662 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
11663 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
11664
116652005-10-17 Jakub Jelinek <jakub@redhat.com>
11666
11667 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
11668 lang_library_path exists. Use find instead of glob to gather tests.
11669 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
11670
116712005-10-17 Diego Novillo <dnovillo@redhat.com>
11672
11673 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
11674 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
11675 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
11676 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
11677 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
11678 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
11679 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
11680 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
11681 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
11682 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
11683 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
11684 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
11685 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
11686
116872005-10-15 Jakub Jelinek <jakub@redhat.com>
11688
11689 * testsuite/libgomp.dg/vla-1.c: New test.
11690
11691 * testsuite/libgomp.fortran/reference2.f90: New test.
11692
11693 * testsuite/libgomp.fortran/character2.f90: Remove explicit
11694 declaration of omp_get_thread_num.
11695 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
11696 use omp_lib.
11697
11698 * testsuite/libgomp.fortran/reduction1.f90: New test.
11699 * testsuite/libgomp.fortran/reduction2.f90: New test.
11700 * testsuite/libgomp.fortran/reduction3.f90: New test.
11701 * testsuite/libgomp.fortran/reduction4.f90: New test.
11702
117032005-10-13 Richard Henderson <rth@redhat.com>
11704
11705 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
11706 * Makefile.in: Regenerate.
11707 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
11708 * libgomp.h: Include bar.h.
11709 (struct gomp_barrier): Remove.
11710 (struct gomp_team): Add barrier. Replace master_barrier with
11711 master_release. Replace threads with ordered_release.
11712 (struct gomp_thread): Replace barrier with release.
11713 * ordered.c (gomp_ordered_first): Update for ordered_release change.
11714 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
11715 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
11716 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
11717 (GOMP_single_copy_end): Likewise.
11718 * team.c (gomp_threads_dock): New.
11719 (gomp_barrier_init, gomp_barrier_destroy): Remove.
11720 (gomp_thread_start): Use gomp_barrier_wait.
11721 (new_team, free_team): Update for gomp_team changes.
11722 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
11723 (gomp_team_end): Use gomp_barrier_wait.
11724 (initialize_team): Update for gomp_thread changes.
11725 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
11726 (gomp_work_share_end_nowait): Use atomic ops when available.
11727 * config/linux/bar.c, config/linux/bar.h: New files.
11728 * config/posix/bar.c, config/posix/bar.h: New files.
11729
117302005-10-13 Jakub Jelinek <jakub@redhat.com>
11731
11732 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
11733 * testsuite/libgomp.dg/single-2.c: New test.
11734
11735 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
11736 lang_link_flags): Unset, so that they aren't inherited from previously
11737 sourced *.exp.
11738
11739 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
11740
117412005-10-12 Richard Henderson <rth@redhat.com>
11742
11743 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
11744 (libgomp_init): Use lang_test_file, lang_library_path, and
11745 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
11746
11747 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
11748 (lang_test_file, lang_link_flags): New.
11749 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
11750
11751 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
11752 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
11753 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
11754 testsuite/libgomp.c++/parallel-1.C,
11755 testsuite/libgomp.c++/reduction-1.C,
11756 testsuite/libgomp.c++/reduction-2.C,
11757 testsuite/libgomp.c++/reduction-3.C,
11758 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
11759 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
11760 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
11761 New files, largely cribbed from the C testsuite.
11762
117632005-10-12 Jakub Jelinek <jakub@redhat.com>
11764
11765 * testsuite/libgomp.fortran/character1.f90: New test.
11766 * testsuite/libgomp.fortran/character2.f90: New test.
11767
11768 * testsuite/libgomp.dg/nested-1.c: New test.
11769 * testsuite/libgomp.dg/nested-2.c: New test.
11770 * testsuite/libgomp.fortran/do1.f90: New test.
11771 * testsuite/libgomp.fortran/do2.f90: New test.
11772
11773 * testsuite/libgomp.fortran/reference1.f90: New test.
11774
117752005-10-11 Jakub Jelinek <jakub@redhat.com>
11776
11777 * testsuite/libgomp.dg/reduction-1.c: New test.
11778 * testsuite/libgomp.dg/reduction-2.c: New test.
11779 * testsuite/libgomp.dg/reduction-3.c: New test.
11780
117812005-10-10 Jakub Jelinek <jakub@redhat.com>
11782
11783 * testsuite/libgomp.dg/atomic-1.c: New test.
11784 * testsuite/libgomp.dg/atomic-2.c: New test.
11785
117862005-10-09 Richard Henderson <rth@redhat.com>
11787
11788 * critical.c (atomic_lock): New.
11789 (initialize_critical): Initialize it.
11790 (GOMP_atomic_start, GOMP_atomic_end): New.
11791 * libgomp.map: Export them.
11792 * libgomp_g.h: Declare them.
11793
11794 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
11795
117962005-10-02 Richard Henderson <rth@redhat.com>
11797
11798 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
11799 to XCFLAGS instead of CFLAGS.
11800
118012005-09-30 Richard Henderson <rth@redhat.com>
11802
11803 * configure.ac: Determine whether -pthread or -lpthread is needed.
11804 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
11805 * Makefine.in, configure: Rebuild.
11806
118072005-09-28 Richard Henderson <rth@redhat.com>
11808
11809 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
11810 * testsuite/libgomp.dg/omp-single-3.c: New test.
11811
118122005-09-28 Diego Novillo <dnovillo@redhat.com>
11813
11814 * testsuite/libgomp.dg/omp-single-2.c: New test.
11815 * testsuite/libgomp.dg/shared-2.c: Fix return code.
11816
118172005-09-27 Richard Henderson <rth@redhat.com>
11818
11819 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
11820 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
11821
118222005-09-27 Jakub Jelinek <jakub@redhat.com>
11823
11824 * testsuite/libgomp.dg/omp-loop03.c: New test.
11825
118262005-09-27 Diego Novillo <dnovillo@redhat.com>
11827
11828 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
11829
118302005-09-27 Diego Novillo <dnovillo@redhat.com>
11831
11832 * testsuite/libgomp.dg/omp-single-1.c: New test.
11833 * testsuite/libgomp.dg/shared-1.c: Return 0.
11834 Add prototype for abort.
11835 * testsuite/libgomp.dg/shared-2.c: Likewise.
11836
118372005-09-26 Jakub Jelinek <jakub@redhat.com>
11838
11839 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
11840 constructs.
11841
118422005-09-26 Diego Novillo <dnovillo@redhat.com>
11843
11844 * testsuite/libgomp.dg/shared-1.c: New test.
11845 * testsuite/libgomp.dg/shared-2.c: New test.
11846
118472005-09-24 Richard Henderson <rth@redhat.com>
11848
11849 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
11850
118512005-09-24 Richard Henderson <rth@redhat.com>
11852
11853 * iter.c (gomp_iter_static_next): Round up when computing number
11854 of iterations. Don't bother distributing a remainder equally.
11855
11856 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
11857 Don't call srand. Zero b before testing.
11858 (main): New.
11859
118602005-09-24 Jakub Jelinek <jakub@redhat.com>
11861
11862 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
11863 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
11864
118652005-09-23 Jakub Jelinek <jakub@redhat.com>
11866
11867 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
11868 without !$omp end do, followed immediately by subroutine end.
11869
118702005-09-23 Diego Novillo <dnovillo@redhat.com>
11871
11872 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
11873
118742005-09-22 Richard Henderson <rth@redhat.com>
11875
11876 * critical.c (GOMP_critical_name_start): Change argument to void**.
11877 Reuse the pointer space if the mutex fits.
11878 (GOMP_critical_name_end): Likewise.
11879 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
11880 * libgomp_g.h (GOMP_critical_name_start): Update decl.
11881 (GOMP_critical_name_end): Likewise.
11882 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
11883 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
11884
118852005-09-20 Richard Henderson <rth@redhat.com>
11886
11887 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
11888 (create_lock_lock): New.
11889 (initialize_critical): Initialize it.
11890 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
11891 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
11892
118932005-09-20 Diego Novillo <dnovillo@redhat.com>
11894
11895 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
11896
118972005-09-20 Diego Novillo <dnovillo@redhat.com>
11898
11899 * testsuite/libgomp.dg/omp-loop01.c: New test.
11900 * testsuite/libgomp.dg/omp-loop02.c: New test.
11901
119022005-09-20 Jakub Jelinek <jakub@redhat.com>
11903
11904 * configure.ac (AC_PROG_FC): Add.
11905 (USE_FORTRAN): New automake conditional.
11906 * configure: Rebuilt.
11907 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
11908 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
11909 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
11910 Add rules to build them.
11911 * Makefile.in: Rebuilt.
11912 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
11913 OMP_NEST_LOCK_KIND.
11914 * libgomp.map: Add Fortran wrappers.
11915 * libgomp_f.h.in: New file.
11916 * omp_lib.h.in: New file.
11917 * omp_lib.f90.in: New file.
11918 * fortran.c: New file.
11919 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
11920 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
11921 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
11922 libgfortran has been built.
11923 * testsuite/libgomp.fortran/fortran.exp: New file.
11924 * testsuite/libgomp.fortran/omp_cond1.f: New test.
11925 * testsuite/libgomp.fortran/omp_cond2.f: New test.
11926 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
11927 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
11928 * testsuite/libgomp.fortran/omp_hello.f: New test.
11929 * testsuite/libgomp.fortran/omp_orphan.f: New test.
11930 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
11931 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
11932 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
11933 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
11934 * testsuite/libgomp.fortran/omp_reduction.f: New test.
11935 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
11936 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
11937
119382005-08-30 Richard Henderson <rth@redhat.com>
11939
11940 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
11941 function for when aliases are not usable.
11942 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
11943 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
11944 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
11945 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
11946 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
11947 GOMP_loop_ordered_guided_next): Likewise.
11948 * ordered.c (GOMP_ordered_start): Likewise.
11949
119502005-08-01 Diego Novillo <dnovillo@redhat.com>
11951
11952 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
11953 * testsuite/libgomp.dg/omp_hello.c: Fix return code
11954 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
11955 * testsuite/libgomp.dg/omp_orphan.c: Likewise
11956 * testsuite/libgomp.dg/omp_reduction.c: Likewise
11957 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
11958 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
11959 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
11960 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
11961
119622005-07-07 Eric Christopher <echristo@redhat.com>
11963 Diego Novillo <dnovillo@redhat.com>
11964
11965 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
11966 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
11967 up code.
11968 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
11969 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
11970 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
11971 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
11972 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
11973 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
11974 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
11975
119762005-06-13 Diego Novillo <dnovillo@redhat.com>
11977
11978 * TOPLEVEL.patch: Remove.
11979
119802005-05-16 Richard Henderson <rth@redhat.com>
11981
11982 * configure.ac: Test for clock_gettime.
11983 * config.h.in, configure: Rebuild.
11984 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
11985 (omp_get_wtime): Use clock_gettime if available.
11986 (omp_get_wtick): Use clock_getres if available.
11987
119882005-05-11 Richard Henderson <rth@redhat.com>
11989
11990 * config/linux/ia64/futex.h: New file.
11991 * configure.tgt: Use it.
11992
11993 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
11994
119952005-05-07 Richard Henderson <rth@redhat.com>
11996
11997 * config/linux/powerpc/futex.h: New file.
11998 * configure.tgt: Use it.
11999
12000 * config/linux/i486/futex.h: Merge ...
12001 * config/linux/x86_64/futex.h: ... into ...
12002 * config/linux/x86/futex.h: ... here.
12003 * configure.tgt: Update to match.
12004
120052005-05-06 Richard Henderson <rth@redhat.com>
12006
12007 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
12008 * config/linux/i486/futex.h: Likewise.
12009 * config/linux/x86_64/futex.h: Likewise.
12010
12011 * config/linux/lock.c: New file.
12012 * config/linux/omp-lock.h: New file.
12013
12014 * critical.c, env.h: Don't include omp.h
12015 * config/posix/lock.c: Include libgomp.h instead of omp.h.
12016 * config/posix/time.c: Likewise.
12017 * config/posix/omp-lock.h: New file.
12018 * libgomp.h: Include omp-lock.h and omp.h.
12019 * Makefile.am (nodist_include_HEADERS): New.
12020 (omp.h): New rule.
12021 * configure.ac (PERL): New.
12022 * mkomp_h.pl: New file.
12023 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
12024 with templates.
12025 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
12026
12027 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
12028 build directory. Re-add -march=i486 hack.
12029
12030 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
12031 (libgomp_link_flags): Remove.
12032 (libgomp_initialized): Remove.
12033 (libgomp_init): Don't protect from reinitialization. Copy code
12034 from libstdc++ for getting the multilib set correctly.
12035
120362005-05-05 Richard Henderson <rth@redhat.com>
12037
12038 * config/linux/alpha/futex.h: New file.
12039 * configure.tgt (alpha*-*-linux*): Use it.
12040
12041 * config/posix/mutex.c: New file.
12042 * config/posix/sem.c: Use libgomp.h.
12043
12044 * configure.tgt (x86_64-linux): Also test CC for -m32.
12045 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
12046
a1daed2d 12047 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
12048 after $gccpath.
12049
12050 * Makefile.am (SUBDIRS): New.
12051 (libgomp_la_LDFLAGS): Add -lpthread.
12052 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
12053 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
12054
12055 * libgomp_g.h: New file.
12056 * libgomp.h: Split out all public declarations to libgomp_g.h.
12057 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
12058 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
12059 * config/linux/sem.h: Likewise.
12060 * config/posix/sem.h: Likewise.
12061
12062 * Makefile.am (AM_LDFLAGS): New.
12063 (libgomp_version_script): Split out from ...
12064 (libgomp_la_LDFLAGS): ... here.
12065 (libgomp_version_info): New.
12066 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
12067 (LIBGOMP_ENABLE): New.
12068 (LIBGOMP_CHECK_LINKER_FEATURES): New.
12069 (LIBGOMP_ENABLE_SYMVERS): New.
12070 * configure.ac (AC_INIT): Version 1.0.
12071 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
12072 (enable-linux-futex): Likewise. Rename from enable-futex.
12073 (libtool_VERSION): New.
12074 (LIBGOMP_ENABLE_SYMVERS): Use it.
12075 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
12076 * Makefile.in, aclocal.m4, configure: Rebuild.
12077
12078 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
12079 (gomp_mutex_unlock_slow): Fix typo.
12080 * config/linux/sem.c: Similarly.
12081 (gomp_sem_post_slow): Fix typo.
12082 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
12083 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
12084 [__PIC__] (sys_futex0): Don't use tmp output in asm.
12085
12086 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
12087 (libgomp_la_LDFLAGS): Add top_srcdir to path.
12088 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
12089 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
12090 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
12091 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
12092 LDFLAGS. Pull enable_futex check to top-level.
12093 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
12094 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
12095
12096 First attempt at real configury.
12097 * Makefile, config.h: Remove file.
12098 * Makefile.am, Makefile.in: New file.
12099 * acinclude.m4 aclocal.m4: New file.
12100 * configure.ac, configure.tgt, configure: New file.
12101
12102 * config/posix/lock.c: Rename from sys-lock.c.
12103 * config/posix/mutex.h: Rename from sys-mutex.h.
12104 * config/posix/sem.c: Rename from sys-sem.c.
12105 * config/posix/sem.h: Rename from sys-sem.h.
12106 * config/posix/proc.c: Rename from sys-proc.c.
12107 * config/posix/time.c: Rename from sys-proc.c.
12108
12109 * config/linux/mutex.c: New file.
12110 * config/linux/mutex.h: New file.
12111 * config/linux/sem.c: New file.
12112 * config/linux/sem.h: New file.
12113 * config/linux/i486/futex.h: New file.
12114 * config/linux/x86_64/futex.h: New file.
12115
121162005-05-04 Richard Henderson <rth@redhat.com>
12117
12118 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
12119 * libgomp.h: Declare them.
12120 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
12121 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
12122
121232005-05-04 Richard Henderson <rth@redhat.com>
12124
12125 * libgomp-1 code drop
12126
121272005-05-04 Richard Henderson <rth@redhat.com>
12128
12129 * iter.c (gomp_iter_static_next): Return tri-state on 0.
12130 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
12131 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
12132 (gomp_iter_static_next): Update.
12133 (gomp_ordered_static_next): Update.
12134 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
12135 (gomp_loop_ordered_static_start): Likewise. Exit early for a
12136 totally empty range.
12137 (gomp_loop_ordered_static_next): Refine test for calling
12138 gomp_ordered_static_next.
12139 * testsuite/ordered-1.c: Add case for more threads than iterations.
12140
12141 * iter.c (gomp_iter_runtime_next_locked): Remove.
12142 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 12143 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
12144 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
12145 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
12146 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
12147 gomp_loop_ordered_guided_next): Downcase name, make static, add
12148 an external alias with the old name.
12149 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
12150 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
12151 switch and call one of the above static functions.
12152 * libgomp.h: Update.
12153
12154 * work.c (gomp_work_share_start): Lock the mutex for !first too.
12155 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
12156 GOMP_loop_guided_start, GOMP_loop_runtime_start,
12157 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12158 GOMP_loop_ordered_guided_start): Update to match.
12159 * sections.c (GOMP_sections_start): Likewise.
12160 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
12161
12162 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12163 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
12164 Use bounds check instead of modulus.
12165 (gomp_ordered_sync): Split out of GOMP_ordered_start.
12166 (gomp_ordered_last): Don't sync with ordered_owner here.
12167 (gomp_ordered_next): Likewise.
12168 (gomp_ordered_static_loop_next): Likewise.
12169 * loop.c, libgomp.h: Update to match.
12170
12171 * libgomp.h (GOMP_barrier): Declare.
12172
12173 * testsuite/barrier-1.c: New file.
12174 * testsuite/critical-1.c: New file.
12175 * testsuite/ordered-2.c: New file.
12176 * testsuite/ordered-1.c: New file.
12177 * testsuite/sections-1.c: New file.
12178 * testsuite/single-1.c: New file.
12179 * testsuite/Makefile (TESTS): Add them.
12180
121812005-05-04 Richard Henderson <rth@redhat.com>
12182
12183 * libgomp.h (struct gomp_work_share): Add ordered_owner.
12184 * loop.c (GOMP_loop_static_start): If not the startup thread,
12185 acquire the mutex to wait for initialization complete.
12186 (GOMP_loop_ordered_static_start): Likewise.
12187 (GOMP_loop_ordered_runtime_start): Likewise.
12188 (GOMP_loop_ordered_static_first): Remove.
12189 (GOMP_loop_ordered_dynamic_first): Remove.
12190 (GOMP_loop_ordered_guided_first): Remove.
12191 (GOMP_loop_ordered_runtime_first): Remove.
12192 * ordered.c (gomp_ordered_loop_first): Post to own release when
12193 we're the first thread.
12194 (gomp_ordered_loop_last): Wait on release if not owner.
12195 (gomp_ordered_loop_next): Likewise.
12196 (gomp_ordered_static_loop_init): New.
12197 (gomp_ordered_static_loop_next): Use ordered_owner.
12198 (GOMP_ordered_start): Likewise.
12199 * work.c (gomp_new_work_share): Initialize ordered_owner.
12200
122012005-05-03 Richard Henderson <rth@redhat.com>
12202
12203 * Makefile (OPT): New.
12204 (CFLAGS): Use it.
12205
12206 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
12207 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
12208 * libgomp.h, libgomp.map, NOTES: Update to match.
12209
12210 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
12211 Add initialized and thr members.
12212 (gomp_thread_start): Pause when initially spawned to wait for
12213 the whole team to be created.
12214 (gomp_team_start): Release team members at the end.
12215
12216 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
12217 (f_foo_1): Use GOMP_loop_end.
12218 (f_foo_2): Use GOMP_loop_end_nowait.
12219
12220 * testsuite/loop-2.c: New file.
12221 * testsuite/Makefile (TESTS): Add it.
12222
122232005-05-03 Richard Henderson <rth@redhat.com>
12224
12225 * iter.c (gomp_iter_static_next): Fix overflow check typo.
12226 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
12227 * team.c (new_team): Initialize oldest_live_gen to 1 if no
12228 initial work_share.
12229
12230 * testsuite/Makefile: New file.
12231 * testsuite/loop-1.c: New file.
12232
122332005-05-03 Richard Henderson <rth@redhat.com>
12234
12235 Initial implementation and checkin.
21fa2a29 12236\f
a5544970 12237Copyright (C) 2005-2019 Free Software Foundation, Inc.
21fa2a29
JJ
12238
12239Copying and distribution of this file, with or without modification,
12240are permitted in any medium without royalty provided the copyright
12241notice and this notice are preserved.