]> git.ipfire.org Git - thirdparty/gcc.git/blame - libgomp/ChangeLog
Add OpenACC 2.6's no_create
[thirdparty/gcc.git] / libgomp / ChangeLog
CommitLineData
a6163563
JB
12019-12-19 Julian Brown <julian@codesourcery.com>
2 Maciej W. Rozycki <macro@codesourcery.com>
3 Tobias Burnus <tobias@codesourcery.com>
4 Thomas Schwinge <thomas@codesourcery.com>
5
6 * target.c (gomp_map_vars_async): Support GOMP_MAP_NO_ALLOC.
7 * testsuite/libgomp.oacc-c-c++-common/no_create-1.c: New test.
8 * testsuite/libgomp.oacc-c-c++-common/no_create-2.c: New test.
9 * testsuite/libgomp.oacc-c-c++-common/no_create-3.c: New test.
10 * testsuite/libgomp.oacc-c-c++-common/no_create-4.c: New test.
11 * testsuite/libgomp.oacc-c-c++-common/no_create-5.c: New test.
12 * testsuite/libgomp.oacc-fortran/no_create-1.f90: New test.
13 * testsuite/libgomp.oacc-fortran/no_create-2.f90: New test.
14 * testsuite/libgomp.oacc-fortran/no_create-3.F90: New test.
15
6278b549
TS
162019-12-18 Thomas Schwinge <thomas@codesourcery.com>
17
77ce5555
TS
18 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
19 called...
20 (goacc_insert_pointer): ... from here, "present" case.
21 (goacc_insert_pointer): Inline function into...
22 (GOACC_enter_exit_data): ... here, and simplify.
23
9444a299
TS
24 * oacc-mem.c (goacc_enter_data): Refactor, so that it can be
25 called...
26 (goacc_insert_pointer): ... from here, "not present" case.
27
5031b619
TS
28 * oacc-mem.c (goacc_remove_pointer): Refactor interface. Adjust
29 all users.
30
1a79b578
TS
31 * oacc-mem.c (GOACC_enter_exit_data): Refactor code to call
32 'goacc_enter_data', 'goacc_exit_data'.
33
34cfe31e
TS
34 * oacc-mem.c (delete_copyout): Refactor into...
35 (goacc_exit_data): ... this. Adjust all users.
36
aaf0e9d7
TS
37 * oacc-mem.c (present_create_copy): Refactor into...
38 (goacc_enter_data): ... this. Adjust all users.
39
83d1d065
TS
40 * target.c (gomp_unmap_vars_internal): Add a safeguard to
41 'gomp_remove_var'.
42
cc3f11f5
TS
43 * target.c (gomp_to_device_kind_p): Handle 'GOMP_MAP_FORCE_FROM'
44 like 'GOMP_MAP_FROM'.
45
ddb25eb9
TS
46 PR libgomp/92726
47 PR libgomp/92970
48 PR libgomp/92984
49 * oacc-mem.c (delete_copyout): No-op behavior if 'lookup_host'
50 fails.
51 (GOACC_enter_exit_data): Simplify accordingly.
52 * testsuite/libgomp.oacc-c-c++-common/pr92970-1.c: New file,
53 subsuming...
54 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: ... this file...
55 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: ..., and this
56 file.
57 * testsuite/libgomp.oacc-c-c++-common/pr92984-1.c: New file,
58 subsuming...
59 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: ... this file...
60 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: ..., and this
61 file.
62 * testsuite/libgomp.oacc-c-c++-common/pr92726-1.c: New file,
63 subsuming...
64 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: ... this file.
65
32128577
TS
66 * oacc-mem.c (GOACC_enter_exit_data): Simplify 'exit data'
67 'finalize' handling.
68
ba40277f
TS
69 PR libgomp/92848
70 * oacc-mem.c (acc_map_data, present_create_copy)
71 (goacc_insert_pointer): Use 'GOMP_MAP_VARS_ENTER_DATA'.
72 (acc_unmap_data, delete_copyout, goacc_remove_pointer): Adjust.
73 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Remove.
74 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-a.c: New file
75 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-d-p.c: Likewise.
76 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-a.c: Likewise.
77 * testsuite/libgomp.oacc-c-c++-common/pr92848-1-r-p.c: Likewise.
78 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
79 Remove "XFAIL"s.
80
6278b549
TS
81 * target.c (gomp_unmap_tgt): Make it 'static'.
82 * libgomp.h (gomp_unmap_tgt): Remove.
83
c80c9e26
TB
842019-12-18 Tobias Burnus <tobias@codesourcery.com>
85
86 PR middle-end/86416
87 * testsuite/libgomp.c/pr86416-1.c: New.
88 * testsuite/libgomp.c/pr86416-2.c: New.
89
0b8499a4
TB
902019-12-17 Tobias Burnus <tobias@codesourcery.com>
91
92 * config/accel/openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark
93 all symbols as public except for the 'use …, only' imported symbol,
94 which is private.
95 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
96 all symbols from module openacc_kinds as PUBLIC
97 * openacc.f90: Add comment with crossref to that file and openmp_lib.h;
98 fix comment typo.
99 * openacc_lib.h (acc_device_gcn): Add this PARAMETER.
100
1cbd94e8
JB
1012019-12-13 Julian Brown <julian@codesourcery.com>
102
103 PR libgomp/92881
104
105 * libgomp.h (gomp_remove_var_async): Add prototype.
106 * oacc-mem.c (delete_copyout): Call gomp_remove_var_async instead of
107 gomp_remove_var.
108 * target.c (gomp_unref_tgt): Change return type to bool, indicating
109 whether target_mem_desc was unmapped.
110 (gomp_unref_tgt_void): New.
111 (gomp_remove_var): Reimplement in terms of...
112 (gomp_remove_var_internal): ...this new helper function.
113 (gomp_remove_var_async): New, implemented using above helper function.
114 (gomp_unmap_vars_internal): Use gomp_unref_tgt_void instead of
115 gomp_unref_tgt.
116
26b74ed0
AS
1172019-12-13 Andrew Stubbs <ams@codesourcery.com>
118
119 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Handle gcn.
120 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c: Likewise.
121 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c: Likewise.
122 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Likewise.
123 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c:
124 Likewise.
125 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Disable on GCN.
126 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Likewise.
127
7858bb96
TB
1282019-12-13 Tobias Burnus <tobias@codesourcery.com>
129
130 * openacc.f90 (module openacc_kinds): Use 'PUBLIC' to mark all symbols
131 as public except for the 'use …, only' imported symbol, which is
132 private.
133 (module openacc): Default to 'PRIVATE' to exclude openacc_internal; mark
134 all symbols from module openacc_kinds as PUBLIC; add missing PUBLIC
135 attributes for acc_copyout_finalize and acc_delete_finalize.
136
f8ac7d8f
JJ
1372019-12-11 Jakub Jelinek <jakub@redhat.com>
138
139 PR fortran/92899
140 * testsuite/libgomp.fortran/atomic1.f90: New test.
141
3d1b5e71
TS
1422019-12-11 Thomas Schwinge <thomas@codesourcery.com>
143
d6e8c01c
TS
144 PR libgomp/92843
145 * oacc-mem.c (present_create_copy, delete_copyout): Fix dynamic
146 reference counting for structured 'REFCOUNT_INFINITY'. Add some
147 assertions.
148 (goacc_insert_pointer, goacc_remove_pointer): Adjust accordingly.
149 * testsuite/libgomp.oacc-c-c++-common/pr92843-1.c: New file.
150 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Fix OpenACC.
151 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
152 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
153
57963e39
TS
154 * oacc-parallel.c (find_pointer, GOACC_enter_exit_data): Move...
155 * oacc-mem.c: ... here.
156 (gomp_acc_insert_pointer, gomp_acc_remove_pointer): Rename to
157 'goacc_insert_pointer', 'goacc_remove_pointer', and make 'static'.
158 * libgomp.h (gomp_acc_insert_pointer, gomp_acc_remove_pointer):
159 Remove.
160 * libgomp_g.h: Update.
161
c5578b56
TS
162 * oacc-parallel.c (GOACC_wait, goacc_wait): Move...
163 * oacc-async.c: ... here.
164 * oacc-int.h (goacc_wait): Declare.
165 * libgomp_g.h: Update
166
3d1b5e71
TS
167 PR libgomp/92854
168 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-1.c:
169 New file.
170 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-2.c:
171 Likewise.
172 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-device_already-3.c:
173 Likewise.
174 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-1.c:
175 Likewise.
176 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-2.c:
177 Likewise.
178 * testsuite/libgomp.oacc-c-c++-common/acc_map_data-host_already-3.c:
179 Likewise.
180
5e939438
TS
1812019-12-11 Thomas Schwinge <thomas@codesourcery.com>
182 Julian Brown <julian@codesourcery.com>
183
184 * target.c (gomp_load_image_to_device, omp_target_associate_ptr):
185 Initialize 'dynamic_refcount' whenever we initialize 'refcount'.
186
93d90219
TB
1872019-12-11 Tobias Burnus <tobias@codesourcery.com>
188
189 * omp_lib.h.in: Fix spelling of function declaration
190 omp_get_cancell(l)ation.
191 * libgomp.texi (acc_is_present, acc_async_test, acc_async_test_all):
192 Fix typos.
193 * env.c: Fix comment typos.
194 * oacc-host.c: Likewise.
195 * ordered.c: Likewise.
196 * task.c: Likewise.
197 * team.c: Likewise.
198 * config/gcn/task.c: Likewise.
199 * config/gcn/team.c: Likewise.
200 * config/nvptx/task.c: Likewise.
201 * config/nvptx/team.c: Likewise.
202 * plugin/plugin-gcn.c: Likewise.
203 * testsuite/libgomp.fortran/jacobi.f: Likewise.
204 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
205 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: Likewise.
206
a0221aee
TB
2072019-12-11 Tobias Burnus <tobias@codesourcery.com>
208
209 * testsuite/libgomp.oacc-fortran/optional-cache.f95: Add 'dg-do run'.
210 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: Remove
211 unnecessary 'dg-additional-options "-w"'.
212
47afc7b4
TS
2132019-12-09 Thomas Schwinge <thomas@codesourcery.com>
214 Julian Brown <julian@codesourcery.com>
215
216 PR libgomp/92116
217 PR libgomp/92877
218
219 * oacc-mem.c (lookup_dev): Reimplement. Adjust all users.
220 * libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
221 Adjust all users.
222 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
223 Remove XFAIL.
224 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
225 Likewise.
226 * testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
227
b5859e40
TS
2282019-12-09 Thomas Schwinge <thomas@codesourcery.com>
229
cec41816
TS
230 PR libgomp/92503
231 * oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
232 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
233 file.
234 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
235 Likewise.
236 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
237 Likewise.
238 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
239 Likewise.
240 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
241 Likewise.
242 * testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
243 Likewise.
244 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
245 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
246 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
247 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
248 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
249 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
250 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
251 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
252 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
253 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
254
e103542b
TS
255 PR libgomp/92840
256 * oacc-mem.c (acc_map_data): Clarify reference counting behavior.
257 (acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
258 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
259 New file.
260 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
261 Likewise.
262 * testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
263 Likewise.
264 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
265 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
266
41f36f22
TS
267 PR libgomp/92511
268 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
269 this file...
270 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
271 this file...
272 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
273 file...
274 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
275 file...
276 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
277 ... with their content moved into, and extended in this new file.
278 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
279 New file.
280 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
281 Likewise.
282 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
283 Likewise.
284 * testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
285 Likewise.
286
6effebe1
TS
287 * testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
288
7d020473
TS
289 PR libgomp/92854
290 * testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
291
1e1fb715
TS
292 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
293
b5859e40
TS
294 * target.c (gomp_exit_data): Use 'gomp_remove_var'.
295
11586ed9
TB
2962019-12-09 Tobias Burnus <tobias@codesourcery.com>
297
298 * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
299 unique.
300 * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
301 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
302 * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
303 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
304 Ditto.
305 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
306 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
307
3ad4a03a
KCY
3082019-12-06 Kwok Cheung Yeung <kcy@codesourcery.com>
309
310 * config/accel/proc.c (omp_get_num_procs): Apply ialias macro.
311
6e4d01d6
TB
3122019-12-06 Tobias Burnus <tobias@codesourcery.com>
313 Kwok Cheung Yeung <kcy@codesourcery.com>
314
315 * oacc-mem.c (update_dev_host, gomp_acc_insert_pointer): Just return
316 if input it a NULL pointer.
317 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Remove; dependent on
318 diagnostic of NULL pointer.
319 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Ditto.
320 * testsuite/libgomp.fortran/optional-map.f90: New.
321 * testsuite/libgomp.fortran/use_device_addr-1.f90
322 (test_dummy_opt_callee_1_absent): New.
323 (test_dummy_opt_call_1): Call it.
324 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
325 * testsuite/libgomp.fortran/use_device_addr-3.f90: Likewise.
326 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
327 * testsuite/libgomp.oacc-fortran/optional-cache.f95: New.
328 * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90: New.
329 * testsuite/libgomp.oacc-fortran/optional-data-copyin.f90: New.
330 * testsuite/libgomp.oacc-fortran/optional-data-copyout.f90: New.
331 * testsuite/libgomp.oacc-fortran/optional-data-enter-exit.f90: New.
332 * testsuite/libgomp.oacc-fortran/optional-declare.f90: New.
333 * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: New.
334 * testsuite/libgomp.oacc-fortran/optional-host_data.f90: New.
335 * testsuite/libgomp.oacc-fortran/optional-nested-calls.f90: New.
336 * testsuite/libgomp.oacc-fortran/optional-private.f90: New.
337 * testsuite/libgomp.oacc-fortran/optional-reduction.f90: New.
338 * testsuite/libgomp.oacc-fortran/optional-update-device.f90: New.
339 * testsuite/libgomp.oacc-fortran/optional-update-host.f90: New.
340
ad80ec46
TB
3412019-12-05 Tobias Burnus <tobias@codesourcery.com>
342
343 * testsuite/libgomp.oacc-fortran/error_stop-1.f: Also don't
344 expect dg-output of 'Error termination.' for GCN.
345 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
346 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
347
a8a5f4cc
JJ
3482019-12-04 Jakub Jelinek <jakub@redhat.com>
349
350 PR fortran/92756
351 * testsuite/libgomp.fortran/teams1.f90: New test.
352 * testsuite/libgomp.fortran/teams2.f90: New test.
353
d8f0024b
FH
3542019-12-03 Frederik Harwath <frederik@codesourcery.com>
355
356 * oacc-init.c (acc_known_device_type): Add function.
357 (unknown_device_type_error): Add function.
358 (name_of_acc_device_t): Change to call unknown_device_type_error
359 on unknown type.
360 (resolve_device): Use acc_known_device_type.
361 (acc_init): Fail if acc_device_t argument is not valid.
362 (acc_shutdown): Likewise.
363 (acc_get_num_devices): Likewise.
364 (acc_set_device_type): Likewise.
365 (acc_get_device_num): Likewise.
366 (acc_set_device_num): Likewise.
367 (acc_on_device): Add comment that argument validity is not checked.
368
83caa34e
AS
3692019-12-03 Andrew Stubbs <ams@codesourcery.com>
370
371 * testsuite/lib/libgomp.exp (offload_target_to_openacc_device_type):
372 Recognize amdgcn.
373 (check_effective_target_openacc_amdgcn_accel_present): New proc.
374 (check_effective_target_openacc_amdgcn_accel_selected): New proc.
375 * testsuite/libgomp.oacc-c++/c++.exp: Add support for amdgcn.
376 * testsuite/libgomp.oacc-c/c.exp: Likewise.
377 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
378
00484365
SN
3792019-12-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
380
381 PR libgomp/91938
382 * configure.tgt: Avoid IE tls on *-*-musl*.
383
9909a059
TB
3842019-11-29 Tobias Burnus <tobias@codesourcery.com>
385
386 * testsuite/libgomp.oacc-fortran/declare-5.f90: Extend by
387 adding a common-block test case.
388
b3f44388
JJ
3892019-11-29 Jakub Jelinek <jakub@redhat.com>
390
391 PR c++/60228
392 * testsuite/libgomp.c++/udr-20.C: New test.
393 * testsuite/libgomp.c++/udr-21.C: New test.
394
b1a73b48
TS
3952019-11-27 Thomas Schwinge <thomas@codesourcery.com>
396
397 * testsuite/lib/libgomp.exp
398 (check_effective_target_offload_target_nvptx): New proc.
399 * testsuite/libgomp.fortran/target-print-1.f90: Use it with
400 'dg-skip-if'.
401 * testsuite/libgomp.oacc-fortran/print-1.f90: Likewise.
402 * testsuite/libgomp.fortran/target-print-1-nvptx.f90: New file.
403 * testsuite/libgomp.oacc-fortran/print-1-nvptx.f90: Likewise.
404
b8e72446
RO
4052019-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
406
407 * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
408 * testsuite/libgomp.c/pr39591-2.c: Likewise.
409 * testsuite/libgomp.c/pr39591-3.c: Likewise.
410 * testsuite/libgomp.c/private-1.c: Likewise.
411 * testsuite/libgomp.c/task-1.c: Likewise.
412 * testsuite/libgomp.c/task-5.c: Renamed err to serr.
413
d88b27da
JB
4142019-11-20 Julian Brown <julian@codesourcery.com>
415
416 * plugin/plugin-gcn.c (wait_for_queue_nonfull): Don't lock/unlock
417 aq->mutex here.
418 (queue_push_launch): Lock aq->mutex before calling
419 wait_for_queue_nonfull.
420 (queue_push_callback): Likewise.
421 (queue_push_asyncwait): Likewise.
422 (queue_push_placeholder): Likewise.
423
8d2f4ddf
JB
4242019-11-20 Julian Brown <julian@codesourcery.com>
425
426 * plugin/plugin-gcn.c (hsa_memory_copy_wrapper): New.
427 (copy_data, GOMP_OFFLOAD_host2dev): Use above function.
428 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_dev2dev): Check hsa_memory_copy
429 return code.
430
e307b05f
JB
4312019-11-20 Julian Brown <julian@codesourcery.com>
432
433 PR libgomp/92511
434
435 * oacc-mem.c (present_create_copy): Fix device pointer return value in
436 case of "present" subarray. Use tgt->tgt_start instead of tgt->to_free
437 in non-present/create case.
438 (delete_copyout): Change error condition to fail only on copies outside
439 of mapped block. Adjust error message accordingly.
440 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: New test.
441 * testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: New test.
442 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Adjust expected error
443 message.
444 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
445 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Allow test to pass now.
446 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
447
83115e9e
MR
4482019-11-20 Maciej W. Rozycki <macro@wdc.com>
449
450 * testsuite/lib/libgomp.exp (libgomp_init): Add flags to find
451 libatomic in build-tree testing.
452
a1289887
MR
4532019-11-18 Maciej W. Rozycki <macro@wdc.com>
454
455 * testsuite/Makefile.in: Regenerate.
456
8916ba87
AS
4572019-11-15 Andrew Stubbs <ams@codesourcery.com>
458
459 * testsuite/libgomp.c/target-print-1.c: New file.
460 * testsuite/libgomp.fortran/target-print-1.f90: New file.
461 * testsuite/libgomp.oacc-c/print-1.c: New file.
462 * testsuite/libgomp.oacc-fortran/print-1.f90: New file.
463
237957cc
AS
4642019-11-13 Andrew Stubbs <ams@codesourcery.com>
465 Kwok Cheung Yeung <kcy@codesourcery.com>
466 Julian Brown <julian@codesourcery.com>
467 Tom de Vries <tom@codesourcery.com>
468
469 * plugin/Makefrag.am: Add amdgcn plugin support.
470 * plugin/configfrag.ac: Likewise.
471 * plugin/plugin-gcn.c: New file.
472 * configure: Regenerate.
473 * Makefile.in: Regenerate.
474 * testsuite/Makefile.in: Regenerate.
475
cee16451
AS
4762019-11-13 Andrew Stubbs <ams@codesourcery.com>
477
478 * config/gcn/team.c (gomp_gcn_enter_kernel): Set up the team arena
479 and use team_malloc variants.
480 (gomp_gcn_exit_kernel): Use team_free.
481 * libgomp.h (TEAM_ARENA_SIZE): Define.
482 (TEAM_ARENA_START): Define.
483 (TEAM_ARENA_FREE): Define.
484 (TEAM_ARENA_END): Define.
485 (team_malloc): New function.
486 (team_malloc_cleared): New function.
487 (team_free): New function.
488 * team.c (gomp_new_team): Initialize and use team_malloc.
489 (free_team): Use team_free.
490 (gomp_free_thread): Use team_free.
491 (gomp_pause_host): Use team_free.
492 * work.c (gomp_init_work_share): Use team_malloc.
493 (gomp_fini_work_share): Use team_free.
494
fa499995
AS
4952019-11-13 Andrew Stubbs <ams@codesourcery.com>
496 Kwok Cheung Yeung <kcy@codesourcery.com>
497 Julian Brown <julian@codesourcery.com>
498 Tom de Vries <tom@codesourcery.com>
499
500 * Makefile.am (libgomp_la_SOURCES): Add oacc-target.c.
501 * Makefile.in: Regenerate.
502 * config.h.in (PLUGIN_GCN): Add new undef.
503 * config/accel/openacc.f90 (acc_device_gcn): New parameter.
504 * config/gcn/affinity-fmt.c: New file.
505 * config/gcn/bar.c: New file.
506 * config/gcn/bar.h: New file.
507 * config/gcn/doacross.h: New file.
508 * config/gcn/icv-device.c: New file.
509 * config/gcn/oacc-target.c: New file.
510 * config/gcn/simple-bar.h: New file.
511 * config/gcn/target.c: New file.
512 * config/gcn/task.c: New file.
513 * config/gcn/team.c: New file.
514 * config/gcn/time.c: New file.
515 * configure.ac: Add amdgcn*-*-*.
516 * configure: Regenerate.
517 * configure.tgt: Add amdgcn*-*-*.
518 * libgomp-plugin.h (offload_target_type): Add OFFLOAD_TARGET_TYPE_GCN.
519 * libgomp.h (gcn_thrs): Add amdgcn variant.
520 (set_gcn_thrs): Likewise.
521 (gomp_thread): Likewise.
522 * oacc-int.h (goacc_thread): Likewise.
523 * oacc-target.c: New file.
524 * openacc.f90 (acc_device_gcn): New parameter.
525 * openacc.h (acc_device_t): Add acc_device_gcn.
526 * team.c (gomp_free_pool_helper): Add amdgcn support.
527
d2903ce0
AS
5282019-11-13 Andrew Stubbs <ams@codesourcery.com>
529 Julian Brown <julian@codesourcery.com>
530
531 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_async_construct): Add int
532 parameter.
533 * oacc-async.c (lookup_goacc_asyncqueue): Pass device number to the
534 queue constructor.
535 * oacc-host.c (host_openacc_async_construct): Add device parameter.
536 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_openacc_async_construct): Add
537 device parameter.
538
b3d14b3a
AS
5392019-11-13 Andrew Stubbs <ams@codesourcery.com>
540
541 * configure.tgt (nvptx*-*-*): Add "accel" directory.
542 * config/nvptx/libgomp-plugin.c: Move ...
543 * config/accel/libgomp-plugin.c: ... to here.
544 * config/nvptx/lock.c: Move ...
545 * config/accel/lock.c: ... to here.
546 * config/nvptx/mutex.c: Move ...
547 * config/accel/mutex.c: ... to here.
548 * config/nvptx/mutex.h: Move ...
549 * config/accel/mutex.h: ... to here.
550 * config/nvptx/oacc-async.c: Move ...
551 * config/accel/oacc-async.c: ... to here.
552 * config/nvptx/oacc-cuda.c: Move ...
553 * config/accel/oacc-cuda.c: ... to here.
554 * config/nvptx/oacc-host.c: Move ...
555 * config/accel/oacc-host.c: ... to here.
556 * config/nvptx/oacc-init.c: Move ...
557 * config/accel/oacc-init.c: ... to here.
558 * config/nvptx/oacc-mem.c: Move ...
559 * config/accel/oacc-mem.c: ... to here.
560 * config/nvptx/oacc-plugin.c: Move ...
561 * config/accel/oacc-plugin.c: ... to here.
562 * config/nvptx/omp-lock.h: Move ...
563 * config/accel/omp-lock.h: ... to here.
564 * config/nvptx/openacc.f90: Move ...
565 * config/accel/openacc.f90: ... to here.
566 * config/nvptx/pool.h: Move ...
567 * config/accel/pool.h: ... to here.
568 * config/nvptx/proc.c: Move ...
569 * config/accel/proc.c: ... to here.
570 * config/nvptx/ptrlock.c: Move ...
571 * config/accel/ptrlock.c: ... to here.
572 * config/nvptx/ptrlock.h: Move ...
573 * config/accel/ptrlock.h: ... to here.
574 * config/nvptx/sem.c: Move ...
575 * config/accel/sem.c: ... to here.
576 * config/nvptx/sem.h: Move ...
577 * config/accel/sem.h: ... to here.
578 * config/nvptx/thread-stacksize.h: Move ...
579 * config/accel/thread-stacksize.h: ... to here.
580
62aee289
MR
5812019-11-12 Maciej W. Rozycki <macro@codesourcery.com>
582 Tobias Burnus <tobias@codesourcery.com>
583 Frederik Harwath <frederik@codesourcery.com>
584 Thomas Schwinge <thomas@codesourcery.com>
585
586 libgomp/
587 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New test.
588 * testsuite/libgomp.oacc-fortran/parallel-dims-aux.c: New test.
589 * testsuite/libgomp.oacc-fortran/parallel-dims.f89: New test.
590
a2c26c50
TB
5912019-11-11 Tobias Burnus <tobias@codesourcery.com>
592 Kwok Cheung Yeung <kcy@codesourcery.com>
593
594 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90: Extend.
595 * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: New.
596
6d4868f3
TS
5972019-11-11 Thomas Schwinge <thomas@codesourcery.com>
598
bfa1837b
TS
599 * testsuite/libgomp.fortran/target9.f90: Specify 'dg-do run'.
600
6d4868f3
TS
601 * testsuite/libgomp.fortran/use_device_addr-3.f90: Specify 'dg-do
602 run'.
603 * testsuite/libgomp.fortran/use_device_addr-4.f90: Likewise.
604 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Likewise.
605
5d183d17
FH
6062019-11-06 Thomas Schwinge <thomas@codesourcery.com>
607
608 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c:
609 Add expected warnings about missing reduction clauses.
610 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
611 Likewise.
612 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c:
613 Likewise.
614 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c:
615 Likewise.
616
d8f03b03
TB
6172019-11-04 Tobias Burnus <tobias@codesourcery.com>
618
619 * testsuite/libgomp.fortran/pr66199-1.f90: Remove
620 'dg-do run' (implies torture test) as 'dg-options "O2"' is used.
621 * testsuite/libgomp.fortran/pr66199-2.f90: Ditto.
622 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
623 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
624 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
625
12fd2ec5
TB
6262019-11-04 Tobias Burnus <tobias@codesourcery.com>
627
628 PR fortran/92305
629 * testsuite/libgomp.fortran/allocatable2.f90: Use
630 unique numbers with 'stop'.
631 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
632 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
633 * testsuite/libgomp.fortran/use_device_ptr-1.f90: Ditto.
634 * testsuite/libgomp.oacc-fortran/lib-15.f90: Ditto.
635 * testsuite/libgomp.oacc-fortran/pset-1.f90: Ditto.
636
92e63bd2
TB
6372019-11-01 Tobias Burnus <tobias@codesourcery.com>
638
639 * testsuite/libgomp.fortran/use_device_addr-1.f90 (test_nullptr_1,
640 test_dummy_opt_nullptr_callee_1): Add present but unallocated test.
641 * testsuite/libgomp.fortran/use_device_addr-2.f90: Likewise.
642 * testsuite/libgomp.fortran/use_device_addr-3.f90: New.
643 * testsuite/libgomp.fortran/use_device_addr-4.f90: New.
644 * testsuite/testsuite/libgomp.fortran/use_device_ptr-1.f90: New.
645
91ae0a46
TB
6462019-10-30 Tobias Burnus <tobias@codesourcery.com>
647
648 * testsuite/libgomp.fortran/target9.f90: New.
649
c425e66b
TB
6502019-10-30 Tobias Burnus <tobias@codesourcery.com>
651
652 * testsuite/libgomp.fortran/aligned1.f03: Replace 'STOP' by 'stop'.
653 * testsuite/libgomp.fortran/alloc-comp-1.f90: Ditto.
654 * testsuite/libgomp.fortran/alloc-comp-2.f90: Ditto.
655 * testsuite/libgomp.fortran/alloc-comp-3.f90: Ditto.
656 * testsuite/libgomp.fortran/allocatable1.f90: Ditto.
657 * testsuite/libgomp.fortran/allocatable10.f90: Ditto.
658 * testsuite/libgomp.fortran/allocatable11.f90: Ditto.
659 * testsuite/libgomp.fortran/allocatable12.f90: Ditto.
660 * testsuite/libgomp.fortran/allocatable2.f90: Ditto.
661 * testsuite/libgomp.fortran/allocatable3.f90: Ditto.
662 * testsuite/libgomp.fortran/allocatable4.f90: Ditto.
663 * testsuite/libgomp.fortran/allocatable5.f90: Ditto.
664 * testsuite/libgomp.fortran/allocatable6.f90: Ditto.
665 * testsuite/libgomp.fortran/allocatable7.f90: Ditto.
666 * testsuite/libgomp.fortran/allocatable8.f90: Ditto.
667 * testsuite/libgomp.fortran/allocatable9.f90: Ditto.
668 * testsuite/libgomp.fortran/associate1.f90: Ditto.
669 * testsuite/libgomp.fortran/associate2.f90: Ditto.
670 * testsuite/libgomp.fortran/associate3.f90: Ditto.
671 * testsuite/libgomp.fortran/async_io_4.f90: Ditto.
672 * testsuite/libgomp.fortran/async_io_5.f90: Ditto.
673 * testsuite/libgomp.fortran/async_io_6.f90: Ditto.
674 * testsuite/libgomp.fortran/async_io_7.f90: Ditto.
675 * testsuite/libgomp.fortran/cancel-do-1.f90: Ditto.
676 * testsuite/libgomp.fortran/cancel-do-2.f90: Ditto.
677 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Ditto.
678 * testsuite/libgomp.fortran/cancel-sections-1.f90: Ditto.
679 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Ditto.
680 * testsuite/libgomp.fortran/character1.f90: Ditto.
681 * testsuite/libgomp.fortran/character2.f90: Ditto.
682 * testsuite/libgomp.fortran/collapse1.f90: Ditto.
683 * testsuite/libgomp.fortran/collapse2.f90: Ditto.
684 * testsuite/libgomp.fortran/collapse3.f90: Ditto.
685 * testsuite/libgomp.fortran/collapse4.f90: Ditto.
686 * testsuite/libgomp.fortran/crayptr1.f90: Ditto.
687 * testsuite/libgomp.fortran/crayptr2.f90: Ditto.
688 * testsuite/libgomp.fortran/crayptr3.f90: Ditto.
689 * testsuite/libgomp.fortran/declare-simd-1.f90: Ditto.
690 * testsuite/libgomp.fortran/declare-simd-3.f90: Ditto.
691 * testsuite/libgomp.fortran/declare-target-2.f90: Ditto.
692 * testsuite/libgomp.fortran/depend-1.f90: Ditto.
693 * testsuite/libgomp.fortran/depend-2.f90: Ditto.
694 * testsuite/libgomp.fortran/depend-3.f90: Ditto.
695 * testsuite/libgomp.fortran/do1.f90: Ditto.
696 * testsuite/libgomp.fortran/do2.f90: Ditto.
697 * testsuite/libgomp.fortran/do_concurrent_5.f90: Ditto.
698 * testsuite/libgomp.fortran/doacross1.f90: Ditto.
699 * testsuite/libgomp.fortran/doacross2.f90: Ditto.
700 * testsuite/libgomp.fortran/doacross3.f90: Ditto.
701 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Ditto.
702 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Ditto.
703 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Ditto.
704 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Ditto.
705 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Ditto.
706 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Ditto.
707 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Ditto.
708 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Ditto.
709 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Ditto.
710 * testsuite/libgomp.fortran/examples-4/device-1.f90: Ditto.
711 * testsuite/libgomp.fortran/examples-4/device-2.f90: Ditto.
712 * testsuite/libgomp.fortran/examples-4/device-3.f90: Ditto.
713 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Ditto.
714 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Ditto.
715 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Ditto.
716 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Ditto.
717 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Ditto.
718 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Ditto.
719 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Ditto.
720 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Ditto.
721 * testsuite/libgomp.fortran/examples-4/target-1.f90: Ditto.
722 * testsuite/libgomp.fortran/examples-4/target-2.f90: Ditto.
723 * testsuite/libgomp.fortran/examples-4/target-3.f90: Ditto.
724 * testsuite/libgomp.fortran/examples-4/target-4.f90: Ditto.
725 * testsuite/libgomp.fortran/examples-4/target-5.f90: Ditto.
726 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Ditto.
727 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Ditto.
728 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Ditto.
729 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Ditto.
730 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Ditto.
731 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Ditto.
732 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Ditto.
733 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Ditto.
734 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Ditto.
735 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Ditto.
736 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Ditto.
737 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Ditto.
738 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Ditto.
739 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Ditto.
740 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Ditto.
741 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Ditto.
742 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Ditto.
743 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Ditto.
744 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Ditto.
745 * testsuite/libgomp.fortran/lastprivate1.f90: Ditto.
746 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
747 * testsuite/libgomp.fortran/lib1.f90: Ditto.
748 * testsuite/libgomp.fortran/lib4.f90: Ditto.
749 * testsuite/libgomp.fortran/lock-1.f90: Ditto.
750 * testsuite/libgomp.fortran/lock-2.f90: Ditto.
751 * testsuite/libgomp.fortran/nested1.f90: Ditto.
752 * testsuite/libgomp.fortran/nestedfn1.f90: Ditto.
753 * testsuite/libgomp.fortran/nestedfn2.f90: Ditto.
754 * testsuite/libgomp.fortran/nestedfn3.f90: Ditto.
755 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
756 * testsuite/libgomp.fortran/nestedfn5.f90: Ditto.
757 * testsuite/libgomp.fortran/omp_atomic1.f90: Ditto.
758 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
759 * testsuite/libgomp.fortran/omp_atomic3.f90: Ditto.
760 * testsuite/libgomp.fortran/omp_atomic4.f90: Ditto.
761 * testsuite/libgomp.fortran/omp_atomic5.f90: Ditto.
762 * testsuite/libgomp.fortran/omp_cond1.f: Ditto.
763 * testsuite/libgomp.fortran/omp_cond2.f: Ditto.
764 * testsuite/libgomp.fortran/omp_cond3.F90: Ditto.
765 * testsuite/libgomp.fortran/omp_cond4.F90: Ditto.
766 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
767 * testsuite/libgomp.fortran/omp_parse2.f90: Ditto.
768 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
769 * testsuite/libgomp.fortran/omp_parse4.f90: Ditto.
770 * testsuite/libgomp.fortran/openmp_version-1.f: Ditto.
771 * testsuite/libgomp.fortran/openmp_version-2.f90: Ditto.
772 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Ditto.
773 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Ditto.
774 * testsuite/libgomp.fortran/pointer1.f90: Ditto.
775 * testsuite/libgomp.fortran/pointer2.f90: Ditto.
776 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
777 * testsuite/libgomp.fortran/pr27395-1.f90: Ditto.
778 * testsuite/libgomp.fortran/pr27395-2.f90: Ditto.
779 * testsuite/libgomp.fortran/pr27416-1.f90: Ditto.
780 * testsuite/libgomp.fortran/pr27916-1.f90: Ditto.
781 * testsuite/libgomp.fortran/pr27916-2.f90: Ditto.
782 * testsuite/libgomp.fortran/pr28390.f: Ditto.
783 * testsuite/libgomp.fortran/pr29629.f90: Ditto.
784 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
785 * testsuite/libgomp.fortran/pr33880.f90: Ditto.
786 * testsuite/libgomp.fortran/pr34020.f90: Ditto.
787 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
788 * testsuite/libgomp.fortran/pr42162.f90: Ditto.
789 * testsuite/libgomp.fortran/pr46753.f90: Ditto.
790 * testsuite/libgomp.fortran/pr48894.f90: Ditto.
791 * testsuite/libgomp.fortran/pr49792-1.f90: Ditto.
792 * testsuite/libgomp.fortran/pr49792-2.f90: Ditto.
793 * testsuite/libgomp.fortran/pr63938-1.f90: Ditto.
794 * testsuite/libgomp.fortran/pr63938-2.f90: Ditto.
795 * testsuite/libgomp.fortran/pr65597.f90: Ditto.
796 * testsuite/libgomp.fortran/pr66199-1.f90: Ditto.
797 * testsuite/libgomp.fortran/pr71014.f90: Ditto.
798 * testsuite/libgomp.fortran/pr81304.f90: Ditto.
799 * testsuite/libgomp.fortran/pr81841.f90: Ditto.
800 * testsuite/libgomp.fortran/pr84418-1.f90: Ditto.
801 * testsuite/libgomp.fortran/pr84418-2.f90: Ditto.
802 * testsuite/libgomp.fortran/procptr1.f90: Ditto.
803 * testsuite/libgomp.fortran/recursion1.f90: Ditto.
804 * testsuite/libgomp.fortran/reduction1.f90: Ditto.
805 * testsuite/libgomp.fortran/reduction2.f90: Ditto.
806 * testsuite/libgomp.fortran/reduction3.f90: Ditto.
807 * testsuite/libgomp.fortran/reduction4.f90: Ditto.
808 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
809 * testsuite/libgomp.fortran/reduction6.f90: Ditto.
810 * testsuite/libgomp.fortran/reference1.f90: Ditto.
811 * testsuite/libgomp.fortran/reference2.f90: Ditto.
812 * testsuite/libgomp.fortran/retval1.f90: Ditto.
813 * testsuite/libgomp.fortran/retval2.f90: Ditto.
814 * testsuite/libgomp.fortran/sharing1.f90: Ditto.
815 * testsuite/libgomp.fortran/sharing2.f90: Ditto.
816 * testsuite/libgomp.fortran/simd1.f90: Ditto.
817 * testsuite/libgomp.fortran/simd2.f90: Ditto.
818 * testsuite/libgomp.fortran/simd3.f90: Ditto.
819 * testsuite/libgomp.fortran/simd4.f90: Ditto.
820 * testsuite/libgomp.fortran/simd5.f90: Ditto.
821 * testsuite/libgomp.fortran/simd6.f90: Ditto.
822 * testsuite/libgomp.fortran/simd7.f90: Ditto.
823 * testsuite/libgomp.fortran/stack.f90: Ditto.
824 * testsuite/libgomp.fortran/strassen.f90: Ditto.
825 * testsuite/libgomp.fortran/tabs1.f90: Ditto.
826 * testsuite/libgomp.fortran/tabs2.f: Ditto.
827 * testsuite/libgomp.fortran/target1.f90: Ditto.
828 * testsuite/libgomp.fortran/target2.f90: Ditto.
829 * testsuite/libgomp.fortran/target3.f90: Ditto.
830 * testsuite/libgomp.fortran/target4.f90: Ditto.
831 * testsuite/libgomp.fortran/target5.f90: Ditto.
832 * testsuite/libgomp.fortran/target6.f90: Ditto.
833 * testsuite/libgomp.fortran/target7.f90: Ditto.
834 * testsuite/libgomp.fortran/target8.f90: Ditto.
835 * testsuite/libgomp.fortran/task1.f90: Ditto.
836 * testsuite/libgomp.fortran/task2.f90: Ditto.
837 * testsuite/libgomp.fortran/task3.f90: Ditto.
838 * testsuite/libgomp.fortran/task4.f90: Ditto.
839 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
840 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
841 * testsuite/libgomp.fortran/taskloop2.f90: Ditto.
842 * testsuite/libgomp.fortran/taskloop3.f90: Ditto.
843 * testsuite/libgomp.fortran/taskloop4.f90: Ditto.
844 * testsuite/libgomp.fortran/threadprivate1.f90: Ditto.
845 * testsuite/libgomp.fortran/threadprivate2.f90: Ditto.
846 * testsuite/libgomp.fortran/threadprivate3.f90: Ditto.
847 * testsuite/libgomp.fortran/threadprivate4.f90: Ditto.
848 * testsuite/libgomp.fortran/udr1.f90: Ditto.
849 * testsuite/libgomp.fortran/udr10.f90: Ditto.
850 * testsuite/libgomp.fortran/udr11.f90: Ditto.
851 * testsuite/libgomp.fortran/udr12.f90: Ditto.
852 * testsuite/libgomp.fortran/udr13.f90: Ditto.
853 * testsuite/libgomp.fortran/udr14.f90: Ditto.
854 * testsuite/libgomp.fortran/udr15.f90: Ditto.
855 * testsuite/libgomp.fortran/udr2.f90: Ditto.
856 * testsuite/libgomp.fortran/udr3.f90: Ditto.
857 * testsuite/libgomp.fortran/udr4.f90: Ditto.
858 * testsuite/libgomp.fortran/udr5.f90: Ditto.
859 * testsuite/libgomp.fortran/udr6.f90: Ditto.
860 * testsuite/libgomp.fortran/udr7.f90: Ditto.
861 * testsuite/libgomp.fortran/udr8.f90: Ditto.
862 * testsuite/libgomp.fortran/udr9.f90: Ditto.
863 * testsuite/libgomp.fortran/vla1.f90: Ditto.
864 * testsuite/libgomp.fortran/vla2.f90: Ditto.
865 * testsuite/libgomp.fortran/vla3.f90: Ditto.
866 * testsuite/libgomp.fortran/vla4.f90: Ditto.
867 * testsuite/libgomp.fortran/vla5.f90: Ditto.
868 * testsuite/libgomp.fortran/vla6.f90: Ditto.
869 * testsuite/libgomp.fortran/vla7.f90: Ditto.
870 * testsuite/libgomp.fortran/vla8.f90: Ditto.
871 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
872 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
873
01509e2f
TB
8742019-10-30 Tobias Burnus <tobias@codesourcery.com>
875
876 * testsuite/libgomp.fortran/target-simd.f90: Use stop not abort.
877 * testsuite/libgomp.fortran/use_device_ptr-optional-1.f90:
878 Ditto; add 'dg-do run' for torture testing.
879 * testsuite/libgomp.fortran/lastprivate1.f90: Add 'dg-do run'.
880 * testsuite/libgomp.fortran/lastprivate2.f90: Ditto.
881 * testsuite/libgomp.fortran/nestedfn4.f90: Ditto.
882 * testsuite/libgomp.fortran/pr25219.f90: Ditto.
883 * testsuite/libgomp.fortran/pr28390.f: Ditto.
884 * testsuite/libgomp.fortran/pr35130.f90: Ditto.
885 * testsuite/libgomp.fortran/pr90779.f90: Ditto.
886 * testsuite/libgomp.fortran/task2.f90: Ditto.
887 * testsuite/libgomp.fortran/taskgroup1.f90: Ditto.
888 * testsuite/libgomp.fortran/taskloop1.f90: Ditto.
889 * testsuite/libgomp.fortran/use_device_addr-1.f90: Ditto.
890 * testsuite/libgomp.fortran/use_device_addr-2.f90: Ditto.
891 * testsuite/libgomp.fortran/workshare1.f90: Ditto.
892 * testsuite/libgomp.fortran/workshare2.f90: Ditto.
893
ffbdd78a
TB
8942019-10-28 Tobias Burnus <tobias@codesourcery.com>
895
896 * testsuite/libgomp.oacc-fortran/abort-1.f90: Add 'dg-do run'.
897 * testsuite/libgomp.oacc-fortran/abort-2.f90: Ditto.
898 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Ditto.
899 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f90: Ditto.
900 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f90: Ditto.
901 * testsuite/libgomp.oacc-fortran/lib-1.f90: Ditto.
902 * testsuite/libgomp.oacc-fortran/common-block-1.f90:
903 Use 'stop' not abort().
904 * testsuite/libgomp.oacc-fortran/common-block-2.f90: Ditto.
905 * testsuite/libgomp.oacc-fortran/common-block-3.f90: Ditto.
906 * testsuite/libgomp.oacc-fortran/data-1.f90: Ditto.
907 * testsuite/libgomp.oacc-fortran/data-2.f90: Ditto.
908 * testsuite/libgomp.oacc-fortran/data-5.f90: Ditto.
909 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Ditto.
910 * testsuite/libgomp.oacc-fortran/gemm-2.f90: Ditto.
911 * testsuite/libgomp.oacc-fortran/gemm.f90: Ditto.
912 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Ditto.
913 * testsuite/libgomp.oacc-fortran/host_data-3.f90: Ditto.
914 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Ditto.
915 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Ditto.
916 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Ditto.
917 * testsuite/libgomp.oacc-fortran/kernels-independent.f90: Ditto.
918 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Ditto.
919 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Ditto.
920 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
921 Ditto.
922 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
923 Ditto.
924 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
925 Ditto.
926 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
927 Ditto.
928 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
929 Ditto.
930 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-1.f90:
931 Ditto.
932 * testsuite/libgomp.oacc-fortran/kernels-private-vars-vector-2.f90:
933 Ditto.
934 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-1.f90:
935 Ditto.
936 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-2.f90:
937 Ditto.
938 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-3.f90:
939 Ditto.
940 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-4.f90:
941 Ditto.
942 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-5.f90:
943 Ditto.
944 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-6.f90:
945 Ditto.
946 * testsuite/libgomp.oacc-fortran/kernels-private-vars-worker-7.f90:
947 Ditto.
948 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90: Ditto.
949 * testsuite/libgomp.oacc-fortran/lib-12.f90: Ditto.
950 * testsuite/libgomp.oacc-fortran/lib-13.f90: Ditto.
951 * testsuite/libgomp.oacc-fortran/lib-14.f90: Ditto.
952 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
953 Likewise and also add 'dg-do run'.
954 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
955 Ditto.
956
ec084613
CP
9572019-10-25 Cesar Philippidis <cesar@codesourcery.com>
958 Tobias Burnus <tobias@codesourcery.com>
959
960 * testsuite/libgomp.oacc-fortran/common-block-1.f90: New test.
961 * testsuite/libgomp.oacc-fortran/common-block-2.f90: New test.
962 * testsuite/libgomp.oacc-fortran/common-block-3.f90: New test.
963
77ef3394
JJ
9642019-10-14 Jakub Jelinek <jakub@redhat.com>
965
966 PR libgomp/92081
967 * testsuite/libgomp.fortran/target-simd.f90: Iterate from 1 rather
968 than 0.
969
08c14aaa
TB
9702019-10-11 Tobias Burnus <tobias@codesourcery.com>
971
972 * testsuite/libgomp.fortran/use_device_addr-1.f90: New.
973 * testsuite/libgomp.fortran/use_device_addr-2.f90: New.
974
6bbead0c
TS
9752019-10-09 Thomas Schwinge <thomas@codesourcery.com>
976
977 PR middle-end/92036
978 * testsuite/libgomp.oacc-c-c++-common/data-firstprivate-1.c: New
979 file.
980
eba3dee8
TB
9812019-10-09 Tobias Burnus <tobias@codesourcery.com>
982
983 PR testsuite/91884
984 * testsuite/libgomp.fortran/fortran.exp: Conditionally
985 add -lquadmath.
986 * testsuite/libgomp.oacc-fortran/fortran.exp: Ditto.
987
7d48e14f
JJ
9882019-10-09 Jakub Jelinek <jakub@redhat.com>
989
990 PR libgomp/92028
991 * target.c (gomp_map_vars_internal): Readd the previous
992 GOMP_MAP_USE_DEVICE_PTR handling code in the first loop,
993 though do that just in the !not_found_cnt case.
994
65b67cf3
TB
9952019-10-08 Tobias Burnus <tobias@codesourcery.com>
996
997 * gfortran.dg/gomp/target-simd.f90: New.
998
6c7e076b
JB
9992019-10-02 Julian Brown <julian@codesourcery.com>
1000 Cesar Philippidis <cesar@codesourcery.com>
1001
1002 * libgomp.h (OFFSET_INLINED, OFFSET_POINTER, OFFSET_STRUCT): Define.
1003 * target.c (FIELD_TGT_EMPTY): Define.
1004 (gomp_map_val): Use OFFSET_* macros instead of magic constants. Write
1005 as switch instead of list of ifs.
1006 (gomp_map_vars_internal): Use OFFSET_* and FIELD_TGT_EMPTY macros.
1007
d61bff85
AT
10082019-10-02 Andreas Tobler <andreast@gcc.gnu.org>
1009
1010 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: Remove alloca.h
1011 include. Replace alloca () with __builtin_alloca ().
1012 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Likewise.
1013
810f316d
JJ
10142019-10-01 Jakub Jelinek <jakub@redhat.com>
1015
1016 * configure.ac: Remove GCC_HEADER_STDINT(gstdint.h).
1017 * libgomp.h: Include <stdint.h> instead of "gstdint.h".
1018 * oacc-parallel.c: Don't include "libgomp_g.h".
1019 * plugin/plugin-hsa.c: Include <stdint.h> instead of "gstdint.h".
1020 * plugin/plugin-nvptx.c: Don't include "gstdint.h".
1021 * aclocal.m4: Regenerated.
1022 * config.h.in: Regenerated.
1023 * configure: Regenerated.
1024 * Makefile.in: Regenerated.
1025
d7f9ee98
KCY
10262019-09-30 Kwok Cheung Yeung <kcy@codesourcery.com>
1027
1028 * libgomp_g.h: Include stdint.h instead of gstdint.h.
1029
e9085da5
MR
10302019-09-27 Maciej W. Rozycki <macro@wdc.com>
1031
1032 * configure: Regenerate.
1033
c28712be
TB
10342019-09-13 Tobias Burnus <tobias@codesourcery.com>
1035
1036 * plugin/plugin-hsa.c (hsa_warn, hsa_fatal, hsa_error): Ensure
1037 string is initialized.
1038
3c086f8d
FW
10392019-09-06 Florian Weimer <fweimer@redhat.com>
1040
1041 * configure: Regenerate.
1042
c6c2d1bc
CLT
10432019-09-03 Chung-Lin Tang <cltang@codesourcery.com>
1044
1045 PR other/79543
1046 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Fix GNU ld --version
1047 scanning to conform to the GNU Coding Standards.
1048 * configure: Regenerate.
1049
5cb72d83
JJ
10502019-08-28 Jakub Jelinek <jakub@redhat.com>
1051
1052 PR libgomp/91530
1053 * testsuite/libgomp.c/scan-21.c: New test.
1054 * testsuite/libgomp.c/scan-22.c: New test.
1055
0ad7981c
JJ
10562019-08-27 Jakub Jelinek <jakub@redhat.com>
1057
1058 PR libgomp/91530
1059 * testsuite/libgomp.c/scan-11.c: Add -msse2 option for sse2_runtime
1060 targets.
1061 * testsuite/libgomp.c/scan-12.c: Likewise.
1062 * testsuite/libgomp.c/scan-13.c: Likewise.
1063 * testsuite/libgomp.c/scan-14.c: Likewise.
1064 * testsuite/libgomp.c/scan-15.c: Likewise.
1065 * testsuite/libgomp.c/scan-16.c: Likewise.
1066 * testsuite/libgomp.c/scan-17.c: Likewise.
1067 * testsuite/libgomp.c/scan-18.c: Likewise.
1068 * testsuite/libgomp.c/scan-19.c: Likewise.
1069 * testsuite/libgomp.c/scan-20.c: Likewise.
1070 * testsuite/libgomp.c++/scan-9.C: Likewise.
1071 * testsuite/libgomp.c++/scan-10.C: Likewise.
1072 * testsuite/libgomp.c++/scan-11.C: Likewise.
1073 * testsuite/libgomp.c++/scan-12.C: Likewise.
1074 * testsuite/libgomp.c++/scan-14.C: Likewise.
1075 * testsuite/libgomp.c++/scan-15.C: Likewise.
1076 * testsuite/libgomp.c++/scan-13.C: Likewise. Use sse2_runtime
1077 instead of i?86-*-* x86_64-*-* as target for scan-tree-dump-times.
1078 * testsuite/libgomp.c++/scan-16.C: Likewise.
1079
1e67491a
TK
10802019-08-17 Thomas Koenig <tkoenig@gcc.gnu.org>
1081
1082 PR fortran/91473
1083 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add
1084 -std=legacy so invalid code in the test case is accepted.
1085
393fdeb1
TK
10862019-08-12 Thomas Koenig <tkoenig@gcc.gnu.org>
1087
1088 PR fortran/91422
1089 * testsuite/libgomp.oacc-fortran/routine-7.f90: Correct array
1090 dimension.
1091
8860d270
JJ
10922019-08-08 Jakub Jelinek <jakub@redhat.com>
1093
1094 * target.c (gomp_map_vars_internal): For GOMP_MAP_USE_DEVICE_PTR
1095 perform the lookup in the first loop only if !not_found_cnt, otherwise
1096 perform lookups for it in the second loop guarded with
1097 if (not_found_cnt || has_firstprivate).
1098 * testsuite/libgomp.c/target-37.c: New test.
1099 * testsuite/libgomp.c++/target-22.C: New test.
1100
398e3feb
JJ
11012019-08-07 Jakub Jelinek <jakub@redhat.com>
1102
1103 * testsuite/libgomp.c/target-18.c (struct S): New type.
1104 (foo): Use use_device_addr clause instead of use_device_ptr clause
1105 where required by OpenMP 5.0, add further tests for both use_device_ptr
1106 and use_device_addr clauses.
1107 * testsuite/libgomp.c++/target-9.C (struct S): New type.
1108 (foo): Use use_device_addr clause instead of use_device_ptr clause
1109 where required by OpenMP 5.0, add further tests for both use_device_ptr
1110 and use_device_addr clauses. Add t and u arguments.
1111 (main): Adjust caller.
1112
d81ab49d
JJ
11132019-08-06 Jakub Jelinek <jakub@redhat.com>
1114
1115 * testsuite/libgomp.c++/loop-13.C: New test.
1116 * testsuite/libgomp.c++/loop-14.C: New test.
1117 * testsuite/libgomp.c++/loop-15.C: New test.
1118
c3ac76aa
JJ
11192019-07-31 Jakub Jelinek <jakub@redhat.com>
1120
1121 PR middle-end/91301
1122 * testsuite/libgomp.c++/for-27.C: New test.
1123
8dc63166
SK
11242019-07-23 Steven G. Kargl <kargl@gcc.gnu.org>
1125
393fdeb1 1126 * testsuite/libgomp.fortran/reduction4.f90: Update BOZ usage.
8dc63166 1127 * testsuite/libgomp.fortran/reduction5.f90: Ditto.
393fdeb1 1128
554a530f
JJ
11292019-07-20 Jakub Jelinek <jakub@redhat.com>
1130
1131 * testsuite/libgomp.c-c++-common/loop-1.c: New test.
1132
6cda84b5
JJ
11332019-07-08 Jakub Jelinek <jakub@redhat.com>
1134
1135 * testsuite/libgomp.c++/scan-13.C: Replace xfail with target x86.
1136 * testsuite/libgomp.c++/scan-16.C: Likewise.
1137
1f52d1a8
JJ
11382019-07-06 Jakub Jelinek <jakub@redhat.com>
1139
6f67abcd
JJ
1140 * testsuite/libgomp.c/scan-19.c: New test.
1141 * testsuite/libgomp.c/scan-20.c: New test.
1142
1f52d1a8
JJ
1143 * testsuite/libgomp.c/scan-11.c: New test.
1144 * testsuite/libgomp.c/scan-12.c: New test.
1145 * testsuite/libgomp.c/scan-13.c: New test.
1146 * testsuite/libgomp.c/scan-14.c: New test.
1147 * testsuite/libgomp.c/scan-15.c: New test.
1148 * testsuite/libgomp.c/scan-16.c: New test.
1149 * testsuite/libgomp.c/scan-17.c: New test.
1150 * testsuite/libgomp.c/scan-18.c: New test.
1151 * testsuite/libgomp.c++/scan-9.C: New test.
1152 * testsuite/libgomp.c++/scan-10.C: New test.
1153 * testsuite/libgomp.c++/scan-11.C: New test.
1154 * testsuite/libgomp.c++/scan-12.C: New test.
1155 * testsuite/libgomp.c++/scan-13.C: New test.
1156 * testsuite/libgomp.c++/scan-14.C: New test.
1157 * testsuite/libgomp.c++/scan-15.C: New test.
1158 * testsuite/libgomp.c++/scan-16.C: New test.
1159
2f03073f
JJ
11602019-07-04 Jakub Jelinek <jakub@redhat.com>
1161
1162 * testsuite/libgomp.c/scan-9.c: New test.
1163 * testsuite/libgomp.c/scan-10.c: New test.
1164
2f6bb511
JJ
11652019-07-03 Jakub Jelinek <jakub@redhat.com>
1166
1167 * testsuite/libgomp.c++/scan-1.C: New test.
1168 * testsuite/libgomp.c++/scan-2.C: New test.
1169 * testsuite/libgomp.c++/scan-3.C: New test.
1170 * testsuite/libgomp.c++/scan-4.C: New test.
1171 * testsuite/libgomp.c++/scan-5.C: New test.
1172 * testsuite/libgomp.c++/scan-6.C: New test.
1173 * testsuite/libgomp.c++/scan-7.C: New test.
1174 * testsuite/libgomp.c++/scan-8.C: New test.
1175 * testsuite/libgomp.c/scan-1.c: New test.
1176 * testsuite/libgomp.c/scan-2.c: New test.
1177 * testsuite/libgomp.c/scan-3.c: New test.
1178 * testsuite/libgomp.c/scan-4.c: New test.
1179 * testsuite/libgomp.c/scan-5.c: New test.
1180 * testsuite/libgomp.c/scan-6.c: New test.
1181 * testsuite/libgomp.c/scan-7.c: New test.
1182 * testsuite/libgomp.c/scan-8.c: New test.
1183
bd194a51
TS
11842019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1185
85fca03a
TS
1186 * testsuite/libgomp.oacc-c++/firstprivate-mappings-1.C: New file.
1187 * testsuite/libgomp.oacc-c-c++-common/firstprivate-mappings-1.c:
1188 Likewise.
1189
bd194a51
TS
1190 * testsuite/libgomp.fortran/allocatable3.f90: Add missing results
1191 check.
1192
6652161e
CP
11932019-06-18 Cesar Philippidis <cesar@codesourcery.com>
1194
1195 * testsuite/libgomp.oacc-fortran/allocatable-array-1.f90: New
1196 file.
1197
3a37d6f6
TS
11982019-06-18 Thomas Schwinge <thomas@codesourcery.com>
1199
4017da8d
TS
1200 PR fortran/90743
1201 * oacc-parallel.c (GOACC_parallel_keyed): Handle NULL mapping
1202 case.
1203 * testsuite/libgomp.fortran/target-allocatable-1-1.f90: New file.
1204 * testsuite/libgomp.fortran/target-allocatable-1-2.f90: Likewise.
1205 * testsuite/libgomp.oacc-fortran/allocatable-1-1.f90: Likewise.
1206 * testsuite/libgomp.oacc-fortran/allocatable-1-2.f90: Likewise.
1207
6f7c1f65
TS
1208 PR testsuite/90861
1209 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: Update.
1210
3a37d6f6
TS
1211 PR middle-end/90862
1212 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Update.
1213
f45ce17d
TV
12142019-06-16 Tom de Vries <tdevries@suse.de>
1215
1216 PR tree-optimization/89376
1217 * testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
1218
00908992
TV
12192019-06-15 Tom de Vries <tdevries@suse.de>
1220
1221 PR tree-optimization/89713
1222 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: Expect no bar.sync.
1223 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: Same.
1224
211b7533
JJ
12252019-06-15 Jakub Jelinek <jakub@redhat.com>
1226
1227 PR middle-end/90779
1228 * testsuite/libgomp.c/pr90779.c: New test.
1229 * testsuite/libgomp.fortran/pr90779.f90: New test.
1230
120a01d1
TV
12312019-06-15 Tom de Vries <tdevries@suse.de>
1232
1233 PR tree-optimization/90009
1234 * testsuite/libgomp.oacc-c-c++-common/pr90009.c: New test.
1235
c29c92c7
FX
12362019-06-13 Feng Xue <fxue@os.amperecomputing.com>
1237
1238 PR tree-optimization/89713
1239 * testsuite/libgomp.oacc-c-c++-common/pr84955-1.c: New test.
1240
ce9c4ec3
JJ
12412019-06-11 Jakub Jelinek <jakub@redhat.com>
1242
1243 PR target/90811
1244 * testsuite/libgomp.c/pr90811.c: New test.
1245
28b3a77c
JJ
12462019-06-05 Jakub Jelinek <jakub@redhat.com>
1247
1248 * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test.
1249 * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test.
1250
7855700e
JJ
12512019-06-04 Jakub Jelinek <jakub@redhat.com>
1252
1253 * testsuite/libgomp.c-c++-common/lastprivate-conditional-7.c: New test.
1254 * testsuite/libgomp.c-c++-common/lastprivate-conditional-8.c: New test.
1255 * testsuite/libgomp.c-c++-common/lastprivate-conditional-9.c: New test.
1256 * testsuite/libgomp.c-c++-common/lastprivate-conditional-10.c: New test.
1257
a7155c2e
RO
12582019-05-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1259
1260 * configure.ac: Call AX_COUNT_CPUS.
1261 Substitute CPU_COUNT.
1262 * testsuite/Makefile.am (check-am): Use CPU_COUNT as processor
1263 count fallback.
1264 * aclocal.m4: Regenerate.
1265 * configure: Regenerate.
1266 * Makefile.in, testsuite/Makefile.in: Regenerate.
1267
7e47198b
JJ
12682019-05-29 Jakub Jelinek <jakub@redhat.com>
1269
1270 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: Rename
1271 to ...
1272 * testsuite/libgomp.c-c++-common/lastprivate-conditional-4.c: ... this.
1273 * testsuite/libgomp.c-c++-common/lastprivate-conditional-5.c: New test.
1274 * testsuite/libgomp.c-c++-common/lastprivate-conditional-6.c: New test.
1275
fcfb8032
JJ
12762019-05-27 Jakub Jelinek <jakub@redhat.com>
1277
8e7757ba
JJ
1278 * testsuite/libgomp.c-c++-common/lastprivate_conditional_4.c: New test.
1279
36c7a3ff
JJ
1280 * testsuite/libgomp.c-c++-common/lastprivate-conditional-3.c: New test.
1281
fcfb8032
JJ
1282 PR libgomp/90641
1283 * work.c (gomp_init_work_share): Instead of aligning final ordered
1284 value to multiples of long long alignment, align to that the
1285 first part (ordered team ids) and if inline_ordered_team_ids
1286 is not on a long long alignment boundary within the structure,
1287 use __alignof__ (long long) - 1 pad size always.
1288 * loop.c (GOMP_loop_start): Fix *mem computation if
1289 inline_ordered_team_ids is not aligned on long long alignment boundary
1290 within the structure.
1291 * loop-ull.c (GOMP_loop_ull_start): Likewise.
1292 * sections.c (GOMP_sections2_start): Likewise.
1293
b5c26449
JJ
12942019-05-24 Jakub Jelinek <jakub@redhat.com>
1295
6c7ae8c5
JJ
1296 * testsuite/libgomp.c-c++-common/lastprivate-conditional-1.c: New test.
1297 * testsuite/libgomp.c-c++-common/lastprivate-conditional-2.c: New test.
1298
b5c26449
JJ
1299 PR libgomp/90585
1300 * plugin/plugin-hsa.c: Include gstdint.h. Include inttypes.h only if
1301 HAVE_INTTYPES_H is defined.
1302 (print_uint64_t): New typedef.
1303 (PRIu64): Define if HAVE_INTTYPES_H is not defined.
1304 (print_kernel_dispatch, run_kernel): Use PRIu64 macro instead of
1305 "lu", cast uint64_t HSA_DEBUG and fprintf arguments to print_uint64_t.
1306 (release_kernel_dispatch): Likewise. Cast shadow->debug to uintptr_t
1307 before casting to void *.
1308 * plugin/plugin-nvptx.c: Include gstdint.h instead of stdint.h.
1309 * oacc-mem.c: Don't include config.h nor stdint.h.
1310 * target.c: Don't include config.h.
1311 * oacc-cuda.c: Likewise.
1312 * oacc-host.c: Don't include stdint.h.
1313
3e03ed66
JJ
13142019-05-20 Jakub Jelinek <jakub@redhat.com>
1315
1316 PR libgomp/90527
1317 * alloc.c (_GNU_SOURCE): Define.
1318
5fae049d
TS
13192019-05-17 Thomas Schwinge <thomas@codesourcery.com>
1320
1321 * acc_prof.h: New file.
1322 * oacc-profiling.c: Likewise.
1323 * Makefile.am (nodist_libsubinclude_HEADERS, libgomp_la_SOURCES):
1324 Add these, respectively.
1325 * Makefile.in: Regenerate.
1326 * env.c (initialize_env): Call goacc_profiling_initialize.
1327 * oacc-plugin.c (GOMP_PLUGIN_goacc_thread)
1328 (GOMP_PLUGIN_goacc_profiling_dispatch): New functions.
1329 * oacc-plugin.h (GOMP_PLUGIN_goacc_thread)
1330 (GOMP_PLUGIN_goacc_profiling_dispatch): Declare.
1331 * libgomp.map (OACC_2.5.1): Add acc_prof_lookup,
1332 acc_prof_register, acc_prof_unregister, and acc_register_library.
1333 (GOMP_PLUGIN_1.3): Add GOMP_PLUGIN_goacc_profiling_dispatch, and
1334 GOMP_PLUGIN_goacc_thread.
1335 * oacc-int.h (struct goacc_thread): Add prof_info, api_info,
1336 prof_callbacks_enabled members.
1337 (goacc_prof_enabled, goacc_profiling_initialize)
1338 (_goacc_profiling_dispatch_p, _goacc_profiling_setup_p)
1339 (goacc_profiling_dispatch): Declare.
1340 (GOACC_PROF_ENABLED, GOACC_PROFILING_DISPATCH_P)
1341 (GOACC_PROFILING_SETUP_P): Define.
1342 * oacc-async.c (acc_async_test, acc_async_test_all, acc_wait)
1343 (acc_wait_async, acc_wait_all, acc_wait_all_async): Update for
1344 OpenACC Profiling Interface.
1345 * oacc-cuda.c (acc_get_current_cuda_device)
1346 (acc_get_current_cuda_context, acc_get_cuda_stream)
1347 (acc_set_cuda_stream): Likewise.
1348 * oacc-init.c (acc_init_1, goacc_attach_host_thread_to_device)
1349 (acc_init, acc_set_device_type, acc_get_device_type)
1350 (acc_get_device_num, goacc_lazy_initialize): Likewise.
1351 * oacc-mem.c (acc_malloc, acc_free, memcpy_tofrom_device)
1352 (acc_deviceptr, acc_hostptr, acc_is_present, acc_map_data)
1353 (acc_unmap_data, present_create_copy, delete_copyout)
1354 (update_dev_host): Likewise.
1355 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_data_start)
1356 (GOACC_data_end, GOACC_enter_exit_data, GOACC_update, GOACC_wait):
1357 Likewise.
1358 * plugin/plugin-nvptx.c (nvptx_exec, nvptx_alloc, nvptx_free)
1359 (GOMP_OFFLOAD_openacc_exec, GOMP_OFFLOAD_openacc_async_exec):
1360 Likewise.
1361 * libgomp.texi: Update.
1362 * testsuite/libgomp.oacc-c-c++-common/acc_prof-dispatch-1.c: New
1363 file.
1364 * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-1.c: Likewise.
1365 * testsuite/libgomp.oacc-c-c++-common/acc_prof-kernels-1.c:
1366 Likewise.
1367 * testsuite/libgomp.oacc-c-c++-common/acc_prof-parallel-1.c:
1368 Likewise.
1369 * testsuite/libgomp.oacc-c-c++-common/acc_prof-valid_bytes-1.c:
1370 Likewise.
1371 * testsuite/libgomp.oacc-c-c++-common/acc_prof-version-1.c:
1372 Likewise.
1373
1f4c5b9b
CLT
13742019-05-13 Chung-Lin Tang <cltang@codesourcery.com>
1375
1376 * libgomp-plugin.h (struct goacc_asyncqueue): Declare.
1377 (struct goacc_asyncqueue_list): Likewise.
1378 (goacc_aq): Likewise.
1379 (goacc_aq_list): Likewise.
1380 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1381 (GOMP_OFFLOAD_openacc_async_test): Remove.
1382 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1383 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1384 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1385 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1386 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1387 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1388 (GOMP_OFFLOAD_openacc_exec): Adjust declaration.
1389 (GOMP_OFFLOAD_openacc_cuda_get_stream): Likewise.
1390 (GOMP_OFFLOAD_openacc_cuda_set_stream): Likewise.
1391 (GOMP_OFFLOAD_openacc_async_exec): Declare.
1392 (GOMP_OFFLOAD_openacc_async_construct): Declare.
1393 (GOMP_OFFLOAD_openacc_async_destruct): Declare.
1394 (GOMP_OFFLOAD_openacc_async_test): Declare.
1395 (GOMP_OFFLOAD_openacc_async_synchronize): Declare.
1396 (GOMP_OFFLOAD_openacc_async_serialize): Declare.
1397 (GOMP_OFFLOAD_openacc_async_queue_callback): Declare.
1398 (GOMP_OFFLOAD_openacc_async_host2dev): Declare.
1399 (GOMP_OFFLOAD_openacc_async_dev2host): Declare.
1400
1401 * libgomp.h (struct acc_dispatch_t): Define 'async' sub-struct.
1402 (gomp_acc_insert_pointer): Adjust declaration.
1403 (gomp_copy_host2dev): New declaration.
1404 (gomp_copy_dev2host): Likewise.
1405 (gomp_map_vars_async): Likewise.
1406 (gomp_unmap_tgt): Likewise.
1407 (gomp_unmap_vars_async): Likewise.
1408 (gomp_fini_device): Likewise.
1409
1410 * oacc-async.c (get_goacc_thread): New function.
1411 (get_goacc_thread_device): New function.
1412 (lookup_goacc_asyncqueue): New function.
1413 (get_goacc_asyncqueue): New function.
1414 (acc_async_test): Adjust code to use new async design.
1415 (acc_async_test_all): Likewise.
1416 (acc_wait): Likewise.
1417 (acc_wait_async): Likewise.
1418 (acc_wait_all): Likewise.
1419 (acc_wait_all_async): Likewise.
1420 (goacc_async_free): New function.
1421 (goacc_init_asyncqueues): Likewise.
1422 (goacc_fini_asyncqueues): Likewise.
1423 * oacc-cuda.c (acc_get_cuda_stream): Adjust code to use new async
1424 design.
1425 (acc_set_cuda_stream): Likewise.
1426 * oacc-host.c (host_openacc_exec): Adjust parameters, remove 'async'.
1427 (host_openacc_register_async_cleanup): Remove.
1428 (host_openacc_async_exec): New function.
1429 (host_openacc_async_test): Adjust parameters.
1430 (host_openacc_async_test_all): Remove.
1431 (host_openacc_async_wait): Remove.
1432 (host_openacc_async_wait_async): Remove.
1433 (host_openacc_async_wait_all): Remove.
1434 (host_openacc_async_wait_all_async): Remove.
1435 (host_openacc_async_set_async): Remove.
1436 (host_openacc_async_synchronize): New function.
1437 (host_openacc_async_serialize): New function.
1438 (host_openacc_async_host2dev): New function.
1439 (host_openacc_async_dev2host): New function.
1440 (host_openacc_async_queue_callback): New function.
1441 (host_openacc_async_construct): New function.
1442 (host_openacc_async_destruct): New function.
1443 (struct gomp_device_descr host_dispatch): Remove initialization of old
93d90219 1444 interface, add initialization of new async sub-struct.
1f4c5b9b
CLT
1445 * oacc-init.c (acc_shutdown_1): Adjust to use gomp_fini_device.
1446 (goacc_attach_host_thread_to_device): Remove old async code usage.
1447 * oacc-int.h (goacc_init_asyncqueues): New declaration.
1448 (goacc_fini_asyncqueues): Likewise.
1449 (goacc_async_copyout_unmap_vars): Likewise.
1450 (goacc_async_free): Likewise.
1451 (get_goacc_asyncqueue): Likewise.
1452 (lookup_goacc_asyncqueue): Likewise.
1453 * oacc-mem.c (memcpy_tofrom_device): Adjust code to use new async
1454 design.
1455 (present_create_copy): Adjust code to use new async design.
1456 (delete_copyout): Likewise.
1457 (update_dev_host): Likewise.
1458 (gomp_acc_insert_pointer): Add async parameter, adjust code to use new
1459 async design.
1460 (gomp_acc_remove_pointer): Adjust code to use new async design.
1461 * oacc-parallel.c (GOACC_parallel_keyed): Adjust code to use new async
1462 design.
1463 (GOACC_enter_exit_data): Likewise.
1464 (goacc_wait): Likewise.
1465 (GOACC_update): Likewise.
1466 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Change to assert fail
1467 when called, warn as obsolete in comment.
1468 * target.c (goacc_device_copy_async): New function.
1469 (gomp_copy_host2dev): Remove 'static', add goacc_asyncqueue parameter,
1470 add goacc_device_copy_async case.
1471 (gomp_copy_dev2host): Likewise.
1472 (gomp_map_vars_existing): Add goacc_asyncqueue parameter, adjust code.
1473 (gomp_map_pointer): Likewise.
1474 (gomp_map_fields_existing): Likewise.
1475 (gomp_map_vars_internal): New always_inline function, renamed from
1476 gomp_map_vars.
1477 (gomp_map_vars): Implement by calling gomp_map_vars_internal.
1478 (gomp_map_vars_async): Implement by calling gomp_map_vars_internal,
1479 passing goacc_asyncqueue argument.
1480 (gomp_unmap_tgt): Remove static, add attribute_hidden.
1481 (gomp_unref_tgt): New function.
1482 (gomp_unmap_vars_internal): New always_inline function, renamed from
1483 gomp_unmap_vars.
1484 (gomp_unmap_vars): Implement by calling gomp_unmap_vars_internal.
1485 (gomp_unmap_vars_async): Implement by calling
1486 gomp_unmap_vars_internal, passing goacc_asyncqueue argument.
1487 (gomp_fini_device): New function.
1488 (gomp_exit_data): Adjust gomp_copy_dev2host call.
1489 (gomp_load_plugin_for_device): Remove old interface, adjust to load
1490 new async interface.
1491 (gomp_target_fini): Adjust code to call gomp_fini_device.
1492
1493 * plugin/plugin-nvptx.c (struct cuda_map): Remove.
1494 (struct ptx_stream): Remove.
1495 (struct nvptx_thread): Remove current_stream field.
1496 (cuda_map_create): Remove.
1497 (cuda_map_destroy): Remove.
1498 (map_init): Remove.
1499 (map_fini): Remove.
1500 (map_pop): Remove.
1501 (map_push): Remove.
1502 (struct goacc_asyncqueue): Define.
1503 (struct nvptx_callback): Define.
1504 (struct ptx_free_block): Define.
1505 (struct ptx_device): Remove null_stream, active_streams, async_streams,
1506 stream_lock, and next fields.
1507 (enum ptx_event_type): Remove.
1508 (struct ptx_event): Remove.
1509 (ptx_event_lock): Remove.
1510 (ptx_events): Remove.
1511 (init_streams_for_device): Remove.
1512 (fini_streams_for_device): Remove.
1513 (select_stream_for_async): Remove.
1514 (nvptx_init): Remove ptx_events and ptx_event_lock references.
1515 (nvptx_attach_host_thread_to_device): Remove CUDA_ERROR_NOT_PERMITTED
1516 case.
1517 (nvptx_open_device): Add free_blocks initialization, remove
1518 init_streams_for_device call.
1519 (nvptx_close_device): Remove fini_streams_for_device call, add
1520 free_blocks destruct code.
1521 (event_gc): Remove.
1522 (event_add): Remove.
1523 (nvptx_exec): Adjust parameters and code.
1524 (nvptx_free): Likewise.
1525 (nvptx_host2dev): Remove.
1526 (nvptx_dev2host): Remove.
1527 (nvptx_set_async): Remove.
1528 (nvptx_async_test): Remove.
1529 (nvptx_async_test_all): Remove.
1530 (nvptx_wait): Remove.
1531 (nvptx_wait_async): Remove.
1532 (nvptx_wait_all): Remove.
1533 (nvptx_wait_all_async): Remove.
1534 (nvptx_get_cuda_stream): Remove.
1535 (nvptx_set_cuda_stream): Remove.
1536 (GOMP_OFFLOAD_alloc): Adjust code.
1537 (GOMP_OFFLOAD_free): Likewise.
1538 (GOMP_OFFLOAD_openacc_register_async_cleanup): Remove.
1539 (GOMP_OFFLOAD_openacc_exec): Adjust parameters and code.
1540 (GOMP_OFFLOAD_openacc_async_test_all): Remove.
1541 (GOMP_OFFLOAD_openacc_async_wait): Remove.
1542 (GOMP_OFFLOAD_openacc_async_wait_async): Remove.
1543 (GOMP_OFFLOAD_openacc_async_wait_all): Remove.
1544 (GOMP_OFFLOAD_openacc_async_wait_all_async): Remove.
1545 (GOMP_OFFLOAD_openacc_async_set_async): Remove.
1546 (cuda_free_argmem): New function.
1547 (GOMP_OFFLOAD_openacc_async_exec): New plugin hook function.
1548 (GOMP_OFFLOAD_openacc_create_thread_data): Adjust code.
1549 (GOMP_OFFLOAD_openacc_cuda_get_stream): Adjust code.
1550 (GOMP_OFFLOAD_openacc_cuda_set_stream): Adjust code.
1551 (GOMP_OFFLOAD_openacc_async_construct): New plugin hook function.
1552 (GOMP_OFFLOAD_openacc_async_destruct): New plugin hook function.
1553 (GOMP_OFFLOAD_openacc_async_test): Remove and re-implement.
1554 (GOMP_OFFLOAD_openacc_async_synchronize): New plugin hook function.
1555 (GOMP_OFFLOAD_openacc_async_serialize): New plugin hook function.
1556 (GOMP_OFFLOAD_openacc_async_queue_callback): New plugin hook function.
1557 (cuda_callback_wrapper): New function.
1558 (cuda_memcpy_sanity_check): New function.
1559 (GOMP_OFFLOAD_host2dev): Remove and re-implement.
1560 (GOMP_OFFLOAD_dev2host): Remove and re-implement.
1561 (GOMP_OFFLOAD_openacc_async_host2dev): New plugin hook function.
1562 (GOMP_OFFLOAD_openacc_async_dev2host): New plugin hook function.
1563
da2d30c1
TS
15642019-05-07 Thomas Schwinge <thomas@codesourcery.com>
1565
1566 PR target/87835
1567 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: Update.
1568
2bbbfa4e
TS
15692019-05-06 Thomas Schwinge <thomas@codesourcery.com>
1570
1571 * oacc-parallel.c: Add comments to legacy entry points (GCC 5).
1572
bbf1efe1
KB
15732019-03-27 Kevin Buettner <kevinb@redhat.com>
1574
1575 * team.c (gomp_team_start): Initialize pool->threads[0].
1576
1241136c
TS
15772019-02-22 Thomas Schwinge <thomas@codesourcery.com>
1578
b03d721a
TS
1579 * testsuite/libgomp.oacc-c++/c++.exp: Specify
1580 "-foffload=$offload_target".
1581 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1582 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1583 * testsuite/lib/libgomp.exp
1584 (check_effective_target_openacc_nvidia_accel_configured): Remove,
1585 as (conceptually) merged into
1586 check_effective_target_openacc_nvidia_accel_selected. Adjust all
1587 users.
1588
0a0384b4
TS
1589 * plugin/configfrag.ac: Populate and AC_SUBST offload_targets.
1590 * testsuite/libgomp-test-support.exp.in: Adjust.
1591 * testsuite/lib/libgomp.exp: Likewise. Don't populate
1592 openacc_device_types_s.
1593 (offload_target_to_openacc_device_type): New proc.
1594 * testsuite/libgomp.oacc-c++/c++.exp: Adjust.
1595 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1596 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1597 * Makefile.in: Regenerate.
1598 * configure: Likewise.
1599 * testsuite/Makefile.in: Likewise.
1600
ee332b4a
TS
1601 * plugin/configfrag.ac: Populate and AC_SUBST offload_plugins
1602 instead of offload_targets, and AC_DEFINE_UNQUOTED OFFLOAD_PLUGINS
1603 instead of OFFLOAD_TARGETS.
1604 * target.c (gomp_target_init): Adjust.
1605 * testsuite/libgomp-test-support.exp.in: Likewise.
1606 * testsuite/lib/libgomp.exp: Likewise. Populate
1607 openacc_device_types_s instead of offload_targets_s_openacc.
1608 (check_effective_target_openacc_nvidia_accel_selected)
1609 (check_effective_target_openacc_host_selected): Adjust.
1610 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
1611 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1612 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1613 * Makefile.in: Regenerate.
1614 * config.h.in: Likewise.
1615 * configure: Likewise.
1616 * testsuite/Makefile.in: Likewise.
1617
1241136c
TS
1618 * testsuite/lib/libgomp.exp: Error out for unknown offload target.
1619 * testsuite/libgomp.oacc-c++/c++.exp: Likewise. Report if
1620 "offloading: supported, but hardware not accessible".
1621 * testsuite/libgomp.oacc-c/c.exp: Likewise.
1622 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
1623
19695f4d
CLT
16242019-02-19 Chung-Lin Tang <cltang@codesourcery.com>
1625
1626 PR c/87924
1627 * oacc-parallel.c (GOACC_parallel_keyed): Remove condition on call to
1628 goacc_wait().
1629 (goacc_wait): Handle ACC_ASYNC_NOVAL case, remove goacc_thread() call
1630 and related adjustment.
1631
8b44f8ec
JJ
16322019-01-30 Jakub Jelinek <jakub@redhat.com>
1633
1634 PR c++/88988
1635 * testsuite/libgomp.c++/pr88988.C: New test.
1636
be3a87e7
JJ
16372019-01-28 Jakub Jelinek <jakub@redhat.com>
1638
1639 PR middle-end/89002
1640 * testsuite/libgomp.c/pr89002.c: New test.
1641
497ef4d7
RB
16422019-01-28 Richard Biener <rguenther@suse.de>
1643
1644 PR testsuite/89064
1645 PR tree-optimization/86865
1646 * testsuite/libgomp.graphite/force-parallel-5.c: XFAIL.
1647
738c56d4
TV
16482019-01-24 Tom de Vries <tdevries@suse.de>
1649
1650 * plugin/plugin-nvptx.c (GOMP_OFFLOAD_fini_device): Free ptx_devices
1651 once instantiated_devices drops to 0.
1652
4a75460b
TV
16532019-01-23 Tom de Vries <tdevries@suse.de>
1654
1655 PR target/PR88946
1656 * plugin/plugin-nvptx.c (cuda_map_destroy): Use CUDA_CALL_NOCHECK for
1657 cuMemFree.
1658 (nvptx_exec): Don't call map_push if mapnum == 0.
1659 * testsuite/libgomp.oacc-c-c++-common/pr88946.c: New test.
1660
4fef8e4d
TV
16612019-01-23 Tom de Vries <tdevries@suse.de>
1662
1663 PR target/88941
1664 PR target/88939
1665 * plugin/plugin-nvptx.c (cuda_map_destroy): Handle map->active case.
1666 (map_fini): Remove "assert (!s->map->active)".
1667 * testsuite/libgomp.oacc-c-c++-common/pr88941.c: New test.
1668
2ee6cb22
TV
16692019-01-23 Tom de Vries <tdevries@suse.de>
1670
1671 PR target/87835
1672 * plugin/plugin-nvptx.c (map_push): Fix adding of allocated element.
1673 * testsuite/libgomp.oacc-c-c++-common/pr87835.c: New test.
1674
d41d952c
TV
16752019-01-15 Tom de Vries <tdevries@suse.de>
1676
1677 PR target/80547
1678 * testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
1679 New test.
1680
efb56ae8
TV
16812019-01-12 Tom de Vries <tdevries@suse.de>
1682
1683 * testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.
1684 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-2.c: New test.
1685 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-5.c: New test.
1686 * testsuite/libgomp.oacc-fortran/gemm-2.f90: New test.
1687
2c2ff168
TV
16882019-01-12 Tom de Vries <tdevries@suse.de>
1689
1690 * plugin/plugin-nvptx.c (nvptx_exec): Update error message.
1691
a1057758
TV
16922019-01-12 Tom de Vries <tdevries@suse.de>
1693
1694 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-1.c: New test.
1695 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-2.c: New test.
1696 * testsuite/libgomp.oacc-c-c++-common/vector-length-64-3.c: New test.
1697
56314b77
TV
16982019-01-12 Tom de Vries <tdevries@suse.de>
1699
1700 PR target/85486
1701 * testsuite/libgomp.oacc-c-c++-common/pr85486-3.c: New test.
1702 * testsuite/libgomp.oacc-c-c++-common/pr85486.c: New test.
1703
b39e4366
TV
17042019-01-12 Tom de Vries <tdevries@suse.de>
1705
1706 PR target/85381
1707 * testsuite/libgomp.oacc-c-c++-common/pr85381-5.c: New test.
1708 * testsuite/libgomp.oacc-c-c++-common/pr85381.c: New test.
1709
2cb7a501
TV
17102019-01-12 Tom de Vries <tdevries@suse.de>
1711
1712 * testsuite/libgomp.oacc-c-c++-common/vred2d-128.c: New test.
1713 * testsuite/libgomp.oacc-fortran/gemm.f90: New test.
1714 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-10.c: New test.
1715
8e77f71e
TV
17162019-01-12 Tom de Vries <tdevries@suse.de>
1717
1718 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-7.c: New test.
1719 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-4.c: New test.
1720 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-6.c: New test.
1721
52d22ece
TV
17222019-01-12 Tom de Vries <tdevries@suse.de>
1723
1724 * plugin/plugin-nvptx.c (nvptx_exec): Update insufficient hardware
1725 resources diagnostic.
1726
2b9d9e39
TV
17272019-01-12 Tom de Vries <tdevries@suse.de>
1728
1729 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: Expect
1730 vector length to be 128.
1731 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Expect vector
1732 length 2097152 to be reduced to 1024 instead of 32.
1733
4102bda6
TS
17342019-01-11 Thomas Schwinge <thomas@codesourcery.com>
1735 James Norris <jnorris@codesourcery.com>
1736
1737 * libgomp.texi: Better distinguish OpenACC and OpenMP "Runtime
1738 Library Routines", and "Environment Variables".
1739
052aaace
TV
17402019-01-11 Tom de Vries <tdevries@suse.de>
1741
1742 * plugin/plugin-nvptx.c (nvptx_exec): Prevent vector_length 64 and
1743 num_workers 16.
1744
9390f916
TV
17452019-01-11 Tom de Vries <tdevries@suse.de>
1746
1747 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Remove
1748 -foffload=-w.
1749 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Same.
1750 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Same.
1751 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Same.
1752 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Same.
1753
2c3e7ad2
TV
17542019-01-11 Tom de Vries <tdevries@suse.de>
1755
1756 * testsuite/libgomp.oacc-c-c++-common/insufficient-resources.c: New
1757 test.
1758
e222497d
NS
17592019-01-10 Nathan Sidwell <nathan@acm.org>
1760 Julian Brown <julian@codesourcery.com>
1761
1762 PR lto/71959
1763 * testsuite/libgomp.oacc-c++/pr71959-aux.cc: New.
1764 * testsuite/libgomp.oacc-c++/pr71959.C: New.
1765
cb87fec3
SH
17662019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1767
1768 * config/rtems/bar.c: Include "../linux/bar.c" and delete copy
1769 and paste code.
1770
30b4d0d0
SH
17712019-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
1772
1773 * config/rtems/affinity-fmt.c: New file. Include affinity-fmt.c,
1774 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1775 write.
1776
5d0bc70a
TV
17772019-01-09 Tom de Vries <tdevries@suse.de>
1778
1779 PR target/88756
1780 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (ng, nw, vl): Use
1781 #define instead of "const int".
1782 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c (ng, nw, vl): Same.
1783 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c (ng, nw, vl): Same.
1784 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (ng, nw, vl): Same.
1785 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c (ng, nw, vl): Same.
1786
2c372e81
TV
17872019-01-09 Tom de Vries <tdevries@suse.de>
1788
1789 * plugin/plugin-nvptx.c (nvptx_exec): Make sure to launch with at least
1790 one worker.
1791
43493c97
TV
17922019-01-07 Tom de Vries <tdevries@suse.de>
1793
1794 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: Fix
1795 GOMP_OPENACC_DIM argument.
1796
5c571497
TV
17972019-01-03 Tom de Vries <tdevries@suse.de>
1798
1799 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-1.c: New test.
1800 * testsuite/libgomp.oacc-c-c++-common/vector-length-128-3.c: New test.
1801
a5544970
JJ
18022019-01-01 Jakub Jelinek <jakub@redhat.com>
1803
1804 Update copyright years.
1805
3f27508c
JJ
18062019-01-01 Jakub Jelinek <jakub@redhat.com>
1807
1808 * libgomp.texi: Bump @copying's copyright year.
1809
59d5960c
TS
18102018-12-28 Thomas Schwinge <thomas@codesourcery.com>
1811
1812 * oacc-parallel.c (GOACC_parallel_keyed, GOACC_parallel)
1813 (GOACC_data_start, GOACC_enter_exit_data, GOACC_update)
1814 (GOACC_declare): Redefine the "device" argument to "flags".
1815
a44c1790
TS
18162018-12-28 Thomas Schwinge <thomas@codesourcery.com>
1817 Cesar Philippidis <cesar@codesourcery.com>
1818
1819 * target.c (struct gomp_coalesce_chunk): New structure.
1820 (struct gomp_coalesce_buf): Update the chunks member to use that
1821 type. Adjust all users.
1822
a152954e
TV
18232018-12-19 Tom de Vries <tdevries@suse.de>
1824
1825 * testsuite/libgomp.oacc-c-c++-common/pr85381-2.c: New test.
1826 * testsuite/libgomp.oacc-c-c++-common/pr85381-3.c: New test.
1827 * testsuite/libgomp.oacc-c-c++-common/pr85381-4.c: New test.
1828
49188cd1
TV
18292018-12-19 Tom de Vries <tdevries@suse.de>
1830
1831 * testsuite/lib/libgomp.exp: Add load_lib of scanoffloadrtl.exp.
1832 * testsuite/libgomp.oacc-c-c++-common/nvptx-merged-loop.c: Move from
1833 gcc/testsuite/gcc.dg/goacc.
1834 * testsuite/libgomp.oacc-c-c++-common/nvptx-sese-1.c: Same.
1835
c759830b
TS
18362018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1837 Chung-Lin Tang <cltang@codesourcery.com>
1838
1839 * oacc-mem.c (acc_present_or_create): Remove definition and change
1840 to alias of acc_create.
1841 (acc_present_or_copyin): Remove definition and change to alias of
1842 acc_copyin.
1843 * oacc-parallel.c (GOACC_enter_exit_data): Call acc_create instead
1844 of acc_present_or_create.
1845 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Remove.
1846 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
1847 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
1848 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
1849 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
1850 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
1851 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
1852 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
1853 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
1854 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
1855 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
1856 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
1857 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
1858 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
1859 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
1860 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
1861
7de562ee
TS
18622018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1863
f847198e
TS
1864 PR libgomp/88495
1865 * plugin/plugin-nvptx.c (nvptx_wait_async): Don't refuse
1866 "identical parameters".
1867 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: Update.
1868 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Remove.
1869
c8ab8aab
TS
1870 PR libgomp/88484
1871 * oacc-parallel.c (GOACC_wait): Correct handling for "async >= 0".
1872 * testsuite/libgomp.oacc-c-c++-common/asyncwait-nop-1.c: New file.
1873
1404af62
TS
1874 PR libgomp/88407
1875 * plugin/plugin-nvptx.c (nvptx_async_test, nvptx_wait)
1876 (nvptx_wait_async): Unseen async-argument is a no-op.
1877 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Update.
1878 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Likewise.
1879 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1880 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
1881 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
1882 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Merge into...
1883 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: ... this. Update.
1884 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Merge into...
1885 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: ... this. Update
1886
7de562ee
TS
1887 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Revise.
1888 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1889
17469af7
CLT
18902018-12-14 Chung-Lin Tang <cltang@codesourcery.com>
1891
1892 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Adjust.
1893 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
1894 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
1895
18c247cc
TS
18962018-12-14 Thomas Schwinge <thomas@codesourcery.com>
1897
1898 PR libgomp/88370
1899 * libgomp.texi (acc_get_current_cuda_context, acc_get_cuda_stream)
1900 (acc_set_cuda_stream): Clarify.
1901 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
1902 "async_valid_p".
1903 * plugin/plugin-nvptx.c (nvptx_set_cuda_stream): Refuse "async ==
1904 acc_async_sync".
1905 * testsuite/libgomp.oacc-c-c++-common/acc_set_cuda_stream-1.c: New file.
1906 * testsuite/libgomp.oacc-c-c++-common/async_queue-1.c: Likewise.
1907 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Update.
1908 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
1909
b0aba46c
TV
19102018-12-14 Tom de Vries <tdevries@suse.de>
1911
1912 * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test.
1913 * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test.
1914 * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test.
1915 * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test.
1916 * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test.
1917
fe0827ee
TV
19182018-12-13 Tom de Vries <tdevries@suse.de>
1919
1920 * affinity-fmt.c (gomp_print_string): New function, factored out of ...
1921 (omp_display_affinity, gomp_display_affinity_thread): ... here, and ...
1922 * fortran.c (omp_display_affinity_): ... here.
1923 * libgomp.h (gomp_print_string): Declare.
1924 * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c,
1925 undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to
1926 write.
1927
a51f8c92
JJ
19282018-12-13 Jakub Jelinek <jakub@redhat.com>
1929
1930 PR libgomp/88460
1931 * testsuite/libgomp.c++/for-24.C (results): Include it in
1932 omp declare target region.
1933 (main): Use map (always, tofrom: results) instead of
1934 map (tofrom: results).
1935
a6ef2ac9
JJ
19362018-12-12 Jakub Jelinek <jakub@redhat.com>
1937
7a289b7d
JJ
1938 PR fortran/88463
1939 * testsuite/libgomp.fortran/pr88463-1.f90: New test.
1940 * testsuite/libgomp.fortran/pr88463-2.f90: New test.
1941
a6ef2ac9
JJ
1942 * testsuite/libgomp.c-c++-common/for-16.c: New test.
1943
9c47a019
AS
19442018-12-12 Andreas Schwab <schwab@suse.de>
1945
1946 * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
1947 clobbered.
1948
d0cbb206
TK
19492018-12-09 Thomas Koenig <tkoenig@gcc.gnu.org>
1950
1951 PR fortran/88411
1952 * testsuite/libgomp.fortran/async_io_8.f90: New test.
1953
84ca08d2
TS
19542018-12-09 Thomas Schwinge <thomas@codesourcery.com>
1955 Jakub Jelinek <jakub@redhat.com>
1956
1957 * target.c (gomp_map_vars): Call gomp_copy_host2dev instead of
1958 devicep->host2dev_func.
1959
6997628d
JJ
19602018-12-08 Jakub Jelinek <jakub@redhat.com>
1961
1962 PR libgomp/87995
1963 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: Require
1964 tls_runtime effective target.
1965 (t): New threadprivate variable.
1966 (main): Set t in threads which execute iterations of the worksharing
1967 loop. Propagate that to the task after the loop and don't abort
1968 if the current taskgroup hasn't been cancelled.
1969
daa8c1d7
JJ
19702018-12-02 Jakub Jelinek <jakub@redhat.com>
1971
4a82df9a
JJ
1972 * testsuite/libgomp.c/task-reduction-3.c: New test.
1973
daa8c1d7
JJ
1974 * testsuite/libgomp.c-c++-common/cancel-taskgroup-4.c: New test.
1975
fe570ff8
CP
19762018-11-30 Cesar Philippidis <cesar@codesourcery.com>
1977
1978 PR libgomp/88288
1979 * oacc-parallel.c (GOACC_parallel_keyed): Add offset to devaddrs.
1980 * testsuite/libgomp.oacc-c-c++-common/pr88288.c: New test.
1981
c223608f
TS
19822018-11-30 Thomas Schwinge <thomas@codesourcery.com>
1983
1984 * testsuite/libgomp.oacc-fortran/lib-16-2.f90: New file.
1985
fc60283c
RB
19862018-10-19 Richard Biener <rguenther@suse.de>
1987
1988 PR tree-optimization/88182
1989 * testsuite/libgomp.c++/pr88182.C: Move to g++.dg/gomp.
1990
ffcf3b79
JJ
19912018-11-26 Jakub Jelinek <jakub@redhat.com>
1992
1993 * testsuite/Makefile.am (AUTOMAKE_OPTIONS): Drop dejagnu.
1994 (RUNTEST): Don't define.
1995 (RUNTESTDEFAULTFLAGS): Add.
1996 (check-DEJAGNU, site.exp, distclean-DEJAGNU): New goals.
1997 (distclean-am): Depend on distclean-DEJAGNU.
1998 (check-am): If -j% option is present in MFLAGS and if
1999 `getconf _NPROCESSORS_ONLN` is more than 8, export OMP_NUM_THREADS=8.
2000 (.PHONY): Add check-DEJAGNU and distclean-DEJAGNU.
2001 * testsuite/Makefile.in: Regenerated.
2002
ef6e6914
RB
20032018-11-26 Richard Biener <rguenther@suse.de>
2004
2005 PR tree-optimization/88182
2006 * testsuite/libgomp.c++/pr88182.C: New testcase.
2007
72d3bb76
JJ
20082018-11-20 Jakub Jelinek <jakub@redhat.com>
2009
2010 PR bootstrap/88106
2011 * config/mingw32/affinity-fmt.c: New file.
2012
207286c3
JJ
20132018-11-09 Jakub Jelinek <jakub@redhat.com>
2014
9666c522
JJ
2015 * affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H.
2016 (gomp_display_affinity): Use __builtin_choose_expr to handle
2017 properly handle argument having integral, or pointer or some other
2018 type. If inttypes.h is available and PRIx64 is defined, use PRIx64
2019 with uint64_t type instead of %llx and unsigned long long.
2020
207286c3
JJ
2021 * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test.
2022 * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test.
2023
2033f45b
RO
20242018-11-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
2025
2026 * affinity.c: Include <string.h>, <stdio.h>.
2027 (gomp_display_affinity_place): Remove cpusetp.
2028 * teams.c: Include <limits.h>.
2029
28567c40
JJ
20302018-11-08 Jakub Jelinek <jakub@redhat.com>
2031
8991d779
JJ
2032 * testsuite/libgomp.c-c++-common/task-reduction-8.c (bar): Add
2033 in_reduction clause for s[0].
2034
28567c40
JJ
2035 * affinity.c (gomp_display_affinity_place): New function.
2036 * affinity-fmt.c: New file.
2037 * alloc.c (gomp_aligned_alloc, gomp_aligned_free): New functions.
2038 * config/linux/affinity.c (gomp_display_affinity_place): New function.
2039 * config/nvptx/icv-device.c (omp_get_num_teams, omp_get_team_num):
2040 Move these functions to ...
2041 * config/nvptx/teams.c: ... here. New file.
2042 * config/nvptx/target.c (omp_pause_resource, omp_pause_resource_all):
2043 New functions.
2044 * config/nvptx/team.c (gomp_team_start, gomp_pause_host): New
2045 functions.
2046 * configure.ac: Check for aligned_alloc, posix_memalign, memalign
2047 and _aligned_malloc.
2048 (HAVE_UNAME, HAVE_GETHOSTNAME, HAVE_GETPID): Add new tests.
2049 * configure.tgt: Add -DUSING_INITIAL_EXEC_TLS to XCFLAGS for Linux.
2050 * env.c (gomp_display_affinity_var, gomp_affinity_format_var,
2051 gomp_affinity_format_len): New variables.
2052 (parse_schedule): Parse monotonic and nonmonotonic modifiers in
2053 OMP_SCHEDULE variable. Set GFS_MONOTONIC for monotonic schedules.
2054 (handle_omp_display_env): Display monotonic/nonmonotonic schedule
2055 modifiers. Display (non-default) chunk sizes. Print
2056 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT.
2057 (initialize_env): Don't call pthread_attr_setdetachstate. Handle
2058 OMP_DISPLAY_AFFINITY and OMP_AFFINITY_FORMAT env vars.
2059 * fortran.c: Include stdio.h and string.h.
2060 (omp_pause_resource, omp_pause_resource_all): Add ialias_redirect.
2061 (omp_get_schedule_, omp_get_schedule_8_): Mask off GFS_MONOTONIC bit.
2062 (omp_set_affinity_format_, omp_get_affinity_format_,
2063 omp_display_affinity_, omp_capture_affinity_, omp_pause_resource_,
2064 omp_pause_resource_all_): New functions.
2065 * icv.c (omp_set_schedule): Mask off omp_sched_monotonic bit in
2066 switch.
2067 * icv-device.c (omp_get_num_teams, omp_get_team_num): Move these
2068 functions to ...
2069 * teams.c: ... here. New file.
2070 * libgomp_g.h: Include gstdint.h.
2071 (GOMP_loop_nonmonotonic_runtime_start,
2072 GOMP_loop_maybe_nonmonotonic_runtime_start, GOMP_loop_start,
2073 GOMP_loop_ordered_start, GOMP_loop_nonmonotonic_runtime_next,
2074 GOMP_loop_maybe_nonmonotonic_runtime_next, GOMP_loop_doacross_start,
2075 GOMP_parallel_loop_nonmonotonic_runtime,
2076 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2077 GOMP_loop_ull_nonmonotonic_runtime_start,
2078 GOMP_loop_ull_maybe_nonmonotonic_runtime_start, GOMP_loop_ull_start,
2079 GOMP_loop_ull_ordered_start, GOMP_loop_ull_nonmonotonic_runtime_next,
2080 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2081 GOMP_loop_ull_doacross_start, GOMP_parallel_reductions,
2082 GOMP_taskwait_depend, GOMP_taskgroup_reduction_register,
2083 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2084 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2085 GOMP_teams_reg): Declare.
2086 * libgomp.h (GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC): Define unless
2087 gomp_aligned_alloc uses fallback implementation.
2088 (gomp_aligned_alloc, gomp_aligned_free): Declare.
2089 (enum gomp_schedule_type): Add GFS_MONOTONIC.
2090 (struct gomp_doacross_work_share): Add extra field.
2091 (struct gomp_work_share): Add task_reductions field.
2092 (struct gomp_taskgroup): Add workshare and reductions fields.
2093 (GOMP_NEEDS_THREAD_HANDLE): Define if needed.
2094 (gomp_thread_handle): New typedef.
2095 (gomp_display_affinity_place, gomp_set_affinity_format,
2096 gomp_display_string, gomp_display_affinity,
2097 gomp_display_affinity_thread): Declare.
2098 (gomp_doacross_init, gomp_doacross_ull_init): Add size_t argument.
2099 (gomp_parallel_reduction_register, gomp_workshare_taskgroup_start,
2100 gomp_workshare_task_reduction_register): Declare.
2101 (gomp_team_start): Add taskgroup argument.
2102 (gomp_pause_host): Declare.
2103 (gomp_init_work_share, gomp_work_share_start): Change bool argument
2104 to size_t.
2105 (gomp_thread_self, gomp_thread_to_pthread_t): New inline functions.
2106 * libgomp.map (GOMP_5.0): Export GOMP_loop_start,
2107 GOMP_loop_ordered_start, GOMP_loop_doacross_start,
2108 GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2109 GOMP_loop_ull_doacross_start,
2110 GOMP_workshare_task_reduction_unregister, GOMP_sections2_start,
2111 GOMP_loop_maybe_nonmonotonic_runtime_next,
2112 GOMP_loop_maybe_nonmonotonic_runtime_start,
2113 GOMP_loop_nonmonotonic_runtime_next,
2114 GOMP_loop_nonmonotonic_runtime_start,
2115 GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2116 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2117 GOMP_loop_ull_nonmonotonic_runtime_next,
2118 GOMP_loop_ull_nonmonotonic_runtime_start,
2119 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2120 GOMP_parallel_loop_nonmonotonic_runtime, GOMP_parallel_reductions,
2121 GOMP_taskgroup_reduction_register,
2122 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2123 GOMP_teams_reg and GOMP_taskwait_depend.
2124 (OMP_5.0): Export omp_pause_resource{,_all}{,_},
2125 omp_{capture,display}_affinity{,_}, and
2126 omp_[gs]et_affinity_format{,_}.
2127 * loop.c: Include string.h.
2128 (GOMP_loop_runtime_next): Add ialias.
2129 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2130 (gomp_loop_static_start, gomp_loop_dynamic_start,
2131 gomp_loop_guided_start, gomp_loop_ordered_static_start,
2132 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
2133 gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
2134 gomp_loop_doacross_guided_start): Adjust gomp_work_share_start
2135 or gomp_doacross_init callers.
2136 (gomp_adjust_sched, GOMP_loop_start, GOMP_loop_ordered_start,
2137 GOMP_loop_doacross_start): New functions.
2138 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
2139 GOMP_loop_doacross_runtime_start, GOMP_parallel_loop_runtime_start):
2140 Mask off GFS_MONOTONIC bit.
2141 (GOMP_loop_maybe_nonmonotonic_runtime_next,
2142 GOMP_loop_maybe_nonmonotonic_runtime_start,
2143 GOMP_loop_nonmonotonic_runtime_next,
2144 GOMP_loop_nonmonotonic_runtime_start,
2145 GOMP_parallel_loop_maybe_nonmonotonic_runtime,
2146 GOMP_parallel_loop_nonmonotonic_runtime): New aliases or wrapper
2147 functions.
2148 (gomp_parallel_loop_start): Pass NULL as taskgroup to
2149 gomp_team_start.
2150 * loop_ull.c: Include string.h.
2151 (GOMP_loop_ull_runtime_next): Add ialias.
2152 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2153 (gomp_loop_ull_static_start, gomp_loop_ull_dynamic_start,
2154 gomp_loop_ull_guided_start, gomp_loop_ull_ordered_static_start,
2155 gomp_loop_ull_ordered_dynamic_start,
2156 gomp_loop_ull_ordered_guided_start,
2157 gomp_loop_ull_doacross_static_start,
2158 gomp_loop_ull_doacross_dynamic_start,
2159 gomp_loop_ull_doacross_guided_start): Adjust gomp_work_share_start
2160 and gomp_doacross_ull_init callers.
2161 (gomp_adjust_sched, GOMP_loop_ull_start, GOMP_loop_ull_ordered_start,
2162 GOMP_loop_ull_doacross_start): New functions.
2163 (GOMP_loop_ull_runtime_start,
2164 GOMP_loop_ull_ordered_runtime_start,
2165 GOMP_loop_ull_doacross_runtime_start): Mask off GFS_MONOTONIC bit.
2166 (GOMP_loop_ull_maybe_nonmonotonic_runtime_next,
2167 GOMP_loop_ull_maybe_nonmonotonic_runtime_start,
2168 GOMP_loop_ull_nonmonotonic_runtime_next,
2169 GOMP_loop_ull_nonmonotonic_runtime_start): Likewise.
2170 * Makefile.am (libgomp_la_SOURCES): Add teams.c and affinity-fmt.c.
2171 * omp.h.in (enum omp_sched_t): Add omp_sched_monotonic.
2172 (omp_pause_resource_t, omp_depend_t): New typedefs.
2173 (enum omp_lock_hint_t): Renamed to ...
2174 (enum omp_sync_hint_t): ... this. Define omp_sync_hint_*
2175 enumerators using numbers and omp_lock_hint_* as their aliases.
2176 (omp_lock_hint_t): New typedef. Rename to ...
2177 (omp_sync_hint_t): ... this.
2178 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint): Use
2179 omp_sync_hint_t instead of omp_lock_hint_t.
2180 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2181 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2182 Declare.
2183 (omp_target_is_present, omp_target_disassociate_ptr):
2184 Change first argument from void * to const void *.
2185 (omp_target_memcpy, omp_target_memcpy_rect): Change second argument
2186 from void * to const void *.
2187 (omp_target_associate_ptr): Change first and second arguments from
2188 void * to const void *.
2189 * omp_lib.f90.in (omp_pause_resource_kind, omp_pause_soft,
2190 omp_pause_hard): New parameters.
2191 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2192 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2193 New interfaces.
2194 * omp_lib.h.in (omp_pause_resource_kind, omp_pause_soft,
2195 omp_pause_hard): New parameters.
2196 (omp_pause_resource, omp_pause_resource_all, omp_set_affinity_format,
2197 omp_get_affinity_format, omp_display_affinity, omp_capture_affinity):
2198 New externals.
2199 * ordered.c (gomp_doacross_init, gomp_doacross_ull_init): Add
2200 EXTRA argument. If not needed to prepare array, if extra is 0,
2201 clear ws->doacross, otherwise allocate just doacross structure and
2202 extra payload. If array is needed, allocate also extra payload.
2203 (GOMP_doacross_post, GOMP_doacross_wait, GOMP_doacross_ull_post,
2204 GOMP_doacross_ull_wait): Handle doacross->array == NULL like
2205 doacross == NULL.
2206 * parallel.c (GOMP_parallel_start): Pass NULL as taskgroup to
2207 gomp_team_start.
2208 (GOMP_parallel): Likewise. Formatting fix.
2209 (GOMP_parallel_reductions): New function.
2210 (GOMP_cancellation_point): If taskgroup has workshare
2211 flag set, check cancelled of prev taskgroup if any.
2212 (GOMP_cancel): If taskgroup has workshare flag set, set cancelled
2213 on prev taskgroup if any.
2214 * sections.c: Include string.h.
2215 (GOMP_taskgroup_reduction_register): Add ialias_redirect.
2216 (GOMP_sections_start): Adjust gomp_work_share_start caller.
2217 (GOMP_sections2_start): New function.
2218 (GOMP_parallel_sections_start, GOMP_parallel_sections):
2219 Pass NULL as taskgroup to gomp_team_start.
2220 * single.c (GOMP_single_start, GOMP_single_copy_start): Adjust
2221 gomp_work_share_start callers.
2222 * target.c (GOMP_target_update_ext, GOMP_target_enter_exit_data):
2223 If taskgroup has workshare flag set, check cancelled on prev
2224 taskgroup if any. Guard all cancellation tests with
2225 gomp_cancel_var test.
2226 (omp_target_is_present, omp_target_disassociate_ptr):
2227 Change ptr argument from void * to const void *.
2228 (omp_target_memcpy): Change src argument from void * to const void *.
2229 (omp_target_memcpy_rect): Likewise.
2230 (omp_target_memcpy_rect_worker): Likewise. Use const char * casts
2231 instead of char * where needed.
2232 (omp_target_associate_ptr): Change host_ptr and device_ptr arguments
2233 from void * to const void *.
2234 (omp_pause_resource, omp_pause_resource_all): New functions.
2235 * task.c (gomp_task_handle_depend): Handle new depend array format
2236 in addition to the old. Handle mutexinoutset kinds the same as
2237 inout for now, handle unspecified kinds.
2238 (gomp_create_target_task): If taskgroup has workshare flag set, check
2239 cancelled on prev taskgroup if any. Guard all cancellation tests with
2240 gomp_cancel_var test. Handle new depend array format count in
2241 addition to the old.
2242 (GOMP_task): Likewise. Adjust function comment.
2243 (gomp_task_run_pre): If taskgroup has workshare flag set, check
2244 cancelled on prev taskgroup if any. Guard all cancellation tests with
2245 gomp_cancel_var test.
2246 (GOMP_taskwait_depend): New function.
2247 (gomp_task_maybe_wait_for_dependencies): Handle new depend array
2248 format in addition to the old. Handle mutexinoutset kinds the same as
2249 inout for now, handle unspecified kinds. Fix a function comment typo.
2250 (gomp_taskgroup_init): New function.
2251 (GOMP_taskgroup_start): Use it.
2252 (gomp_reduction_register, gomp_create_artificial_team,
2253 GOMP_taskgroup_reduction_register,
2254 GOMP_taskgroup_reduction_unregister, GOMP_task_reduction_remap,
2255 gomp_parallel_reduction_register,
2256 gomp_workshare_task_reduction_register,
2257 gomp_workshare_taskgroup_start,
2258 GOMP_workshare_task_reduction_unregister): New functions.
2259 * taskloop.c (GOMP_taskloop): If taskgroup has workshare flag set,
2260 check cancelled on prev taskgroup if any. Guard all cancellation
2261 tests with gomp_cancel_var test. Handle GOMP_TASK_FLAG_REDUCTION flag
2262 by calling GOMP_taskgroup_reduction_register.
2263 * team.c (gomp_thread_attr): Remove comment.
2264 (struct gomp_thread_start_data): Add handle field.
2265 (gomp_thread_start): Call pthread_detach.
2266 (gomp_new_team): Adjust gomp_init_work_share caller.
2267 (gomp_free_pool_helper): Call pthread_detach.
2268 (gomp_team_start): Add taskgroup argument, initialize implicit
2269 tasks' taskgroup field to that. Don't call
2270 pthread_attr_setdetachstate. Handle OMP_DISPLAY_AFFINITY env var.
2271 (gomp_team_end): Determine nesting by thr->ts.level != 0
2272 rather than thr->ts.team != NULL.
2273 (gomp_pause_pool_helper, gomp_pause_host): New functions.
2274 * work.c (alloc_work_share): Use gomp_aligned_alloc instead of
2275 gomp_malloc if GOMP_HAVE_EFFICIENT_ALIGNED_ALLOC is defined.
2276 (gomp_init_work_share): Change ORDERED argument from bool to size_t,
2277 if more than 1 allocate also extra payload at the end of array. Never
2278 keep ordered_team_ids NULL, set it to inline_ordered_team_ids instead.
2279 (gomp_work_share_start): Change ORDERED argument from bool to size_t,
2280 return true instead of ws.
2281 * Makefile.in: Regenerated.
2282 * configure: Regenerated.
2283 * config.h.in: Regenerated.
2284 * testsuite/libgomp.c/cancel-for-2.c (foo): Use cancel modifier
2285 in some cases.
2286 * testsuite/libgomp.c-c++-common/cancel-parallel-1.c: New test.
2287 * testsuite/libgomp.c-c++-common/cancel-taskgroup-3.c: New test.
2288 * testsuite/libgomp.c-c++-common/depend-iterator-1.c: New test.
2289 * testsuite/libgomp.c-c++-common/depend-iterator-2.c: New test.
2290 * testsuite/libgomp.c-c++-common/depend-mutexinout-1.c: New test.
2291 * testsuite/libgomp.c-c++-common/depend-mutexinout-2.c: New test.
2292 * testsuite/libgomp.c-c++-common/depobj-1.c: New test.
2293 * testsuite/libgomp.c-c++-common/display-affinity-1.c: New test.
2294 * testsuite/libgomp.c-c++-common/for-10.c: New test.
2295 * testsuite/libgomp.c-c++-common/for-11.c: New test.
2296 * testsuite/libgomp.c-c++-common/for-12.c: New test.
2297 * testsuite/libgomp.c-c++-common/for-13.c: New test.
2298 * testsuite/libgomp.c-c++-common/for-14.c: New test.
2299 * testsuite/libgomp.c-c++-common/for-15.c: New test.
2300 * testsuite/libgomp.c-c++-common/for-2.h: If CONDNE macro is defined,
2301 define a different N(test), don't define N(f0) to N(f14), but instead
2302 define N(f20) to N(f34) using != comparisons.
2303 * testsuite/libgomp.c-c++-common/for-7.c: New test.
2304 * testsuite/libgomp.c-c++-common/for-8.c: New test.
2305 * testsuite/libgomp.c-c++-common/for-9.c: New test.
2306 * testsuite/libgomp.c-c++-common/master-combined-1.c: New test.
2307 * testsuite/libgomp.c-c++-common/pause-1.c: New test.
2308 * testsuite/libgomp.c-c++-common/pause-2.c: New test.
2309 * testsuite/libgomp.c-c++-common/pr66199-10.c: New test.
2310 * testsuite/libgomp.c-c++-common/pr66199-11.c: New test.
2311 * testsuite/libgomp.c-c++-common/pr66199-12.c: New test.
2312 * testsuite/libgomp.c-c++-common/pr66199-13.c: New test.
2313 * testsuite/libgomp.c-c++-common/pr66199-14.c: New test.
2314 * testsuite/libgomp.c-c++-common/simd-1.c: New test.
2315 * testsuite/libgomp.c-c++-common/taskloop-reduction-1.c: New test.
2316 * testsuite/libgomp.c-c++-common/taskloop-reduction-2.c: New test.
2317 * testsuite/libgomp.c-c++-common/taskloop-reduction-3.c: New test.
2318 * testsuite/libgomp.c-c++-common/taskloop-reduction-4.c: New test.
2319 * testsuite/libgomp.c-c++-common/task-reduction-11.c: New test.
2320 * testsuite/libgomp.c-c++-common/task-reduction-12.c: New test.
2321 * testsuite/libgomp.c-c++-common/task-reduction-1.c: New test.
2322 * testsuite/libgomp.c-c++-common/task-reduction-2.c: New test.
2323 * testsuite/libgomp.c-c++-common/task-reduction-3.c: New test.
2324 * testsuite/libgomp.c-c++-common/task-reduction-4.c: New test.
2325 * testsuite/libgomp.c-c++-common/task-reduction-5.c: New test.
2326 * testsuite/libgomp.c-c++-common/task-reduction-6.c: New test.
2327 * testsuite/libgomp.c-c++-common/task-reduction-7.c: New test.
2328 * testsuite/libgomp.c-c++-common/task-reduction-8.c: New test.
2329 * testsuite/libgomp.c-c++-common/task-reduction-9.c: New test.
2330 * testsuite/libgomp.c-c++-common/taskwait-depend-1.c: New test.
2331 * testsuite/libgomp.c++/depend-1.C: New test.
2332 * testsuite/libgomp.c++/depend-iterator-1.C: New test.
2333 * testsuite/libgomp.c++/depobj-1.C: New test.
2334 * testsuite/libgomp.c++/for-16.C: New test.
2335 * testsuite/libgomp.c++/for-21.C: New test.
2336 * testsuite/libgomp.c++/for-22.C: New test.
2337 * testsuite/libgomp.c++/for-23.C: New test.
2338 * testsuite/libgomp.c++/for-24.C: New test.
2339 * testsuite/libgomp.c++/for-25.C: New test.
2340 * testsuite/libgomp.c++/for-26.C: New test.
2341 * testsuite/libgomp.c++/taskloop-reduction-1.C: New test.
2342 * testsuite/libgomp.c++/taskloop-reduction-2.C: New test.
2343 * testsuite/libgomp.c++/taskloop-reduction-3.C: New test.
2344 * testsuite/libgomp.c++/taskloop-reduction-4.C: New test.
2345 * testsuite/libgomp.c++/task-reduction-10.C: New test.
2346 * testsuite/libgomp.c++/task-reduction-11.C: New test.
2347 * testsuite/libgomp.c++/task-reduction-12.C: New test.
2348 * testsuite/libgomp.c++/task-reduction-13.C: New test.
2349 * testsuite/libgomp.c++/task-reduction-14.C: New test.
2350 * testsuite/libgomp.c++/task-reduction-15.C: New test.
2351 * testsuite/libgomp.c++/task-reduction-16.C: New test.
2352 * testsuite/libgomp.c++/task-reduction-17.C: New test.
2353 * testsuite/libgomp.c++/task-reduction-18.C: New test.
2354 * testsuite/libgomp.c++/task-reduction-19.C: New test.
2355 * testsuite/libgomp.c/task-reduction-1.c: New test.
2356 * testsuite/libgomp.c++/task-reduction-1.C: New test.
2357 * testsuite/libgomp.c/task-reduction-2.c: New test.
2358 * testsuite/libgomp.c++/task-reduction-2.C: New test.
2359 * testsuite/libgomp.c++/task-reduction-3.C: New test.
2360 * testsuite/libgomp.c++/task-reduction-4.C: New test.
2361 * testsuite/libgomp.c++/task-reduction-5.C: New test.
2362 * testsuite/libgomp.c++/task-reduction-6.C: New test.
2363 * testsuite/libgomp.c++/task-reduction-7.C: New test.
2364 * testsuite/libgomp.c++/task-reduction-8.C: New test.
2365 * testsuite/libgomp.c++/task-reduction-9.C: New test.
2366 * testsuite/libgomp.c/teams-1.c: New test.
2367 * testsuite/libgomp.c/teams-2.c: New test.
2368 * testsuite/libgomp.c/thread-limit-4.c: New test.
2369 * testsuite/libgomp.c/thread-limit-5.c: New test.
2370 * testsuite/libgomp.fortran/display-affinity-1.f90: New test.
2371
58168bbf
CLT
23722018-11-06 Chung-Lin Tang <cltang@codesourcery.com>
2373
2374 * oacc-mem.c (memcpy_tofrom_device): New function, combined from
2375 acc_memcpy_to/from_device functions, now with async parameter.
2376 (acc_memcpy_to_device): Modify to use memcpy_tofrom_device.
2377 (acc_memcpy_from_device): Likewise.
2378 (acc_memcpy_to_device_async): New API function.
2379 (acc_memcpy_from_device_async): Likewise.
2380 (present_create_copy): Add async parameter and async setting/unsetting.
2381 (acc_create): Adjust present_create_copy call.
2382 (acc_copyin): Likewise.
2383 (acc_present_or_create): Likewise.
2384 (acc_present_or_copyin): Likewise.
2385 (acc_create_async): New API function.
2386 (acc_copyin_async): New API function.
2387 (delete_copyout): Add async parameter and async setting/unsetting.
2388 (acc_delete): Adjust delete_copyout call.
2389 (acc_copyout): Likewise.
2390 (acc_delete_async): New API function.
2391 (acc_copyout_async): Likewise.
2392 (update_dev_host): Add async parameter and async setting/unsetting.
2393 (acc_update_device): Adjust update_dev_host call.
2394 (acc_update_self): Likewise.
2395 (acc_update_device_async): New API function.
2396 (acc_update_self_async): Likewise.
2397 * openacc.h (acc_copyin_async): Declare new API function.
2398 (acc_create_async): Likewise.
2399 (acc_copyout_async): Likewise.
2400 (acc_delete_async): Likewise.
2401 (acc_update_device_async): Likewise.
2402 (acc_update_self_async): Likewise.
2403 (acc_memcpy_to_device_async): Likewise.
2404 (acc_memcpy_from_device_async): Likewise.
2405 * openacc_lib.h (acc_copyin_async_32_h): New subroutine.
2406 (acc_copyin_async_64_h): New subroutine.
2407 (acc_copyin_async_array_h): New subroutine.
2408 (acc_create_async_32_h): New subroutine.
2409 (acc_create_async_64_h): New subroutine.
2410 (acc_create_async_array_h): New subroutine.
2411 (acc_copyout_async_32_h): New subroutine.
2412 (acc_copyout_async_64_h): New subroutine.
2413 (acc_copyout_async_array_h): New subroutine.
2414 (acc_delete_async_32_h): New subroutine.
2415 (acc_delete_async_64_h): New subroutine.
2416 (acc_delete_async_array_h): New subroutine.
2417 (acc_update_device_async_32_h): New subroutine.
2418 (acc_update_device_async_64_h): New subroutine.
2419 (acc_update_device_async_array_h): New subroutine.
2420 (acc_update_self_async_32_h): New subroutine.
2421 (acc_update_self_async_64_h): New subroutine.
2422 (acc_update_self_async_array_h): New subroutine.
2423 * openacc.f90 (acc_copyin_async_32_h): New subroutine.
2424 (acc_copyin_async_64_h): New subroutine.
2425 (acc_copyin_async_array_h): New subroutine.
2426 (acc_create_async_32_h): New subroutine.
2427 (acc_create_async_64_h): New subroutine.
2428 (acc_create_async_array_h): New subroutine.
2429 (acc_copyout_async_32_h): New subroutine.
2430 (acc_copyout_async_64_h): New subroutine.
2431 (acc_copyout_async_array_h): New subroutine.
2432 (acc_delete_async_32_h): New subroutine.
2433 (acc_delete_async_64_h): New subroutine.
2434 (acc_delete_async_array_h): New subroutine.
2435 (acc_update_device_async_32_h): New subroutine.
2436 (acc_update_device_async_64_h): New subroutine.
2437 (acc_update_device_async_array_h): New subroutine.
2438 (acc_update_self_async_32_h): New subroutine.
2439 (acc_update_self_async_64_h): New subroutine.
2440 (acc_update_self_async_array_h): New subroutine.
2441 * libgomp.map (OACC_2.5): Add acc_copyin_async*, acc_copyout_async*,
2442 acc_copyout_finalize_async*, acc_create_async*, acc_delete_async*,
2443 acc_delete_finalize_async*, acc_memcpy_from_device_async*,
2444 acc_memcpy_to_device_async*, acc_update_device_async*, and
2445 acc_update_self_async* entries.
2446 * testsuite/libgomp.oacc-c-c++-common/lib-94.c: New test.
2447 * testsuite/libgomp.oacc-c-c++-common/lib-95.c: New test.
2448 * testsuite/libgomp.oacc-fortran/lib-16.f90: New test.
2449
22e05272
JM
24502018-10-31 Joseph Myers <joseph@codesourcery.com>
2451
2452 PR bootstrap/82856
2453 * Makefile.am: Include multilib.am
2454 (AUTOMAKE_OPTIONS): Add info-in-builddir.
2455 (CLEANFILES): Remove libgomp.info.
2456 * configure.ac: Remove AC_PREREQ.
2457 * testsuite/Makefile.am (RUNTEST): Remove quotes.
2458 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
2459 Regenerate.
2460
87a5ccfb
JM
24612018-10-29 Joseph Myers <joseph@codesourcery.com>
2462 Julian Brown <julian@codesourcery.com>
2463
2464 * testsuite/libgomp.oacc-c++/this.C: New.
2465
2049befd
CP
24662018-09-18 Cesar Philippidis <cesar@codesourcery.com>
2467
2468 * plugin/plugin-nvptx.c (struct cuda_map): New.
2469 (struct ptx_stream): Replace d, h, h_begin, h_end, h_next, h_prev,
2470 h_tail with (cuda_map *) map.
2471 (cuda_map_create): New function.
2472 (cuda_map_destroy): New function.
2473 (map_init): Update to use a linked list of cuda_map objects.
2474 (map_fini): Likewise.
2475 (map_pop): Likewise.
2476 (map_push): Likewise. Return CUdeviceptr instead of void.
2477 (init_streams_for_device): Remove stales references to ptx_stream
2478 members.
2479 (select_stream_for_async): Likewise.
2480 (nvptx_exec): Update call to map_init.
2481
8e36332c
CP
24822018-09-09 Cesar Philippidis <cesar@codesourcery.com>
2483 Julian Brown <julian@codesourcery.com>
2484
2485 PR middle-end/86336
2486 * testsuite/libgomp.oacc-c++/non-scalar-data.C: Remove XFAIL.
2487
2b4c9065
NK
24882018-08-21 Nicolas Koenig <koenigni@gcc.gnu.org>
2489 Thomas Koenig <tkoenig@gcc.gnu.org>
2490
2491 PR fortran/25829
2492 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2493 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2494 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2495 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2496 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2497 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2498 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2499
bd9b3d3d
CP
25002018-08-13 Cesar Philippidis <cesar@codesourcery.com>
2501 Tom de Vries <tdevries@suse.de>
2502
2503 PR target/85590
2504 * plugin/cuda/cuda.h (CUoccupancyB2DSize): New typedef.
2505 (cuOccupancyMaxPotentialBlockSize): Declare.
2506 * plugin/cuda-lib.def (cuOccupancyMaxPotentialBlockSize): New
2507 CUDA_ONE_CALL_MAYBE_NULL.
2508 * plugin/plugin-nvptx.c (CUDA_VERSION < 6050): Define
2509 CUoccupancyB2DSize and declare
2510 cuOccupancyMaxPotentialBlockSize.
2511 (nvptx_exec): Use cuOccupancyMaxPotentialBlockSize to set the
2512 default num_gangs and num_workers when the driver supports it.
2513
8e09a12f
TV
25142018-08-08 Tom de Vries <tdevries@suse.de>
2515
2516 * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using
2517 CUDA_ONE_CALL_MAYBE_NULL.
2518 * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare.
2519 (cuLinkAddData_v2, cuLinkCreate_v2): Declare.
2520 (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions
2521 are not found.
2522
cedd9bd0
TV
25232018-08-08 Tom de Vries <tdevries@suse.de>
2524
2525 * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL.
2526 * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not
2527 present.
2528
b113af95
TV
25292018-08-08 Tom de Vries <tdevries@suse.de>
2530
2531 * plugin/plugin-nvptx.c
2532 (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define.
2533 (nvptx_open_device): Use
2534 CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR.
2535
94767dac
TV
25362018-08-08 Tom de Vries <tdevries@suse.de>
2537
2538 * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ...
2539 (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000.
2540
02150de8
TV
25412018-08-07 Tom de Vries <tdevries@suse.de>
2542
2543 * plugin/plugin-nvptx.c (DO_PRAGMA): Define.
2544 (struct cuda_lib_s): Add def/undef of CUDA_ONE_CALL_MAYBE_NULL.
2545 (init_cuda_lib): Add new param to CUDA_ONE_CALL_1. Add arg to
2546 corresponding call in CUDA_ONE_CALL. Add def/undef of
2547 CUDA_ONE_CALL_MAYBE_NULL.
2548 (CUDA_CALL_EXISTS): Define.
2549
9e28b107
TV
25502018-08-07 Tom de Vries <tdevries@suse.de>
2551
2552 * plugin/plugin-nvptx.c (struct cuda_lib_s, init_cuda_lib): Put
2553 CUDA_ONE_CALL defines right before the cuda-lib.def include, and the
2554 corresponding undefs right after.
2555
09940090
TV
25562018-08-04 Tom de Vries <tdevries@suse.de>
2557
2558 * plugin/configfrag.ac: For --without-cuda-driver, set
2559 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB to no. Handle
2560 CUDA_DRIVER_INCLUDE == no and CUDA_DRIVER_LIB == no.
2561 * configure: Regenerate.
2562
77e0a97a
TV
25632018-08-02 Tom de Vries <tdevries@suse.de>
2564
2565 PR target/86660
2566 * testsuite/libgomp.oacc-c++/routine-1-auto.C: Remove -fno-exceptions.
2567 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Same.
2568 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
2569 Same.
2570 * testsuite/libgomp.oacc-c++/routine-1-template.C: Same.
2571 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C: Same.
2572 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Same.
2573
701d080a
CP
25742018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2575 Thomas Schwinge <thomas@codesourcery.com>
2576
2577 * config/nvptx/oacc-parallel.c: Truncate.
2578
094db6be
CP
25792018-08-01 Cesar Philippidis <cesar@codesourcery.com>
2580 James Norris <jnorris@codesourcery.com>
2581
2582 * plugin/plugin-nvptx.c (struct map): Removed.
701d080a
CP
2583 (map_init, map_pop): Remove use of struct map.
2584 (map_push): Likewise and change argument list.
094db6be
CP
2585 * testsuite/libgomp.oacc-c-c++-common/mapping-1.c: New
2586
8c6310a2
TV
25872018-08-01 Tom de Vries <tdevries@suse.de>
2588
2589 * plugin/cuda-lib.def: New file. Factor out of ...
2590 * plugin/plugin-nvptx.c (CUDA_CALLS): ... here.
2591 (struct cuda_lib_s, init_cuda_lib): Include cuda-lib.def instead of
2592 using CUDA_CALLS.
2593
1d4a51cf
AV
25942018-07-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
2595
2596 Revert 'AsyncI/O patch committed'.
2597 2018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2598 Thomas Koenig <tkoenig@gcc.gnu.org>
2599
2600 PR fortran/25829
2601 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2602 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2603 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2604 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2605 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2606 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2607 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2608
4cdfee3f
TV
26092018-07-30 Tom de Vries <tdevries@suse.de>
2610
2611 * plugin/plugin-nvptx.c (MIN, MAX): Redefine.
2612 (nvptx_exec): Ensure worker and vector default dims don't exceed
2613 targ_fn->max_threads_per_block.
2614
0b210c43
TV
26152018-07-30 Tom de Vries <tdevries@suse.de>
2616
2617 * plugin/plugin-nvptx.c (struct ptx_device): Add default_dims field.
2618 (nvptx_open_device): Init default_dims for device.
2619 (nvptx_exec): Use default_dims from device.
2620
5883c5cc
JJ
26212018-07-26 Jakub Jelinek <jakub@redhat.com>
2622
5d36384c
JJ
2623 PR testsuite/86660
2624 * testsuite/libgomp.c++/for-15.C (results): Include it in
2625 omp declare target region.
2626 (main): Use map (always, tofrom: results) instead of
2627 map (tofrom: results).
2628
5883c5cc
JJ
2629 PR middle-end/86660
2630 * testsuite/libgomp.c/pr86660.c: New test.
2631
88a4654d
CP
26322018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2633 Tom de Vries <tdevries@suse.de>
2634
2635 * plugin/plugin-nvptx.c (nvptx_exec): Error if the hardware doesn't have
2636 sufficient resources to launch a kernel, and give a hint on how to fix
2637 it.
2638
0c6c2f5f
CP
26392018-07-26 Cesar Philippidis <cesar@codesourcery.com>
2640 Tom de Vries <tdevries@suse.de>
2641
2642 * plugin/plugin-nvptx.c (struct ptx_device): Add warp_size,
2643 max_threads_per_block and max_threads_per_multiprocessor fields.
2644 (nvptx_open_device): Initialize new fields.
2645 (nvptx_exec): Use num_sms, and new fields.
2646
6dd58010
TV
26472018-07-26 Tom de Vries <tdevries@suse.de>
2648
2649 * testsuite/libgomp.oacc-fortran/lib-12.f90: Move acc_async_test calls
2650 to correct locations. Remove xfail.
2651
b2eb1779
TV
26522018-07-26 Tom de Vries <tdevries@suse.de>
2653
2654 * testsuite/libgomp.oacc-fortran/lib-13.f90: Replace acc_wait_all with
2655 acc_wait. Move acc_async_test calls to correct locations. Remove
2656 xfail.
2657
b1f45884
NK
26582018-07-25 Nicolas Koenig <koenigni@gcc.gnu.org>
2659 Thomas Koenig <tkoenig@gcc.gnu.org>
2660
2661 PR fortran/25829
2662 * testsuite/libgomp.fortran/async_io_1.f90: New test.
2663 * testsuite/libgomp.fortran/async_io_2.f90: New test.
2664 * testsuite/libgomp.fortran/async_io_3.f90: New test.
2665 * testsuite/libgomp.fortran/async_io_4.f90: New test.
2666 * testsuite/libgomp.fortran/async_io_5.f90: New test.
2667 * testsuite/libgomp.fortran/async_io_6.f90: New test.
2668 * testsuite/libgomp.fortran/async_io_7.f90: New test.
2669
3a106211
JJ
26702018-07-17 Jakub Jelinek <jakub@redhat.com>
2671
a3bccfa1
JJ
2672 PR middle-end/86542
2673 * testsuite/libgomp.c++/pr86542.C: New test.
2674
3a106211
JJ
2675 PR middle-end/86539
2676 * testsuite/libgomp.c++/pr86539.C: New test.
2677
2bae8b2f
JJ
26782018-07-11 Jakub Jelinek <jakub@redhat.com>
2679
2680 PR c++/86443
2681 * testsuite/libgomp.c++/for-15.C (a): Remove unused variable.
2682 (results): Make sure the variable is not inside declare target region.
2683 (qux): Remove unused function.
2684
0b27c3ed
JJ
26852018-07-10 Jakub Jelinek <jakub@redhat.com>
2686
2687 PR c++/86443
2688 * testsuite/libgomp.c++/for-15.C: New test.
2689
f0391511
JJ
26902018-06-26 Jakub Jelinek <jakub@redhat.com>
2691
2692 PR c++/86291
2693 * testsuite/libgomp.c++/pr86291.C: New test.
2694
1a6d1d24
GP
26952018-06-24 Gerald Pfeifer <gerald@pfeifer.com>
2696
2697 * libgomp.texi (Top): Move www.openmp.org to https.
2698 (Enabling OpenMP): Ditto.
2699 (omp_get_active_level): Ditto.
2700 (omp_get_ancestor_thread_num): Ditto.
2701 (omp_get_cancellation): Ditto.
2702 (omp_get_default_device): Ditto.
2703 (omp_get_dynamic): Ditto.
2704 (omp_get_level): Ditto.
2705 (omp_get_max_active_levels): Ditto.
2706 (omp_get_max_task_priority): Ditto.
2707 (omp_get_max_threads): Ditto.
2708 (omp_get_nested): Ditto.
2709 (omp_get_num_devices): Ditto.
2710 (omp_get_num_procs): Ditto.
2711 (omp_get_num_teams): Ditto.
2712 (omp_get_num_threads): Ditto.
2713 (omp_get_proc_bind): Ditto.
2714 (omp_get_schedule): Ditto.
2715 (omp_get_team_num): Ditto.
2716 (omp_get_team_size): Ditto.
2717 (omp_get_thread_limit): Ditto.
2718 (omp_get_thread_num): Ditto.
2719 (omp_in_parallel): Ditto.
2720 (omp_in_final): Ditto.
2721 (omp_is_initial_device): Ditto.
2722 (omp_set_default_device): Ditto.
2723 (omp_set_dynamic): Ditto.
2724 (omp_set_max_active_levels): Ditto.
2725 (omp_set_nested): Ditto.
2726 (omp_set_num_threads): Ditto.
2727 (omp_set_schedule): Ditto.
2728 (omp_init_lock): Ditto.
2729 (omp_set_lock): Ditto.
2730 (omp_test_lock): Ditto.
2731 (omp_unset_lock): Ditto.
2732 (omp_destroy_lock): Ditto.
2733 (omp_init_nest_lock): Ditto.
2734 (omp_set_nest_lock): Ditto.
2735 (omp_test_nest_lock): Ditto.
2736 (omp_unset_nest_lock): Ditto.
2737 (omp_destroy_nest_lock): Ditto.
2738 (omp_get_wtick): Ditto.
2739 (omp_get_wtime): Ditto.
2740 (OMP_CANCELLATION): Ditto.
2741 (OMP_DISPLAY_ENV): Ditto.
2742 (OMP_DEFAULT_DEVICE): Ditto.
2743 (OMP_DYNAMIC): Ditto.
2744 (OMP_MAX_ACTIVE_LEVELS): Ditto.
2745 (OMP_MAX_TASK_PRIORITY): Ditto.
2746 (OMP_NESTED): Ditto.
2747 (OMP_NUM_THREADS): Ditto.
2748 (OMP_PROC_BIND): Ditto.
2749 (OMP_PLACES): Ditto.
2750 (OMP_STACKSIZE): Ditto.
2751 (OMP_SCHEDULE): Ditto.
2752 (OMP_THREAD_LIMIT): Ditto.
2753 (OMP_WAIT_POLICY): Ditto.
2754
31dd69b7
CP
27552018-06-22 Cesar Philippidis <cesar@codesourcery.com>
2756 James Norris <jnorris@codesourcery.com>
2757 Julian Brown <julian@codesourcery.com>
2758 Thomas Schwinge <thomas@codesourcery.com>
2759 Tom de Vries <tom@codesourcery.com>
2760
2761 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Don't force "-O2".
2762 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Update.
2763 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: Likewise.
2764 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: Likewise.
2765 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
2766 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
2767 * testsuite/libgomp.oacc-c++/non-scalar-data.C: New file.
2768 * testsuite/libgomp.oacc-c-c++-common/declare-3.c: Likewise.
2769 * testsuite/libgomp.oacc-c-c++-common/enter-data.c: Likewise.
2770 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c:
2771 Likewise.
2772 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
2773 Likewise.
2774 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
2775 Likewise.
2776 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c:
2777 Likewise.
2778 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c:
2779 Likewise.
2780 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
2781 Likewise.
2782 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-1.c:
2783 Likewise.
2784 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-2.c:
2785 Likewise.
2786 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-3.c:
2787 Likewise.
2788 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-4.c:
2789 Likewise.
2790 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-local-worker-5.c:
2791 Likewise.
2792 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-1.c:
2793 Likewise.
2794 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-2.c:
2795 Likewise.
2796 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-3.c:
2797 Likewise.
2798 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-4.c:
2799 Likewise.
2800 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-5.c:
2801 Likewise.
2802 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-gang-6.c:
2803 Likewise.
2804 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-1.c:
2805 Likewise.
2806 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-vector-2.c:
2807 Likewise.
2808 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-1.c:
2809 Likewise.
2810 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-2.c:
2811 Likewise.
2812 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-3.c:
2813 Likewise.
2814 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-4.c:
2815 Likewise.
2816 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-5.c:
2817 Likewise.
2818 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-6.c:
2819 Likewise.
2820 * testsuite/libgomp.oacc-c-c++-common/kernels-private-vars-loop-worker-7.c:
2821 Likewise.
2822 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction-1.c:
2823 Likewise.
2824 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.c: Likewise.
2825 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-1.h: Likewise.
2826 * testsuite/libgomp.oacc-c-c++-common/parallel-loop-2.h: Likewise.
2827 * testsuite/libgomp.oacc-fortran/cublas-fixed.h: Likewise.
2828 * testsuite/libgomp.oacc-fortran/dummy-array.f90: Likewise.
2829 * testsuite/libgomp.oacc-fortran/host_data-2.f90: Likewise.
2830 * testsuite/libgomp.oacc-fortran/host_data-3.f: Likewise.
2831 * testsuite/libgomp.oacc-fortran/host_data-4.f90: Likewise.
2832 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction-2.f90:
2833 Likewise.
2834 * testsuite/libgomp.oacc-fortran/kernels-acc-loop-reduction.f90:
2835 Likewise.
2836 * testsuite/libgomp.oacc-fortran/kernels-collapse-3.f90: Likewise.
2837 * testsuite/libgomp.oacc-fortran/kernels-collapse-4.f90: Likewise.
2838 * testsuite/libgomp.oacc-fortran/kernels-independent.f90:
2839 Likewise.
2840 * testsuite/libgomp.oacc-fortran/kernels-loop-1.f90: Likewise.
2841 * testsuite/libgomp.oacc-fortran/kernels-map-1.f90: Likewise.
2842 * testsuite/libgomp.oacc-fortran/kernels-parallel-loop-data-enter-exit.f95:
2843 Likewise.
2844 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-1.f90:
2845 Likewise.
2846 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-2.f90:
2847 Likewise.
2848 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-3.f90:
2849 Likewise.
2850 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-gang-6.f90:
2851 Likewise.
2852 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-1.f90:
2853 Likewise.
2854 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-vector-2.f90:
2855 Likewise.
2856 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-1.f90:
2857 Likewise.
2858 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-2.f90:
2859 Likewise.
2860 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-3.f90:
2861 Likewise.
2862 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-4.f90:
2863 Likewise.
2864 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-5.f90:
2865 Likewise.
2866 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-6.f90:
2867 Likewise.
2868 * testsuite/libgomp.oacc-fortran/kernels-private-vars-loop-worker-7.f90:
2869 Likewise.
2870 * testsuite/libgomp.oacc-fortran/kernels-reduction-1.f90:
2871 Likewise.
2872 * testsuite/libgomp.oacc-fortran/lib-12.f90: Likewise.
2873 * testsuite/libgomp.oacc-fortran/lib-13.f90: Likewise.
2874 * testsuite/libgomp.oacc-fortran/lib-14.f90: Likewise.
2875 * testsuite/libgomp.oacc-fortran/lib-15.f90: Likewise.
2876 * testsuite/libgomp.oacc-fortran/parallel-loop-1.f90: Likewise.
2877 * testsuite/libgomp.oacc-fortran/reference-reductions.f90: Likewise.
2878 * testsuite/libgomp.oacc-fortran/vector-routine.f90: Likewise.
2879
829c6349
CLT
28802018-06-20 Chung-Lin Tang <cltang@codesourcery.com>
2881 Thomas Schwinge <thomas@codesourcery.com>
2882 Cesar Philippidis <cesar@codesourcery.com>
2883
2884 * libgomp.h (struct splay_tree_key_s): Add dynamic_refcount member.
2885 (gomp_acc_remove_pointer): Update declaration.
2886 (gomp_acc_declare_allocate): Declare.
2887 (gomp_remove_var): Declare.
2888 * libgomp.map (OACC_2.5): Define.
2889 * oacc-mem.c (acc_map_data): Update refcount.
2890 (acc_unmap_data): Likewise.
2891 (present_create_copy): Likewise.
2892 (acc_create): Add FLAG_PRESENT when calling present_create_copy.
2893 (acc_copyin): Likewise.
2894 (FLAG_FINALIZE): Define.
2895 (delete_copyout): Update dynamic refcounts, add support for FINALIZE.
2896 (acc_delete_finalize): New function.
2897 (acc_delete_finalize_async): New function.
2898 (acc_copyout_finalize): New function.
2899 (acc_copyout_finalize_async): New function.
2900 (gomp_acc_insert_pointer): Update refcounts.
2901 (gomp_acc_remove_pointer): Return if data is not present on the
2902 accelerator.
2903 * oacc-parallel.c (find_pset): Rename to find_pointer.
2904 (find_pointer): Add support for GOMP_MAP_POINTER.
2905 (handle_ftn_pointers): New function.
2906 (GOACC_parallel_keyed): Update refcounts of variables.
2907 (GOACC_enter_exit_data): Add support for finalized data mappings.
2908 Add support for GOMP_MAP_{TO,ALLOC,RELESE,FROM}. Update handling
2909 of fortran arrays.
2910 (GOACC_update): Add support for GOMP_MAP_{ALWAYS_POINTER,TO,FROM}.
2911 (GOACC_declare): Add support for GOMP_MAP_RELEASE, remove support
2912 for GOMP_MAP_FORCE_FROM.
2913 * openacc.f90 (module openacc_internal): Add
2914 acc_copyout_finalize_{32_h,64_h,array_h,_l}, and
2915 acc_delete_finalize_{32_h,64_h,array_h,_l}. Add interfaces for
2916 acc_copyout_finalize and acc_delete_finalize.
2917 (acc_copyout_finalize_32_h): New subroutine.
2918 (acc_copyout_finalize_64_h): New subroutine.
2919 (acc_copyout_finalize_array_h): New subroutine.
2920 (acc_delete_finalize_32_h): New subroutine.
2921 (acc_delete_finalize_64_h): New subroutine.
2922 (acc_delete_finalize_array_h): New subroutine.
2923 * openacc.h (acc_copyout_finalize): Declare.
2924 (acc_copyout_finalize_async): Declare.
2925 (acc_delete_finalize): Declare.
2926 (acc_delete_finalize_async): Declare.
2927 * openacc_lib.h (acc_copyout_finalize): New interface.
2928 (acc_delete_finalize): New interface.
2929 * target.c (gomp_map_vars): Update dynamic_refcount.
2930 (gomp_remove_var): New function.
2931 (gomp_unmap_vars): Use it.
2932 (gomp_unload_image_from_device): Likewise.
2933 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Update test
2934 case to utilize OpenACC 2.5 data clause semantics.
2935 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
2936 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
2937 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
2938 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
2939 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
2940 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
2941 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
2942 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
2943 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
2944 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
2945 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
2946 * testsuite/libgomp.oacc-fortran/data-5.f90: New test.
2947 * testsuite/libgomp.oacc-fortran/data-already-1.f: Update test case to
2948 utilize OpenACC 2.5 data clause semantics.
2949 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
2950 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
2951 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
2952 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
2953 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
2954 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
2955 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
2956 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
2957 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
2958
4358400b
JW
29592018-05-21 Janus Weil <janus@gcc.gnu.org>
2960
2961 PR fortran/85841
2962 PR testsuite/85865
2963 * testsuite/libgomp.fortran/collapse2.f90: Add option "-std=legacy".
2964 * testsuite/libgomp.fortran/omp_atomic2.f90: Ditto.
2965 * testsuite/libgomp.fortran/omp_parse1.f90: Ditto.
2966 * testsuite/libgomp.fortran/omp_parse3.f90: Ditto.
2967 * testsuite/libgomp.fortran/task2.f90: Ditto.
2968 * testsuite/libgomp.fortran/vla1.f90: Ditto.
2969 * testsuite/libgomp.fortran/vla2.f90: Ditto.
2970 * testsuite/libgomp.fortran/vla3.f90: Ditto.
2971 * testsuite/libgomp.fortran/vla4.f90: Ditto.
2972 * testsuite/libgomp.fortran/vla5.f90: Ditto.
2973 * testsuite/libgomp.fortran/vla6.f90: Ditto.
2974 * testsuite/libgomp.fortran/vla8.f90: Ditto.
2975 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Ditto.
2976 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Ditto.
2977
950ad0ba
CP
29782018-05-18 Cesar Philippidis <cesar@codesourcery.com>
2979
2980 PR c++/85782
2981 * testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
2982
f5ad16f1
TV
29832018-05-09 Tom de Vries <tom@codesourcery.com>
2984
2985 PR libgomp/82901
2986 * oacc-parallel.c (GOACC_declare): Use GOMP_ASYNC_SYNC as async argument
2987 to GOACC_enter_exit_data.
2988
edbd038a
TV
29892018-05-09 Tom de Vries <tom@codesourcery.com>
2990
2991 PR libgomp/83792
2992 * oacc-int.h (async_valid_stream_id_p, async_valid_p)
2993 (async_synchronous_p): New function.
2994 * oacc-async.c (acc_async_test, acc_wait, acc_wait_all_async): Use
2995 async_valid_p.
2996 * oacc-cuda.c (acc_get_cuda_stream, acc_set_cuda_stream): Use
2997 async_valid_stream_id_p.
2998 * oacc-mem.c (gomp_acc_remove_pointer): Use async_synchronous_p.
2999 * oacc-parallel.c (GOACC_parallel_keyed): Same.
3000
37d6c719
TV
30012018-05-07 Tom de Vries <tom@codesourcery.com>
3002
3003 PR testsuite/85677
3004 * testsuite/lib/libgomp.exp (libgomp_init): Move inclusion of top-level
3005 include directory in ALWAYS_CFLAGS out of $blddir != "" condition.
3006
63f12215
TV
30072018-05-03 Tom de Vries <tom@codesourcery.com>
3008
3009 PR testsuite/85106
3010 * testsuite/lib/libgomp-dg.exp (libgomp-dg-test): Add save-temps to
3011 extra_tool_flags if it contains an -foffload=-fdump-* flag.
3012 * testsuite/lib/libgomp.exp: Include scanoffloadtree.exp.
3013 * testsuite/libgomp.oacc-c/vec.c: Use scan-offload-tree-dump.
3014
ec00d3fa
TV
30152018-05-02 Tom de Vries <tom@codesourcery.com>
3016
3017 PR libgomp/85411
3018 * plugin/plugin-nvptx.c (nvptx_exec): Move parsing of
3019 GOMP_OPENACC_DIM ...
3020 * env.c (parse_gomp_openacc_dim): ... here. New function.
3021 (initialize_env): Call parse_gomp_openacc_dim.
3022 (goacc_default_dims): Define.
3023 * libgomp.h (goacc_default_dims): Declare.
3024 * oacc-plugin.c (GOMP_PLUGIN_acc_default_dim): New function.
3025 * oacc-plugin.h (GOMP_PLUGIN_acc_default_dim): Declare.
3026 * libgomp.map: New version "GOMP_PLUGIN_1.2". Add
3027 GOMP_PLUGIN_acc_default_dim.
3028 * testsuite/libgomp.oacc-c-c++-common/loop-default-runtime.c: New test.
3029 * testsuite/libgomp.oacc-c-c++-common/loop-default.h: New test.
3030
92243e7c
TV
30312018-05-02 Tom de Vries <tom@codesourcery.com>
3032
3033 PR testsuite/83791
3034 * testsuite/libgomp.c++/udr-9.C: Update.
3035 * testsuite/libgomp.c++/atomic-16.C: Remove.
3036 * testsuite/libgomp.c++/cancel-taskgroup-2.C: Remove.
3037 * testsuite/libgomp.c++/loop-13.C: Remove.
3038 * testsuite/libgomp.c++/loop-14.C: Remove.
3039 * testsuite/libgomp.c++/loop-15.C: Remove.
3040 * testsuite/libgomp.c++/monotonic-1.C: Remove.
3041 * testsuite/libgomp.c++/monotonic-2.C: Remove.
3042 * testsuite/libgomp.c++/nonmonotonic-1.C: Remove.
3043 * testsuite/libgomp.c++/nonmonotonic-2.C: Remove.
3044 * testsuite/libgomp.c++/ordered-1.C: Remove.
3045 * testsuite/libgomp.c++/pr45784.C: Remove.
3046 * testsuite/libgomp.c++/pr64824.C: Remove.
3047 * testsuite/libgomp.c++/pr64868.C: Remove.
3048 * testsuite/libgomp.c++/pr66199-1.C: Remove.
3049 * testsuite/libgomp.c++/pr66199-2.C: Remove.
3050 * testsuite/libgomp.c++/pr66199-3.C: Remove.
3051 * testsuite/libgomp.c++/pr66199-4.C: Remove.
3052 * testsuite/libgomp.c++/pr66199-5.C: Remove.
3053 * testsuite/libgomp.c++/pr66199-6.C: Remove.
3054 * testsuite/libgomp.c++/pr66199-7.C: Remove.
3055 * testsuite/libgomp.c++/pr66199-8.C: Remove.
3056 * testsuite/libgomp.c++/pr66199-9.C: Remove.
3057 * testsuite/libgomp.c++/pr69389.C: Remove.
3058 * testsuite/libgomp.c++/simd10.C: Remove.
3059 * testsuite/libgomp.c++/simd11.C: Remove.
3060 * testsuite/libgomp.c++/simd12.C: Remove.
3061 * testsuite/libgomp.c++/simd13.C: Remove.
3062 * testsuite/libgomp.c++/target-1.C: Remove.
3063 * testsuite/libgomp.c++/target-3.C: Remove.
3064 * testsuite/libgomp.c++/target-4.C: Remove.
3065 * testsuite/libgomp.c++/target-5.C: Remove.
3066 * testsuite/libgomp.c++/taskgroup-1.C: Remove.
3067 * testsuite/libgomp.c++/taskloop-1.C: Remove.
3068 * testsuite/libgomp.c++/taskloop-2.C: Remove.
3069 * testsuite/libgomp.c++/taskloop-3.C: Remove.
3070 * testsuite/libgomp.c++/taskloop-4.C: Remove.
3071 * testsuite/libgomp.c++/udr-9.C: Remove.
3072 * testsuite/libgomp.c++/for-10.C: Remove.
3073 * testsuite/libgomp.c++/for-11.C: Remove.
3074 * testsuite/libgomp.c++/for-12.C: Remove.
3075 * testsuite/libgomp.c++/for-13.C: Remove.
3076 * testsuite/libgomp.c++/for-14.C: Remove.
3077 * testsuite/libgomp.c++/for-9.C: Remove.
3078 * testsuite/libgomp.c/atomic-18.c: Move ...
3079 * testsuite/libgomp.c-c++-common/atomic-18.c: ... here.
3080 * testsuite/libgomp.c/cancel-taskgroup-2.c: Move ...
3081 * testsuite/libgomp.c-c++-common/cancel-taskgroup-2.c: here.
3082 * testsuite/libgomp.c/loop-13.c: Move ...
3083 * testsuite/libgomp.c-c++-common/loop-13.c: ... here.
3084 * testsuite/libgomp.c/loop-14.c: Move ...
3085 * testsuite/libgomp.c-c++-common/loop-14.c: ... here.
3086 * testsuite/libgomp.c/loop-15.c: Remove.
3087 * testsuite/libgomp.c-c++-common/loop-15.c: New test.
3088 * testsuite/libgomp.c/monotonic-1.c: Move ...
3089 * testsuite/libgomp.c-c++-common/monotonic-1.c: ... here.
3090 * testsuite/libgomp.c/monotonic-2.c: Move ...
3091 * testsuite/libgomp.c-c++-common/monotonic-2.c: ... here.
3092 * testsuite/libgomp.c/nonmonotonic-1.c: Move ...
3093 * testsuite/libgomp.c-c++-common/nonmonotonic-1.c: ... here.
3094 * testsuite/libgomp.c/nonmonotonic-2.c: Move ...
3095 * testsuite/libgomp.c-c++-common/nonmonotonic-2.c: ... here.
3096 * testsuite/libgomp.c/ordered-4.c: Move ...
3097 * testsuite/libgomp.c-c++-common/ordered-4.c: ... here.
3098 * testsuite/libgomp.c/pr45784.c: Move ...
3099 * testsuite/libgomp.c-c++-common/pr45784.c: ... here.
3100 * testsuite/libgomp.c/pr64824.c: Move ...
3101 * testsuite/libgomp.c-c++-common/pr64824.c: ... here.
3102 * testsuite/libgomp.c/pr64868.c: Move ...
3103 * testsuite/libgomp.c-c++-common/pr64868.c: ... here.
3104 * testsuite/libgomp.c/pr66199-1.c: Move ...
3105 * testsuite/libgomp.c-c++-common/pr66199-1.c: ... here.
3106 * testsuite/libgomp.c/pr66199-2.c: Move ...
3107 * testsuite/libgomp.c-c++-common/pr66199-2.c: ... here.
3108 * testsuite/libgomp.c/pr66199-3.c: Move ...
3109 * testsuite/libgomp.c-c++-common/pr66199-3.c: ... here.
3110 * testsuite/libgomp.c/pr66199-4.c: Move ...
3111 * testsuite/libgomp.c-c++-common/pr66199-4.c: ... here.
3112 * testsuite/libgomp.c/pr66199-5.c: Move ...
3113 * testsuite/libgomp.c-c++-common/pr66199-5.c: ... here.
3114 * testsuite/libgomp.c/pr66199-6.c: Move ...
3115 * testsuite/libgomp.c-c++-common/pr66199-6.c: ... here.
3116 * testsuite/libgomp.c/pr66199-7.c: Move ...
3117 * testsuite/libgomp.c-c++-common/pr66199-7.c: ... here.
3118 * testsuite/libgomp.c/pr66199-8.c: Move ...
3119 * testsuite/libgomp.c-c++-common/pr66199-8.c: ... here.
3120 * testsuite/libgomp.c/pr66199-9.c: Move ...
3121 * testsuite/libgomp.c-c++-common/pr66199-9.c: ... here.
3122 * testsuite/libgomp.c/pr69389.c: Move ...
3123 * testsuite/libgomp.c-c++-common/pr69389.c: ... here.
3124 * testsuite/libgomp.c/simd-14.c: Move ...
3125 * testsuite/libgomp.c-c++-common/simd-14.c: ... here.
3126 * testsuite/libgomp.c/simd-15.c: Move ...
3127 * testsuite/libgomp.c-c++-common/simd-15.c: ... here.
3128 * testsuite/libgomp.c/simd-16.c: Move ...
3129 * testsuite/libgomp.c-c++-common/simd-16.c: ... here.
3130 * testsuite/libgomp.c/simd-17.c: Move ...
3131 * testsuite/libgomp.c-c++-common/simd-17.c: ... here.
3132 * testsuite/libgomp.c/target-1.c: Move ...
3133 * testsuite/libgomp.c-c++-common/target-1.c: ... here.
3134 * testsuite/libgomp.c/target-10.c: Move ...
3135 * testsuite/libgomp.c-c++-common/target-10.c: ... here.
3136 * testsuite/libgomp.c/target-13.c: Move ...
3137 * testsuite/libgomp.c-c++-common/target-13.c: ... here.
3138 * testsuite/libgomp.c/target-2.c: Move ...
3139 * testsuite/libgomp.c-c++-common/target-2.c: ... here.
3140 * testsuite/libgomp.c/taskgroup-1.c: Move ...
3141 * testsuite/libgomp.c-c++-common/taskgroup-1.c: ... here.
3142 * testsuite/libgomp.c/taskloop-1.c: Move ...
3143 * testsuite/libgomp.c-c++-common/taskloop-1.c: ... here.
3144 * testsuite/libgomp.c/taskloop-2.c: Move ...
3145 * testsuite/libgomp.c-c++-common/taskloop-2.c: ... here.
3146 * testsuite/libgomp.c/taskloop-3.c: Move ...
3147 * testsuite/libgomp.c-c++-common/taskloop-3.c: ... here.
3148 * testsuite/libgomp.c/taskloop-4.c: Move ...
3149 * testsuite/libgomp.c-c++-common/taskloop-4.c: ... here.
3150 * testsuite/libgomp.c/udr-1.c: Move ...
3151 * testsuite/libgomp.c-c++-common/udr-1.c: ... here.
3152 * testsuite/libgomp.c/for-1.c: Move ...
3153 * testsuite/libgomp.c-c++-common/for-1.c: ... here.
3154 * testsuite/libgomp.c/for-1.h: Move ...
3155 * testsuite/libgomp.c-c++-common/for-1.h: ... here.
3156 * testsuite/libgomp.c/for-2.c: Move ...
3157 * testsuite/libgomp.c-c++-common/for-2.c: ... here.
3158 * testsuite/libgomp.c/for-2.h: Move ...
3159 * testsuite/libgomp.c-c++-common/for-2.h: ... here.
3160 * testsuite/libgomp.c/for-3.c: Move ...
3161 * testsuite/libgomp.c-c++-common/for-3.c: ... here.
3162 * testsuite/libgomp.c/for-4.c: Move ...
3163 * testsuite/libgomp.c-c++-common/for-4.c: ... here.
3164 * testsuite/libgomp.c/for-5.c: Move ...
3165 * testsuite/libgomp.c-c++-common/for-5.c: ... here.
3166 * testsuite/libgomp.c/for-6.c: Move ...
3167 * testsuite/libgomp.c-c++-common/for-6.c: ... here.
3168
1f62d637
TV
31692018-05-02 Tom de Vries <tom@codesourcery.com>
3170
3171 PR libgomp/82428
3172 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Use
3173 __builtin_goacc_parlevel_{id,size}.
3174 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Same.
3175 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Same.
3176 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Same.
3177 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Same.
3178 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Same.
3179 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Same.
3180 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Same.
3181 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Same.
3182 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Same.
3183 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Same.
3184 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Same.
3185 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Same.
3186 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Same.
3187 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Same.
3188 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Same.
3189 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Same.
3190 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Same.
3191 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Same.
3192 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Same.
3193 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Same.
3194 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Same.
3195 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Same.
3196 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: Same.
3197
9220b511
TV
31982018-05-02 Tom de Vries <tom@codesourcery.com>
3199
3200 PR testsuite/85106
3201 * testsuite/lib/libgomp.exp: Include scanltranstree.exp.
3202
6c3c13c1
TV
32032018-05-02 Tom de Vries <tom@codesourcery.com>
3204
3205 PR testsuite/85106
3206 * testsuite/lib/libgomp.exp: Include scanwpaipa.exp.
3207
8d70b61e
JB
32082018-04-29 Julian Brown <julian@codesourcery.com>
3209 Tom de Vries <tom@codesourcery.com>
3210
3211 PR testsuite/85527
3212 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: Allow
3213 arbitrary order for iterations of atomic subtract check.
3214
4a57a4b6
TV
32152018-04-28 Tom de Vries <tom@codesourcery.com>
3216
3217 PR testsuite/85527
3218 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90 (main): Store
3219 atomic capture results obtained in parallel loop to an array, instead of
3220 to a scalar.
3221
df36a3d3
TV
32222018-04-26 Tom de Vries <tom@codesourcery.com>
3223
3224 PR libgomp/84020
3225 * plugin/cuda/cuda.h (CUjit_option): Add CU_JIT_OPTIMIZATION_LEVEL.
3226 * plugin/plugin-nvptx.c (_GNU_SOURCE): Define.
3227 (process_GOMP_NVPTX_JIT): New function.
3228 (link_ptx): Use process_GOMP_NVPTX_JIT.
3229
d160ae78
RB
32302018-04-26 Richard Biener <rguenther@suse.de>
3231 Tom de Vries <tom@codesourcery.com>
3232
3233 PR lto/85422
3234 * testsuite/libgomp.oacc-c-c++-common/pr85422.c: New test.
3235
ca9dc642
TV
32362018-04-26 Tom de Vries <tom@codesourcery.com>
3237
3238 PR target/85519
3239 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Reduce
3240 recursion depth from 25 to 23.
3241 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Same.
3242
7b47ecf2
L
32432018-04-24 H.J. Lu <hongjiu.lu@intel.com>
3244
3245 * configure: Regenerated.
3246
e91eba31
NS
32472018-04-20 Nathan Sidwell <nathan@codesourcery.com>
3248 Tom de Vries <tom@codesourcery.com>
3249
3250 PR target/85445
3251 * testsuite/libgomp.oacc-c++/ref-1.C: New.
3252
6e0d40b6
TS
32532018-04-19 Thomas Schwinge <thomas@codesourcery.com>
3254
3255 PR libgomp/85463
3256 * testsuite/libgomp.oacc-fortran/error_stop-1.f: New file.
3257 * testsuite/libgomp.oacc-fortran/error_stop-2.f: Likewise.
3258 * testsuite/libgomp.oacc-fortran/error_stop-3.f: Likewise.
3259 * testsuite/libgomp.oacc-fortran/stop-1.f: Likewise.
3260 * testsuite/libgomp.oacc-fortran/stop-2.f: Likewise.
3261 * testsuite/libgomp.oacc-fortran/stop-3.f: Likewise.
3262
3263 PR libfortran/85166
3264 * testsuite/libgomp.oacc-fortran/abort-1.f90: Switch back to "call
3265 abort".
3266 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3267
a0e1df88
JJ
32682018-04-19 Jakub Jelinek <jakub@redhat.com>
3269
3270 * configure: Regenerated.
3271
001ddaa8
DM
32722018-04-18 David Malcolm <dmalcolm@redhat.com>
3273
3274 PR jit/85384
3275 * configure: Regenerate.
3276
05e0af43
CP
32772018-04-16 Cesar Philippidis <cesar@codesourcery.com>
3278 Tom de Vries <tom@codesourcery.com>
3279
3280 PR middle-end/84955
3281 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3282 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3283
bc436e10
TK
32842018-04-12 Thomas Koenig <tkoenig@gcc.gnu.org>
3285
3286 PR fortran/83064
3287 PR testsuite/85346
3288 * testsuite/libgomp.fortran/do_concurrent_5.f90: Move modified
3289 test from gfortran.dg to here.
3290
ffb164c7
JJ
32912018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3292
3293 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: Revert 259346.
3294 * testsuite/libgomp.oacc-fortran/pr84955.f90: Likewise.
3295
32962018-04-12 Cesar Philippidis <cesar@codesourcery.com>
3297
3298 PR middle-end/84955
3299 * testsuite/libgomp.oacc-c-c++-common/pr84955.c: New test.
3300 * testsuite/libgomp.oacc-fortran/pr84955.f90: New test.
3301
2ba16fd2
TV
33022018-04-05 Tom de Vries <tom@codesourcery.com>
3303
3304 PR target/85204
3305 * testsuite/libgomp.oacc-c-c++-common/broadcast-1.c: New test.
3306
46dbeb40
TV
33072018-03-26 Tom de Vries <tom@codesourcery.com>
3308
3309 PR tree-optimization/85063
3310 * testsuite/libgomp.c/switch-conversion-2.c: New test.
3311 * testsuite/libgomp.c/switch-conversion.c: New test.
3312 * testsuite/libgomp.oacc-c-c++-common/switch-conversion-2.c: New test.
3313 * testsuite/libgomp.oacc-c-c++-common/switch-conversion.c: New test.
3314
bfc24e32
TK
33152018-03-25 Thomas Koenig <tkoenig@gcc.gnu.org>
3316
3317 PR fortran/84381
3318 * testsuite/libgomp.fortran/aligned1.f03: Replace non-standard
3319 call abort by STOP n.
3320 * testsuite/libgomp.fortran/alloc-comp-1.f90: Likewise.
3321 * testsuite/libgomp.fortran/alloc-comp-2.f90: Likewise.
3322 * testsuite/libgomp.fortran/alloc-comp-3.f90: Likewise.
3323 * testsuite/libgomp.fortran/allocatable1.f90: Likewise.
3324 * testsuite/libgomp.fortran/allocatable10.f90: Likewise.
3325 * testsuite/libgomp.fortran/allocatable11.f90: Likewise.
3326 * testsuite/libgomp.fortran/allocatable12.f90: Likewise.
3327 * testsuite/libgomp.fortran/allocatable2.f90: Likewise.
3328 * testsuite/libgomp.fortran/allocatable3.f90: Likewise.
3329 * testsuite/libgomp.fortran/allocatable4.f90: Likewise.
3330 * testsuite/libgomp.fortran/allocatable5.f90: Likewise.
3331 * testsuite/libgomp.fortran/allocatable6.f90: Likewise.
3332 * testsuite/libgomp.fortran/allocatable7.f90: Likewise.
3333 * testsuite/libgomp.fortran/allocatable8.f90: Likewise.
3334 * testsuite/libgomp.fortran/allocatable9.f90: Likewise.
3335 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise.
3336 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Likewise.
3337 * testsuite/libgomp.fortran/associate1.f90: Likewise.
3338 * testsuite/libgomp.fortran/associate2.f90: Likewise.
3339 * testsuite/libgomp.fortran/associate3.f90: Likewise.
3340 * testsuite/libgomp.fortran/cancel-do-1.f90: Likewise.
3341 * testsuite/libgomp.fortran/cancel-do-2.f90: Likewise.
3342 * testsuite/libgomp.fortran/cancel-parallel-1.f90: Likewise.
3343 * testsuite/libgomp.fortran/cancel-sections-1.f90: Likewise.
3344 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: Likewise.
3345 * testsuite/libgomp.fortran/character1.f90: Likewise.
3346 * testsuite/libgomp.fortran/character2.f90: Likewise.
3347 * testsuite/libgomp.fortran/collapse1.f90: Likewise.
3348 * testsuite/libgomp.fortran/collapse2.f90: Likewise.
3349 * testsuite/libgomp.fortran/collapse3.f90: Likewise.
3350 * testsuite/libgomp.fortran/collapse4.f90: Likewise.
3351 * testsuite/libgomp.fortran/crayptr1.f90: Likewise.
3352 * testsuite/libgomp.fortran/crayptr2.f90: Likewise.
3353 * testsuite/libgomp.fortran/crayptr3.f90: Likewise.
3354 * testsuite/libgomp.fortran/declare-simd-1.f90: Likewise.
3355 * testsuite/libgomp.fortran/declare-simd-3.f90: Likewise.
3356 * testsuite/libgomp.fortran/declare-target-2.f90: Likewise.
3357 * testsuite/libgomp.fortran/depend-1.f90: Likewise.
3358 * testsuite/libgomp.fortran/depend-2.f90: Likewise.
3359 * testsuite/libgomp.fortran/depend-3.f90: Likewise.
3360 * testsuite/libgomp.fortran/do1.f90: Likewise.
3361 * testsuite/libgomp.fortran/do2.f90: Likewise.
3362 * testsuite/libgomp.fortran/doacross1.f90: Likewise.
3363 * testsuite/libgomp.fortran/doacross2.f90: Likewise.
3364 * testsuite/libgomp.fortran/doacross3.f90: Likewise.
3365 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: Likewise.
3366 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: Likewise.
3367 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: Likewise.
3368 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
3369 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: Likewise.
3370 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: Likewise.
3371 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: Likewise.
3372 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: Likewise.
3373 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: Likewise.
3374 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
3375 * testsuite/libgomp.fortran/examples-4/device-2.f90: Likewise.
3376 * testsuite/libgomp.fortran/examples-4/device-3.f90: Likewise.
3377 * testsuite/libgomp.fortran/examples-4/simd-1.f90: Likewise.
3378 * testsuite/libgomp.fortran/examples-4/simd-2.f90: Likewise.
3379 * testsuite/libgomp.fortran/examples-4/simd-3.f90: Likewise.
3380 * testsuite/libgomp.fortran/examples-4/simd-4.f90: Likewise.
3381 * testsuite/libgomp.fortran/examples-4/simd-5.f90: Likewise.
3382 * testsuite/libgomp.fortran/examples-4/simd-6.f90: Likewise.
3383 * testsuite/libgomp.fortran/examples-4/simd-7.f90: Likewise.
3384 * testsuite/libgomp.fortran/examples-4/simd-8.f90: Likewise.
3385 * testsuite/libgomp.fortran/examples-4/target-1.f90: Likewise.
3386 * testsuite/libgomp.fortran/examples-4/target-2.f90: Likewise.
3387 * testsuite/libgomp.fortran/examples-4/target-3.f90: Likewise.
3388 * testsuite/libgomp.fortran/examples-4/target-4.f90: Likewise.
3389 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
3390 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: Likewise.
3391 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: Likewise.
3392 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: Likewise.
3393 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: Likewise.
3394 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: Likewise.
3395 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
3396 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
3397 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: Likewise.
3398 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: Likewise.
3399 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: Likewise.
3400 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: Likewise.
3401 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: Likewise.
3402 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: Likewise.
3403 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: Likewise.
3404 * testsuite/libgomp.fortran/examples-4/teams-2.f90: Likewise.
3405 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Likewise.
3406 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
3407 * testsuite/libgomp.fortran/examples-4/teams-5.f90: Likewise.
3408 * testsuite/libgomp.fortran/examples-4/teams-6.f90: Likewise.
3409 * testsuite/libgomp.fortran/lastprivate1.f90: Likewise.
3410 * testsuite/libgomp.fortran/lastprivate2.f90: Likewise.
3411 * testsuite/libgomp.fortran/lib1.f90: Likewise.
3412 * testsuite/libgomp.fortran/lib2.f: Likewise.
3413 * testsuite/libgomp.fortran/lib3.f: Likewise.
3414 * testsuite/libgomp.fortran/lib4.f90: Likewise.
3415 * testsuite/libgomp.fortran/lock-1.f90: Likewise.
3416 * testsuite/libgomp.fortran/lock-2.f90: Likewise.
3417 * testsuite/libgomp.fortran/nested1.f90: Likewise.
3418 * testsuite/libgomp.fortran/nestedfn1.f90: Likewise.
3419 * testsuite/libgomp.fortran/nestedfn2.f90: Likewise.
3420 * testsuite/libgomp.fortran/nestedfn3.f90: Likewise.
3421 * testsuite/libgomp.fortran/nestedfn4.f90: Likewise.
3422 * testsuite/libgomp.fortran/nestedfn5.f90: Likewise.
3423 * testsuite/libgomp.fortran/omp_atomic1.f90: Likewise.
3424 * testsuite/libgomp.fortran/omp_atomic2.f90: Likewise.
3425 * testsuite/libgomp.fortran/omp_atomic3.f90: Likewise.
3426 * testsuite/libgomp.fortran/omp_atomic4.f90: Likewise.
3427 * testsuite/libgomp.fortran/omp_atomic5.f90: Likewise.
3428 * testsuite/libgomp.fortran/omp_cond1.f: Likewise.
3429 * testsuite/libgomp.fortran/omp_cond2.f: Likewise.
3430 * testsuite/libgomp.fortran/omp_cond3.F90: Likewise.
3431 * testsuite/libgomp.fortran/omp_cond4.F90: Likewise.
3432 * testsuite/libgomp.fortran/omp_parse1.f90: Likewise.
3433 * testsuite/libgomp.fortran/omp_parse2.f90: Likewise.
3434 * testsuite/libgomp.fortran/omp_parse3.f90: Likewise.
3435 * testsuite/libgomp.fortran/omp_parse4.f90: Likewise.
3436 * testsuite/libgomp.fortran/openmp_version-1.f: Likewise.
3437 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
3438 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: Likewise.
3439 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: Likewise.
3440 * testsuite/libgomp.fortran/pointer1.f90: Likewise.
3441 * testsuite/libgomp.fortran/pointer2.f90: Likewise.
3442 * testsuite/libgomp.fortran/pr25162.f: Likewise.
3443 * testsuite/libgomp.fortran/pr25219.f90: Likewise.
3444 * testsuite/libgomp.fortran/pr27395-1.f90: Likewise.
3445 * testsuite/libgomp.fortran/pr27395-2.f90: Likewise.
3446 * testsuite/libgomp.fortran/pr27416-1.f90: Likewise.
3447 * testsuite/libgomp.fortran/pr27916-1.f90: Likewise.
3448 * testsuite/libgomp.fortran/pr27916-2.f90: Likewise.
3449 * testsuite/libgomp.fortran/pr28390.f: Likewise.
3450 * testsuite/libgomp.fortran/pr29629.f90: Likewise.
3451 * testsuite/libgomp.fortran/pr32550.f90: Likewise.
3452 * testsuite/libgomp.fortran/pr33880.f90: Likewise.
3453 * testsuite/libgomp.fortran/pr34020.f90: Likewise.
3454 * testsuite/libgomp.fortran/pr35130.f90: Likewise.
3455 * testsuite/libgomp.fortran/pr42162.f90: Likewise.
3456 * testsuite/libgomp.fortran/pr46753.f90: Likewise.
3457 * testsuite/libgomp.fortran/pr48894.f90: Likewise.
3458 * testsuite/libgomp.fortran/pr49792-1.f90: Likewise.
3459 * testsuite/libgomp.fortran/pr49792-2.f90: Likewise.
3460 * testsuite/libgomp.fortran/pr63938-1.f90: Likewise.
3461 * testsuite/libgomp.fortran/pr63938-2.f90: Likewise.
3462 * testsuite/libgomp.fortran/pr65597.f90: Likewise.
3463 * testsuite/libgomp.fortran/pr66199-1.f90: Likewise.
3464 * testsuite/libgomp.fortran/pr71014.f90: Likewise.
3465 * testsuite/libgomp.fortran/pr81304.f90: Likewise.
3466 * testsuite/libgomp.fortran/pr81841.f90: Likewise.
3467 * testsuite/libgomp.fortran/pr84418-1.f90: Likewise.
3468 * testsuite/libgomp.fortran/pr84418-2.f90: Likewise.
3469 * testsuite/libgomp.fortran/procptr1.f90: Likewise.
3470 * testsuite/libgomp.fortran/recursion1.f90: Likewise.
3471 * testsuite/libgomp.fortran/reduction1.f90: Likewise.
3472 * testsuite/libgomp.fortran/reduction2.f90: Likewise.
3473 * testsuite/libgomp.fortran/reduction3.f90: Likewise.
3474 * testsuite/libgomp.fortran/reduction4.f90: Likewise.
3475 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
3476 * testsuite/libgomp.fortran/reduction6.f90: Likewise.
3477 * testsuite/libgomp.fortran/reference1.f90: Likewise.
3478 * testsuite/libgomp.fortran/reference2.f90: Likewise.
3479 * testsuite/libgomp.fortran/retval1.f90: Likewise.
3480 * testsuite/libgomp.fortran/retval2.f90: Likewise.
3481 * testsuite/libgomp.fortran/sharing1.f90: Likewise.
3482 * testsuite/libgomp.fortran/sharing2.f90: Likewise.
3483 * testsuite/libgomp.fortran/simd1.f90: Likewise.
3484 * testsuite/libgomp.fortran/simd2.f90: Likewise.
3485 * testsuite/libgomp.fortran/simd3.f90: Likewise.
3486 * testsuite/libgomp.fortran/simd4.f90: Likewise.
3487 * testsuite/libgomp.fortran/simd5.f90: Likewise.
3488 * testsuite/libgomp.fortran/simd6.f90: Likewise.
3489 * testsuite/libgomp.fortran/simd7.f90: Likewise.
3490 * testsuite/libgomp.fortran/stack.f90: Likewise.
3491 * testsuite/libgomp.fortran/strassen.f90: Likewise.
3492 * testsuite/libgomp.fortran/tabs1.f90: Likewise.
3493 * testsuite/libgomp.fortran/tabs2.f: Likewise.
3494 * testsuite/libgomp.fortran/target1.f90: Likewise.
3495 * testsuite/libgomp.fortran/target2.f90: Likewise.
3496 * testsuite/libgomp.fortran/target3.f90: Likewise.
3497 * testsuite/libgomp.fortran/target4.f90: Likewise.
3498 * testsuite/libgomp.fortran/target5.f90: Likewise.
3499 * testsuite/libgomp.fortran/target6.f90: Likewise.
3500 * testsuite/libgomp.fortran/target7.f90: Likewise.
3501 * testsuite/libgomp.fortran/target8.f90: Likewise.
3502 * testsuite/libgomp.fortran/task1.f90: Likewise.
3503 * testsuite/libgomp.fortran/task2.f90: Likewise.
3504 * testsuite/libgomp.fortran/task3.f90: Likewise.
3505 * testsuite/libgomp.fortran/task4.f90: Likewise.
3506 * testsuite/libgomp.fortran/taskgroup1.f90: Likewise.
3507 * testsuite/libgomp.fortran/taskloop1.f90: Likewise.
3508 * testsuite/libgomp.fortran/taskloop2.f90: Likewise.
3509 * testsuite/libgomp.fortran/taskloop3.f90: Likewise.
3510 * testsuite/libgomp.fortran/taskloop4.f90: Likewise.
3511 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
3512 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
3513 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
3514 * testsuite/libgomp.fortran/threadprivate4.f90: Likewise.
3515 * testsuite/libgomp.fortran/udr1.f90: Likewise.
3516 * testsuite/libgomp.fortran/udr10.f90: Likewise.
3517 * testsuite/libgomp.fortran/udr11.f90: Likewise.
3518 * testsuite/libgomp.fortran/udr12.f90: Likewise.
3519 * testsuite/libgomp.fortran/udr13.f90: Likewise.
3520 * testsuite/libgomp.fortran/udr14.f90: Likewise.
3521 * testsuite/libgomp.fortran/udr15.f90: Likewise.
3522 * testsuite/libgomp.fortran/udr2.f90: Likewise.
3523 * testsuite/libgomp.fortran/udr3.f90: Likewise.
3524 * testsuite/libgomp.fortran/udr4.f90: Likewise.
3525 * testsuite/libgomp.fortran/udr5.f90: Likewise.
3526 * testsuite/libgomp.fortran/udr6.f90: Likewise.
3527 * testsuite/libgomp.fortran/udr7.f90: Likewise.
3528 * testsuite/libgomp.fortran/udr8.f90: Likewise.
3529 * testsuite/libgomp.fortran/udr9.f90: Likewise.
3530 * testsuite/libgomp.fortran/vla1.f90: Likewise.
3531 * testsuite/libgomp.fortran/vla2.f90: Likewise.
3532 * testsuite/libgomp.fortran/vla3.f90: Likewise.
3533 * testsuite/libgomp.fortran/vla4.f90: Likewise.
3534 * testsuite/libgomp.fortran/vla5.f90: Likewise.
3535 * testsuite/libgomp.fortran/vla6.f90: Likewise.
3536 * testsuite/libgomp.fortran/vla7.f90: Likewise.
3537 * testsuite/libgomp.fortran/vla8.f90: Likewise.
3538 * testsuite/libgomp.fortran/workshare1.f90: Likewise.
3539 * testsuite/libgomp.fortran/workshare2.f90: Likewise.
3540 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
3541 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
3542 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
3543 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
3544 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
3545 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
3546 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
3547 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
3548 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
3549 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: Likewise.
3550 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
3551 * testsuite/libgomp.oacc-fortran/c2.pl: Likewise.
3552 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
3553 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
3554 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
3555 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
3556 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
3557 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
3558 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
3559 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
3560 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
3561 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90: Likewise.
3562 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: Likewise.
3563 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
3564 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
3565 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
3566 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
3567 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
3568 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
3569 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3570 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3571 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3572 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3573 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
3574 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
3575 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
3576 * testsuite/libgomp.oacc-fortran/host_data-1.f90: Likewise.
3577 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
3578 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90: Likewise.
3579 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
3580 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Likewise.
3581 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95: Likewise.
3582 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Likewise.
3583 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Likewise.
3584 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
3585 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
3586 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
3587 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
3588 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
3589 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
3590 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Likewise.
3591 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
3592 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
3593 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
3594 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
3595 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
3596 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
3597 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
3598 * testsuite/libgomp.oacc-fortran/nested-function-1.f90: Likewise.
3599 * testsuite/libgomp.oacc-fortran/nested-function-2.f90: Likewise.
3600 * testsuite/libgomp.oacc-fortran/nested-function-3.f90: Likewise.
3601 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
3602 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
3603 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
3604 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: Likewise.
3605 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
3606 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: Likewise.
3607 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
3608 * testsuite/libgomp.oacc-fortran/pr70643.f90: Likewise.
3609 * testsuite/libgomp.oacc-fortran/pr81352.f90: Likewise.
3610 * testsuite/libgomp.oacc-fortran/pr83920.f90: Likewise.
3611 * testsuite/libgomp.oacc-fortran/pr84028.f90: Likewise.
3612 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
3613 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
3614 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
3615 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
3616 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
3617 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
3618 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
3619 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
3620 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Likewise.
3621 * testsuite/libgomp.oacc-fortran/reduction-8.f90: Likewise.
3622 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
3623 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
3624 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
3625 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
3626 * testsuite/libgomp.oacc-fortran/routine-5.f90: Likewise.
3627 * testsuite/libgomp.oacc-fortran/routine-7.f90: Likewise.
3628 * testsuite/libgomp.oacc-fortran/routine-9.f90: Likewise.
3629 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
3630 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
3631 * testsuite/libgomp.oacc-fortran/update-1.f90: Likewise.
3632
79cf14ae
RB
36332018-03-20 Richard Biener <rguenther@suse.de>
3634
3635 * testsuite/libgomp.graphite/force-parallel-4.c: XFAIL one
3636 parallelizable loop.
3637
14e335ed
IT
36382018-02-19 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3639
3640 PR target/84148
3641 * configure: Regenerate.
3642
83d9be55
JJ
36432018-02-16 Jakub Jelinek <jakub@redhat.com>
3644
3645 PR fortran/84418
3646 * libgomp.fortran/pr84418-1.f90: New test.
3647 * libgomp.fortran/pr84418-2.f90: New test.
3648
d1fe6124
JJ
36492018-02-14 Jakub Jelinek <jakub@redhat.com>
3650
3651 PR fortran/84313
3652 * testsuite/libgomp.fortran/threadprivate4.f90: Add
3653 -std=f2003 -fall-intrinsics into dg-additional-options.
3654
3d224921
MJ
36552018-02-08 Martin Jambor <mjambor@suse.cz>
3656
3657 * testsuite/libgomp.hsa.c/pr82416.c: Make the function with target
3658 clonable.
3659
c7c30edd
MJ
36602018-02-08 Martin Jambor <mjambor@suse.cz>
3661
3662 * testsuite/libgomp.hsa.c/staticvar.c: New test.
3663
f320fdfd
RO
36642018-02-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3665
3666 * testsuite/libgomp.oacc-c-c++-common/pr84217.c (abort)
3667 [__cplusplus]: Declare extern "C".
3668
c31bc4ac
TV
36692018-02-07 Tom de Vries <tom@codesourcery.com>
3670
3671 PR libgomp/84217
3672 * testsuite/libgomp.oacc-c-c++-common/pr84217.c: New test.
3673
99ae7ce5
CS
36742018-01-29 Christoph Spiel <cspiel@freenet.de>
3675 Jakub Jelinek <jakub@redhat.com>
3676
3677 PR libgomp/84096
3678 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t
3679 instead of omp_lock_t.
3680
e77a1236
TV
36812018-01-25 Tom de Vries <tom@codesourcery.com>
3682
3683 PR target/84028
3684 * testsuite/libgomp.oacc-fortran/pr84028.f90: New test.
3685
3dede32b
TV
36862018-01-24 Tom de Vries <tom@codesourcery.com>
3687
3688 PR target/83589
3689 * testsuite/libgomp.oacc-c-c++-common/pr83589.c: New test.
3690
be606483
TV
36912018-01-24 Tom de Vries <tom@codesourcery.com>
3692
3693 PR target/81352
3694 * testsuite/libgomp.oacc-fortran/pr81352.f90: New test.
3695
8c8e9a6b
TV
36962018-01-19 Tom de Vries <tom@codesourcery.com>
3697 Cesar Philippidis <cesar@codesourcery.com>
3698
3699 PR target/83920
3700 * testsuite/libgomp.oacc-c-c++-common/pr83920.c: New test.
3701 * testsuite/libgomp.oacc-fortran/pr83920.f90: New test.
3702
65e6aea3
JJ
37032018-01-03 Jakub Jelinek <jakub@redhat.com>
3704
85ec4feb
JJ
3705 Update copyright years.
3706
65e6aea3
JJ
3707 * libgomp.texi: Bump @copying's copyright year.
3708
60bf575c
TV
37092017-12-30 Tom de Vries <tom@codesourcery.com>
3710
3711 PR libgomp/83046
3712 * testsuite/libgomp.oacc-c-c++-common/pr83046.c: New test.
3713 * testsuite/libgomp.c-c++-common/pr83046.c: New test.
3714
7ec16b79
TV
37152017-12-27 Tom de Vries <tom@codesourcery.com>
3716
3717 PR c++/83046
3718 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c (test_static)
3719 (test_nonstatic): Fix return type to workaround PR83046.
3720
ac550b9a
JJ
37212017-12-05 Jakub Jelinek <jakub@redhat.com>
3722
3723 PR testsuite/83281
3724 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c (main): Use
3725 j suffix instead of i.
3726 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c (main):
3727 Likewise.
3728
ebdc83f0
CP
37292017-12-01 Cesar Philippidis <cesar@codesourcery.com>
3730
3731 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: Add missing
3732 call to acc_wait (1).
3733
3b3e6283
JJ
37342017-11-24 Jakub Jelinek <jakub@redhat.com>
3735
3736 PR fortran/81304
3737 * testsuite/libgomp.fortran/pr81304.f90: New test.
3738
3b575376
JJ
37392017-11-23 Jakub Jelinek <jakub@redhat.com>
3740
3741 PR fortran/81841
3742 * libgomp.fortran/pr81841.f90: New test.
3743
b13547d8
JJ
37442017-11-22 Jakub Jelinek <jakub@redhat.com>
3745
3746 PR libgomp/83106
3747 * target.c (gomp_target_init): Compute lengths just once and
3748 use them in both malloc size and subsequent copying.
3749
efe33ced
IT
37502017-11-17 Igor Tsimbalist <igor.v.tsimbalist@intel.com>
3751
3752 * configure.ac: Set CET_FLAGS, update XCFLAGS and FCFLAGS.
3753 * acinclude.m4: Add cet.m4.
3754 * configure: Regenerate.
3755 * Makefile.in: Likewise.
3756 * testsuite/Makefile.in: Likewise.
3757
a7cf2612
TV
37582017-11-15 Tom de Vries <tom@codesourcery.com>
3759
3760 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-1.c: New test, copied
3761 from asyncwait-1.f90. Rewrite into C. Rewrite from float to int.
3762 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-2.c: New test, copied
3763 from asyncwait-2.f90. Rewrite into C. Rewrite from float to int.
3764 * testsuite/libgomp.oacc-c-c++-common/f-asyncwait-3.c: New test, copied
3765 from asyncwait-3.f90. Rewrite into C. Rewrite from float to int.
3766
dde76623
TV
37672017-11-14 Tom de Vries <tom@codesourcery.com>
3768
3769 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Allow to run for
3770 non-nvidia devices.
3771
4dbeb716
JJ
37722017-11-07 Jakub Jelinek <jakub@redhat.com>
3773
3774 PR c++/82835
3775 * testsuite/libgomp.c++/pr82835.C: New test.
3776
454f8b2b
ML
37772017-11-06 Martin Liska <mliska@suse.cz>
3778
3779 * testsuite/libgomp.c++/loop-2.C: Return a value
3780 for functions with non-void return type, or change type to void,
3781 or add -Wno-return-type for test.
3782 * testsuite/libgomp.c++/loop-4.C: Likewise.
3783 * testsuite/libgomp.c++/parallel-1.C: Likewise.
3784 * testsuite/libgomp.c++/shared-1.C: Likewise.
3785 * testsuite/libgomp.c++/single-1.C: Likewise.
3786 * testsuite/libgomp.c++/single-2.C: Likewise.
3787
12e9c8ce
TV
37882017-10-31 Tom de Vries <tom@codesourcery.com>
3789
3790 * plugin/plugin-hsa.c (HSA_LOG): Remove semicolon after
3791 "do {} while (false)".
3792 (init_single_kernel, GOMP_OFFLOAD_async_run): Add missing semicolon
3793 after HSA_DEBUG call.
3794
7324369a
JJ
37952017-10-28 Jakub Jelinek <jakub@redhat.com>
3796
3797 * target.c (struct gomp_coalesce_buf): New type.
3798 (MAX_COALESCE_BUF_SIZE, MAX_COALESCE_BUF_GAP): Define.
3799 (gomp_coalesce_buf_add, gomp_to_device_kind_p): New functions.
3800 (gomp_copy_host2dev): Add CBUF argument, if copying into
3801 the cached ranges, memcpy into buffer instead of copying
3802 into device.
3803 (gomp_map_vars_existing, gomp_map_pointer, gomp_map_fields_existing):
3804 Add CBUF argument, pass it through to other calls.
3805 (gomp_map_vars): Aggregate copies from host to device if small enough
3806 and with small enough gaps in between into memcpy into a buffer and
3807 fewer host to device copies from the buffer.
3808 (gomp_update): Adjust gomp_copy_host2dev caller.
3809
933ab0e6
TS
38102017-10-17 Thomas Schwinge <thomas@codesourcery.com>
3811
3812 * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do
3813 run" directive.
3814 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
3815 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
3816 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
3817 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
3818
92d5d01a
TV
38192017-10-16 Tom de Vries <tom@codesourcery.com>
3820
3821 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: Don't require
3822 openacc_nvidia_accel_selected.
3823 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Same.
3824 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Same.
3825 * testsuite/libgomp.oacc-fortran/declare-2.f90: Same.
3826 * testsuite/libgomp.oacc-fortran/declare-4.f90: Same
3827 * testsuite/libgomp.oacc-fortran/declare-5.f90: Same.
3828 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Don't require
3829 openacc_nvidia_accel_selected. Skip for shared memory device.
3830 * testsuite/libgomp.oacc-fortran/declare-1.f90: Same.
3831 * testsuite/libgomp.oacc-fortran/declare-3.f90: Same.
3832
191411e4
MJ
38332017-10-09 Martin Jambor <mjambor@suse.cz>
3834
3835 PR hsa/82416
3836 * testsuite/libgomp.hsa.c/pr82416.c: New test.
3837
e923330e
TV
38382017-10-07 Tom de Vries <tom@codesourcery.com>
3839
3840 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate):
3841 Remove acc_device_nvidia references.
3842 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction):
3843 Same.
3844
8fe3ed4c
TV
38452017-10-05 Tom de Vries <tom@codesourcery.com>
3846
3847 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c (main): Remove
3848 vector_length(32) clause from acc parallel directive.
3849 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c (main): Same.
3850
26596ee5
TV
38512017-10-04 Tom de Vries <tom@codesourcery.com>
3852
3853 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
3854 (main): Reduce sum of arr elements. Assert that hres is exactly
3855 representable in 32-bit floating point.
3856 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
3857 (main): Reduce sum of arr elements. Assert that hres and hmres are
3858 exactly representable in 32-bit floating point.
3859 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
3860
5c561fa9
TV
38612017-09-28 Tom de Vries <tom@codesourcery.com>
3862
3863 * testsuite/libgomp.c++/for-12.C: Remove superfluous -fopenmp option
3864 setting.
3865 * testsuite/libgomp.c++/pr69393.C: Same.
3866 * testsuite/libgomp.c++/taskloop-1.C: Same.
3867 * testsuite/libgomp.c++/taskloop-3.C: Same.
3868 * testsuite/libgomp.c++/taskloop-4.C: Same.
3869 * testsuite/libgomp.c/for-4.c: Same.
3870 * testsuite/libgomp.c/pr66199-3.c: Same.
3871 * testsuite/libgomp.c/pr66199-4.c: Same.
3872 * testsuite/libgomp.c/pr66199-6.c: Same.
3873 * testsuite/libgomp.c/taskloop-1.c: Same.
3874 * testsuite/libgomp.c/taskloop-3.c: Same.
3875 * testsuite/libgomp.c/taskloop-4.c: Same.
3876 * testsuite/libgomp.fortran/aligned1.f03: Same.
3877 * testsuite/libgomp.fortran/condinc1.f: Same.
3878 * testsuite/libgomp.fortran/condinc3.f90: Same.
3879 * testsuite/libgomp.fortran/crayptr1.f90: Same.
3880 * testsuite/libgomp.fortran/crayptr2.f90: Same.
3881 * testsuite/libgomp.fortran/crayptr3.f90: Same.
3882 * testsuite/libgomp.fortran/omp_cond1.f: Same.
3883 * testsuite/libgomp.fortran/omp_cond3.F90: Same.
3884 * testsuite/libgomp.fortran/pr66199-1.f90: Same.
3885 * testsuite/libgomp.fortran/pr66199-2.f90: Same.
3886 * testsuite/libgomp.fortran/recursion1.f90: Same.
3887 * testsuite/libgomp.fortran/target2.f90: Same.
3888 * testsuite/libgomp.fortran/target5.f90: Same.
3889 * testsuite/libgomp.fortran/task3.f90: Same.
3890
7d6206fe
TV
38912017-09-28 Tom de Vries <tom@codesourcery.com>
3892
3893 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c (main): Remove
3894 vector_length(32) clause from acc parallel directive.
3895 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c (main): Same.
3896
84c8627c
TV
38972017-09-27 Tom de Vries <tom@codesourcery.com>
3898
3899 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c (main):
3900 Remove acc_device_nvidia references.
3901
ebc6a85e
TV
39022017-09-16 Tom de Vries <tom@codesourcery.com>
3903
3904 PR c/81875
3905 * testsuite/libgomp.c-c++-common/pr81875.c: New test.
3906
82419efb
TV
39072017-09-14 Tom de Vries <tom@codesourcery.com>
3908
3909 * testsuite/libgomp.c++/cancel-taskgroup-1.C: Remove.
3910 * testsuite/libgomp.c/cancel-taskgroup-1.c: Move to ...
3911 * testsuite/libgomp.c-c++-common/cancel-taskgroup-1.c: ... here.
3912 * testsuite/libgomp.c/c.exp: Include test-cases from
3913 libgomp.c-c++-common.
3914 * testsuite/libgomp.c++/c++.exp: Same. Force c++-mode compilation of .c
3915 files.
3916
8b586510
JJ
39172017-09-14 Jakub Jelinek <jakub@redhat.com>
3918
3919 PR c++/81314
3920 * testsuite/libgomp.c++/pr81314.C: New test.
3921
9651fbaf
GP
39222017-09-03 Gerald Pfeifer <gerald@pfeifer.com>
3923
3924 * libgomp.texi (Top): www.openacc.org now uses https.
3925 (Enabling OpenACC): Ditto.
3926 (acc_get_num_devices): Ditto.
3927 (acc_set_device_type): Ditto.
3928 (acc_get_device_type): Ditto.
3929 (acc_set_device_num): Ditto.
3930 (acc_get_device_num): Ditto.
3931 (acc_async_test): Ditto.
3932 (acc_async_test_all): Ditto.
3933 (acc_wait): Ditto.
3934 (acc_wait_all): Ditto.
3935 (acc_wait_all_async): Ditto.
3936 (acc_wait_async): Ditto.
3937 (acc_init): Ditto.
3938 (acc_shutdown): Ditto.
3939 (acc_on_device): Ditto.
3940 (acc_malloc): Ditto.
3941 (acc_free): Ditto.
3942 (acc_copyin): Ditto.
3943 (acc_present_or_copyin): Ditto.
3944 (acc_create): Ditto.
3945 (acc_present_or_create): Ditto.
3946 (acc_copyout): Ditto.
3947 (acc_delete): Ditto.
3948 (acc_update_device): Ditto.
3949 (acc_update_self): Ditto.
3950 (acc_map_data): Ditto.
3951 (acc_unmap_data): Ditto.
3952 (acc_deviceptr): Ditto.
3953 (acc_hostptr): Ditto.
3954 (acc_is_present): Ditto.
3955 (acc_memcpy_to_device): Ditto.
3956 (acc_memcpy_from_device): Ditto.
3957 (acc_get_current_cuda_device): Ditto.
3958 (acc_get_current_cuda_context): Ditto.
3959 (acc_get_cuda_stream): Ditto.
3960 (acc_set_cuda_stream): Ditto.
3961 (ACC_DEVICE_TYPE): Ditto.
3962 (ACC_DEVICE_NUM): Ditto.
3963 (OpenACC Library Interoperability): Ditto.
3964
50aa16c3
JJ
39652017-08-09 Jakub Jelinek <jakub@redhat.com>
3966
3967 PR c/81687
3968 * testsuite/libgomp.c/pr81687-1.c: New test.
3969 * testsuite/libgomp.c/pr81687-2.c: New test.
3970
56b5041c
JJ
39712017-08-07 Jakub Jelinek <jakub@redhat.com>
3972
3973 PR c/69389
3974 * testsuite/libgomp.c/pr69389.c: New test.
3975 * testsuite/libgomp.c++/pr69389.C: New test.
3976
f4c222c0
TV
39772017-08-07 Tom de Vries <tom@codesourcery.com>
3978
3979 PR middle-end/78266
3980 * testsuite/libgomp.oacc-c-c++-common/vprop-2.c: New test.
3981 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove xfail.
3982
a40ff0ae
JJ
39832017-07-27 Jakub Jelinek <jakub@redhat.com>
3984
3985 PR c/45784
3986 * testsuite/libgomp.c/pr45784.c: New test.
3987 * testsuite/libgomp.c++/pr45784.C: New test.
3988
3717fbe3
TV
39892017-07-19 Tom de Vries <tom@codesourcery.com>
3990
3991 * testsuite/libgomp.oacc-c/vec.c: New test.
3992
9607b014
TV
39932017-07-03 Tom de Vries <tom@codesourcery.com>
3994
3995 * plugin/plugin-hsa.c: Fix secure_getenv.h include.
3996
dfb15f6b
TV
39972017-06-27 Tom de Vries <tom@codesourcery.com>
3998
3999 * plugin/plugin-nvptx.c (notify_var): New function.
4000 (nvptx_exec): Use notify_var for GOMP_OPENACC_DIM.
4001
22f1a037
TV
40022017-06-27 Tom de Vries <tom@codesourcery.com>
4003
4004 * env.c (parse_unsigned_long_1): Factor out of ...
4005 (parse_unsigned_long): ... here.
4006 (parse_int_1): Factor out of ...
4007 (parse_int): ... here.
4008 (parse_int_secure): New function.
4009 (initialize_env): Use parse_int_secure for GOMP_DEBUG.
4010 * secure_getenv.h: Factor out of ...
4011 * plugin/plugin-hsa.c: ... here.
4012 * testsuite/libgomp.oacc-c-c++-common/gomp-debug-env.c: New test.
4013
d54d1fc3
JJ
40142017-06-21 Jakub Jelinek <jakub@redhat.com>
4015
4016 PR c++/81130
4017 * testsuite/libgomp.c++/pr81130.C: New test.
4018
4f4b0ab8
RO
40192017-06-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4020
4021 * testsuite/libgomp.fortran/strassen.f90: Remove dg-skip-if
4022 default args.
4023 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Remove
4024 dg-xfail-run-if default args.
4025
40ffd95f
BE
40262017-06-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
4027
4028 * testsuite/libgomp.c/pr39591-2.c: Fix test case.
4029 * testsuite/libgomp.c/pr39591-3.c: Likewise.
4030
01275e1e
JJ
40312017-05-30 Jakub Jelinek <jakub@redhat.com>
4032
4033 PR libgomp/80822
4034 * config/linux/affinity.c (gomp_affinity_init_level_1): New function.
4035 (gomp_affinity_init_level): Use it. Always analyze the core and thread
4036 sibling lists, depending on level just pick up what CPUs to put
4037 together into a place vs. whether add multiple ordered places.
4038
78672bd8
TS
40392017-05-24 Thomas Schwinge <thomas@codesourcery.com>
4040
7ce64403
TS
4041 * openacc.h (acc_async_wait, acc_async_wait_all): New prototypes.
4042 * libgomp.map (OACC_2.0.1): Add these.
4043 * oacc-async.c (acc_async_wait, acc_async_wait_all): New aliases
4044 for "acc_wait", and "acc_wait_all", respectively.
4045 * openacc.f90 (acc_async_wait, acc_async_wait_all): New interfaces
4046 for "acc_wait", and "acc_wait_all", respectively.
4047 * openacc_lib.h (acc_async_wait, acc_async_wait_all): Likewise.
4048 * libgomp.texi (acc_wait, acc_wait_all): Update.
4049 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Update.
4050 * testsuite/libgomp.oacc-fortran/par-reduction-2-1.f: New file.
4051 * testsuite/libgomp.oacc-fortran/par-reduction-2-2.f: Likewise.
4052
318686c2
TS
4053 * openacc_lib.h (acc_pcopyin, acc_pcreate): Route to
4054 acc_present_or_copyin and acc_present_or_create procedures,
4055 respectively.
4056 * testsuite/libgomp.oacc-fortran/lib-32-1.f: Exercise these, and
4057 generally different variants of OpenACC Runtime Library functions.
4058 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4059
a6745534
TS
4060 * testsuite/libgomp.oacc-fortran/lib-32-1.f: New file.
4061 * testsuite/libgomp.oacc-fortran/lib-32-2.f: Likewise.
4062
9b94fbc7
TS
4063 * openacc.h (acc_pcopyin, acc_pcreate): Provide prototypes instead
4064 of preprocessor definitions.
4065 * libgomp.h (strong_alias): Guard by "#ifdef
4066 HAVE_ATTRIBUTE_ALIAS".
4067 * oacc-mem.c: Provide "acc_pcreate" as alias for
4068 "acc_present_or_create", and "acc_pcopyin" as alias for
4069 "acc_present_or_copyin".
4070 * libgomp.map: New version "OACC_2.0.1".
4071 (OACC_2.0.1): Add "acc_pcopyin", and "acc_pcreate".
4072 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Remove, merging
4073 its content into...
4074 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: ... this file.
4075 Extend testing.
4076
78672bd8
TS
4077 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Debugging output
4078 when disabling nvptx offloading.
4079
0c36d0d5
TS
40802017-05-23 Thomas Schwinge <thomas@codesourcery.com>
4081
fd71a9a2
TS
4082 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Update.
4083 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
4084 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Likewise.
4085
0c36d0d5
TS
4086 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Rewrite.
4087 * testsuite/lib/libgomp.exp
4088 (check_effective_target_openacc_nvidia_accel_configured): New
4089 proc.
4090 * testsuite/libgomp.oacc-c++/c++.exp (check_effective_target_c)
4091 (check_effective_target_c++): New procs.
4092 * testsuite/libgomp.oacc-c/c.exp (check_effective_target_c)
4093 (check_effective_target_c++): Likewise.
4094
c24783c4
JJ
40952017-05-22 Jakub Jelinek <jakub@redhat.com>
4096
655e5265
JJ
4097 PR middle-end/80809
4098 * testsuite/libgomp.c/pr80809-2.c: New test.
4099 * testsuite/libgomp.c/pr80809-3.c: New test.
4100
e9e2ef9f
JJ
4101 PR middle-end/80809
4102 * testsuite/libgomp.c/pr80809-1.c: New test.
4103
c24783c4
JJ
4104 PR middle-end/80853
4105 * testsuite/libgomp.c/pr80853.c: New test.
4106
0da2f96a
TS
41072017-05-19 Thomas Schwinge <thomas@codesourcery.com>
4108
7fd549d2
TS
4109 * testsuite/libgomp.oacc-c++/template-reduction.C: Update.
4110 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Update.
4111 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
4112 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
4113 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Likewise.
4114
0da2f96a
TS
4115 * plugin/plugin-hsa.c (DLSYM_FN, init_hsa_runtime_functions):
4116 Debug output for failure.
4117
62ffe920
RO
41182017-05-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4119
4120 * testsuite/lib/libgomp.exp: Load scanlang.exp.
4121
f49215b1
JJ
41222017-04-27 Jakub Jelinek <jakub@redhat.com>
4123
4124 PR bootstrap/80531
4125 * configure.tgt (*-*-aix*): Add -frandom-seed=$@ to XCFLAGS to avoid
4126 bootstrap compare failures.
4127
2260d19d
AM
41282017-04-20 Alexander Monakov <amonakov@ispras.ru>
4129
4130 * testsuite/libgomp.c/target-36.c: New testcase.
4131
19929ba9
JJ
41322017-04-13 Jakub Jelinek <jakub@redhat.com>
4133
4134 * plugin/plugin-nvptx.c (cuda_lib_inited): Use signed char type
4135 instead of char.
4136
fbc698e0
JJ
41372017-04-11 Jakub Jelinek <jakub@redhat.com>
4138
4139 PR libgomp/80394
4140 * testsuite/libgomp.c/pr80394.c: New test.
4141
c4060df4
JJ
41422017-04-04 Jakub Jelinek <jakub@redhat.com>
4143
4144 PR libgomp/79876
4145 * config/posix/thread-stacksize.h: New file.
4146 * config/darwin/thread-stacksize.h: New file.
4147 * config/nvptx/thread-stacksize.h: New file.
4148 * env.c: Include thread-stacksize.h.
4149 (initialize_env): Initialize stacksize to GOMP_DEFAULT_STACKSIZE
4150 instead of 0. Call pthread_attr_setstacksize even if
4151 GOMP_DEFAULT_STACKSIZE is non-zero.
4152
e02d868a
JJ
41532017-03-30 Jakub Jelinek <jakub@redhat.com>
4154
4155 * env.c (initialize_env): Initialize stacksize to 0.
4156
7ba8651e
CP
41572017-03-22 Cesar Philippidis <cesar@codesourcery.com>
4158
4159 PR c++/80029
4160 * testsuite/libgomp.oacc-c-c++-common/declare-vla.c: New test.
4161
eebc5e2d
JJ
41622017-03-08 Jakub Jelinek <jakub@redhat.com>
4163
4164 PR c/79940
4165 * testsuite/libgomp.c/pr79940.c: New test.
4166
1eb08f52
RO
41672017-02-15 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4168
4169 * testsuite/libgomp.c/pr48591.c: Enable on all __float128
4170 targets.
4171 Add __float128 options.
4172
b0f78ff3
JDA
41732017-02-11 John David Anglin <danglin@gcc.gnu.org>
4174
4175 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Remove
4176 hppa*-*-* dg-skip-if directive.
4177
1bbe0d8f
JJ
41782017-02-09 Jakub Jelinek <jakub@redhat.com>
4179
4180 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Move
4181 dg-skip-if directive into a comment.
4182
02889d23
CLT
41832017-02-09 Nathan Sidwell <nathan@codesourcery.com>
4184 Chung-Lin Tang <cltang@codesourcery.com>
4185
4186 * testsuite/libgomp.oacc-c-c++-common/tile-1.c: New.
4187 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust and
4188 add additional case.
4189 * testsuite/libgomp.oacc-c-c++-common/vprop.c: XFAIL under
4190 "openacc_nvidia_accel_selected".
4191 * libgomp.oacc-fortran/nested-function-1.f90 (test2):
4192 Add num_workers(8) clause.
4193
5896a41d
JDA
41942017-02-08 John David Anglin <danglin@gcc.gnu.org>
4195
4196 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: Skip on
4197 hppa*-*-*.
4198 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Don't
4199 include complex.h on hppa*-*-hpux*.
4200 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4201
345a8c17
TS
42022017-02-02 Thomas Schwinge <thomas@codesourcery.com>
4203
e70ab10d
TS
4204 * plugin/plugin-nvptx.c (nvptx_exec): Make it static.
4205
345a8c17
TS
4206 * libgomp-plugin.h (GOMP_OFFLOAD_openacc_parallel): Rename to
4207 GOMP_OFFLOAD_openacc_exec. Adjust all users.
4208 (GOMP_OFFLOAD_openacc_get_current_cuda_device): Rename to
4209 GOMP_OFFLOAD_openacc_cuda_get_current_device. Adjust all users.
4210 (GOMP_OFFLOAD_openacc_get_current_cuda_context): Rename to
4211 GOMP_OFFLOAD_openacc_cuda_get_current_context. Adjust all users.
4212 (GOMP_OFFLOAD_openacc_get_cuda_stream): Rename to
4213 GOMP_OFFLOAD_openacc_cuda_get_stream. Adjust all users.
4214 (GOMP_OFFLOAD_openacc_set_cuda_stream): Rename to
4215 GOMP_OFFLOAD_openacc_cuda_set_stream. Adjust all users.
4216
dced339c
TS
42172017-01-31 Thomas Schwinge <thomas@codesourcery.com>
4218
4219 * libgomp-plugin.h: #include <stdbool.h>.
4220 (GOMP_OFFLOAD_get_name, GOMP_OFFLOAD_get_caps)
4221 (GOMP_OFFLOAD_get_type, GOMP_OFFLOAD_get_num_devices)
4222 (GOMP_OFFLOAD_init_device, GOMP_OFFLOAD_fini_device)
4223 (GOMP_OFFLOAD_version, GOMP_OFFLOAD_load_image)
4224 (GOMP_OFFLOAD_unload_image, GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free)
4225 (GOMP_OFFLOAD_dev2host, GOMP_OFFLOAD_host2dev)
4226 (GOMP_OFFLOAD_dev2dev, GOMP_OFFLOAD_can_run, GOMP_OFFLOAD_run)
4227 (GOMP_OFFLOAD_async_run, GOMP_OFFLOAD_openacc_parallel)
4228 (GOMP_OFFLOAD_openacc_register_async_cleanup)
4229 (GOMP_OFFLOAD_openacc_async_test)
4230 (GOMP_OFFLOAD_openacc_async_test_all)
4231 (GOMP_OFFLOAD_openacc_async_wait)
4232 (GOMP_OFFLOAD_openacc_async_wait_async)
4233 (GOMP_OFFLOAD_openacc_async_wait_all)
4234 (GOMP_OFFLOAD_openacc_async_wait_all_async)
4235 (GOMP_OFFLOAD_openacc_async_set_async)
4236 (GOMP_OFFLOAD_openacc_create_thread_data)
4237 (GOMP_OFFLOAD_openacc_destroy_thread_data)
4238 (GOMP_OFFLOAD_openacc_get_current_cuda_device)
4239 (GOMP_OFFLOAD_openacc_get_current_cuda_context)
4240 (GOMP_OFFLOAD_openacc_get_cuda_stream)
4241 (GOMP_OFFLOAD_openacc_set_cuda_stream): New prototypes.
4242 * libgomp.h (struct acc_dispatch_t, struct gomp_device_descr): Use
4243 these.
4244 * plugin/plugin-hsa.c (GOMP_OFFLOAD_load_image)
4245 (GOMP_OFFLOAD_unload_image): Fix argument types.
4246
23749904
JJ
42472017-01-26 Jakub Jelinek <jakub@redhat.com>
4248
c1cadde1
JJ
4249 * testsuite/lib/libgomp.exp
4250 (check_effective_target_hsa_offloading_selected_nocache): Fix up
4251 check_compile invocation. Fix up removal of executable. Drop
4252 bogus "2>&1" argument.
4253
23749904
JJ
4254 * testsuite/libgomp.fortran/declare-simd-4.f90: Add cleanup-modules
4255 directive.
4256
42572017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
5fd1486c
PJ
4258 Martin Jambor <mjambor@suse.cz>
4259
4260 * plugin/hsa.h: Moved to top level include.
4261 * plugin/plugin-hsa.c: Chanfgd include of hsa.h accordingly.
4262
73aa401e
JJ
42632017-01-21 Jakub Jelinek <jakub@redhat.com>
4264
4265 PR other/79046
4266 * testsuite/Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead
4267 of cat to get version from BASE-VER file.
4268 * testsuite/Makefile.in: Regenerated.
4269
b32e85fa
JJ
42702017-01-19 Jakub Jelinek <jakub@redhat.com>
4271
4272 * plugin/cuda/cuda.h (CUdeviceptr): Typedef to unsigned long long even
4273 for _WIN64.
4274
3c36aa6b
JJ
42752017-01-17 Jakub Jelinek <jakub@redhat.com>
4276
d190d5c0
JJ
4277 * plugin/hsa.h: Add GCC runtime library exception.
4278 * plugin/hsa_ext_finalize.h: Likewise.
4279
2393d337
JJ
4280 * plugin/configfrag.ac: For --without-cuda-driver don't initialize
4281 CUDA_DRIVER_INCLUDE nor CUDA_DRIVER_LIB. If both
4282 CUDA_DRIVER_INCLUDE and CUDA_DRIVER_LIB are empty and linking small
4283 cuda program fails, define PLUGIN_NVPTX_DYNAMIC to 1 and use
4284 plugin/include/cuda as include dir and -ldl instead of -lcuda as
4285 library to link ptx plugin against.
4286 * plugin/plugin-nvptx.c: Include dlfcn.h if PLUGIN_NVPTX_DYNAMIC.
4287 (CUDA_CALLS): Define.
4288 (cuda_lib, cuda_lib_inited): New variables.
4289 (init_cuda_lib): New function.
4290 (CUDA_CALL_PREFIX): Define.
4291 (CUDA_CALL_ERET, CUDA_CALL_ASSERT): Use CUDA_CALL_PREFIX.
4292 (CUDA_CALL): Use FN instead of (FN).
4293 (CUDA_CALL_NOCHECK): Define.
4294 (cuda_error, fini_streams_for_device, select_stream_for_async,
4295 nvptx_attach_host_thread_to_device, nvptx_open_device, link_ptx,
4296 event_gc, nvptx_exec, nvptx_async_test, nvptx_async_test_all,
4297 nvptx_wait_all, nvptx_set_clocktick, GOMP_OFFLOAD_unload_image,
4298 nvptx_stacks_alloc, nvptx_stacks_free, GOMP_OFFLOAD_run): Use
4299 CUDA_CALL_NOCHECK.
4300 (nvptx_init): Call init_cuda_lib, if it fails, return false. Use
4301 CUDA_CALL_NOCHECK.
4302 (nvptx_get_num_devices): Call init_cuda_lib, if it fails, return 0.
4303 Use CUDA_CALL_NOCHECK.
4304 * plugin/cuda/cuda.h: New file.
4305 * config.h.in: Regenerated.
4306 * configure: Regenerated.
4307
3c36aa6b
JJ
4308 PR other/79046
4309 * configure.ac: Add GCC_BASE_VER.
4310 * Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
4311 get version from BASE-VER file.
4312 * testsuite/Makefile.in: Regenerated.
4313 * configure: Regenerated.
4314 * Makefile.in: Regenerated.
4315
c508bc2d
FXC
43162017-01-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4317
4318 PR libgomp/60670
4319 * Makefile.am: Make fincludedir multilib-aware.
4320 * Makefile.in: Regenerate.
4321
c1a9c369
JJ
43222017-01-01 Jakub Jelinek <jakub@redhat.com>
4323
cbe34bb5
JJ
4324 Update copyright years.
4325
c1a9c369
JJ
4326 * libgomp.texi: Bump @copying's copyright year.
4327
e7a7f4be
SH
43282016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4329
4330 * libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
4331 pthread_spinlock_t instead of gomp_mutex_t lock.
4332 (gomp_get_thread_pool): Likewise.
4333 (gomp_release_thread_pool): Likewise.
4334 * libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
4335 Likewise.
4336
d313d52c
SH
43372016-12-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
4338
4339 * config/rtems/pool.h (gomp_get_thread_pool): Return proper
4340 thread pool in case nthreads == 1.
4341
630e3c3a
AM
43422016-11-30 Alexander Monakov <amonakov@ispras.ru>
4343
4344 * config/nvptx/env.c: Delete.
4345 * icv.c: Move definitions of ICV variables back ...
4346 * env.c: ...here. Do not compile environment-related functionality if
4347 LIBGOMP_OFFLOADED_ONLY is set.
4348
9e38af5c
AM
43492016-11-30 Alexander Monakov <amonakov@ispras.ru>
4350
4351 * configure.ac [nvptx*-*-*] (libgomp_offloaded_only): Set and use it...
4352 (LIBGOMP_OFFLOADED_ONLY): ...here; new define.
4353 * configure: Regenerate.
4354 * config.h.in: Likewise.
4355
f96b7f1f
AM
43562016-11-30 Alexander Monakov <amonakov@ispras.ru>
4357
4358 * Makefile.in: Regenerate with automake-1.11.6.
4359 * aclocal.m4: Likewise.
4360 * configure: Likewise.
4361 * testsuite/Makefile.in: Likewise.
4362
6a6951b1
AM
43632016-11-28 Alexander Monakov <amonakov@ispras.ru>
4364
4365 * config/nvptx/critical.c: Delete to use generic implementation.
4366
c7ac071f
JH
43672016-11-28 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
4368
4369 * config/linux/affinity.c [!HAVE_PTHREAD_AFFINITY_NP]: Include
4370 ../../affinity.c as fallback.
4371 * config/nvptx/affinity.c: Delete to use fallback implementation.
4372
6103184e 43732016-11-23 Alexander Monakov <amonakov@ispras.ru>
92a285c1 4374 Jakub Jelinek <jakub@redhat.com>
6103184e
AM
4375 Dmitry Melnik <dm@ispras.ru>
4376
4377 * Makefile.am (libgomp_la_SOURCES): Add atomic.c, icv.c, icv-device.c.
4378 * Makefile.in. Regenerate.
4379 * configure.ac [nvptx*-*-*] (libgomp_use_pthreads): Set and use it...
4380 (LIBGOMP_USE_PTHREADS): ...here; new define.
4381 * configure: Regenerate.
4382 * config.h.in: Likewise.
4383 * config/posix/affinity.c: Move to...
4384 * affinity.c: ...here (new file). Guard use of Pthreads-specific
4385 interface by LIBGOMP_USE_PTHREADS.
4386 * critical.c: Split out GOMP_atomic_{start,end} into...
4387 * atomic.c: ...here (new file).
4388 * env.c: Split out ICV definitions into...
4389 * icv.c: ...here (new file) and...
4390 * icv-device.c: ...here. New file.
4391 * config/linux/lock.c (gomp_init_lock_30): Move to generic lock.c.
4392 (gomp_destroy_lock_30): Ditto.
4393 (gomp_set_lock_30): Ditto.
4394 (gomp_unset_lock_30): Ditto.
4395 (gomp_test_lock_30): Ditto.
4396 (gomp_init_nest_lock_30): Ditto.
4397 (gomp_destroy_nest_lock_30): Ditto.
4398 (gomp_set_nest_lock_30): Ditto.
4399 (gomp_unset_nest_lock_30): Ditto.
4400 (gomp_test_nest_lock_30): Ditto.
4401 * lock.c: New.
4402 * config/nvptx/lock.c: New.
4403 * config/nvptx/bar.c: New.
4404 * config/nvptx/bar.h: New.
4405 * config/nvptx/doacross.h: New.
4406 * config/nvptx/error.c: New.
4407 * config/nvptx/icv-device.c: New.
4408 * config/nvptx/mutex.h: New.
4409 * config/nvptx/pool.h: New.
4410 * config/nvptx/proc.c: New.
4411 * config/nvptx/ptrlock.h: New.
4412 * config/nvptx/sem.h: New.
4413 * config/nvptx/simple-bar.h: New.
4414 * config/nvptx/target.c: New.
4415 * config/nvptx/task.c: New.
4416 * config/nvptx/team.c: New.
4417 * config/nvptx/time.c: New.
4418 * config/posix/simple-bar.h: New.
4419 * libgomp.h: Guard pthread.h inclusion. Include simple-bar.h.
4420 (gomp_num_teams_var): Declare.
4421 (struct gomp_thread_pool): Change threads_dock member to
4422 gomp_simple_barrier_t.
4423 [__nvptx__] (gomp_thread): New implementation.
4424 (gomp_thread_attr): Guard by LIBGOMP_USE_PTHREADS.
4425 (gomp_thread_destructor): Ditto.
4426 (gomp_init_thread_affinity): Ditto.
4427 * team.c: Guard uses of Pthreads-specific interfaces by
4428 LIBGOMP_USE_PTHREADS. Adjust all uses of threads_dock.
4429 (gomp_free_thread) [__nvptx__]: Do not call 'free'.
4430 * config/nvptx/alloc.c: Delete.
4431 * config/nvptx/barrier.c: Ditto.
4432 * config/nvptx/fortran.c: Ditto.
4433 * config/nvptx/iter.c: Ditto.
4434 * config/nvptx/iter_ull.c: Ditto.
4435 * config/nvptx/loop.c: Ditto.
4436 * config/nvptx/loop_ull.c: Ditto.
4437 * config/nvptx/ordered.c: Ditto.
4438 * config/nvptx/parallel.c: Ditto.
4439 * config/nvptx/priority_queue.c: Ditto.
4440 * config/nvptx/sections.c: Ditto.
4441 * config/nvptx/single.c: Ditto.
4442 * config/nvptx/splay-tree.c: Ditto.
4443 * config/nvptx/work.c: Ditto.
4444 * testsuite/libgomp.fortran/fortran.exp (lang_link_flags): Pass
4445 -foffload=-lgfortran in addition to -lgfortran.
4446 * testsuite/libgomp.oacc-fortran/fortran.exp (lang_link_flags): Ditto.
4447 * plugin/plugin-nvptx.c: Include <limits.h>.
4448 (struct targ_fn_descriptor): Add new fields.
4449 (struct ptx_device): Ditto. Set them...
4450 (nvptx_open_device): ...here.
4451 (nvptx_adjust_launch_bounds): New.
4452 (nvptx_host2dev): Allow NULL 'nvthd'.
4453 (nvptx_dev2host): Ditto.
4454 (GOMP_OFFLOAD_get_caps): Add GOMP_OFFLOAD_CAP_OPENMP_400.
4455 (link_ptx): Adjust log sizes.
4456 (nvptx_host2dev): Allow NULL 'nvthd'.
4457 (nvptx_dev2host): Ditto.
4458 (nvptx_set_clocktick): New. Use it...
4459 (GOMP_OFFLOAD_load_image): ...here. Set new targ_fn_descriptor
4460 fields.
4461 (GOMP_OFFLOAD_dev2dev): New.
4462 (nvptx_adjust_launch_bounds): New.
4463 (nvptx_stacks_size): New.
4464 (nvptx_stacks_alloc): New.
4465 (nvptx_stacks_free): New.
4466 (GOMP_OFFLOAD_run): New.
4467 (GOMP_OFFLOAD_async_run): New (stub).
4468
56b1c60e
MJ
44692016-11-23 Martin Jambor <mjambor@suse.cz>
4470
4471 * testsuite/libgomp.hsa.c/bits-insns.c: New test.
4472 * testsuite/libgomp.hsa.c/tiling-1.c: Likewise.
4473 * testsuite/libgomp.hsa.c/tiling-2.c: Likewise.
4474
b8d89b03 44752016-11-23 Martin Liska <mliska@suse.cz>
92a285c1 4476 Martin Jambor <mjambor@suse.cz>
b8d89b03
ML
4477
4478 * plugin/hsa.h: New file.
4479 * plugin/hsa_ext_finalize.h: New file.
4480 * plugin/configfrag.ac: Remove hsa-kmt-lib test. Added checks for
4481 header file unistd.h, and functions secure_getenv, __secure_getenv,
4482 getuid, geteuid, getgid and getegid.
4483 * plugin/Makefrag.am (libgomp_plugin_hsa_la_CPPFLAGS): Added
4484 -D_GNU_SOURCE.
4485 * plugin/plugin-hsa.c: Include config.h, inttypes.h and stdbool.h.
4486 Handle various cases of secure_getenv presence, add an implementation
4487 when we can test effective UID and GID.
4488 (struct hsa_runtime_fn_info): New structure.
4489 (hsa_runtime_fn_info hsa_fns): New variable.
4490 (hsa_runtime_lib): Likewise.
4491 (support_cpu_devices): Likewise.
4492 (init_enviroment_variables): Load newly introduced ENV
4493 variables.
4494 (hsa_warn): Call hsa run-time functions via hsa_fns structure.
4495 (hsa_fatal): Likewise.
4496 (DLSYM_FN): New macro.
4497 (init_hsa_runtime_functions): New function.
4498 (suitable_hsa_agent_p): Call hsa run-time functions via hsa_fns
4499 structure. Depending on environment, also allow CPU devices.
4500 (init_hsa_context): Call hsa run-time functions via hsa_fns structure.
4501 (get_kernarg_memory_region): Likewise.
4502 (GOMP_OFFLOAD_init_device): Likewise.
4503 (destroy_hsa_program): Likewise.
4504 (init_basic_kernel_info): New function.
4505 (GOMP_OFFLOAD_load_image): Use it.
4506 (create_and_finalize_hsa_program): Call hsa run-time functions via
4507 hsa_fns structure.
4508 (create_single_kernel_dispatch): Likewise.
4509 (release_kernel_dispatch): Likewise.
4510 (init_single_kernel): Likewise.
4511 (parse_target_attributes): Allow up multiple HSA grid dimensions.
4512 (get_group_size): New function.
4513 (run_kernel): Likewise.
4514 (GOMP_OFFLOAD_run): Outline most functionality to run_kernel.
4515 (GOMP_OFFLOAD_fini_device): Call hsa run-time functions via hsa_fns
4516 structure.
4517 * testsuite/lib/libgomp.exp: Remove hsa_kmt_lib support.
4518 * testsuite/libgomp-test-support.exp.in: Likewise.
4519 * Makefile.in: Regenerated.
4520 * aclocal.m4: Likewise.
4521 * config.h.in: Likewise.
4522 * configure: Likewise.
4523 * testsuite/Makefile.in: Likewise.
4524
18d2ada8 45252016-11-15 Martin Jambor <mjambor@suse.cz>
92a285c1 4526 Alexander Monakov <amonakov@ispras.ru>
18d2ada8
MJ
4527
4528 * testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
4529 mapping clauses to target constructs.
4530 * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
4531
84c1b9d3
MK
45322016-11-15 Matthias Klose <doko@ubuntu.com>
4533
4534 * configure: Regenerate.
4535
b4c3a85b
JJ
45362016-11-10 Jakub Jelinek <jakub@redhat.com>
4537
8ebd1b31
JJ
4538 * omp_lib.f90.in (openmp_version): Change to 201511 from 201307.
4539 * omp_lib.h.in (openmp_version): Likewise.
4540 * testsuite/libgomp.fortran/openmp_version-1.f: Expect 201511 instead
4541 of 201307.
4542 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
4543
b4c3a85b
JJ
4544 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90
4545 (fib_wrapper): Add map(from: x) clause.
4546 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90
4547 (e_53_2): Likewise.
4548 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90
4549 (accum): Add map(tmp) clause.
4550 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90
4551 (accum): Add map(tofrom: tmp) clause.
4552 * testsuite/libgomp.fortran/examples-4/target_data-3.f90
4553 (gramSchmidt): Likewise.
4554 * testsuite/libgomp.fortran/examples-4/teams-2.f90 (dotprod): Add
4555 map(tofrom: sum) clause.
4556 * testsuite/libgomp.fortran/nestedfn5.f90 (foo): Add twice
4557 map (alloc: a, l) clause. Add defaultmap(tofrom: scalar) clause.
4558 * testsuite/libgomp.fortran/pr66199-2.f90: Adjust for linear clause
4559 only allowed on the loop iterator.
4560 * testsuite/libgomp.fortran/target4.f90 (foo): Add map(t) clause.
4561 * testsuite/libgomp.fortran/taskloop2.f90: New test.
4562 * testsuite/libgomp.fortran/taskloop4.f90: New test.
4563 * testsuite/libgomp.fortran/doacross1.f90: New test.
4564 * testsuite/libgomp.fortran/doacross3.f90: New test.
4565 * testsuite/libgomp.fortran/taskloop1.f90: New test.
4566 * testsuite/libgomp.fortran/taskloop3.f90: New test.
4567 * testsuite/libgomp.fortran/doacross2.f90: New test.
4568 * testsuite/libgomp.c/doacross-1.c (main): Add missing
4569 #pragma omp atomic read.
4570 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4571 * testsuite/libgomp.c/doacross-3.c (main): Likewise.
4572
6668eb45
CP
45732016-11-02 Cesar Philippidis <cesar@codesourcery.com>
4574 Nathan Sidwell <nathan@acm.org>
4575
4576 * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes
4577 to determine default geometry.
4578 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang
4579 dimension.
4580
f10e37a1
JJ
45812016-11-01 Jakub Jelinek <jakub@redhat.com>
4582
4583 * hashtab.h: Use standard GPLv3 with runtime exception
4584 boilerplate.
4585
015c7760
AH
45862016-10-27 Aldy Hernandez <aldyh@redhat.com>
4587
4588 * oacc-init.c (goacc_new_thread): Use sizeof of the appropriate
4589 size when allocating new thread.
4590
20a1e5b8
MP
45912016-09-14 Marek Polacek <polacek@redhat.com>
4592
4593 * testsuite/libgomp.c++/atomic-3.C: Use -Wno-deprecated.
4594
1cad9284
JJ
45952016-08-19 Jakub Jelinek <jakub@redhat.com>
4596
4597 PR fortran/71014
4598 * testsuite/libgomp.fortran/pr71014.f90: New test.
4599
2c71d454
CLT
46002016-08-18 Chung-Lin Tang <cltang@codesourcery.com>
4601
4602 PR middle-end/70895
4603 * testsuite/libgomp.oacc-fortran/reduction-7.f90: Add explicit
4604 firstprivate clauses.
4605 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Remove explicit
4606 copy clauses.
4607 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
4608 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Likewise.
4609 * testsuite/libgomp.oacc-c-c++-common/reduction-flt.c: Likewise.
4610 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
4611 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
4612 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
4613 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
4614 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
4615 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
4616 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
4617 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
4618 * testsuite/libgomp.oacc-c-c++-common/reduction-dbl.c: Likewise.
4619
7c713714
CLT
46202016-08-14 Chung-Lin Tang <cltang@codesourcery.com>
4621
4622 PR fortran/70598
4623 * testsuite/libgomp.oacc-fortran/host_data-1.f90: New test.
4624
5c934396
JJ
46252016-08-08 Jakub Jelinek <jakub@redhat.com>
4626
4627 PR c++/58706
4628 * testsuite/libgomp.c++/pr58706.C: New test.
4629
9ef64248
TS
46302016-08-04 Thomas Schwinge <thomas@codesourcery.com>
4631
bbc79c0e
TS
4632 * testsuite/libgomp.oacc-c++/routine-1-auto.C: New file.
4633 * testsuite/libgomp.oacc-c++/routine-1-template-auto.C: Likewise.
4634 * testsuite/libgomp.oacc-c++/routine-1-template-trailing-return-type.C:
4635 Likewise.
4636 * testsuite/libgomp.oacc-c++/routine-1-template.C: Likewise.
4637 * testsuite/libgomp.oacc-c++/routine-1-trailing-return-type.C:
4638 Likewise.
4639 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Adjust.
4640
9ef64248
TS
4641 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: Make it a "link"
4642 test, and don't hardcode -O0.
4643
c1311c86
NS
46442016-08-03 Nathan Sidwell <nathan@codesourcery.com>
4645
4646 * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New.
4647
b1c9c068
CP
46482016-07-15 Cesar Philippidis <cesar@codesourcery.com>
4649
4650 * testsuite/libgomp.oacc-c-c++-common/zero_length_subarrays.c: New
4651 test.
4652
b4410f63
L
46532016-07-03 H.J. Lu <hongjiu.lu@intel.com>
4654
4655 PR middle-end/71734
4656 * testsuite/libgomp.fortran/pr71734-1.f90: New test.
4657 * testsuite/libgomp.fortran/pr71734-2.f90: Likewise.
4658
a8dbab92
JJ
46592016-07-01 Jakub Jelinek <jakub@redhat.com>
4660
4661 PR fortran/71717
4662 * testsuite/libgomp.fortran/associate3.f90: New test.
4663
9b6a8d0f
JJ
46642016-06-17 Jakub Jelinek <jakub@redhat.com>
4665
4666 * testsuite/libgomp.c++/target-21.C: New test.
4667
283635f9
JJ
46682016-06-16 Jakub Jelinek <jakub@redhat.com>
4669
4670 * testsuite/libgomp.c++/target-20.C: New test.
4671
27d6ba88
TS
46722016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4673 Cesar Philippidis <cesar@codesourcery.com>
4674
4675 PR middle-end/71373
4676 * libgomp.oacc-c/nested-function-1.c: New file.
4677 * libgomp.oacc-c/nested-function-2.c: Likewise.
4678 * libgomp.oacc-fortran/nested-function-1.f90: Likewise.
4679 * libgomp.oacc-fortran/nested-function-2.f90: Likewise.
4680 * libgomp.oacc-fortran/nested-function-3.f90: Likewise.
4681
4b1ffdb1
TS
46822016-06-10 Thomas Schwinge <thomas@codesourcery.com>
4683
4684 PR c/71381
4685 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: #include
4686 "../../../gcc/testsuite/c-c++-common/goacc/cache-1.c".
4687 * testsuite/libgomp.oacc-fortran/cache-1.f95: New file.
4688
d821b794
CLT
46892016-06-03 Chung-Lin Tang <cltang@codesourcery.com>
4690
4691 * testsuite/libgomp.oacc-fortran/reduction-8.f90: New testcase.
4692 * testsuite/libgomp.oacc-c-c++-common/reduction-8.c: New testcase.
4693
3616a8c5
CP
46942016-06-01 Cesar Philippidis <cesar@codesourcery.com>
4695
4696 PR c/70688
5eed9a88 4697 * testsuite/libgomp.oacc-c-c++-common/pr70688.c: New file.
3616a8c5 4698
7211a097
JJ
46992016-05-26 Jakub Jelinek <jakub@redhat.com>
4700
4701 * testsuite/libgomp.c/doacross-1.c (main): Use schedule(static)
4702 instead of invalid schedule(static, 0).
4703 * testsuite/libgomp.c/doacross-2.c (main): Likewise.
4704
b4557008
CLT
47052016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4706
4707 * oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
4708 * oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
4709 parameter, use to set async stream around call to gomp_unmap_vars,
4710 call gomp_unmap_vars() with 'do_copyfrom' set to true.
4711 * plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
4712 (event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
4713 events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
4714 (event_add): Add int parameter, initialize 'val' field when
4715 adding new ptx_event struct.
4716 (nvptx_evec): Adjust event_add() call arguments.
4717 (nvptx_host2dev): Likewise.
4718 (nvptx_dev2host): Likewise.
4719 (nvptx_wait_async): Likewise.
4720 (nvptx_wait_all_async): Likewise.
4721 (GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
4722 pass to event_add() call.
4723 * oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
4724 parameter.
4725 * oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
4726 call openacc.register_async_cleanup_func() hook.
4727 * oacc-parallel.c (GOACC_parallel_keyed): Likewise.
4728 * target.c (gomp_copy_from_async): Delete function.
4729 (gomp_map_vars): Remove async_refcount.
4730 (gomp_unmap_vars): Likewise.
4731 (gomp_load_image_to_device): Likewise.
4732 (omp_target_associate_ptr): Likewise.
4733 * libgomp.h (struct splay_tree_key_s): Remove async_refcount.
4734 (acc_dispatch_t.register_async_cleanup_func): Add int parameter.
4735 (gomp_copy_from_async): Remove.
4736
6ce13072
CLT
47372016-05-26 Chung-Lin Tang <cltang@codesourcery.com>
4738
4739 * target.c (gomp_device_copy): New function.
4740 (gomp_copy_host2dev): Likewise.
4741 (gomp_copy_dev2host): Likewise.
4742 (gomp_free_device_memory): Likewise.
4743 (gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
4744 (gomp_map_pointer): Likewise.
4745 (gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
4746 NULL value from alloc_func plugin hook.
4747 (gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
4748 (gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
4749 (gomp_unmap_vars): Likewise.
4750 (gomp_update): Adjust to call gomp_copy_dev2host and
4751 gomp_copy_host2dev functions.
4752 (gomp_unload_image_from_device): Handle false value from
4753 unload_image_func plugin hook.
4754 (gomp_init_device): Handle false value from init_device_func
4755 plugin hook.
4756 (gomp_exit_data): Adjust to call gomp_copy_dev2host.
4757 (omp_target_free): Adjust to call gomp_free_device_memory.
4758 (omp_target_memcpy): Handle return values from host2dev_func,
4759 dev2host_func, and dev2dev_func plugin hooks.
4760 (omp_target_memcpy_rect_worker): Likewise.
4761 (gomp_target_fini): Handle false value from fini_device_func
4762 plugin hook.
4763 * libgomp.h (struct gomp_device_descr): Adjust return type of
4764 init_device_func, fini_device_func, unload_image_func, free_func,
4765 dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
4766 * oacc-init.c (acc_shutdown_1): Handle false value from
4767 fini_device_func plugin hook.
4768 * oacc-host.c (host_init_device): Change return type to bool.
4769 (host_fini_device): Likewise.
4770 (host_unload_image): Likewise.
4771 (host_free): Likewise.
4772 (host_dev2host): Likewise.
4773 (host_host2dev): Likewise.
4774 * oacc-mem.c (acc_free): Handle plugin hook fatal error case.
4775 (acc_memcpy_to_device): Likewise.
4776 (acc_memcpy_from_device): Likewise.
4777 (delete_copyout): Add libfnname parameter, handle free_func
4778 hook fatal error case.
4779 (acc_delete): Adjust delete_copyout call.
4780 (acc_copyout): Likewise.
4781 (update_dev_host): Move gomp_mutex_unlock to after
4782 host2dev/dev2host hook calls.
4783
4784 * plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
4785 to 'hsa_error_msg', for clarity.
4786 (hsa_fatal): Likewise.
4787 (hsa_error): New function.
4788 (init_hsa_context): Change return type to bool, adjust to return
4789 false on error.
4790 (GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
4791 return value.
4792 (GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
4793 return false on error.
4794 (get_agent_info): Adjust to return NULL on error.
4795 (destroy_hsa_program): Change return type to bool, adjust to
4796 return false on error.
4797 (GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
4798 (destroy_module): Change return type to bool, adjust to
4799 return false on error.
4800 (GOMP_OFFLOAD_unload_image): Likewise.
4801 (GOMP_OFFLOAD_fini_device): Likewise.
4802 (GOMP_OFFLOAD_alloc): Change to return NULL when called.
4803 (GOMP_OFFLOAD_free): Change to return false when called.
4804 (GOMP_OFFLOAD_dev2host): Likewise.
4805 (GOMP_OFFLOAD_host2dev): Likewise.
4806 (GOMP_OFFLOAD_dev2dev): Likewise.
4807
4808 * plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
4809 (CUDA_CALL): Likewise.
4810 (CUDA_CALL_ASSERT): Likewise.
4811 (map_init): Change return type to bool, use CUDA_CALL* macros.
4812 (map_fini): Likewise.
4813 (init_streams_for_device): Change return type to bool, adjust
4814 call to map_init.
4815 (fini_streams_for_device): Change return type to bool, adjust
4816 call to map_fini.
4817 (select_stream_for_async): Release stream_lock before calls to
4818 GOMP_PLUGIN_fatal, adjust call to map_init.
4819 (nvptx_init): Use CUDA_CALL* macros.
4820 (nvptx_attach_host_thread_to_device): Change return type to bool,
4821 use CUDA_CALL* macros.
4822 (nvptx_open_device): Use CUDA_CALL* macros.
4823 (nvptx_close_device): Change return type to bool, use CUDA_CALL*
4824 macros.
4825 (nvptx_get_num_devices): Use CUDA_CALL* macros.
4826 (link_ptx): Change return type to bool, use CUDA_CALL* macros.
4827 (nvptx_exec): Use CUDA_CALL* macros.
4828 (nvptx_alloc): Use CUDA_CALL* macros.
4829 (nvptx_free): Change return type to bool, use CUDA_CALL* macros.
4830 (nvptx_host2dev): Likewise.
4831 (nvptx_dev2host): Likewise.
4832 (nvptx_wait): Use CUDA_CALL* macros.
4833 (nvptx_wait_async): Likewise.
4834 (nvptx_wait_all): Likewise.
4835 (nvptx_wait_all_async): Likewise.
4836 (nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
4837 use CUDA_CALL* macros, adjust call to map_fini.
4838 (GOMP_OFFLOAD_init_device): Change return type to bool,
4839 adjust code accordingly.
4840 (GOMP_OFFLOAD_fini_device): Likewise.
4841 (GOMP_OFFLOAD_load_image): Adjust calls to
4842 nvptx_attach_host_thread_to_device/link_ptx to handle errors,
4843 use CUDA_CALL* macros.
4844 (GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
4845 return code.
4846 (GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
4847 (GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
4848 handle error return.
4849 (GOMP_OFFLOAD_dev2host): Likewise.
4850 (GOMP_OFFLOAD_host2dev): Likewise.
4851 (GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
4852 (GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
4853
e46c7770
CP
48542016-05-24 Cesar Philippidis <cesar@codesourcery.com>
4855
4856 * oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
4857 (acc_free): Likewise.
4858 (acc_memcpy_to_device): Likewise.
4859 (acc_memcpy_from_device): Likewise.
4860 (acc_deviceptr): Likewise.
4861 (acc_hostptr): Likewise.
4862 (acc_is_present): Likewise.
4863 (acc_map_data): Likewise.
4864 (acc_unmap_data): Likewise.
4865 (present_create_copy): Likewise.
4866 (delete_copyout): Likewise.
4867 (update_dev_host): Likewise.
4868 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
4869 * testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
4870 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
4871 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
4872 * testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
4873 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
4874 it only runs on nvptx targets.
4875 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
4876 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
4877 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
4878 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
4879 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
4880 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
4881 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
4882 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
4883 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
4884 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
4885 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
4886 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
4887 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
4888 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
4889 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
4890 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
4891 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
4892 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
4893 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
4894 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
4895 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
4896 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
4897 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
4898
a5057543
MJ
48992016-05-23 Martin Jambor <mjambor@suse.cz>
4900
4901 * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test.
4902
e37288a6
CLT
49032016-05-17 Chung-Lin Tang <cltang@codesourcery.com>
4904
4905 * oacc-init.c (acc_init): Remove !cached_base_dev condition on call
4906 to gomp_init_targets_once.
4907 (acc_set_device_type): Remove !cached_base_dev condition on call to
4908 gomp_init_targets_once, move call to before acc_device_lock acquire,
4909 to avoid deadlock.
4910 (acc_get_device_num): Remove !cached_base_dev condition on call to
4911 gomp_init_targets_once.
4912 (acc_set_device_num): Likewise.
4913
51d9ed48
MJ
49142016-05-16 Martin Jambor <mjambor@suse.cz>
4915
92a285c1 4916 * testsuite/libgomp.hsa.c/complex-align-2.c: New test.
51d9ed48 4917
5b37e866
NS
49182016-05-02 Nathan Sidwell <nathan@codesourcery.com>
4919
4920 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Adjust
4921 expected partitioning.
4922
e7ff0319
CP
49232016-04-29 Cesar Philippidis <cesar@codesourcery.com>
4924
4925 PR middle-end/70626
4926 * testsuite/libgomp.oacc-c++/template-reduction.C: Adjust test.
4927 * testsuite/libgomp.oacc-c-c++-common/combined-reduction.c: New test.
4928 * testsuite/libgomp.oacc-fortran/combined-reduction.f90: New test.
4929
c2bd3b69
AM
49302016-04-21 Alexander Monakov <amonakov@ispras.ru>
4931
4932 * plugin/plugin-nvptx.c (map_fini): Make cuMemFreeHost error
4933 non-fatal.
4934
84311083
JJ
49352016-04-19 Jakub Jelinek <jakub@redhat.com>
4936
4937 PR middle-end/70680
4938 * testsuite/libgomp.c/pr70680-1.c: New test.
4939 * testsuite/libgomp.c/pr70680-2.c: New test.
4940
aadc043f
CP
49412016-04-14 Cesar Philippidis <cesar@codesourcery.com>
4942
4943 * testsuite/libgomp.oacc-fortran/non-scalar-data.f90: Don't
4944 pass parameter variables to subroutines.
4945
e387fc64
CP
49462016-04-14 Cesar Philippidis <cesar@codesourcery.com>
4947
4948 PR middle-end/70643
4949 * testsuite/libgomp.oacc-fortran/pr70643.f90: New test.
4950
10c3c424
CP
49512016-04-13 Cesar Philippidis <cesar@codesourcery.com>
4952
4953 PR testsuite/68242
4954 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Adjust test.
4955 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
4956
27f9add3
TS
49572016-04-12 Thomas Schwinge <thomas@codesourcery.com>
4958
58d32aeb
TS
4959 * libgomp_g.h: Rename GOACC_parallel_keyd prototype to
4960 GOACC_parallel_keyed, restore GOACC_parallel prototype, new
4961 GOACC_declare prototype.
4962
d97633ef
TS
4963 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c:
4964 Merge this file, and...
4965 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gv-np-1.c:
4966 ... this file, and...
4967 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c:
4968 ... this file, and...
4969 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c:
4970 ... this file, and...
4971 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c:
4972 ... this file, and...
4973 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c:
4974 ... this file, and...
4975 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c:
4976 ... this file, and...
4977 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c:
4978 ... this file, and...
4979 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c:
4980 ... this file, and...
4981 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c:
4982 ... this file, and...
4983 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c:
4984 ... this file, and...
4985 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c:
4986 ... this file, and...
4987 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c:
4988 ... this file into...
4989 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: ... this
4990 file.
4991
27f9add3
TS
4992 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c:
4993 Make failure observable.
4994
21f3a236
JJ
49952016-04-12 Jakub Jelinek <jakub@redhat.com>
4996
4997 * libgomp.h (struct gomp_target_task): Remove firstprivate_copies
4998 field.
4999 * target.c (gomp_target_fallback_firstprivate,
5000 gomp_target_unshare_firstprivate): Removed.
5001 (GOMP_target_ext): Copy firstprivate vars into gomp_allocaed memory
5002 before waiting for dependencies.
5003 (gomp_target_task_fn): Don't copy firstprivate vars here.
5004 * task.c (GOMP_PLUGIN_target_task_completion): Don't free
5005 firstprivate_copies here.
5006 (gomp_create_target_task): Don't initialize firstprivate_copies field.
5007 * testsuite/libgomp.c/target-25.c (main): Use map (to:) instead of
5008 explicit/implicit firstprivate.
5009
c42cfb5c
CP
50102016-04-08 Cesar Philippidis <cesar@codesourcery.com>
5011
5012 PR lto/70289
5013 PR ipa/70348
5014 PR tree-optimization/70373
5015 PR middle-end/70533
5016 PR middle-end/70534
5017 PR middle-end/70535
5018 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gang-np-1.c: New
5019 test.
5020 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gw-np-1.c: New
5021 test.
5022 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-1.c: New
5023 test.
5024 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-2.c: New
5025 test.
5026 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-3.c: New
5027 test.
5028 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-gwv-np-4.c: New
5029 test.
5030 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-1.c: New
5031 test.
5032 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-vector-p-2.c: New
5033 test.
5034 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-worker-p-1.c: New
5035 test.
5036 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-1.c: New test.
5037 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-2.c: New test.
5038 * testsuite/libgomp.oacc-c-c++-common/loop-reduction-wv-p-3.c: New test.
5039 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-1.c: New
5040 test.
5041 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-2.c: New
5042 test.
5043 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c: New
5044 test.
5045 * testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c: New
5046 test.
5047 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Add test
5048 coverage.
5049 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
5050 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: Likewise.
5051 * testsuite/libgomp.oacc-c-c++-common/parallel-reduction.c: New test.
5052 * testsuite/libgomp.oacc-c-c++-common/pr70289.c: New test.
5053 * testsuite/libgomp.oacc-c-c++-common/pr70373.c: New test.
5054 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Add test
5055 coverage.
5056 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
5057 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5058 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5059 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
5060 * testsuite/libgomp.oacc-c-c++-common/reduction-6.c: New test.
5061 * testsuite/libgomp.oacc-c-c++-common/reduction.h: New test.
5062 * testsuite/libgomp.oacc-fortran/parallel-reduction.f90: New test.
5063 * testsuite/libgomp.oacc-fortran/pr70289.f90: New test.
5064 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Add test coverage.
5065 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5066 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5067 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5068 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
5069 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
5070 * testsuite/libgomp.oacc-fortran/reduction-7.f90: New test.
5071
2620c80d
TS
50722016-03-30 Thomas Schwinge <thomas@codesourcery.com>
5073 James Norris <jnorris@codesourcery.com>
5074 Nathan Sidwell <nathan@codesourcery.com>
5075 Julian Brown <julian@codesourcery.com>
5076 Cesar Philippidis <cesar@codesourcery.com>
5077 Chung-Lin Tang <cltang@codesourcery.com>
5078 Tom de Vries <tom@codesourcery.com>
5079
5080 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Update.
5081 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
5082 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
5083 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Likewise.
5084 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
5085 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
5086 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
5087 * testsuite/libgomp.oacc-fortran/declare-1.f90: Likewise.
5088 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
5089 XFAIL.
5090 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Update.
5091 Incorporate...
5092 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: ... this
5093 file.
5094 * testsuite/libgomp.oacc-c++/template-reduction.C: New file.
5095 * testsuite/libgomp.oacc-c-c++-common/gang-static-1.c: Likewise.
5096 * testsuite/libgomp.oacc-c-c++-common/gang-static-2.c: Likewise.
5097 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-clauses.c:
5098 Likewise.
5099 * testsuite/libgomp.oacc-c-c++-common/private-variables.c:
5100 Likewise.
5101 * testsuite/libgomp.oacc-c-c++-common/reduction-7.c: Likewise.
5102 * testsuite/libgomp.oacc-c-c++-common/routine-1.c: Likewise.
5103 * testsuite/libgomp.oacc-c-c++-common/routine-4.c: Likewise.
5104 * testsuite/libgomp.oacc-c-c++-common/routine-wv-2.c: Likewise.
5105 * testsuite/libgomp.oacc-fortran/clauses-1.f90: Likewise.
5106 * testsuite/libgomp.oacc-fortran/default-1.f90: Likewise.
5107 * testsuite/libgomp.oacc-fortran/firstprivate-1.f90: Likewise.
5108 * testsuite/libgomp.oacc-fortran/gang-static-1.f90: Likewise.
5109 * testsuite/libgomp.oacc-fortran/if-1.f90: Likewise.
5110 * testsuite/libgomp.oacc-fortran/implicit-firstprivate-ref.f90:
5111 Likewise.
5112 * testsuite/libgomp.oacc-fortran/pr68813.f90: Likewise.
5113 * testsuite/libgomp.oacc-fortran/private-variables.f90: Likewise.
5114 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Merge this
5115 file...
5116 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: ..., and this
5117 file into...
5118 * testsuite/libgomp.oacc-c-c++-common/data-clauses.h: ... this new
5119 file. Update.
5120 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels.c: New
5121 file.
5122 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel.c:
5123 Likewise.
5124 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: Rename to...
5125 * testsuite/libgomp.oacc-c-c++-common/data-clauses-kernels-ipa-pta.c:
5126 ... this new file. Update.
5127 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: Rename to...
5128 * testsuite/libgomp.oacc-c-c++-common/data-clauses-parallel-ipa-pta.c:
5129 ... this new file. Update.
5130 * testsuite/libgomp.oacc-c-c++-common/mode-transitions.c: New
5131 file. Incorporate...
5132 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c: ... this
5133 file, and...
5134 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: ... this
5135 file, and...
5136 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: ... this
5137 file.
5138 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Remove file.
5139
ce83104b
TS
51402016-03-29 Thomas Schwinge <thomas@codesourcery.com>
5141
5142 * testsuite/libgomp.oacc-c++/c++.exp [!lang_test_file_found]: Call
5143 set-torture-options.
5144
6e0df3b7
TS
51452016-03-24 Thomas Schwinge <thomas@codesourcery.com>
5146
5147 * testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
5148 gcc-dg-runtest.
5149 * testsuite/libgomp.oacc-c/c.exp: Likewise.
5150 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
5151 -fno-builtin-acc_on_device instead of -O0.
5152 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
5153 -O0.
5154 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5155 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
5156 Likewise.
5157 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5158 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5159 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5160 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5161 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5162 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5163 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5164 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5165 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5166 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5167 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5168 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5169 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5170 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5171 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5172 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5173 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5174 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
5175 Don't specify -O2.
5176 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
5177 Likewise.
5178 * testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
5179 Likewise.
5180
f9c8babb
ML
51812016-03-24 Martin Liska <mliska@suse.cz>
5182
5183 * plugin/plugin-hsa.c (packet_store_release): New function
5184 that is taken from the HSA runtime manual.
5185 (GOMP_OFFLOAD_run): Use the function.
5186
04833609
JJ
51872016-03-23 Jakub Jelinek <jakub@redhat.com>
5188
5189 PR c++/70376
5190 * testsuite/libgomp.c++/pr70376.C: New test.
5191
d79ee524
TV
51922016-03-23 Tom de Vries <tom@codesourcery.com>
5193
5194 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
5195 initialization of lresult and lvresult.
5196 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.
5197
b6d1f2b5
JN
51982016-03-23 James Norris <jnorris@codesourcery.com>
5199 Daichi Fukuoka <dc-fukuoka@sgi.com>
5200
5201 PR libgomp/69414
5202 * oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
5203 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
5204 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
5205 * testsuite/libgomp.oacc-fortran/update-1.f90: New file.
5206
7397fce2
ML
52072016-03-23 Martin Liska <mliska@suse.cz>
5208
5209 PR hsa/70337
5210 * plugin/plugin-hsa.c (GOMP_OFFLOAD_run): Copy shadow
5211 argument just in case a dispatched kernel uses that argument.
5212
ee2e7d51
TS
52132016-03-16 Thomas Schwinge <thomas@codesourcery.com>
5214
5215 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: Adjust to
5216 -ftree-parallelize-loops/-fopenacc changes.
5217 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95:
5218 Likewise.
5219 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5220 Likewise.
5221 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95:
5222 Likewise.
5223 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95:
5224 Likewise.
5225 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Likewise.
5226 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Likewise.
5227
be9f7143
TS
52282016-03-13 Thomas Schwinge <thomas@codesourcery.com>
5229
5230 * testsuite/lib/libgomp.exp (libgomp_init): Potentially append to
5231 always_ld_library_path the path to libgcc_s.
5232
f6c1032d
CP
52332016-03-10 Cesar Philippidis <cesar@codesourcery.com>
5234
5235 PR testsuite/70009
5236 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed.
5237
5a6452e6
TV
52382016-03-09 Tom de Vries <tom@codesourcery.com>
5239
5240 * testsuite/libgomp.oacc-fortran/kernels-loop-2.f95: New test.
5241 * testsuite/libgomp.oacc-fortran/kernels-loop-data-2.f95: Same.
5242 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit-2.f95:
5243 Same.
5244 * testsuite/libgomp.oacc-fortran/kernels-loop-data-enter-exit.f95: Same.
5245 * testsuite/libgomp.oacc-fortran/kernels-loop-data-update.f95: Same.
5246 * testsuite/libgomp.oacc-fortran/kernels-loop-data.f95: Same.
5247 * testsuite/libgomp.oacc-fortran/kernels-loop.f95: Same.
5248
96a71bd5
MJ
52492016-03-07 Martin Jambor <mjambor@suse.cz>
5250
5251 * testsuite/lib/libgomp.exp
5252 (check_effective_target_hsa_offloading_selected_nocache): New.
5253 (check_effective_target_hsa_offloading_selected): Likewise.
5254 * testsuite/libgomp.hsa.c/c.exp: Likewise.
5255 * testsuite/libgomp.hsa.c/alloca-1.c: Likewise.
5256 * testsuite/libgomp.hsa.c/bitfield-1.c: Likewise.
5257 * testsuite/libgomp.hsa.c/builtins-1.c: Likewise.
5258 * testsuite/libgomp.hsa.c/complex-1.c: Likewise.
5259 * testsuite/libgomp.hsa.c/formal-actual-args-1.c: Likewise.
5260 * testsuite/libgomp.hsa.c/function-call-1.c: Likewise.
5261 * testsuite/libgomp.hsa.c/get-level-1.c: Likewise.
5262 * testsuite/libgomp.hsa.c/gridify-1.c: Likewise.
5263 * testsuite/libgomp.hsa.c/gridify-2.c: Likewise.
5264 * testsuite/libgomp.hsa.c/gridify-3.c: Likewise.
5265 * testsuite/libgomp.hsa.c/gridify-4.c: Likewise.
5266 * testsuite/libgomp.hsa.c/memory-operations-1.c: Likewise.
5267 * testsuite/libgomp.hsa.c/pr69568.c: Likewise.
5268 * testsuite/libgomp.hsa.c/rotate-1.c: Likewise.
5269 * testsuite/libgomp.hsa.c/switch-1.c: Likewise.
5270 * testsuite/libgomp.hsa.c/switch-branch-1.c: Likewise.
5271
02e0b5b2
MJ
52722016-03-07 Martin Jambor <mjambor@suse.cz>
5273
5274 * testsuite/libgomp.c/examples-4/async_target-2.c: Only run on
5275 non-shared memory accelerators.
5276 * testsuite/libgomp.c/examples-4/device-1.c: Likewise.
5277 * testsuite/libgomp.c/examples-4/target-5.c: Likewise.
5278 * testsuite/libgomp.c/examples-4/target_data-6.c: Likewise.
5279 * testsuite/libgomp.c/examples-4/target_data-7.c: Likewise.
5280 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: Likewise.
5281 * testsuite/libgomp.fortran/examples-4/device-1.f90: Likewise.
5282 * testsuite/libgomp.fortran/examples-4/target-5.f90: Likewise.
5283 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: Likewise.
5284 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: Likewise.
5285
45548f30
MJ
52862016-03-07 Martin Jambor <mjambor@suse.cz>
5287
5288 * testsuite/lib/libgomp.exp (libgomp_init): Append -Wno-hsa to
5289 ALWAYS_CFLAGS.
5290
da3d46cb
JJ
52912016-03-02 Jakub Jelinek <jakub@redhat.com>
5292
5293 PR libgomp/69555
5294 * testsuite/libgomp.c++/pr69555-1.C: New test.
5295 * testsuite/libgomp.c++/pr69555-2.C: New test.
5296
622174b2
KM
52972016-02-26 Keith McDaniel <k.allen.mcdaniel@gmail.com>
5298 Martin Jambor <mjambor@suse.cz>
5299
5300 * testsuite/lib/libgomp.exp
5301 (check_effective_target_offload_device_shared_as): New proc.
5302 * testsuite/libgomp.c++/declare_target-1.C: New test.
5303
e6861a99
IV
53042016-02-25 Ilya Verbin <ilya.verbin@intel.com>
5305
5306 PR driver/68463
5307 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: Remove.
5308
f99c3557
TS
53092016-02-23 Thomas Schwinge <thomas@codesourcery.com>
5310
5311 * oacc-parallel.c (GOACC_parallel_keyed): Initialize dims.
5312 * plugin/plugin-nvptx.c (nvptx_exec): Provide default values for
5313 dims.
5314 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: Adjust to
5315 -ftree-parallelize-loops/-fopenacc changes.
5316 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Likewise.
5317 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c:
5318 Likewise.
5319 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c:
5320 Likewise.
5321 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c:
5322 Likewise.
5323 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c:
5324 Likewise.
5325 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c:
5326 Likewise.
5327 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c:
5328 Likewise.
5329 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c:
5330 Likewise.
5331 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Likewise.
5332 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c:
5333 Likewise.
5334 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Likewise.
5335 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c:
5336 Likewise.
5337 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Likewise.
5338 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c:
5339 Likewise.
5340
d5ace3b5
CP
53412016-02-22 Cesar Philippidis <cesar@codesourcery.com>
5342
5343 * testsuite/libgomp.oacc-c-c++-common/vprop.c: New test.
5344
f3609a89
JJ
53452016-02-19 Jakub Jelinek <jakub@redhat.com>
5346
5347 PR driver/69805
5348 * testsuite/libgomp.c/pr69805.c: New test.
5349
2175df99
TV
53502016-02-16 Tom de Vries <tom@codesourcery.com>
5351
5352 PR lto/67709
5353 * testsuite/libgomp.fortran/declare-simd-4.f90: New test.
5354
17b6426c
TV
53552016-02-09 Tom de Vries <tom@codesourcery.com>
5356
5357 PR tree-optimization/69599
5358 * testsuite/libgomp.c/omp-nested-3.c: New test.
5359 * testsuite/libgomp.c/pr46032-2.c: New test.
5360 * testsuite/libgomp.oacc-c-c++-common/kernels-2.c: New test.
5361 * testsuite/libgomp.oacc-c-c++-common/parallel-2.c: New test.
5362
34df756c
TV
53632016-02-09 Tom de Vries <tom@codesourcery.com>
5364
5365 PR lto/69707
5366 * testsuite/libgomp.oacc-c-c++-common/parallel-dims-2.c: New test.
5367
5854ee30
AM
53682016-02-02 Alexander Monakov <amonakov@ispras.ru>
5369
5370 * testsuite/libgomp.c/target-31.c: Fix testcase.
5371
e70b6ad7
AM
53722016-02-02 Alexander Monakov <amonakov@ispras.ru>
5373
5374 * testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction
5375 clause.
5376 * testsuite/libgomp.c/examples-4/teams-4.c: Likewise.
5377 * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing
5378 reduction and map clauses.
5379 * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise.
5380
bd78a45f
JN
53812016-02-02 James Norris <jnorris@codesourcery.com>
5382
5383 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Fix clause.
5384
41d809d3
TS
53852016-02-02 Thomas Schwinge <thomas@codesourcery.com>
5386
18f60146
TS
5387 * libgomp.map (GOACC_2.0): Remove GOACC_host_data.
5388 * oacc-parallel.c (GOACC_host_data): Remove function definition.
5389
1a06f5e6
TS
5390 * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test
5391 cases.
5392
033ff3d1
TS
5393 * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New
5394 variables.
5395 * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib)
5396 (hsa_kmt_lib): Set variables.
5397 * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend
5398 always_ld_library_path.
5399 * Makefile.in: Regenerate.
5400 * configure: Likewise.
5401 * testsuite/Makefile.in: Likewise.
5402
4a88d9b7
TS
5403 * plugin/configfrag.ac (offload_additional_options)
5404 (offload_additional_lib_paths): Don't amend for hsa offloading.
5405 * configure: Regenerate.
5406
41d809d3
TS
5407 * plugin/configfrag.ac: Don't configure for offloading target if
5408 we don't build the corresponding plugin.
5409 * configure: Regenerate.
5410
b6adbb9f
NS
54112016-02-01 Nathan Sidwell <nathan@codesourcery.com>
5412
5413 * testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c: New.
5414 * testsuite/libgomp.oacc-fortran/routine-7.f90: Serialize loop.
5415
8dfdb419
TV
54162016-01-26 Tom de Vries <tom@codesourcery.com>
5417
5418 PR tree-optimization/69110
5419 * testsuite/libgomp.c/pr69110.c: New test.
5420
02ef53f2
RB
54212016-01-25 Richard Biener <rguenther@suse.de>
5422
5423 PR lto/69393
5424 * testsuite/libgomp.c++/pr69393.C: New testcase.
5425
eb4048f2
IV
54262016-01-22 Ilya Verbin <ilya.verbin@intel.com>
5427
5428 * target.c (gomp_get_target_fn_addr): Allow host fallback if target
5429 function wasn't mapped to the device with non-shared memory.
5430
b235cdd5
IV
54312016-01-20 Ilya Verbin <ilya.verbin@intel.com>
5432
5433 * task.c (gomp_create_target_task): Set firstprivate_copies to NULL.
5434
b2b40051
MJ
54352016-01-19 Martin Jambor <mjambor@suse.cz>
5436 Martin Liska <mliska@suse.cz>
5437
5438 * plugin/Makefrag.am: Add HSA plugin requirements.
5439 * plugin/configfrag.ac (HSA_RUNTIME_INCLUDE): New variable.
5440 (HSA_RUNTIME_LIB): Likewise.
5441 (HSA_RUNTIME_CPPFLAGS): Likewise.
5442 (HSA_RUNTIME_INCLUDE): New substitution.
5443 (HSA_RUNTIME_LIB): Likewise.
5444 (HSA_RUNTIME_LDFLAGS): Likewise.
5445 (hsa-runtime): New configure option.
5446 (hsa-runtime-include): Likewise.
5447 (hsa-runtime-lib): Likewise.
5448 (PLUGIN_HSA): New substitution variable.
5449 Fill HSA_RUNTIME_INCLUDE and HSA_RUNTIME_LIB according to the new
5450 configure options.
5451 (PLUGIN_HSA_CPPFLAGS): Likewise.
5452 (PLUGIN_HSA_LDFLAGS): Likewise.
5453 (PLUGIN_HSA_LIBS): Likewise.
5454 Check that we have access to HSA run-time.
5455 * libgomp-plugin.h (offload_target_type): New element
5456 OFFLOAD_TARGET_TYPE_HSA.
5457 * libgomp.h (gomp_target_task): New fields firstprivate_copies and
5458 args.
5459 (bool gomp_create_target_task): Updated.
5460 (gomp_device_descr): Extra parameter of run_func and async_run_func,
5461 new field can_run_func.
5462 * libgomp_g.h (GOMP_target_ext): Update prototype.
5463 * oacc-host.c (host_run): Added a new parameter args.
5464 * target.c (calculate_firstprivate_requirements): New function.
5465 (copy_firstprivate_data): Likewise.
5466 (gomp_target_fallback_firstprivate): Use them.
5467 (gomp_target_unshare_firstprivate): New function.
5468 (gomp_get_target_fn_addr): Allow returning NULL for shared memory
5469 devices.
5470 (GOMP_target): Do host fallback for all shared memory devices. Do not
5471 pass any args to plugins.
5472 (GOMP_target_ext): Introduce device-specific argument parameter args.
5473 Allow host fallback if device shares memory. Do not remap data if
5474 device has shared memory.
5475 (gomp_target_task_fn): Likewise. Also treat shared memory devices
5476 like host fallback for mappings.
5477 (GOMP_target_data): Treat shared memory devices like host fallback.
5478 (GOMP_target_data_ext): Likewise.
5479 (GOMP_target_update): Likewise.
5480 (GOMP_target_update_ext): Likewise. Also pass NULL as args to
5481 gomp_create_target_task.
5482 (GOMP_target_enter_exit_data): Likewise.
5483 (omp_target_alloc): Treat shared memory devices like host fallback.
5484 (omp_target_free): Likewise.
5485 (omp_target_is_present): Likewise.
5486 (omp_target_memcpy): Likewise.
5487 (omp_target_memcpy_rect): Likewise.
5488 (omp_target_associate_ptr): Likewise.
5489 (gomp_load_plugin_for_device): Also load can_run.
5490 * task.c (GOMP_PLUGIN_target_task_completion): Free
5491 firstprivate_copies.
5492 (gomp_create_target_task): Accept new argument args and store it to
5493 ttask.
5494 * plugin/plugin-hsa.c: New file.
5495
5d7804a9
TV
54962016-01-18 Tom de Vries <tom@codesourcery.com>
5497
5498 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-2.c: New test.
5499 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-3.c: Same.
5500 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-2.c: Same.
5501 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-3.c: Same.
5502 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-4.c: Same.
5503 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-5.c: Same.
5504 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq-6.c: Same.
5505 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-and-seq.c: Same.
5506 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-collapse.c: Same.
5507 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-2.c: Same.
5508 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit-2.c:
5509 Same.
5510 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-enter-exit.c:
5511 Same.
5512 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data-update.c: Same.
5513 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-data.c: Same.
5514 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-g.c: Same.
5515 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-mod-not-zero.c: Same.
5516 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-n.c: Same.
5517 * testsuite/libgomp.oacc-c-c++-common/kernels-loop-nest.c: Same.
5518 * testsuite/libgomp.oacc-c-c++-common/kernels-loop.c: Same.
5519 * testsuite/libgomp.oacc-c-c++-common/kernels-parallel-loop-data-enter-exit.c:
5520 Same.
5521 * testsuite/libgomp.oacc-c-c++-common/kernels-reduction.c: Same.
5522
cb11f3cf
JJ
55232016-01-15 Jakub Jelinek <jakub@redhat.com>
5524
5525 * task.c (GOMP_PLUGIN_target_task_completion): Add missing return.
5526
33a126a6
CP
55272016-01-15 Cesar Philippidis <cesar@codesourcery.com>
5528
5529 * testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.
5530
cdf6119d
JN
55312016-01-12 James Norris <jnorris@codesourcery.com>
5532
5533 * libgomp.texi: Updates for OpenACC.
5534
0d58938e
AM
55352016-01-11 Alexander Monakov <amonakov@ispras.ru>
5536
5537 * plugin/plugin-nvptx.c (link_ptx): Do not set CU_JIT_TARGET.
5538
95918b49
L
55392016-01-07 H.J. Lu <hongjiu.lu@intel.com>
5540
5541 PR fortran/66680
5542 * testsuite/libgomp.fortran/pr66680.f90: New test.
5543
8fc708b7
JJ
55442016-01-07 Jakub Jelinek <jakub@redhat.com>
5545
5546 PR middle-end/68960
5547 * testsuite/libgomp.c/pr68960.c: New test.
5548
e9b596c1
NS
55492016-01-06 Nathan Sidwell <nathan@acm.org>
5550
1a14faf2 5551 * openacc.h (acc_on_device): Add routine pragma for C++ wrapper.
e9b596c1
NS
5552 * testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: New.
5553
21fa2a29
JJ
55542016-01-04 Jakub Jelinek <jakub@redhat.com>
5555
818ab71a
JJ
5556 Update copyright years.
5557
21fa2a29
JJ
5558 * libgomp.texi: Bump @copying's copyright year.
5559
9310efbc
NS
55602015-12-31 Nathan Sidwell <nathan@acm.org>
5561
5562 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Correct
5563 dg-additional-options syntax.
5564 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
5565 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
5566 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
5567 * testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
5568 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
5569 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
5570 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
5571 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
5572 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
5573 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
5574 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
5575 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
5576 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
5577 * testsuite/libgomp.oacc-c-c++-common/loop-red-wv-1.c: Likewise.
5578 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
5579 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
5580 * testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
5581 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
5582
4a38b02b
IV
55832015-12-15 Ilya Verbin <ilya.verbin@intel.com>
5584
5585 * libgomp.h (REFCOUNT_LINK): Define.
5586 (struct splay_tree_key_s): Add link_key.
5587 * target.c (gomp_map_vars): Treat REFCOUNT_LINK objects as not mapped.
5588 Replace target address of the pointer with target address of newly
5589 mapped object in the splay tree. Set link pointer on target to the
5590 device address of the mapped object.
5591 (gomp_unmap_vars): Restore target address of the pointer in the splay
5592 tree for REFCOUNT_LINK objects after unmapping.
5593 (gomp_load_image_to_device): Set refcount to REFCOUNT_LINK for "omp
5594 declare target link" objects.
5595 (gomp_unload_image_from_device): Replace j with i. Force unmap of all
5596 "omp declare target link" objects, which were mapped for the image.
5597 (gomp_exit_data): Restore target address of the pointer in the splay
5598 tree for REFCOUNT_LINK objects after unmapping.
5599 * testsuite/libgomp.c/target-link-1.c: New file.
5600
d84ffc0a
IV
56012015-12-14 Ilya Verbin <ilya.verbin@intel.com>
5602
5603 * libgomp.h (gomp_device_state): New enum.
5604 (struct gomp_device_descr): Replace is_initialized with state.
5605 (gomp_fini_device): Remove declaration.
5606 * oacc-host.c (host_dispatch): Use state instead of is_initialized.
5607 * oacc-init.c (acc_init_1): Use state instead of is_initialized.
5608 (acc_shutdown_1): Likewise. Inline gomp_fini_device.
5609 (acc_set_device_type): Use state instead of is_initialized.
5610 (acc_set_device_num): Likewise.
5611 * target.c (resolve_device): Use state instead of is_initialized.
5612 Do not initialize finalized device.
5613 (gomp_map_vars): Do nothing if device is finalized.
5614 (gomp_unmap_vars): Likewise.
5615 (gomp_update): Likewise.
5616 (GOMP_offload_register_ver): Use state instead of is_initialized.
5617 (GOMP_offload_unregister_ver): Likewise.
5618 (gomp_init_device): Likewise.
5619 (gomp_unload_device): Likewise.
5620 (gomp_fini_device): Remove.
5621 (gomp_get_target_fn_addr): Do nothing if device is finalized.
5622 (GOMP_target): Go to host fallback if device is finalized.
5623 (GOMP_target_ext): Likewise.
5624 (gomp_exit_data): Do nothing if device is finalized.
5625 (gomp_target_task_fn): Go to host fallback if device is finalized.
5626 (gomp_target_fini): New static function.
5627 (gomp_target_init): Use state instead of is_initialized.
5628 Call gomp_target_fini at exit.
5629
76680678
TV
56302015-12-09 Tom de Vries <tom@codesourcery.com>
5631
5632 PR tree-optimization/68716
5633 * testsuite/libgomp.c/omp-nested-2.c: New test.
5634
ff7a55bf
TS
56352015-12-02 Thomas Schwinge <thomas@codesourcery.com>
5636
5637 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: Restrict to
5638 target openacc_nvidia_accel_selected.
5639 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: Likewise.
5640 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: Likewise.
5641 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: Remove file.
5642 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: Remove file.
5643
37d5ad46
JB
56442015-12-01 Julian Brown <julian@codesourcery.com>
5645 James Norris <James_Norris@mentor.com>
5646
5647 * oacc-parallel.c (GOACC_host_data): New function.
5648 * libgomp.map (GOACC_host_data): Add to GOACC_2.0.1.
5649 * testsuite/libgomp.oacc-c-c++-common/host_data-1.c: New test.
5650 * testsuite/libgomp.oacc-c-c++-common/host_data-2.c: New test.
5651 * testsuite/libgomp.oacc-c-c++-common/host_data-3.c: New test.
5652 * testsuite/libgomp.oacc-c-c++-common/host_data-4.c: New test.
5653 * testsuite/libgomp.oacc-c-c++-common/host_data-5.c: New test.
5654 * testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New test.
5655
db941d7e
CP
56562015-11-30 James Norris <jnorris@codesourcery.com>
5657 Cesar Philippidis <cesar@codesourcery.com>
5658
5659 libgomp/
5660 * libgomp.oacc-fortran/routine-5.f90: New test.
5661 * libgomp.oacc-fortran/routine-7.f90: New test.
5662 * libgomp.oacc-fortran/routine-9.f90: New test.
5663
e0ca27c5
TV
56642015-11-30 Tom de Vries <tom@codesourcery.com>
5665
5666 PR tree-optimization/46032
5667 * testsuite/libgomp.c/pr46032.c: New test.
5668
aec17bfe
JJ
56692015-11-27 Jakub Jelinek <jakub@redhat.com>
5670
8e4e4719
JJ
5671 PR libgomp/68579
5672 * task.c (gomp_task_run_post_handle_depend_hash): New forward decl.
5673 (gomp_create_target_task): Call it before freeing
5674 GOMP_TARGET_TASK_DATA tasks.
5675
aec17bfe
JJ
5676 PR c/63326
5677 * testsuite/libgomp.c/cancel-parallel-2.c (foo): Add semicolon
5678 in between case label and OpenMP standalone directives.
5679 * testsuite/libgomp.c++/cancel-parallel-2.C (foo): Likewise.
5680
6cfe90e6
DE
56812015-11-26 David Edelsohn <dje.gcc@gmail.com>
5682
5683 * configure: Regenerate.
5684
0e65fd7d
JJ
56852015-11-26 Jakub Jelinek <jakub@redhat.com>
5686
5687 * testsuite/libgomp.c/target-35.c: New test.
5688
dc7a8b4b
JN
56892015-11-22 James Norris <jnorris@codesourcery.com>
5690 Cesar Philippidis <cesar@codesourcery.com>
5691
5692 * testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
5693 * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
5694 * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
5695 * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
5696 * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.
5697
48a78aee
JJ
56982015-11-20 Jakub Jelinek <jakub@redhat.com>
5699
5700 PR middle-end/68221
5701 * testsuite/libgomp.c/reduction-11.c: Remove xfail.
5702 * testsuite/libgomp.c/reduction-12.c: Likewise.
5703 * testsuite/libgomp.c++/reduction-11.C: Likewise.
5704 * testsuite/libgomp.c++/reduction-12.C: Likewise.
5705
2d256816
NS
57062015-11-19 Nathan Sidwell <nathan@codesourcery.com>
5707
5708 * libgomp.oacc-c-c++-common/reduction-dbl.c: New.
5709 * libgomp.oacc-c-c++-common/reduction-flt.c: New.
5710 * libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Use typedef.
5711 * libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Use typedef.
5712 * libgomp.oacc-c-c++-common/reduction-2.c: Uncomment broken tests
5713 and fix.
5714 * libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
5715 * libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
5716
33f47f42
NS
57172015-11-18 Nathan Sidwell <nathan@codesourcery.com>
5718
5719 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: Add
5720 worker & gang cases.
5721 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: Likewise.
5722
3d7bfee0
CP
57232015-11-17 Cesar Philippidis <cesar@codesourcery.com>
5724
5725 * config/nvptx/priority_queue.c: New file.
5726
00b9bd52
JJ
57272015-11-14 Jakub Jelinek <jakub@redhat.com>
5728
5729 * libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5
5730 sections.
5731
e4606348
JJ
57322015-11-14 Jakub Jelinek <jakub@redhat.com>
5733 Aldy Hernandez <aldyh@redhat.com>
5734 Ilya Verbin <ilya.verbin@intel.com>
5735
5736 * ordered.c (gomp_doacross_init, GOMP_doacross_post,
5737 GOMP_doacross_wait, gomp_doacross_ull_init, GOMP_doacross_ull_post,
5738 GOMP_doacross_ull_wait): For GFS_GUIDED don't divide number of
5739 iterators or IV by chunk size.
5740 * parallel.c (gomp_resolve_num_threads): Don't assume that
5741 if thr->ts.team is non-NULL, then pool must be non-NULL.
5742 * libgomp-plugin.h (GOMP_PLUGIN_target_task_completion): Declare.
5743 * libgomp.map (GOMP_PLUGIN_1.1): New symbol version, export
5744 GOMP_PLUGIN_target_task_completion.
5745 * Makefile.am (libgomp_la_SOURCES): Add priority_queue.c.
5746 * Makefile.in: Regenerate.
5747 * libgomp.h: Shuffle prototypes and forward definitions around so
5748 priority queues can be defined.
5749 (enum gomp_task_kind): Add GOMP_TASK_ASYNC_RUNNING.
5750 (enum gomp_target_task_state): New enum.
5751 (struct gomp_target_task): Add state, tgt, task and team fields.
5752 (gomp_create_target_task): Change return type to bool, add
5753 state argument.
5754 (gomp_target_task_fn): Change return type to bool.
5755 (struct gomp_device_descr): Add async_run_func.
5756 (struct gomp_task): Remove children, next_child, prev_child,
5757 next_queue, prev_queue, next_taskgroup, prev_taskgroup.
5758 Add pnode field.
5759 (struct gomp_taskgroup): Remove children.
5760 Add taskgroup_queue.
5761 (struct gomp_team): Change task_queue type to a priority queue.
5762 (splay_compare): Define inline.
5763 (priority_queue_offset): New.
5764 (priority_node_to_task): New.
5765 (task_to_priority_node): New.
5766 * oacc-mem.c: Do not include splay-tree.h.
5767 * priority_queue.c: New file.
5768 * priority_queue.h: New file.
5769 * splay-tree.c: Do not include splay-tree.h.
5770 (splay_tree_foreach_internal): New.
5771 (splay_tree_foreach): New.
5772 * splay-tree.h: Become re-entrant if splay_tree_prefix is defined.
5773 (splay_tree_callback): Define typedef.
5774 * target.c (splay_compare): Move to libgomp.h.
5775 (GOMP_target): Don't adjust *thr in any way around running offloaded
5776 task.
5777 (GOMP_target_ext): Likewise. Handle target nowait.
5778 (GOMP_target_update_ext, GOMP_target_enter_exit_data): Check
5779 return value from gomp_create_target_task, if false, fallthrough
5780 as if no dependencies exist.
5781 (gomp_target_task_fn): Change return type to bool, return true
5782 if the task should have another part scheduled later. Handle
5783 target nowait.
5784 (gomp_load_plugin_for_device): Initialize async_run.
5785 * task.c (gomp_init_task): Initialize children_queue.
5786 (gomp_clear_parent_in_list): New.
5787 (gomp_clear_parent_in_tree): New.
5788 (gomp_clear_parent): Handle priorities.
5789 (GOMP_task): Likewise.
5790 (priority_queue_move_task_first,
5791 gomp_target_task_completion, GOMP_PLUGIN_target_task_completion):
5792 New functions.
5793 (gomp_create_target_task): Use priority queues. Change return type
5794 to bool, add state argument, return false if for async
5795 {{enter,exit} data,update} constructs no dependencies need to be
5796 waited for, handle target nowait. Set task->fn to NULL instead of
5797 gomp_target_task_fn.
5798 (verify_children_queue): Remove.
5799 (priority_list_upgrade_task): New.
5800 (priority_queue_upgrade_task): New.
5801 (verify_task_queue): Remove.
5802 (priority_list_downgrade_task): New.
5803 (priority_queue_downgrade_task): New.
5804 (gomp_task_run_pre): Use priority queues.
5805 Abstract code out to priority_queue_downgrade_task.
5806 (gomp_task_run_post_handle_dependers): Use priority queues.
5807 (gomp_task_run_post_remove_parent): Likewise.
5808 (gomp_task_run_post_remove_taskgroup): Likewise.
5809 (gomp_barrier_handle_tasks): Likewise. Handle target nowait target
5810 tasks specially.
5811 (GOMP_taskwait): Likewise.
5812 (gomp_task_maybe_wait_for_dependencies): Likewise. Abstract code to
5813 priority-queue_upgrade_task.
5814 (GOMP_taskgroup_start): Use priority queues.
5815 (GOMP_taskgroup_end): Likewise. Handle target nowait target tasks
5816 specially. If taskgroup is NULL, and thr->ts.level is 0, act as a
5817 barrier.
5818 * taskloop.c (GOMP_taskloop): Handle priorities.
5819 * team.c (gomp_new_team): Call priority_queue_init.
5820 (free_team): Call priority_queue_free.
5821 (gomp_free_thread): Call gomp_team_end if thr->ts.team is artificial
5822 team created for target nowait in implicit parallel region.
5823 (gomp_team_start): For nested check, test thr->ts.level instead of
5824 thr->ts.team != NULL.
5825 * testsuite/libgomp.c/doacross-3.c: New test.
5826 * testsuite/libgomp.c/ordered-5.c: New test.
5827 * testsuite/libgomp.c/priority.c: New test.
5828 * testsuite/libgomp.c/target-31.c: New test.
5829 * testsuite/libgomp.c/target-32.c: New test.
5830 * testsuite/libgomp.c/target-33.c: New test.
5831 * testsuite/libgomp.c/target-34.c: New test.
5832
1d1ab74f
NS
58332015-11-13 Nathan Sidwell <nathan@codesourcery.com>
5834
c5a64cfe
NS
5835 * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: New.
5836
1d1ab74f
NS
5837 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
5838 loop is sequential.
5839
dd3c1b14
NS
58402015-11-13 Nathan Sidwell <nathan@codesourcery.com>
5841
5842 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
5843 * testsuite/libgomp.oacc-c-c++-common/reduction-cplx-flt.c: New.
5844
6e232ba4
JN
58452015-11-12 James Norris <jnorris@codesourcery.com>
5846 Joseph Myers <joseph@codesourcery.com>
5847
5848 * libgomp.map (GOACC_2.0.1): Export GOACC_declare.
5849 * oacc-parallel.c (GOACC_declare): New function.
5850 * testsuite/libgomp.oacc-c-c++-common/declare-1.c: New test.
5851 * testsuite/libgomp.oacc-c-c++-common/declare-2.c: Likewise.
5852 * testsuite/libgomp.oacc-c-c++-common/declare-4.c: Likewise.
5853 * testsuite/libgomp.oacc-c-c++-common/declare-5.c: Likewise.
5854 * testsuite/libgomp.oacc-c++/declare-1.C: Likewise.
5855
fffeedeb
NS
58562015-11-12 Nathan Sidwell <nathan@codesourcery.com>
5857
5858 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
5859
182190f2
NS
58602015-11-1 Nathan Sidwell <nathan@codesourcery.com>
5861
5862 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: New.
5863 * testsuite/libgomp.oacc-c-c++-common/firstprivate-2.c: New.
5864
36fa0f5f
NS
58652015-11-09 Nathan Sidwell <nathan@codesourcery.com>
5866
d350c40c
NS
5867 * testsuite/libgomp.oacc-c-c++-common/firstprivate-1.c: Remove
5868 inadvertent commit.
5869
58702015-11-09 Nathan Sidwell <nathan@codesourcery.com>
5871
36fa0f5f
NS
5872 * testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: New.
5873 * testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: New.
5874 * testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: New.
5875 * testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: New.
5876 * testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: New.
5877
66a5f0b4
TS
58782015-11-06 Thomas Schwinge <thomas@codesourcery.com>
5879
5880 * testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
5881 * testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
5882
e01d41e5
JJ
58832015-11-05 Jakub Jelinek <jakub@redhat.com>
5884 Ilya Verbin <ilya.verbin@intel.com>
5885
5886 * libgomp_g.h (GOMP_loop_nonmonotonic_dynamic_next,
5887 GOMP_loop_nonmonotonic_dynamic_start,
5888 GOMP_loop_nonmonotonic_guided_next,
5889 GOMP_loop_nonmonotonic_guided_start,
5890 GOMP_loop_ull_nonmonotonic_dynamic_next,
5891 GOMP_loop_ull_nonmonotonic_dynamic_start,
5892 GOMP_loop_ull_nonmonotonic_guided_next,
5893 GOMP_loop_ull_nonmonotonic_guided_start,
5894 GOMP_parallel_loop_nonmonotonic_dynamic,
5895 GOMP_parallel_loop_nonmonotonic_guided): New prototypes.
5896 (GOMP_target_41): Renamed to ...
5897 (GOMP_target_ext): ... this. Add num_teams and thread_limit
5898 arguments.
5899 (GOMP_target_data_41): Renamed to ...
5900 (GOMP_target_data_ext): ... this.
5901 (GOMP_target_update_41): Renamed to ...
5902 (GOMP_target_update_ext): ... this.
5903 * libgomp.map (GOMP_4.5): Export GOMP_target_ext,
5904 GOMP_target_data_ext and GOMP_target_update_ext instead of
5905 GOMP_target_41, GOMP_target_data_41 and GOMP_target_update_41.
5906 Export GOMP_loop_nonmonotonic_dynamic_next,
5907 GOMP_loop_nonmonotonic_dynamic_start,
5908 GOMP_loop_nonmonotonic_guided_next,
5909 GOMP_loop_nonmonotonic_guided_start,
5910 GOMP_loop_ull_nonmonotonic_dynamic_next,
5911 GOMP_loop_ull_nonmonotonic_dynamic_start,
5912 GOMP_loop_ull_nonmonotonic_guided_next,
5913 GOMP_loop_ull_nonmonotonic_guided_start,
5914 GOMP_parallel_loop_nonmonotonic_dynamic and
5915 GOMP_parallel_loop_nonmonotonic_guided.
5916 * loop.c (GOMP_parallel_loop_nonmonotonic_dynamic,
5917 GOMP_parallel_loop_nonmonotonic_guided,
5918 GOMP_loop_nonmonotonic_dynamic_start,
5919 GOMP_loop_nonmonotonic_guided_start,
5920 GOMP_loop_nonmonotonic_dynamic_next,
5921 GOMP_loop_nonmonotonic_guided_next): New aliases or functions.
5922 * loop_ull.c (GOMP_loop_ull_nonmonotonic_dynamic_start,
5923 GOMP_loop_ull_nonmonotonic_guided_start,
5924 GOMP_loop_ull_nonmonotonic_dynamic_next,
5925 GOMP_loop_ull_nonmonotonic_guided_next): Likewise.
5926 * target.c (gomp_map_0len_lookup, gomp_map_val): New inline
5927 functions.
5928 (gomp_map_vars): Handle GOMP_MAP_ALWAYS_POINTER. For
5929 GOMP_MAP_ZERO_LEN_ARRAY_SECTION use gomp_map_0len_lookup.
5930 Use gomp_map_val function.
5931 (gomp_target_fallback_firstprivate): New static function.
5932 (GOMP_target_41): Renamed to ...
5933 (GOMP_target_ext): ... this. Add num_teams and thread_limit
5934 arguments. Move firstprivate fallback handling into a new
5935 function.
5936 (GOMP_target_data_41): Renamed to ...
5937 (GOMP_target_data_ext): ... this.
5938 (GOMP_target_update_41): Renamed to ...
5939 (GOMP_target_update_ext): ... this.
5940 (gomp_exit_data): For GOMP_MAP_*ZERO_LEN* use
5941 gomp_map_0len_lookup instead of gomp_map_lookup.
5942 (omp_target_is_present): Use gomp_map_0len_lookup instead of
5943 gomp_map_lookup.
5944 * testsuite/libgomp.c/target-28.c: Likewise.
5945 * testsuite/libgomp.c/monotonic-1.c: New test.
5946 * testsuite/libgomp.c/monotonic-2.c: New test.
5947 * testsuite/libgomp.c/nonmonotonic-1.c: New test.
5948 * testsuite/libgomp.c/nonmonotonic-2.c: New test.
5949 * testsuite/libgomp.c/pr66199-5.c: New test.
5950 * testsuite/libgomp.c/pr66199-6.c: New test.
5951 * testsuite/libgomp.c/pr66199-7.c: New test.
5952 * testsuite/libgomp.c/pr66199-8.c: New test.
5953 * testsuite/libgomp.c/pr66199-9.c: New test.
5954 * testsuite/libgomp.c/reduction-11.c: New test.
5955 * testsuite/libgomp.c/reduction-12.c: New test.
5956 * testsuite/libgomp.c/reduction-13.c: New test.
5957 * testsuite/libgomp.c/reduction-14.c: New test.
5958 * testsuite/libgomp.c/reduction-15.c: New test.
5959 * testsuite/libgomp.c/target-12.c (main): Adjust for
5960 omp_target_is_present change for one-past-last element.
5961 * testsuite/libgomp.c/target-17.c (foo): Drop tests where
5962 the same var is both mapped and privatized.
5963 * testsuite/libgomp.c/target-19.c (foo): Adjust for different
5964 handling of zero-length array sections.
5965 * testsuite/libgomp.c/target-28.c: New test.
5966 * testsuite/libgomp.c/target-29.c: New test.
5967 * testsuite/libgomp.c/target-30.c: New test.
5968 * testsuite/libgomp.c/target-teams-1.c: New test.
5969 * testsuite/libgomp.c++/member-6.C: New test.
5970 * testsuite/libgomp.c++/member-7.C: New test.
5971 * testsuite/libgomp.c++/monotonic-1.C: New test.
5972 * testsuite/libgomp.c++/monotonic-2.C: New test.
5973 * testsuite/libgomp.c++/nonmonotonic-1.C: New test.
5974 * testsuite/libgomp.c++/nonmonotonic-2.C: New test.
5975 * testsuite/libgomp.c++/pr66199-3.C: New test.
5976 * testsuite/libgomp.c++/pr66199-4.C: New test.
5977 * testsuite/libgomp.c++/pr66199-5.C: New test.
5978 * testsuite/libgomp.c++/pr66199-6.C: New test.
5979 * testsuite/libgomp.c++/pr66199-7.C: New test.
5980 * testsuite/libgomp.c++/pr66199-8.C: New test.
5981 * testsuite/libgomp.c++/pr66199-9.C: New test.
5982 * testsuite/libgomp.c++/reduction-11.C: New test.
5983 * testsuite/libgomp.c++/reduction-12.C: New test.
5984 * testsuite/libgomp.c++/target-13.C: New test.
5985 * testsuite/libgomp.c++/target-14.C: New test.
5986 * testsuite/libgomp.c++/target-15.C: New test.
5987 * testsuite/libgomp.c++/target-16.C: New test.
5988 * testsuite/libgomp.c++/target-17.C: New test.
5989 * testsuite/libgomp.c++/target-18.C: New test.
5990 * testsuite/libgomp.c++/target-19.C: New test.
5991
ccc8282b
NS
59922015-11-04 Nathan Sidwell <nathan@codesourcery.com>
5993
5994 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Fix dimensions
5995 and reduction copy.
5996 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
5997 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
5998 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
5999 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6000 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: Likewise.
6001 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
6002 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
6003 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6004 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
6005 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c: Likewise.
6006 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
6007 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
6008 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
6009 * testsuite/libgomp.oacc-c-c++-common/parallel-dims.c: New.
6010
5d6823a2
NS
60112015-11-04 Nathan Sidwell <nathan@codesourcery.com>
6012
6013 * libgomp.oacc-c-c++-common/loop-red-g-1.c: New.
6014 * libgomp.oacc-c-c++-common/loop-red-gwv-1.c: New.
6015 * libgomp.oacc-c-c++-common/loop-red-v-1.c: New.
6016 * libgomp.oacc-c-c++-common/loop-red-v-2.c: New.
6017 * libgomp.oacc-c-c++-common/loop-red-w-1.c: New.
6018 * libgomp.oacc-c-c++-common/loop-red-w-2.c: New.
6019 * libgomp.oacc-c-c++-common/loop-red-wv-1.c: New.
6020 * libgomp.oacc-fortran/reduction-5.f90: Avoid reference var.
6021
5c06742f
NS
60222015-11-03 Nathan Sidwell <nathan@codesourcery.com>
6023
6024 * libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
6025 * plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
6026 (GOMP_OFFLOAD_openacc_parallel): Likewise.
6027 * oacc-host.c (host_openacc_exec): Likewise.
6028 * oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
6029
4bf9e5a8
TS
60302015-11-03 Julian Brown <julian@codesourcery.com>
6031 Thomas Schwinge <thomas@codesourcery.com>
6032
6033 * testsuite/libgomp.oacc-c-c++-common/par-reduction-1.c: New file.
6034 * testsuite/libgomp.oacc-c-c++-common/par-reduction-2.c: Likewise.
6035 * testsuite/libgomp.oacc-c-c++-common/worker-single-1a.c:
6036 Likewise.
6037 * testsuite/libgomp.oacc-c-c++-common/worker-single-4.c: Likewise.
6038 * testsuite/libgomp.oacc-c-c++-common/worker-single-6.c: Likewise.
6039
60402015-11-03 James Norris <jnorris@codesourcery.com>
6041
6042 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-1.c: New
6043 file.
6044 * testsuite/libgomp.oacc-c-c++-common/atomic_capture-2.c:
6045 Likewise.
6046 * testsuite/libgomp.oacc-c-c++-common/atomic_rw-1.c: Likewise.
6047 * testsuite/libgomp.oacc-c-c++-common/atomic_update-1.c: Likewise.
6048 * testsuite/libgomp.oacc-fortran/atomic_capture-1.f90: Likewise.
6049 * testsuite/libgomp.oacc-fortran/atomic_rw-1.f90: New file.
6050 * testsuite/libgomp.oacc-fortran/atomic_update-1.f90: Likewise.
6051
a0e701d8
NS
60522015-10-29 Nathan Sidwell <nathan@codesourcery.com>
6053
6054 * openacc.h (enum acc_device_t): Reformat. Ensure layout
6055 compatibility.
6056 (enum acc_async_t): Reformat.
6057 (acc_on_device): Declare compatible with builtin and provide C++
6058 wrapper.
6059 * testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: New.
6060
41e977ac
TS
60612015-10-29 Thomas Schwinge <thomas@codesourcery.com>
6062 Cesar Philippidis <cesar@codesourcery.com>
6063
6064 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: Rename to...
6065 * testsuite/libgomp.oacc-c-c++-common/combined-directives-1.c:
6066 ... this. Add a description of the test at the top of the file.
6067 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Rename file to...
6068 * testsuite/libgomp.oacc-fortran/combined-directives-1.f90:
6069 ... this. Add a description of the test at the top of the file.
6070
e3091406
NS
60712015-10-28 Nathan Sidwell <nathan@codesourcery.com>
6072
6073 * testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: New.
6074 * testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: New.
6075 * testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: New.
6076 * testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: New.
6077 * testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: New.
6078 * testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: New.
6079
a1c1908b
NS
60802015-10-27 Nathan Sidwell <nathan@codesourcery.com>
6081
6082 * plugin/plugin-nvptx.c (nvptx_exec): Remove check on compute
6083 dimensions.
6084
b3962a4a
TS
60852015-10-27 Thomas Schwinge <thomas@codesourcery.com>
6086
6087 PR testsuite/68063
6088 * testsuite/libgomp.c++/member-1.C (A::m1): Add missing private clause.
6089
88bae6f4
TS
60902015-10-27 James Norris <jnorris@codesourcery.com>
6091
6092 * testsuite/libgomp.oacc-c-c++-common/combdir-1.c: New file.
6093 * testsuite/libgomp.oacc-fortran/combdir-1.f90: Likewise.
6094
8baa7864
TS
60952015-10-26 Thomas Schwinge <thomas@codesourcery.com>
6096
bdeb752c
TS
6097 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Print to stderr.
6098 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6099
ecd4fd43
TS
6100 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Remove explicit
6101 acc_device_nvidia usage.
6102 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
6103 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6104 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
6105
aa8b7d30
TS
6106 * oacc-init.c (acc_shutdown): Call gomp_init_targets_once.
6107 * testsuite/libgomp.oacc-c-c++-common/lib-8.c: New file.
6108
7c8f138d
TS
6109 PR libgomp/66518
6110 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Resolve XFAIL.
6111
8baa7864
TS
6112 PR libgomp/65437
6113 PR libgomp/66518
6114 * oacc-mem.c (update_dev_host): Call goacc_lazy_initialize.
6115 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Remove XFAIL.
6116
88ebcde5
TV
61172015-10-23 Tom de Vries <tom@codesourcery.com>
6118
6119 PR testsuite/68063
6120 * testsuite/libgomp.c++/member-2.C (A::m1): Add missing private clause.
6121
9ef83c04
NS
61222015-10-20 Nathan Sidwell <nathan@codesourcery.com>
6123
6124 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Set sane
6125 vector_length.
6126 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
6127
3837c6d6
IV
61282015-10-14 Ilya Verbin <ilya.verbin@intel.com>
6129 Aleksander Ivanushenko <aleksander.ivanushenko@intel.com>
6130
6131 * target.c (gomp_map_vars): Initialize tgt->tgt_start and tgt->tgt_end
6132 to 0 when mapnum is 0.
6133
ac8a1965
SH
61342015-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
6135
6136 * fortran.c (omp_get_place_proc_ids_, omp_get_partition_place_nums_):
6137 Cast to int from int32_t.
6138
d9a6bd32
JJ
61392015-10-13 Jakub Jelinek <jakub@redhat.com>
6140 Aldy Hernandez <aldyh@redhat.com>
6141 Ilya Verbin <ilya.verbin@intel.com>
6142
6143 * config/linux/affinity.c (omp_get_place_num_procs,
6144 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6145 * config/linux/doacross.h: New file.
6146 * config/posix/affinity.c (omp_get_place_num_procs,
6147 omp_get_place_proc_ids, gomp_get_place_proc_ids_8): New functions.
6148 * config/posix/doacross.h: New file.
6149 * env.c: Include gomp-constants.h.
6150 (struct gomp_task_icv): Rename run_sched_modifier to
6151 run_sched_chunk_size.
6152 (gomp_max_task_priority_var): New variable.
6153 (parse_schedule): Rename run_sched_modifier to run_sched_chunk_size.
6154 (handle_omp_display_env): Change _OPENMP value from 201307 to
6155 201511. Print OMP_MAX_TASK_PRIORITY.
6156 (initialize_env): Parse OMP_MAX_TASK_PRIORITY.
6157 (omp_set_schedule, omp_get_schedule): Rename modifier argument to
6158 chunk_size and run_sched_modifier to run_sched_chunk_size.
6159 (omp_get_max_task_priority, omp_get_initial_device,
6160 omp_get_num_places, omp_get_place_num, omp_get_partition_num_places,
6161 omp_get_partition_place_nums): New functions.
6162 * fortran.c (omp_set_schedule_, omp_set_schedule_8_,
6163 omp_get_schedule_, omp_get_schedule_8_): Rename modifier argument
6164 to chunk_size.
6165 (omp_get_num_places_, omp_get_place_num_procs_,
6166 omp_get_place_num_procs_8_, omp_get_place_proc_ids_,
6167 omp_get_place_proc_ids_8_, omp_get_place_num_,
6168 omp_get_partition_num_places_, omp_get_partition_place_nums_,
6169 omp_get_partition_place_nums_8_, omp_get_initial_device_,
6170 omp_get_max_task_priority_): New functions.
6171 * libgomp_g.h (GOMP_loop_doacross_static_start,
6172 GOMP_loop_doacross_dynamic_start, GOMP_loop_doacross_guided_start,
6173 GOMP_loop_doacross_runtime_start, GOMP_loop_ull_doacross_static_start,
6174 GOMP_loop_ull_doacross_dynamic_start,
6175 GOMP_loop_ull_doacross_guided_start,
6176 GOMP_loop_ull_doacross_runtime_start, GOMP_doacross_post,
6177 GOMP_doacross_wait, GOMP_doacross_ull_post, GOMP_doacross_wait,
6178 GOMP_taskloop, GOMP_taskloop_ull, GOMP_target_41,
6179 GOMP_target_data_41, GOMP_target_update_41,
6180 GOMP_target_enter_exit_data): New prototypes.
6181 (GOMP_task): Add prototype argument.
6182 * libgomp.h (_LIBGOMP_CHECKING_): Define to 0 if not yet defined.
6183 (struct gomp_doacross_work_share): New type.
6184 (struct gomp_work_share): Add doacross field.
6185 (struct gomp_task_icv): Rename run_sched_modifier to
6186 run_sched_chunk_size.
6187 (enum gomp_task_kind): Rename GOMP_TASK_IFFALSE to
6188 GOMP_TASK_UNDEFERRED. Add comments.
6189 (struct gomp_task_depend_entry): Add comments.
6190 (struct gomp_task): Likewise.
6191 (struct gomp_taskgroup): Likewise.
6192 (struct gomp_target_task): New type.
6193 (struct gomp_team): Add comment.
6194 (gomp_get_place_proc_ids_8, gomp_doacross_init,
6195 gomp_doacross_ull_init, gomp_task_maybe_wait_for_dependencies,
6196 gomp_create_target_task, gomp_target_task_fn): New prototypes.
6197 (struct target_var_desc): New type.
6198 (struct target_mem_desc): Adjust comment. Use struct
6199 target_var_desc instead of splay_tree_key for list.
6200 (REFCOUNT_INFINITY): Define.
6201 (struct splay_tree_key_s): Remove copy_from field.
6202 (struct gomp_device_descr): Add dev2dev_func field.
6203 (enum gomp_map_vars_kind): New enum.
6204 (gomp_map_vars): Add one argument.
6205 * libgomp.map (OMP_4.5): Export omp_get_max_task_priority,
6206 omp_get_max_task_priority_, omp_get_num_places, omp_get_num_places_,
6207 omp_get_place_num_procs, omp_get_place_num_procs_,
6208 omp_get_place_num_procs_8_, omp_get_place_proc_ids,
6209 omp_get_place_proc_ids_, omp_get_place_proc_ids_8_, omp_get_place_num,
6210 omp_get_place_num_, omp_get_partition_num_places,
6211 omp_get_partition_num_places_, omp_get_partition_place_nums,
6212 omp_get_partition_place_nums_, omp_get_partition_place_nums_8_,
6213 omp_get_initial_device, omp_get_initial_device_, omp_target_alloc,
6214 omp_target_free, omp_target_is_present, omp_target_memcpy,
6215 omp_target_memcpy_rect, omp_target_associate_ptr and
6216 omp_target_disassociate_ptr.
6217 (GOMP_4.0.2): Renamed to ...
6218 (GOMP_4.5): ... this. Export GOMP_target_41, GOMP_target_data_41,
6219 GOMP_target_update_41, GOMP_target_enter_exit_data, GOMP_taskloop,
6220 GOMP_taskloop_ull, GOMP_loop_doacross_dynamic_start,
6221 GOMP_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6222 GOMP_loop_doacross_static_start, GOMP_doacross_post,
6223 GOMP_doacross_wait, GOMP_loop_ull_doacross_dynamic_start,
6224 GOMP_loop_ull_doacross_guided_start,
6225 GOMP_loop_ull_doacross_runtime_start,
6226 GOMP_loop_ull_doacross_static_start, GOMP_doacross_ull_post and
6227 GOMP_doacross_ull_wait.
6228 * libgomp.texi: Document omp_get_max_task_priority.
6229 Rename modifier argument to chunk_size for omp_set_schedule and
6230 omp_get_schedule. Document OMP_MAX_TASK_PRIORITY env var.
6231 * loop.c (GOMP_loop_runtime_start): Adjust for run_sched_modifier
6232 to run_sched_chunk_size renaming.
6233 (GOMP_loop_ordered_runtime_start): Likewise.
6234 (gomp_loop_doacross_static_start, gomp_loop_doacross_dynamic_start,
6235 gomp_loop_doacross_guided_start, GOMP_loop_doacross_runtime_start,
6236 GOMP_parallel_loop_runtime_start): New functions.
6237 (GOMP_parallel_loop_runtime): Adjust for run_sched_modifier
6238 to run_sched_chunk_size renaming.
6239 (GOMP_loop_doacross_static_start, GOMP_loop_doacross_dynamic_start,
6240 GOMP_loop_doacross_guided_start): New functions or aliases.
6241 * loop_ull.c (GOMP_loop_ull_runtime_start): Adjust for
6242 run_sched_modifier to run_sched_chunk_size renaming.
6243 (GOMP_loop_ull_ordered_runtime_start): Likewise.
6244 (gomp_loop_ull_doacross_static_start,
6245 gomp_loop_ull_doacross_dynamic_start,
6246 gomp_loop_ull_doacross_guided_start,
6247 GOMP_loop_ull_doacross_runtime_start): New functions.
6248 (GOMP_loop_ull_doacross_static_start,
6249 GOMP_loop_ull_doacross_dynamic_start,
6250 GOMP_loop_ull_doacross_guided_start): New functions or aliases.
6251 * oacc-mem.c (acc_map_data, present_create_copy,
6252 gomp_acc_insert_pointer): Pass GOMP_MAP_VARS_OPENACC instead of false
6253 to gomp_map_vars.
6254 (gomp_acc_remove_pointer): Use copy_from from target_var_desc.
6255 * oacc-parallel.c (GOACC_data_start): Pass GOMP_MAP_VARS_OPENACC
6256 instead of false to gomp_map_vars.
6257 (GOACC_parallel_keyed): Likewise. Use copy_from from target_var_desc.
6258 * omp.h.in (omp_lock_hint_t): New type.
6259 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6260 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6261 omp_get_place_num, omp_get_partition_num_places,
6262 omp_get_partition_place_nums, omp_get_initial_device,
6263 omp_get_max_task_priority, omp_target_alloc, omp_target_free,
6264 omp_target_is_present, omp_target_memcpy, omp_target_memcpy_rect,
6265 omp_target_associate_ptr, omp_target_disassociate_ptr): New
6266 prototypes.
6267 * omp_lib.f90.in (omp_lock_hint_kind): New parameter.
6268 (omp_lock_hint_none, omp_lock_hint_uncontended,
6269 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6270 omp_lock_hint_speculative): New parameters.
6271 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6272 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6273 omp_get_place_num, omp_get_partition_num_places,
6274 omp_get_partition_place_nums, omp_get_initial_device,
6275 omp_get_max_task_priority): New interfaces.
6276 (omp_set_schedule, omp_get_schedule): Rename modifier argument
6277 to chunk_size.
6278 * omp_lib.h.in (omp_lock_hint_kind): New parameter.
6279 (omp_lock_hint_none, omp_lock_hint_uncontended,
6280 omp_lock_hint_contended, omp_lock_hint_nonspeculative,
6281 omp_lock_hint_speculative): New parameters.
6282 (omp_init_lock_with_hint, omp_init_nest_lock_with_hint,
6283 omp_get_num_places, omp_get_place_num_procs, omp_get_place_proc_ids,
6284 omp_get_place_num, omp_get_partition_num_places,
6285 omp_get_partition_place_nums, omp_get_initial_device,
6286 omp_get_max_task_priority): New functions and subroutines.
6287 * ordered.c: Include stdarg.h and string.h.
6288 (MAX_COLLAPSED_BITS): Define.
6289 (gomp_doacross_init, GOMP_doacross_post, GOMP_doacross_wait,
6290 gomp_doacross_ull_init, GOMP_doacross_ull_post,
6291 GOMP_doacross_ull_wait): New functions.
6292 * target.c: Include errno.h.
6293 (resolve_device): If device is not initialized, call
6294 gomp_init_device on it.
6295 (gomp_map_lookup): New function.
6296 (gomp_map_vars_existing): Add tgt_var argument, fill it in.
6297 Don't bump refcount if REFCOUNT_INFINITY. Handle
6298 GOMP_MAP_ALWAYS_TO_P.
6299 (get_kind): Rename is_openacc argument to short_mapkind.
6300 (gomp_map_pointer): Use gomp_map_lookup.
6301 (gomp_map_fields_existing): New function.
6302 (gomp_map_vars): Rename is_openacc argument to short_mapkind
6303 and is_target to pragma_kind. Handle GOMP_MAP_VARS_ENTER_DATA,
6304 handle GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_STRUCT,
6305 GOMP_MAP_USE_DEVICE_PTR, GOMP_MAP_ZERO_LEN_ARRAY_SECTION.
6306 Adjust for tgt->list changed type and copy_from living in there.
6307 (gomp_copy_from_async): Adjust for tgt->list changed type and
6308 copy_from living in there.
6309 (gomp_unmap_vars): Likewise.
6310 (gomp_update): Likewise. Rename is_openacc argument to
6311 short_mapkind. Don't fail if object is not mapped.
6312 (gomp_load_image_to_device): Initialize refcount to
6313 REFCOUNT_INFINITY.
6314 (gomp_target_fallback): New function.
6315 (gomp_get_target_fn_addr): Likewise.
6316 (GOMP_target): Adjust gomp_map_vars caller, use
6317 gomp_get_target_fn_addr and gomp_target_fallback.
6318 (GOMP_target_41): New function.
6319 (gomp_target_data_fallback): New function.
6320 (GOMP_target_data): Use it, adjust gomp_map_vars caller.
6321 (GOMP_target_data_41): New function.
6322 (GOMP_target_update): Adjust gomp_update caller.
6323 (GOMP_target_update_41): New function.
6324 (gomp_exit_data, GOMP_target_enter_exit_data,
6325 gomp_target_task_fn, omp_target_alloc, omp_target_free,
6326 omp_target_is_present, omp_target_memcpy,
6327 omp_target_memcpy_rect_worker, omp_target_memcpy_rect,
6328 omp_target_associate_ptr, omp_target_disassociate_ptr,
6329 gomp_load_plugin_for_device): New functions.
6330 * task.c: Include gomp-constants.h. Include taskloop.c
6331 twice to get GOMP_taskloop and GOMP_taskloop_ull definitions.
6332 (gomp_task_handle_depend): New function.
6333 (GOMP_task): Use it. Add priority argument. Use
6334 gomp-constant.h constants instead of hardcoded numbers.
6335 Rename GOMP_TASK_IFFALSE to GOMP_TASK_UNDEFERRED.
6336 (gomp_create_target_task): New function.
6337 (verify_children_queue, verify_taskgroup_queue,
6338 verify_task_queue): New functions.
6339 (gomp_task_run_pre): Call verify_*_queue functions.
6340 If an upcoming tied task is about to leave the sibling or
6341 taskgroup queues in an invalid state, adjust appropriately.
6342 Remove taskgroup argument. Add comments.
6343 (gomp_task_run_post_handle_dependers): Add comments.
6344 (gomp_task_run_post_remove_parent): Likewise.
6345 (gomp_barrier_handle_tasks): Adjust gomp_task_run_pre caller.
6346 (GOMP_taskwait): Likewise. Add comments.
6347 (gomp_task_maybe_wait_for_dependencies): Fix scheduling
6348 problem such that the first non parent_depends_on task does not
6349 end up at the end of the children queue.
6350 (GOMP_taskgroup_start): Rename GOMP_TASK_IFFALSE to
6351 GOMP_TASK_UNDEFERRED.
6352 (GOMP_taskgroup_end): Adjust gomp_task_run_pre caller.
6353 * taskloop.c: New file.
6354 * testsuite/lib/libgomp.exp
6355 (check_effective_target_offload_device_nonshared_as): New proc.
6356 * testsuite/libgomp.c/affinity-2.c: New test.
6357 * testsuite/libgomp.c/doacross-1.c: New test.
6358 * testsuite/libgomp.c/doacross-2.c: New test.
6359 * testsuite/libgomp.c/examples-4/declare_target-1.c (fib_wrapper):
6360 Add map clause to target.
6361 * testsuite/libgomp.c/examples-4/declare_target-4.c (accum): Likewise.
6362 * testsuite/libgomp.c/examples-4/declare_target-5.c (accum): Likewise.
6363 * testsuite/libgomp.c/examples-4/device-1.c (main): Likewise.
6364 * testsuite/libgomp.c/examples-4/device-3.c (main): Likewise.
6365 * testsuite/libgomp.c/examples-4/target_data-3.c (gramSchmidt):
6366 Likewise.
6367 * testsuite/libgomp.c/examples-4/teams-2.c (dotprod): Likewise.
6368 * testsuite/libgomp.c/examples-4/teams-3.c (dotprod): Likewise.
6369 * testsuite/libgomp.c/examples-4/teams-4.c (dotprod): Likewise.
6370 * testsuite/libgomp.c/for-2.h (OMPTGT, OMPTO, OMPFROM): Define if
6371 not defined. Use those where needed.
6372 * testsuite/libgomp.c/for-4.c: New test.
6373 * testsuite/libgomp.c/for-5.c: New test.
6374 * testsuite/libgomp.c/for-6.c: New test.
6375 * testsuite/libgomp.c/linear-1.c: New test.
6376 * testsuite/libgomp.c/ordered-4.c: New test.
6377 * testsuite/libgomp.c/pr66199-2.c (f2): Adjust for linear clause
6378 only allowed on the loop iterator.
6379 * testsuite/libgomp.c/pr66199-3.c: New test.
6380 * testsuite/libgomp.c/pr66199-4.c: New test.
6381 * testsuite/libgomp.c/reduction-7.c: New test.
6382 * testsuite/libgomp.c/reduction-8.c: New test.
6383 * testsuite/libgomp.c/reduction-9.c: New test.
6384 * testsuite/libgomp.c/reduction-10.c: New test.
6385 * testsuite/libgomp.c/target-1.c (fn2, fn3, fn4): Add
6386 map(tofrom:s).
6387 * testsuite/libgomp.c/target-2.c (fn2, fn3, fn4): Likewise.
6388 * testsuite/libgomp.c/target-7.c (foo): Add map(h) where needed.
6389 * testsuite/libgomp.c/target-11.c: New test.
6390 * testsuite/libgomp.c/target-12.c: New test.
6391 * testsuite/libgomp.c/target-13.c: New test.
6392 * testsuite/libgomp.c/target-14.c: New test.
6393 * testsuite/libgomp.c/target-15.c: New test.
6394 * testsuite/libgomp.c/target-16.c: New test.
6395 * testsuite/libgomp.c/target-17.c: New test.
6396 * testsuite/libgomp.c/target-18.c: New test.
6397 * testsuite/libgomp.c/target-19.c: New test.
6398 * testsuite/libgomp.c/target-20.c: New test.
6399 * testsuite/libgomp.c/target-21.c: New test.
6400 * testsuite/libgomp.c/target-22.c: New test.
6401 * testsuite/libgomp.c/target-23.c: New test.
6402 * testsuite/libgomp.c/target-24.c: New test.
6403 * testsuite/libgomp.c/target-25.c: New test.
6404 * testsuite/libgomp.c/target-26.c: New test.
6405 * testsuite/libgomp.c/target-27.c: New test.
6406 * testsuite/libgomp.c/taskloop-1.c: New test.
6407 * testsuite/libgomp.c/taskloop-2.c: New test.
6408 * testsuite/libgomp.c/taskloop-3.c: New test.
6409 * testsuite/libgomp.c/taskloop-4.c: New test.
6410 * testsuite/libgomp.c++/ctor-13.C: New test.
6411 * testsuite/libgomp.c++/doacross-1.C: New test.
6412 * testsuite/libgomp.c++/examples-4/declare_target-2.C:
6413 Replace offload_device with offload_device_nonshared_as.
6414 * testsuite/libgomp.c++/for-12.C: New test.
6415 * testsuite/libgomp.c++/for-13.C: New test.
6416 * testsuite/libgomp.c++/for-14.C: New test.
6417 * testsuite/libgomp.c++/linear-1.C: New test.
6418 * testsuite/libgomp.c++/member-1.C: New test.
6419 * testsuite/libgomp.c++/member-2.C: New test.
6420 * testsuite/libgomp.c++/member-3.C: New test.
6421 * testsuite/libgomp.c++/member-4.C: New test.
6422 * testsuite/libgomp.c++/member-5.C: New test.
6423 * testsuite/libgomp.c++/ordered-1.C: New test.
6424 * testsuite/libgomp.c++/reduction-5.C: New test.
6425 * testsuite/libgomp.c++/reduction-6.C: New test.
6426 * testsuite/libgomp.c++/reduction-7.C: New test.
6427 * testsuite/libgomp.c++/reduction-8.C: New test.
6428 * testsuite/libgomp.c++/reduction-9.C: New test.
6429 * testsuite/libgomp.c++/reduction-10.C: New test.
6430 * testsuite/libgomp.c++/reference-1.C: New test.
6431 * testsuite/libgomp.c++/simd14.C: New test.
6432 * testsuite/libgomp.c++/target-2.C (fn2): Add map(tofrom: s) clause.
6433 * testsuite/libgomp.c++/target-5.C: New test.
6434 * testsuite/libgomp.c++/target-6.C: New test.
6435 * testsuite/libgomp.c++/target-7.C: New test.
6436 * testsuite/libgomp.c++/target-8.C: New test.
6437 * testsuite/libgomp.c++/target-9.C: New test.
6438 * testsuite/libgomp.c++/target-10.C: New test.
6439 * testsuite/libgomp.c++/target-11.C: New test.
6440 * testsuite/libgomp.c++/target-12.C: New test.
6441 * testsuite/libgomp.c++/taskloop-1.C: New test.
6442 * testsuite/libgomp.c++/taskloop-2.C: New test.
6443 * testsuite/libgomp.c++/taskloop-3.C: New test.
6444 * testsuite/libgomp.c++/taskloop-4.C: New test.
6445 * testsuite/libgomp.c++/taskloop-5.C: New test.
6446 * testsuite/libgomp.c++/taskloop-6.C: New test.
6447 * testsuite/libgomp.c++/taskloop-7.C: New test.
6448 * testsuite/libgomp.c++/taskloop-8.C: New test.
6449 * testsuite/libgomp.c++/taskloop-9.C: New test.
6450 * testsuite/libgomp.fortran/affinity1.f90: New test.
6451 * testsuite/libgomp.fortran/affinity2.f90: New test.
6452
1f600fea
TV
64532015-10-13 Tom de Vries <tom@codesourcery.com>
6454
6455 PR tree-optimization/67476
6456 * testsuite/libgomp.c/autopar-3.c: New test.
6457 * testsuite/libgomp.c/autopar-4.c: New test.
6458 * testsuite/libgomp.c/autopar-5.c: New test.
6459 * testsuite/libgomp.c/autopar-6.c: New test.
6460 * testsuite/libgomp.c/autopar-7.c: New test.
6461 * testsuite/libgomp.c/autopar-8.c: New test.
6462
058a654b
JN
64632015-10-12 James Norris <jnorris@codesourcery.com>
6464
6465 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: Fix loop
6466 initializer.
6467
9e531d37
DM
64682015-10-09 David Malcolm <dmalcolm@redhat.com>
6469
6470 * testsuite/lib/libgomp.exp: Load multiline.exp before prune.exp,
6471 using load_gcc_lib.
6472
113020dc
TS
64732015-10-02 Thomas Schwinge <thomas@codesourcery.com>
6474
6475 * oacc-ptx.h: Remove file, moving its content into...
6476 * config/nvptx/fortran.c: ... here...
6477 * config/nvptx/oacc-init.c: ..., here...
6478 * config/nvptx/oacc-parallel.c: ..., and here.
6479 * config/nvptx/openacc.f90: New file.
6480 * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h".
6481 (link_ptx): Don't link in predefined bits of PTX code.
6482
cc3cd79b
NS
64832015-09-30 Nathan Sidwell <nathan@codesourcery.com>
6484 Bernd Schmidt <bernds@codesourcery.com>
6485
6486 * plugin/plugin-nvptx.c (targ_fn_launch): Use GOMP_DIM_MAX.
6487 (struct targ_ptx_obj): New.
6488 (nvptx_tdata): Move earlier, change data format.
6489 (link_ptx): Take targ_ptx_obj ptr and count. Allow multiple
6490 objects.
6491 (GOMP_OFFLOAD_load_image): Adjust.
6492
4e2a5450
TS
64932015-09-30 Thomas Schwinge <thomas@codesourcery.com>
6494
6495 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Add checkpoint.
6496 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
6497 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
6498 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
6499 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
6500 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
6501 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
6502 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
6503 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
6504 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
6505 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
6506 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
6507 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
6508 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
6509 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
6510 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
6511 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
6512 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
6513 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
6514 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
6515 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
6516 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
6517 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
6518 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
6519 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
6520 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
6521 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
6522 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
6523 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
6524 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
6525 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
6526 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
6527 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
6528 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
6529 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
6530 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
6531 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
6532 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
6533 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
6534 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
6535 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
6536 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
6537 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
6538 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
6539 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
6540 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
6541 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
6542 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
6543 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
6544 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
6545 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
6546 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
6547 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
6548 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
6549 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
6550 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
6551 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
6552 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
6553 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
6554 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
6555 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
6556 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
6557 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
6558
164453bb
NS
65592015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6560
6561 * oacc-init.c (acc_on_device): Force optimization level.
6562
a12a0437
NS
65632015-09-29 Nathan Sidwell <nathan@codesourcery.com>
6564
6565 * plugin/plugin-nvptx.c (ARRAYSIZE): Delete.
6566 (cuda_errlist): Delete.
6567 (cuda_error): Reimplement.
6568
3e32ee19
NS
65692015-09-28 Nathan Sidwell <nathan@codesourcery.com>
6570
6571 * libgomp.h (acc_dispatch_t): Replace separate geometry args with
6572 array.
6573 * libgomp.map (GOACC_parallel_keyed): New.
6574 * oacc-parallel.c (goacc_wait): Take pointer to va_list. Adjust
6575 all callers.
6576 (GOACC_parallel_keyed): New interface. Lose geometry arguments
6577 and take keyed varargs list. Adjust call to exec_func.
6578 (GOACC_parallel): Force host fallback.
6579 * libgomp_g.h (GOACC_parallel): Remove.
6580 (GOACC_parallel_keyed): Declare.
6581 * plugin/plugin-nvptx.c (struct targ_fn_launch): New struct.
93d90219 6582 (struct targ_gn_descriptor): Replace name field with launch field.
3e32ee19
NS
6583 (nvptx_exec): Lose separate geometry args, take array. Process
6584 dynamic dimensions and adjust.
6585 (struct nvptx_tdata): Replace fn_names field with fn_descs.
6586 (GOMP_OFFLOAD_load_image): Adjust for change in function table
6587 data.
6588 (GOMP_OFFLOAD_openacc_parallel): Adjust for change in dimension
6589 passing.
6590 * oacc-host.c (host_openacc_exec): Adjust for change in dimension
6591 passing.
6592
6bb4c3e2
CLT
65932015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
6594
6595 PR libgomp/67141
6596 * oacc-int.h (goacc_host_init): Add declaration.
6597 * oacc-host.c (goacc_host_init): Remove static and constructor attribute.
6598 * oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
6599
74032f47 66002015-09-08 Aditya Kumar <hiraditya@msn.com>
34b18169 6601 Sebastian Pop <s.pop@samsung.com>
74032f47 6602
93d90219 6603 * testsuite/libgomp.graphite/bounds.c (int foo): Modified test case to
74032f47
AK
6604 match o/p.
6605 * testsuite/libgomp.graphite/force-parallel-1.c (void parloop): Same.
6606 * testsuite/libgomp.graphite/force-parallel-4.c: Same.
6607 * testsuite/libgomp.graphite/force-parallel-5.c: Same.
6608 * testsuite/libgomp.graphite/force-parallel-7.c: Same.
6609 * testsuite/libgomp.graphite/force-parallel-8.c: Same.
6610
97875f4a
JJ
66112015-09-03 Jakub Jelinek <jakub@redhat.com>
6612
6613 * configure.tgt: Add missing ;; in between nvptx and rtems
6614 snippets.
6615
06441dd5
SH
66162015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6617
6618 * config/posix/pool.h (gomp_adjust_thread_attr): New.
6619 * config/rtems/pool.h (gomp_adjust_thread_attr): Likewise.
6620 (gomp_thread_pool_reservoir): Add priority member.
6621 * confi/rtems/proc.c (allocate_thread_pool_reservoir): Add
6622 priority.
6623 (parse_thread_pools): Likewise.
6624 * team.c (gomp_team_start): Call configuration provided
6625 gomp_adjust_thread_attr(). Destroy thread attributes if
6626 necessary.
6627 * libgomp.texi: Document GOMP_RTEMS_THREAD_POOLS.
6628
66c59f92
SH
66292015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6630
6631 * config/posix/pool.h: New.
6632 * config/rtems/pool.h: Likewise.
6633 * config/rtems/proc.c: Likewise.
6634 * libgomp.h (gomp_thread_destructor): Declare.
6635 * team.c: Include configuration provided "pool.h".
6636 (gomp_get_thread_pool): Define in configuration.
6637 (gomp_team_end): Call configuration defined
6638 gomp_release_thread_pool().
6639
13c41b2e
SH
66402015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6641
6642 * config/rtems/bar.c: New.
6643 * config/rtems/bar.h: Likewise.
6644 * config/rtems/mutex.c: Likewise.
6645 * config/rtems/mutex.h: Likewise.
6646 * config/rtems/sem.c: Likewise.
6647 * config/rtems/sem.h: Likewise.
6648 * configure.ac (*-*-rtems*): Check that Newlib provides a proper
6649 <sys/lock.h> header file.
6650 * configure.tgt (*-*-rtems*): Enable RTEMS configuration if
6651 supported by Newlib.
6652 * configure: Regenerate.
6653
7892ec67
SH
66542015-09-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
6655
6656 * team.c (gomp_new_thread_pool): Delete and move content to ...
6657 (gomp_get_thread_pool): ... new function. Allocate and
6658 initialize thread pool on demand.
6659 (get_last_team): Use gomp_get_thread_pool().
6660 (gomp_team_start): Delete thread pool initialization.
6661
1b96e9a4
TV
66622015-09-03 Tom de Vries <tom@codesourcery.com>
6663
6664 PR tree-optimization/65637
6665 * testsuite/libgomp.c/autopar-2.c: New test.
6666
3ff2d74e
TV
66672015-08-29 Tom de Vries <tom@codesourcery.com>
6668
6669 PR tree-optimization/46193
6670 * testsuite/libgomp.c/pr46193.c: New test.
6671
2a21ff19
NS
66722015-08-24 Nathan Sidwell <nathan@codesourcery.com>
6673
6674 libgomp/
6675 * libgomp.map: Add 4.0.2 version.
6676 * target.c (offload_image_descr): Add version field.
6677 (gomp_load_image_to_device): Add version argument. Adjust plugin
6678 call. Improve load mismatch diagnostic.
6679 (gomp_unload_image_from_device): Add version argument. Adjust plugin
6680 call.
6681 (GOMP_offload_regster): Make stub function, move bulk to ...
6682 (GOMP_offload_register_ver): ... here. Process version argument.
6683 (GOMP_offload_unregister): Make stub function, move bulk to ...
6684 (GOMP_offload_unregister_ver): ... here. Process version argument.
6685 (gomp_init_device): Process version field.
6686 (gomp_unload_device): Process version field.
6687 (gomp_load_plugin_for_device): Reimplement DLSYM & DLSYM_OPT
6688 macros. Check plugin version.
6689 * libgomp.h (gomp_device_descr): Add version function field. Adjust
6690 loader and unloader types.
6691 * oacc-host.c: Include gomp-constants.h.
6692 (host_version): New.
6693 (host_load_image, host_unload_image): Adjust.
6694 (host_dispatch): Add host_version.
6695 * plugin/plugin-nvptx.c: Include gomp-constants.h.
6696 (GOMP_OFFLOAD_version): New.
6697 (GOMP_OFFLOAD_load_image): Add version arg and check it.
6698 (GOMP_OFFLOAD_unload_image): Likewise.
6699 * plugin/plugin-host.c: Include gomp-constants.h.
6700 (GOMP_OFFLOAD_version): New.
6701 (GOMP_OFFLOAD_load_image): Add version arg.
6702 (GOMP_OFFLOAD_unload_image): Likewise.
6703
1358a747
TV
67042015-08-24 Tom de Vries <tom@codesourcery.com>
6705
6706 PR tree-optimization/65468
6707 * testsuite/libgomp.oacc-c-c++-common/vector-loop.c: New test.
6708
6be5c241
TV
67092015-08-24 Tom de Vries <tom@codesourcery.com>
6710
6711 PR tree-optimization/65468
6712 * testsuite/libgomp.c/static-chunk-size-one.c: New test.
6713
bfe7ac89
JV
67142015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
6715
6716 PR libgomp/66761
6717 PR libgomp/67303
6718 * iter.c (gomp_iter_dynamic_next): Employ an atomic load.
6719 (gomp_iter_guided_next): Idem.
6720 * iter_ull.c (gomp_iter_ull_dynamic_next): Idem.
6721 (gomp_iter_ull_guided_next): Idem.
6722 * config/linux/wait.h (do_spin): Idem.
6723
b97e78b7
TS
67242015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6725
6726 * libgomp-plugin.h (enum offload_target_type): Remove
6727 OFFLOAD_TARGET_TYPE_HOST_NONSHM.
6728 * openacc.f90 (openacc_kinds): Remove acc_device_host_nonshm.
6729 * openacc.h (enum acc_device_t): Likewise.
6730 * openacc_lib.h: Likewise.
6731 * oacc-init.c (name_of_acc_device_t): Don't handle it.
6732 (acc_on_device): Just use __builtin_acc_on_device.
6733 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Don't forbid usage
6734 of acc_on_device builtin.
6735 * plugin/plugin-host.h: Remove file.
6736 * plugin/plugin-host.c: Likewise, but salvage some content into...
6737 * oacc-host.c: ... this file.
6738 * plugin/Makefrag.am: Don't build libgomp-plugin-host_nonshm.la.
6739 * plugin/configfrag.ac (offload_targets): Don't add host_nonshm.
6740 * Makefile.in: Regenerate.
6741 * configure: Likewise.
6742 * testsuite/lib/libgomp.exp
6743 (check_effective_target_openacc_host_nonshm_selected): Remove.
6744 * testsuite/libgomp.oacc-c++/c++.exp: Don't handle
6745 ACC_DEVICE_TYPE=host_nonshm.
6746 * testsuite/libgomp.oacc-c/c.exp: Likewise.
6747 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
6748 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
6749 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
6750 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
6751 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
6752
44a7d18d
TS
67532015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6754 Jakub Jelinek <jakub@redhat.com>
6755
6756 * config/nvptx/affinity.c: New file.
6757 * config/nvptx/alloc.c: Likewise.
6758 * config/nvptx/bar.c: Likewise.
6759 * config/nvptx/barrier.c: Likewise.
6760 * config/nvptx/critical.c: Likewise.
6761 * config/nvptx/env.c: Likewise.
6762 * config/nvptx/error.c: Likewise.
6763 * config/nvptx/fortran.c: Likewise.
6764 * config/nvptx/iter.c: Likewise.
6765 * config/nvptx/iter_ull.c: Likewise.
6766 * config/nvptx/libgomp-plugin.c: Likewise.
6767 * config/nvptx/lock.c: Likewise.
6768 * config/nvptx/loop.c: Likewise.
6769 * config/nvptx/loop_ull.c: Likewise.
6770 * config/nvptx/mutex.c: Likewise.
6771 * config/nvptx/oacc-async.c: Likewise.
6772 * config/nvptx/oacc-cuda.c: Likewise.
6773 * config/nvptx/oacc-host.c: Likewise.
6774 * config/nvptx/oacc-init.c: Likewise.
6775 * config/nvptx/oacc-mem.c: Likewise.
6776 * config/nvptx/oacc-parallel.c: Likewise.
6777 * config/nvptx/oacc-plugin.c: Likewise.
6778 * config/nvptx/omp-lock.h: Likewise.
6779 * config/nvptx/ordered.c: Likewise.
6780 * config/nvptx/parallel.c: Likewise.
6781 * config/nvptx/proc.c: Likewise.
6782 * config/nvptx/ptrlock.c: Likewise.
6783 * config/nvptx/sections.c: Likewise.
6784 * config/nvptx/sem.c: Likewise.
6785 * config/nvptx/single.c: Likewise.
6786 * config/nvptx/splay-tree.c: Likewise.
6787 * config/nvptx/target.c: Likewise.
6788 * config/nvptx/task.c: Likewise.
6789 * config/nvptx/team.c: Likewise.
6790 * config/nvptx/time.c: Likewise.
6791 * config/nvptx/work.c: Likewise.
6792 * configure.ac: Don't probe pthreads support for host nvptx*-*-*.
6793 * configure: Regenerate.
6794 * configure.tgt (config_path): Set to "nvptx" for target
6795 nvptx*-*-*.
6796
96a2d174
TS
67972015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6798
6799 * testsuite/libgomp.oacc-c-c++-common/vector-type-1.c: New file.
6800
9ebddeb0
NS
68012015-08-03 Nathan Sidwell <nathan@codesourcery.com>
6802
6803 * plugin/plugin-nvptx.c: Don't include dlfcn.h.
6804 (cuda_errlist): Constify.
6805 (errmsg): Move into ...
6806 (cuda_error): ... here. Make smaller.
6807 (_XSTR, _STR): Delete.
6808 (cuda_synames): Delete.
6809 (verify_device_library): Delete.
6810 (nvptx_init): Don't call it.
6811
12efb1d7
TV
68122015-07-28 Tom de Vries <tom@codesourcery.com>
6813
6814 * testsuite/libgomp.c/uns-outer-4.c: New test.
6815
710ee218
CP
68162015-07-24 Cesar Philippidis <cesar@codesourcery.com>
6817
6818 * testsuite/libgomp.c/pr66714.c: New test.
6819
27c4ac7d
MB
68202015-07-22 Maxim Blumenthal <maxim.blumenthal@intel.com>
6821
6822 PR libgomp/66950
6823 * testsuite/libgomp.c/examples-4/simd-7.c (N): Change to 30 from 45.
6824 (fib_ref): New function.
6825 (fib): Correct corner cases in the recursion.
6826 (main): Replace the non-simd loop with fib_ref call.
6827 * testsuite/libgomp.fortran/examples-4/simd-7.f90: (fib_ref): New
6828 subroutine.
6829 (fibonacci): Lower the parameter N to 30. Correct accordingly check
6830 for the last array element value. Replace the non-simd loop with
6831 fib_ref call. Remove redundant b_ref array. Remove the comparison
6832 of the last array element with according Fibonacci sequence element.
6833 (fib): Correct corner cases in the recursion.
6834
22be2349
NS
68352015-07-21 Nathan Sidwell <nathan@codesourcery.com>
6836
6837 * target.c (gomp_offload_image_to_device): Rename to ...
6838 (gomp_load_image_to_device): ... here.
6839 (GOMP_offload_register): Adjust call.
6840 (gomp_init_device): Likewise.
6841 (gomp_unload_image_from_device): New. Broken out of ...
6842 (GOMP_offload_unregister): ... here. Call it.
6843 (gomp_unload_device): New.
6844 * libgomp.h (gomp_unload_device): Declare.
6845 * oacc-init.c (acc_shutdown_1): Unload from device before deleting
6846 mem maps.
6847
f3e9a059
NS
68482015-07-20 Nathan Sidwell <nathan@codesourcery.com>
6849
a091118d
NS
6850 * oacc-parallel.c (GOACC_parallel): Move variadic handling into
6851 wait=-specific if.
6852 (GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
6853 !=0 condition.
6854 (goacc_waits): Move !num_waits handling to ...
6855 (GOACC_wait): ... here, the only caller that might have zero waits.
6856
f3e9a059
NS
6857 * plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
6858 (struct ptx_image_data): Move earlier, add fns field.
6859 (struct ptx_device): Add images and image_lock fields.
6860 (ptx_images, ptx_image_lock): Delete.
6861 (nvptx_open_device): Initialize images and image_lock fields.
6862 (nvptx_close_device): Destroy image_lock.
6863 (GOMP_OFFLOAD_load_image): Register image to device-specific fields.
6864 (GOMP_OFFLOAD_unload_image): Unregister image from device-specific
6865 fields.
6866
afb2d80b
NS
68672015-07-17 Nathan Sidwell <nathan@codesourcery.com>
6868
896c28a7
NS
6869 * target.c (GOMP_offload_register): Use int for device type arg.
6870 (GOMP_offload_unregister): Likewise.
6871
ebe4a560
NS
6872 * target.c (struct_offload_image_descr): Constify host_table.
6873 (gomp_offload_image_to_device): Likewise.
6874 (GOMP_offload_register, GOMP_offload_unregister): Likewise.
6875
afb2d80b
NS
6876 * libgomp.h (gomp_device_descr): Constify target data arguments.
6877 * target.c (struct offload_image_descr): Constify target_data.
6878 (gomp_offload_image_to_device): Likewise.
6879 (GOMP_offload_register): Likewise.
93d90219 6880 (GOMP_offload_unregister): Likewise.
afb2d80b
NS
6881 * plugin/plugin-host.c (GOMP_OFFLOAD_load_image,
6882 GOMP_OFFLOAD_unload_image): Constify target data.
6883 * plugin/plugin-nvptx.c (struct ptx_image_data): Constify target data.
6884 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): Likewise.
6885
a4cb876d
NS
68862015-07-16 Nathan Sidwell <nathan@codesourcery.com>
6887
6888 * plugin/plugin-nvptx.c (link_ptx): Constify string argument.
6889 Workaround driver library const error.
6890 (struct nvptx_tdata, nvptx_tdata_t): New.
6891 (GOMP_OFFLOAD_load_image): Use struct for target_data's real
6892 type.
6893
28ef6a27
MB
68942015-07-15 Maxim Blumenthal <maxim.blumenthal@intel.com>
6895
6896 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
6897 of EPS parameter from integer to real.
6898 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
6899 type of EPS parameter from integer to real.
6900
6dba0113
SH
69012015-07-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
6902
6903 * team.c (get_last_team): New.
6904 (gomp_new_team): Recycle last non-nested team if possible.
6905 (gomp_team_end): Move team work share list free lock destruction
6906 to ...
6907 (free_team): ... here.
6908
4c1cb4da
MB
69092015-07-14 Maxim Blumenthal <maxim.blumenthal@intel.com>
6910
6911 * testsuite/libgomp.c/examples-4/simd-3.c: (main): Change type of res
6912 and ref from int to double. Replaced their comparison with
6913 an inequality of their difference and EPS.
6914 * testsuite/libgomp.c/examples-4/simd-8.c: (main): Replace the
6915 comparison of pri and a reference number with an inequality of their
6916 difference and EPS.
6917 * testsuite/libgomp.fortran/examples-4/simd-3.f90: (main): Replaced
6918 the comparison of sum and sum_ref with an inequality of their
6919 difference and EPS.
6920 * testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Replace
6921 the comparison of pri and a reference number with an inequality of
6922 their difference and EPS.
6923
343587dc
MB
69242015-07-13 Maxim Blumenthal <maxim.blumenthal@intel.com>
6925
6926 * testsuite/libgomp.c++/examples-4/e.53.2.C: Renamed to...
6927 * testsuite/libgomp.c++/examples-4/declare_target-2.C: ...this.
6928 * testsuite/libgomp.c++/examples-4/e.51.5.C: Renamed to...
6929 * testsuite/libgomp.c++/examples-4/target_data-5.C: ...this.
6930 * testsuite/libgomp.c/examples-4/e.56.3.c: Renamed to...
6931 * testsuite/libgomp.c/examples-4/array_sections-3.c: ...this.
6932 * testsuite/libgomp.c/examples-4/e.56.4.c: Renamed to...
6933 * testsuite/libgomp.c/examples-4/array_sections-4.c: ...this.
6934 * testsuite/libgomp.c/examples-4/e.55.1.c: Renamed to...
6935 * testsuite/libgomp.c/examples-4/async_target-1.c: ...this.
6936 * testsuite/libgomp.c/examples-4/e.55.2.c: Renamed to...
6937 * testsuite/libgomp.c/examples-4/async_target-2.c: ...this.
6938 (vec_mult_ref): Remove v1 and v2 arguments, turn them into local
6939 variables.
6940 (vec_mult): Likewise. Add #pragma omp taskwait.
6941 (main): Adjust caller.
6942 * testsuite/libgomp.c/examples-4/e.53.1.c: Renamed to...
6943 * testsuite/libgomp.c/examples-4/declare_target-1.c: ...this.
6944 * testsuite/libgomp.c/examples-4/e.53.3.c: Renamed to...
6945 * testsuite/libgomp.c/examples-4/declare_target-3.c: ...this.
6946 * testsuite/libgomp.c/examples-4/e.53.4.c: Renamed to...
6947 * testsuite/libgomp.c/examples-4/declare_target-4.c: ...this.
6948 * testsuite/libgomp.c/examples-4/e.53.5.c: Renamed to...
6949 * testsuite/libgomp.c/examples-4/declare_target-5.c: ...this.
6950 * testsuite/libgomp.c/examples-4/e.57.1.c: Renamed to...
6951 * testsuite/libgomp.c/examples-4/device-1.c: ...this.
6952 * testsuite/libgomp.c/examples-4/e.57.2.c: Renamed to...
6953 * testsuite/libgomp.c/examples-4/device-2.c: ...this.
6954 * testsuite/libgomp.c/examples-4/e.57.3.c: Renamed to...
6955 * testsuite/libgomp.c/examples-4/device-3.c: ...this.
6956 * testsuite/libgomp.c/examples-4/simd-1.c: New file.
6957 * testsuite/libgomp.c/examples-4/simd-2.c: New file.
6958 * testsuite/libgomp.c/examples-4/simd-3.c: New file.
6959 * testsuite/libgomp.c/examples-4/simd-4.c: New file.
6960 * testsuite/libgomp.c/examples-4/simd-5.c: New file.
6961 * testsuite/libgomp.c/examples-4/simd-6.c: New file.
6962 * testsuite/libgomp.c/examples-4/simd-7.c: New file.
6963 * testsuite/libgomp.c/examples-4/simd-8.c: New file.
6964 * testsuite/libgomp.c/examples-4/e.50.1.c: Renamed to...
6965 * testsuite/libgomp.c/examples-4/target-1.c: ...this.
6966 * testsuite/libgomp.c/examples-4/e.50.2.c: Renamed to...
6967 * testsuite/libgomp.c/examples-4/target-2.c: ...this.
6968 * testsuite/libgomp.c/examples-4/e.50.3.c: Renamed to...
6969 * testsuite/libgomp.c/examples-4/target-3.c: ...this.
6970 * testsuite/libgomp.c/examples-4/e.50.4.c: Renamed to...
6971 * testsuite/libgomp.c/examples-4/target-4.c: ...this.
6972 * testsuite/libgomp.c/examples-4/e.50.5.c: Renamed to...
6973 * testsuite/libgomp.c/examples-4/target-5.c: ...this.
6974 * testsuite/libgomp.c/examples-4/e.51.1.c: Renamed to...
6975 * testsuite/libgomp.c/examples-4/target_data-1.c: ...this.
6976 * testsuite/libgomp.c/examples-4/e.51.2.c: Renamed to...
6977 * testsuite/libgomp.c/examples-4/target_data-2.c: ...this.
6978 * testsuite/libgomp.c/examples-4/e.51.3.c: Renamed to...
6979 * testsuite/libgomp.c/examples-4/target_data-3.c: ...this.
6980 * testsuite/libgomp.c/examples-4/e.51.4.c: Renamed to...
6981 * testsuite/libgomp.c/examples-4/target_data-4.c: ...this.
6982 * testsuite/libgomp.c/examples-4/e.51.6.c: Renamed to...
6983 * testsuite/libgomp.c/examples-4/target_data-6.c: ...this.
6984 * testsuite/libgomp.c/examples-4/e.51.7.c: Renamed to...
6985 * testsuite/libgomp.c/examples-4/target_data-7.c: ...this.
6986 * testsuite/libgomp.c/examples-4/e.52.1.c: Renamed to...
6987 * testsuite/libgomp.c/examples-4/target_update-1.c: ...this.
6988 * testsuite/libgomp.c/examples-4/e.52.2.c: Renamed to...
6989 * testsuite/libgomp.c/examples-4/target_update-2.c: ...this.
6990 * testsuite/libgomp.c/examples-4/task_dep-1.c: New file.
6991 * testsuite/libgomp.c/examples-4/task_dep-2.c: New file.
6992 * testsuite/libgomp.c/examples-4/task_dep-3.c: New file.
6993 * testsuite/libgomp.c/examples-4/task_dep-4.c: New file.
6994 * testsuite/libgomp.c/examples-4/task_dep-5.c: New file.
6995 * testsuite/libgomp.c/examples-4/e.54.2.c: Renamed to...
6996 * testsuite/libgomp.c/examples-4/teams-2.c: ...this.
6997 * testsuite/libgomp.c/examples-4/e.54.3.c: Renamed to...
6998 * testsuite/libgomp.c/examples-4/teams-3.c: ...this.
6999 * testsuite/libgomp.c/examples-4/e.54.4.c: Renamed to...
7000 * testsuite/libgomp.c/examples-4/teams-4.c: ...this.
7001 * testsuite/libgomp.c/examples-4/e.54.5.c: Renamed to...
7002 * testsuite/libgomp.c/examples-4/teams-5.c: ...this.
7003 * testsuite/libgomp.c/examples-4/e.54.6.c: Renamed to...
7004 * testsuite/libgomp.c/examples-4/teams-6.c: ...this.
7005 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Renamed to...
7006 * testsuite/libgomp.fortran/examples-4/array_sections-3.f90: ...this.
7007 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Renamed to...
7008 * testsuite/libgomp.fortran/examples-4/array_sections-4.f90: ...this.
7009 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Renamed to...
7010 * testsuite/libgomp.fortran/examples-4/async_target-1.f90: ...this.
7011 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Renamed to...
7012 * testsuite/libgomp.fortran/examples-4/async_target-2.f90: ...this.
7013 (vec_mult): Add !$omp taskwait.
7014 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Renamed to...
7015 * testsuite/libgomp.fortran/examples-4/declare_target-1.f90: ...this.
7016 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Renamed to...
7017 * testsuite/libgomp.fortran/examples-4/declare_target-2.f90: ...this.
7018 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Renamed to...
7019 * testsuite/libgomp.fortran/examples-4/declare_target-3.f90: ...this.
7020 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Renamed to...
7021 * testsuite/libgomp.fortran/examples-4/declare_target-4.f90: ...this.
7022 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Renamed to...
7023 * testsuite/libgomp.fortran/examples-4/declare_target-5.f90: ...this.
7024 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Renamed to...
7025 * testsuite/libgomp.fortran/examples-4/device-1.f90: ...this.
7026 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Renamed to...
7027 * testsuite/libgomp.fortran/examples-4/device-2.f90: ...this.
7028 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Renamed to...
7029 * testsuite/libgomp.fortran/examples-4/device-3.f90: ...this.
7030 * testsuite/libgomp.fortran/examples-4/simd-1.f90: New file.
7031 * testsuite/libgomp.fortran/examples-4/simd-2.f90: New file.
7032 * testsuite/libgomp.fortran/examples-4/simd-3.f90: New file.
7033 * testsuite/libgomp.fortran/examples-4/simd-4.f90: New file.
7034 * testsuite/libgomp.fortran/examples-4/simd-5.f90: New file.
7035 * testsuite/libgomp.fortran/examples-4/simd-6.f90: New file.
7036 * testsuite/libgomp.fortran/examples-4/simd-7.f90: New file.
7037 * testsuite/libgomp.fortran/examples-4/simd-8.f90: New file.
7038 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: Renamed to...
7039 * testsuite/libgomp.fortran/examples-4/target-1.f90: ...this.
7040 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Renamed to...
7041 * testsuite/libgomp.fortran/examples-4/target-2.f90: ...this.
7042 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Renamed to...
7043 * testsuite/libgomp.fortran/examples-4/target-3.f90: ...this.
7044 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Renamed to...
7045 * testsuite/libgomp.fortran/examples-4/target-4.f90: ...this.
7046 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Renamed to...
7047 * testsuite/libgomp.fortran/examples-4/target-5.f90: ...this.
7048 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Renamed to...
7049 * testsuite/libgomp.fortran/examples-4/target_data-1.f90: ...this.
7050 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Renamed to...
7051 * testsuite/libgomp.fortran/examples-4/target_data-2.f90: ...this.
7052 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Renamed to...
7053 * testsuite/libgomp.fortran/examples-4/target_data-3.f90: ...this.
7054 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Renamed to...
7055 * testsuite/libgomp.fortran/examples-4/target_data-4.f90: ...this.
7056 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Renamed to...
7057 * testsuite/libgomp.fortran/examples-4/target_data-5.f90: ...this.
7058 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Renamed to...
7059 * testsuite/libgomp.fortran/examples-4/target_data-6.f90: ...this.
7060 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Renamed to...
7061 * testsuite/libgomp.fortran/examples-4/target_data-7.f90: ...this.
7062 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Renamed to...
7063 * testsuite/libgomp.fortran/examples-4/target_update-1.f90: ...this.
7064 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Renamed to...
7065 * testsuite/libgomp.fortran/examples-4/target_update-2.f90: ...this.
7066 * testsuite/libgomp.fortran/examples-4/task_dep-1.f90: New file.
7067 * testsuite/libgomp.fortran/examples-4/task_dep-2.f90: New file.
7068 * testsuite/libgomp.fortran/examples-4/task_dep-3.f90: New file.
7069 * testsuite/libgomp.fortran/examples-4/task_dep-4.f90: New file.
7070 * testsuite/libgomp.fortran/examples-4/task_dep-5.f90: New file.
7071 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Renamed to...
7072 * testsuite/libgomp.fortran/examples-4/teams-2.f90: ...this.
7073 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Renamed to...
7074 * testsuite/libgomp.fortran/examples-4/teams-3.f90: ...this.
7075 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Renamed to...
7076 * testsuite/libgomp.fortran/examples-4/teams-4.f90: ...this.
7077 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Renamed to...
7078 * testsuite/libgomp.fortran/examples-4/teams-5.f90: ...this.
7079 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Renamed to...
7080 * testsuite/libgomp.fortran/examples-4/teams-6.f90: ...this.
7081
9f620bf1
TV
70822015-07-10 Tom de Vries <tom@codesourcery.com>
7083
7084 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test.
7085 * testsuite/libgomp.fortran/parloops-exit-first-loop-alt.f95: New test.
7086
a92defda
TS
70872015-07-08 Thomas Schwinge <thomas@codesourcery.com>
7088
7089 PR libgomp/65099
7090 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
7091 in a 64-bit configuration.
7092 * testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
7093 offloading testing if no such device is available.
7094 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7095 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7096
cadb53a5
TV
70972015-07-08 Tom de Vries <tom@codesourcery.com>
7098
7099 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
7100 second call to f.
7101 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7102
712cb0bb
TV
71032015-07-07 Tom de Vries <tom@codesourcery.com>
7104
7105 PR tree-optimization/66642
7106 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
7107 iteration count case.
7108 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
7109 function, factor out of ...
7110 (main): ... here. Test low iteration count case.
7111
e5210c77
SH
71122015-07-06 Sebastian Huber <sebastian.huber@embedded-brains.de>
7113
7114 * libgomp.h (gomp_thread_pool): Comment last_team field.
7115
f70360e7
UB
71162015-07-02 Uros Bizjak <ubizjak@gmail.com>
7117
7118 * testsuite/libgomp.c++/pr66702-1.C: Require
7119 vect_simd_clones effective target.
7120 * testsuite/libgomp.c++/pr66702-2.C: Ditto.
7121
b451c271
TV
71222015-06-30 Tom de Vries <tom@codesourcery.com>
7123
7124 * testsuite/libgomp.oacc-c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7125 already set. Use DEFAULT_CFLAGS in dg-runtest.
7126 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Remove dg-options
7127 "-O2".
7128
f8e89d9f
TV
71292015-06-30 Tom de Vries <tom@codesourcery.com>
7130
7131 * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not
7132 already set. Use DEFAULT_CFLAGS in dg-runtest.
7133 * testsuite/libgomp.c++/atomic-16.C: Remove dg-options "-O2 -fopenmp".
7134 * testsuite/libgomp.c++/pr64824.C: Same.
7135 * testsuite/libgomp.c++/pr64868.C: Same.
7136 * testsuite/libgomp.c++/pr66199-1.C: Same.
7137 * testsuite/libgomp.c++/pr66199-2.C: Same.
7138 * testsuite/libgomp.c++/target-2.C: Same.
7139 * testsuite/libgomp.c++/for-7.C: Use dg-additional-options for
7140 -std=<standard> option.
7141 * testsuite/libgomp.c++/udr-11.C: Same.
7142 * testsuite/libgomp.c++/udr-12.C: Same.
7143 * testsuite/libgomp.c++/udr-13.C: Same.
7144 * testsuite/libgomp.c++/udr-14.C: Same.
7145 * testsuite/libgomp.c++/udr-15.C: Same.
7146 * testsuite/libgomp.c++/udr-16.C: Same.
7147 * testsuite/libgomp.c++/udr-17.C: Same.
7148 * testsuite/libgomp.c++/udr-18.C: Same.
7149 * testsuite/libgomp.c++/udr-19.C: Same.
7150 * testsuite/libgomp.c++/atomic-1.C: Remove dg-options "-O2".
7151 * testsuite/libgomp.c++/simd-1.C: Same.
7152 * testsuite/libgomp.c++/simd-2.C: Same.
7153 * testsuite/libgomp.c++/simd-3.C: Same.
7154 * testsuite/libgomp.c++/simd-4.C: Same.
7155 * testsuite/libgomp.c++/simd-5.C: Same.
7156 * testsuite/libgomp.c++/simd-6.C: Same.
7157 * testsuite/libgomp.c++/simd-7.C: Same.
7158 * testsuite/libgomp.c++/simd-8.C: Same.
7159 * testsuite/libgomp.c++/simd-9.C: Same.
7160 * testsuite/libgomp.c++/simd10.C: Same.
7161 * testsuite/libgomp.c++/simd11.C: Same.
7162 * testsuite/libgomp.c++/simd12.C: Same.
7163 * testsuite/libgomp.c++/simd13.C: Same.
7164
3446fe48
JJ
71652015-06-30 Jakub Jelinek <jakub@redhat.com>
7166
7167 PR middle-end/66702
7168 * testsuite/libgomp.c++/pr66702-1.C: New test.
7169 * testsuite/libgomp.c++/pr66702-2.C: New test.
7170
8a36714a
TV
71712015-06-30 Tom de Vries <tom@codesourcery.com>
7172
7173 * testsuite/libgomp.c/parloops-exit-first-loop-alt-5.c: New test.
7174 * testsuite/libgomp.c/parloops-exit-first-loop-alt-6.c: New test.
7175 * testsuite/libgomp.c/parloops-exit-first-loop-alt-7.c: New test.
7176 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Update comment.
7177
4f75d608
TV
71782015-06-30 Tom de Vries <tom@codesourcery.com>
7179
7180 PR tree-optimization/66652
7181 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite
7182 using restrict pointers.
7183 (main): Add arguments to calls to f.
7184 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7185
6d9d1eeb
AT
71862015-06-23 Andreas Tobler <andreast@gcc.gnu.org>
7187
7188 * configure.ac: Fix check for header <sys/sysctl.h>.
7189 * configure: Regenerate.
7190 * config.h.in: Likewise.
7191
1222f22b
TV
71922015-06-23 Tom de Vries <tom@codesourcery.com>
7193
7194 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Use
7195 abort.
7196 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c (main): Same.
7197
d7efbbf6
TS
71982015-06-19 Thomas Schwinge <thomas@codesourcery.com>
7199
bfcd036f
TS
7200 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Only consider for
7201 acc_device_nvidia.
7202
d7efbbf6
TS
7203 PR libgomp/66518
7204 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: XFAIL.
7205 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7206
d7bfc710
TV
72072015-06-15 Tom de Vries <tom@codesourcery.com>
7208
7209 * testsuite/libgomp.c/atomic-1.c: Remove dg-options "-O2". Use
7210 dg-additional-options for any remaining options.
7211 * testsuite/libgomp.c/atomic-2.c: Same.
7212 * testsuite/libgomp.c/atomic-4.c: Same.
7213 * testsuite/libgomp.c/atomic-5.c: Same.
7214 * testsuite/libgomp.c/atomic-6.c: Same.
7215 * testsuite/libgomp.c/autopar-1.c: Same.
7216 * testsuite/libgomp.c/copyin-1.c: Same.
7217 * testsuite/libgomp.c/copyin-2.c: Same.
7218 * testsuite/libgomp.c/copyin-3.c: Same.
7219 * testsuite/libgomp.c/examples-4/e.53.5.c: Same.
7220 * testsuite/libgomp.c/nestedfn-5.c: Same.
7221 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Same.
7222 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Same.
7223 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: Same.
7224 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7225 * testsuite/libgomp.c/pr32362-1.c: Same.
7226 * testsuite/libgomp.c/pr32362-2.c: Same.
7227 * testsuite/libgomp.c/pr32362-3.c: Same.
7228 * testsuite/libgomp.c/pr39591-1.c: Same.
7229 * testsuite/libgomp.c/pr39591-2.c: Same.
7230 * testsuite/libgomp.c/pr39591-3.c: Same.
7231 * testsuite/libgomp.c/pr58392.c: Same.
7232 * testsuite/libgomp.c/pr58756.c: Same.
7233 * testsuite/libgomp.c/simd-1.c: Same.
7234 * testsuite/libgomp.c/simd-10.c: Same.
7235 * testsuite/libgomp.c/simd-11.c: Same.
7236 * testsuite/libgomp.c/simd-12.c: Same.
7237 * testsuite/libgomp.c/simd-13.c: Same.
7238 * testsuite/libgomp.c/simd-14.c: Same.
7239 * testsuite/libgomp.c/simd-15.c: Same.
7240 * testsuite/libgomp.c/simd-2.c: Same.
7241 * testsuite/libgomp.c/simd-3.c: Same.
7242 * testsuite/libgomp.c/simd-4.c: Same.
7243 * testsuite/libgomp.c/simd-5.c: Same.
7244 * testsuite/libgomp.c/simd-6.c: Same.
7245 * testsuite/libgomp.c/simd-7.c: Same.
7246 * testsuite/libgomp.c/simd-8.c: Same.
7247 * testsuite/libgomp.c/simd-9.c: Same.
7248
fb5b5352
TV
72492015-06-15 Tom de Vries <tom@codesourcery.com>
7250
7251 * testsuite/libgomp.c/pr35625.c: Fix typo.
7252
ca431bef
TV
72532015-06-15 Tom de Vries <tom@codesourcery.com>
7254
7255 * testsuite/libgomp.c/atomic-18.c: Remove superfluous -fopenmp setting
7256 in dg-options.
7257 * testsuite/libgomp.c/atomic-3.c: Same.
7258 * testsuite/libgomp.c/debug-1.c: Same.
7259 * testsuite/libgomp.c/nqueens-1.c: Same.
7260 * testsuite/libgomp.c/pr26171.c: Same.
7261 * testsuite/libgomp.c/pr48591.c: Same.
7262 * testsuite/libgomp.c/pr64824.c: Same.
7263 * testsuite/libgomp.c/pr64868.c: Same.
7264 * testsuite/libgomp.c/pr66133.c: Same.
7265 * testsuite/libgomp.c/pr66199-1.c: Same.
7266 * testsuite/libgomp.c/pr66199-2.c: Same.
7267 * testsuite/libgomp.c/target-8.c: Same.
7268
0d8a9e20
TV
72692015-06-15 Tom de Vries <tom@codesourcery.com>
7270
7271 * testsuite/libgomp.c/collapse-3.c: Use dg-additional-options for
7272 -std={gnu99,c99}.
7273 * testsuite/libgomp.c/for-1.c: Same.
7274 * testsuite/libgomp.c/for-2.c: Same.
7275 * testsuite/libgomp.c/for-3.c: Same.
7276 * testsuite/libgomp.c/pr35625.c: Same.
7277 * testsuite/libgomp.c/pr39154.c: Same.
7278 * testsuite/libgomp.c/simd-16.c: Same.
7279 * testsuite/libgomp.c/simd-17.c: Same.
7280
a6860be9
TV
72812015-06-13 Tom de Vries <tom@codesourcery.com>
7282
7283 * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test.
7284
ab3306d2
TV
72852015-06-13 Tom de Vries <tom@codesourcery.com>
7286
7287 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: Add comment.
7288 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.
7289 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: Add comment.
7290 (N): Define.
7291 (main): Use N instead of hardcoded constants.
7292
7c82d827
TV
72932015-06-05 Tom de Vries <tom@codesourcery.com>
7294
7295 merge from gomp4 branch:
7296 2015-05-28 Tom de Vries <tom@codesourcery.com>
7297
7298 PR tree-optimization/65443
7299 * testsuite/libgomp.c/parloops-exit-first-loop-alt-2.c: New test.
7300 * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c: New test.
7301 * testsuite/libgomp.c/parloops-exit-first-loop-alt.c: New test.
7302
c469078d
BRF
73032015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
7304
7305 * testsuite/libgomp.graphite/bounds.c: Adjust for
7306 cleanup-tree-dump removal.
7307 * testsuite/libgomp.graphite/force-parallel-1.c: Likewise.
7308 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
7309 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
7310 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
7311 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
7312 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
7313 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
7314 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
7315 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
7316 * testsuite/libgomp.graphite/pr41118.c: Likewise.
7317
bb3caa35
UB
73182015-05-28 Uros Bizjak <ubizjak@gmail.com>
7319
7320 * config/linux/x86/futex.h (sys_futex0) [!__x86_64__]: Remove function.
7321 (futex_wait) [!__x86_64__]: Use __asm operand instead of sys_futex0.
7322 (futex_wake) [!__x86_64__]: Ditto.
7323
9fb5fd44
JB
73242015-05-28 Julian Brown <julian@codesourcery.com>
7325
7326 * oacc-init.c (resolve_device): Add FAIL_IS_ERROR argument. Update
7327 function comment. Only call gomp_fatal if new argument is true.
7328 (acc_dev_num_out_of_range): New function.
7329 (acc_init_1, acc_shutdown_1): Update call to resolve_device. Call
7330 acc_dev_num_out_of_range as appropriate.
7331 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
bb3caa35
UB
7332 (acc_get_device_num, acc_set_device_num): Update calls to
7333 resolve_device.
9fb5fd44
JB
7334 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Update expected test
7335 output.
7336
32eaed93
JB
73372015-05-28 Julian Brown <julian@codesourcery.com>
7338
7339 PR libgomp/65742
32eaed93
JB
7340 * oacc-init.c (plugin/plugin-host.h): Include.
7341 (acc_on_device): Check whether we're in an offloaded region for
7342 host_nonshm
7343 plugin. Don't use __builtin_acc_on_device.
7344 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_parallel): Set
7345 nonshm_exec flag in thread-local data.
7346 (GOMP_OFFLOAD_openacc_create_thread_data): Allocate thread-local
7347 data for host_nonshm plugin.
7348 (GOMP_OFFLOAD_openacc_destroy_thread_data): Free thread-local data
7349 for host_nonshm plugin.
7350 * plugin/plugin-host.h: New.
7351
ea023bcf
UB
73522015-05-27 Uros Bizjak <ubizjak@gmail.com>
7353
8ed501f1
UB
7354 * config/linux/ia64/futex.h (sys_futex0) Change operand "op" to int.
7355
73562015-05-27 Uros Bizjak <ubizjak@gmail.com>
7357
7358 * config/linux/wait.h (gomp_futex_wait, gomp_futex_wake):
7359 Declare as int.
7360 (FUTEX_PRIVATE_FLAG): Remove L suffix.
7361 * config/linux/mutex.c (gomp_futex_wait, gomp_futex_wake):
7362 Declare as int.
7363
73642015-05-27 Uros Bizjak <ubizjak@gmail.com>
7365
bb3caa35 7366 * config/linux/x86/futex.h (sys_futex0) [__PIC__]: Remove function.
ea023bcf 7367
1716efeb
CLT
73682015-05-27 Chung-Lin Tang <cltang@codesourcery.com>
7369
7370 * target.c (gomp_map_pointer): New function abstracting out
7371 GOMP_MAP_POINTER handling.
7372 (gomp_map_vars): Remove GOMP_MAP_POINTER handling code and use
7373 gomp_map_pointer().
7374
41b37d5e
JJ
73752015-05-19 Jakub Jelinek <jakub@redhat.com>
7376
7377 PR middle-end/66199
7378 * testsuite/libgomp.c/pr66199-1.c: New test.
7379 * testsuite/libgomp.c/pr66199-2.c: New test.
7380 * testsuite/libgomp.c++/pr66199-1.C: New test.
7381 * testsuite/libgomp.c++/pr66199-2.C: New test.
7382 * testsuite/libgomp.fortran/pr66199-1.f90: New test.
7383 * testsuite/libgomp.fortran/pr66199-2.f90: New test.
7384
c8319826
JB
73852015-05-19 Julian Brown <julian@codesourcery.com>
7386
7387 * plugin/plugin-nvptx.c (nvptx_get_num_devices): Return zero
7388 on cuInit failure.
7389
b37dddbc
JJ
73902015-05-13 Jakub Jelinek <jakub@redhat.com>
7391
7392 PR middle-end/66133
7393 * testsuite/libgomp.c/pr66133.c: New test.
7394
55fba601
MH
73952015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
7396
7397 * Makefile.in: Regenerated with automake-1.11.6.
7398 * aclocal.m4: Likewise.
7399 * config.h.in: Likewise.
7400 * configure: Likewise.
7401 * testsuite/Makefile.in: Likewise.
7402
1be0899d
JM
74032015-05-08 Jason Merrill <jason@redhat.com>
7404
7405 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c (main): Use
7406 _Complex.
7407
7408 * openacc.h (__GOACC_NOTHROW): Fix noexcept syntax.
7409
d2463960
JB
74102015-05-06 Julian Brown <julian@codesourcery.com>
7411
7412 * oacc-init.c (acc_device_lock): Add explanatory comment.
7413 (resolve_device): Add comment about locking requirement.
7414 (acc_init_1, acc_shutdown_1): Likewise. Add locking around
7415 gomp_init_device and gomp_fini_device calls.
7416 (acc_get_num_devices, acc_set_device_type, acc_get_device_type)
7417 (acc_get_device_num, acc_set_device_num): Add locking around
7418 resolve_device and gomp_init_device calls.
7419
e38fdba4
JB
74202015-05-06 Julian Brown <julian@codesourcery.com>
7421
7422 * oacc-init.c (acc_shutdown_1): Call gomp_mutex_unlock for
7423 goacc_thread_lock on error paths.
7424 * oacc-mem.c (lookup_host): Remove locking from function. Note
7425 locking requirement for caller in function comment.
7426 (lookup_dev): Likewise.
7427 (acc_free, acc_deviceptr, acc_hostptr, acc_is_present)
7428 (acc_map_data, acc_unmap_data, present_create_copy, delete_copyout)
7429 (update_dev_host, gomp_acc_insert_pointer, gomp_acc_remove_pointer):
7430 Add locking.
7431
ae8ffbbb
TS
74322015-05-05 Thomas Schwinge <thomas@codesourcery.com>
7433
7434 PR testsuite/65205
7435 PR libgomp/65993
7436 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: In dg-output,
7437 don't expect "0x" prefix for "%p" format specifier, don't expect
7438 "(nil)" for NULL pointer.
7439 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7440 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7441 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7442 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7443 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7444 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7445 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7446 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7447 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7448 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7449 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7450 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7451 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7452 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7453 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7454 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7455 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7456 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7457 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7458 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7459 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7460 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7461 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7462 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7463 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7464 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7465 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7466 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7467 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: More
7468 accurately specify what we're looking for.
7469 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
7470 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
7471 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
7472 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
7473 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
7474
1309f1d2
JN
74752015-04-30 James Norris <jnorris@codesourcery.com>
7476
7477 PR testsuite/65205
7478 * testsuite/lib/libgomp.exp
7479 (check_effective_target_openacc_host_selected)
7480 (check_effective_target_openacc_host_nonshm_selected): New
7481 procedures.
7482 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Fix misuse of
7483 dg-shouldfail.
7484 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
7485 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
7486 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
7487 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
7488 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
7489 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
7490 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
7491 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
7492 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
7493 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
7494 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
7495 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
7496 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
7497 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
7498 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
7499 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
7500 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
7501 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
7502 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
7503 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
7504 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
7505 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
7506 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
7507 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
7508 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
7509 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
7510 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
7511 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
7512 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
7513 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
7514 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
7515 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
7516 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
7517 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
7518 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
7519 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
7520 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
7521 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
7522 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
7523 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
7524 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
7525 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
7526 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
7527
d93bdab5
JB
75282015-04-08 Julian Brown <julian@codesourcery.com>
7529
7530 * libgomp.h (target_mem_desc: Remove mem_map field.
7531 (acc_dispatch_t): Remove open_device_func, close_device_func,
7532 get_device_num_func, set_device_num_func, target_data members.
7533 Change create_thread_data_func argument to device number instead of
7534 generic pointer.
7535 * oacc-async.c (assert.h): Include.
7536 (acc_async_test, acc_async_test_all, acc_wait, acc_wait_async)
7537 (acc_wait_all, acc_wait_all_async): Use current host thread's
7538 active device, not base_dev.
7539 * oacc-cuda.c (acc_get_current_cuda_device)
7540 (acc_get_current_cuda_context, acc_get_cuda_stream)
7541 (acc_set_cuda_stream): Likewise.
7542 * oacc-host.c (host_dispatch): Don't set open_device_func,
7543 close_device_func, get_device_num_func or set_device_num_func.
7544 * oacc-init.c (base_dev, init_key): Remove.
7545 (cached_base_dev): New.
7546 (name_of_acc_device_t): New.
7547 (acc_init_1): Initialise default-numbered device, not zeroth.
7548 (acc_shutdown_1): Close all devices of a given type.
7549 (goacc_destroy_thread): Don't use base_dev.
7550 (lazy_open, lazy_init, lazy_init_and_open): Remove.
7551 (goacc_attach_host_thread_to_device): New.
7552 (acc_init): Reimplement with goacc_attach_host_thread_to_device.
7553 (acc_get_num_devices): Don't use base_dev.
7554 (acc_set_device_type): Reimplement.
7555 (acc_get_device_type): Don't use base_dev.
7556 (acc_get_device_num): Tweak logic.
7557 (acc_set_device_num): Likewise.
7558 (acc_on_device): Use acc_get_device_type.
7559 (goacc_runtime_initialize): Initialize cached_base_dev not base_dev.
7560 (goacc_lazy_initialize): Reimplement with acc_init and
7561 goacc_attach_host_thread_to_device.
7562 * oacc-int.h (goacc_thread): Add base_dev field.
7563 (base_dev): Remove extern declaration.
7564 (goacc_attach_host_thread_to_device): Add prototype.
7565 * oacc-mem.c (acc_malloc): Use current thread's device instead of
7566 base_dev.
7567 (acc_free): Likewise.
7568 (acc_memcpy_to_device): Likewise.
7569 (acc_memcpy_from_device): Likewise.
7570 * oacc-parallel.c (select_acc_device): Remove. Replace calls with
7571 goacc_lazy_initialize (throughout).
7572 (GOACC_parallel): Use tgt_offset to locate target functions.
7573 * target.c (gomp_map_vars): Don't set tgt->mem_map.
7574 (gomp_unmap_vars): Use devicep->mem_map pointer not tgt->mem_map.
7575 (gomp_load_plugin_for_device): Remove open_device, close_device,
7576 get_device_num, set_device_num openacc hook initialisation. Don't set
7577 openacc.target_data.
7578 * plugin/plugin-host.c (GOMP_OFFLOAD_openacc_open_device)
7579 (GOMP_OFFLOAD_openacc_close_device)
7580 (GOMP_OFFLOAD_openacc_get_device_num)
7581 (GOMP_OFFLOAD_openacc_set_device_num): Remove.
7582 (GOMP_OFFLOAD_openacc_create_thread_data): Change (unused) argument
7583 to int.
7584 * plugin/plugin-nvptx.c (ptx_inited): Remove.
7585 (instantiated_devices, ptx_dev_lock): New.
7586 (struct ptx_image_data): New.
7587 (ptx_devices, ptx_images, ptx_image_lock): New.
7588 (fini_streams_for_device): Reorder cuStreamDestroy call.
7589 (nvptx_get_num_devices): Remove forward declaration.
7590 (nvptx_init): Change return type to bool.
7591 (nvptx_fini): Remove.
7592 (nvptx_attach_host_thread_to_device): New.
7593 (nvptx_open_device): Return struct ptx_device* instead of void*.
7594 (nvptx_close_device): Change argument type to struct ptx_device*,
7595 return type to void.
7596 (nvptx_get_num_devices): Use instantiated_devices not ptx_inited.
7597 (kernel_target_data, kernel_host_table): Remove static globals.
7598 (GOMP_OFFLOAD_register_image, GOMP_OFFLOAD_get_table): Remove.
7599 (GOMP_OFFLOAD_init_device): Reimplement.
7600 (GOMP_OFFLOAD_fini_device): Likewise.
7601 (GOMP_OFFLOAD_load_image, GOMP_OFFLOAD_unload_image): New.
7602 (GOMP_OFFLOAD_alloc, GOMP_OFFLOAD_free, GOMP_OFFLOAD_dev2host)
7603 (GOMP_OFFLOAD_host2dev): Use ORD argument.
7604 (GOMP_OFFLOAD_openacc_open_device)
7605 (GOMP_OFFLOAD_openacc_close_device)
7606 (GOMP_OFFLOAD_openacc_set_device_num)
7607 (GOMP_OFFLOAD_openacc_get_device_num): Remove.
7608 (GOMP_OFFLOAD_openacc_create_thread_data): Change argument to int
7609 (device number).
7610
7611 testsuite/
7612 * libgomp.oacc-c-c++-common/lib-9.c: Fix devnum check in test.
7613
a51df54e
IV
76142015-04-06 Ilya Verbin <ilya.verbin@intel.com>
7615
7616 * libgomp-plugin.h (struct mapping_table): Replace with addr_pair.
7617 * libgomp.h (struct gomp_memory_mapping): Remove.
7618 (struct target_mem_desc): Change type of mem_map from
7619 gomp_memory_mapping * to splay_tree_s *.
7620 (struct gomp_device_descr): Remove register_image_func, get_table_func.
7621 Add load_image_func, unload_image_func.
7622 Change type of mem_map from gomp_memory_mapping to splay_tree_s.
7623 Remove offload_regions_registered.
7624 (gomp_init_tables): Remove.
7625 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7626 to splay_tree_s *.
7627 * libgomp.map (GOMP_4.0.1): Add GOMP_offload_unregister.
7628 * oacc-host.c (host_dispatch): Do not initialize register_image_func,
7629 get_table_func, mem_map.is_initialized, mem_map.splay_tree.root,
7630 offload_regions_registered.
7631 Initialize load_image_func, unload_image_func, mem_map.root.
7632 (goacc_host_init): Do not initialize host_dispatch.mem_map.lock.
7633 * oacc-init.c (lazy_open): Don't call gomp_init_tables.
7634 (acc_shutdown_1): Use dev's lock and splay_tree instead of mem_map's.
7635 * oacc-mem.c (lookup_host): Get gomp_device_descr *dev instead of
7636 gomp_memory_mapping *. Use dev's lock and splay_tree.
7637 (lookup_dev): Use dev's lock.
7638 (acc_deviceptr): Pass dev to lookup_host instead of mem_map.
7639 (acc_is_present): Likewise.
7640 (acc_map_data): Likewise.
7641 (acc_unmap_data): Likewise. Use dev's lock.
7642 (present_create_copy): Likewise.
7643 (delete_copyout): Pass dev to lookup_host instead of mem_map.
7644 (update_dev_host): Likewise.
7645 (gomp_acc_remove_pointer): Likewise. Use dev's lock.
7646 * oacc-parallel.c (GOACC_parallel): Use dev's lock and splay_tree.
7647 * plugin/plugin-host.c (GOMP_OFFLOAD_register_image): Remove.
7648 (GOMP_OFFLOAD_get_table): Remove
7649 (GOMP_OFFLOAD_load_image): New function.
7650 (GOMP_OFFLOAD_unload_image): New function.
7651 * target.c (register_lock): New mutex for offload image registration.
7652 (num_devices): Do not guard with PLUGIN_SUPPORT.
7653 (gomp_realloc_unlock): New static function.
7654 (gomp_map_vars_existing): Add device descriptor argument. Unlock mutex
7655 before gomp_fatal.
7656 (gomp_map_vars): Use dev's lock and splay_tree instead of mem_map's.
7657 Pass devicep to gomp_map_vars_existing. Unlock mutex before gomp_fatal.
7658 (gomp_copy_from_async): Use dev's lock and splay_tree instead of
7659 mem_map's.
7660 (gomp_unmap_vars): Likewise.
7661 (gomp_update): Remove gomp_memory_mapping argument. Use dev's lock and
7662 splay_tree instead of mm's. Unlock mutex before gomp_fatal.
7663 (gomp_offload_image_to_device): New static function.
7664 (GOMP_offload_register): Add mutex lock.
7665 Call gomp_offload_image_to_device for all initialized devices.
7666 Replace gomp_realloc with gomp_realloc_unlock.
7667 (GOMP_offload_unregister): New function.
7668 (gomp_init_tables): Replace with gomp_init_device. Replace a call to
7669 get_table_func from the plugin with calls to init_device_func and
7670 gomp_offload_image_to_device.
7671 (gomp_free_memmap): Change type of argument from gomp_memory_mapping *
7672 to splay_tree_s *.
7673 (GOMP_target): Do not call gomp_init_tables. Use dev's lock and
7674 splay_tree instead of mem_map's. Unlock mutex before gomp_fatal.
7675 (GOMP_target_data): Do not call gomp_init_tables.
7676 (GOMP_target_update): Likewise. Remove argument from gomp_update.
7677 (gomp_load_plugin_for_device): Replace register_image and get_table
7678 with load_image and unload_image in DLSYM ().
7679 (gomp_register_images_for_device): Remove function.
7680 (gomp_target_init): Do not initialize current_device.mem_map.*,
7681 current_device.offload_regions_registered.
7682 Remove call to gomp_register_images_for_device.
7683 Do not free offload_images and num_offload_images.
7684
6c384511
JJ
76852015-03-30 Jakub Jelinek <jakub@redhat.com>
7686
7687 PR fortran/65597
7688 * testsuite/libgomp.fortran/pr65597.f90: New test.
7689
3e8165a5
TV
76902015-03-27 Tom de Vries <tom@codesourcery.com>
7691
7692 PR testsuite/65594
7693 * testsuite/libgomp.graphite/force-parallel-6.c (abort): Declare.
7694 (init, check): New function.
7695 (foo): Change return type to void.
7696 (main): Call init and check.
7697
4d688c9a
TV
76982015-03-27 Tom de Vries <tom@codesourcery.com>
7699
7700 PR testsuite/65594
7701 * testsuite/libgomp.graphite/force-parallel-6.c (M): Define.
7702 (foo): Use M for non-inner loops to scale down test-case.
7703
01c0b3b0
KT
77042015-03-25 Kai Tietz <ktietz@redhat.com>
7705
7706 PR libgomp/64972
7707 * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
7708 (GOACC_data_start): Likewise.
7709 * target.c (gomp_map_vars): Likewise.
7710
844d9a76
JDA
77112015-03-21 John David Anglin <danglin@gcc.gnu.org>
7712
7713 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
7714 hppa*-*-hpux*.
7715
9b65e171
JJ
77162015-03-19 Jakub Jelinek <jakub@redhat.com>
7717
7718 * testsuite/libgomp.c/target-10.c: New test.
7719 * testsuite/libgomp.c++/target-4.C: New test.
7720
db397e2e
IV
77212015-03-13 Ilya Verbin <ilya.verbin@intel.com>
7722
7723 * testsuite/libgomp.fortran/declare-target-1.f90: New test.
7724 * testsuite/libgomp.fortran/declare-target-2.f90: New file.
7725
cd93945d
SH
77262015-03-13 Sebastian Huber <sebastian.huber@embedded-brains.de>
7727
7728 * configure.tgt (*-*-rtems*): Use local-exec TLS model.
7729 * configure.ac (*-*-rtems*): Assume Pthread is supported.
7730 (pthread.h): Check for this header file.
7731 * configure: Regenerate.
7732
05deba9f
TV
77332015-02-25 Tom de Vries <tom@codesourcery.com>
7734
7735 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c (DO_PRAGMA)
7736 (check_reduction_op, check_reduction_macro, max, min):
7737 Declare.
7738 (test_reductions_int, test_reductions_minmax, test_reductions_bool): New
7739 function.
7740 (main): Use new functions.
7741
196904d8
IT
77422015-02-18 Ilya Tocar <ilya.tocar@intel.com>
7743
7744 * target.c (gomp_load_plugin_for_device): Use const char * instead of
7745 char * for variables holding dlerror return values.
7746 (DLSYM_OPT): Ditto.
7747
a2818955
TS
77482015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7749
7750 * libgomp-plugin.c (GOMP_PLUGIN_debug): Fix typo.
7751
26f93312
TS
77522015-02-17 Thomas Schwinge <thomas@codesourcery.com>
7753 Cesar Philippidis <cesar@codesourcery.com>
7754
7755 * oacc-ptx.h (GOACC_INTERNAL_PTX): Add GOACC_tid, GOACC_ntid,
7756 GOACC_ctaid, and GOACC_nctaid routines.
7757
fa01ffcc
JJ
77582015-02-11 Jakub Jelinek <jakub@redhat.com>
7759
7760 PR c/64824
7761 * testsuite/libgomp.c/atomic-18.c: New test.
7762 * testsuite/libgomp.c++/atomic-16.C: New test.
7763
4886ec8e
JJ
77642015-02-04 Jakub Jelinek <jakub@redhat.com>
7765
7766 PR c/64824
7767 PR c/64868
7768 * testsuite/libgomp.c/pr64824.c: New test.
7769 * testsuite/libgomp.c/pr64868.c: New test.
7770 * testsuite/libgomp.c++/pr64824.C: New test.
7771 * testsuite/libgomp.c++/pr64868.C: New test.
7772
02d3e45e
DE
77732015-02-01 David Edelsohn <dje.gcc@gmail.com>
7774
7775 PR libgomp/64635
7776 * configure.tgt (*-*-aix*): Use standard posix plugin-suffix.h.
7777 Link with -lpthread.
7778 * config/aix/plugin-suffix.h: Delete.
7779
b5f7a6ca
JH
77802015-01-28 Jack Howarth <howarth.at.gcc@gmail.com>
7781
7782 PR libgomp/64635
7783 * configure.tgt (*-*-aix*): Use config_path "aix posix".
7784 (*-*-darwin*): Use config_path "bsd darwin posix".
7785 (*-*-hpux*): Use config_path "hpux posix".
7786 * target.c: Add include of plugin-suffix.h and use
7787 SONAME_SUFFIX macro.
7788 * config/aix/plugin-suffix.h: New file.
7789 * config/darwin/plugin-suffix.h: New file.
7790 * config/hpux/plugin-suffix.h: New file.
7791 * config/posix/plugin-suffix.h: New file.
7792
b8910447
JJ
77932015-01-23 Jakub Jelinek <jakub@redhat.com>
7794
7795 PR middle-end/64734
7796 * libgomp.c/pr64734.c: New test.
7797
a0c88d06
TV
77982015-01-23 Tom de Vries <tom@codesourcery.com>
7799
7800 PR libgomp/64672
7801 * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
7802
1506ae0e
TV
78032015-01-23 Tom de Vries <tom@codesourcery.com>
7804
7805 PR libgomp/64707
7806 * testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
7807 dg-options.
7808
128b26dc
TS
78092015-01-19 Thomas Schwinge <thomas@codesourcery.com>
7810
bed62c21 7811 PR libgomp/64625
128b26dc
TS
7812 * libgomp_g.h (GOACC_data_start, GOACC_enter_exit_data)
7813 (GOACC_parallel, GOACC_update): Remove const_void *offload_table
7814 formal parameter. Update all users.
7815 * target.c (GOMP_target, GOMP_target_data, GOMP_target_update):
7816 Document unused formal parameter.
7817
6e36114c
TS
78182015-01-16 Thomas Schwinge <thomas@codesourcery.com>
7819
7820 * oacc-parallel.c: Don't include <alloca.h>.
7821 (GOACC_parallel): Use gomp_alloca instead of alloca.
7822
973e9808
GP
78232015-01-16 Gerald Pfeifer <gerald@pfeifer.com>
7824
7825 * target.c (num_devices): Guard with PLUGIN_SUPPORT.
7826
41dbbb37
TS
78272015-01-15 Thomas Schwinge <thomas@codesourcery.com>
7828 James Norris <jnorris@codesourcery.com>
7829 Tom de Vries <tom@codesourcery.com>
7830 Julian Brown <julian@codesourcery.com>
7831 Cesar Philippidis <cesar@codesourcery.com>
7832 Nathan Sidwell <nathan@codesourcery.com>
7833 Tobias Burnus <burnus@net-b.de>
7834
7835 * Makefile.am (search_path): Add $(top_srcdir)/../include.
7836 (libgomp_la_SOURCES): Add splay-tree.c, libgomp-plugin.c,
7837 oacc-parallel.c, oacc-host.c, oacc-init.c, oacc-mem.c,
7838 oacc-async.c, oacc-plugin.c, oacc-cuda.c.
7839 [USE_FORTRAN] (libgomp_la_SOURCES): Add openacc.f90.
7840 Include $(top_srcdir)/plugin/Makefrag.am.
7841 (nodist_libsubinclude_HEADERS): Add openacc.h.
7842 [USE_FORTRAN] (nodist_finclude_HEADERS): Add openacc_lib.h,
7843 openacc.f90, openacc.mod, openacc_kinds.mod.
7844 (omp_lib.mod): Generalize into...
7845 (%.mod): ... this new rule.
7846 (openacc_kinds.mod, openacc.mod): New rules.
7847 * plugin/configfrag.ac: New file.
7848 * configure.ac: Move plugin/offloading support into it. Include
7849 it. Instantiate testsuite/libgomp-test-support.pt.exp.
7850 * plugin/Makefrag.am: New file.
7851 * testsuite/Makefile.am (OFFLOAD_TARGETS)
7852 (OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS): Don't
7853 export.
7854 (libgomp-test-support.exp): New rule.
7855 (all-local): Depend on it.
7856 * Makefile.in: Regenerate.
7857 * testsuite/Makefile.in: Regenerate.
7858 * config.h.in: Likewise.
7859 * configure: Likewise.
7860 * configure.tgt: Harden shell syntax.
7861 * env.c: Include "oacc-int.h".
7862 (parse_acc_device_type): New function.
7863 (gomp_debug_var, goacc_device_type, goacc_device_num): New
7864 variables.
7865 (initialize_env): Initialize those. Call
7866 goacc_runtime_initialize.
7867 * error.c (gomp_vdebug, gomp_debug, gomp_vfatal): New functions.
7868 (gomp_fatal): Call gomp_vfatal.
7869 * libgomp.h: Include "libgomp-plugin.h" and <stdarg.h>.
7870 (gomp_debug_var, goacc_device_type, goacc_device_num, gomp_vdebug)
7871 (gomp_debug, gomp_verror, gomp_vfatal, gomp_init_targets_once)
7872 (splay_tree_node, splay_tree, splay_tree_key)
7873 (struct target_mem_desc, struct splay_tree_key_s)
7874 (struct gomp_memory_mapping, struct acc_dispatch_t)
7875 (struct gomp_device_descr, gomp_acc_insert_pointer)
7876 (gomp_acc_remove_pointer, target_mem_desc, gomp_copy_from_async)
7877 (gomp_unmap_vars, gomp_init_device, gomp_init_tables)
7878 (gomp_free_memmap, gomp_fini_device): New declarations.
7879 (gomp_vdebug, gomp_debug): New macros.
7880 Include "splay-tree.h".
7881 * libgomp.map (OACC_2.0): New symbol version. Use for
7882 acc_get_num_devices, acc_get_num_devices_h_, acc_set_device_type,
7883 acc_set_device_type_h_, acc_get_device_type,
7884 acc_get_device_type_h_, acc_set_device_num, acc_set_device_num_h_,
7885 acc_get_device_num, acc_get_device_num_h_, acc_async_test,
7886 acc_async_test_h_, acc_async_test_all, acc_async_test_all_h_,
7887 acc_wait, acc_wait_h_, acc_wait_async, acc_wait_async_h_,
7888 acc_wait_all, acc_wait_all_h_, acc_wait_all_async,
7889 acc_wait_all_async_h_, acc_init, acc_init_h_, acc_shutdown,
7890 acc_shutdown_h_, acc_on_device, acc_on_device_h_, acc_malloc,
7891 acc_free, acc_copyin, acc_copyin_32_h_, acc_copyin_64_h_,
7892 acc_copyin_array_h_, acc_present_or_copyin,
7893 acc_present_or_copyin_32_h_, acc_present_or_copyin_64_h_,
7894 acc_present_or_copyin_array_h_, acc_create, acc_create_32_h_,
7895 acc_create_64_h_, acc_create_array_h_, acc_present_or_create,
7896 acc_present_or_create_32_h_, acc_present_or_create_64_h_,
7897 acc_present_or_create_array_h_, acc_copyout, acc_copyout_32_h_,
7898 acc_copyout_64_h_, acc_copyout_array_h_, acc_delete,
7899 acc_delete_32_h_, acc_delete_64_h_, acc_delete_array_h_,
7900 acc_update_device, acc_update_device_32_h_,
7901 acc_update_device_64_h_, acc_update_device_array_h_,
7902 acc_update_self, acc_update_self_32_h_, acc_update_self_64_h_,
7903 acc_update_self_array_h_, acc_map_data, acc_unmap_data,
7904 acc_deviceptr, acc_hostptr, acc_is_present, acc_is_present_32_h_,
7905 acc_is_present_64_h_, acc_is_present_array_h_,
7906 acc_memcpy_to_device, acc_memcpy_from_device,
7907 acc_get_current_cuda_device, acc_get_current_cuda_context,
7908 acc_get_cuda_stream, acc_set_cuda_stream.
7909 (GOACC_2.0): New symbol version. Use for GOACC_data_end,
7910 GOACC_data_start, GOACC_enter_exit_data, GOACC_parallel,
7911 GOACC_update, GOACC_wait, GOACC_get_thread_num,
7912 GOACC_get_num_threads.
7913 (GOMP_PLUGIN_1.0): New symbol version. Use for
7914 GOMP_PLUGIN_malloc, GOMP_PLUGIN_malloc_cleared,
7915 GOMP_PLUGIN_realloc, GOMP_PLUGIN_debug, GOMP_PLUGIN_error,
7916 GOMP_PLUGIN_fatal, GOMP_PLUGIN_async_unmap_vars,
7917 GOMP_PLUGIN_acc_thread.
7918 * libgomp.texi: Update for OpenACC changes, and GOMP_DEBUG
7919 environment variable.
7920 * libgomp_g.h (GOACC_data_start, GOACC_data_end)
7921 (GOACC_enter_exit_data, GOACC_parallel, GOACC_update, GOACC_wait)
7922 (GOACC_get_num_threads, GOACC_get_thread_num): New declarations.
7923 * splay-tree.h (splay_tree_lookup, splay_tree_insert)
7924 (splay_tree_remove): New declarations.
7925 (rotate_left, rotate_right, splay_tree_splay, splay_tree_insert)
7926 (splay_tree_remove, splay_tree_lookup): Move into...
7927 * splay-tree.c: ... this new file.
7928 * target.c: Include "oacc-plugin.h", "oacc-int.h", <assert.h>.
7929 (splay_tree_node, splay_tree, splay_tree_key)
7930 (struct target_mem_desc, struct splay_tree_key_s)
7931 (struct gomp_device_descr): Don't declare.
7932 (num_devices_openmp): New variable.
7933 (gomp_get_num_devices ): Use it.
7934 (gomp_init_targets_once): New function.
7935 (gomp_get_num_devices ): Use it.
7936 (get_kind, gomp_copy_from_async, gomp_free_memmap)
7937 (gomp_fini_device, gomp_register_image_for_device): New functions.
7938 (gomp_map_vars): Add devaddrs parameter.
7939 (gomp_update): Add mm parameter.
7940 (gomp_init_device): Move most of it into...
7941 (gomp_init_tables): ... this new function.
7942 (gomp_register_images_for_device): Remove function.
7943 (splay_compare, gomp_map_vars, gomp_unmap_vars, gomp_init_device):
7944 Make them hidden instead of static.
7945 (gomp_map_vars_existing, gomp_map_vars, gomp_unmap_vars)
7946 (gomp_update, gomp_init_device, GOMP_target, GOMP_target_data)
7947 (GOMP_target_end_data, GOMP_target_update)
7948 (gomp_load_plugin_for_device, gomp_target_init): Update for
7949 OpenACC changes.
7950 * oacc-async.c: New file.
7951 * oacc-cuda.c: Likewise.
7952 * oacc-host.c: Likewise.
7953 * oacc-init.c: Likewise.
7954 * oacc-int.h: Likewise.
7955 * oacc-mem.c: Likewise.
7956 * oacc-parallel.c: Likewise.
7957 * oacc-plugin.c: Likewise.
7958 * oacc-plugin.h: Likewise.
7959 * oacc-ptx.h: Likewise.
7960 * openacc.f90: Likewise.
7961 * openacc.h: Likewise.
7962 * openacc_lib.h: Likewise.
7963 * plugin/plugin-host.c: Likewise.
7964 * plugin/plugin-nvptx.c: Likewise.
7965 * libgomp-plugin.c: Likewise.
7966 * libgomp-plugin.h: Likewise.
7967 * libgomp_target.h: Remove file after merging content into the
7968 former file. Update all users.
7969 * testsuite/lib/libgomp.exp: Load libgomp-test-support.exp.
7970 (offload_targets_s, offload_targets_s_openacc): New variables.
7971 (check_effective_target_openacc_nvidia_accel_present)
7972 (check_effective_target_openacc_nvidia_accel_selected): New
7973 procedures.
7974 (libgomp_init): Update for OpenACC changes.
7975 * testsuite/libgomp-test-support.exp.in: New file.
7976 * testsuite/libgomp.oacc-c++/c++.exp: Likewise.
7977 * testsuite/libgomp.oacc-c/c.exp: Likewise.
7978 * testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.
7979 * testsuite/libgomp.oacc-c-c++-common/abort-1.c: Likewise.
7980 * testsuite/libgomp.oacc-c-c++-common/abort-2.c: Likewise.
7981 * testsuite/libgomp.oacc-c-c++-common/abort-3.c: Likewise.
7982 * testsuite/libgomp.oacc-c-c++-common/abort-4.c: Likewise.
7983 * testsuite/libgomp.oacc-c-c++-common/acc_on_device-1.c: Likewise.
7984 * testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Likewise.
7985 * testsuite/libgomp.oacc-c-c++-common/cache-1.c: Likewise.
7986 * testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Likewise.
7987 * testsuite/libgomp.oacc-c-c++-common/clauses-2.c: Likewise.
7988 * testsuite/libgomp.oacc-c-c++-common/collapse-1.c: Likewise.
7989 * testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Likewise.
7990 * testsuite/libgomp.oacc-c-c++-common/collapse-3.c: Likewise.
7991 * testsuite/libgomp.oacc-c-c++-common/collapse-4.c: Likewise.
7992 * testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
7993 * testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
7994 * testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
7995 * testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
7996 * testsuite/libgomp.oacc-c-c++-common/data-1.c: Likewise.
7997 * testsuite/libgomp.oacc-c-c++-common/data-2.c: Likewise.
7998 * testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
7999 * testsuite/libgomp.oacc-c-c++-common/data-already-1.c: Likewise.
8000 * testsuite/libgomp.oacc-c-c++-common/data-already-2.c: Likewise.
8001 * testsuite/libgomp.oacc-c-c++-common/data-already-3.c: Likewise.
8002 * testsuite/libgomp.oacc-c-c++-common/data-already-4.c: Likewise.
8003 * testsuite/libgomp.oacc-c-c++-common/data-already-5.c: Likewise.
8004 * testsuite/libgomp.oacc-c-c++-common/data-already-6.c: Likewise.
8005 * testsuite/libgomp.oacc-c-c++-common/data-already-7.c: Likewise.
8006 * testsuite/libgomp.oacc-c-c++-common/data-already-8.c: Likewise.
8007 * testsuite/libgomp.oacc-c-c++-common/deviceptr-1.c: Likewise.
8008 * testsuite/libgomp.oacc-c-c++-common/if-1.c: Likewise.
8009 * testsuite/libgomp.oacc-c-c++-common/kernels-1.c: Likewise.
8010 * testsuite/libgomp.oacc-c-c++-common/kernels-empty.c: Likewise.
8011 * testsuite/libgomp.oacc-c-c++-common/lib-1.c: Likewise.
8012 * testsuite/libgomp.oacc-c-c++-common/lib-10.c: Likewise.
8013 * testsuite/libgomp.oacc-c-c++-common/lib-11.c: Likewise.
8014 * testsuite/libgomp.oacc-c-c++-common/lib-12.c: Likewise.
8015 * testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
8016 * testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
8017 * testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
8018 * testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
8019 * testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
8020 * testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
8021 * testsuite/libgomp.oacc-c-c++-common/lib-19.c: Likewise.
8022 * testsuite/libgomp.oacc-c-c++-common/lib-2.c: Likewise.
8023 * testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
8024 * testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
8025 * testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
8026 * testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
8027 * testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
8028 * testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
8029 * testsuite/libgomp.oacc-c-c++-common/lib-26.c: Likewise.
8030 * testsuite/libgomp.oacc-c-c++-common/lib-27.c: Likewise.
8031 * testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
8032 * testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
8033 * testsuite/libgomp.oacc-c-c++-common/lib-3.c: Likewise.
8034 * testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
8035 * testsuite/libgomp.oacc-c-c++-common/lib-31.c: Likewise.
8036 * testsuite/libgomp.oacc-c-c++-common/lib-32.c: Likewise.
8037 * testsuite/libgomp.oacc-c-c++-common/lib-33.c: Likewise.
8038 * testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
8039 * testsuite/libgomp.oacc-c-c++-common/lib-35.c: Likewise.
8040 * testsuite/libgomp.oacc-c-c++-common/lib-36.c: Likewise.
8041 * testsuite/libgomp.oacc-c-c++-common/lib-37.c: Likewise.
8042 * testsuite/libgomp.oacc-c-c++-common/lib-38.c: Likewise.
8043 * testsuite/libgomp.oacc-c-c++-common/lib-39.c: Likewise.
8044 * testsuite/libgomp.oacc-c-c++-common/lib-4.c: Likewise.
8045 * testsuite/libgomp.oacc-c-c++-common/lib-40.c: Likewise.
8046 * testsuite/libgomp.oacc-c-c++-common/lib-41.c: Likewise.
8047 * testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
8048 * testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
8049 * testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
8050 * testsuite/libgomp.oacc-c-c++-common/lib-45.c: Likewise.
8051 * testsuite/libgomp.oacc-c-c++-common/lib-46.c: Likewise.
8052 * testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
8053 * testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
8054 * testsuite/libgomp.oacc-c-c++-common/lib-49.c: Likewise.
8055 * testsuite/libgomp.oacc-c-c++-common/lib-5.c: Likewise.
8056 * testsuite/libgomp.oacc-c-c++-common/lib-50.c: Likewise.
8057 * testsuite/libgomp.oacc-c-c++-common/lib-51.c: Likewise.
8058 * testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
8059 * testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
8060 * testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
8061 * testsuite/libgomp.oacc-c-c++-common/lib-55.c: Likewise.
8062 * testsuite/libgomp.oacc-c-c++-common/lib-56.c: Likewise.
8063 * testsuite/libgomp.oacc-c-c++-common/lib-57.c: Likewise.
8064 * testsuite/libgomp.oacc-c-c++-common/lib-58.c: Likewise.
8065 * testsuite/libgomp.oacc-c-c++-common/lib-59.c: Likewise.
8066 * testsuite/libgomp.oacc-c-c++-common/lib-6.c: Likewise.
8067 * testsuite/libgomp.oacc-c-c++-common/lib-60.c: Likewise.
8068 * testsuite/libgomp.oacc-c-c++-common/lib-61.c: Likewise.
8069 * testsuite/libgomp.oacc-c-c++-common/lib-62.c: Likewise.
8070 * testsuite/libgomp.oacc-c-c++-common/lib-63.c: Likewise.
8071 * testsuite/libgomp.oacc-c-c++-common/lib-64.c: Likewise.
8072 * testsuite/libgomp.oacc-c-c++-common/lib-65.c: Likewise.
8073 * testsuite/libgomp.oacc-c-c++-common/lib-66.c: Likewise.
8074 * testsuite/libgomp.oacc-c-c++-common/lib-67.c: Likewise.
8075 * testsuite/libgomp.oacc-c-c++-common/lib-68.c: Likewise.
8076 * testsuite/libgomp.oacc-c-c++-common/lib-69.c: Likewise.
8077 * testsuite/libgomp.oacc-c-c++-common/lib-7.c: Likewise.
8078 * testsuite/libgomp.oacc-c-c++-common/lib-70.c: Likewise.
8079 * testsuite/libgomp.oacc-c-c++-common/lib-71.c: Likewise.
8080 * testsuite/libgomp.oacc-c-c++-common/lib-72.c: Likewise.
8081 * testsuite/libgomp.oacc-c-c++-common/lib-73.c: Likewise.
8082 * testsuite/libgomp.oacc-c-c++-common/lib-74.c: Likewise.
8083 * testsuite/libgomp.oacc-c-c++-common/lib-75.c: Likewise.
8084 * testsuite/libgomp.oacc-c-c++-common/lib-76.c: Likewise.
8085 * testsuite/libgomp.oacc-c-c++-common/lib-77.c: Likewise.
8086 * testsuite/libgomp.oacc-c-c++-common/lib-78.c: Likewise.
8087 * testsuite/libgomp.oacc-c-c++-common/lib-79.c: Likewise.
8088 * testsuite/libgomp.oacc-c-c++-common/lib-80.c: Likewise.
8089 * testsuite/libgomp.oacc-c-c++-common/lib-81.c: Likewise.
8090 * testsuite/libgomp.oacc-c-c++-common/lib-82.c: Likewise.
8091 * testsuite/libgomp.oacc-c-c++-common/lib-83.c: Likewise.
8092 * testsuite/libgomp.oacc-c-c++-common/lib-84.c: Likewise.
8093 * testsuite/libgomp.oacc-c-c++-common/lib-85.c: Likewise.
8094 * testsuite/libgomp.oacc-c-c++-common/lib-86.c: Likewise.
8095 * testsuite/libgomp.oacc-c-c++-common/lib-87.c: Likewise.
8096 * testsuite/libgomp.oacc-c-c++-common/lib-88.c: Likewise.
8097 * testsuite/libgomp.oacc-c-c++-common/lib-89.c: Likewise.
8098 * testsuite/libgomp.oacc-c-c++-common/lib-9.c: Likewise.
8099 * testsuite/libgomp.oacc-c-c++-common/lib-90.c: Likewise.
8100 * testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
8101 * testsuite/libgomp.oacc-c-c++-common/lib-92.c: Likewise.
8102 * testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
8103 * testsuite/libgomp.oacc-c-c++-common/nested-2.c: Likewise.
8104 * testsuite/libgomp.oacc-c-c++-common/offset-1.c: Likewise.
8105 * testsuite/libgomp.oacc-c-c++-common/parallel-1.c: Likewise.
8106 * testsuite/libgomp.oacc-c-c++-common/parallel-empty.c: Likewise.
8107 * testsuite/libgomp.oacc-c-c++-common/pointer-align-1.c: Likewise.
8108 * testsuite/libgomp.oacc-c-c++-common/present-1.c: Likewise.
8109 * testsuite/libgomp.oacc-c-c++-common/present-2.c: Likewise.
8110 * testsuite/libgomp.oacc-c-c++-common/reduction-1.c: Likewise.
8111 * testsuite/libgomp.oacc-c-c++-common/reduction-2.c: Likewise.
8112 * testsuite/libgomp.oacc-c-c++-common/reduction-3.c: Likewise.
8113 * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Likewise.
8114 * testsuite/libgomp.oacc-c-c++-common/reduction-5.c: Likewise.
8115 * testsuite/libgomp.oacc-c-c++-common/reduction-initial-1.c:
8116 Likewise.
8117 * testsuite/libgomp.oacc-c-c++-common/subr.h: Likewise.
8118 * testsuite/libgomp.oacc-c-c++-common/subr.ptx: Likewise.
8119 * testsuite/libgomp.oacc-c-c++-common/timer.h: Likewise.
8120 * testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
8121 * testsuite/libgomp.oacc-c-c++-common/update-1.c: Likewise.
8122 * testsuite/libgomp.oacc-fortran/abort-1.f90: Likewise.
8123 * testsuite/libgomp.oacc-fortran/abort-2.f90: Likewise.
8124 * testsuite/libgomp.oacc-fortran/acc_on_device-1-1.f90: Likewise.
8125 * testsuite/libgomp.oacc-fortran/acc_on_device-1-2.f: Likewise.
8126 * testsuite/libgomp.oacc-fortran/acc_on_device-1-3.f: Likewise.
8127 * testsuite/libgomp.oacc-fortran/asyncwait-1.f90: Likewise.
8128 * testsuite/libgomp.oacc-fortran/asyncwait-2.f90: Likewise.
8129 * testsuite/libgomp.oacc-fortran/asyncwait-3.f90: Likewise.
8130 * testsuite/libgomp.oacc-fortran/collapse-1.f90: Likewise.
8131 * testsuite/libgomp.oacc-fortran/collapse-2.f90: Likewise.
8132 * testsuite/libgomp.oacc-fortran/collapse-3.f90: Likewise.
8133 * testsuite/libgomp.oacc-fortran/collapse-4.f90: Likewise.
8134 * testsuite/libgomp.oacc-fortran/collapse-5.f90: Likewise.
8135 * testsuite/libgomp.oacc-fortran/collapse-6.f90: Likewise.
8136 * testsuite/libgomp.oacc-fortran/collapse-7.f90: Likewise.
8137 * testsuite/libgomp.oacc-fortran/collapse-8.f90: Likewise.
8138 * testsuite/libgomp.oacc-fortran/data-1.f90: Likewise.
8139 * testsuite/libgomp.oacc-fortran/data-2.f90: Likewise.
8140 * testsuite/libgomp.oacc-fortran/data-3.f90: Likewise.
8141 * testsuite/libgomp.oacc-fortran/data-4-2.f90: Likewise.
8142 * testsuite/libgomp.oacc-fortran/data-4.f90: Likewise.
8143 * testsuite/libgomp.oacc-fortran/data-already-1.f: Likewise.
8144 * testsuite/libgomp.oacc-fortran/data-already-2.f: Likewise.
8145 * testsuite/libgomp.oacc-fortran/data-already-3.f: Likewise.
8146 * testsuite/libgomp.oacc-fortran/data-already-4.f: Likewise.
8147 * testsuite/libgomp.oacc-fortran/data-already-5.f: Likewise.
8148 * testsuite/libgomp.oacc-fortran/data-already-6.f: Likewise.
8149 * testsuite/libgomp.oacc-fortran/data-already-7.f: Likewise.
8150 * testsuite/libgomp.oacc-fortran/data-already-8.f: Likewise.
8151 * testsuite/libgomp.oacc-fortran/lib-1.f90: Likewise.
8152 * testsuite/libgomp.oacc-fortran/lib-10.f90: Likewise.
8153 * testsuite/libgomp.oacc-fortran/lib-2.f: Likewise.
8154 * testsuite/libgomp.oacc-fortran/lib-3.f: Likewise.
8155 * testsuite/libgomp.oacc-fortran/lib-4.f90: Likewise.
8156 * testsuite/libgomp.oacc-fortran/lib-5.f90: Likewise.
8157 * testsuite/libgomp.oacc-fortran/lib-6.f90: Likewise.
8158 * testsuite/libgomp.oacc-fortran/lib-7.f90: Likewise.
8159 * testsuite/libgomp.oacc-fortran/lib-8.f90: Likewise.
8160 * testsuite/libgomp.oacc-fortran/map-1.f90: Likewise.
8161 * testsuite/libgomp.oacc-fortran/openacc_version-1.f: Likewise.
8162 * testsuite/libgomp.oacc-fortran/openacc_version-2.f90: Likewise.
8163 * testsuite/libgomp.oacc-fortran/pointer-align-1.f90: Likewise.
8164 * testsuite/libgomp.oacc-fortran/pset-1.f90: Likewise.
8165 * testsuite/libgomp.oacc-fortran/reduction-1.f90: Likewise.
8166 * testsuite/libgomp.oacc-fortran/reduction-2.f90: Likewise.
8167 * testsuite/libgomp.oacc-fortran/reduction-3.f90: Likewise.
8168 * testsuite/libgomp.oacc-fortran/reduction-4.f90: Likewise.
8169 * testsuite/libgomp.oacc-fortran/reduction-5.f90: Likewise.
8170 * testsuite/libgomp.oacc-fortran/reduction-6.f90: Likewise.
8171 * testsuite/libgomp.oacc-fortran/routine-1.f90: Likewise.
8172 * testsuite/libgomp.oacc-fortran/routine-2.f90: Likewise.
8173 * testsuite/libgomp.oacc-fortran/routine-3.f90: Likewise.
8174 * testsuite/libgomp.oacc-fortran/routine-4.f90: Likewise.
8175 * testsuite/libgomp.oacc-fortran/subarrays-1.f90: Likewise.
8176 * testsuite/libgomp.oacc-fortran/subarrays-2.f90: Likewise.
8177
f1f3453e
TS
81782015-01-10 Thomas Schwinge <thomas@codesourcery.com>
8179 Julian Brown <julian@codesourcery.com>
8180 David Malcolm <dmalcolm@redhat.com>
8181
8182 * configure.ac: Rename libgomp from "GNU OpenMP Runtime Library"
8183 to "GNU Offloading and Multi Processing Runtime Library". Change
8184 all users.
8185 * configure: Regenerate.
8186 * libgomp.texi: Update.
8187
f9a0eca4
TS
81882015-01-08 Thomas Schwinge <thomas@codesourcery.com>
8189
b335ef4e
TS
8190 * configure.ac [tgt_dir] (offload_additional_lib_paths): Also add
8191 "$tgt_dir/lib32".
8192 * configure: Regenerate.
8193
f9a0eca4
TS
8194 * testsuite/lib/libgomp.exp (libgomp_init): Correctly match
8195 "intelmic" in $offload_targets.
8196
b67cd4e3
JJ
81972015-01-05 Jakub Jelinek <jakub@redhat.com>
8198
5624e564
JJ
8199 Update copyright years.
8200
b67cd4e3
JJ
8201 * libgomp.texi: Bump @copying's copyright year.
8202
3b41b583
KT
82032014-12-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8204
8205 * testsuite/lib/libgomp.exp: Load target-utils.exp.
93d90219 8206 Move load of target-supports.exp earlier.
3b41b583 8207
2354caec
IV
82082014-12-10 Ilya Verbin <ilya.verbin@intel.com>
8209
8210 * testsuite/libgomp.c/target-9.c: New test.
8211
f50eecba
VR
82122014-12-09 Varvara Rainchik <varvara.rainchik@intel.com>
8213
8214 * config.h.in: Regenerate.
8215 * configure: Regenerate.
8216 * configure.ac: Add GCC_CHECK_EMUTLS.
8217 * libgomp.h: Add check for USE_EMUTLS: this case
8218 is equal to HAVE_TLS.
8219 * team.c: Likewise.
8220
68bc9270
UB
82212014-12-03 Uros Bizjak <ubizjak@gmail.com>
8222
8223 * configure.tgt (x86_64-*-linux*): Tune -m32 multilib to generic.
8224
476ff787
AT
82252014-11-28 Andrey Turetskiy <andrey.turetskiy@intel.com>
8226 Ilya Verbin <ilya.verbin@intel.com>
8227
8228 * testsuite/libgomp.c/target-critical-1.c: New test.
8229
31a30e62
JJ
82302014-11-26 Jakub Jelinek <jakub@redhat.com>
8231
8232 * testsuite/libgomp.c/examples-4/e.53.4.c: Add -DITESTITERS=20
68bc9270 8233 to dg-options unless expensive testing is on.
31a30e62
JJ
8234 (TESTITERS): Define to N if not defined.
8235 (main): Use TESTITERS instead of N.
8236 * testsuite/libgomp.c/examples-4/e.55.1.c: Define CHUNKSZ from
8237 dg-additional-options depending on whether expensive testing is on.
8238 * testsuite/libgomp.fortran/examples-4/e.55.1.f90 (e_55_1_mod):
8239 Decrease N to 100000 and CHUNKSZ to 10000.
8240
3f9e8f13
JJ
82412014-11-24 Jakub Jelinek <jakub@redhat.com>
8242
8243 PR fortran/63938
31a30e62
JJ
8244 * testsuite/libgomp.fortran/pr63938-1.f90: New test.
8245 * testsuite/libgomp.fortran/pr63938-2.f90: New test.
3f9e8f13 8246
c8451a46
SE
82472014-11-21 Steve Ellcey <sellcey@imgtec.com>
8248
8249 * config/linux/mips/futex.h (SYS_futex): Define if not already done.
8250
a699d672
L
82512014-11-21 H.J. Lu <hongjiu.lu@intel.com>
8252
8253 PR bootstrap/63784
8254 * configure: Regenerated.
8255
4a19f719
UB
82562014-11-19 Uros Bizjak <ubizjak@gmail.com>
8257
8258 * testsuite/libgomp.c/examples-4/e.53.5.c: Require
8259 vect_simd_clones effective target.
8260 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8261
b1bf6c52
JJ
82622014-11-14 Jakub Jelinek <jakub@redhat.com>
8263
8264 * libgomp.c/examples-4/e.54.2.c (main): Use N / 8 instead
8265 of 32 as block_size.
8266 * libgomp.fortran/examples-4/e.54.2.f90 (e_54_1): Use n / 8
8267 instead of 32 as block_size.
8268
d64ae614
AT
82692014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8270 Ilya Verbin <ilya.verbin@intel.com>
8271
8272 * Makefile.in: Regenerate.
8273 * configure: Regenerate.
8274 * configure.ac: Set up offload_additional_options,
8275 offload_additional_lib_paths and offload_targets.
8276 * testsuite/Makefile.am: Export environment variables: OFFLOAD_TARGETS,
8277 OFFLOAD_ADDITIONAL_OPTIONS, OFFLOAD_ADDITIONAL_LIB_PATHS.
8278 * testsuite/Makefile.in: Regenerate.
8279 * testsuite/lib/libgomp.exp (libgomp_init): Append
8280 offload_additional_lib_paths to LD_LIBRARY_PATH. Append
8281 offload_additional_options to ALWAYS_CFLAGS. Append liboffloadmic
8282 build directory to LD_LIBRARY_PATH for intelmic offload targets.
8283
122d7303
AT
82842014-11-13 Andrey Turetskiy <andrey.turetskiy@intel.com>
8285 Ilya Verbin <ilya.verbin@intel.com>
8286 Kirill Yukhin <kirill.yukhin@intel.com>
8287 Ilya Tocar <ilya.tocar@intel.com>
8288
8289 * testsuite/lib/libgomp.exp
8290 (check_effective_target_offload_device): New.
8291 * testsuite/libgomp.c++/c++.exp: Include tests from subdirectories.
8292 * testsuite/libgomp.c++/examples-4/e.51.5.C: New test.
8293 * testsuite/libgomp.c++/examples-4/e.53.2.C: Ditto.
8294 * testsuite/libgomp.c/examples-4/e.50.1.c: Ditto.
8295 * testsuite/libgomp.c/examples-4/e.50.2.c: Ditto.
8296 * testsuite/libgomp.c/examples-4/e.50.3.c: Ditto.
8297 * testsuite/libgomp.c/examples-4/e.50.4.c: Ditto.
8298 * testsuite/libgomp.c/examples-4/e.50.5.c: Ditto.
8299 * testsuite/libgomp.c/examples-4/e.51.1.c: Ditto.
8300 * testsuite/libgomp.c/examples-4/e.51.2.c: Ditto.
8301 * testsuite/libgomp.c/examples-4/e.51.3.c: Ditto.
8302 * testsuite/libgomp.c/examples-4/e.51.4.c: Ditto.
8303 * testsuite/libgomp.c/examples-4/e.51.6.c: Ditto.
8304 * testsuite/libgomp.c/examples-4/e.51.7.c: Ditto.
8305 * testsuite/libgomp.c/examples-4/e.52.1.c: Ditto.
8306 * testsuite/libgomp.c/examples-4/e.52.2.c: Ditto.
8307 * testsuite/libgomp.c/examples-4/e.53.1.c: Ditto.
8308 * testsuite/libgomp.c/examples-4/e.53.3.c: Ditto.
8309 * testsuite/libgomp.c/examples-4/e.53.4.c: Ditto.
8310 * testsuite/libgomp.c/examples-4/e.53.5.c: Ditto.
8311 * testsuite/libgomp.c/examples-4/e.54.2.c: Ditto.
8312 * testsuite/libgomp.c/examples-4/e.54.3.c: Ditto.
8313 * testsuite/libgomp.c/examples-4/e.54.4.c: Ditto.
8314 * testsuite/libgomp.c/examples-4/e.54.5.c: Ditto.
8315 * testsuite/libgomp.c/examples-4/e.54.6.c: Ditto.
8316 * testsuite/libgomp.c/examples-4/e.55.1.c: Ditto.
8317 * testsuite/libgomp.c/examples-4/e.55.2.c: Ditto.
8318 * testsuite/libgomp.c/examples-4/e.56.3.c: Ditto.
8319 * testsuite/libgomp.c/examples-4/e.56.4.c: Ditto.
8320 * testsuite/libgomp.c/examples-4/e.57.1.c: Ditto.
8321 * testsuite/libgomp.c/examples-4/e.57.2.c: Ditto.
8322 * testsuite/libgomp.c/examples-4/e.57.3.c: Ditto.
8323 * testsuite/libgomp.c/target-7.c: Fix test.
8324 * testsuite/libgomp.fortran/examples-4/e.50.1.f90: New test.
8325 * testsuite/libgomp.fortran/examples-4/e.50.2.f90: Ditto.
8326 * testsuite/libgomp.fortran/examples-4/e.50.3.f90: Ditto.
8327 * testsuite/libgomp.fortran/examples-4/e.50.4.f90: Ditto.
8328 * testsuite/libgomp.fortran/examples-4/e.50.5.f90: Ditto.
8329 * testsuite/libgomp.fortran/examples-4/e.51.1.f90: Ditto.
8330 * testsuite/libgomp.fortran/examples-4/e.51.2.f90: Ditto.
8331 * testsuite/libgomp.fortran/examples-4/e.51.3.f90: Ditto.
8332 * testsuite/libgomp.fortran/examples-4/e.51.4.f90: Ditto.
8333 * testsuite/libgomp.fortran/examples-4/e.51.5.f90: Ditto.
8334 * testsuite/libgomp.fortran/examples-4/e.51.6.f90: Ditto.
8335 * testsuite/libgomp.fortran/examples-4/e.51.7.f90: Ditto.
8336 * testsuite/libgomp.fortran/examples-4/e.52.1.f90: Ditto.
8337 * testsuite/libgomp.fortran/examples-4/e.52.2.f90: Ditto.
8338 * testsuite/libgomp.fortran/examples-4/e.53.1.f90: Ditto.
8339 * testsuite/libgomp.fortran/examples-4/e.53.2.f90: Ditto.
8340 * testsuite/libgomp.fortran/examples-4/e.53.3.f90: Ditto.
8341 * testsuite/libgomp.fortran/examples-4/e.53.4.f90: Ditto.
8342 * testsuite/libgomp.fortran/examples-4/e.53.5.f90: Ditto.
8343 * testsuite/libgomp.fortran/examples-4/e.54.2.f90: Ditto.
8344 * testsuite/libgomp.fortran/examples-4/e.54.3.f90: Ditto.
8345 * testsuite/libgomp.fortran/examples-4/e.54.4.f90: Ditto.
8346 * testsuite/libgomp.fortran/examples-4/e.54.5.f90: Ditto.
8347 * testsuite/libgomp.fortran/examples-4/e.54.6.f90: Ditto.
8348 * testsuite/libgomp.fortran/examples-4/e.55.1.f90: Ditto.
8349 * testsuite/libgomp.fortran/examples-4/e.55.2.f90: Ditto.
8350 * testsuite/libgomp.fortran/examples-4/e.56.3.f90: Ditto.
8351 * testsuite/libgomp.fortran/examples-4/e.56.4.f90: Ditto.
8352 * testsuite/libgomp.fortran/examples-4/e.57.1.f90: Ditto.
8353 * testsuite/libgomp.fortran/examples-4/e.57.2.f90: Ditto.
8354 * testsuite/libgomp.fortran/examples-4/e.57.3.f90: Ditto.
8355
1df3f842
JJ
83562014-11-13 Jakub Jelinek <jakub@redhat.com>
8357 Ilya Verbin <ilya.verbin@intel.com>
8358 Thomas Schwinge <thomas@codesourcery.com>
8359 Andrey Turetskiy <andrey.turetskiy@intel.com>
8360
8361 * libgomp.map (GOMP_4.0.1): New symbol version.
8362 Add GOMP_offload_register.
8363 * libgomp_target.h: New file.
8364 * splay-tree.h: New file.
8365 * target.c: Include config.h, libgomp_target.h, dlfcn.h, splay-tree.h.
8366 (gomp_target_init): New forward declaration.
8367 (gomp_is_initialized): New static variable.
8368 (splay_tree_node, splay_tree, splay_tree_key): New typedefs.
8369 (struct target_mem_desc, struct splay_tree_key_s, offload_image_descr):
8370 New structures.
8371 (offload_images, num_offload_images, devices, num_devices): New static
8372 variables.
8373 (splay_compare): New static function.
8374 (struct gomp_device_descr): New structure.
8375 (gomp_get_num_devices): Call gomp_target_init.
8376 (resolve_device, gomp_map_vars_existing, gomp_map_vars, gomp_unmap_tgt)
8377 (gomp_unmap_vars, gomp_update, gomp_init_device): New static functions.
8378 (GOMP_offload_register): New function.
8379 (GOMP_target): Arrange for host callback to be performed in a separate
8380 initial thread and contention group, inheriting ICVs from
8381 gomp_global_icv etc. Call gomp_map_vars and gomp_unmap_vars.
8382 Add device initialization and lookup for target function in splay tree.
8383 (GOMP_target_data): Add device initialization and call gomp_map_vars.
8384 (GOMP_target_end_data): Call gomp_unmap_vars.
8385 (GOMP_target_update): Add device initialization and call gomp_update.
8386 (gomp_load_plugin_for_device, gomp_register_images_for_device)
8387 (gomp_target_init): New static functions.
8388
85c64bbe
BS
83892014-11-13 Bernd Schmidt <bernds@codesourcery.com>
8390 Thomas Schwinge <thomas@codesourcery.com>
8391 Ilya Verbin <ilya.verbin@intel.com>
8392 Andrey Turetskiy <andrey.turetskiy@intel.com>
8393
8394 * config.h.in: Regenerate.
8395 * configure: Regenerate.
8396 * configure.ac: Check for libdl, required for plugin support.
8397 (PLUGIN_SUPPORT): Define if plugins are supported.
8398 (enable_offload_targets): Support Intel MIC targets.
8399 (OFFLOAD_TARGETS): List of target names suitable for offloading.
8400
ebf6d33b
FXC
84012014-11-11 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
8402
8403 PR target/63610
8404 * configure: Regenerate.
8405
8c768629
RO
84062014-11-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
8407
8408 * config/posix/lock.c (_XOPEN_SOURCE) Define as 600.
8409
c1d62412
MP
84102014-10-06 Marek Polacek <polacek@redhat.com>
8411
8412 * testsuite/libgomp.c/affinity-1.c: Include <sys/wait.h>.
8413 * testsuite/libgomp.c/nqueens-1.c: Include <stdlib.h>.
8414 * testsuite/libgomp.c/thread-limit-1.c: Include <omp.h>
8415 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8416
44a0c6cb
MP
84172014-10-06 Marek Polacek <polacek@redhat.com>
8418
8419 * testsuite/libgomp.c/affinity-1.c: Fix implicit declarations.
8420 * testsuite/libgomp.c/nqueens-1.c: Likewise.
8421 * testsuite/libgomp.c/pr26943-3.c: Likewise.
8422 * testsuite/libgomp.c/pr26943-4.c: Likewise.
8423 * testsuite/libgomp.c/pr36802-2.c: Likewise.
8424 * testsuite/libgomp.c/pr36802-3.c: Likewise.
8425 * testsuite/libgomp.c/thread-limit-1.c: Likewise.
8426 * testsuite/libgomp.c/thread-limit-2.c: Likewise.
8427 * testsuite/libgomp.c/appendix-a/a.15.1.c: Include <omp.h>.
8428 * testsuite/libgomp.c/omp-loop02.c: Fix defaulting to int.
8429 * testsuite/libgomp.c/omp-parallel-for.c: Likewise.
8430 * testsuite/libgomp.c/omp-parallel-if.c: Likewise.
8431 * testsuite/libgomp.c/omp-single-1.c: Likewise.
8432 * testsuite/libgomp.c/omp-single-2.c: Likewise.
8433 * testsuite/libgomp.c/omp_matvec.c: Likewise.
8434 * testsuite/libgomp.c/omp_workshare3.c: Likewise.
8435 * testsuite/libgomp.c/omp_workshare4.c: Likewise.
8436 * testsuite/libgomp.c/shared-1.c: Fix defaulting to int. Fix implicit
8437 declarations.
8438
5771c391
JJ
84392014-10-03 Jakub Jelinek <jakub@redhat.com>
8440
8441 PR libgomp/61200
8442 * testsuite/libgomp.c/pr61200.c: New test.
8443
bce16b88
JJ
84442014-09-18 Jakub Jelinek <jakub@redhat.com>
8445
8446 PR c++/63248
8447 * testsuite/libgomp.c++/pr63248.C: New test.
8448
3696163c
JJ
84492014-08-04 Jakub Jelinek <jakub@redhat.com>
8450
8451 * task.c (GOMP_taskgroup_end): If taskgroup->num_children
8452 is not zero, but taskgroup->children is NULL and there are
8453 any task->children, schedule those instead of waiting.
8454 * testsuite/libgomp.c/depend-6.c: New test.
8455 * testsuite/libgomp.c/depend-7.c: New test.
8456 * testsuite/libgomp.c/depend-8.c: New test.
8457 * testsuite/libgomp.c/depend-9.c: New test.
8458 * testsuite/libgomp.c/depend-10.c: New test.
8459
0494285a
JJ
84602014-08-01 Jakub Jelinek <jakub@redhat.com>
8461
8462 * libgomp.h (struct gomp_task_depend_entry): Add redundant_out field.
8463 (struct gomp_taskwait): New type.
8464 (struct gomp_task): Add taskwait and parent_depends_on, remove
8465 in_taskwait and taskwait_sem fields.
8466 (gomp_finish_task): Don't destroy taskwait_sem.
8467 * task.c (gomp_init_task): Don't init in_taskwait, instead init
8468 taskwait and parent_depends_on.
8469 (GOMP_task): For if (0) tasks with depend clause that depend on
8470 earlier tasks don't defer them, instead call
8471 gomp_task_maybe_wait_for_dependencies to wait for the dependencies.
8472 Initialize redundant_out field, for redundant out entries just
8473 move them at the end of linked list instead of removing them
8474 completely, and set redundant_out flag instead of redundant.
8475 (gomp_task_run_pre): Update last_parent_depends_on if scheduling
8476 that task.
8477 (gomp_task_run_post_handle_dependers): If parent is in
8478 gomp_task_maybe_wait_for_dependencies and newly runnable task
8479 is not parent_depends_on, queue it in parent->children linked
8480 list after all runnable tasks with parent_depends_on set.
8481 Adjust for addition of taskwait indirection.
8482 (gomp_task_run_post_remove_parent): If parent is in
8483 gomp_task_maybe_wait_for_dependencies and task to be removed
8484 is parent_depends_on, decrement n_depend and if needed awake
8485 parent. Adjust for addition of taskwait indirection.
8486 (GOMP_taskwait): Adjust for addition of taskwait indirection.
8487 (gomp_task_maybe_wait_for_dependencies): New function.
8488 * testsuite/libgomp.c/depend-5.c: New test.
8489
60ab4b44
TB
84902014-07-13 Tobias Burnus <burnus@net-b.de>
8491
8492 * testsuite/libgomp.fortran/pr34020.f90: Make compile
0494285a 8493 with TS 18508/Fortran 2015.
60ab4b44 8494
773ec47f
MP
84952014-07-06 Marek Polacek <polacek@redhat.com>
8496
8497 PR c/6940
8498 * testsuite/libgomp.c/appendix-a/a.29.1.c (f): Add dg-warnings.
8499
f707da16
JJ
85002014-07-03 Jakub Jelinek <jakub@redhat.com>
8501
8502 * testsuite/lib/libgomp.exp (libgomp_target_compile): If $source
8503 matches regex $lang_source_re, add $lang_include_flags to options.
8504 * testsuite/libgomp.c/c.exp: Unset lang_include_flags.
8505 * testsuite/libgomp.c++/c++.exp: Likewise.
8506 * testsuite/libgomp.fortran/fortran.exp: Likewise. Set lang_source_re
8507 and lang_include_flags instead of adding -fintrinsic-modules-path= to
8508 ALWAYS_CFLAGS.
8509 * testsuite/libgomp.graphite/graphite.exp: Unset lang_include_flags.
8510
07b6c044
TS
85112014-07-03 Thomas Schwinge <thomas@codesourcery.com>
8512
8513 * testsuite/libgomp.fortran/fortran.exp: Explain
8514 gfortran-dg-runtest usage.
8515
da6f124d
JJ
85162014-06-25 Jakub Jelinek <jakub@redhat.com>
8517
8518 * testsuite/libgomp.fortran/simd5.f90: New test.
8519 * testsuite/libgomp.fortran/simd6.f90: New test.
8520 * testsuite/libgomp.fortran/simd7.f90: New test.
8521
b46ebd6c
JJ
85222014-06-24 Jakub Jelinek <jakub@redhat.com>
8523
56ad0e38
JJ
8524 * testsuite/libgomp.c/for-2.c: Define SC to static for
8525 #pragma omp for simd testing.
8526 * testsuite/libgomp.c/for-2.h (SC): Define if not defined.
8527 (N(f5), N(f6), N(f7), N(f8), N(f10), N(f12), N(f14)): Use
8528 SC macro.
8529 * testsuite/libgomp.c/simd-14.c: New test.
8530 * testsuite/libgomp.c/simd-15.c: New test.
8531 * testsuite/libgomp.c/simd-16.c: New test.
8532 * testsuite/libgomp.c/simd-17.c: New test.
8533 * testsuite/libgomp.c++/for-10.C: Define SC to static for
8534 #pragma omp for simd testing.
8535 * testsuite/libgomp.c++/simd10.C: New test.
8536 * testsuite/libgomp.c++/simd11.C: New test.
8537 * testsuite/libgomp.c++/simd12.C: New test.
8538 * testsuite/libgomp.c++/simd13.C: New test.
8539
b46ebd6c
JJ
8540 * testsuite/libgomp.fortran/aligned1.f03: New test.
8541 * testsuite/libgomp.fortran/nestedfn5.f90: New test.
8542 * testsuite/libgomp.fortran/target7.f90: Surround loop spawning
8543 tasks with !$omp parallel !$omp single.
8544 * testsuite/libgomp.fortran/target8.f90: New test.
8545 * testsuite/libgomp.fortran/udr4.f90 (foo UDR, bar UDR): Adjust
8546 not to use trim in the combiner, instead call elemental function.
8547 (fn): New elemental function.
8548 * testsuite/libgomp.fortran/udr6.f90 (do_add, dp_add, dp_init):
8549 Make elemental.
8550 * testsuite/libgomp.fortran/udr7.f90 (omp_priv, omp_orig, omp_out,
8551 omp_in): Likewise.
8552 * testsuite/libgomp.fortran/udr12.f90: New test.
8553 * testsuite/libgomp.fortran/udr13.f90: New test.
8554 * testsuite/libgomp.fortran/udr14.f90: New test.
8555 * testsuite/libgomp.fortran/udr15.f90: New test.
8556
f014c653
JJ
85572014-06-18 Jakub Jelinek <jakub@redhat.com>
8558
8559 * omp_lib.f90.in (openmp_version): Set to 201307.
8560 * omp_lib.h.in (openmp_version): Likewise.
8561 * testsuite/libgomp.c/target-8.c: New test.
8562 * testsuite/libgomp.fortran/declare-simd-1.f90: Add notinbranch
8563 and inbranch clauses.
8564 * testsuite/libgomp.fortran/depend-3.f90: New test.
8565 * testsuite/libgomp.fortran/openmp_version-1.f: Adjust for new
8566 openmp_version.
8567 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8568 * testsuite/libgomp.fortran/target1.f90: New test.
8569 * testsuite/libgomp.fortran/target2.f90: New test.
8570 * testsuite/libgomp.fortran/target3.f90: New test.
8571 * testsuite/libgomp.fortran/target4.f90: New test.
8572 * testsuite/libgomp.fortran/target5.f90: New test.
8573 * testsuite/libgomp.fortran/target6.f90: New test.
8574 * testsuite/libgomp.fortran/target7.f90: New test.
8575
92d28cbb
JJ
85762014-06-10 Jakub Jelinek <jakub@redhat.com>
8577
8578 PR fortran/60928
8579 * testsuite/libgomp.fortran/allocatable9.f90: New test.
8580 * testsuite/libgomp.fortran/allocatable10.f90: New test.
8581 * testsuite/libgomp.fortran/allocatable11.f90: New test.
8582 * testsuite/libgomp.fortran/allocatable12.f90: New test.
8583 * testsuite/libgomp.fortran/alloc-comp-1.f90: New test.
8584 * testsuite/libgomp.fortran/alloc-comp-2.f90: New test.
8585 * testsuite/libgomp.fortran/alloc-comp-3.f90: New test.
8586 * testsuite/libgomp.fortran/associate1.f90: New test.
8587 * testsuite/libgomp.fortran/associate2.f90: New test.
8588 * testsuite/libgomp.fortran/procptr1.f90: New test.
8589
5f23671d
JJ
85902014-06-06 Jakub Jelinek <jakub@redhat.com>
8591
8592 * testsuite/libgomp.fortran/simd1.f90: New test.
8593 * testsuite/libgomp.fortran/udr1.f90: New test.
8594 * testsuite/libgomp.fortran/udr2.f90: New test.
8595 * testsuite/libgomp.fortran/udr3.f90: New test.
8596 * testsuite/libgomp.fortran/udr4.f90: New test.
8597 * testsuite/libgomp.fortran/udr5.f90: New test.
8598 * testsuite/libgomp.fortran/udr6.f90: New test.
8599 * testsuite/libgomp.fortran/udr7.f90: New test.
8600 * testsuite/libgomp.fortran/udr8.f90: New test.
8601 * testsuite/libgomp.fortran/udr9.f90: New test.
8602 * testsuite/libgomp.fortran/udr10.f90: New test.
8603 * testsuite/libgomp.fortran/udr11.f90: New test.
8604
0389fbb5
UB
86052014-05-27 Uros Bizjak <ubizjak@gmail.com>
8606
8607 * testsuite/libgomp.fortran/declare-simd-1.f90: Require
8608 vect_simd_clones effective target.
8609 * testsuite/libgomp.fortran/declare-simd-2.f90: Ditto.
8610
decaaec8
JJ
86112014-05-21 Jakub Jelinek <jakub@redhat.com>
8612
8613 PR middle-end/61252
8614 * testsuite/libgomp.c++/simd-9.C: New test.
8615
72832460
UB
86162014-05-18 Uros Bizjak <ubizjak@gmail.com>
8617
8618 * libgomp.texi (Runitme Library Routines): Remove multiple @menu.
8619 (Environment Variables) Move OMP_PROC_BIND and OMP_STACKSIZE node
8620 texts according to their @menu entry positions.
8621
dd2fc525
JJ
86222014-05-11 Jakub Jelinek <jakub@redhat.com>
8623
8624 * testsuite/libgomp.fortran/cancel-do-1.f90: New test.
8625 * testsuite/libgomp.fortran/cancel-do-2.f90: New test.
8626 * testsuite/libgomp.fortran/cancel-parallel-1.f90: New test.
8627 * testsuite/libgomp.fortran/cancel-parallel-3.f90: New test.
8628 * testsuite/libgomp.fortran/cancel-sections-1.f90: New test.
8629 * testsuite/libgomp.fortran/cancel-taskgroup-2.f90: New test.
8630 * testsuite/libgomp.fortran/declare-simd-1.f90: New test.
8631 * testsuite/libgomp.fortran/declare-simd-2.f90: New test.
8632 * testsuite/libgomp.fortran/declare-simd-3.f90: New test.
8633 * testsuite/libgomp.fortran/depend-1.f90: New test.
8634 * testsuite/libgomp.fortran/depend-2.f90: New test.
8635 * testsuite/libgomp.fortran/omp_atomic5.f90: New test.
8636 * testsuite/libgomp.fortran/simd1.f90: New test.
8637 * testsuite/libgomp.fortran/simd2.f90: New test.
8638 * testsuite/libgomp.fortran/simd3.f90: New test.
8639 * testsuite/libgomp.fortran/simd4.f90: New test.
8640 * testsuite/libgomp.fortran/taskgroup1.f90: New test.
8641
95782571
JJ
86422014-05-02 Jakub Jelinek <jakub@redhat.com>
8643
8644 * testsuite/libgomp.c/simd-10.c: New test.
8645 * testsuite/libgomp.c/simd-11.c: New test.
8646 * testsuite/libgomp.c/simd-12.c: New test.
8647 * testsuite/libgomp.c/simd-13.c: New test.
8648
f7468577
JJ
86492014-04-24 Jakub Jelinek <jakub@redhat.com>
8650
42056eac
JJ
8651 * testsuite/libgomp.c++/atomic-14.C: Allow seq_cst and
8652 atomic type clauses in any order and optional comma in between.
8653 * testsuite/libgomp.c++/atomic-15.C: Likewise.
8654 * testsuite/libgomp.c/atomic-17.c: Likewise.
8655
f7468577
JJ
8656 * testsuite/libgomp.c/simd-7.c: New test.
8657 * testsuite/libgomp.c/simd-8.c: New test.
8658 * testsuite/libgomp.c/simd-9.c: New test.
8659 * testsuite/libgomp.c/loop-16.c: New test.
8660
ab18f2f5
RH
86612014-04-02 Richard Henderson <rth@redhat.com>
8662
8663 * config/linux/futex.h (futex_wait): Get error value from errno.
8664 (futex_wake): Likewise.
8665
8bcc90b0
JJ
86662014-03-25 Jakub Jelinek <jakub@redhat.com>
8667
8668 PR c++/60331
8669 * testsuite/libgomp.c++/udr-11.C: New test.
8670 * testsuite/libgomp.c++/udr-12.C: New test.
8671 * testsuite/libgomp.c++/udr-13.C: New test.
8672 * testsuite/libgomp.c++/udr-14.C: New test.
8673 * testsuite/libgomp.c++/udr-15.C: New test.
8674 * testsuite/libgomp.c++/udr-16.C: New test.
8675 * testsuite/libgomp.c++/udr-17.C: New test.
8676 * testsuite/libgomp.c++/udr-18.C: New test.
8677 * testsuite/libgomp.c++/udr-19.C: New test.
8678
18d73c7f
RS
86792014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8680
8681 Update copyright years
8682
f9030485
RS
86832014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
8684
8685 * hashtab.h: Use the standard form for the copyright notice.
8686
98db73df
TB
86872014-01-02 Tobias Burnus <burnus@net-b.de>
8688
8689 * libgomp.texi: Bump @copying's copyright year.
8690
ae246f7f
AT
86912013-12-17 Andreas Tobler <andreast@gcc.gnu.org>
8692
93d90219 8693 * testsuite/libgomp.c/affinity-1.c: Remove alloca.h include. Replace
ae246f7f
AT
8694 alloca () with __builtin_alloca ().
8695 * testsuite/libgomp.c/icv-2.c: Add FreeBSD coverage.
8696 * testsuite/libgomp.c/lock-3.c: Likewise.
8697 * testsuite/libgomp.c/pr48591.c: Likewise.
8698
fa00a5fe
JJ
86992013-12-17 Jakub Jelinek <jakub@redhat.com>
8700
8701 PR testsuite/59534
8702 * testsuite/libgomp.fortran/retval1.f90 (e5): Avoid non-shortcircuited
8703 comparisons.
8704
e9792e1d
JJ
87052013-12-16 Jakub Jelinek <jakub@redhat.com>
8706
8707 PR libgomp/58756
8708 * testsuite/libgomp.c/pr58756.c: New test.
8709
cab37c89
JJ
87102013-12-12 Jakub Jelinek <jakub@redhat.com>
8711
8712 PR libgomp/59467
8713 * testsuite/libgomp.fortran/crayptr2.f90: Add private (d) clause to
8714 !$omp parallel.
8715
de14871c
TS
87162013-11-07 Thomas Schwinge <thomas@codesourcery.com>
8717
1707a5de
TS
8718 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -fopenmp to
8719 ALWAYS_CFLAGS.
8720 * testsuite/libgomp.c++/c++.exp (ALWAYS_CFLAGS): Add -fopenmp.
8721 * testsuite/libgomp.c/c.exp (ALWAYS_CFLAGS): Likewise.
8722 * testsuite/libgomp.fortran/fortran.exp (ALWAYS_CFLAGS): Likewise.
8723 * testsuite/libgomp.graphite/graphite.exp (ALWAYS_CFLAGS):
8724 Likewise.
8725
70f05c43
TS
8726 * libgomp_g.h: Include <stddef.h> for size_t.
8727
de14871c
TS
8728 * libgomp.spec.in: Update comment about libgomp's dependencies.
8729 * configure.ac: Likewise.
8730 * configure: Regenerate.
8731
83fd6c5b
TB
87322013-10-16 Tobias Burnus <burnus@net-b.de>
8733
8734 * libgomp.texi: (Runtime Library Routines): Update references for
8735 OpenMP 4.0. Add omp_get_cancellation, omp_get_default_device,
8736 omp_get_num_devices, omp_get_num_teams, omp_get_proc_bind,
8737 omp_get_team_num, omp_is_initial_device, omp_set_default_device.
8738 (Environment Variables): Update references for OpenMP 4.0. Add
8739 OMP_CANCELLATION, OMP_DEFAULT_DEVICE, OMP_PLACES.
8740 Move OMP_DISPLAY_ENV and OMP_PROC_BIND up to be in alphabetical
8741 order.
8742
c8673881
JJ
87432013-10-14 Jakub Jelinek <jakub@redhat.com>
8744
8745 * env.c (parse_bind_var): Initialize value to avoid
8746 (false positive) warning.
8747
f89163fd
JJ
87482013-10-12 Jakub Jelinek <jakub@redhat.com>
8749
8750 PR libgomp/58691
8751 * config/linux/proc.c (gomp_cpuset_popcount): Add unused attribute
8752 to check variable.
8753 (gomp_init_num_threads): Move i variable declaration into
8754 #ifdef CPU_ALLOC_SIZE block.
8755 * config/linux/affinity.c (gomp_affinity_init_level): Test
8756 gomp_places_list_len == 0 rather than gomp_places_list == 0
8757 when checking for topology reading error.
8758 * team.c (gomp_team_start): Don't handle bind == omp_proc_bind_false.
8759 * env.c (parse_affinity): Add ignore argument, if true, don't populate
8760 gomp_places_list, only parse env var and always return false.
8761 (parse_places_var): Likewise. Don't check gomp_global_icv.bind_var.
8762 (initialize_env): Always parse OMP_PLACES and GOMP_CPU_AFFINITY env
8763 vars, default to OMP_PROC_BIND=true if OMP_PROC_BIND wasn't specified
8764 and either of these variables were parsed correctly into a places
8765 list.
8766
1d340638
TS
87672013-10-11 Thomas Schwinge <thomas@codesourcery.com>
8768 Jakub Jelinek <jakub@redhat.com>
8769
8770 * testsuite/libgomp.graphite/force-parallel-1.c: Expect 4 instead
8771 of 5 loopfn matches.
8772 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
8773 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
8774 * testsuite/libgomp.graphite/force-parallel-4.c: Likewise.
8775 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
8776 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
8777 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
8778 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
8779 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
8780
71a81c21
TS
87812013-10-11 Thomas Schwinge <thomas@codesourcery.com>
8782
bd87f731
TS
8783 * Makefile.am (omp_lib.mod): Streamline rule.
8784 * Makefile.in: Regenerate.
8785
f5745bed
TS
8786 * libgomp.texi (Runtime Library Routines): C linkage, don't throw
8787 exceptions.
8788
b5512c66
TS
8789 * testsuite/libgomp.c/lib-1.c (main): Add missing error check.
8790 * testsuite/libgomp.fortran/lib1.f90: Likewise.
8791 * testsuite/libgomp.fortran/lib2.f: Likewise.
8792 * testsuite/libgomp.fortran/lib3.f: Likewise.
8793
451c19c4
TS
8794 * configure.ac: Typo fix.
8795 * configure: Regenerate.
8796
86a6016d
TS
8797 * testsuite/libgomp.fortran/openmp_version-1.f: New file.
8798 * testsuite/libgomp.fortran/openmp_version-2.f90: Likewise.
8799
71a81c21
TS
8800 * omp.h.in: Don't touch the user's namespace.
8801
acf0174b
JJ
88022013-10-11 Jakub Jelinek <jakub@redhat.com>
8803 Tobias Burnus <burnus@net-b.de>
8804 Richard Henderson <rth@redhat.com>
8805
8806 * target.c: New file.
8807 * Makefile.am (libgomp_la_SOURCES): Add target.c.
8808 * Makefile.in: Regenerated.
8809 * libgomp_g.h (GOMP_task): Add depend argument.
8810 (GOMP_barrier_cancel, GOMP_loop_end_cancel,
8811 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
8812 GOMP_target_end_data, GOMP_target_update, GOMP_teams,
8813 GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
8814 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
8815 GOMP_parallel, GOMP_cancel, GOMP_cancellation_point,
8816 GOMP_taskgroup_start, GOMP_taskgroup_end,
8817 GOMP_parallel_sections): New prototypes.
8818 * fortran.c (omp_is_initial_device): Add ialias_redirect.
8819 (omp_is_initial_device_): New function.
8820 (ULP, STR1, STR2, ialias_redirect): Removed.
8821 (omp_get_cancellation_, omp_get_proc_bind_, omp_set_default_device_,
8822 omp_set_default_device_8_, omp_get_default_device_,
8823 omp_get_num_devices_, omp_get_num_teams_, omp_get_team_num_): New
8824 functions.
8825 * libgomp.map (GOMP_barrier_cancel, GOMP_loop_end_cancel,
8826 GOMP_sections_end_cancel, GOMP_target, GOMP_target_data,
8827 GOMP_target_end_data, GOMP_target_update, GOMP_teams): Export
8828 @@GOMP_4.0.
8829 (omp_is_initial_device, omp_is_initial_device_, omp_get_cancellation,
8830 omp_get_cancellation_, omp_get_proc_bind, omp_get_proc_bind_,
8831 omp_set_default_device, omp_set_default_device_,
8832 omp_set_default_device_8_, omp_get_default_device,
8833 omp_get_default_device_, omp_get_num_devices, omp_get_num_devices_,
8834 omp_get_num_teams, omp_get_num_teams_, omp_get_team_num,
8835 omp_get_team_num_): Export @@OMP_4.0.
8836 * team.c (struct gomp_thread_start_data): Add place field.
8837 (gomp_thread_start): Clear thr->thread_pool and
8838 thr->task before returning. Use gomp_team_barrier_wait_final
8839 instead of gomp_team_barrier_wait. Initialize thr->place.
8840 (gomp_new_team): Initialize work_shares_to_free, work_share_cancelled,
8841 team_cancelled and task_queued_count fields.
8842 (gomp_free_pool_helper): Clear thr->thread_pool and thr->task
8843 before calling pthread_exit.
8844 (gomp_free_thread): No longer static. Use
8845 gomp_managed_threads_lock instead of gomp_remaining_threads_lock.
8846 (gomp_team_start): Add flags argument. Set
8847 thr->thread_pool->threads_busy to nthreads immediately after creating
8848 new pool. Use gomp_managed_threads_lock instead of
8849 gomp_remaining_threads_lock. Handle OpenMP 4.0 affinity.
8850 (gomp_team_end): Use gomp_managed_threads_lock instead of
8851 gomp_remaining_threads_lock. Use gomp_team_barrier_wait_final instead
8852 of gomp_team_barrier_wait. If team->team_cancelled, call
93d90219 8853 gomp_fini_workshare on ws chain starting at team->work_shares_to_free
acf0174b
JJ
8854 rather than thr->ts.work_share.
8855 (initialize_team): Don't call gomp_sem_init here.
8856 * sections.c (GOMP_parallel_sections_start): Adjust gomp_team_start
8857 caller.
8858 (GOMP_parallel_sections, GOMP_sections_end_cancel): New functions.
8859 * env.c (gomp_global_icv): Add default_device_var, target_data and
8860 bind_var initializers.
8861 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
8862 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
8863 gomp_places_list_len): New variables.
8864 (parse_bind_var, parse_one_place, parse_places_var): New functions.
8865 (parse_affinity): Rewritten to construct OMP_PLACES list with unit
8866 sized places.
8867 (gomp_cancel_var): New global variable.
8868 (parse_int): New function.
8869 (handle_omp_display_env): New function.
8870 (initialize_env): Use it. Initialize default_device_var.
8871 Parse OMP_CANCELLATION env var. Use parse_bind_var to parse
8872 OMP_PROC_BIND instead of parse_boolean. Use parse_places_var for
8873 OMP_PLACES parsing. Don't call parse_affinity if OMP_PLACES has
8874 been successfully parsed (and call gomp_init_affinity in that case).
8875 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8876 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8877 omp_get_team_num, omp_is_initial_device): New functions.
8878 * libgomp.h: Include stdlib.h.
8879 (ialias_ulp, ialias_str1, ialias_str2, ialias_redirect, ialias_call):
8880 Define.
8881 (struct target_mem_desc): Forward declare.
8882 (struct gomp_task_icv): Add default_device_var, target_data, bind_var
8883 and thread_limit_var fields.
8884 (gomp_get_num_devices): New prototype.
8885 (gomp_cancel_var): New extern decl.
8886 (struct gomp_team): Add work_shares_to_free, work_share_cancelled,
8887 team_cancelled and task_queued_count fields. Add comments about
8888 task_{,queued_,running_}count.
8889 (gomp_cancel_kind): New enum.
8890 (gomp_work_share_end_cancel): New prototype.
8891 (struct gomp_task): Add next_taskgroup, prev_taskgroup, taskgroup,
8892 copy_ctors_done, dependers, depend_hash, depend_count, num_dependees
8893 and depend fields.
8894 (struct gomp_taskgroup): New type.
8895 (struct gomp_task_depend_entry,
8896 struct gomp_dependers_vec): New types.
8897 (gomp_finish_task): Free depend_hash if non-NULL.
8898 (struct gomp_team_state): Add place_partition_off
8899 and place_partition_len fields.
8900 (gomp_bind_var_list, gomp_bind_var_list_len, gomp_places_list,
8901 gomp_places_list_len): New extern decls.
8902 (struct gomp_thread): Add place field.
8903 (gomp_cpu_affinity, gomp_cpu_affinity_len): Remove.
8904 (gomp_init_thread_affinity): Add place argument.
8905 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
8906 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
8907 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
8908 gomp_affinity_init_level, gomp_affinity_print_place): New
8909 prototypes.
8910 (gomp_team_start): Add flags argument.
8911 (gomp_thread_limit_var, gomp_remaining_threads_count,
8912 gomp_remaining_threads_lock): Remove.
8913 (gomp_managed_threads_lock): New variable.
8914 (struct gomp_thread_pool): Add threads_busy field.
8915 (gomp_free_thread): New prototype.
8916 * task.c: Include hashtab.h.
8917 (hash_entry_type): New typedef.
8918 (htab_alloc, htab_free, htab_hash, htab_eq): New inlines.
8919 (gomp_init_task): Clear dependers, depend_hash, depend_count,
8920 copy_ctors_done and taskgroup fields.
8921 (GOMP_task): Add depend argument, handle depend clauses. If
8922 gomp_team_barrier_cancelled or if it's taskgroup has been
8923 cancelled, don't queue or start new tasks. Set copy_ctors_done
8924 field if needed. Initialize taskgroup field. If copy_ctors_done
8925 and already cancelled, don't discard the task. If taskgroup is
8926 non-NULL, enqueue the task into taskgroup queue. Increment
8927 num_children field in taskgroup. Increment task_queued_count.
8928 (gomp_task_run_pre, gomp_task_run_post_remove_parent,
8929 gomp_task_run_post_remove_taskgroup): New inline functions.
8930 (gomp_task_run_post_handle_depend_hash,
8931 gomp_task_run_post_handle_dependers,
8932 gomp_task_run_post_handle_depend): New functions.
8933 (GOMP_taskwait): Use them. If more than one new tasks
8934 have been queued, wake other threads if needed.
8935 (gomp_barrier_handle_tasks): Likewise. If
8936 gomp_team_barrier_cancelled, don't start any new tasks, just free
8937 all tasks.
8938 (GOMP_taskgroup_start, GOMP_taskgroup_end): New functions.
8939 * omp_lib.f90.in
8940 (omp_proc_bind_kind, omp_proc_bind_false,
8941 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
8942 omp_proc_bind_spread): New params.
8943 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8944 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8945 omp_get_team_num, omp_is_initial_device): New interfaces.
8946 (omp_get_dynamic, omp_get_nested, omp_in_parallel,
8947 omp_get_max_threads, omp_get_num_procs, omp_get_num_threads,
8948 omp_get_thread_num, omp_get_thread_limit, omp_set_max_active_levels,
8949 omp_get_max_active_levels, omp_get_level, omp_get_ancestor_thread_num,
8950 omp_get_team_size, omp_get_active_level, omp_in_final): Remove
8951 useless use omp_lib_kinds.
8952 * omp.h.in (omp_proc_bind_t): New typedef.
8953 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
8954 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
8955 omp_get_team_num, omp_is_initial_device): New prototypes.
8956 * loop.c (gomp_parallel_loop_start): Add flags argument, pass it
8957 through to gomp_team_start.
8958 (GOMP_parallel_loop_static_start, GOMP_parallel_loop_dynamic_start,
8959 GOMP_parallel_loop_guided_start, GOMP_parallel_loop_runtime_start):
8960 Adjust gomp_parallel_loop_start callers.
8961 (GOMP_parallel_loop_static, GOMP_parallel_loop_dynamic,
8962 GOMP_parallel_loop_guided, GOMP_parallel_loop_runtime,
8963 GOMP_loop_end_cancel): New functions.
8964 (GOMP_parallel_end): Add ialias_redirect.
8965 * hashtab.h: New file.
8966 * libgomp.texi (Environment Variables): Minor cleanup,
8967 update section refs to OpenMP 4.0rc2.
8968 (OMP_DISPLAY_ENV, GOMP_SPINCOUNT): Document these
8969 environment variables.
8970 * work.c (gomp_work_share_end, gomp_work_share_end_nowait): Set
8971 team->work_shares_to_free to thr->ts.work_share before calling
8972 free_work_share.
8973 (gomp_work_share_end_cancel): New function.
8974 * config/linux/proc.c: Include errno.h.
8975 (gomp_get_cpuset_size, gomp_cpuset_size, gomp_cpusetp): New variables.
8976 (gomp_cpuset_popcount): Add cpusetsize argument, use it instead of
8977 sizeof (cpu_set_t) to determine number of iterations. Fix up check
8978 extern decl. Use CPU_COUNT_S if available, or CPU_COUNT if
8979 gomp_cpuset_size is sizeof (cpu_set_t).
8980 (gomp_init_num_threads): Initialize gomp_cpuset_size,
8981 gomp_get_cpuset_size and gomp_cpusetp here, use gomp_cpusetp instead
8982 of &cpuset and pass gomp_cpuset_size instead of sizeof (cpu_set_t)
8983 to pthread_getaffinity_np. Free and clear gomp_cpusetp if it didn't
8984 contain any logical CPUs.
8985 (get_num_procs): Don't call pthread_getaffinity_np if gomp_cpusetp
8986 is NULL. Use gomp_cpusetp instead of &cpuset and pass
8987 gomp_get_cpuset_size instead of sizeof (cpu_set_t) to
8988 pthread_getaffinity_np. Check gomp_places_list instead of
8989 gomp_cpu_affinity. Adjust gomp_cpuset_popcount caller.
8990 * config/linux/bar.c (gomp_barrier_wait_end,
8991 gomp_barrier_wait_last): Use BAR_* defines.
8992 (gomp_team_barrier_wait_end): Likewise. Clear BAR_CANCELLED
8993 from state where needed. Set work_share_cancelled to 0 on last
8994 thread.
8995 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel_end,
8996 gomp_team_barrier_wait_cancel, gomp_team_barrier_cancel): New
8997 functions.
8998 * config/linux/proc.h (gomp_cpuset_popcount): Add attribute_hidden.
8999 Add cpusetsize argument.
9000 (gomp_cpuset_size, gomp_cpusetp): Declare.
9001 * config/linux/affinity.c: Include errno.h, stdio.h and string.h.
9002 (affinity_counter): Remove.
9003 (CPU_ISSET_S, CPU_ZERO_S, CPU_SET_S, CPU_CLR_S): Define
9004 if CPU_ALLOC_SIZE isn't defined.
9005 (gomp_init_affinity): Rewritten, if gomp_places_list is NULL, try
9006 silently create OMP_PLACES=threads, if it is non-NULL afterwards,
9007 bind current thread to the first place.
9008 (gomp_init_thread_affinity): Rewritten. Add place argument, just
9009 pthread_setaffinity_np to gomp_places_list[place].
9010 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9011 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9012 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9013 gomp_affinity_init_level, gomp_affinity_print_place): New functions.
9014 * config/linux/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9015 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9016 (gomp_barrier_t): Add awaited_final field.
9017 (gomp_barrier_init): Initialize awaited_final field.
9018 (gomp_team_barrier_wait_final, gomp_team_barrier_wait_cancel,
9019 gomp_team_barrier_wait_cancel_end, gomp_team_barrier_cancel): New
9020 prototypes.
9021 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit. Use BAR_*
9022 defines.
9023 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final_start,
9024 gomp_team_barrier_cancelled): New inline functions.
9025 (gomp_barrier_last_thread,
9026 gomp_team_barrier_set_task_pending,
9027 gomp_team_barrier_clear_task_pending,
9028 gomp_team_barrier_set_waiting_for_tasks,
9029 gomp_team_barrier_waiting_for_tasks,
9030 gomp_team_barrier_done): Use BAR_* defines.
9031 * config/posix/bar.c (gomp_barrier_init): Clear cancellable field.
9032 (gomp_barrier_wait_end): Use BAR_* defines.
9033 (gomp_team_barrier_wait_end): Clear BAR_CANCELLED from state.
9034 Set work_share_cancelled to 0 on last thread, use __atomic_load_n.
9035 Use BAR_* defines.
9036 (gomp_team_barrier_wait_cancel_end, gomp_team_barrier_wait_cancel,
9037 gomp_team_barrier_cancel): New functions.
9038 * config/posix/affinity.c (gomp_init_thread_affinity): Add place
9039 argument.
9040 (gomp_affinity_alloc, gomp_affinity_init_place, gomp_affinity_add_cpus,
9041 gomp_affinity_remove_cpu, gomp_affinity_copy_place,
9042 gomp_affinity_same_place, gomp_affinity_finalize_place_list,
9043 gomp_affinity_init_level, gomp_affinity_print_place): New stubs.
9044 * config/posix/bar.h (BAR_TASK_PENDING, BAR_WAS_LAST,
9045 BAR_WAITING_FOR_TASK, BAR_INCR, BAR_CANCELLED): Define.
9046 (gomp_barrier_t): Add cancellable field.
9047 (gomp_team_barrier_wait_cancel, gomp_team_barrier_wait_cancel_end,
9048 gomp_team_barrier_cancel): New prototypes.
9049 (gomp_barrier_wait_start): Preserve BAR_CANCELLED bit.
9050 (gomp_barrier_wait_cancel_start, gomp_team_barrier_wait_final,
9051 gomp_team_barrier_cancelled): New inline functions.
9052 (gomp_barrier_wait_start, gomp_barrier_last_thread,
9053 gomp_team_barrier_set_task_pending,
9054 gomp_team_barrier_clear_task_pending,
9055 gomp_team_barrier_set_waiting_for_tasks,
9056 gomp_team_barrier_waiting_for_tasks,
9057 gomp_team_barrier_done): Use BAR_* defines.
9058 * barrier.c (GOMP_barrier_cancel): New function.
9059 * omp_lib.h.in (omp_proc_bind_kind, omp_proc_bind_false,
9060 omp_proc_bind_true, omp_proc_bind_master, omp_proc_bind_close,
9061 omp_proc_bind_spread): New params.
9062 (omp_get_cancellation, omp_get_proc_bind, omp_set_default_device,
9063 omp_get_default_device, omp_get_num_devices, omp_get_num_teams,
9064 omp_get_team_num, omp_is_initial_device): New externals.
9065 * parallel.c (GOMP_parallel, GOMP_cancel, GOMP_cancellation_point):
9066 New functions.
9067 (gomp_resolve_num_threads): Adjust for thread_limit now being in
9068 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9069 infinity. If not nested, just return minimum of max_num_threads
9070 and icv->thread_limit_var and if thr->thread_pool, set threads_busy
9071 to the returned value. Otherwise, don't update atomically
9072 gomp_remaining_threads_count, but instead thr->thread_pool->threads_busy.
9073 (GOMP_parallel_end): Adjust for thread_limit now being in
9074 icv->thread_limit_var. Use UINT_MAX instead of ULONG_MAX as
9075 infinity. Adjust threads_busy in the pool rather than
9076 gomp_remaining_threads_count. Remember team->nthreads and call
9077 gomp_team_end before adjusting threads_busy, if not nested
9078 afterwards, just set it to 1 non-atomically. Add ialias.
9079 (GOMP_parallel_start): Adjust gomp_team_start caller.
9080 * testsuite/libgomp.c/atomic-14.c: Add parens to make it valid.
9081 * testsuite/libgomp.c/affinity-1.c: New test.
9082 * testsuite/libgomp.c/atomic-15.c: New test.
9083 * testsuite/libgomp.c/atomic-16.c: New test.
9084 * testsuite/libgomp.c/atomic-17.c: New test.
9085 * testsuite/libgomp.c/cancel-for-1.c: New test.
9086 * testsuite/libgomp.c/cancel-for-2.c: New test.
9087 * testsuite/libgomp.c/cancel-parallel-1.c: New test.
9088 * testsuite/libgomp.c/cancel-parallel-2.c: New test.
9089 * testsuite/libgomp.c/cancel-parallel-3.c: New test.
9090 * testsuite/libgomp.c/cancel-sections-1.c: New test.
9091 * testsuite/libgomp.c/cancel-taskgroup-1.c: New test.
9092 * testsuite/libgomp.c/cancel-taskgroup-2.c: New test.
9093 * testsuite/libgomp.c/depend-1.c: New test.
9094 * testsuite/libgomp.c/depend-2.c: New test.
9095 * testsuite/libgomp.c/depend-3.c: New test.
9096 * testsuite/libgomp.c/depend-4.c: New test.
9097 * testsuite/libgomp.c/for-1.c: New test.
9098 * testsuite/libgomp.c/for-1.h: New file.
9099 * testsuite/libgomp.c/for-2.c: New test.
9100 * testsuite/libgomp.c/for-2.h: New file.
9101 * testsuite/libgomp.c/for-3.c: New test.
9102 * testsuite/libgomp.c/pr58392.c: New test.
9103 * testsuite/libgomp.c/simd-1.c: New test.
9104 * testsuite/libgomp.c/simd-2.c: New test.
9105 * testsuite/libgomp.c/simd-3.c: New test.
9106 * testsuite/libgomp.c/simd-4.c: New test.
9107 * testsuite/libgomp.c/simd-5.c: New test.
9108 * testsuite/libgomp.c/simd-6.c: New test.
9109 * testsuite/libgomp.c/target-1.c: New test.
9110 * testsuite/libgomp.c/target-2.c: New test.
9111 * testsuite/libgomp.c/target-3.c: New test.
9112 * testsuite/libgomp.c/target-4.c: New test.
9113 * testsuite/libgomp.c/target-5.c: New test.
9114 * testsuite/libgomp.c/target-6.c: New test.
9115 * testsuite/libgomp.c/target-7.c: New test.
9116 * testsuite/libgomp.c/taskgroup-1.c: New test.
9117 * testsuite/libgomp.c/thread-limit-1.c: New test.
9118 * testsuite/libgomp.c/thread-limit-2.c: New test.
9119 * testsuite/libgomp.c/thread-limit-3.c: New test.
9120 * testsuite/libgomp.c/udr-1.c: New test.
9121 * testsuite/libgomp.c/udr-2.c: New test.
9122 * testsuite/libgomp.c/udr-3.c: New test.
9123 * testsuite/libgomp.c++/affinity-1.C: New test.
9124 * testsuite/libgomp.c++/atomic-10.C: New test.
9125 * testsuite/libgomp.c++/atomic-11.C: New test.
9126 * testsuite/libgomp.c++/atomic-12.C: New test.
9127 * testsuite/libgomp.c++/atomic-13.C: New test.
9128 * testsuite/libgomp.c++/atomic-14.C: New test.
9129 * testsuite/libgomp.c++/atomic-15.C: New test.
9130 * testsuite/libgomp.c++/cancel-for-1.C: New test.
9131 * testsuite/libgomp.c++/cancel-for-2.C: New test.
9132 * testsuite/libgomp.c++/cancel-parallel-1.C: New test.
9133 * testsuite/libgomp.c++/cancel-parallel-2.C: New test.
9134 * testsuite/libgomp.c++/cancel-parallel-3.C: New test.
9135 * testsuite/libgomp.c++/cancel-sections-1.C: New test.
9136 * testsuite/libgomp.c++/cancel-taskgroup-1.C: New test.
9137 * testsuite/libgomp.c++/cancel-taskgroup-2.C: New test.
9138 * testsuite/libgomp.c++/cancel-taskgroup-3.C: New test.
9139 * testsuite/libgomp.c++/cancel-test.h: New file.
9140 * testsuite/libgomp.c++/for-9.C: New test.
9141 * testsuite/libgomp.c++/for-10.C: New test.
9142 * testsuite/libgomp.c++/for-11.C: New test.
9143 * testsuite/libgomp.c++/simd-1.C: New test.
9144 * testsuite/libgomp.c++/simd-2.C: New test.
9145 * testsuite/libgomp.c++/simd-3.C: New test.
9146 * testsuite/libgomp.c++/simd-4.C: New test.
9147 * testsuite/libgomp.c++/simd-5.C: New test.
9148 * testsuite/libgomp.c++/simd-6.C: New test.
9149 * testsuite/libgomp.c++/simd-7.C: New test.
9150 * testsuite/libgomp.c++/simd-8.C: New test.
9151 * testsuite/libgomp.c++/target-1.C: New test.
9152 * testsuite/libgomp.c++/target-2.C: New test.
9153 * testsuite/libgomp.c++/target-2-aux.cc: New file.
9154 * testsuite/libgomp.c++/target-3.C: New test.
9155 * testsuite/libgomp.c++/taskgroup-1.C: New test.
9156 * testsuite/libgomp.c++/udr-1.C: New test.
9157 * testsuite/libgomp.c++/udr-2.C: New test.
9158 * testsuite/libgomp.c++/udr-3.C: New test.
9159 * testsuite/libgomp.c++/udr-4.C: New test.
9160 * testsuite/libgomp.c++/udr-5.C: New test.
9161 * testsuite/libgomp.c++/udr-6.C: New test.
9162 * testsuite/libgomp.c++/udr-7.C: New test.
9163 * testsuite/libgomp.c++/udr-8.C: New test.
9164 * testsuite/libgomp.c++/udr-9.C: New test.
9165
bd599dea
JJ
91662013-09-20 Jakub Jelinek <jakub@redhat.com>
9167
9168 PR testsuite/57605
9169 * testsuite/lib/libgomp.exp: Add -fdiagnostics-color=never to
9170 ALWAYS_CFLAGS.
9171
3cbe17f7
AM
91722013-09-20 Alan Modra <amodra@gmail.com>
9173
9174 * configure: Regenerate.
9175
4befd127
JJ
91762013-09-19 Jakub Jelinek <jakub@redhat.com>
9177
9178 * testsuite/libgomp.c/sections-2.c: New test.
9179
946c8f7b
MS
91802013-06-28 Marcus Shawcroft <marcus.shawcroft@arm.com>
9181
9182 * testsuite/libgomp.fortran/strassen.f90:
9183 Add dg-skip-if aarch64_tiny.
9184
1ef3b58e
IS
91852013-06-20 Iain Sandoe <iain@codesourcery.com>
9186 Cesar Philippidis <cesar@codesourcery.com>
9187
9188 * testsuite/lib/libgomp.exp: Reorder lib loads into dependency order.
9189 Do not load_gcc_lib gcc-dg.exp and add a comment as to why.
9190 * testsuite/libgomp.c/c.exp: load_gcc_lib gcc-dg.exp.
9191 * testsuite/libgomp.fortran/fortran.exp: Likewise.
9192 * testsuite/libgomp.graphite/graphite.exp: Likewise.
9193 * testsuite/libgomp.c++/c++.exp: load_gcc_lib gcc-dg.exp.
9194 Use dg-runtest rather than gfortran-dg-runtest.
9195
9275f73a
TS
91962013-06-10 Thomas Schwinge <thomas@codesourcery.com>
9197
9198 * testsuite/libgomp.c/icv-2.c: Extend current handling of
9199 Linux-based x86 systems to cover all GNU systems.
9200 * testsuite/libgomp.c/lock-3.c: Likewise.
9201 * testsuite/libgomp.c/pr48591.c: Likewise.
9202
492992e2
TS
92032013-06-06 Thomas Schwinge <thomas@codesourcery.com>
9204
48df3acb
TS
9205 * configure.tgt (XCFLAGS): Add -ftls-model=initial-exec for
9206 GNU/Hurd, as done for Linux-based systems.
9207
492992e2
TS
9208 * config/posix/ptrlock.h: Fix comment.
9209
4fed6b25
TB
92102013-05-27 Tobias Burnus <burnus@net-b.de>
9211
9212 PR fortran/57423
9213 * libgomp.texi (omp_set_dynamic, omp_set_nested, omp_set_nested,
9214 omp_set_num_threads, omp_init_lock, omp_set_lock, omp_test_lock,
9215 omp_unset_lock, omp_destroy_lock, omp_init_nest_lock,
9216 omp_set_nest_lock, omp_test_nest_lock, omp_unset_nest_lock,
9217 omp_destroy_nest_lock): Correct arguments to match the one in
9218 the OpenMP spec.
9219 * omp_lib.f90.in (omp_init_lock, omp_init_nest_lock, omp_destroy_lock
9220 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock, omp_unset_lock,
9221 omp_unset_nest_lock, omp_set_dynamic, omp_set_nested,
9222 omp_set_num_threads, omp_test_lock, omp_test_nest_lock): Ditto.
9223
5a0f4dd3
JJ
92242013-05-16 Jakub Jelinek <jakub@redhat.com>
9225
9226 * testsuite/libgomp.c/loop-13.c: New test.
9227 * testsuite/libgomp.c/loop-14.c: New test.
9228 * testsuite/libgomp.c/loop-15.c: New test.
9229 * testsuite/libgomp.c++/loop-13.C: New test.
9230 * testsuite/libgomp.c++/loop-14.C: New test.
9231 * testsuite/libgomp.c++/loop-15.C: New test.
9232
6d840d99
JJ
92332013-02-06 Jakub Jelinek <jakub@redhat.com>
9234
9235 PR middle-end/56217
9236 * testsuite/libgomp.c++/pr56217.C: New test.
9237
bed8d8a6
AM
92382013-02-01 Alan Modra <amodra@gmail.com>
9239
9240 * task.c (GOMP_task, GOMP_taskwait): Comment.
9241
3b35cd04
DV
92422013-01-31 Dmitry Vyukov <dvyukov@gcc.gnu.org>
9243 Joost VandeVondele <Joost.VandeVondele@mat.ethz.ch>
9244
9245 PR libgomp/55561
9246 * config/linux/wait.h (do_spin): Use atomic load for addr.
9247 * config/linux/ptrlock.c (gomp_ptrlock_get_slow): Use atomic
9248 for intptr and ptrlock.
9249 * config/linux/ptrlock.h (gomp_ptrlock_get): Use atomic load
9250 for ptrlock.
9251
9a647288
AM
92522013-01-22 Alan Modra <amodra@gmail.com>
9253
9254 PR libgomp/51376
9255 PR libgomp/56073
9256 * task.c (GOMP_task): Revert 2011-12-09 change.
9257 (GOMP_taskwait): Likewise. Instead use atomic load with acquire
9258 barrier to read task->children..
9259 (gomp_barrier_handle_tasks): ..and matching atomic store with
9260 release barrier here when setting parent->children to NULL.
9261
f34dea03
JJ
92622013-01-16 Jakub Jelinek <jakub@redhat.com>
9263 Tobias Burnus <burnus@net-b.de>
9264
9265 PR driver/55884
9266 * testsuite/libgomp.fortran/fortran.exp: Use
9267 -fintrinsic-modules-path= instead of
9268 -fintrinsic-modules-path.
9269
8129609c
RS
92702013-01-14 Richard Sandiford <rdsandiford@googlemail.com>
9271
9272 Update copyright years.
9273
aa86bf1e
TB
92742012-12-19 Tobias Burnus <burnus@net-b.de>
9275
9276 * testsuite/libgomp.fortran/fortran.exp: Set
9277 -fintrinsic-modules-path.
9278
2865ea66
TB
92792012-12-19 Tobias Burnus <burnus@net-b.de>
9280
9281 * testsuite/libgomp.fortran/use_intrinsic_1.f90: New; moved
9282 from gcc/testsuite/gfortran.dg/gomp/use_intrinsic_1.f90.
9283
4c5ba8d0
JJ
92842012-11-21 Jakub Jelinek <jakub@redhat.com>
9285
9286 PR libgomp/55411
9287 * team.c (gomp_free_thread): Decrease gomp_managed_threads
9288 if pool had any threads_used.
9289
e9f958c2
JH
92902012-11-07 Jack Howarth <howarth@bromo.med.uc.edu>
9291
9292 * testsuite/libgomp.c++/pr24455.C: Use
9293 -Wl,-undefined,dynamic_lookup on darwin.
9294
a57d75dc
DE
92952012-11-07 David Edelsohn <dje.gcc@gmail.com>
9296
9297 * testsuite/libgomp.c++/pr24455.C: Use -Wl,-G on AIX.
9298
c6c08485
DH
92992012-10-24 Dominique d'Humieres <dominiq@lps.ens.fr>
9300
9301 * testsuite/libgomp.graphite/force-parallel-6.c: Adjust the loops.
9302
c1f37c00
IB
93032012-10-23 Ian Bolton <ian.bolton@arm.com>
9304 Jim MacArthur <jim.macarthur@arm.com>
9305 Marcus Shawcroft <marcus.shawcroft@arm.com>
9306 Nigel Stephens <nigel.stephens@arm.com>
9307 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
9308 Richard Earnshaw <rearnsha@arm.com>
9309 Sofiane Naci <sofiane.naci@arm.com>
9310 Stephen Thomas <stephen.thomas@arm.com>
9311 Tejas Belagod <tejas.belagod@arm.com>
9312 Yufeng Zhang <yufeng.zhang@arm.com>
9313
9314 * configure.tgt: Add AArch64.
9315
7c424acd
JM
93162012-10-04 Jason Merrill <jason@redhat.com>
9317
9318 * testsuite/libgomp.c++/tls-init1.C: New.
9319
6608378b
DE
93202012-09-14 David Edelsohn <dje.gcc@gmail.com>
9321
9322 * configure: Regenerated.
9323
c24dbebb
CLT
93242012-08-29 Chung-Lin Tang <cltang@codesourcery.com>
9325
9326 * config/linux/mips/futex.h (sys_futex0): Change to static
9327 function with noinline, nomips16 attributes under MIPS16. Adjust
9328 asm statement to place 'li v0,SYS_futex' immediately before
9329 syscall insn.
9330
3d3949df
SL
93312012-07-04 Sandra Loosemore <sandra@codesourcery.com>
9332
9333 * libgomp.texi (Library Index): Renamed from "Index" to prevent
9334 conflict with index.html on case-insensitive file systems.
9335
68a12ef3
UB
93362012-07-03 Uros Bizjak <ubizjak@gmail.com>
9337
9338 * config/linux/x86/futex.h (cpu_relax): Use __builtin_ia32_pause.
9339 * testsuite/libgomp.c/sort-1.c (busy_wait): Ditto.
9340
33ad93b9 93412012-07-02 Richard Guenther <rguenther@suse.de>
68a12ef3
UB
9342 Michael Matz <matz@suse.de>
9343 Tobias Grosser <tobias@grosser.es>
9344 Sebastian Pop <sebpop@gmail.com>
33ad93b9
RG
9345
9346 * testsuite/libgomp.graphite/force-parallel-4.c: Adjust.
9347 * testsuite/libgomp.graphite/force-parallel-5.c: Likewise.
9348 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9349 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9350
e6fdc918
AS
93512012-06-28 Andreas Schwab <schwab@linux-m68k.org>
9352
9353 * libgomp.texi: Include gpl_v3.texi instead of gpl.texi.
9354
62e0a1ed
RG
93552012-06-22 Richard Guenther <rguenther@suse.de>
9356
9357 Merge from graphite branch
9358 2012-01-13 Tobias Grosser <tobias@grosser.es>
9359
9360 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9361 * testsuite/libgomp.graphite/force-parallel-2.c: Likewise.
9362
26127932
JJ
93632012-06-07 Jakub Jelinek <jakub@redhat.com>
9364
9365 PR middle-end/53580
9366 * testsuite/libgomp.c/pr26943-2.c: Remove #pragma omp barrier,
9367 use GOMP_barrier () call instead.
9368 * testsuite/libgomp.c/pr26943-3.c: Likewise.
9369 * testsuite/libgomp.c/pr26943-4.c: Likewise.
9370 * testsuite/libgomp.fortran/vla4.f90: Remove !$omp barrier,
9371 call GOMP_barrier instead.
9372 * testsuite/libgomp.fortran/vla5.f90: Likewise.
9373
43fa5db5
JJ
93742012-06-06 Jakub Jelinek <jakub@redhat.com>
9375
9376 PR libgomp/52993
9377 * config/linux/lock.c (gomp_init_nest_lock_25): Fix up last
9378 argument to memset call.
9379
e6d5f8c9
L
93802012-05-16 H.J. Lu <hongjiu.lu@intel.com>
9381
9382 * configure: Regenerated.
9383
559d990c
MLI
93842012-04-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
9385
9386 * testsuite/lib/libgomp.exp: Add -fno-diagnostics-show-caret.
9387
b9c23a61
L
93882012-03-31 H.J. Lu <hongjiu.lu@intel.com>
9389
9390 PR bootstrap/52812
9391 * configure.tgt (i[456]86-*-linux*): Handle -mx32 like -m64.
9392
c140ddf3
JJ
93932012-03-22 Jakub Jelinek <jakub@redhat.com>
9394
9395 PR middle-end/52547
9396 * testsuite/libgomp.c/pr52547.c: New test.
9397
6a26a74d
BRF
93982012-03-16 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
9399
9400 * testsuite/lib/libgomp.exp: load fortran-modules.exp
9401
b24513a1
RO
94022012-03-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9403
9404 * configure.tgt (mips-sgi-irix6*): Remove.
9405
5c30094f
RO
94062012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9407
9408 * configure.tgt (alpha*-dec-osf*): Remove.
9409
9410 * config/osf/sem.h: Remove.
9411 * config/posix/lock.c (_XOPEN_SOURCE): Define unconditionally.
9412
a339c9d6
EB
94132012-02-29 Eric Botcazou <ebotcazou@adacore.com>
9414
9415 * config/linux/sparc/futex.h (cpu_relax): Read from CC register.
9416
cc2de92d
RO
94172012-02-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9418
9419 PR libstdc++/52188
9420 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Remove symvers_renaming.
9421 Remove ENABLE_SYMVERS_SOL2.
9422 * configure: Regenerate.
9423 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB] (comma): New variable.
9424 (PREPROCESS): New variable.
9425 (libgomp.ver): New target.
9426 [LIBGOMP_BUILD_VERSIONED_SHLIB &&
9427 LIBGOMP_BUILD_VERSIONED_SHLIB_GNU]: Remove
9428 LIBGOMP_BUILD_VERSIONED_SHLIB_SOL2 handling.
9429 Use libgomp.ver.
9430 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Use libgomp.ver, libgomp.ver-sun.
9431 * Makefile.in: Regenerate.
9432
dd552284
WL
94332012-02-14 Walter Lee <walt@tilera.com>
9434
9435 * configure.tgt: Handle tilegx and tilepro.
9436 * config/linux/tile/futex.h: New file.
9437
31432e21
RG
94382012-02-08 Richard Guenther <rguenther@suse.de>
9439
9440 PR tree-optimization/46886
9441 * testsuite/libgomp.c/pr46886.c: New testcase.
9442
b9264b5f
MK
94432012-01-25 Matthias Klose <doko@ubuntu.com>
9444
9445 * config/linux/arm: Remove empty directory.
9446 * configure.tgt (config_path): Remove linux-arm for arm*-*-linux*.
9447
fbf7be80
AM
94482011-12-09 Alan Modra <amodra@gmail.com>
9449
9450 PR libgomp/51376
9451 * task.c (GOMP_taskwait): Don't access task->children outside of
9452 task_lock mutex region.
9453 (GOMP_task): Likewise.
9454
5de62d00
JJ
94552011-12-06 Jakub Jelinek <jakub@redhat.com>
9456
9457 PR libgomp/51132
9458 * testsuite/libgomp.graphite/force-parallel-1.c: Move large arrays
9459 to file scope.
9460 * testsuite/libgomp.graphite/force-parallel-3.c: Likewise.
9461 * testsuite/libgomp.graphite/force-parallel-6.c: Likewise.
9462 * testsuite/libgomp.graphite/force-parallel-7.c: Likewise.
9463 * testsuite/libgomp.graphite/force-parallel-8.c: Likewise.
9464 * testsuite/libgomp.graphite/force-parallel-9.c: Likewise.
9465
45608a43
AM
94662011-12-02 Alan Modra <amodra@gmail.com>
9467
9468 * config/linux/affinity.c: Use atomic rather than sync builtin.
9469 * config/linux/lock.c: Likewise.
9470 * config/linux/ptrlock.h: Likewise.
9471 * config/linux/ptrlock.c: Likewise.
9472 * config/linux/ptrlock.h (gomp_ptrlock_set): Always write here..
9473 * config/linux/ptrlock.c (gomp_ptrlock_set_slow): ..not here.
9474 * config/linux/futex.h (atomic_write_barrier): Delete unused function.
9475 * config/linux/alpha/futex.h (atomic_write_barrier): Likewise.
9476 * config/linux/ia64/futex.h (atomic_write_barrier): Likewise.
9477 * config/linux/mips/futex.h (atomic_write_barrier): Likewise.
9478 * config/linux/powerpc/futex.h (atomic_write_barrier): Likewise.
9479 * config/linux/s390/futex.h (atomic_write_barrier): Likewise.
9480 * config/linux/sparc/futex.h (atomic_write_barrier): Likewise.
9481 * config/linux/x86/futex.h (atomic_write_barrier): Likewise.
9482
ab6dd406
AM
94832011-11-30 Alan Modra <amodra@gmail.com>
9484
9485 PR libgomp/51298
9486 * config/linux/bar.h: Use atomic rather than sync builtins.
9487 * config/linux/bar.c: Likewise. Add missing acquire
9488 synchronisation on generation field.
9489 * task.c (gomp_barrier_handle_tasks): Regain lock so as to not
9490 double unlock.
9491
b40c885f
AM
94922011-11-30 Alan Modra <amodra@gmail.com>
9493
9494 * ordered.c (gomp_ordered_sync): Add MEMMODEL_ACQ_REL fence.
9495 * critical.c (GOMP_critical_start): Add MEMMODEL_RELEASE fence.
9496 * config/linux/mutex.h: Use atomic rather than sync builtins.
9497 * config/linux/mutex.c: Likewise. Comment. Use -1 for waiting state.
9498 * config/linux/omp-lock.h: Comment fix.
9499 * config/linux/arm/mutex.h: Delete.
9500 * config/linux/powerpc/mutex.h: Delete.
9501 * config/linux/ia64/mutex.h: Delete.
9502 * config/linux/mips/mutex.h: Delete.
9503
3e348fcc
AM
95042011-11-30 Alan Modra <amodra@gmail.com>
9505
9506 PR libgomp/51249
9507 * config/linux/sem.h: Rewrite.
9508 * config/linux/sem.c: Rewrite.
9509
cef86eb2
RH
95102011-11-28 Richard Henderson <rth@redhat.com>
9511
9512 * libgomp.h (enum memmodel): New.
9513
c6084f68
AT
95142011-11-21 Andreas Tobler <andreast@fgznet.ch>
9515
9516 * configure: Regenerate.
9517
06fe026c
MK
95182011-10-10 Matthias Klose <doko@ubuntu.com>
9519
9520 * config/posix95: Remove empty directory.
9521
a6c975bd
JJ
95222011-08-26 Jakub Jelinek <jakub@redhat.com>
9523
9524 * testsuite/libgomp.fortran/threadprivate4.f90: New test.
9525
c26dffff
JJ
95262011-08-19 Jakub Jelinek <jakub@redhat.com>
9527
9528 PR fortran/49792
9529 * testsuite/libgomp.fortran/pr49792-1.f90: New test.
9530 * testsuite/libgomp.fortran/pr49792-2.f90: New test.
9531
ddaad3c8
RO
95322011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9533
9534 * config/posix95/lock.c, posix95/omp-lock.h: Remove.
9535
98d03683
RO
95362011-08-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9537
9538 PR libgomp/49965
9539 * testsuite/libgomp.c++/task-8.C: Replaced err by errval.
9540
e0b23d9f
UB
95412011-08-03 Uros Bizjak <ubizjak@gmail.com>
9542
9543 * config/linux/proc.h: New.
9544 * config/linux/proc.c: Include "proc.h". Do not include <sched.h>.
9545 (gomp_cpuset_popcount): Rename from cpuset_popcount. No more static.
9546 (gomp_init_num_threads): Update call to cpuset_popcount.
9547 (get_num_procs): Ditto.
9548 * config/linux/affinity.c (gomp_init_affinity): Call
9549 gomp_cpuset_popcount.
9550
20906c66
JJ
95512011-08-02 Jakub Jelinek <jakub@redhat.com>
9552
9553 PR fortran/42041
9554 PR fortran/46752
9555 * omp.h.in (omp_in_final): New prototype.
9556 * omp_lib.f90.in (omp_in_final): New interface.
9557 (omp_integer_kind, omp_logical_kind): Remove
9558 and replace all its uses in the module with 4.
9559 (openmp_version): Change to 201107.
9560 * omp_lib.h.in (omp_sched_static, omp_sched_dynamic,
9561 omp_sched_guided, omp_sched_auto): Use omp_sched_kind
9562 kind for the parameters.
9563 (omp_in_final): New external.
9564 (openmp_version): Change to 201107.
9565 * task.c (omp_in_final): New function.
9566 (gomp_init_task): Initialize final_task.
9567 (GOMP_task): Remove unused attribute from flags. Handle final
9568 tasks.
9569 (GOMP_taskyield): New function.
9570 (omp_in_final): Return true if if (false) or final (true) task
9571 or descendant of final (true).
9572 * fortran.c (omp_in_final_): New function.
9573 * libgomp.map (OMP_3.1): Export omp_in_final and omp_in_final_.
9574 (GOMP_3.0): Export GOMP_taskyield.
9575 * env.c (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New
9576 variables.
9577 (parse_unsigned_long_list): New function.
9578 (initialize_env): Use it for OMP_NUM_THREADS. Call parse_boolean
9579 with "OMP_PROC_BIND". If OMP_PROC_BIND=true, call gomp_init_affinity
9580 even if parse_affinity returned false.
9581 * config/linux/affinity.c (gomp_init_affinity): Handle
9582 gomp_cpu_affinity_len == 0.
9583 * libgomp_g.h (GOMP_taskyield): New prototype.
9584 * libgomp.h (struct gomp_task): Add final_task field.
9585 (gomp_nthreads_var_list, gomp_nthreads_var_list_len): New externs.
9586 * team.c (gomp_team_start): Override new task's nthreads_var icv
9587 if list form OMP_NUM_THREADS has been used and it has value for
9588 the new nesting level.
9589
9590 * testsuite/libgomp.c/atomic-11.c: New test.
9591 * testsuite/libgomp.c/atomic-12.c: New test.
9592 * testsuite/libgomp.c/atomic-13.c: New test.
9593 * testsuite/libgomp.c/atomic-14.c: New test.
9594 * testsuite/libgomp.c/reduction-6.c: New test.
9595 * testsuite/libgomp.c/task-5.c: New test.
9596 * testsuite/libgomp.c++/atomic-2.C: New test.
9597 * testsuite/libgomp.c++/atomic-3.C: New test.
9598 * testsuite/libgomp.c++/atomic-4.C: New test.
9599 * testsuite/libgomp.c++/atomic-5.C: New test.
9600 * testsuite/libgomp.c++/atomic-6.C: New test.
9601 * testsuite/libgomp.c++/atomic-7.C: New test.
9602 * testsuite/libgomp.c++/atomic-8.C: New test.
9603 * testsuite/libgomp.c++/atomic-9.C: New test.
9604 * testsuite/libgomp.c++/task-8.C: New test.
9605 * testsuite/libgomp.c++/reduction-4.C: New test.
9606 * testsuite/libgomp.fortran/allocatable7.f90: New test.
9607 * testsuite/libgomp.fortran/allocatable8.f90: New test.
9608 * testsuite/libgomp.fortran/crayptr3.f90: New test.
9609 * testsuite/libgomp.fortran/omp_atomic3.f90: New test.
9610 * testsuite/libgomp.fortran/omp_atomic4.f90: New test.
9611 * testsuite/libgomp.fortran/pointer1.f90: New test.
9612 * testsuite/libgomp.fortran/pointer2.f90: New test.
9613 * testsuite/libgomp.fortran/task4.f90: New test.
9614
96152011-08-02 Tobias Burnus <burnus@net-b.de>
9616
9617 * libgomp.texi: Update OpenMP spec references to 3.1.
9618 (omp_in_final,OMP_PROC_BIND): New sections.
9619 (OMP_NUM_THREADS): Document that the value can be now a list.
9620 (GOMP_STACKSIZE,GOMP_CPU_AFFINITY): Update @ref.
9621
c01ecafc
L
96222011-08-02 H.J. Lu <hongjiu.lu@intel.com>
9623
9624 * config/linux/x86/futex.h: Check __x86_64__ instead of
9625 __LP64__.
9626
25142650
JJ
96272011-07-29 Jakub Jelinek <jakub@redhat.com>
9628
9629 PR middle-end/49897
9630 PR middle-end/49898
9631 * testsuite/libgomp.c/pr49897-1.c: New test.
9632 * testsuite/libgomp.c/pr49897-2.c: New test.
9633 * testsuite/libgomp.c/pr49898-1.c: New test.
9634 * testsuite/libgomp.c/pr49898-2.c: New test.
9635
f53d712f
L
96362011-07-28 H.J. Lu <hongjiu.lu@intel.com>
9637
9638 * testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
9639 for ia32 instead of ilp32.
9640
9641 * testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
9642 * testsuite/libgomp.c/atomic-6.c: Likewise.
9643
3689198d
SP
96442011-07-23 Sebastian Pop <sebastian.pop@amd.com>
9645
9646 * testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
9647 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.
9648
1a79cb73
RO
96492011-07-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9650
9651 PR libgomp/45351
9652 * config/osf/sem.h: New file.
9653 * configure.tgt (alpha*-dec-osf*): Prepend osf to config_path.
9654
c1f51484
RO
96552011-07-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9656
9657 PR target/49541
9658 * testsuite/lib/libgomp.exp (libgomp_init): Don't add -lgomp to
9659 ldflags.
9660
bfee0724
JJ
96612011-07-15 Jakub Jelinek <jakub@redhat.com>
9662
9663 * config/linux/wait.h (do_spin): New inline, largely copied
9664 from do_wait, just don't do futex_wait here, instead return true if
9665 it should be done.
9666 (do_wait): Implement using do_spin.
9667 * config/linux/mutex.h (gomp_mutex_lock_slow): Add an int argument
9668 to prototype.
9669 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9670 __sync_bool_compare_and_swap, pass the oldval to
9671 gomp_mutex_lock_slow.
9672 * config/linux/mutex.c (gomp_mutex_lock_slow): Add oldval argument.
9673 If all mutex contenders are just spinning and not sleeping, don't
9674 change state to 2 unnecessarily. Optimize the loop when state has
9675 already become 2 to use just one atomic operation per loop instead
9676 of two.
9677 * config/linux/ia64/mutex.h (gomp_mutex_lock_slow): Add an int argument
9678 to prototype.
9679 (gomp_mutex_lock): Use __sync_val_compare_and_swap instead of
9680 __sync_bool_compare_and_swap, pass the oldval to
9681 gomp_mutex_lock_slow.
9682
fb79f500
JJ
96832011-06-22 Jakub Jelinek <jakub@redhat.com>
9684
9685 PR libgomp/49490
9686 * iter.c (gomp_iter_static_next): For chunk size 0
9687 only use n ceil/ nthreads size for the first
9688 n % nthreads threads in the team instead of
9689 all threads except for the last few ones which
9690 get less work or none at all.
9691 * iter_ull.c (gomp_iter_ull_static_next): Likewise.
9692 * env.c (parse_schedule): If OMP_SCHEDULE doesn't have
9693 chunk argument, set run_sched_modifier to 0 for static
9694 resp. 1 for other kinds. If chunk argument is 0
9695 and not static, set value to 1.
9696
4577f730
JJ
96972011-05-19 Jakub Jelinek <jakub@redhat.com>
9698
ea93a47b
JJ
9699 PR c++/49043
9700 * testsuite/libgomp.c++/pr49043.C: New test.
9701
4577f730
JJ
9702 PR c++/48869
9703 * testsuite/libgomp.c++/pr48869.C: New test.
9704
e7385332
JJ
97052011-05-06 Jakub Jelinek <jakub@redhat.com>
9706
9707 PR fortran/48894
9708 * fortran.c: Include limits.h.
9709 (TO_INT): Define.
9710 (omp_set_dynamic_8_, omp_set_num_threads_8_): Use !!*set instead of
9711 *set.
9712 (omp_set_num_threads_8_, omp_set_schedule_8_,
9713 omp_set_max_active_levels_8_, omp_get_ancestor_thread_num_8_,
9714 omp_get_team_size_8_): Use TO_INT macro.
9715 * testsuite/libgomp.fortran/pr48894.f90: New test.
9716
20790697
JJ
97172011-04-13 Jakub Jelinek <jakub@redhat.com>
9718
9719 PR middle-end/48591
9720 * testsuite/libgomp.c/pr48591.c: New test.
9721
bf382f5f
RO
97222011-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9723
9724 PR bootstrap/48135
9725 * acinclude.m4 (enable_symvers): Handle --disable-symvers.
9726 * configure: Regenerate.
9727
113a53c1
JJ
97282011-02-27 Jakub Jelinek <jakub@redhat.com>
9729
9730 PR fortran/47886
9731 * testsuite/libgomp.fortran/task3.f90: New test.
9732
0024f1af
TB
97332011-02-24 Tobias Burnus <burnus@net-b.de>
9734
9735 * libgomp.texi (GOMP_STACKSIZE): Fix @ref to OMP_STACKSIZE.
9736
21e1e594
JJ
97372011-02-23 Jakub Jelinek <jakub@redhat.com>
9738
9739 PR libgomp/47854
9740 * libgomp.texi (omp_get_wtime): Don't say time in the past
9741 must be Unix Epoch.
9742
67962076
JJ
97432011-02-18 Jakub Jelinek <jakub@redhat.com>
9744
9745 PR libgomp/47804
9746 * testsuite/libgomp.fortran/fortran.exp: Check for both
9747 libquadmath.a and libquadmath.${shlib_ext}. If neither exists,
9748 but $blddir != "", still append ${blddir}/${lang_library_path}
9749 to ld_library_path.
9750
3808007c
TB
97512011-02-16 Tobias Burnus <burnus@net-b.de>
9752
9753 PR libgomp/47758
9754 * testsuite/libgomp.fortran/fortran.exp: Check for the existence
9755 of libquadmath.a before adding its libpath to ldflags.
9756
53b4d41d
JJ
97572011-02-14 Jakub Jelinek <jakub@redhat.com>
9758
9759 PR libgomp/47731
9760 * config/linux/futex.h (futex_wait): Pass NULL as timeout argument
9761 to FUTEX_WAIT futex syscall.
9762 * config/linux/wait.h: Include <futex.h> instead of "futex.h".
9763
029c8f3e
RW
97642011-02-13 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9765
9766 * configure: Regenerate.
9767
bddd6626
BK
97682011-01-20 Benjamin Kosnik <bkoz@redhat.com>
9769
9770 PR libstdc++/36104
9771 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Accept gnu variants.
9772
f1d4ab26
GP
97732011-01-16 Gerald Pfeifer
9774
9775 * configure.tgt (*-*-freebsd*): Add -lpthread to XLDFLAGS.
9776
2b503136
JJ
97772010-12-14 Jakub Jelinek <jakub@redhat.com>
9778
9779 PR fortran/46874
9780 * libgomp.fortran/allocatable6.f90: New test.
9781
c0f9d583
RO
97822010-12-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9783
9784 * acinclude.m4 (symvers_renaming): Also set if enable_symvers = no.
9785 * configure: Regenerate.
9786
7de6ba7a
DK
97872010-12-06 Dave Korn <dave.korn.cygwin@gmail.com>
9788
9789 PR target/40125
9790 PR lto/46695
9791 * configure.ac: Invoke ACX_LT_HOST_FLAGS.
9792 * Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
9793 * aclocal.m4: Regenerate.
9794 * configure: Regenerate.
9795 * Makefile.in: Regenerate.
9796 * testsuite/Makefile.in: Regenerate.
9797
b7516041
JJ
97982010-12-02 Jakub Jelinek <jakub@redhat.com>
9799
edaadf74
JJ
9800 PR fortran/46753
9801 * libgomp.fortran/pr46753.f90: New test.
9802
4c698cf8
JJ
9803 PR libgomp/43706
9804 * env.c (initialize_env): Default to spin count 300000
9805 instead of 20000000 if neither OMP_WAIT_POLICY nor GOMP_SPINCOUNT
9806 is specified.
9807
b7516041
JJ
9808 PR libgomp/45240
9809 * parallel.c (GOMP_parallel_end): Unlock gomp_remaining_threads_lock
9810 at the end if sync builtins aren't supported.
9811
6b43a34c
RO
98122010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9813
9814 * configure.tgt (mips-sgi-irix6*): Add -lpthread to XLDFLAGS.
9815
950691fa
RO
98162010-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9817
9818 * testsuite/libgomp.fortran/vla8.f90: Use dg-timeout-factor 2.0.
9819
fb9041ea
IS
98202010-11-24 Iain Sandoe <iains@gcc.gnu.org>
9821
9822 * testsuite/libgomp.fortran/fortran.exp: Add paths for libquadmath.
9823
1ec601bf
FXC
98242010-11-16 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
9825 Tobias Burnus <burnus@net-b.de>
9826
9827 PR fortran/32049
3e348fcc 9828 * configure.ac:
1ec601bf
FXC
9829 * configure: Regenerate.
9830
d213e92e
MS
98312010-10-06 Marcus Shawcroft <marcus.shawcroft@arm.com>
9832
9833 * config/linux/futex.h: New.
9834 * config/linux/arm/mutex.h: New.
9835 * configure.tgt (arm*-*-linux*): Add config path.
9836
89d5c66f
SP
98372010-09-30 Sebastian Pop <sebastian.pop@amd.com>
9838
9839 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9840
87350d4a
TB
98412010-09-23 Tobias Burnus <burnus@net-b.de>
9842
9843 * libgomp.texi (omp_get_nested, omp_set_nested, omp_set_dynamic):
9844 Change Fortran datatype to LOGICAL.
9845 (omp_set_lock, omp_test_lock, omp_unset_lock, omp_set_nested_lock,
9846 omp_unset_nested_lock): Use intent(inout) instead of intent(out).
9847
75bc9e5e
RW
98482010-08-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9849
9850 * configure: Regenerate.
9851
acb5c916
JJ
98522010-07-26 Jakub Jelinek <jakub@redhat.com>
9853
9854 * libgomp.texi: Add function keyword to a couple of Fortran
9855 interfaces, use integer instead of int for Fortran.
9856
6a2ba183
AH
98572010-07-26 Aldy Hernandez <aldyh@redhat.com>
9858
9859 * libgomp.texi: Fix spelling and pasto problems throughout.
9860 Adjust prototypes to match code.
9861
df161b69
TB
98622010-07-24 Tobias Burnus <burnus@net-b.de>
9863
9864 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
9865 silence -fwhole-file warning.
9866
16c9d3b1
RO
98672010-07-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9868
9869 * configure.tgt (*-*-solaris2.[56]*): Removed.
9870
6d28b933
RO
98712010-07-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9872
9873 * acinclude.m4 (LIBGOMP_ENABLE_SYMVERS): Handle sun style.
9874 Define LIBGOMP_BUILD_VERSIONED_SHLIB_GNU,
9875 LIBGOMP_BUILD_VERSIONED_SHLIB_SUN automake conditionals.
9876 (HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT): Define unless
9877 targetting solaris2*.
9878 * configure: Regenerate.
9879 * config.h.in: Regenerate.
9880
9881 * Makefile.am [LIBGOMP_BUILD_VERSIONED_SHLIB]: Protect
9882 libgomp_version_script with LIBGOMP_BUILD_VERSIONED_SHLIB_GNU.
9883 Add libgomp_version_dep.
9884 [LIBGOMP_BUILD_VERSIONED_SHLIB_SUN]: Handle Sun symbol
9885 versioning.
9886 [!LIBGOMP_BUILD_VERSIONED_SHLIB]: Add libgomp_version_dep.
9887 (libgomp_la_DEPENDENCIES): Set to $(libgomp_version_dep).
9888 * Makefile.in: Regenerate.
9889
9890 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef unless
9891 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
9892 * libgomp.map (OMP_1.0): Move symbols both in OMP_1.0 and OMP_3.0
9893 to common block, protected by
9894 HAVE_SYMVER_SYMBOL_RENAMING_RUNTIME_SUPPORT.
9895
07a67d6a
GP
98962010-06-10 Gerald Pfeifer <gerald@pfeifer.com>
9897
9898 * libgomp.texi: Move to GFDL version 1.3. Update copyright years.
9899
dbd34b89
IS
99002010-06-09 Iain Sandoe <iains@gcc.gnu.org>
9901
9902 PR bootstrap/43170
9903 * configure: Regenerate.
9904
13917ae3
RW
99052010-05-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9906
9907 PR other/43620
9908 * configure.ac (AM_INIT_AUTOMAKE): Add no-dist.
9909 * configure: Regenerate.
9910 * Makefile.in: Regenerate.
9911 * testsuite/Makefile.in: Regenerate.
9912
b83a701b
JJ
99132010-04-26 Jakub Jelinek <jakub@redhat.com>
9914
9915 PR c/43893
9916 * testsuite/libgomp.c/pr43893.c: New test.
9917 * testsuite/libgomp.c++/pr43893.C: New test.
9918
78db7d92
JJ
99192010-04-21 Jakub Jelinek <jakub@redhat.com>
9920
9921 PR middle-end/43570
9922 * testsuite/libgomp.fortran/vla8.f90: New test.
9923
5221d7a9
JJ
99242010-04-20 Jakub Jelinek <jakub@redhat.com>
9925
e4ba7a60
JJ
9926 PR libgomp/43706
9927 * config/linux/affinity.c (gomp_init_affinity): Decrease
9928 gomp_available_cpus if affinity mask confines the process to fewer
9929 CPUs.
9930 * config/linux/proc.c (get_num_procs): If gomp_cpu_affinity is
9931 non-NULL, just return gomp_available_cpus.
9932
5221d7a9
JJ
9933 PR libgomp/43569
9934 * sections.c (gomp_sections_init): Initialize ws->mode.
9935
289a9f86
UB
99362010-04-14 Uros Bizjak <ubizjak@gmail.com>
9937
9938 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Remove set but
9939 not unused bar variable.
9940 * configure: Regenerate.
9941
4d9e8446
RW
99422010-04-02 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
9943
9944 * Makefile.in: Regenerate.
9945 * aclocal.m4: Regenerate.
9946 * testsuite/Makefile.in: Regenerate.
9947
80f046cc
JJ
99482010-03-22 Jakub Jelinek <jakub@redhat.com>
9949
9950 PR libgomp/42942
9951 * env.c (parse_unsigned_long): Add ALLOW_ZERO argument.
9952 (initialize_env): Adjust callers.
9953 (omp_set_max_active_levels): Set gomp_max_active_levels_var even
9954 when the argument is 0.
9955
9956 * testsuite/libgomp.c/pr42942.c: New test.
9957
b58543c3
SP
99582010-03-08 Tobias Grosser <grosser@fim.uni-passau.de>
9959
9960 PR middle-end/42644
9961 PR middle-end/42130
9962 * testsuite/libgomp.graphite/force-parallel-1.c: Adjust.
9963 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust.
9964
41d1138f
RO
99652010-01-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9966
9967 * testsuite/libgomp.c++/task-1.C: Renamed err to e.
9968 * testsuite/libgomp.c++/task-6.C: Likewise.
9969
6684eb28
SE
99702010-01-28 Steve Ellcey <sje@cup.hp.com>
9971
9972 * configure.tgt (*-*-hpux*): Add -frandom-seed flag.
9973
2122aa97
PB
99742010-01-26 Paolo Bonzini <bonzini@gnu.org>
9975
9976 * configure.ac: Test for executability of _the first word_ of GFORTRAN.
9977 * configure: Regenerate.
9978
057dd91d
JJ
99792010-01-26 Jakub Jelinek <jakub@redhat.com>
9980
9981 PR fortran/42866
9982 * testsuite/libgomp.fortran/allocatable5.f90: New test.
9983
d0709b6a
PB
99842010-01-20 Paolo Bonzini <bonzini@gnu.org>
9985
9986 * configure.ac: Test for executability of GFORTRAN.
9987 * configure: Regenerate.
9988
b9497ab5
RO
99892010-01-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9990
9991 * configure: Regenerate.
9992
45de5648
L
99932010-01-04 H.J. Lu <hongjiu.lu@intel.com>
9994
9995 PR libgomp/42602
9996 * libgomp.fortran/recursion1.f90 (sub): Make 's' atomic.
9997
e74003a1
RG
99982010-01-03 Richard Guenther <rguenther@suse.de>
9999
10000 * testsuite/libgomp.fortran/recursion1.f90: New testcase.
10001
1b3abda8
SP
100022009-12-23 Sebastian Pop <sebpop@gmail.com>
10003
10004 * testsuite/libgomp.graphite/pr4118.c: New.
10005
e19977d3
IS
100062009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10007
10008 * testsuite/libgomp.fortran/crayptr2.f90: Remove forced static linkage
10009 for darwin, protect the test with require-effective-target tls_runtime.
10010 * testsuite/libgomp.fortran/pr32550.f90: Ditto.
10011
1d32a772
IS
100122009-12-22 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10013
10014 PR target/41605
10015 * testsuite/lib/libgomp.exp: Provide -B options to allow for
10016 link spec %s substitutions for static libraries.
10017
deb109b2
JH
100182009-12-18 Jack Howarth <howarth@bromo.med.uc.edu>
10019
10020 PR testsuite/42135
10021 * libgomp.graphite/force-parallel-2.c: Reduce array size.
10022
43e02a8a
RW
100232009-12-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10024
10025 * Makefile.in: Regenerate.
10026 * configure: Regenerate.
10027 * testsuite/Makefile.in: Regenerate.
10028
17f35e23
DK
100292009-11-30 Dave Korn <dave.korn.cygwin@gmail.com>
10030
10031 * testsuite/lib/libgomp.exp (libgomp_init): Add host-dependent
10032 settings for LC_ALL and LANG.
10033
281e33e1
JJ
100342009-11-25 Jakub Jelinek <jakub@redhat.com>
10035
10036 PR fortran/42162
10037 * testsuite/libgomp.fortran/pr42162.f90: New test.
10038
2b32c27d
JJ
100392009-11-13 Jakub Jelinek <jakub@redhat.com>
10040
10041 PR middle-end/42029
281e33e1 10042 * testsuite/libgomp.c/pr42029.c: New test.
2b32c27d 10043
89c74f4a
JJ
100442009-10-26 Jakub Jelinek <jakub@redhat.com>
10045
10046 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid using too many
10047 *s. Accept ld version without text in ()s.
10048 * configure: Regenerated.
10049
7e06c3d6
EB
100502009-10-22 Razya Ladelsky <razya@il.ibm.com>
10051
10052 * testsuite/libgomp.graphite/force-parallel-2.c: Adjust scan.
10053
0046b1a7
RW
100542009-10-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10055
10056 PR libgomp/41418
10057 * configure.ac: Set FC to "no" if $GFORTRAN starts with "no"
10058 or a hyphen (happens with fortran language disabled).
10059 * configure: Regenerate.
10060
c82852f7
RW
100612009-09-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10062
10063 * acinclude.m4 (LIBGOMP_CHECK_LINKER_FEATURES): Avoid 'head',
10064 use sed script portable to Solaris /bin/sed for extracting ld
10065 version.
10066 * configure: Regenerate.
10067
98f3eb1f
AM
100682009-09-17 Alexander Monakov <amonakov@ispras.ru>
10069
10070 * testsuite/libgomp.graphite/bounds.c: New test.
10071
878f62e5
RW
100722009-09-11 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10073
10074 * Makefile.am (libgomp_la_LINK): New.
10075 * Makefile.in: Regenerate.
10076
df58e648
RW
100772009-08-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10078
10079 * configure.ac (AC_PREREQ): Bump to 2.64.
10080
5213506e
RW
100812009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10082
70fa0efa
RW
10083 * Makefile.am (install-html, install-pdf): Remove.
10084 * Makefile.in: Regenerate.
10085
5213506e
RW
10086 * Makefile.in: Regenerate.
10087 * aclocal.m4: Regenerate.
10088 * config.h.in: Regenerate.
10089 * configure: Regenerate.
10090 * testsuite/Makefile.in: Regenerate.
10091
84fec8a5
RW
100922009-08-22 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10093
10094 * Makefile.am (LINK): Add $(AM_LIBTOOLFLAGS) and $(LIBTOOLFLAGS).
10095 * Makefile.in: Regenerate.
10096
197c68cc
DK
100972009-08-20 Dave Korn <dave.korn.cygwin@gmail.com>
10098
10099 * Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
10100 * Makefile.in: Regenerate.
10101
693d54f2
TB
101022009-08-19 Tobias Burnus <burnus@net-b.de>
10103
10104 PR fortran/41102
10105 omp_lib.h.in: Fix -std=f95 errors.
10106
8cac884c
DE
101072009-08-14 David Edelsohn <edelsohn@gnu.org>
10108
10109 * testsuite/libgomp.graphite: Move from gcc.dg/graphite.
10110 * testsuite/libgomp.graphite/graphite_autopar.exp: Delete.
10111 * testsuite/libgomp.graphite/graphite.exp: New.
10112
78729ee2
AT
101132009-08-05 Andreas Tobler <a.tobler@schweiz.org>
10114
10115 * testsuite/libgomp.fortran/fortran.exp: Add flags in case of shared
10116 only build.
10117
b13b7f39
DD
101182009-08-04 David Daney <ddaney@caviumnetworks.com>
10119
10120 * config/linux/mutex.h (gomp_mutex_unlock): Add comment about
10121 needed memory barrier semantics.
10122 * config/linux/mips/mutex.h: New file.
10123
1b3b24c2
RW
101242009-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10125
10126 * configure.ac (_AC_ARG_VAR_PRECIOUS): Use m4_rename_force.
10127
396b7fa4
JM
101282009-07-16 Joseph Myers <joseph@codesourcery.com>
10129
10130 * configure: Regenerate.
10131
33cde516
RS
101322009-07-11 Richard Sandiford <rdsandiford@googlemail.com>
10133
10134 PR testsuite/40699
10135 PR testsuite/40707
10136 PR testsuite/40709
10137 * testsuite/lib/libgomp.exp: Revert 2009-07-02 and 2009-06-30 commits.
10138 * testsuite/libgomp.c/c.exp, testsuite/libgomp.c++/c++.exp,
10139 testsuite/libgomp.fortran/fortran.exp: Revert 2009-06-30 commits.
10140
bc21bfa5
RS
101412009-07-02 Richard Sandiford <r.sandiford@uk.ibm.com>
10142
10143 * testsuite/lib/libgomp.exp (libgomp_init): Use the ALWAYS_CFLAGS
10144 options when choosing a multilib.
10145
b30bfd40
RS
101462009-06-30 Richard Sandiford <r.sandiford@uk.ibm.com>
10147
10148 * testsuite/lib/libgomp.exp (libgomp_init): Don't add "." to
10149 ld_library_path. Use add_path. Add just find_libgcc_s to
10150 ld_library_path, not every libgcc multilib directory.
10151 * testsuite/libgomp.c/c.exp (ld_library_path): Don't call
10152 gcc-set-multilib-library-path; rely on $always_ld_library_path instead.
10153 * testsuite/libgomp.c++/c++.exp (ld_library_path): Likewise.
10154 Use add_path.
10155 * testsuite/libgomp.fortran/fortran.exp (ld_library_path): Likewise.
10156
479c15c2
NF
101572009-06-09 Nathan Froyd <froydnj@codesourcery.com>
10158
10159 * Makefile.am (LTLDFLAGS): Define.
10160 (LINK): Define.
10161 * Makefile.in: Regenerate.
10162
667e6f89
JB
101632009-05-27 Janne Blomqvist <jb@gcc.gnu.org>
10164
10165 PR fortran/39718
10166 * testsuite/libgomp.fortran/fortran.exp: Don't link with
10167 libgfortranbegin, check existence of libgfortran.a instead of
10168 libgfortranbegin.a.
10169
6dea8e99
JJ
101702009-05-20 Jakub Jelinek <jakub@redhat.com>
10171
10172 PR libgomp/40174
10173 * team.c (gomp_thread_start): Destroy thr->release semaphore.
10174 (gomp_free_pool_helper): Likewise.
10175
34d01e1d
VL
101762009-04-20 Vasilis Liaskovitis <vliaskov@gmail.com>
10177 Jakub Jelinek <jakub@redhat.com>
10178
10179 PR fortran/35423
10180 * testsuite/libgomp.fortran/workshare2.f90: New test.
10181
748086b7
JJ
101822009-04-09 Nick Clifton <nickc@redhat.com>
10183
10184 * iter.c: Change copyright header to refer to version 3 of the
10185 GNU General Public License with version 3.1 of the GCC Runtime
10186 Library Exception and to point readers at the COPYING3 and
10187 COPYING3.RUNTIME files and the FSF's license web page.
10188 * alloc.c: Likewise.
10189 * barrier.c: Likewise.
10190 * config/bsd/proc.c: Likewise.
10191 * config/linux/affinity.c: Likewise.
10192 * config/linux/alpha/futex.h: Likewise.
10193 * config/linux/bar.c: Likewise.
10194 * config/linux/bar.h: Likewise.
10195 * config/linux/ia64/futex.h: Likewise.
10196 * config/linux/ia64/mutex.h: Likewise.
10197 * config/linux/lock.c: Likewise.
10198 * config/linux/mips/futex.h: Likewise.
10199 * config/linux/mutex.c: Likewise.
10200 * config/linux/mutex.h: Likewise.
10201 * config/linux/powerpc/futex.h: Likewise.
10202 * config/linux/proc.c: Likewise.
10203 * config/linux/ptrlock.c: Likewise.
10204 * config/linux/ptrlock.h: Likewise.
10205 * config/linux/s390/futex.h: Likewise.
10206 * config/linux/sem.c: Likewise.
10207 * config/linux/sem.h: Likewise.
10208 * config/linux/sparc/futex.h: Likewise.
10209 * config/linux/wait.h: Likewise.
10210 * config/linux/x86/futex.h: Likewise.
10211 * config/mingw32/proc.c: Likewise.
10212 * config/mingw32/time.c: Likewise.
10213 * config/posix/affinity.c: Likewise.
10214 * config/posix/bar.c: Likewise.
10215 * config/posix/bar.h: Likewise.
10216 * config/posix/lock.c: Likewise.
10217 * config/posix/mutex.h: Likewise.
10218 * config/posix/proc.c: Likewise.
10219 * config/posix/ptrlock.h: Likewise.
10220 * config/posix/sem.c: Likewise.
10221 * config/posix/sem.h: Likewise.
10222 * config/posix/time.c: Likewise.
10223 * config/posix95/lock.c: Likewise.
10224 * critical.c: Likewise.
10225 * env.c: Likewise.
10226 * error.c: Likewise.
10227 * fortran.c: Likewise.
10228 * iter_ull.c: Likewise.
10229 * libgomp.h: Likewise.
10230 * libgomp_f.h.in: Likewise.
10231 * libgomp_g.h: Likewise.
10232 * loop.c: Likewise.
10233 * loop_ull.c: Likewise.
10234 * omp.h.in: Likewise.
10235 * omp_lib.f90.in: Likewise.
10236 * omp_lib.h.in: Likewise.
10237 * ordered.c: Likewise.
10238 * parallel.c: Likewise.
10239 * sections.c: Likewise.
10240 * single.c: Likewise.
10241 * task.c: Likewise.
10242 * team.c: Likewise.
10243 * work.c: Likewise.
10244
102452009-04-09 Jakub Jelinek <jakub@redhat.com>
10246
10247 * testsuite/config/default.exp: Change copyright header to refer to
10248 version 3 of the GNU General Public License and to point readers
10249 at the COPYING3 file and the FSF's license web page.
10250
4f0ae266
JJ
102512009-04-08 Jakub Jelinek <jakub@redhat.com>
10252
10253 PR middle-end/39573
10254 * libgomp.c++/pr39573.C: New test.
10255
03742a9b
JJ
102562009-04-01 Jakub Jelinek <jakub@redhat.com>
10257
10258 PR other/39591
10259 * testsuite/libgomp.c/pr39591-1.c: New test.
10260 * testsuite/libgomp.c/pr39591-2.c: New test.
10261 * testsuite/libgomp.c/pr39591-3.c: New test.
10262
e50ea10b
UB
102632009-03-25 Uros Bizjak <ubizjak@gmail.com>
10264
10265 * testsuite/libgomp.c/atomic-5.c: Cleanup cpuid usage.
10266 * testsuite/libgomp.c/atomic-6.c: Ditto.
10267
c5cdb03f
JJ
102682009-03-23 Jakub Jelinek <jakub@redhat.com>
10269
10270 PR c/39495
10271 * testsuite/libgomp.c/loop-12.c: New test.
10272 * testsuite/libgomp.c/loop-11.c: New test.
10273 * testsuite/libgomp.c++/loop-11.C: New test.
10274 * testsuite/libgomp.c++/loop-12.C: New test.
10275 * testsuite/libgomp.c++/for-8.C: New test.
10276
7a9d3fe8
RW
102772009-03-01 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10278
10279 * configure: Regenerate.
10280
3ad6b266
JJ
102812009-02-11 Jakub Jelinek <jakub@redhat.com>
10282
10283 PR middle-end/39154
10284 * testsuite/libgomp.c/pr39154.c: New test.
10285
b39dea08
ILT
102862009-01-30 Ian Lance Taylor <iant@google.com>
10287
10288 * acinclude.m4 (LIBCOMP_CHECK_LINKER_FEATURES): Set
10289 libgomp_ld_is_gold. Get gold version number.
10290 (LIBGOMP_ENABLE_SYMVERS): Gold always support symbol versioning.
10291 * configure: Rebuild.
10292
72c66596
IS
102932009-01-19 Iain Sandoe <iain.sandoe@sandoe-acoustics.co.uk>
10294
e50ea10b 10295 * testsuite/lib/libgomp.exp: Add -B option for targets that
72c66596
IS
10296 use libgfortran.a%s in their specs.
10297
876080ff
JJ
102982009-01-07 Jakub Jelinek <jakub@redhat.com>
10299
10300 PR libgomp/38086
10301 * acinclude.m4 (HAVE_AS_SYMVER_DIRECTIVE): New check.
10302 * libgomp.h (LIBGOMP_GNU_SYMBOL_VERSIONING): Undefine if
10303 HAVE_AS_SYMVER_DIRECTIVE is not defined.
10304 * configure: Regenerated.
10305 * config.h.in: Likewise.
10306
e4ebaef3
JJ
103072008-12-28 Jakub Jelinek <jakub@redhat.com>
10308
10309 PR c++/38650
10310 * testsuite/libgomp.c/pr38650.c: New test.
10311 * testsuite/libgomp.c++/pr38650.C: New test.
10312
382017a6
JJ
103132008-12-27 Jakub Jelinek <jakub@redhat.com>
10314
10315 * testsuite/libgomp.c/collapse-1.c (main): Add private(k) clause.
10316
79644b27
UB
103172008-12-26 Uros Bizjak <ubizjak@gmail.com>
10318
10319 * testsuite/libgomp.c/atomic-6.c: Add -mieee for alpha*-*-* targets.
10320
baafc534
RW
103212008-12-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10322
10323 * configure: Regenerate.
10324
d9c194cb
JJ
103252008-12-08 Jakub Jelinek <jakub@redhat.com>
10326
10327 PR middle-end/36802
10328 * testsuite/libgomp.c/pr36802-1.c: New test.
10329 * testsuite/libgomp.c/pr36802-2.c: New test.
10330 * testsuite/libgomp.c/pr36802-3.c: New test.
10331
86a182bf
JJ
103322008-12-01 Janis Johnson <janis187@us.ibm.com>
10333
10334 PR libgomp/38270
10335 * config/linux/powerpc/mutex.h: New.
10336
956adfaf
JJ
103372008-12-01 Jakub Jelinek <jakub@redhat.com>
10338
a2d4cdc9
JJ
10339 PR c++/38257
10340 * testsuite/libgomp.c++/for-7.C: New test.
10341
956adfaf
JJ
10342 PR c++/38348
10343 * testsuite/libgomp.c++/for-6.C: New test.
10344
d4038ca2
JJ
103452008-11-26 Janis Johnson <janis187@us.ibm.com>
10346
10347 PR testsuite/28870
10348 * testsuite/lib/libgomp.exp: Include new timeout library files.
10349 (libgomp_target_compile): Set timeout value from new proc.
10350
8b159eea
SE
103512008-11-13 Steve Ellcey <sje@cup.hp.com>
10352
10353 PR libgomp/37938
10354 * config/linux/ia64/mutex.h: New.
10355
5c6ed53a
TB
103562008-11-04 Tobias Burnus <burnus@net-b.de>
10357
10358 PR libgomp/37935
10359 * libgomp.texi (Runtime library routines, environment variables):
10360 Update for OpenMP version 3.0.
10361
6b4a97ed
PG
103622008-09-26 Peter O'Gorman <pogma@thewrittenword.com>
10363 Steve Ellcey <sje@cup.hp.com>
10364
10365 * configure: Regenerate for new libtool.
10366 * Makefile.in: Ditto.
10367 * testsuite/Makefile.in: Ditto.
10368
e2b34106
JJ
103692008-09-19 Jakub Jelinek <jakub@redhat.com>
10370 Andreas Tobler <a.tobler@schweiz.org>
10371
10372 * config/bsd/proc.c: New file.
8c3b3600 10373 * configure.tgt (*-*-darwin*): Use config_path "bsd posix".
e2b34106
JJ
10374 * configure.ac: Check for header <sys/sysctl.h>
10375 * configure: Regenerate.
10376 * config.h.in: Likewise.
10377
3606b8bf
JJ
103782008-09-05 Janis Johnson <janis187@us.ibm.com>
10379
10380 * testsuite/ligbomp.c/c.exp: Unset lang_test_file only if it exists.
10381
6528b88d
AL
103822008-08-31 Aaron W. LaFramboise <aaronavay62@aaronwl.com>
10383
10384 * Makefile.am (libgomp_la_LDFLAGS): Add -no-undefined.
10385 * Makefile.in: Regenerated.
10386 * testsuite/Makefile.in: Regenerated.
10387
d9b14b12 103882008-08-21 Nathan Froyd <froydnj@codesourcery.com>
8c9570df 10389
a16b68bb 10390 * testsuite/lib/libgomp.exp (libgomp_init): Only set things that
8c9570df
NF
10391 depend on blddir if blddir exists.
10392 (libgomp_target_compile): Likewise.
10393 * testsuite/libgomp.c++/c++.exp: Likewise.
10394 * testsuite/libgomp.fortran/fortran.exp: Likewise.
10395
70b1e376
RW
103962008-07-30 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10397
10398 * libgomp.texi: Update to GFDL 1.2. Update copyright years.
10399 Do not list GPL as Invariant Section.
10400
318e8c3f
IG
104012008-07-28 Ilie Garbacea <ilie@mips.com>
10402 Chao-ying Fu <fu@mips.com>
10403
10404 * configure.tgt: Enable futex for MIPS.
10405 * config/linux/mips/futex.h: New file.
10406
4db72361
JJ
104072008-07-16 Jakub Jelinek <jakub@redhat.com>
10408
10409 * team.c (gomp_team_end): Free team immediately if it has
10410 just one thread.
10411
87bd23b8
DE
104122008-07-08 David Edelsohn <edelsohn@gnu.org>
10413
10414 * testsuite/libgomp.c++/c++.exp: Append multilib library path.
10415 * testsuite/libgomp.fortran/fortran.exp: Same.
10416 * testsuite/libgomp.c/c.exp: Same.
10417 * testsuite/lib/libgomp.exp: Append AIX libgcc pthread multilib
10418 directory to library path first.
10419
323ff903
KW
104202008-06-29 Krister Walfridsson <krister.walfridsson@gmail.com>
10421
10422 * env.c (parse_stacksize): Add cast to avoid warning.
10423 (parse_spincount): Likewise.
10424
b357f682
JJ
104252008-06-27 Jakub Jelinek <jakub@redhat.com>
10426
ca2b1311
JJ
10427 * testsuite/libgomp.c/loop-10.c: New test.
10428 * libgomp.c/loop-3.c (main): Add lastprivate clause.
10429 * libgomp.c++/loop-6.C (main): Likewise.
10430
b357f682
JJ
10431 PR debug/36617
10432 * testsuite/libgomp.c/debug-1.c: New test.
10433
09a46078
JJ
104342008-06-19 Jakub Jelinek <jakub@redhat.com>
10435
10436 * testsuite/libgomp.c/nqueens-1.c: New test.
10437
2368a460
JJ
10438 PR c++/36523
10439 * testsuite/libgomp.c++/task-7.C: New function.
10440
18c04407
RW
104412008-06-17 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10442
10443 * configure: Regenerate.
10444
9c4e59e0
JDA
104452008-06-15 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
10446
10447 * env.c (initialize_env): Always initialize gomp_remaining_threads_lock
10448 mutex when HAVE_SYNC_BUILTINS isn't defined.
10449
6ccde948
RW
104502008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10451
10452 * libgomp.texi (omp_test_lock): Fix typo.
10453
b896f9fd
TB
104542008-06-12 Tobias Burnus <burnus@net-b.de>
10455
10456 * omp_lib.f90.in: Add "implicit none".
10457
c34938a8
JJ
104582008-06-12 Jakub Jelinek <jakub@redhat.com>
10459
10460 PR middle-end/36506
10461 * testsuite/libgomp.c/reduction-5.c: New test.
10462
976e44e3
JJ
104632008-06-11 Jakub Jelinek <jakub@redhat.com>
10464
5f836cbb
JJ
10465 * libgomp.h (struct gomp_task): Add in_tied_task field.
10466 * task.c (gomp_init_task): Initialize it.
10467 (GOMP_task): Likewise. Call gomp_team_barrier_set_task_pending
10468 unconditionally. Don't call gomp_team_barrier_wake if
10469 current task is implicit or if(0) from implicit and number of
10470 running tasks is equal to nthreads - 1.
10471
01501fc8
JJ
10472 PR libgomp/36471
10473 * omp_lib.f90.in (omp_get_ancestor_thread_num_8,
10474 omp_get_team_size_8): Fix pastos.
10475
976e44e3
JJ
10476 PR libgomp/36469
10477 * configure.ac: Add AC_CHECK_FUNCS (strtoull).
10478 * configure: Regenerated.
10479 * config.h.in: Regenerated.
10480 * env.c (strtoull): Define to strtoul if HAVE_STRTOULL is not
10481 defined.
10482
e919209b
AT
104832008-06-06 Andreas Tobler <a.tobler@schweiz.org>
10484
10485 PR bootstrap/36452
10486 * loop_ull.c (GOMP_loop_ull_static_start): Adjust API.
10487 (GOMP_loop_ull_dynamic_start): Likewise.
10488 (GOMP_loop_ull_guided_start): Likewise.
10489 (GOMP_loop_ull_ordered_static_start): Likewise.
10490 (GOMP_loop_ull_ordered_dynamic_start): Likewise.
10491 (GOMP_loop_ull_ordered_guided_start): Likewise.
10492
a68ab351
JJ
104932008-06-06 Jakub Jelinek <jakub@redhat.com>
10494 Richard Henderson <rth@redhat.com>
10495 Ulrich Drepper <drepper@redhat.com>
10496 Jakob Blomer <jakob.blomer@ira.uka.de>
10497
10498 * configure.ac (LIBGOMP_GNU_SYMBOL_VERSIONING): New AC_DEFINE.
10499 Substitute also OMP_*LOCK_25*.
10500 * configure: Regenerated.
10501 * config.h.in: Regenerated.
10502 * Makefile.am (libgomp_la_SOURCES): Add loop_ull.c, iter_ull.c,
10503 ptrlock.c and task.c.
10504 * Makefile.in: Regenerated.
10505 * testsuite/Makefile.in: Regenerated.
10506 * task.c: New file.
10507 * loop_ull.c: New file.
10508 * iter_ull.c: New file.
10509 * libgomp.h: Include ptrlock.h.
10510 (enum gomp_task_kind): New type.
10511 (struct gomp_team): Add task_lock, task_queue, task_count,
10512 task_running_count, single_count fields. Add
10513 work_share_list_free_lock ifndef HAVE_SYNC_BUILTINS.
10514 Remove work_share_lock, generation_mask,
10515 oldest_live_gen, num_live_gen and init_work_shares fields, add
10516 work work_share_list_alloc, work_share_list_free and work_share_chunk
10517 fields. Change work_shares from pointer to pointers into an array.
10518 Change ordered_release field into gomp_sem_t ** from flexible array
10519 member. Add implicit_task and initial_work_shares fields.
10520 Move close to the end of the struct.
10521 (struct gomp_team_state): Add single_count, last_work_share,
10522 active_level and level fields, remove work_share_generation.
10523 (gomp_barrier_handle_tasks): New prototype.
10524 (gomp_finish_task): New inline function.
10525 (struct gomp_work_share): Move chunk_size, end, incr into
10526 transparent union/struct, add chunk_size_ull, end_ll, incr_ll and
10527 next_ll fields. Reshuffle fields. Add next_alloc,
10528 next_ws, next_free and inline_ordered_team_ids fields, change
10529 ordered_team_ids into pointer from flexible array member.
10530 Add mode field. Put lock and next into a different cache line
10531 from most of the write-once fields.
10532 (gomp_iter_ull_static_next, gomp_iter_ull_dynamic_next_locked,
10533 gomp_iter_ull_guided_next_locked, gomp_iter_ull_dynamic_next,
10534 gomp_iter_ull_guided_next): New prototypes.
10535 (gomp_new_icv): New prototype.
10536 (struct gomp_thread): Add thread_pool and task fields.
10537 (struct gomp_thread_pool): New type.
10538 (gomp_new_team): New prototype.
10539 (gomp_team_start): Change type of last argument.
10540 (gomp_new_work_share): Removed.
10541 (gomp_init_work_share, gomp_fini_work_share): New prototypes.
10542 (gomp_work_share_init_done): New static inline.
10543 (gomp_throttled_spin_count_var, gomp_available_cpus,
10544 gomp_managed_threads): New extern decls.
10545 (gomp_init_task): New prototype.
10546 (gomp_spin_count_var): New extern var decl.
10547 (LIBGOMP_GNU_SYMBOL_VERSIONING): Undef if no visibility
10548 or no alias support, or if not PIC.
10549 (gomp_init_lock_30, gomp_destroy_lock_30, gomp_set_lock_30,
10550 gomp_unset_lock_30, gomp_test_lock_30, gomp_init_nest_lock_30,
10551 gomp_destroy_nest_lock_30, gomp_set_nest_lock_30,
10552 gomp_unset_nest_lock_30, gomp_test_nest_lock_30, gomp_init_lock_25,
10553 gomp_destroy_lock_25, gomp_set_lock_25, gomp_unset_lock_25,
10554 gomp_test_lock_25, gomp_init_nest_lock_25, gomp_destroy_nest_lock_25,
10555 gomp_set_nest_lock_25, gomp_unset_nest_lock_25,
10556 gomp_test_nest_lock_25): New prototypes.
10557 (omp_lock_symver, strong_alias): Define.
10558 (gomp_remaining_threads_count, gomp_remaining_threads_lock): New
10559 decls.
10560 (gomp_end_task): New.
10561 (struct gomp_task_icv, gomp_global_icv): New.
10562 (gomp_thread_limit_var, gomp_max_active_levels_var): New.
10563 (struct gomp_task): New.
10564 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10565 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10566 (gomp_icv): New.
10567 (gomp_schedule_type): Reorder enum to match
10568 omp_sched_t.
10569 * team.c (struct gomp_thread_start_data): Add thread_pool and task
10570 fields.
10571 (gomp_thread_start): Add gomp_team_barrier_wait call.
10572 For non-nested case remove clearing of docked thread thr fields.
10573 Use pool fields instead of global gomp_* variables. Use
10574 gomp_barrier_wait_last when needed. Initialize ts.active_level.
10575 Create tasks for each member thread.
10576 (free_team): Only destroy team barrier, task_lock here and free it.
10577 (gomp_free_thread): Free last_team if non-NULL.
10578 (gomp_team_end): Call gomp_team_barrier_wait instead of
10579 gomp_barrier_wait. For nested case call one extra
10580 gomp_barrier_wait. Move here some destruction from free_team.
10581 Call free_team on pool->last_team if any, rather than freeing
10582 current team. Destroy work_share_list_free_lock ifndef
10583 HAVE_SYNC_BUILTINS.
10584 (gomp_new_icv): New function.
10585 (gomp_threads, gomp_threads_size, gomp_threads_used,
10586 gomp_threads_dock): Removed.
10587 (gomp_thread_destructor): New variable.
10588 (gomp_new_thread_pool, gomp_free_pool_helper, gomp_free_thread): New
10589 functions.
10590 (gomp_team_start): Create new pool if current thread doesn't have
3e348fcc 10591 one. Use pool fields instead of global gomp_* variables.
a68ab351
JJ
10592 Initialize thread_pool field for new threads. Clear single_count.
10593 Change last argument from ws to team, don't create
10594 new team, set ts.work_share to &team->work_shares[0] and clear
10595 ts.last_work_share. Don't clear ts.work_share_generation.
10596 If number of threads changed, adjust atomically gomp_managed_threads.
10597 Use gomp_init_task instead of gomp_new_task,
10598 set thr->task to the corresponding implicit_task array entry.
10599 Create tasks for each member thread. Initialize ts.level.
10600 (initialize_team): Call pthread_key_create on
10601 gomp_thread_destructor.
10602 (team_destructor): New function.
10603 (new_team): Removed.
10604 (gomp_new_team): New function.
10605 (free_team): Free gomp_work_share blocks chained through next_alloc,
10606 instead of freeing work_shares and destroying work_share_lock.
10607 (gomp_team_end): Call gomp_fini_work_share. If number of threads
10608 changed, adjust atomically gomp_managed_threads. Use gomp_end_task.
10609 * barrier.c (GOMP_barrier): Call gomp_team_barrier_wait instead
10610 of gomp_barrier_wait.
10611 * single.c (GOMP_single_copy_start): Call gomp_team_barrier_wait
10612 instead of gomp_barrier_wait. Call gomp_work_share_init_done
10613 if gomp_work_share_start returned true. Don't unlock ws->lock.
10614 (GOMP_single_copy_end): Call gomp_team_barrier_wait instead
10615 of gomp_barrier_wait.
10616 (GOMP_single_start): Rewritten if HAVE_SYNC_BUILTINS. Call
10617 gomp_work_share_init_done if gomp_work_share_start returned true.
10618 Don't unlock ws->lock.
10619 * work.c: Include stddef.h.
10620 (free_work_share): Use work_share_list_free_lock instead
10621 of atomic chaining ifndef HAVE_SYNC_BUILTINS. Add team argument.
10622 Call gomp_fini_work_share and then either free ws if orphaned, or
10623 put it into work_share_list_free list of the current team.
10624 (alloc_work_share, gomp_init_work_share, gomp_fini_work_share): New
10625 functions.
10626 (gomp_work_share_start, gomp_work_share_end,
10627 gomp_work_share_end_nowait): Rewritten.
10628 * omp_lib.f90.in Change some tabs to spaces to prevent warnings.
10629 (openmp_version): Set to 200805.
10630 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10631 omp_sched_guided, omp_sched_auto): New parameters.
10632 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10633 omp_set_max_active_levels, omp_get_max_active_levels,
10634 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10635 omp_get_active_level): New interfaces.
10636 * omp_lib.h.in (openmp_version): Set to 200805.
10637 (omp_sched_kind, omp_sched_static, omp_sched_dynamic,
10638 omp_sched_guided, omp_sched_auto): New parameters.
10639 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10640 omp_set_max_active_levels, omp_get_max_active_levels,
10641 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10642 omp_get_active_level): New externals.
10643 * loop.c: Include limits.h.
10644 (GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Handle
10645 GFS_AUTO.
10646 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start):
10647 Likewise. Use gomp_icv.
10648 (gomp_loop_static_start, gomp_loop_dynamic_start): Clear
10649 ts.static_trip here.
10650 (gomp_loop_static_start, gomp_loop_ordered_static_start): Call
10651 gomp_work_share_init_done after gomp_loop_init. Don't unlock ws->lock.
10652 (gomp_loop_dynamic_start, gomp_loop_guided_start): Call
10653 gomp_work_share_init_done after gomp_loop_init. If HAVE_SYNC_BUILTINS,
10654 don't unlock ws->lock, otherwise lock it.
10655 (gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start): Call
10656 gomp_work_share_init_done after gomp_loop_init. Lock ws->lock.
10657 (gomp_parallel_loop_start): Call gomp_new_team instead of
10658 gomp_new_work_share. Call gomp_loop_init on &team->work_shares[0].
10659 Adjust gomp_team_start caller. Pass 0 as second argument to
10660 gomp_resolve_num_threads.
10661 (gomp_loop_init): For GFS_DYNAMIC, multiply ws->chunk_size by incr.
10662 If adding ws->chunk_size nthreads + 1 times after end won't
10663 overflow, set ws->mode to 1.
10664 * libgomp_g.h (GOMP_loop_ull_static_start, GOMP_loop_ull_dynamic_start,
10665 GOMP_loop_ull_guided_start, GOMP_loop_ull_runtime_start,
10666 GOMP_loop_ull_ordered_static_start,
10667 GOMP_loop_ull_ordered_dynamic_start,
10668 GOMP_loop_ull_ordered_guided_start,
10669 GOMP_loop_ull_ordered_runtime_start, GOMP_loop_ull_static_next,
10670 GOMP_loop_ull_dynamic_next, GOMP_loop_ull_guided_next,
10671 GOMP_loop_ull_runtime_next, GOMP_loop_ull_ordered_static_next,
10672 GOMP_loop_ull_ordered_dynamic_next, GOMP_loop_ull_ordered_guided_next,
10673 GOMP_loop_ull_ordered_runtime_next, GOMP_task, GOMP_taskwait): New
10674 prototypes.
10675 * libgomp.map: Export lock routines also @@OMP_2.0.
10676 (GOMP_loop_ordered_dynamic_first,
10677 GOMP_loop_ordered_guided_first, GOMP_loop_ordered_runtime_first,
10678 GOMP_loop_ordered_static_first): Remove.
10679 (GOMP_loop_ull_dynamic_next, GOMP_loop_ull_dynamic_start,
10680 GOMP_loop_ull_guided_next, GOMP_loop_ull_guided_start,
10681 GOMP_loop_ull_ordered_dynamic_next,
10682 GOMP_loop_ull_ordered_dynamic_start,
10683 GOMP_loop_ull_ordered_guided_next,
10684 GOMP_loop_ull_ordered_guided_start,
10685 GOMP_loop_ull_ordered_runtime_next,
10686 GOMP_loop_ull_ordered_runtime_start,
10687 GOMP_loop_ull_ordered_static_next,
10688 GOMP_loop_ull_ordered_static_start,
10689 GOMP_loop_ull_runtime_next, GOMP_loop_ull_runtime_start,
10690 GOMP_loop_ull_static_next, GOMP_loop_ull_static_start,
10691 GOMP_task, GOMP_taskwait): Export @@GOMP_2.0.
10692 (omp_set_schedule, omp_get_schedule,
10693 omp_get_thread_limit, omp_set_max_active_levels,
10694 omp_get_max_active_levels, omp_get_level,
10695 omp_get_ancestor_thread_num, omp_get_team_size, omp_get_active_level,
10696 omp_set_schedule_, omp_set_schedule_8_,
10697 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10698 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10699 omp_get_max_active_levels_, omp_get_level_,
10700 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10701 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10702 New exports @@OMP_3.0.
10703 * omp.h.in (omp_sched_t): New type.
10704 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10705 omp_set_max_active_levels, omp_get_max_active_levels,
10706 omp_get_level, omp_get_ancestor_thread_num, omp_get_team_size,
10707 omp_get_active_level): New prototypes.
10708 * env.c (gomp_spin_count_var, gomp_throttled_spin_count_var,
10709 gomp_available_cpus, gomp_managed_threads, gomp_max_active_levels_var,
10710 gomp_thread_limit_var, gomp_remaining_threads_count,
10711 gomp_remaining_threads_lock): New variables.
10712 (parse_spincount): New function.
10713 (initialize_env): Call gomp_init_num_threads unconditionally.
10714 Initialize gomp_available_cpus. Call parse_spincount,
10715 initialize gomp_{,throttled_}spin_count_var
10716 depending on presence and value of OMP_WAIT_POLICY and
10717 GOMP_SPINCOUNT env vars. Handle GOMP_BLOCKTIME env var.
10718 Handle OMP_WAIT_POLICY, OMP_MAX_ACTIVE_LEVELS,
10719 OMP_THREAD_LIMIT, OMP_STACKSIZE env vars. Handle unit specification
10720 for GOMP_STACKSIZE. Initialize gomp_remaining_threads_count and
10721 gomp_remaining_threads_lock if needed. Use gomp_global_icv.
10722 (gomp_nthreads_var, gomp_dyn_var, gomp_nest_var,
10723 gomp_run_sched_var, gomp_run_sched_chunk): Remove.
10724 (gomp_global_icv): New.
10725 (parse_schedule): Use it. Parse "auto".
10726 (omp_set_num_threads): Use gomp_icv.
10727 (omp_set_dynamic, omp_get_dynamic, omp_set_nested, omp_get_nested):
10728 Likewise.
10729 (omp_get_max_threads): Move from parallel.c.
10730 (omp_set_schedule, omp_get_schedule, omp_get_thread_limit,
10731 omp_set_max_active_levels, omp_get_max_active_levels): New functions,
10732 add ialias.
10733 (parse_stacksize, parse_wait_policy): New functions.
10734 * fortran.c: Rewrite lock wrappers, if symbol versioning provide
10735 both wrappers for compatibility and new locks.
10736 (omp_set_schedule, omp_get_schedule,
10737 omp_get_thread_limit, omp_set_max_active_levels,
10738 omp_get_max_active_levels, omp_get_level,
10739 omp_get_ancestor_thread_num, omp_get_team_size,
10740 omp_get_active_level): New ialias_redirect.
10741 (omp_set_schedule_, omp_set_schedule_8_,
10742 omp_get_schedule_, omp_get_schedule_8_, omp_get_thread_limit_,
10743 omp_set_max_active_levels_, omp_set_max_active_levels_8_,
10744 omp_get_max_active_levels_, omp_get_level_,
10745 omp_get_ancestor_thread_num_, omp_get_ancestor_thread_num_8_,
10746 omp_get_team_size_, omp_get_team_size_8_, omp_get_active_level_):
10747 New functions.
10748 * parallel.c: Include limits.h.
10749 (gomp_resolve_num_threads): Add count argument. Rewritten.
10750 (GOMP_parallel_start): Call gomp_new_team and pass that as last
10751 argument to gomp_team_start. Pass 0 as second argument to
10752 gomp_resolve_num_threads.
10753 (GOMP_parallel_end): Decrease gomp_remaining_threads_count
10754 if gomp_thread_limit_var != ULONG_MAX.
10755 (omp_in_parallel): Implement using ts.active_level.
10756 (omp_get_max_threads): Move to env.c.
10757 (omp_get_level, omp_get_ancestor_thread_num,
10758 omp_get_team_size, omp_get_active_level): New functions,
10759 add ialias.
10760 * sections.c (GOMP_sections_start): Call gomp_work_share_init_done
10761 after gomp_sections_init. If HAVE_SYNC_BUILTINS, call
10762 gomp_iter_dynamic_next instead of the _locked variant and don't take
10763 lock around it, otherwise acquire it before calling
10764 gomp_iter_dynamic_next_locked.
10765 (GOMP_sections_next): If HAVE_SYNC_BUILTINS, call
10766 gomp_iter_dynamic_next instead of the _locked variant and don't take
10767 lock around it.
10768 (GOMP_parallel_sections_start): Call gomp_new_team instead of
10769 gomp_new_work_share. Call gomp_sections_init on &team->work_shares[0].
10770 Adjust gomp_team_start caller. Pass count as second argument to
10771 gomp_resolve_num_threads, don't adjust num_threads after the call.
10772 Use gomp_icv.
10773 * iter.c (gomp_iter_dynamic_next_locked): Don't multiply
10774 ws->chunk_size by incr.
10775 (gomp_iter_dynamic_next): Likewise. If ws->mode, use more efficient
10776 code.
10777 * libgomp_f.h.in (omp_lock_25_arg_t, omp_nest_lock_25_arg_t): New
10778 types.
10779 (omp_lock_25_arg, omp_nest_lock_25_arg): New macros.
10780 (omp_check_defines): Check even the compat defines.
10781 * config/linux/ptrlock.c: New file.
10782 * config/linux/ptrlock.h: New file.
10783 * config/linux/wait.h: New file.
10784 * config/posix/ptrlock.c: New file.
10785 * config/posix/ptrlock.h: New file.
10786 * config/linux/bar.h (gomp_team_barrier_wait,
10787 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
10788 (gomp_team_barrier_set_task_pending,
10789 gomp_team_barrier_clear_task_pending,
10790 gomp_team_barrier_set_waiting_for_tasks,
10791 gomp_team_barrier_waiting_for_tasks,
10792 gomp_team_barrier_done): New inlines.
10793 (gomp_barrier_t): Rewritten.
10794 (gomp_barrier_state_t): New typedef.
10795 (gomp_barrier_init, gomp_barrier_reinit, gomp_barrier_destroy,
10796 gomp_barrier_wait_start): Rewritten.
10797 (gomp_barrier_wait_end): Change second argument to
10798 gomp_barrier_state_t.
10799 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
10800 inlines.
10801 * config/linux/bar.c: Include wait.h instead of libgomp.h and
10802 futex.h.
10803 (gomp_barrier_wait_end): Rewritten.
10804 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
10805 gomp_team_barrier_wake, gomp_barrier_wait_last): New functions.
10806 * config/posix/bar.h (gomp_barrier_t): Add generation field.
10807 (gomp_barrier_state_t): New typedef.
10808 (gomp_team_barrier_wait,
10809 gomp_team_barrier_wait_end, gomp_team_barrier_wake): New prototypes.
10810 (gomp_barrier_wait_start): Or all but low 2 bits from generation
10811 into the return value. Return gomp_barrier_state_t.
10812 (gomp_team_barrier_set_task_pending,
10813 gomp_team_barrier_clear_task_pending,
10814 gomp_team_barrier_set_waiting_for_tasks,
10815 gomp_team_barrier_waiting_for_tasks,
10816 gomp_team_barrier_done): New inlines.
10817 (gomp_barrier_wait_end): Change second argument to
10818 gomp_barrier_state_t.
10819 (gomp_barrier_last_thread, gomp_barrier_wait_last): New static
10820 inlines.
10821 * config/posix/bar.c (gomp_barrier_init): Clear generation field.
10822 (gomp_barrier_wait_end): Change second argument to
3e348fcc 10823 gomp_barrier_state_t.
a68ab351
JJ
10824 (gomp_team_barrier_wait, gomp_team_barrier_wait_end,
10825 gomp_team_barrier_wake): New functions.
10826 * config/linux/mutex.c: Include wait.h instead of libgomp.h and
10827 futex.h.
10828 (gomp_futex_wake, gomp_futex_wait): New variables.
10829 (gomp_mutex_lock_slow): Call do_wait instead of futex_wait.
10830 * config/linux/lock.c: Rewrite to make locks task owned,
10831 for backwards compatibility provide the old entrypoints
10832 if symbol versioning. Include wait.h instead of libgomp.h and
10833 futex.h.
10834 (gomp_set_nest_lock_25): Call do_wait instead of futex_wait.
10835 * config/posix95/lock.c: Rewrite to make locks task owned,
10836 for backwards compatibility provide the old entrypoints
10837 if symbol versioning.
10838 * config/posix/lock.c: Rewrite to make locks task owned,
10839 for backwards compatibility provide the old entrypoints
10840 if symbol versioning.
10841 * config/linux/proc.c (gomp_init_num_threads): Use gomp_global_icv.
10842 (get_num_procs, gomp_dynamic_max_threads): Use gomp_icv.
10843 * config/posix/proc.c, config/mingw32/proc.c: Similarly.
10844 * config/linux/powerpc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10845 (sys_futex0): Return error code.
10846 (futex_wake, futex_wait): If ENOSYS was returned, clear
10847 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10848 (cpu_relax, atomic_write_barrier): New static inlines.
10849 * config/linux/alpha/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10850 (futex_wake, futex_wait): If ENOSYS was returned, clear
10851 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10852 (cpu_relax, atomic_write_barrier): New static inlines.
10853 * config/linux/x86/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10854 (sys_futex0): Return error code.
10855 (futex_wake, futex_wait): If ENOSYS was returned, clear
10856 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10857 (cpu_relax, atomic_write_barrier): New static inlines.
10858 * config/linux/s390/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10859 (sys_futex0): Return error code.
10860 (futex_wake, futex_wait): If ENOSYS was returned, clear
10861 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10862 (cpu_relax, atomic_write_barrier): New static inlines.
10863 * config/linux/ia64/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10864 (sys_futex0): Return error code.
10865 (futex_wake, futex_wait): If ENOSYS was returned, clear
10866 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10867 (cpu_relax, atomic_write_barrier): New static inlines.
10868 * config/linux/sparc/futex.h (FUTEX_WAIT, FUTEX_WAKE): Remove.
10869 (sys_futex0): Return error code.
10870 (futex_wake, futex_wait): If ENOSYS was returned, clear
10871 FUTEX_PRIVATE_FLAG in gomp_futex_wa{ke,it} and retry.
10872 (cpu_relax, atomic_write_barrier): New static inlines.
10873 * config/linux/sem.c: Include wait.h instead of libgomp.h and
10874 futex.h.
10875 (gomp_sem_wait_slow): Call do_wait instead of futex_wait.
10876 * config/linux/affinity.c: Assume HAVE_SYNC_BUILTINS.
10877 * config/linux/omp-lock.h (omp_lock_25_t, omp_nest_lock_25_t): New
10878 types.
10879 (omp_nest_lock_t): Change owner into void *, add lock field.
10880 * config/posix95/omp-lock.h: Include semaphore.h.
10881 (omp_lock_25_t, omp_nest_lock_25_t): New types.
10882 (omp_lock_t): Use sem_t instead of mutex if semaphores
10883 aren't broken.
10884 (omp_nest_lock_t): Likewise. Change owner to void *.
10885 * config/posix/omp-lock.h: Include semaphore.h.
10886 (omp_lock_25_t, omp_nest_lock_25_t): New types.
10887 (omp_lock_t): Use sem_t instead of mutex if semaphores
10888 aren't broken.
10889 (omp_nest_lock_t): Likewise. Add owner field.
10890
108912008-06-06 Jakub Jelinek <jakub@redhat.com>
10892
10893 * testsuite/libgomp.c/collapse-1.c: New test.
10894 * testsuite/libgomp.c/collapse-2.c: New test.
10895 * testsuite/libgomp.c/collapse-3.c: New test.
10896 * testsuite/libgomp.c/icv-1.c: New test.
10897 * testsuite/libgomp.c/icv-2.c: New test.
10898 * testsuite/libgomp.c/lib-2.c: New test.
10899 * testsuite/libgomp.c/lock-1.c: New test.
10900 * testsuite/libgomp.c/lock-2.c: New test.
10901 * testsuite/libgomp.c/lock-3.c: New test.
10902 * testsuite/libgomp.c/loop-4.c: New test.
10903 * testsuite/libgomp.c/loop-5.c: New test.
10904 * testsuite/libgomp.c/loop-6.c: New test.
10905 * testsuite/libgomp.c/loop-7.c: New test.
10906 * testsuite/libgomp.c/loop-8.c: New test.
10907 * testsuite/libgomp.c/loop-9.c: New test.
10908 * testsuite/libgomp.c/nested-3.c: New test.
10909 * testsuite/libgomp.c/nestedfn-6.c: New test.
10910 * testsuite/libgomp.c/sort-1.c: New test.
10911 * testsuite/libgomp.c/task-1.c: New test.
10912 * testsuite/libgomp.c/task-2.c: New test.
10913 * testsuite/libgomp.c/task-3.c: New test.
10914 * testsuite/libgomp.c/task-4.c: New test.
10915 * testsuite/libgomp.c++/c++.exp: Add libstdc++-v3 build includes
10916 to C++ testsuite default compiler options.
10917 * testsuite/libgomp.c++/collapse-1.C: New test.
10918 * testsuite/libgomp.c++/collapse-2.C: New test.
10919 * testsuite/libgomp.c++/ctor-10.C: New test.
10920 * testsuite/libgomp.c++/for-1.C: New test.
10921 * testsuite/libgomp.c++/for-2.C: New test.
10922 * testsuite/libgomp.c++/for-3.C: New test.
10923 * testsuite/libgomp.c++/for-4.C: New test.
10924 * testsuite/libgomp.c++/for-5.C: New test.
10925 * testsuite/libgomp.c++/loop-8.C: New test.
10926 * testsuite/libgomp.c++/loop-9.C: New test.
10927 * testsuite/libgomp.c++/loop-10.C: New test.
10928 * testsuite/libgomp.c++/task-1.C: New test.
10929 * testsuite/libgomp.c++/task-2.C: New test.
10930 * testsuite/libgomp.c++/task-3.C: New test.
10931 * testsuite/libgomp.c++/task-4.C: New test.
10932 * testsuite/libgomp.c++/task-5.C: New test.
10933 * testsuite/libgomp.c++/task-6.C: New test.
10934 * testsuite/libgomp.fortran/allocatable1.f90: New test.
10935 * testsuite/libgomp.fortran/allocatable2.f90: New test.
10936 * testsuite/libgomp.fortran/allocatable3.f90: New test.
10937 * testsuite/libgomp.fortran/allocatable4.f90: New test.
10938 * testsuite/libgomp.fortran/collapse1.f90: New test.
10939 * testsuite/libgomp.fortran/collapse2.f90: New test.
10940 * testsuite/libgomp.fortran/collapse3.f90: New test.
10941 * testsuite/libgomp.fortran/collapse4.f90: New test.
10942 * testsuite/libgomp.fortran/lastprivate1.f90: New test.
10943 * testsuite/libgomp.fortran/lastprivate2.f90: New test.
10944 * testsuite/libgomp.fortran/lib4.f90: New test.
10945 * testsuite/libgomp.fortran/lock-1.f90: New test.
10946 * testsuite/libgomp.fortran/lock-2.f90: New test.
10947 * testsuite/libgomp.fortran/nested1.f90: New test.
10948 * testsuite/libgomp.fortran/nestedfn4.f90: New test.
10949 * testsuite/libgomp.fortran/strassen.f90: New test.
10950 * testsuite/libgomp.fortran/tabs1.f90: New test.
10951 * testsuite/libgomp.fortran/tabs2.f: New test.
10952 * testsuite/libgomp.fortran/task1.f90: New test.
10953 * testsuite/libgomp.fortran/task2.f90: New test.
10954 * testsuite/libgomp.fortran/vla4.f90: Add dg-warning.
10955 * testsuite/libgomp.fortran/vla5.f90: Likewise.
10956 * testsuite/libgomp.c/pr26943-2.c: Likewise.
10957 * testsuite/libgomp.c/pr26943-3.c: Likewise.
10958 * testsuite/libgomp.c/pr26943-4.c: Likewise.
10959
7a0112e7
JJ
109602008-05-23 Jakub Jelinek <jakub@redhat.com>
10961
10962 PR c++/36308
10963 * testsuite/libgomp.c++/ctor-11.C: New test.
10964 * testsuite/libgomp.c++/ctor-12.C: New test.
10965
91a5b394
JJ
109662008-05-15 Janis Johnson <janis187@us.ibm.com>
10967
10968 * testsuite/lib/libgomp.exp: Load torture-options.exp from gcc lib.
10969
c18c98c0
JJ
109702008-05-07 Jakub Jelinek <jakub@redhat.com>
10971
10972 PR middle-end/36106
10973 * testsuite/libgomp.c/atomic-5.c: New test.
10974 * testsuite/libgomp.c/atomic-6.c: New test.
10975 * testsuite/libgomp.c/autopar-1.c: New test.
10976
6d26724a
RW
109772008-04-21 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
10978
10979 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS)
10980 (LIBGOMP_CHECK_ATTRIBUTE_VISIBILITY)
10981 (LIBGOMP_CHECK_ATTRIBUTE_DLLEXPORT)
10982 (LIBGOMP_CHECK_ATTRIBUTE_ALIAS): Fix cache variable names.
10983 * configure: Regenerate.
10984 * Makefile.in, testsuite/Makefile.in: Likewise.
10985
deb984e6
PB
109862008-04-18 Paolo Bonzini <bonzini@gnu.org>
10987
10988 PR bootstrap/35457
10989 * aclocal.m4: Regenerate.
10990 * configure: Regenerate.
10991
9e775963
JJ
109922008-03-18 Jakub Jelinek <jakub@redhat.com>
10993
8119fc93
JJ
10994 PR middle-end/35611
10995 * testsuite/libgomp.c/atomic-4.c: New test.
10996
9e775963
JJ
10997 PR libgomp/35625
10998 * iter.c (gomp_iter_guided_next_locked): If q > n, set end to ws->end.
10999 (gomp_iter_guided_next): Likewise.
11000 * testsuite/libgomp.c/pr35625.c: New test.
11001
38d24731
RW
110022008-03-16 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11003
11004 * aclocal.m4: Regenerate.
11005 * configure: Likewise.
11006 * Makefile.in: Likewise.
11007 * testsuite/Makefile.in: Likewise.
11008
d0fb20be
JJ
110092008-03-13 Jakub Jelinek <jakub@redhat.com>
11010
11011 PR middle-end/35185
11012 * testsuite/libgomp.c++/pr35185.C: New test.
11013
7c8f7639
JJ
110142008-03-12 Jakub Jelinek <jakub@redhat.com>
11015
11016 PR middle-end/35549
11017 * testsuite/libgomp.c/pr35549.c: New test.
11018
251923f5
JJ
110192008-03-06 Jakub Jelinek <jakub@redhat.com>
11020
11021 * testsuite/libgomp.c/atomic-3.c: New test.
11022
f489fba1
FXC
110232008-03-03 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11024
11025 PR fortran/33197
251923f5 11026 * testsuite/libgomp.fortran/fortran.exp: Add .f08 and
f489fba1
FXC
11027 .F08 file suffixes.
11028
a1b25e49
PG
110292008-03-03 Peter O'Gorman <pogma@thewrittenword.com>
11030
11031 PR libgomp/33131
11032 * configure.ac: Add ACX_HEADER_STRING.
11033 * env.c: Include strings.h.
11034 * aclocal.m4: Regenerate.
11035 * config.h.in: Regenerate.
11036 * configure: Regenerate.
11037 * Makefile.in: Regenerate.
11038 * testsuite/Makefile.in: Regenerate.
11039
6837b3b8
JJ
110402008-02-15 Jakub Jelinek <jakub@redhat.com>
11041
ac84c062
JJ
11042 PR middle-end/35196
11043 * testsuite/libgomp.c/pr35196.c: New test.
11044
6837b3b8
JJ
11045 PR middle-end/35130
11046 * testsuite/libgomp.fortran/pr35130.f90: New test.
11047 * testsuite/libgomp.c/pr35130.c: New test.
11048
c256730c
JJ
110492008-01-25 Jakub Jelinek <jakub@redhat.com>
11050
11051 PR middle-end/33880
11052 * testsuite/libgomp.c/pr33880.c: New test.
11053 * testsuite/libgomp.fortran/pr33880.f90: New test.
11054
c8e95542 110552008-01-24 David Edelsohn <edelsohn@gnu.org>
d653fdfb
DE
11056
11057 * configure: Regenerate.
11058
0f3e711e
JJ
110592008-01-08 Jakub Jelinek <jakub@redhat.com>
11060
11061 * configure.ac: Move futex checking into ../config/futex.m4.
11062 * configure: Rebuilt.
11063 * aclocal.m4: Rebuilt.
11064 * Makefile.in: Rebuilt.
11065
11066 * configure.tgt: Rename have_tls to gcc_cv_have_tls to match
11067 2007-10-15 ../config/tls.m4 change.
11068
5259c813
JJ
110692007-12-19 Jakub Jelinek <jakub@redhat.com>
11070
11071 PR c++/34513
11072 * testsuite/libgomp.c/pr34513.c: New test.
11073 * testsuite/libgomp.c++/pr34513.C: New test.
11074
ae8d8879
JH
110752007-12-17 Jack Howarth <howarth@bromo.med.uc.edu>
11076
11077 PR target/32765
11078 * testsuite/libgomp.fortran/crayptr2.f90: Move dg-options for darwin.
11079
2b4cf991
JJ
110802007-12-04 Jakub Jelinek <jakub@redhat.com>
11081
11082 * omp.h.in (__GOMP_NOTHROW): Define. Use it on omp_* prototypes.
11083
d2dda7fe
JJ
110842007-12-03 Jakub Jelinek <jakub@redhat.com>
11085
11086 * testsuite/libgomp.c/private-1.c: New test.
11087
d683ec81
PB
110882007-11-29 Andris Pavenis <andris.pavenis@iki.fi>
11089 Paolo Bonzini <bonzini@gnu.org>
11090
11091 * Makefile.am: Use space as vpath separator. Use 'vpath %'
11092 instead of 'VPATH ='.
11093 * Makefile.in: Regenerate.
11094
a7415017
MK
110952007-11-23 Matthias Klose <doko@ubuntu.com>
11096
11097 * configure.ac: Adjust makeinfo version check.
11098 * configure: Regenerate.
11099
78e47463
JJ
111002007-11-10 Jakub Jelinek <jakub@redhat.com>
11101
11102 PR fortran/34020
11103 * testsuite/libgomp.fortran/pr34020.f90: New test.
11104
239371f9
JJ
111052007-11-06 Jakub Jelinek <jakub@redhat.com>
11106
11107 PR c++/33894
11108 * testsuite/libgomp.c++/atomic-1.C: New test.
11109
98a5fa94
JJ
111102007-10-25 Jakub Jelinek <jakub@redhat.com>
11111
11112 PR libgomp/33275
11113 * testsuite/libgomp.fortran/omp_parse3.f90 (test_threadprivate):
11114 Make x and y integers rather than (implicit) reals. Add private (j)
11115 clause to the last omp parallel.
11116
3afcaaf4
MR
111172007-10-15 Maciej W. Rozycki <macro@linux-mips.org>
11118
11119 * configure: Regenerate following changes to ../config/tls.m4.
11120
bd69daef
JJ
111212007-09-28 Jakub Jelinek <jakub@redhat.com>
11122
11123 * testsuite/libgomp.fortran/stack.f90: New test.
11124
1d0bd356
DS
111252007-09-10 Danny Smith <dannysmith@users.sourceforge.net>
11126
11127 * config/mingw32/proc.c: New file.
11128
b3172cab
UB
111292007-09-05 Uros Bizjak <ubizjak@gmail.com>
11130
11131 * testsuite/libgomp.c/atomic-1.c: Include cpuid.h for i386 targets.
11132 (main): Use __get_cpuid to get i386 target fetaures.
11133 * testsuite/libgomp.c/atomic-2.c: Include cpuid.h for x86_64 targets.
11134 (main): Use __get_cpuid to get x86_64 target fetaures.
11135
6da17392
JH
111362007-08-15 Jack Howarth <howarth@bromo.med.uc.edu>
11137
11138 PR target/32765
11139 * testsuite/libgomp.fortran/pr32550.f90: Use -static-libgcc on Darwin.
11140 * testsuite/libgomp.fortran/crayptr2.f90: Likwise.
11141
e1c82219
JJ
111422007-07-12 Jakub Jelinek <jakub@redhat.com>
11143
11144 PR fortran/32550
11145 * testsuite/libgomp.fortran/pr32550.f90: New test.
11146 * testsuite/libgomp.fortran/crayptr2.f90: New test.
11147
12a27363
L
111482007-07-05 H.J. Lu <hongjiu.lu@intel.com>
11149
11150 * aclocal.m4: Regenerated.
11151
5349080d
TB
111522007-07-05 Tobias Burnus <burnus@net-b.de>
11153
11154 PR fortran/32359
11155 * testsuite/libgomp.fortran/pr32359.f90: New.
11156
4f9c450c
JJ
111572007-07-02 Jakub Jelinek <jakub@redhat.com>
11158
11159 PR libgomp/32468
11160 * sections.c (GOMP_parallel_sections_start): Only decrease
11161 number of threads to COUNT if dyn_var is true.
11162 * testsuite/libgomp.c/pr32468.c: New test.
11163
28c67ed7
RO
111642007-07-02 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
11165
11166 PR libgomp/26308
11167 * config/posix/lock.c (_XOPEN_SOURCE): Don't define on Tru64 UNIX.
11168
64964499
JJ
111692007-06-21 Jakub Jelinek <jakub@redhat.com>
11170
11171 PR middle-end/32362
11172 * testsuite/libgomp.c/pr32362-1.c: New test.
11173 * testsuite/libgomp.c/pr32362-2.c: New test.
11174 * testsuite/libgomp.c/pr32362-3.c: New test.
11175
46d8fbd1
JJ
111762007-06-07 Jakub Jelinek <jakub@redhat.com>
11177
11178 * team.c (gomp_team_start): Fix setting up thread_attr
11179 stack size.
11180
82a6cadf
PB
111812007-06-02 Paolo Bonzini <bonzini@gnu.org>
11182
11183 * configure: Regenerate.
11184
1cf3d07d
SE
111852007-05-23 Steve Ellcey <sje@cup.hp.com>
11186
11187 * Makefile.in: Regenerate.
11188 * configure: Regenerate.
11189 * aclocal.m4: Regenerate.
11190 * testsuite/Makefile.in: Regenerate.
11191
12aac30b
JJ
111922007-05-04 Jakub Jelinek <jakub@redhat.com>
11193
11194 * config/linux/proc.c: New file.
11195
f1028b02
JJ
11196 PR libgomp/28482
11197 * configure.tgt: Don't link with -Wl,-z,nodlopen even on Linux.
11198
06785a48
DF
111992007-04-19 Daniel Franke <franke.daniel@gmail.com>
11200
11201 * libgomp.texi (GOMP_CPU_AFFINITY): Updated.
11202
b3b08ba0
MK
112032007-04-16 Matthias Klose <doko@debian.org>
11204
11205 * configure.tgt (i[456]86-*-linux*): Only add ia32 specific
11206 flags if not building with -m64.
11207 * testsuite/lib/libgomp-dg.exp (libgomp_init): Don't add -march
11208 flag for i?86-*-* targets, if current target matches -m64.
11209
6b2c5ce0
SE
112102007-04-14 Steve Ellcey <sje@cup.hp.com>
11211
11212 * Makefile.am: Add -I .. to ACLOCAL_AMFLAGS.
11213 * Makefile.in: Regenerate.
11214
dd56fe7c
JDA
112152007-04-07 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11216
11217 PR testsuite/31369
11218 * testsuite/libgomp.c++/c++.exp: Don't use concat when setting
11219 ld_library_path.
11220 * testsuite/libgomp.fortran/fortran.exp: Likewise.
11221
a0884cf0
JJ
112222007-04-04 Jakub Jelinek <jakub@redhat.com>
11223
11224 * libgomp.h (gomp_cpu_affinity, gomp_cpu_affinity_len): New extern
11225 decls.
11226 (gomp_init_affinity, gomp_init_thread_affinity): New prototypes.
11227 * env.c (gomp_cpu_affinity, gomp_cpu_affinity_len): New variables.
11228 (parse_affinity): New function.
11229 (initialize_env): Call it and gomp_init_affinity.
11230 * team.c (gomp_team_start): If gomp_cpu_affinity != NULL,
11231 create new pthread_attr_t and call gomp_init_thread_affinity
11232 on it for each thread before passing the attribute to pthread_create.
11233 * config/linux/affinity.c: New file.
11234 * config/posix/affinity.c: New file.
11235 * configure.ac (HAVE_PTHREAD_AFFINITY_NP): New test.
11236 * configure: Rebuilt.
11237 * config.h.in: Rebuilt.
11238 * Makefile.am (libgomp_la_SOURCES): Add affinity.c.
11239 * Makefile.in: Rebuilt.
11240
1850744b
AT
112412007-03-23 Andreas Tobler <a.tobler@schweiz.org>
11242
11243 * testsuite/lib/libgomp.exp (libgomp_init): Add -shared-libgcc for
11244 *-*-darwin*.
11245 * testsuite/libgomp.c++/c++.exp: Look for shared libstdc++ library
11246 and use it if found.
11247
516f1ed8
UB
112482007-03-18 Uros Bizjak <ubizjak@gmail.com>
11249
11250 * testsuite/config/default.exp: New file.
11251 * testsuite/lib/libgomp.exp: New file.
11252 * testsuite/lib/libgomp.dg (load_gcc_lib, libgomp_init,
11253 libgomp_target_compile, libgomp_option_help, libgomp_option_proc,
11254 load_lib *, load_gcc_lib *): Move to libgomp.exp.
11255 (libgomp_load): Remove.
11256 * testsuite/lib/libgomp.exp (libgomp_init): Compute
11257 always_ld_library_path, not ld_library_path. Set additional_flags
11258 to -march=i486 for ilp32 x86_64-*-* and i386-*-* targets.
11259 (target_compile): Do not call libgomp_init. Append lang_library_path
11260 and lang_link_flags to options.
11261 * testsuite/libgomp.c/c.exp: Set DEFAULT_FLAGS to -O2. Set
11262 ld_library_path from always_ld_library_path. Set LD_LIBRARY_PATH
11263 here.
11264 * testsuite/libgomp.c++/c++.exp: Set ld_library_path from
11265 always_ld_library_path. Set LD_LIBRARY_PATH here.
11266 * testsuite/libgomp.fortran/fortran.exp: Ditto.
11267 * testsuite/libgomp.c/atomic-1.c: Set dg-options to
11268 "-O2 -march=pentium" for ilp32 x86 targets. Simplify check for
11269 CX8 flag.
11270 * testsuite/libgomp.c/atomic-2.c: Set dg-options to "-O2 -mcx16" for
11271 lp64 x86 targets. Do not check for SSE3 bit. Do not define bit_SSE3.
11272 * testsuite/libgomp.c/pr29947-1.c: Remove default dg-options.
11273 * testsuite/libgomp.c/pr29947-1.c: Ditto.
11274 * testsuite/libgomp.c/atomic-10.c: Ditto.
11275
2ada56f5
JJ
112762007-03-21 Jakub Jelinek <jakub@redhat.com>
11277
11278 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: Add
11279 dg-final cleanup-modules line.
11280 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Likewise.
11281 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: Likewise.
11282 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: Likewise.
11283 * testsuite/libgomp.fortran/threadprivate2.f90: Likewise.
11284 * testsuite/libgomp.fortran/reduction5.f90: Likewise.
11285 * testsuite/libgomp.fortran/threadprivate3.f90: Likewise.
11286 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise.
11287
f210f1cd
AS
112882007-03-18 Andreas Schwab <schwab@suse.de>
11289
11290 * acinclude.m4: Adjust regular expression for ld version
11291 extraction.
11292 * configure: Regenerate.
11293
c4dc950d
BM
112942007-03-01 Brooks Moses <brooks.moses@codesourcery.com>
11295
11296 * Makefile.am: Add install-pdf target as copied from
11297 automake v1.10 rules.
11298 * Makefile.in: Regenerate
11299
e02a048f
JJ
113002007-02-07 Jakub Jelinek <jakub@redhat.com>
11301
78e075d4
JJ
11302 PR libgomp/28486
11303 * configure: Regenerate.
11304
e02a048f
JJ
11305 PR c++/30703
11306 * testsuite/libgomp.c++/pr30703.C: New test.
11307
60def7ed
JJ
113082007-02-02 Jakub Jelinek <jakub@redhat.com>
11309
11310 Revert:
11311 2006-07-05 Eric Christopher <echristo@apple.com>
11312 * configure.ac: Depend addition of -pthread on host OS.
11313 * configure: Regenerate.
11314
f1b0882e
RW
113152007-01-31 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
11316
11317 * libgomp.texi: Fix spacing after abbreviations.
11318
748b9d7c
DF
113192007-01-31 Daniel Franke <franke.daniel@gmail.com>
11320
11321 PR libgomp/30546
11322 * configure.ac: Add check for makeinfo
11323 * Makefile.am: Redefined target libgomp.info, build libgomp.info only
a0221aee 11324 if an appropriate version of makeinfo is found.
748b9d7c
DF
11325 * aclocal.m4: Regenerated.
11326 * configure: Regenerated.
11327 * Makefile.in: Regenerated.
11328 * testsuite/Makefile.in: Regenerated.
11329
14734fc7
DF
113302007-01-29 Daniel Franke <franke.daniel@gmail.com>
11331
11332 PR libgomp/30540
11333 * libgomp.texi: More about implementation-dependent settings.
11334
7befd5d2
TB
113352007-01-26 Tobias Burnus <burnus@net-b.de>
11336
11337 * testsuite/libgomp.fortran/fortran.exp: Support .f03 extension.
11338
4288fea2
JJ
113392007-01-24 Jakub Jelinek <jakub@redhat.com>
11340
11341 PR middle-end/30494
11342 * testsuite/libgomp.c/pr30494.c: New test.
11343
627ab4b8
TT
113442007-01-15 Tom Tromey <tromey@redhat.com>
11345
11346 * configure: Rebuilt.
11347 * configure.ac: Fixed comment.
11348
7c2b7f45
DF
113492007-01-14 Daniel Franke <franke.daniel@gmail.com>
11350
11351 * libgomp.texi: Document implementation specific default values of
11352 environment variables.
11353
3721b9e1
DF
113542006-12-21 Daniel Franke <franke.daniel@gmail.com>
11355
11356 PR libgomp/28209
11357 * libgomp.texi: New file.
11358 * configure.ac: Add --enable-generated-files-in-srcdir option.
11359 * Makefile.am: Add info, dvi, pdf, html targets. On request, copy
11360 files to srcdir.
11361 * Makefile.in: Regenerated.
11362 * config.h.in: Regenerated.
11363 * testsuite/Makefile.in: Regenerated.
11364 * NOTES: Removed.
11365
62bd6216
DF
113662006-12-04 Daniel Franke <franke.daniel@gmail.com>
11367
11368 PR libgomp/29949
11369 * env.c (omp_set_num_threads): Set illegal thread count to 1.
11370
aad741f4
EB
113712006-12-04 Eric Botcazou <ebotcazou@libertysurf.fr>
11372
11373 * configure: Regenerate.
11374
22568cc6
JJ
113752006-12-04 Jakub Jelinek <jakub@redhat.com>
11376
11377 PR libgomp/29947
11378 * loop.c (gomp_loop_init): Make parameters signed. Set ws->end to
11379 start if there shouldn't be any loop iterations.
11380 (gomp_loop_ordered_static_start): Remove start == end test.
11381 * testsuite/libgomp.c/pr29947-1.c: New test.
11382 * testsuite/libgomp.c/pr29947-2.c: New test.
11383
a9690009
EB
113842006-12-02 Eric Botcazou <ebotcazou@libertysurf.fr>
11385
11386 * configure.tgt: Force initial-exec TLS model on Linux only.
11387
597c25e6
DJ
113882006-11-13 Daniel Jacobowitz <dan@codesourcery.com>
11389
11390 * configure: Regenerated.
11391
6acf0b38
UB
113922006-11-09 Uros Bizjak <ubizjak@gmail.com>
11393
11394 * env.c (parse_schedule): Reject out of range values.
11395 (parse_unsigned_long): Reject out of range, negative or zero values.
11396
a7a53ca5
JJ
113972006-10-29 Jakub Jelinek <jakub@redhat.com>
11398
11399 PR fortran/29629
11400 * testsuite/libgomp.fortran/pr29629.f90: New test.
11401
6d4d216a
EB
114022006-10-24 Eric Botcazou <ebotcazou@libertysurf.fr>
11403
11404 PR libgomp/29494
11405 * configure.tgt: Use posix95 configuration for Solaris 2.5.1 and 2.6.
11406 * config/posix95: New directory.
11407 * config/posix95/omp-lock.h: New file.
11408 * config/posix95/lock.c: Likewise.
11409
5b043f08
GK
114102006-10-14 Geoffrey Keating <geoffk@apple.com>
11411
11412 * aclocal.m4: Regenerate.
11413 * configure: Regenerate.
11414
b50019f0
DS
114152006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
11416
11417 * testsuite/libgomp.c/barrier-1.c: Change timestamp tests from
11418 '<' to '<='.
11419
8887708e
DS
114202006-10-05 Danny Smith <dannysmith@users.sourceforge.net>
11421
11422 * acinclude.m4 (HAVE_ATTRIBUTE_ALIAS): Remove __USER_LABEL_PREFIX__ from
11423 test.
11424 * configure: Regenerate.
11425 * fortran.c (ialias_redirect): Add __USER_LABEL_PREFIX__ to alias.
11426
9b9e4cd6
JJ
114272006-09-26 Jakub Jelinek <jakub@redhat.com>
11428
a70ad3bb
JJ
11429 PR middle-end/25261
11430 PR middle-end/28790
11431 * testsuite/libgomp.c/nestedfn-4.c: New test.
11432 * testsuite/libgomp.c/nestedfn-5.c: New test.
11433 * testsuite/libgomp.fortran/nestedfn3.f90: New test.
11434
9b9e4cd6
JJ
11435 PR fortran/29097
11436 * testsuite/libgomp.fortran/condinc1.f: New test.
11437 * testsuite/libgomp.fortran/condinc2.f: New test.
11438 * testsuite/libgomp.fortran/condinc3.f90: New test.
11439 * testsuite/libgomp.fortran/condinc4.f90: New test.
11440 * testsuite/libgomp.fortran/condinc1.inc: New file.
11441
2fb31455
TT
114422006-09-18 Tom Tromey <tromey@redhat.com>
11443
11444 * configure: Rebuilt.
11445
c663e301
JM
114462006-09-13 Joseph S. Myers <joseph@codesourcery.com>
11447
11448 PR c/28768
11449 PR preprocessor/14634
11450 * configure.ac (HAVE_CLOCK_GETTIME): Add missing second argument
11451 to AC_DEFINE.
11452 * configure: Regenerate.
11453
38371be9
SK
114542006-09-08 Steven G. Kargl <kargl@gcc.gnu.org>
11455
11456 * testsuite/libgomp.fortran/reduction3.f90: Change
11457 -2147483648 to -huge(i)-1 to avoid overflow.
11458 * testsuite/libgomp.fortran/reduction4.f90: Change
11459 Z'ffffffff' to not(0) to avoid overflow.
11460
571d5ac5
JM
114612006-08-26 Joseph S. Myers <joseph@codesourcery.com>
11462
11463 PR libgomp/25938
11464 * Makefile.am (libsubincludedir): New.
11465 (nodist_include_HEADERS): Rename to nodist_libsubinclude_HEADERS.
11466 * Makefile.in: Regenerate.
11467
89b3e3cd
JJ
114682006-08-17 Jakub Jelinek <jakub@redhat.com>
11469
11470 PR libgomp/28725
11471 * env.c: Include ctype.h.
11472 (parse_schedule, parse_unsigned_long, parse_boolean): Allow
11473 leading and/or trailing whitespace and compare strings case
11474 insensitively.
11475
742fae05
JJ
114762006-07-16 Jakub Jelinek <jakub@redhat.com>
11477
11478 PR fortran/28390
11479 * testsuite/libgomp.fortran/pr28390.f: New test.
11480
a1daed2d
EC
114812006-07-05 Eric Christopher <echristo@apple.com>
11482
11483 * configure.ac: Depend addition of -pthread on host OS.
11484 * configure: Regenerate.
11485
5d7b5199
JJ
114862006-06-21 Jakub Jelinek <jakub@redhat.com>
11487
11488 * critical.c (GOMP_critical_name_start): Fix *pptr initialization
11489 when gomp_mutex_t is larger than pointer and HAVE_SYNC_BUILTINS is
11490 defined.
11491
fe5568e9
JJ
114922006-06-20 Jakub Jelinek <jakub@redhat.com>
11493
11494 PR libgomp/26175
11495 PR libgomp/26477
11496 * configure.ac: If neither --enable-linux-futex nor
11497 --disable-linux-futex is passed, determine the default by checking
11498 for compiling and/or running against NPTL. With --enable-linux-futex,
11499 check if SYS_gettid and SYS_futex are defined.
11500 * configure: Rebuilt.
11501
c3b11a40
RH
115022006-06-14 Richard Henderson <rth@redhat.com>
11503
11504 PR libgomp/28008
11505 * env.c (initialize_env): Avoid using PTHREAD_STACK_MIN when
11506 undefined. Use GOMP_STACKSIZE not OMP_STACKSIZE for environment.
11507
d0d1b24d
RH
115082006-06-09 Richard Henderson <rth@redhat.com>
11509
11510 * env.c (gomp_nthreads_var): Change to unsigned long.
11511 (gomp_run_sched_chunk): Likewise.
11512 (parse_unsigned_long): Rename from parse_num_threads and generalize.
11513 (initialize_env): Initialize gomp_thread_attr.
11514 * libgomp.h (gomp_nthreads_var): Update decl.
11515 (gomp_run_sched_chunk): Likewise.
11516 (gomp_thread_attr): Declare.
11517 * team.c (gomp_thread_attr): Export.
11518 (initialize_team): Don't initialize it.
11519
cd75853e
JJ
115202006-06-09 Jakub Jelinek <jakub@redhat.com>
11521
11522 PR fortran/27916
11523 * testsuite/libgomp.fortran/pr27916-1.f90: New test.
11524 * testsuite/libgomp.fortran/pr27916-2.f90: New test.
11525
33815e0c
FXC
115262006-06-06 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11527
11528 * config/mingw32/time.c: New file.
11529 * configure.tgt: Use it.
11530
6667de0d
CD
115312006-05-23 Carlos O'Donell <carlos@codesourcery.com>
11532
11533 * Makefile.am: Add install-html target. Add install-html to .PHONY
11534 * Makefile.in: Regenerate.
11535
e962c46b
JDA
115362006-05-22 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
11537
11538 PR libgomp/27612
11539 * testsuite/libgomp.c/sections-1.c: Require sync_int_long.
11540 * testsuite/libgomp.c/critical-1.c: Likewise.
11541 * testsuite/libgomp.c/loop-1.c: Likewise.
11542 * testsuite/libgomp.c/loop-2.c: Likewise.
11543 * testsuite/libgomp.c/single-1.c: Likewise.
11544 * testsuite/libgomp.c/ordered-1.c: Likewise.
11545 * testsuite/libgomp.c/ordered-2.c: Likewise.
11546
eeb1d9e0
JJ
115472006-05-15 Jakub Jelinek <jakub@redhat.com>
11548
11549 PR middle-end/27416
11550 * libgomp.fortran/pr27416-1.f90: New test.
11551
693d710f
JJ
115522006-05-03 Jakub Jelinek <jakub@redhat.com>
11553
11554 PR fortran/27395
11555 * testsuite/libgomp.fortran/pr27395-1.f90: New test.
11556 * testsuite/libgomp.fortran/pr27395-2.f90: New test.
11557
8ca5b2a2
JJ
115582006-05-02 Jakub Jelinek <jakub@redhat.com>
11559
11560 PR c++/26943
11561 * testsuite/libgomp.c/pr26943-1.c: New test.
11562 * testsuite/libgomp.c/pr26943-2.c: New test.
11563 * testsuite/libgomp.c/pr26943-3.c: New test.
11564 * testsuite/libgomp.c/pr26943-4.c: New test.
11565 * testsuite/libgomp.c++/pr27337.C: Remove barrier.
11566 * testsuite/libgomp.c++/pr26943.C: New test.
11567
077b0dfb
JJ
115682006-05-02 Jakub Jelinek <jakub@redhat.com>
11569
11570 PR middle-end/27337
11571 * testsuite/libgomp.c++/pr27337.C: New test.
11572
91b6c26d
JJ
115732006-04-26 Jakub Jelinek <jakub@redhat.com>
11574
11575 PR c/26171
11576 * testsuite/libgomp.c/pr26171.c: New test.
11577
60e1758f
RH
115782006-04-25 Richard Henderson <rth@redhat.com>
11579
11580 PR libgomp/25865
11581 * configure.ac: Use GCC_CHECK_TLS.
11582 * acinclude.m4 (LIBGOMP_CHECK_TLS): Remove.
11583 * Makefile.in, aclocal.m4, configure: Regenerate.
11584
615baed7
MK
115852006-04-10 Matthias Klose <doko@debian.org>
11586
11587 * testsuite/lib/libgomp.exp (libgomp_init): Recognize multilib
11588 directory names containing underscores.
11589
fae2b46b
JJ
115902006-03-21 Jakub Jelinek <jakub@redhat.com>
11591
11592 PR c++/26691
11593 * testsuite/libgomp.c++/pr26691.C: New test.
11594
11a5f608
JJ
115952006-03-13 Jakub Jelinek <jakub@redhat.com>
11596
11597 * testsuite/libgomp.fortran/retval2.f90: New test.
11598
1799e5d5
RH
115992006-03-09 Diego Novillo <dnovillo@redhat.com>
11600
11601 * testsuite/libgomp.c++: New directory.
11602
d349482e
AT
116032006-02-25 Shantonu Sen <ssen@opendarwin.org>
11604
11605 * config/posix/sem.h: Define BROKEN_POSIX_SEMAPHORES functions.
11606 * config/posix/sem.c: Implement the above.
11607
116082006-02-25 Andreas Tobler <a.tobler@schweiz.ch>
11609
11610 * configure.ac (HAVE_BROKEN_POSIX_SEMAPHORES): Check for darwin and
11611 define HAVE_BROKEN_POSIX_SEMAPHORES.
11612 * configure: Rebuilt.
11613 * config.h.in: Rebuilt.
11614
124452c9
FXC
116152006-02-17 Francois-Xavier Coudert <coudert@clipper.ens.fr>
11616
11617 PR bootstrap/26161
11618 * configure.ac: Remove AC_CHECK_HEADER for pthread.h. Add comment
11619 for the other pthread check.
11620 * configure: Regenerate.
11621 * config.h.in: Regenerate.
11622
dd8d6dfe
JJ
116232006-02-15 Jakub Jelinek <jakub@redhat.com>
11624
11625 PR libgomp/25938
11626 PR libgomp/25984
11627 * Makefile.am (fincludedir): New variable.
11628 (nodist_include_HEADERS): Remove Fortran files.
11629 (nodist_finclude_HEADERS): New variable.
11630 * Makefile.in: Regenerated.
11631
6c7a4dfd
JJ
116322006-02-13 Jakub Jelinek <jakub@redhat.com>
11633
11634 * testsuite/libgomp.fortran/vla7.f90: Add -w to options.
11635 Remove tests for returning assumed character length arrays.
11636
5142e08b
RS
116372006-02-12 Roger Sayle <roger@eyesopen.com>
11638 John David Anglin <dave@hiauly1.hia.nrc.ca>
11639
11640 PR libgomp/25936
11641 * configure.tgt: Link against -lrt for sem_init on HPUX v11 systems.
a1daed2d 11642
5821fba8
UW
116432006-02-08 Ulrich Weigand <uweigand@de.ibm.com>
11644
11645 * testsuite/lib/libgomp-dg.exp: Load scanrtl.exp library.
11646
cb2bbc67
EB
116472006-02-07 Eric Botcazou <ebotcazou@libertysurf.fr>
11648
11649 * testsuite/lib/libgomp-dg.exp (libgomp_init): Compute multilib related
11650 part of LD_LIBRARY_PATH manually.
11651
f05ee80c
L
116522006-02-03 H.J. Lu <hongjiu.lu@intel.com>
11653
11654 PR libgomp/25852
11655 * testsuite/lib/libgomp-dg.exp (blddir): Set it in
11656 libgomp_init.
11657
03b8fe49
PB
116582005-01-25 Paolo Bonzini <bonzini@gnu.org>
11659
11660 PR libgomp/25884
f05ee80c
L
11661 * Makefile.am (omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Remove.
11662 * configure.ac (PERL): Don't set.
11663 (gstdint.h, omp.h, omp_lib.h, omp_lib.f90, libgomp_f.h): Create here.
11664 (OMP_LOCK_SIZE, OMP_LOCK_ALIGN, OMP_LOCK_KIND, OMP_NEST_LOCK_SIZE,
11665 OMP_NEST_LOCK_ALIGN, OMP_NEST_LOCK_KIND): New substitutions.
11666 * omp.h.in: Wrap the new configure substitutions with @ characters.
11667 * omp_lib.h.in, omp_lib.f90.in, libgomp_f.h.in: Likewise.
11668 * aclocal.m4, configure, Makefile.in: Regenerate.
11669 * mkomp_h.pl: Delete.
03b8fe49 11670
18cbfd85
PB
116712005-01-24 Paolo Bonzini <bonzini@gnu.org>
11672
11673 PR libgomp/25259
11674 * configure.ac: Use GCC_HEADER_STDINT.
11675 * libgomp.h: Include gstdint.h.
11676 * libgomp_f.h.in: Don't include stdint.h or inttypes.h.
11677 * configure, Makefile.in, testsuite/Makefile.in, aclocal.m4: Rebuild.
11678
c41303c6
RH
116792006-01-24 Richard Henderson <rth@redhat.com>
11680
11681 PR libgomp/25942
11682 * configure.ac: Add AM_MAINTAINER_MODE.
11683 * Makefile.in, aclocal.m4, configure, testsuite/Makefile.in: Rebuild.
11684
149b9553
DN
116852006-01-24 Diego Novillo <dnovillo@redhat.com>
11686
11687 * Makefile.in: Regenerate.
11688 * testsuite/Makefile.in: Regenerate.
11689 * aclocal.m4: Regenerate.
11690
192a50ad
AT
116912006-01-23 Andreas Tobler <a.tobler@schweiz.ch>
11692
11693 * config/posix/proc.c: Conditional include of sys/loadavg.h for
11694 Solaris.
11695 * configure.ac: Add check for loadavg.h.
11696 (link_gomp): Adjust comment.
11697 * configure: Regenerate.
11698 * config.h.in: Regenerate.
11699
a55b8e18
SE
117002006-01-21 Steve Ellcey <sje@cup.hp.com>
11701
11702 PR libgomp/25877
11703 * configure.ac: Remove check for alloca.h.
11704 * configure: Regenerate.
11705 * config.h.in: Regenerate.
11706 * libgomp.h: define gomp_alloca to be __builtin_alloca.
11707 * team.c: Remove use of alloca.h.
11708 Call gomp_alloca instead of alloca.
11709
692eeb34
SE
117102006-01-20 Steve Ellcey <sje@cup.hp.com>
11711
11712 PR libgomp/25877
11713 * team.c: Add include of alloca.h.
11714 * configure.ac: Add check for alloca.h.
11715 * configure: Regenerate.
11716 * config.h.in: Regenerate.
11717
953ff289
DN
117182006-01-17 Jakub Jelinek <jakub@redhat.com>
11719
11720 PR fortran/25219
11721 * testsuite/libgomp.fortran/pr25219.f90: New test.
11722
117232005-12-05 Uros Bizjak <uros@kss-loka.si>
11724
11725 * testsuite/libgomp.c/pr24455.c, testsuite/libgomp.c/copyin-1.c,
11726 testsuite/libgomp.c/copyin-2.c, testsuite/libgomp.c/copyin-3.c,
11727 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11728 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11729 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455.C,
11730 testsuite/libgomp.fortran/threadprivate1.f90,
11731 testsuite/libgomp.fortran/threadprivate2.f90,
11732 testsuite/libgomp.fortran/threadprivate3.f90,
11733 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11734 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11735 testsuite/libgomp.fortran/omp_parse3.f90: Change required
11736 effective-target to TLS runtime.
11737
11738 * testsuite/libgomp.fortran/pr25162.f: Require
11739 effective-target TLS runtime.
11740
117412005-12-01 Jakub Jelinek <jakub@redhat.com>
11742
11743 * testsuite/libgomp.fortran/nestedfn2.f90: New test.
11744 * testsuite/libgomp.c/nestedfn-3.c: New test.
11745
117462005-11-30 Jakub Jelinek <jakub@redhat.com>
11747
11748 PR fortran/25162
11749 * testsuite/libgomp.fortran/pr25162.f: New test.
11750
117512005-11-28 Jakub Jelinek <jakub@redhat.com>
11752
11753 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Fall back to
11754 CLOCK_REALTIME if clock_* (CLOCK_MONOTONIC, &ts) call failed.
11755
117562005-11-25 Jakub Jelinek <jakub@redhat.com>
11757
11758 * alloc.c, barrier.c, critical.c, env.c, error.c, fortran.c, iter.c,
11759 libgomp.h, libgomp_f.h.in, libgomp_g.h, loop.c, mkomp_h.pl, omp.h.in,
11760 omp_lib.f90.in, omp_lib.h.in, ordered.c, parallel.c, sections.c,
11761 single.c, team.c, work.c, config/linux/alpha/futex.h,
11762 config/linux/bar.c, config/linux/bar.h, config/linux/ia64/futex.h,
11763 config/linux/lock.c, config/linux/mutex.c, config/linux/mutex.h,
11764 config/linux/powerpc/futex.h, config/linux/s390/futex.h,
11765 config/linux/sem.c, config/linux/sem.h, config/linux/sparc/futex.h,
11766 config/linux/x86/futex.h, config/posix/bar.c, config/posix/bar.h,
11767 config/posix/lock.c, config/posix/mutex.h, config/posix/proc.c,
11768 config/posix/sem.c, config/posix/sem.h, config/posix/time.c: Update
11769 FSF address.
11770
117712005-11-18 Jakub Jelinek <jakub@redhat.com>
11772
11773 * Makefile.am: Move libgomp_f.h from nodist_include_HEADERS
11774 to nodist_noinst_HEADERS.
11775 * Makefile.in: Rebuilt.
11776
11777 * config/posix/omp-lock.h (omp_nest_lock_t): Change into struct,
11778 add integer count field.
11779 * config/posix/lock.c (omp_destroy_nest_lock): Adjust for
11780 omp_nest_lock_t type change.
11781 (omp_init_nest_lock): Likewise. Initialize count to 0.
11782 (omp_set_nest_lock): Adjust for omp_nest_lock_t type change.
11783 Increment count.
11784 (omp_unset_nest_lock): Adjust for omp_nest_lock_t type change.
11785 Decrement count.
11786 (omp_test_nest_lock): Adjust for omp_nest_lock_t type change.
11787 Increment count if successful and return the new nesting level.
11788 * config/linux/lock.c (omp_test_nest_lock): Return new nesting level.
11789 * omp_lib.f90.in (omp_test_lock): Fix LOCK argument type.
11790 * testsuite/libgomp.c/lib-1.c: New test.
11791 * testsuite/libgomp.fortran/lib1.f90: New test.
11792 * testsuite/libgomp.fortran/lib2.f: New test.
11793 * testsuite/libgomp.fortran/lib3.f: New test.
11794
117952005-11-17 Richard Henderson <rth@redhat.com>
11796
11797 PR 24845
11798 * Makefile.am (nodist_toolexeclib_HEADERS): New.
11799 * configure.ac (link_gomp): New. Substitute it.
11800 (AC_CONFIG_FILES): Add libgomp.spec.
11801 * libgomp.spec.in: New file.
11802 * Makefile.in, testsuite/Makefile.in, configure: Rebuild.
11803 * testsuite/lib/libgomp-dg.exp: Add -B${blddir}/ to flags.
11804
118052005-11-18 Jakub Jelinek <jakub@redhat.com>
11806
11807 * testsuite/libgomp.fortran/reduction1.f90: Adjust for
11808 reduction(-:var) behaving the same as reduction(+:var).
11809 * testsuite/libgomp.c/reduction-4.c: New test.
11810
118112005-11-15 Uros Bizjak <uros@kss-loka.si>
11812
11813 * testsuite/libgomp.c/pr24455-1.c, testsuite/libgomp.c/pr24455.c,
11814 testsuite/libgomp.c/copyin-1.c, testsuite/libgomp.c/copyin-2.c,
11815 testsuite/libgomp.c/copyin-3.c,
11816 testsuite/libgomp.c++/copyin-1.C, testsuite/libgomp.c++/copyin-2.C,
11817 testsuite/libgomp.c++/ctor-5.C, testsuite/libgomp.c++/ctor-8.C,
11818 testsuite/libgomp.c++/ctor-9.C, testsuite/libgomp.c++/pr24455-1.C,
11819 testsuite/libgomp.c++/pr24455.C,
11820 testsuite/libgomp.fortran/threadprivate1.f90,
11821 testsuite/libgomp.fortran/threadprivate2.f90,
11822 testsuite/libgomp.fortran/threadprivate3.f90,
11823 testsuite/libgomp.fortran/appendix-a/a.22.7.f9,
11824 testsuite/libgomp.fortran/appendix-a/a.22.8.f9,
11825 testsuite/libgomp.fortran/omp_parse3.f90: Require
11826 effective-target TLS.
11827
118282005-11-14 Diego Novillo <dnovillo@redhat.com>
11829
11830 * HEADER: Remove.
11831
118322005-11-13 Jakub Jelinek <jakub@redhat.com>
11833
11834 PR libgomp/24797
11835 * team.c (initialize_team): Pass NULL rather than free as
11836 pthread_key_create destructor. Initialize thread specific data
11837 pointer in initial thread to a static local variable rather than
11838 malloced memory.
11839
118402005-11-11 Uros Bizjak <uros@kss-loka.si>
11841
11842 * testsuite/lib/libgomp-dg.exp: Locate libgcc.a and append
11843 its location to ld_library_path.
11844
118452005-11-10 Diego Novillo <dnovillo@redhat.com>
11846
11847 * testsuite/libgomp.c/c.exp: Rename from dg.exp.
11848
118492005-11-10 Diego Novillo <dnovillo@redhat.com>
11850
11851 * testsuite/libgomp.c: Rename from libgomp.dg.
11852
118532005-11-09 Diego Novillo <dnovillo@redhat.com>
11854
11855 * testsuite/libgomp.c++/pr24455.C: Add copyin clause for
11856 threadprivate variable 'i'.
11857
118582005-11-09 Jakub Jelinek <jakub@redhat.com>
11859
11860 * config/linux/s390/futex.h: New file.
11861 * configure.tgt: Use it.
11862
11863 * testsuite/libgomp.fortran/omp_parse4.f90: Move n initialization
11864 before the parallel.
11865
118662005-11-08 Jakub Jelinek <jakub@redhat.com>
11867
11868 PR c++/24734
11869 * testsuite/libgomp.c++/master-1.C: New test.
11870
118712005-11-07 Jakub Jelinek <jakub@redhat.com>
11872
11873 * testsuite/libgomp.dg/copyin-3.c: New test.
11874
118752005-11-07 Jakub Jelinek <jakub@redhat.com>
11876
11877 * testsuite/libgomp.fortran/retval1.f90: New test.
11878 * testsuite/libgomp.fortran/vla7.f90: New test.
11879
118802005-11-06 Jakub Jelinek <jakub@redhat.com>
11881
11882 * testsuite/libgomp.fortran/vla2.f90: New test.
11883 * testsuite/libgomp.fortran/vla3.f90: New test.
11884 * testsuite/libgomp.fortran/vla4.f90: New test.
11885 * testsuite/libgomp.fortran/vla5.f90: New test.
11886 * testsuite/libgomp.fortran/vla6.f90: New test.
11887
118882005-11-01 Jakub Jelinek <jakub@redhat.com>
11889
11890 * config/linux/sparc/futex.h: New file.
11891 * configure.tgt: Use it.
11892 * testsuite/lib/libgomp-dg.exp: Use -mcpu=v9 for sparc testing.
11893
11894 * critical.c: Include stdlib.h.
11895 * acinclude.m4 (LIBGOMP_CHECK_SYNC_BUILTINS): Avoid warnings about
11896 ignoring return value.
11897 * configure.ac: Don't put -Wc,-pthread into XCFLAGS until after
11898 LIBGOMP_CHECK_SYNC_BUILTINS check.
11899 * configure: Rebuilt.
11900
119012005-10-31 Jakub Jelinek <jakub@redhat.com>
11902
11903 * testsuite/libgomp.fortran/vla1.f90: New test.
11904
119052005-10-31 Richard Henderson <rth@redhat.com>
11906
11907 * testsuite/libgomp.fortran/character2.f90: Fix race condition
11908 setting 's' in different threads.
11909
119102005-10-31 Jakub Jelinek <jakub@redhat.com>
11911
11912 * libgomp.h (attribute_hidden, ialias): Define.
11913 * config/posix/proc.c (omp_get_num_procs): Add ialias.
11914 * config/posix/time.c (omp_get_wtime, omp_get_wtick): Likewise.
11915 * config/posix/lock.c (omp_init_lock, omp_init_nest_lock,
11916 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
11917 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
11918 omp_test_lock, omp_test_nest_lock): Likewise.
11919 * config/linux/lock.c (omp_init_lock, omp_init_nest_lock,
11920 omp_destroy_lock, omp_destroy_nest_lock, omp_set_lock,
11921 omp_set_nest_lock, omp_unset_lock, omp_unset_nest_lock,
11922 omp_test_lock, omp_test_nest_lock): Likewise.
11923 * env.c (omp_set_dynamic, omp_set_nested, omp_set_num_threads,
11924 omp_get_dynamic, omp_get_nested): Likewise.
11925 * parallel.c (omp_get_num_threads, omp_get_max_threads,
11926 omp_get_thread_num, omp_in_parallel): Likewise.
11927 * fortran.c (ialias_redirect): Define.
11928 (omp_init_lock, omp_init_nest_lock, omp_destroy_lock,
11929 omp_destroy_nest_lock, omp_set_lock, omp_set_nest_lock,
11930 omp_unset_lock, omp_unset_nest_lock, omp_test_lock,
11931 omp_test_nest_lock, omp_set_dynamic, omp_set_nested,
11932 omp_set_num_threads, omp_get_dynamic, omp_get_nested,
11933 omp_in_parallel, omp_get_max_threads, omp_get_num_procs,
11934 omp_get_num_threads, omp_get_thread_num, omp_get_wtick,
11935 omp_get_wtime): Add ialias_redirect.
11936
119372005-10-30 Jakub Jelinek <jakub@redhat.com>
11938
11939 * fortran.c: Include stdlib.h.
11940
119412005-10-29 Jakub Jelinek <jakub@redhat.com>
11942
11943 * Makefile.am (env.o, env.lo): Depend on libgomp_f.h.
11944 * Makefile.in: Regenerated.
11945
119462005-10-28 Jakub Jelinek <jakub@redhat.com>
11947
11948 * mkomp_h.pl: Remove all -Wc, option prefixes in $COMPILE.
11949 * libgomp_f.h.in (omp_check_defines): New function.
11950 * env.c: Include libgomp_f.h.
11951 (initialize_env): Call omp_check_defines.
11952
11953 * testsuite/libgomp.dg/copyin-2.c: New test.
11954 * testsuite/libgomp.c++/copyin-2.C: New test.
11955 * testsuite/libgomp.fortran/threadprivate3.f90: New test.
11956
11957 * testsuite/libgomp.fortran/threadprivate2.f90: New test.
11958 * testsuite/libgomp.fortran/sharing2.f90: New test.
11959
11960 * testsuite/libgomp.dg/copyin-1.c: New test.
11961 * testsuite/libgomp.c++/copyin-1.C: New test.
11962
119632005-10-26 Jakub Jelinek <jakub@redhat.com>
11964
11965 * testsuite/libgomp.fortran/crayptr1.f90: New test.
11966
11967 * testsuite/libgomp.fortran/workshare1.f90: New test.
11968
11969 * libgomp.fortran/appendix-a/a.28.5.f90: Change into compile
11970 only test.
11971 * libgomp.fortran/sharing1.f90: New test.
11972
119732005-10-24 Jakub Jelinek <jakub@redhat.com>
11974
11975 PR c++/24502
11976 * testsuite/libgomp.c++/loop-7.C: New test.
11977
11978 * testsuite/libgomp.dg/nestedfn-2.c: New test.
11979
11980 * testsuite/libgomp.dg/nestedfn-1.c: New test.
11981 * testsuite/libgomp.fortran/reduction6.f90: New test.
11982 * testsuite/libgomp.fortran/nestedfn1.f90: New test.
11983
119842005-10-23 Richard Henderson <rth@redhat.com>
11985
11986 * testsuite/libgomp.c++/ctor-1.C: New.
11987 * testsuite/libgomp.c++/ctor-2.C: New.
11988 * testsuite/libgomp.c++/ctor-3.C: New.
11989 * testsuite/libgomp.c++/ctor-4.C: New.
11990 * testsuite/libgomp.c++/ctor-5.C: New.
11991 * testsuite/libgomp.c++/ctor-6.C: New.
11992 * testsuite/libgomp.c++/ctor-7.C: New.
11993 * testsuite/libgomp.c++/ctor-8.C: New.
11994 * testsuite/libgomp.c++/ctor-9.C: New.
11995
119962005-10-21 Diego Novillo <dnovillo@redhat.com>
11997
11998 PR 24455
11999 * testsuite/libgomp.c++/pr24455-1.C: New test.
12000 * testsuite/libgomp.c++/pr24455.C: New test.
12001 * testsuite/libgomp.dg/pr24455-1.c: New test.
12002 * testsuite/libgomp.dg/pr24455.c: New test.
12003
120042005-10-20 Richard Henderson <rth@redhat.com>
12005
12006 * testsuite/libgomp.c++/loop-6.C: New.
12007 * testsuite/libgomp.dg/loop-3.c: New.
12008
120092005-10-20 Jakub Jelinek <jakub@redhat.com>
12010
12011 * testsuite/libgomp.fortran/jacobi.f: Don't make i and j
12012 explicitly private.
12013 * testsuite/libgomp.fortran/omp_parse1.f90 (test_do): Make i
12014 explicitly shared.
12015
120162005-10-19 Diego Novillo <dnovillo@redhat.com>
12017
12018 * testsuite/libgomp.fortran/jacobi.f: New test.
12019
120202005-10-19 Richard Henderson <rth@redhat.com>
12021
12022 * configure.tgt (i?86-linux): Default to with_arch instead of
12023 CFLAGS. Add -mtune to match target_cpu.
12024 (x86_64-linux): Tune to i686.
12025
12026 * fortran.c (omp_test_nest_lock_): Fix typo.
12027
120282005-10-19 Jakub Jelinek <jakub@redhat.com>
12029
12030 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12031 gomp_ordered_sync): Do nothing if team->nthreads == 1.
12032 * testsuite/libgomp.dg/ordered-3.c: New test.
12033
12034 * testsuite/libgomp.dg/appendix-a/a.18.1.c: Remove unconditional abort.
12035 Remove volatile keyword.
12036
12037 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: Reorder variables
12038 in COMMON block to avoid warnings on 64-bit targets.
12039
120402005-10-18 Diego Novillo <dnovillo@redhat.com>
12041
12042 * testsuite/libgomp.dg/shared-3.c: New test.
12043
120442005-10-18 Jakub Jelinek <jakub@redhat.com>
12045
12046 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: Removed.
12047 * testsuite/libgomp.fortran/reduction5.f90: New test.
12048
120492005-10-18 Jakub Jelinek <jakub@redhat.com>
12050
12051 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: Add -ffixed-form to
12052 dg-options.
12053 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: Likewise. Enable
12054 flush loop now that __sync_synchronize has proper memory barrier.
12055 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: Fix a typo.
12056 Add -ffixed-form to dg-options.
12057
120582005-10-17 Diego Novillo <dnovillo@redhat.com>
12059
12060 * testsuite/libgomp.fortran/fortran.exp: Also gather tests
12061 from subdirectories.
12062 * testsuite/libgomp.fortran/appendix-a/a.15.1.f90: New test.
12063 * testsuite/libgomp.fortran/appendix-a/a.16.1.f90: New test.
12064 * testsuite/libgomp.fortran/appendix-a/a.18.1.f90: New test.
12065 * testsuite/libgomp.fortran/appendix-a/a.19.1.f90: New test.
12066 * testsuite/libgomp.fortran/appendix-a/a.2.1.f90: New test.
12067 * testsuite/libgomp.fortran/appendix-a/a.21.1.f90: New test.
12068 * testsuite/libgomp.fortran/appendix-a/a.22.7.f90: New test.
12069 * testsuite/libgomp.fortran/appendix-a/a.22.8.f90: New test.
12070 * testsuite/libgomp.fortran/appendix-a/a.26.1.f90: New test.
12071 * testsuite/libgomp.fortran/appendix-a/a.28.1.f90: New test.
12072 * testsuite/libgomp.fortran/appendix-a/a.28.2.f90: New test.
12073 * testsuite/libgomp.fortran/appendix-a/a.28.3.f90: New test.
12074 * testsuite/libgomp.fortran/appendix-a/a.28.4.f90: New test.
12075 * testsuite/libgomp.fortran/appendix-a/a.28.5.f90: New test.
12076 * testsuite/libgomp.fortran/appendix-a/a.3.1.f90: New test.
12077 * testsuite/libgomp.fortran/appendix-a/a.31.3.f90: New test.
12078 * testsuite/libgomp.fortran/appendix-a/a.31.4.f90: New test.
12079 * testsuite/libgomp.fortran/appendix-a/a.31.5.f90: New test.
12080 * testsuite/libgomp.fortran/appendix-a/a.33.3.f90: New test.
12081 * testsuite/libgomp.fortran/appendix-a/a.38.1.f90: New test.
12082 * testsuite/libgomp.fortran/appendix-a/a.39.1.f90: New test.
12083 * testsuite/libgomp.fortran/appendix-a/a.4.1.f90: New test.
12084 * testsuite/libgomp.fortran/appendix-a/a.40.1.f90: New test.
12085 * testsuite/libgomp.fortran/appendix-a/a.5.1.f90: New test.
12086 * testsuite/libgomp.fortran/appendix-a/a10.1.f90: New test.
12087
120882005-10-17 Jakub Jelinek <jakub@redhat.com>
12089
12090 * testsuite/libgomp.dg/dg.exp: Only unset lang_* if
12091 lang_library_path exists. Use find instead of glob to gather tests.
12092 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: Removed.
12093
120942005-10-17 Diego Novillo <dnovillo@redhat.com>
12095
12096 * testsuite/libgomp.dg/appendix-a/a.15.1.c: New test.
12097 * testsuite/libgomp.dg/appendix-a/a.16.1.c: New test.
12098 * testsuite/libgomp.dg/appendix-a/a.18.1.c: New test.
12099 * testsuite/libgomp.dg/appendix-a/a.19.1.c: New test.
12100 * testsuite/libgomp.dg/appendix-a/a.2.1.c: New test.
12101 * testsuite/libgomp.dg/appendix-a/a.21.1.c: New test.
12102 * testsuite/libgomp.dg/appendix-a/a.26.1.c: New test.
12103 * testsuite/libgomp.dg/appendix-a/a.29.1.c: New test.
12104 * testsuite/libgomp.dg/appendix-a/a.3.1.c: New test.
12105 * testsuite/libgomp.dg/appendix-a/a.39.1.c: New test.
12106 * testsuite/libgomp.dg/appendix-a/a.4.1.c: New test.
12107 * testsuite/libgomp.dg/appendix-a/a.5.1.c: New test.
12108 * testsuite/libgomp.dg/appendix-a/appendix-a.exp: New file.
12109
121102005-10-15 Jakub Jelinek <jakub@redhat.com>
12111
12112 * testsuite/libgomp.dg/vla-1.c: New test.
12113
12114 * testsuite/libgomp.fortran/reference2.f90: New test.
12115
12116 * testsuite/libgomp.fortran/character2.f90: Remove explicit
12117 declaration of omp_get_thread_num.
12118 * testsuite/libgomp.fortran/threadprivate1.f90: Likewise. Add
12119 use omp_lib.
12120
12121 * testsuite/libgomp.fortran/reduction1.f90: New test.
12122 * testsuite/libgomp.fortran/reduction2.f90: New test.
12123 * testsuite/libgomp.fortran/reduction3.f90: New test.
12124 * testsuite/libgomp.fortran/reduction4.f90: New test.
12125
121262005-10-13 Richard Henderson <rth@redhat.com>
12127
12128 * Makefile.am (libgomp_la_SOURCES): Add bar.c.
12129 * Makefile.in: Regenerate.
12130 * barrier.c (GOMP_barrier): Use gomp_barrier_wait.
12131 * libgomp.h: Include bar.h.
12132 (struct gomp_barrier): Remove.
12133 (struct gomp_team): Add barrier. Replace master_barrier with
12134 master_release. Replace threads with ordered_release.
12135 (struct gomp_thread): Replace barrier with release.
12136 * ordered.c (gomp_ordered_first): Update for ordered_release change.
12137 (gomp_ordered_last, gomp_ordered_next, gomp_ordered_static_init,
12138 gomp_ordered_static_next, gomp_ordered_sync): Likewise.
12139 * single.c (GOMP_single_copy_start): Use gomp_barrier_wait.
12140 (GOMP_single_copy_end): Likewise.
12141 * team.c (gomp_threads_dock): New.
12142 (gomp_barrier_init, gomp_barrier_destroy): Remove.
12143 (gomp_thread_start): Use gomp_barrier_wait.
12144 (new_team, free_team): Update for gomp_team changes.
12145 (gomp_team_start): Use gomp_barrier_wait and gomp_barrier_reinit.
12146 (gomp_team_end): Use gomp_barrier_wait.
12147 (initialize_team): Update for gomp_thread changes.
12148 * work.c (gomp_work_share_end): Use gomp_barrier_wait_start.
12149 (gomp_work_share_end_nowait): Use atomic ops when available.
12150 * config/linux/bar.c, config/linux/bar.h: New files.
12151 * config/posix/bar.c, config/posix/bar.h: New files.
12152
121532005-10-13 Jakub Jelinek <jakub@redhat.com>
12154
12155 * single.c (GOMP_single_copy_end): Don't segfault if team is NULL.
12156 * testsuite/libgomp.dg/single-2.c: New test.
12157
12158 * testsuite/libgomp.dg/dg.exp (lang_library_path, lang_test_file,
12159 lang_link_flags): Unset, so that they aren't inherited from previously
12160 sourced *.exp.
12161
12162 * testsuite/libgomp.fortran/threadprivate1.f90: New test.
12163
121642005-10-12 Richard Henderson <rth@redhat.com>
12165
12166 * testsuite/lib/libgomp-dg.exp: Set blddir at toplevel.
12167 (libgomp_init): Use lang_test_file, lang_library_path, and
12168 lang_link_flags, set by the subdirectory files. Add -fopenmp here.
12169
12170 * testsuite/libgomp.fortran/fortran.exp (lang_library_path): New.
12171 (lang_test_file, lang_link_flags): New.
12172 (DEFAULT_FFLAGS, ALWAYS_CFLAGS, multilibs, blddir): Remove.
12173
12174 * testsuite/libgomp.c++/c++.exp, testsuite/libgomp.c++/loop-1.C,
12175 testsuite/libgomp.c++/loop-2.C, testsuite/libgomp.c++/loop-3.C,
12176 testsuite/libgomp.c++/loop-4.C, testsuite/libgomp.c++/nested-1.C,
12177 testsuite/libgomp.c++/parallel-1.C,
12178 testsuite/libgomp.c++/reduction-1.C,
12179 testsuite/libgomp.c++/reduction-2.C,
12180 testsuite/libgomp.c++/reduction-3.C,
12181 testsuite/libgomp.c++/sections-1.C, testsuite/libgomp.c++/shared-1.C,
12182 testsuite/libgomp.c++/shared-2.C, testsuite/libgomp.c++/single-1.C,
12183 testsuite/libgomp.c++/single-2.C, testsuite/libgomp.c++/single-3.C:
12184 New files, largely cribbed from the C testsuite.
12185
121862005-10-12 Jakub Jelinek <jakub@redhat.com>
12187
12188 * testsuite/libgomp.fortran/character1.f90: New test.
12189 * testsuite/libgomp.fortran/character2.f90: New test.
12190
12191 * testsuite/libgomp.dg/nested-1.c: New test.
12192 * testsuite/libgomp.dg/nested-2.c: New test.
12193 * testsuite/libgomp.fortran/do1.f90: New test.
12194 * testsuite/libgomp.fortran/do2.f90: New test.
12195
12196 * testsuite/libgomp.fortran/reference1.f90: New test.
12197
121982005-10-11 Jakub Jelinek <jakub@redhat.com>
12199
12200 * testsuite/libgomp.dg/reduction-1.c: New test.
12201 * testsuite/libgomp.dg/reduction-2.c: New test.
12202 * testsuite/libgomp.dg/reduction-3.c: New test.
12203
122042005-10-10 Jakub Jelinek <jakub@redhat.com>
12205
12206 * testsuite/libgomp.dg/atomic-1.c: New test.
12207 * testsuite/libgomp.dg/atomic-2.c: New test.
12208
122092005-10-09 Richard Henderson <rth@redhat.com>
12210
12211 * critical.c (atomic_lock): New.
12212 (initialize_critical): Initialize it.
12213 (GOMP_atomic_start, GOMP_atomic_end): New.
12214 * libgomp.map: Export them.
12215 * libgomp_g.h: Declare them.
12216
12217 * testsuite/libgomp.dg/atomic-10.c: Move from gcc testsuite.
12218
122192005-10-02 Richard Henderson <rth@redhat.com>
12220
12221 * configure.ac: Move save_CFLAGS hack earlier. Append -Wall/-Werror
12222 to XCFLAGS instead of CFLAGS.
12223
122242005-09-30 Richard Henderson <rth@redhat.com>
12225
12226 * configure.ac: Determine whether -pthread or -lpthread is needed.
12227 * Makefile.am (libgomp_la_LDFLAGS): Remove explicit -lpthread.
93d90219 12228 * Makefile.in, configure: Rebuild.
953ff289
DN
12229
122302005-09-28 Richard Henderson <rth@redhat.com>
12231
12232 * testsuite/libgomp.dg/omp-loop03.c: Fix return code.
12233 * testsuite/libgomp.dg/omp-single-3.c: New test.
12234
122352005-09-28 Diego Novillo <dnovillo@redhat.com>
12236
12237 * testsuite/libgomp.dg/omp-single-2.c: New test.
12238 * testsuite/libgomp.dg/shared-2.c: Fix return code.
12239
122402005-09-27 Richard Henderson <rth@redhat.com>
12241
12242 * testsuite/libgomp.dg/omp-loop03.c: Add initial barrier.
12243 * testsuite/libgomp.dg/omp-parallel-for.c: Specify static schedule.
12244
122452005-09-27 Jakub Jelinek <jakub@redhat.com>
12246
12247 * testsuite/libgomp.dg/omp-loop03.c: New test.
12248
122492005-09-27 Diego Novillo <dnovillo@redhat.com>
12250
12251 * testsuite/libgomp.dg/omp-parallel-for.c: New test.
12252
122532005-09-27 Diego Novillo <dnovillo@redhat.com>
12254
12255 * testsuite/libgomp.dg/omp-single-1.c: New test.
12256 * testsuite/libgomp.dg/shared-1.c: Return 0.
12257 Add prototype for abort.
12258 * testsuite/libgomp.dg/shared-2.c: Likewise.
12259
122602005-09-26 Jakub Jelinek <jakub@redhat.com>
12261
12262 * testsuite/libgomp.fortran/omp_parse3.f90: Fix non-conforming
12263 constructs.
12264
122652005-09-26 Diego Novillo <dnovillo@redhat.com>
12266
12267 * testsuite/libgomp.dg/shared-1.c: New test.
12268 * testsuite/libgomp.dg/shared-2.c: New test.
12269
122702005-09-24 Richard Henderson <rth@redhat.com>
12271
12272 * testsuite/libgomp.dg/omp_workshare3.c: Mark dg-error.
12273
122742005-09-24 Richard Henderson <rth@redhat.com>
12275
12276 * iter.c (gomp_iter_static_next): Round up when computing number
12277 of iterations. Don't bother distributing a remainder equally.
12278
12279 * testsuite/libgomp.dg/omp-loop01.c (main1): Rename from main.
12280 Don't call srand. Zero b before testing.
12281 (main): New.
12282
122832005-09-24 Jakub Jelinek <jakub@redhat.com>
12284
12285 * testsuite/libgomp.fortran/omp_atomic1.f90: New test.
12286 * testsuite/libgomp.fortran/omp_atomic2.f90: New test.
12287
122882005-09-23 Jakub Jelinek <jakub@redhat.com>
12289
12290 * testsuite/libgomp.fortran/omp_parse1.f90: Add a test for !$omp do
12291 without !$omp end do, followed immediately by subroutine end.
12292
122932005-09-23 Diego Novillo <dnovillo@redhat.com>
12294
12295 * testsuite/libgomp.dg/omp-parallel-if.c: New test.
12296
122972005-09-22 Richard Henderson <rth@redhat.com>
12298
12299 * critical.c (GOMP_critical_name_start): Change argument to void**.
12300 Reuse the pointer space if the mutex fits.
12301 (GOMP_critical_name_end): Likewise.
12302 (initialize_critical): Don't define if GOMP_MUTEX_INIT_0.
12303 * libgomp_g.h (GOMP_critical_name_start): Update decl.
12304 (GOMP_critical_name_end): Likewise.
12305 * config/linux/mutex.h (GOMP_MUTEX_INIT_0): New.
12306 * config/posix/mutex.h (GOMP_MUTEX_INIT_0): New.
12307
123082005-09-20 Richard Henderson <rth@redhat.com>
12309
12310 * critical.c (GOMP_critical_name_start, GOMP_critical_name_end): New.
12311 (create_lock_lock): New.
12312 (initialize_critical): Initialize it.
12313 * libgomp.map (GOMP_critical_name_start, GOMP_critical_name_end): New.
12314 * libgomp_g.h (GOMP_ordered_start, GOMP_ordered_end): Declare.
12315
123162005-09-20 Diego Novillo <dnovillo@redhat.com>
12317
12318 * testsuite/libgom.dg/omp-loop01.c: Include stdio.h.
12319
123202005-09-20 Diego Novillo <dnovillo@redhat.com>
12321
12322 * testsuite/libgomp.dg/omp-loop01.c: New test.
12323 * testsuite/libgomp.dg/omp-loop02.c: New test.
12324
123252005-09-20 Jakub Jelinek <jakub@redhat.com>
12326
12327 * configure.ac (AC_PROG_FC): Add.
12328 (USE_FORTRAN): New automake conditional.
12329 * configure: Rebuilt.
12330 * Makefile.am (libgomp_la_SOURCES): Add fortran.c.
12331 (nodist_include_HEADERS): Add omp_lib.h, omp_lib.f90 and libgomp_f.h.
12332 If USE_FORTRAN, add also omp_lib.mod and omp_lib_kinds.mod.
12333 Add rules to build them.
12334 * Makefile.in: Rebuilt.
12335 * mkomp_h.pl: Compute and replace also OMP_LOCK_KIND and
12336 OMP_NEST_LOCK_KIND.
12337 * libgomp.map: Add Fortran wrappers.
12338 * libgomp_f.h.in: New file.
12339 * omp_lib.h.in: New file.
12340 * omp_lib.f90.in: New file.
12341 * fortran.c: New file.
12342 * testsuite/lib/libgomp-dg.exp: Load a few more .exp files.
12343 Append libgfortran directory to LD_LIBRARY_PATH if it exists.
12344 Add -Lpath_to_libgfortran and -lgfortran -lgfortranbegin if
12345 libgfortran has been built.
12346 * testsuite/libgomp.fortran/fortran.exp: New file.
12347 * testsuite/libgomp.fortran/omp_cond1.f: New test.
12348 * testsuite/libgomp.fortran/omp_cond2.f: New test.
12349 * testsuite/libgomp.fortran/omp_cond3.F90: New test.
12350 * testsuite/libgomp.fortran/omp_cond4.F90: New test.
12351 * testsuite/libgomp.fortran/omp_hello.f: New test.
12352 * testsuite/libgomp.fortran/omp_orphan.f: New test.
12353 * testsuite/libgomp.fortran/omp_parse1.f90: New test.
12354 * testsuite/libgomp.fortran/omp_parse2.f90: New test.
12355 * testsuite/libgomp.fortran/omp_parse3.f90: New test.
12356 * testsuite/libgomp.fortran/omp_parse4.f90: New test.
12357 * testsuite/libgomp.fortran/omp_reduction.f: New test.
12358 * testsuite/libgomp.fortran/omp_workshare1.f: New test.
12359 * testsuite/libgomp.fortran/omp_workshare2.f: New test.
12360
123612005-08-30 Richard Henderson <rth@redhat.com>
12362
12363 * loop.c (GOMP_loop_static_start): Provide fallback wrapper
12364 function for when aliases are not usable.
12365 (GOMP_loop_dynamic_start, GOMP_loop_guided_start,
12366 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12367 GOMP_loop_ordered_guided_start, GOMP_loop_static_next,
12368 GOMP_loop_dynamic_next, GOMP_loop_guided_next,
12369 GOMP_loop_ordered_static_next, GOMP_loop_ordered_dynamic_next,
12370 GOMP_loop_ordered_guided_next): Likewise.
12371 * ordered.c (GOMP_ordered_start): Likewise.
12372
123732005-08-01 Diego Novillo <dnovillo@redhat.com>
12374
12375 * testsuite/libgomp.dg/dg.exp: Use -O2 for now.
12376 * testsuite/libgomp.dg/omp_hello.c: Fix return code
12377 * testsuite/libgomp.dg/omp_matvec.c: Likewise.
12378 * testsuite/libgomp.dg/omp_orphan.c: Likewise
12379 * testsuite/libgomp.dg/omp_reduction.c: Likewise
12380 * testsuite/libgomp.dg/omp_workshare1.c: Likewise
12381 * testsuite/libgomp.dg/omp_workshare2.c: Likewise
12382 * testsuite/libgomp.dg/omp_workshare3.c: Likewise
12383 * testsuite/libgomp.dg/omp_workshare4.c: Likewise
12384
123852005-07-07 Eric Christopher <echristo@redhat.com>
12386 Diego Novillo <dnovillo@redhat.com>
12387
12388 * testsuite/libgomp.dg/dg.exp: Add -fopenmp to DEFAULT_CFLAGS.
12389 * testsuite/libgomp.dg/omp_hello.c: Add standard includes, fix
12390 up code.
12391 * testsuite/libgomp.dg/omp_matvec.c: Ditto.
12392 * testsuite/libgomp.dg/omp_orphan.c: Ditto.
12393 * testsuite/libgomp.dg/omp_reduction.c: Ditto.
12394 * testsuite/libgomp.dg/omp_workshare1.c: Ditto.
12395 * testsuite/libgomp.dg/omp_workshare2.c: Ditto.
12396 * testsuite/libgomp.dg/omp_workshare3.c: Ditto.
12397 * testsuite/libgomp.dg/omp_workshare4.c: Ditto.
12398
123992005-06-13 Diego Novillo <dnovillo@redhat.com>
12400
12401 * TOPLEVEL.patch: Remove.
12402
124032005-05-16 Richard Henderson <rth@redhat.com>
12404
12405 * configure.ac: Test for clock_gettime.
12406 * config.h.in, configure: Rebuild.
12407 * config/posix/time.c: Use recommended TIME_WITH_SYS_TIME pattern.
12408 (omp_get_wtime): Use clock_gettime if available.
12409 (omp_get_wtick): Use clock_getres if available.
12410
124112005-05-11 Richard Henderson <rth@redhat.com>
12412
12413 * config/linux/ia64/futex.h: New file.
12414 * configure.tgt: Use it.
12415
12416 * team.c (gomp_barrier_init, gomp_barrier_destroy): Mark inline.
12417
124182005-05-07 Richard Henderson <rth@redhat.com>
12419
12420 * config/linux/powerpc/futex.h: New file.
12421 * configure.tgt: Use it.
12422
12423 * config/linux/i486/futex.h: Merge ...
12424 * config/linux/x86_64/futex.h: ... into ...
12425 * config/linux/x86/futex.h: ... here.
12426 * configure.tgt: Update to match.
12427
124282005-05-06 Richard Henderson <rth@redhat.com>
12429
12430 * config/linux/alpha/futex.h: Conditionally define SYS_futex.
12431 * config/linux/i486/futex.h: Likewise.
12432 * config/linux/x86_64/futex.h: Likewise.
12433
12434 * config/linux/lock.c: New file.
12435 * config/linux/omp-lock.h: New file.
12436
12437 * critical.c, env.h: Don't include omp.h
12438 * config/posix/lock.c: Include libgomp.h instead of omp.h.
12439 * config/posix/time.c: Likewise.
12440 * config/posix/omp-lock.h: New file.
12441 * libgomp.h: Include omp-lock.h and omp.h.
12442 * Makefile.am (nodist_include_HEADERS): New.
12443 (omp.h): New rule.
12444 * configure.ac (PERL): New.
12445 * mkomp_h.pl: New file.
12446 * omp.h.in: Rename from omp.h; replace omp_lock_t and omp_nest_lock_t
12447 with templates.
12448 * Makefile.in, configure, testsuite/Makefile.in: Rebuild.
12449
12450 * testsuite/lib/libgomp-dg.exp (libgomp_init): Add include into
12451 build directory. Re-add -march=i486 hack.
12452
12453 * testsuite/lib/libgomp-dg.exp (libgomp_compile_flags): Remove.
12454 (libgomp_link_flags): Remove.
12455 (libgomp_initialized): Remove.
12456 (libgomp_init): Don't protect from reinitialization. Copy code
12457 from libstdc++ for getting the multilib set correctly.
12458
124592005-05-05 Richard Henderson <rth@redhat.com>
12460
12461 * config/linux/alpha/futex.h: New file.
12462 * configure.tgt (alpha*-*-linux*): Use it.
12463
12464 * config/posix/mutex.c: New file.
12465 * config/posix/sem.c: Use libgomp.h.
12466
12467 * configure.tgt (x86_64-linux): Also test CC for -m32.
12468 * config/linux/x86_64/futex.h (futex_wait): Fix r10 usage.
12469
a1daed2d 12470 * testsuite/lib/libgomp-dg.exp (libgomp_link_flags): Add /
953ff289
DN
12471 after $gccpath.
12472
12473 * Makefile.am (SUBDIRS): New.
12474 (libgomp_la_LDFLAGS): Add -lpthread.
12475 * configure.ac (AM_INIT_AUTOMAKE): Enable dependencies.
12476 * Makefile.in, aclocal.m4, config.h.in, configure: Rebuild.
12477
12478 * libgomp_g.h: New file.
12479 * libgomp.h: Split out all public declarations to libgomp_g.h.
12480 Use pragma GCC visibility instead of ATTRIBUTE_HIDDEN.
12481 * config/linux/mutex.h: Remove ATTRIBUTE_HIDDEN.
12482 * config/linux/sem.h: Likewise.
12483 * config/posix/sem.h: Likewise.
12484
12485 * Makefile.am (AM_LDFLAGS): New.
12486 (libgomp_version_script): Split out from ...
12487 (libgomp_la_LDFLAGS): ... here.
12488 (libgomp_version_info): New.
12489 * acinclude.m4 (LIBGOMP_CHECK_TLS): Use LIBGOMP_ENABLE.
12490 (LIBGOMP_ENABLE): New.
12491 (LIBGOMP_CHECK_LINKER_FEATURES): New.
12492 (LIBGOMP_ENABLE_SYMVERS): New.
12493 * configure.ac (AC_INIT): Version 1.0.
12494 (enable-version-specific-runtime-libs): Use LIBGOMP_ENABLE.
12495 (enable-linux-futex): Likewise. Rename from enable-futex.
12496 (libtool_VERSION): New.
12497 (LIBGOMP_ENABLE_SYMVERS): Use it.
12498 * configure.tgt: Check with_gnu_ld wrt have_tls optimizations.
12499 * Makefile.in, aclocal.m4, configure: Rebuild.
12500
12501 * config/linux/mutex.c: Include libgomp.h instead of mutex.h.
12502 (gomp_mutex_unlock_slow): Fix typo.
12503 * config/linux/sem.c: Similarly.
12504 (gomp_sem_post_slow): Fix typo.
12505 * config/linux/sem.h (gomp_sem_post_slow): Fix typo.
12506 * config/linux/i486/futex.h: Remove USE_LINUX_SYSENTER code.
12507 [__PIC__] (sys_futex0): Don't use tmp output in asm.
12508
12509 * Makefile.am (AM_CFLAGS): Expand with XCFLAGS.
12510 (libgomp_la_LDFLAGS): Add top_srcdir to path.
12511 * acinclude.m4: Copy libtool.m4 stuff from libgfortran.
12512 * configure.ac: Check for getloadavg. Substitute XCFLAGS and
12513 XLDFLAGS. Add XCFLAGS to CFLAGS around LIBGOMP_CHECK_SYNC_BUILTINS.
12514 * configure.tgt: Set XCFLAGS and XLDFLAGS instead of CFLAGS and
12515 LDFLAGS. Pull enable_futex check to top-level.
12516 * libgomp.h: Fix sem.h and mutex.h includes. Define ATTRIBUTE_HIDDEN.
12517 * Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
12518
12519 First attempt at real configury.
12520 * Makefile, config.h: Remove file.
12521 * Makefile.am, Makefile.in: New file.
12522 * acinclude.m4 aclocal.m4: New file.
12523 * configure.ac, configure.tgt, configure: New file.
12524
12525 * config/posix/lock.c: Rename from sys-lock.c.
12526 * config/posix/mutex.h: Rename from sys-mutex.h.
12527 * config/posix/sem.c: Rename from sys-sem.c.
12528 * config/posix/sem.h: Rename from sys-sem.h.
12529 * config/posix/proc.c: Rename from sys-proc.c.
12530 * config/posix/time.c: Rename from sys-proc.c.
12531
12532 * config/linux/mutex.c: New file.
12533 * config/linux/mutex.h: New file.
12534 * config/linux/sem.c: New file.
12535 * config/linux/sem.h: New file.
12536 * config/linux/i486/futex.h: New file.
12537 * config/linux/x86_64/futex.h: New file.
12538
125392005-05-04 Richard Henderson <rth@redhat.com>
12540
12541 * iter.c (gomp_iter_dynamic_next, gomp_iter_guided_next): New.
12542 * libgomp.h: Declare them.
12543 * loop.c (gomp_loop_dynamic_start, gomp_loop_guided_start,
12544 gomp_loop_dynamic_next, gomp_loop_guided_next): Use them.
12545
125462005-05-04 Richard Henderson <rth@redhat.com>
12547
12548 * libgomp-1 code drop
12549
125502005-05-04 Richard Henderson <rth@redhat.com>
12551
12552 * iter.c (gomp_iter_static_next): Return tri-state on 0.
12553 * ordered.c (gomp_ordered_static_next): Remove not_last argument.
12554 * libgomp.h (struct gomp_team_state): Make static_trip unsigned.
12555 (gomp_iter_static_next): Update.
12556 (gomp_ordered_static_next): Update.
12557 * loop.c (gomp_loop_static_start): Update for gomp_iter_static_next.
12558 (gomp_loop_ordered_static_start): Likewise. Exit early for a
12559 totally empty range.
12560 (gomp_loop_ordered_static_next): Refine test for calling
12561 gomp_ordered_static_next.
12562 * testsuite/ordered-1.c: Add case for more threads than iterations.
12563
12564 * iter.c (gomp_iter_runtime_next_locked): Remove.
12565 * loop.c (gomp_loop_static_start, gomp_loop_dynamic_start,
a1daed2d 12566 gomp_loop_guided_start, gomp_loop_ordered_static_start,
953ff289
DN
12567 gomp_loop_ordered_dynamic_start, gomp_loop_ordered_guided_start,
12568 gomp_loop_static_next, gomp_loop_dynamic_next, gomp_loop_guided_next,
12569 gomp_loop_ordered_static_next, gomp_loop_ordered_dynamic_next,
12570 gomp_loop_ordered_guided_next): Downcase name, make static, add
12571 an external alias with the old name.
12572 (GOMP_loop_runtime_start, GOMP_loop_ordered_runtime_start,
12573 GOMP_loop_runtime_next, GOMP_loop_ordered_runtime_next): Use a
12574 switch and call one of the above static functions.
12575 * libgomp.h: Update.
12576
12577 * work.c (gomp_work_share_start): Lock the mutex for !first too.
12578 * loop.c (GOMP_loop_static_start, GOMP_loop_dynamic_start,
12579 GOMP_loop_guided_start, GOMP_loop_runtime_start,
12580 GOMP_loop_ordered_static_start, GOMP_loop_ordered_dynamic_start,
12581 GOMP_loop_ordered_guided_start): Update to match.
12582 * sections.c (GOMP_sections_start): Likewise.
12583 * single.c (GOMP_single_start, GOMP_single_copy_start): Likewise.
12584
12585 * ordered.c (gomp_ordered_first, gomp_ordered_last, gomp_ordered_next,
12586 gomp_ordered_static_init, gomp_ordered_static_next): Rename s/_loop//.
12587 Use bounds check instead of modulus.
12588 (gomp_ordered_sync): Split out of GOMP_ordered_start.
12589 (gomp_ordered_last): Don't sync with ordered_owner here.
12590 (gomp_ordered_next): Likewise.
12591 (gomp_ordered_static_loop_next): Likewise.
12592 * loop.c, libgomp.h: Update to match.
12593
12594 * libgomp.h (GOMP_barrier): Declare.
12595
12596 * testsuite/barrier-1.c: New file.
12597 * testsuite/critical-1.c: New file.
12598 * testsuite/ordered-2.c: New file.
12599 * testsuite/ordered-1.c: New file.
12600 * testsuite/sections-1.c: New file.
12601 * testsuite/single-1.c: New file.
12602 * testsuite/Makefile (TESTS): Add them.
12603
126042005-05-04 Richard Henderson <rth@redhat.com>
12605
12606 * libgomp.h (struct gomp_work_share): Add ordered_owner.
12607 * loop.c (GOMP_loop_static_start): If not the startup thread,
12608 acquire the mutex to wait for initialization complete.
12609 (GOMP_loop_ordered_static_start): Likewise.
12610 (GOMP_loop_ordered_runtime_start): Likewise.
12611 (GOMP_loop_ordered_static_first): Remove.
12612 (GOMP_loop_ordered_dynamic_first): Remove.
12613 (GOMP_loop_ordered_guided_first): Remove.
12614 (GOMP_loop_ordered_runtime_first): Remove.
12615 * ordered.c (gomp_ordered_loop_first): Post to own release when
12616 we're the first thread.
12617 (gomp_ordered_loop_last): Wait on release if not owner.
12618 (gomp_ordered_loop_next): Likewise.
12619 (gomp_ordered_static_loop_init): New.
12620 (gomp_ordered_static_loop_next): Use ordered_owner.
12621 (GOMP_ordered_start): Likewise.
12622 * work.c (gomp_new_work_share): Initialize ordered_owner.
12623
126242005-05-03 Richard Henderson <rth@redhat.com>
12625
12626 * Makefile (OPT): New.
12627 (CFLAGS): Use it.
12628
12629 * loop.c (GOMP_loop_end, GOMP_loop_end_nowait): New.
12630 * sections.c (GOMP_sections_end, GOMP_sections_end_nowait): New.
12631 * libgomp.h, libgomp.map, NOTES: Update to match.
12632
12633 * team.c (struct gomp_thread_start_data): Remove ts, fn, data.
12634 Add initialized and thr members.
12635 (gomp_thread_start): Pause when initially spawned to wait for
12636 the whole team to be created.
12637 (gomp_team_start): Release team members at the end.
12638
12639 * testsuite/loop-1.c (N): New. Use it instead of hardcoded 100.
12640 (f_foo_1): Use GOMP_loop_end.
12641 (f_foo_2): Use GOMP_loop_end_nowait.
12642
12643 * testsuite/loop-2.c: New file.
12644 * testsuite/Makefile (TESTS): Add it.
12645
126462005-05-03 Richard Henderson <rth@redhat.com>
12647
12648 * iter.c (gomp_iter_static_next): Fix overflow check typo.
12649 (gomp_iter_dynamic_next_locked): Fix overflow check thinko.
12650 * team.c (new_team): Initialize oldest_live_gen to 1 if no
12651 initial work_share.
12652
12653 * testsuite/Makefile: New file.
12654 * testsuite/loop-1.c: New file.
12655
126562005-05-03 Richard Henderson <rth@redhat.com>
12657
12658 Initial implementation and checkin.
21fa2a29 12659\f
a5544970 12660Copyright (C) 2005-2019 Free Software Foundation, Inc.
21fa2a29
JJ
12661
12662Copying and distribution of this file, with or without modification,
12663are permitted in any medium without royalty provided the copyright
12664notice and this notice are preserved.